热门主题

gravatar被墙:构建自己的随机头像服务(上)

gravatar老早就被墙了,以前很好用的随机头像服务随之完蛋,网上搜罗一番,找到了一些解决的办法:使用gravatar的https服务,试过一段时间,发现不稳定,有时候会连接不上,而且可能很快继续被墙。使用duoshuo的镜像,参数和结果跟gravatar一样,这个还算靠谱,但是有很少的情况下也会刷不出来,至于原因我已经懒得研究了,因为我决定自己建立随即头像服务。还有一种比较复杂的方法,大家网上搜索gravatar七牛镜像,看起来稳定性还不错,不过既然要创建一个服务自己用,我更喜欢创建在自己的服务器上 :)那么我来简单教大家建立自己的类gravatar随机头像服务,不过这种方法是需要一点php基础的。首先下载wp_identicon插件,解包拿出wp_identicon.php文件,额,当然这里你直接把这个插件装上用也是可以的,不过我的博客前端已经脱离wordpress,所以直接装上去除了能提醒我更新以为,并没有什么鸟用。接下来我们要把wp_identicon的核心算法函数和类剥离出来,wp_identicon最重要的两个类是:class identicon
class identicon_mersenne_twister
接下来找到文件头部的两个define,这是两个路径,一个用来拼接出图片网址路径,一个用来拼接图片的本地路径:define('WP_IDENTICON_DIR', str_replace('\\','/',preg_replace('@.*([\\\\/

LLDB使用篇(上)

LLDB是个开源的内置于XCode的具有REPL(read-eval-print-loop)特征的Debugger,其可以安装C++或者Python插件。
本系列针对于已经知道何为debugger,且有gdb或者lldb使用经验的读者。对于lldb的娴熟使用者,也可以用来作为查阅手册。
这一篇,我们讲述lldb内建的命令。
lldb与gdb命令名的对照表:http://lldb.llvm.org/lldb-gdb.html
1.help命令
单单执行help命令会列出所有命令列表,用户加载的插件一般来说列在最后。
执行help <command>可以打印指定command的帮助信息,至于插件提供的命令,其帮助信息取决于插件本身的实现。

Block教程系列

ios开发block的使用指南,以及深入理解block的内存管理,也适用于osx开发。
讨论范围:block的使用,内存管理,内部实现。
不包含的内容:gc arc下的block内存,block在c++中的使用。

Block介绍(一)基础
Block介绍(二)内存管理与其他特性

GCD(Grand Central Dispatch)教程

Grand Central Dispatch或者GCD,是一套低层API,提供了一种新的方法来进行并发程序编写。从基本功能上讲,GCD有点像NSOperationQueue,他们都允许程序将任务切分为多个单一任务然后提交至工作队列来并发地或者串行地执行。GCD比之NSOpertionQueue更底层更高效,并且它不是Cocoa框架的一部分。