刘新慈曾这样描述程序员

程序员、网络工程师、数据库管理员这类人构成了 IT 共和国的主体,这个阶层是十九世纪的产业大军在二十一世纪的再现,只不过劳作的部分由肢体变成大脑,繁重程度却有增无减。在渺如烟海的程序代码和迷宫般的网络软硬件中,他们如二百多年前的码头搬运工般背起重负,如妓女般彻夜赶工。信息技术的发展一日千里,除了部分爬到管理层的幸运儿,其他人的知识和技能很快过时,新的IT专业毕业生如饥饿的白蚁般成群涌来,老的...

继续阅读 »

看到的一段话

在我还是少年的时候,曾有过很多偶像,我总会拿自己的年龄与他们比较,当他们的年龄减去我当时的年龄,差是一个很大数字的时候,我会心安理得地认为,毕竟他们比我年纪大出许多,所以他们的功名成就与我的默默无闻均在情理之中;当年龄差这个数字愈来愈小,即将趋近于零甚至成为负数的时候,我便开始坐卧不安,心中涌动着悲哀。

继续阅读 »

一个php操作状态位状态的类

平时经常有通过二进制位来存储多个开关位,实现一个字段存多个开关的功能。每次操作位,难免容易出错,遂写了一个类简化操作,闲话少说上代码和使用方法。BitState类:<?php class BitState { private $maps = []; private $state = 0; public function __construct($state = ...

继续阅读 »

分布式锁的实现

1.Memcached分布式锁利用Memcached的add命令。此命令是原子性操作,只有在key不存在的情况下,才能add成功,也就意味着线程得到了锁。2.Redis分布式锁和Memcached的方式类似,利用Redis的setnx命令。此命令同样是原子性操作,只有在key不存在的情况下,才能set成功。(setnx命令并不完善,后续会介绍替代方案)3.Zookeeper分布式锁利用Zoo...

继续阅读 »