Python快速实现分布式任务

深入读了读python的官方文档,发觉Python自带的multiprocessing模块有很多预制的接口可以方便的实现多个主机之间的通讯,进而实现典型的生产者-消费者模式的分布式任务架构。

继续阅读“Python快速实现分布式任务”

推荐阅读:
正值毕业季,这些天一直忙于面试
尽管现在有了wheel这类更为
gearman,学习好莱坞大片

瞎扯PID算法

前一段时间基于PID(等比例微分积分控制)做了个资源调度器。如果感兴趣可以移步我的github查看对应的代码。

其实PID算法几乎就是自控领域的基础,但对于软件行业来说,这种简单有效且可变的控制模式并没有太多的得到利用。

继续阅读“瞎扯PID算法”

推荐阅读:
单纯说MACD,可能对于IT人
凡是做过一段时间开发的人大多都
正值毕业季,这些天一直忙于面试

关于MACD算法的一点思考

单纯说MACD,可能对于IT人士来说有点陌生。其实MACD就是股票软件中常见的“快慢线”。它的算法是取两个一大一小的时间窗口,对于股市来说往往采用5个交易日(周线)和21个交易日(月线)。对比两个时间窗口内的EMA(指数加权平均的)变化的不同,从而预测当前的股票状况。如果用公式来说:
\text{EMA}_{t1} = \text{EMA}_{t0} + \alpha \times (p - \text{EMA}_{t0})

继续阅读“关于MACD算法的一点思考”

推荐阅读:
深入读了读python的官方文
前一段时间基于PID(等比例微
凡是做过一段时间开发的人大多都

从著名的Q_rsqrt说起

凡是做过一段时间开发的人大多都知道算法优化的必要性。兴许是近期某社区的火爆,导致了很多人都会把卡马克在开发quark3时做的那段可谓是天神级别的“Q_rsqrt”作为一个经典的算法优化教程来说。然后就是某位仁兄就用了这段代码替换掉了原本math.h调用中的sqrtf函数,堂而皇之的提交进了代码库。

继续阅读“从著名的Q_rsqrt说起”

推荐阅读:
事出前些日子有人咨询我:“在某
时延 latency(亦称为延
似乎每次开头都要讲述一下计算机

从Python的数据结构说起

正值毕业季,这些天一直忙于面试各个踏出校门的大学生。惯例性的,我会出一些看似很简单,但其实很刁钻的题目,主要是看看面试者的知识是否可以用“扎实”来形容。

对于Python来说,我习惯性的一个问题是“Python常用的dict, list, set数据结构有什么区别?”然后就是设定一个场景看看更适合什么结构实现之类的问题。谈不上是难题,但回答的结果有些大失所望。

继续阅读“从Python的数据结构说起”

推荐阅读:
深入读了读python的官方文
尽管现在有了wheel这类更为
gearman,学习好莱坞大片

Python的egg包

尽管现在有了wheel这类更为“先进”的包装方式,但无可否认的是egg包+easy_install方式是最为热门的Python扩展包安装方式。何况python的意思是“蝰蛇”,蛇的繁殖方式当然应该是蛋(egg)咯!这些天恰巧我正在制作一系列的Python扩展,这里就简单说说如何制作一个自己的egg包。

继续阅读“Python的egg包”

推荐阅读:
深入读了读python的官方文
正值毕业季,这些天一直忙于面试
gearman,学习好莱坞大片

七零八碎的JRE

作为开源软件的一个重要组成部分的Java应用,其实Litrin一直很少在本站提及。作为大部分Java应用来说,似乎从底子上就不具备其他开源软件的精神——低耦合、少依赖、短小精悍。还有一方面是尽管项目代码是开源了,但大多数的JRE(Java run time environment) 的核心技术还是锁在几家大头的保险柜里。直到有了OpenJDK……

继续阅读“七零八碎的JRE”

推荐阅读:
似乎每次开头都要讲述一下计算机
5月中旬,我参加了在加利福尼亚
长久以来,我们对计算机资源的理

程序中多任务处理系统

有感于网络上各个文档之间的翻译不同,甚至很文档本身就有混淆各个名词的嫌疑,故本站这次写点理论化的东西,仔细讲讲进程、线程以及更热门的xx程的联系和区别。

先从硬件底层说起。作为一个物理上的CPU核心,大多现在都是多核的天下了,这里只讲1个核心。在一个时钟周期内只能执行一个操作,实现并发、多任务什么的都必须通过x程的假象,不同的任务将轮流独占CPU,这个过程都是由操作系统或者软件层面实现的而且基于用户的感知时间来说,这个切换的过程是很难被感知的。当然,如果同一时间有太多的任务,每次轮转任务就会间隔更多时间。“卡顿”的感觉就是你对这个时间片切换过程的感知。

继续阅读“程序中多任务处理系统”

推荐阅读:
似乎每次开头都要讲述一下计算机
5月中旬,我参加了在加利福尼亚
长久以来,我们对计算机资源的理

应用框架Gearman

gearman,学习好莱坞大片的翻译方式暂且翻译成“齿轮侠”。是一个“标准的应用程序框架”,它提供了一些列的语言接口,实现了简单方便的跨主机调用、任务分配和伪队列服务。说了这么多,其实我个人的理解就是提供了一套trigger接口,允许一台主机通过业务码执行另一台主机上定义好的任务,而gearman则负责一系列的任务分配和管理。

不同于习惯上的server/client端的称呼,Gearman的角色是server/worker/client。Server正式gearman本身,worker故名思义就是“干活的机器“,client则是发送任务的机器。——貌似Agent/worker/boss更加形象 🙂

继续阅读“应用框架Gearman”

推荐阅读:
似乎每次开头都要讲述一下计算机
5月中旬,我参加了在加利福尼亚
长久以来,我们对计算机资源的理

且说行业间的不同

又到了反思这一年的时间了。好吧,这一年对于站长Litrin来说,如果用一个汉字来描述的话,我会选择:2013

在这一年中,我有着很多的打破惯例,打破习惯。不知若干年之后,我该如何评价这一年,但不论怎样,这都一年都是一个拐点,不清楚的是这个十字星到底是阴线还是阳线。

继续阅读“且说行业间的不同”

推荐阅读:
“产业升级”这个词汇最近几年经
若干年前,老妈总会一次性买很多
似乎还是在眼前的事儿一般,不知