Android和iOS开发中的异步处理(四)——异步任务和队列


本文是系列文章《Android和iOS开发中的异步处理》的第四篇。在本篇文章中,我们主要讨论在客户端编程中经常使用的队列结构,它的异步编程方式以及相关的接口设计问题。

阅读全文 »


程序员的那些反模式


有鸡汤就有反鸡汤,有模式就有反模式。

今天,我们来谈一谈程序员的行为中的那些反模式,涉及程序员的日常工作和学习的各个方面。

这些反行为模式,并不针对某些特定的个人。如果你不幸中招,千万不要懊恼,因为这实在太正常不过了,很多反模式的坑我也是亲身踩过的^-^

阅读全文 »


编程世界的熵增原理


歌者没有太多的抱怨,生存需要投入更多的思想和精力。
宇宙的熵在升高,有序度在降低,像平衡鹏那无边无际的黑翅膀,向存在的一切压下来,压下来。可是低熵体不一样,低熵体的熵还在降低,有序度还在上升,像漆黑海面上升起的磷火,这就是意义,最高层的意义,比乐趣的意义层次要高。要维持这种意义,低熵体就必须存在和延续。

对科幻有一点了解的朋友也许已经猜到,这段描写出自《三体》。这想必是整部《三体》中最烧脑的一段文字了。

阅读全文 »


技术的正宗与野路子


黄衫女子的武功似乎与周芷若乃是一路,飘忽灵动,变幻无方,但举手抬足之间却是正而不邪,如说周芷若形似鬼魅,那黄衫女子便是态拟神仙。

这段描写出自《倚天屠龙记》第三十八回。

阅读全文 »


Android端外推送到底有多烦?


说Android端外推送比较烦,实际有两层意思:首先是说实现上比较麻烦,至今业界也没有找到一种完美的解决方案,Android程序员通常需要同时集成多家推送平台(如果有自己的端内推送,还要考虑与端内推送的配合);其次是说Android推送的市场现状比较混乱,无论选择哪一家,都让人纠结万分,难免心情烦躁。无论是你花费了多少功夫,做了多少优化,仍然可能存在推送不到或推送延迟的情况。

阅读全文 »


【程序员脑洞故事】宇宙尽头的描述符


张翔心里很清楚,发生在中关村那家IT公司的密室失踪案,可算是让局里的领导们伤透了脑筋。而且更糟糕的是,自从负责调查这起案件的王队也遭遇意外之后,他们实在是没有办法了。要不然,他们也不会再次起用史强来调查这个案子。

阅读全文 »


Redis内部数据结构详解(5)——quicklist


本文是《Redis内部数据结构详解》系列的第五篇。在本文中,我们介绍一个Redis内部数据结构——quicklist。Redis对外暴露的list数据类型,它底层实现所依赖的内部数据结构就是quicklist。

我们在讨论中还会涉及到两个Redis配置(在redis.conf中的ADVANCED CONFIG部分):

list-max-ziplist-size -2
list-compress-depth 0

我们在讨论中会详细解释这两个配置的含义。

注:本文讨论的quicklist实现基于Redis源码的3.2分支。

阅读全文 »


程序员的宇宙时间线


蜘蛛的选择

周六晚上,我把车停在了亲戚家小区门外的路边。在三个小时之后我准备开走的时候,突然发现,前车门外面似乎有一根银色的细线,在远处路灯投下的微弱余光中轻轻地颤动。我借助手机屏幕的亮光才得以看清,原来是一只蜘蛛正在左后视镜和前车门之间织网。

阅读全文 »