[0x00] 当我们在编程时我们在做什么

先让我们把计算机想象成一个人吧。一个人总要有个名字,就叫他小明吧。

小明可以帮我们做一些事情,比如说算一下 256 乘以 1024 等于多少。这种问题对我们自己来说,按照乘法规则算一下也能算,就是麻烦,可是对小明来说算起来可很简单,这是小明擅长的领域。不过这个小明并不能理解你所说的“256 乘以 1024 等于多少”这句话。因为小明是一个外国人,他只说自己的语言。就像你和一个图瓦卢的人说“告诉我 256 乘以 1024 等于多少”,我想他也会一脸莫名奇妙。小明也是这样,不能理解你的意思。我们只能用小明的语言来告诉他要做什么。

Continue Reading

死亡

有一个画面在脑中如金属上的刻痕一般深刻:夏蝉鸣得人心烦躁,炙烤下的水泥地面腾起看不见的雾气扭曲了视线,瘦弱的男孩半黑不白,穿装背心短裤,从二楼的窗户探出大半个身子凝望着地面。如果从这里跳下去,是不是就死了?这可能是我第一次,对死亡这件事产生思考。

Continue Reading

最好的 Linux 发行版

Linux 作为一个操作系统,在服务器领域尤其是 web 服务器来说,一直是一个很好的选择,相对于 Windows server 高额的授权费用,免费开源的 Linux 更受个人和有开发能力的公司的青睐。甚至在市场份额上,还略微高于 Windows Server。但在桌面端,似乎一直是 geek 的玩物,哪怕是 web 开发,有钱的直接上 MacOS,没钱的想方设法组黑苹果。除了驱动不完善之外(现在情况已经大大改善了),最主要的还是 Linux 的桌面端应用相比其他两个操作系统生态来说,还是太少太少。一些仅有的软件,对比之下质量也只是勉强可用的地步。

但是,作为一个web开发者,不熟悉 Linux 系统,可以说是一个重大的技能缺陷。因为不论你怎么躲,都躲不开 Linux 系统的使用。哪怕你用的的 .Net,难道你就不看看 .Net core 了嘛。诚然,我们日常使用中并不会使用到太多的功能。即使常用如看日志,实在不行就拉到本地来看嘛。但如果会用 head、tail、less、grep,那基本的查询分分钟搞定,再如果会用 sed、awk,简单的日志统计也是不在话下。

Continue Reading

中数据分析

same 在前段时间更新了数据的展示形式,数据流的方式意味着决策上将要更多地向个性化的方向发展。说到个性化,那就意味着大量的用户行为数据的收集和处理,意味着原先用 MySQL 还能支撑的统计分析将不再适用。因此,开始考虑需要一套大数据处理的工具。说到大数据,一般都会自然得想到 Hadoop 系的一系列工具,从计算引擎,到存储系统,再到查询工具。Hadoop 的这一整套东西,很好很强大,但也意味着架构的复杂。

作为一个之前没有接触过任何 Hadoop 系统地超新手,我们艰难得尝试了几天,最终还是选择了放弃。放弃的原因,除了复杂度之外,更是因为一种杀鸡用牛刀的感觉。即使是全量的记录 same 的访问日志,每天也不过数 GB,这样的数据量,要直接上动辄十数台机器(hdfs + Hadoop + 控制节点)的集群着实有些奢侈(费用和维护成本)。而且,公司里也基本没有对 Hadoop 体系熟悉的人,后续的知识传承也很成问题。放弃了 Hadoop,就要重新寻找这样一种简单又可扩展的替代品:架构简单,用少数机器甚至单机即可组建;快速的扩展能力,来应对后续可能的数据增长。

Continue Reading

从14年一月份进入百姓网开始全职实习算起,参加工作也三年又两个月了。去年后半年从百姓网离职,来到 same,希望能为我喜欢的产品出一点力。但是六个月过去,虽然 same 给了很高的自由度,也没有太大的作为。除了产品上的问题之外,可能还是作为技术人的能力并不如自己所想的那样,已经到了可以做出哪怕些微的创新的地步。所以最近的两三个月一直都在感到焦虑,重新感到了工作之初时那种觉得自己什么都不会的感觉。不过区别是,彼时觉得自己是萌新,学习能力有自信,那种认为自己什么都不会的感觉可是强大的学习动力。而此时则是短暂的膨胀期之后的幡然醒悟,是一种失落。

我很喜欢编程。准确的说,我喜欢所有和创造有关的事物,讨厌重复劳动。可惜本身手残,小时候也没有条件去接受艺术的熏陶。好在,有编程这个纯粹脑力的创造活动。怀着一腔热爱进入这个行业,但从一开始工作,就对自己的非科班出身的经历耿耿于怀,总觉得心里很慌。可真的去尝试学习的时候,则感觉那些东西在工作中真的很难用到,理解一些基本概念后就不怎么愿意花时间去做练习巩固,然后心里依然很慌。

Continue Reading