Masutangu

也許我這一生 始終在追逐那顆九號球

设计模式之控制反转

今天重新设计了Elric的logging模块,接触到了Inversion of Control设计模式,记录下分享给大家。注:本文定义介绍均取自wiki,代码样例取自Elric 定义 控制反转(Inversion of Control,缩写为IoC),是面向对象编程中的一种设计原则,可以用来减低计算机代码之间的耦合度。” 实现方法 实现控制反转主要有两种方式:依赖注入和依赖查找。 两者...

水滴石穿-第一期

不积跬步,无以至千里;不积小流,无以成江海 最近觉得自己需要开拓下视野,更多的了解外面的世界。之前看过湾区日报,觉得其形式很不错,简评+原文链接。所以我决定参考并扩展其形式,坚持读一些文章,听一些talk,并沉淀些笔记。 现在的想法是每个月出一期,每一期会推荐10-15篇文章/演讲/书籍等。如果大家有好的内容,非常欢迎推荐给我,一起探讨分享。主题不限,包括技术/产品/运营等等。 ...

FFmpeg 浅析

最近在做和转码有关的项目,接触到ffmpeg这个神器。从一开始简单的写脚本直接调用ffmpeg的可执行文件做些转码的工作,到后来需要写程序调用ffmpeg的API。虽然上网搜了别人的demo稍微改改顺利完成了工作,但是对于ffmpeg这个黑盒子,还是有些好奇心和担心,于是抽空翻了翻ffmpeg的源码,整理成文章给大家分享分享。 由于我并非做音频出身,对于音频一窍不通。ffmpeg整个也非常...

NSQ 源码解读之 NSQD 篇

接触go语言也有几个月了,从入门后一直用go写些小项目,语法和编程思维已经比较熟悉了,但是感觉很难再进阶一级,因此决定来读一读优秀的go项目源码。这篇文章名叫“解读”,其实有点言过其实。这里我主要是贴出我梳理的NSQ源码的代码架构,给出流程图,并提取其中比较精妙的代码来分析学习,算是比较粗糙。 为什么选择NSQ 知乎上不少人推荐 对消息队列挺感兴趣,想了解其实现。 关于N...

谈谈前后台协议

最近在做一款内容型的app,身为一枚后台开发童鞋,在开发新的功能的时候,初期总是需要制定和客户端的协议。在绕了不少弯路后,今天在这里总结一些经验,也算是一种沉淀。 制定协议最主要就是灵活,通用。针对一款内容型的app,你可能会有很多个页面,展示很多种元素,每个元素会是不同的类型。我们拿一款fm的app来做示例: 如果我们要开发上面这三个页面,你会怎么制定和客户端的协议? 我们先来简单...

应对反爬虫之换 Cookie

最近想玩一玩数据分析,却苦于没有数据。所以想写写爬虫抓些数据来分析分析。想来想去,把目标瞄准了新浪微博。虽然现在微博已经不太行了,但是毕竟UGC内容很多,并且都是短文本,感觉比较好处理些。 说搞就搞,通过抓包分析移动版微博,很容易就知道新浪微博的api接口(获取粉丝列表,获取微博列表),更爽的是,这些接口不需要登陆态,并且返回的都是json数据。本来我的目的就是分析数据,正好也不想花费太多...

Elric Change Log I

自从把Elric放在线上跑,到现在已经跑来小半年。也发现了些接口设计上的不合理和小坑。今天花时间改进了下,分享下改进的地方。 接口简化 之前的worker在往某个queue提交任务之前,需要调用add_queue()方法来先在master创建一个queue。同时worker也需要注册自己监听哪些queue,这里worker和master就有两个queue的交互,一条queue用于提交任务,...

谈谈我对 Golang 的理解

谈谈我对Golang的理解 一直想了解下go这门新的语言。前段时间看了Google IO上Rob Pike对Go语言的介绍,又过了下A Tour of Go。然后趁热打铁花了两天时间写了个比较有趣的脚本管理器Scripter。当然对Go语言的语法规范和代码组织还不了解,所以这代码写的有些凌乱。 回到主题,从开始看Google IO,到用Go写完了Scripter,加起来花了差不多五天。...

600 行代码实现简单的任务分发监控器

写之前说些题外话,今晚认识了一位大神,聊了不到两个小时,被虐得体无完肤。觉得自己还有很长的路要走,现在做的东西还是比较小儿科。虽然这篇文章的内容比较低端,但是大神说了,要坚持写blog。所以我还是决定厚颜无耻的发出来,当作积累。 很久很久之前Go写的一个任务分发和监控管理系统,最近重构了下代码,终于稍微能看。当然这只是1.0版本,还是很低端。同时作为我的Go处女作品,还没时间去读读其他优秀...

Elric:Python 实现的分布式任务调度系统

五月中的时候,我花了两周的业余时间,用python写了第一个github项目:Elric。Elric是一个简单的分布式任务调度系统。这里想分享下写这个项目的缘由,思路以及Elric架构演变。 名字来源 这个项目的名字Elric,取自我非常喜欢的动漫:钢之炼金术师 里面主角的姓。强烈建议没看过的朋友一定要看看,这部动漫给我带来很大的影响。 背景 说起爬虫,相信很多人都会第一时间提起Sc...