读《打造 Facebook》

Thumbnail

感谢好基友 @daodao 送了我这本《打造 Facebook》, 年前一直忙,最近腾出两个晚上,把这本很火的书看完了。 第一次听见王淮这个名字,其实是在知乎上面, 当时有一个问题 Facebook 早期员工王淮在职期间有什么成就?。 之后陆陆续续看到他的几个回答,感觉他非常善于自我营销。再之后就读到他这本书。 书中最喜欢的章节是关于 Facebook 工程师文化和产品开发流程的描述。 ============================== 我是分割线 ============================== Facebook 招人标准 对公司的忠诚,是文化认同的附属品 技术面试 2.5 / 系统设计...

2013-02-25 · alswl

在 Python 中使用 epoll[译文]

原文地址: http://scotdoyle.com/python-epoll-howto.html , 我这里取精简内容翻译过来。 ============ 正文开始 ============ 介绍 Python 从 2.6 开始支持 epoll。现在我们用 Python3 来写基于这些 API 的 epoll 范例。 阻塞的 Socket 通信范例 import socket EOL1 = b'\n\n' EOL2 = b'\n\r\n' response = b'HTTP/1.0 200 OK\r\ndate: "2013-01-12T00:01:00+08:00" response += b'Content-Type: text/plain\r\nContent-Length: 13\r\n\r\n' response += b'Hello, world!' serversocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) serversocket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) serversocket.bind(('0.0.0.0', 8080)) serversocket.listen(1) try: while True: connectiontoclient, address = serversocket.accept() request = b'' while EOL1 not in request and EOL2 not in request: request += connectiontoclient.recv(1024) print('-'*40 + '\n' + request.decode()[:-2]) connectiontoclient.send(response) connectiontoclient.close() finally: serversocket.close() 这个范例中的代码在 accept() 、 recv() 和 send() 时候会发生阻塞, 导致其他连接无法完成。 通常情况下,在我们使用阻塞模型时候,会专门建立一个主线程来进行监听, 将...

2013-01-12 · alswl

My 2012

本想着末日来了也是好事,大家都挂了,一了百了,啥事情都不用干了。 不过末日既然没来,工作和生活就得继续下去,年末了还是需要缅怀一下 2012, 然后展望一下 2013。 2012 关键词:妹子 和姑娘 A 不得不说的故事,追了一段时间之后发现太熟了,不好下手,另外三观有点不一致, 现在已经有男朋友了。更八卦的段子见 有哪些智能手机用户的行为让你当时就震惊了? 另有青春年少萝莉一枚,让我确认自己不是基佬,已死心。 最近几年我蛮少对...

2013-01-01 · alswl

如何让 Instagram 在一百多万用户爆炸后稳定运行

原文链接:Keeping Instagram up with over a million new users in twelve hours 这周二我们发布了 Instagram for Android,反响空前强烈。 最近这几周我们一直(在基础设施方面)做负载计划,为所有可能发生的事故做准备。 尽管如此,在发布那天,最大的挑战仍然是如何快速定位问题,找到瓶颈并尽快修复他们。 在这里我们将分享一些帮助我们解决问题的工具和技术。 ##statsd## statsd 在 Instagram 很受欢迎。这是 Etsy 写的一个网络监控器, 能够统计并图形化数据。它有两种核心的统计方式:计数器和...

2012-11-19 · alswl

KuKu-一个 Weekend Project

Thumbnail

一个小小的 Weekend Project,基于 web.py。 代码在 alswl / kuku ,很简陋,属于差不多能用阶段。 基于以下原因开发: 想把服务器去 PHP 化,以前的 upload.log4d.com 是基于 PHP 的, 详情请见 使用独立图床子域名。 刚买的 Linode VPS,终于从 128MB 内存解放出来了,赶紧放个 Python 程序跑跑。 想些 Python 了,手痒,想看看写这么简单的功能需要多长时间, 弥补上次没能参加黑客马拉松的遗憾。 KuKu 的发音是我家乡话的「看看」。 KuKu 中比较有趣的地方是,用了 Foundation 这个流式 Web 前端框架, 用了...

2012-11-18 · alswl

PyCon 2012 见闻

Thumbnail

PyCon 是 Python 领域最著名的技术会议,从 2011 年开始,中国区开始举办自己的 PyCon 大会。这次 PyCon 2012 分成两个场地同时进行,北京和上海, 并且在网上提供同步转播,各地也有组织线下收看的。 去年时候我很遗憾的不能跑到上海来参加,现在我人就在上海, 怎能错过 Pythoner 的饕餮大餐呢?早就眼巴巴的买票准备参加了。 上海这边的主题如下: 《Python 产品构建与发布指南》- 沈崴 《实战游戏客户端》 - 林伟 《让程序运行更快》- 李小红 《演进或革命 - 选型和架构...

2012-10-21 · alswl

Working with Python subprocess[译文]

Thumbnail

8月底到魔都开始新工作,头一个月当然各种忙,都没时间来更新博客。 这篇文章是在写 Btrace 脚本时候查资料看到的, 看着不错就顺手翻译,没想到差点烂在草稿箱出不来啊出不来。 熬了一个月才磨出来,媳妇都快成婆了有木有。 原文链接:Working with Python subprocess - Shells, Processes, Streams, Pipes, Redirects and More 注意 关于「执行命令时候发生了什么」这个问题,可以在 http://en.wikipedia.org/wiki/Redirection_(computing) 找到更多最新信息。这篇文章遵循 GFDL 协议。 在我的上一篇日志中,我写到如何 build a command line interface with sub-commands in Python。 这次...

2012-10-16 · alswl

面试小记

最近在上海找工作面试,这两天就要出结果了。早晨5点多就醒过来,睡不着觉, 那就写篇这段时间面试感觉的小记。 选择 我在台风「海葵」登录上海那天离开南京,已经约好了几个面试, 这几个团队都是我慎重筛选的。招聘消息来源于各大社区: Python-CN 邮件列表 / V2EX / Ruby-China / 豆瓣小组。 来源于社区的招聘信息会更靠谱,在社区投递的很有可能是直接主管,而不是人事 HR。 仅仅在 51job 上投放招聘,而不参到社区来的公司,很可能氛围不是那么有活力。 我尽量...

2012-08-16 · alswl

我为什么来上海

今天是我到上海的第二天,窗外的台风依然在肆虐, 我用半天的时间来研究这几天要面试公司的产品。放下腿上的笔记本, 抽了根烟,我开始整理一下思绪,准备回答这么一个问题:「我为什么要到上海来?」 南京有相对悠闲的生活节奏,开车回家 1 小时不到, 父母在毕业那年帮我购置并装修好了新房,工作也比较稳定。 那我为什么还要抛弃这些去上海? 回答这个问题,我需要从我的经历讲起。 前天在和 @lightory 在雕刻时光聊天,我提到自己的成长经历: 我...

2012-08-09 · alswl

《少有人走的路》读后感

Thumbnail

关注这本书是在编程随想那里看到的一篇书评, 其中引用了书中一句经典的话: 人可以拒绝任何东西,但绝对不可以拒绝成熟。拒绝成熟,实际上就是在规避问题、 逃避痛苦。规避问题和逃避痛苦的趋向,是人类心理疾病的根源,不及时处理, 你就会为此付出沉重的代价,承受更大的痛苦。 所有逃避者,都在阻碍自己心智的成熟; 一切心智成熟者,他们的人生之旅都是从直面问题开始。 我最近半年的时间中,经常和一位闺密朋友讨论成熟、感情、人生...

2012-08-04 · alswl