一点福利,有关于书

初衷

推荐一个网站--子乌书简。

现在越来越多的看电子书,也经常在网上找书。众多电子书网站中,子乌书简是我最喜欢的,免费,没有广告。

我还没买 kindle 的时候,在这里下了不少书,《古龙全集》、《群星,我的归宿》等。后来买了 kindle,有很多书可以直接在亚马逊买或者租,就逛得少了,不过偶尔还是会用,而且它还有针对 kindle 的推送可能,可以说非常的良心了。

前几天突然想起着看看有没有更新什么新书,这才发现作者已经很久没有更新内容,在国内不能访问网站了。我估摸着离关站也不远了,于是就想把书弄下来备份一下,毕竟我也不是随时都能越过长城。

花了两天,磕磕跘跘的写好了爬虫,把书都......

记一次 Python 爬虫

给我的 app WallSquare 写【发现】功能的时候需要下载一些照片,几十张,一张张地下载,太慢了,于是想着写个爬虫。

第一步,先分析网页结构

打开 网站https://unsplash.com/explore,查看源码,看一下标签结构

可以看到大概是这样的结构

我们需要的就是图片地址和图片名。

背景图所在标签的类都是 _1mlK1,图片名在它的 类......

iOS 获取通话时间

今天产品提了一个需求,让面向商家的 app 用户只能通过我们的 app 拨打电话,并且记录通话时间。

iOS 拨打电话必须通过系统的页面,肯定能看到号码,那么接下来很容易就想到,对它看到的号码做一个特殊处理就可以,就像滴滴、饿了么之类一样。

至于通话时间,没法直接获取通话记录信息,但是如果能监听到通话状态的改变,我们自己做一个计算就可以了。

所以产品功能就转化为两个功能--隐藏电话和监听通话状态。

隐藏号码

饿了么在下单的时候是可以勾选隐藏号码的,这样快递员送餐时打来的电话是一个与普通手机号格式不一样的号码,搜索一番后发现这是类似与 回拨电话 的功能,所来也简单,在每单交易中,将用户......

UILabel首行缩进

今天在开发群里看到有人问如何做首行缩进,想起以前自己写过,很简单,代码放出来做个记录吧。

- (void)UILabel:(UILabel *)label SetText:(NSString *)labelText {

NSMutableAttributedString *text = [[NSMutableAttributedString alloc]initWithString:labelText];

NSMutableParagraphStyle *style = [[NSMutableParagraphStyle alloc] init];

style.he......

如何判断NSArray是否为空

严格来说,赋值前判空NSArray是非常有必要的,对于后台有句话是说

不要相信任何来自前端的数据        -- 被前端数据坑死的无数后台

对于前端也有类似的话

不要相信任何来自后台和用户的数据     -- Wythe

在很多项目中,这类判空方法都是放在公共方法中的,所以它的准确与否也是非常关键。之前和几个朋友讨论了一下这个问题,现在做个总结。

最开始项目里是这样写的

if (array && array.count) {

/*

* do something

*/

}

直到后台传了个null......

生成指定语言的NSLocale

最近app升级,在注册时要考虑不同地区的区号,就像中国大陆前面的加+86这样的,即电话号码区号的国际化与本地化。

我们的另一个技术在实现时简历一个plist文件,内容都是中国+86-China这种格式,然后获取当前的地区名去plist表里查找对对应的区号,因为我们的app只支持中文(港澳台等也用简体中文)和英文,在这些地区没有问题,但是测试人员发现用其他语言时就会出问题,另一位技术不知道怎么解决,我找了一下发现解决方法也挺简单,

首先看问题出在哪,这是我们技术获取地区名的方法

NSLocale *locale = [NSLocale currentLocale];

NSString *......