一枚无语的正则

刚刚看CodeIgniter源代码,2.2.0版本,看到这么个函数:

1
2
3
4
5
function system_url()
{
$x = explode("/", preg_replace("|/*(.+?)/*$|", "\\1", BASEPATH));
return $this->slash_item('base_url').end($x).'/';
}

Read More

Redis源码阅读

Redis里每个键值对都是由对象组成的。

  • key总是一个string object。
  • value可以是string object、list object、hash object、set object、sorted set object中的一种。

#源码结构

##启动入口

看/src/server.c文件。找到main()入口。可以看到,Redis一上来先取一些时间,设置随机数种子、散列函数种子、sentinel模式,初始化各种配置(调用initServerConfig()),解析配置文件,通过initServer()初始化,最后在aeMain()里干活。

##服务器模型

看/src/ae_epoll.c文件。在epoll上面再封装了一层。

#数据结构

##SDS

Redis构建了SDS(Simple Dynamic String)这个抽象类型,用之作为默认字符串表示。

Read More

七问

在公司的最后一天了,似乎也是3年来桌面整洁的唯一一天。刚写完文档,改了一个脚本,等有爬回来的数据后测试下处理脚本。目测这TOS是15分钟^_^,翻到桌下有本《理解专业程序员》。

Read More

JavaScript中的this

JavaScript总是要在一个宿主环境中运行的,最常见的宿主环境就是web浏览器,与之对接的是JavaScript引擎,这才是真正执行JavaScript代码的地方。常见的引擎有V8、JavaScript core。

Read More

使用S3做图片存储

项目里之前图片是用FastDFS存储的。现在服务器搬到日本去,打算换用S3存储下载的图片。

以前没有用过S3,只听说过Dropbox似乎也是S3的客户。

Read More

配置同步踩到的坑

昨天组里添了4台EC2的机器,上去配一下主从复制,其实没什么复杂的,但是被几个小地方坑了。前几天加班太狠,3天加起来睡了8小时,现在回想昨天晚上,纯属跟自己乱较劲,要是先睡一会儿说不定早发现问题了。

Read More

blackhole引擎用作中转站

#引擎
BLACKHOLE存储引擎是将进来的数据全都扔掉,所有的查询永远返回一个空集,但该记的log还是全都记的。相当于只打卡不做事。创建一个BLACKHOLE的表时,MySQL server在数据库目录下创建一个对应的.frm格式文件,除此之外没有对应的文件了。

Read More

你的名字是爱情

梁静茹的演唱会,大家等到她唱孙燕姿的《遇见》时才开始全场合唱。

Read More

Swift翻译在豆瓣上架了

嘛,感谢小鱼同学。

算是给自己的生日礼物。欢迎大家尽情拍砖。

Read More

利用FastDFS存储图片

现在做的这个应用,可以让用户查看久远的商品及相关的广告之类的活动。遇到一个问题,就是乐天上的图片可能失效。因此想把商品图片存至本地。由于都是一堆小图片,看资料上说FastDFS特别适合存储大量大小在4KB与500MB之间的文件。

Read More