372 到 415 题,同级别的题目反正是越来越难。老规矩,跳过了那些付费题目。
372
35.5%
Medium
373
33.3%
Medium
374
38.9%
Easy
375
37.3%
Medium
376
37.0%
Medium[……]阅读全文
一个纯正程序员的啰嗦
372 到 415 题,同级别的题目反正是越来越难。老规矩,跳过了那些付费题目。
372
35.5%
Medium
373
33.3%
Medium
374
38.9%
Easy
375
37.3%
Medium
376
37.0%
Medium[……]阅读全文
第二部分,我想谈一谈流程,依然来源于我的理解。Ops 的实践上面,有两部分内容紧密结合,不但共同显示了 Ops 的生产力,也在相当程度上体现了 Ops 的技术水平。这第一部分就是流程,也是今天要说的内容,另一部分是工具(也包括和使用工具相关的技能),下一次再说。
我认为 Ops 可以分为几个层次,最次的的一层,其特点是重度依赖于的人的直接 “操作”。风险管理、因果行为,都通过流程来统一把控,并且遗憾的是只有流程——除了它基本没有可靠有效的工具,或是其他办法。
其实,流程本是个好东西。有时候某些工程师被散漫和自由主义惯坏了,听到流程就反感。事实上,流程在很多情况下都有着举足轻重的作用。它们很容易控制[……]阅读全文
偶然地,在会看这些年写的文章的时候,发现涉及到软件工程方方面面的内容,但是关于 Ops 的内容却非常少。我觉得这是不太合适的,因为在实际工作中,Ops 显而易见地占据了一大块比重。于是我调整了分类目录,增加了这个单独的分类,并且这一次,我想零零散散地讲一讲我关于 Ops 的一些经历,以及关于 Ops 的一些观点。
所谓 Ops,指的就是 Operations,在中文翻译上看,我觉得 “运维” 这个词可能是最恰当的。作为一个软件工程师,Ops 有时会特指 DevOps,关于它的定义,在维基百科上有这样一张图片,我觉得基本正确地描述了 DevOps 涵盖的内容(见右侧图)。
可以看到三方面的内容,可是,由于我们会把 [……]阅读全文
作为一名好多年的曼联球迷,在后弗格森时代,第三任教练下课的时间点上,总有很多感慨,也有不少想说的话。英格兰足坛浮浮沉沉,进化了这么多年,那个老四强时代已经过去,那个群雄乱起的时代也接近尾声。这两年看来,可以说强弱集团军已经分明。第一集团属于曼城和利物浦,去年在联赛中不可一世的曼城,在今年也遇到了真正的竞争对手。第二集团包括阿森纳、热刺、切尔西和曼联,其中热刺现在位于第一和第二集团军之间,但是我认为从长远来看,加之阵容厚度考量,它是属于第二集团军的。整体上看,英超在世界的格局中目前是往上走的,这些进入欧冠的豪门也已经闯入淘汰赛了。这个时间点上可以谈的事情似乎很多,我想按照自己的理解来谈谈几个敏感 [……]阅读全文
对于程序员来说,大多数人公司都有技术和管理两条发展路线,通常在同一家公司,管理路线的发展可能性,要相对广阔一些;但是技术路线也有技术路线的好处,比如相对而言更依赖于硬实力,因而工作机会丰富。我相信有不少程序员都和我一样,坚守着技术路线,无论是进还是退,都对管理者的岗位没有什么兴趣。
兴许大家都听到软实力和硬实力的概念。对于一个技术人来说,硬实力大致上可以认为是计算机和软件工程相关的技术能力,1 还是 0,是还是非,会不会算法,懂不懂设计,清清楚楚,明明白白; 而软实力则反过来,听起来挺抽象,挺模糊,比如沟通能力,自我管理能力,但是却扮演者重要的角色,甚至随着职业生涯的发展,它的影响力越来越大 [……]阅读全文
最近在读吴晓波写的《腾讯传》,不少有意思的内容。其中给我印象最深的是讲当年 QQ 和 MSN 大战的一段。可能很多人和我一样,都注意到,互联网行业中,在中国的外企鲜有成功的,多数都是高调进入,灰溜溜地退出。有人把这种现象简单地归因于四个字 “水土不服”,无疑是武断而缺乏思考的。
在书中短短的一节分析本土企业和外企互联网大战的内容中,就看到了当年那些经典的战役。比如 C2C 市场,ebay vs 淘宝;比如 B2C 市场,亚马逊 vs 当当(虽说后来当当的份额也被淘宝商城和京东蚕食得够呛);比如搜索市场,Google vs 百度;再比如打车市场,滴滴 vs Uber;再再比如书中最重头的例子,即时通讯市场,[……]阅读全文
差不多四年来第一次回国,感触颇深。中国的发展,尤其是互联网发展就像一个孩子的成长,如果每天都盯着看,没觉得有什么变化。但是如果稍稍离开一段时间,回头就发现巨大的变化。
互联网正在不断融入生活,其中最显著的变化,便是支付。
依然记得 2012 年初我刚到北京的时候,直到 2014 年离开,那些时间基本上还是现金走天下的年代。由于种种原因,老早就兴起的信用卡没有办法流行开来,大家还是习惯于装一兜子钞票,然后在各个不同的地方大票换小票花掉它们。
如今呢?当我结账的时候,被问到 “微信还是支付宝?”,我弱弱地回了一句——“现金”,引来一阵哄笑。足以见得,那么短的时间,互联网已经占领了老百姓的支 [……]阅读全文
这段故事,像小说或者电视剧一样的故事,发生在三天前的下午。我不相信这辈子还能遇到第二次。我本来发在朋友圈上,而且我觉得这样悲催而搞笑的经历,除了哄笑一番以外,应该没有什么价值。但是好几个朋友看到以后,表示对我的神奇经历有了解详细情况的愿望,希望通过给我的悲惨故事他们带来欢乐…… -_-|| 我仿佛看到了那个得意的和嘲笑的嘴脸,好吧,我就稍微详细一点讲……
准备开车去附近买个午饭,车启动的时候挣扎了一下。凭借我二把刀的用车经验,我猜应该是车在向我发起抛锚警告,但是我对我的车抱有十二分的信任,我相信它的顽强,我相信它的潜力——出去买个饭总不至于出问题吧。
好吧,判断失 [……]阅读全文
最近微信的朋友圈和公众号,被 《离开华为三年,我才真正认同狼性文化》这样一篇文章刷屏了。基本上,评论都是正面的,表示支持、理解,或者赞赏。还有许多人表示,正是因为华为这样的狼性文化,这样的领导管理方式,才造就了公司今天的成就。
一开始我也没有太在意,后来发现大量的一边倒的正面评价和转发,我觉得我应该唱个反调,在这里谈谈不同的看法。如果您还未读过原文,不妨先移步阅读。
对于文中的观点,除去在开头的案例,我大致是认可的。特别是强调了实打实地做事给钱,坚持原则和不找借口,我觉得是值得用来树立一个好的典范的。只是开头这个案例太过瘆人,太过引起不适:
同事为与家人团聚,想调来我们办事处。
[……]阅读全文
最近才更新到微信的最新版本,早有耳闻公众号变成了微博似的信息流展示信息。之前也没有太在意,这次微信客户端版本更新以后,发现坏了坏了,以往的阅读习惯已经被彻底毁掉了。下面两图都是我手机上的截图,左边是新的信息流模式,右边是信息流界面下点击右上角图标,回到的 “类似以往” 的基于订阅号发布者的模式。
首先我要澄清的是,我认为信息流是绝大多数 SNS 软件都乐意采用的信息传递模式,简洁而且高效,包括我经常使用的那些应用,比如微博,比如知乎,比如 LinkedIn,甚至绝大多数 RSS 软件,因此,它绝不是一个新东西。毫无疑问,基于信息和基于信息发布账号(公众号)的方式比较起来,通常前者更有优势,但是此事
[……]阅读全文
可能很多人和我一样,最开始习惯使用的是 Windows,后来开始接触 Linux,再后来,接触到 Mac,几周以后,一发不可收拾。
如果说,在 Windows 下面,基本上习惯了便捷友好的图形化界面,以及经历了对 “系统在干什么” 一无所知的恐惧之后,那么接下来 Linux 就带来了另一个极端的体验,知道系统在做什么,但是总是觉得不那么便捷而友好(刚开始很长一段时间都没有接触 Linux 图形界面)。我记得大致有这么一句话,“Linux is user friendly, but it is selective who its friends are.”,Linux 也是对用户朋友友好的,只 [……]阅读全文
招聘有多重要?
很重要……
嗯,废话!
说 “很重要” 的确是废话,而没有比较就没有差异,同样一句 “很重要” 我看到许多人理解其程度实际上大相径庭。在很多互联网公司,招聘被视为 “最重要” 的事情。这是令许多人不理解,甚至觉得不可思议的事情,这里的 “许多人” 也包括曾经的我。公司不开展业务吗?不管理员工吗?不和了解客户需求吗?这些事情哪个不比招聘重要呢?
中午吃饭的时候,同事老兔和我算了这么一笔账。估算非常之粗略,请勿以之作为任何有效依据,但是从大略上足以窥其端倪。
[……]阅读全文
程序员懂业务有多重要?印象中我从来都说,“很重要” 这句没有营养的废话。在许多项目中,业务才是真正驱使价值兑现(冠冕堂皇的说法,基本上意思就是 “赚钱”)的法宝,而技术实际上有诸多选择,选择某一项并无太大区别。可是,老实说,下意识地,在技术和业务难以两全其美的时候,我还是倾向于选择那些从技术角度更有趣,但是业务上显得没 “那么” 重要的项目。我不讳认这一点,但是随着这些年的经验积累,或者说经历的项目的洗礼,业务的分量已经越来越大了。
在华为的时候,我做过一些杂七杂八的项目,其中最大的一个项目是一个大型的电信门户网站,由于我参与的是基线版本的研发,定制业务少,变态需求少,扩展性、性能、可维护性这些技术层面
[……]阅读全文
最近看了一个知乎的帖子,大家讨论为什么是 Amazon 先把云计算服务做出来,而不是 Google。类似的问题我遇到过好几次了,之前还在亚马逊的时候,我觉得利益相关等等原因,自己不太适合回答这个问题;而现在,又看到各路人马大神已经把这个问题从各个角度分析得底朝天了,于是觉得似乎又没有太大必要了。不过现在,回头看到这个帖子的时候,我还想再从我的视角总结总结,不只是为什么 Amazon 先把云服务做出来,还有为什么现在它可以一路领先。虽然说 Google 也是云服务的三驾马车之一(另两驾是 Amazon 和微软),但如今许多方面它都和另两驾还有不少的差距。我记得刚加入 Oracle 的时候,但凡听说我从 Amazon 来,
[……]阅读全文
在 Amazon 的时候,公司内有大量的组来维护不计其数的 service,而 service 之间的通用通讯方式是公司内部的一个框架,协议是自定的,客户端也是内部的;现在到了 Oracle,我看到这个变成了 RESTful,也就是说,协议本身变成了最常见和适用的一种。我看到有太多论述 RESTful 优点的文章了,而实际工作中也确实有所体会,比如接口和报文的可读性好,不需要特制的客户端,上手和调试都比较容易等等。但是,如果看到某个东西被冠以过多正面的评价,就要当心了。我也慢慢地体会到了一些问题。不过,在谈谈我的思考之前,我想先明确一下我对 REST 的认识,而这点,鉴于历史原因,也是我不太愿意花时间争辩的内容。我 [……]阅读全文
本来是没有倾向谈论这个话题的,但是最近邮件或者微信问我这个问题的国内程序员朋友很多,我在这里一并介绍一下,也算作简单的解答。同样的问题就直接参阅即可。事实上,我很乐意收到这样或者那样的问题,也包括到美国工作这样的话题,混熟了的话瞎扯也开心。但是也请大家注意一点礼貌,有好几次有程序员没头没脑地微信上跳出来问问题,然而话都说不清楚,或者连个招呼也不会打,更有甚者二话不说直接把 log 贴过来让我看问题,实在是让人觉得很不舒服。有些我回复了,有些我实在是不想回复了。另外,具体的问题我比较好解答,像有不少人问我,“你觉得美国怎么样?”,我都不知道从何说起。具体问题还是邮件沟通更合适,我答复起来也更舒服,微 [……]阅读全文
曾经写过一点关于代码评审(code review)的文章,比如这篇和这篇,现在觉得关于它的认识又有了不少更新。软件工程的技术和实践分成两部分,一部分是和书本知识一致的,大约占一半,这部分基本上在大学里就可以学,自学只要方法得当、刻苦努力也可是途径;但是第二部分来自于实际团队、经验,内容通常无法从书本当中获得,而且难说对错,不同的人和不同的经历造就了不同的认识。代码评审就是第二部分颇具槽点,可以大加讨论的典型。
代码评审是展现个性和性格的途径
我本人特别反对一种颇为常见的观点,就是 “一个良好运作的项目,不同的人,应该写出一样的代码”。我非常理解这种观点的初衷,一个良好规范约束的团队中 [……]阅读全文
最近因为工作的关系开始学习 Python 了。以前从不曾正儿八经地学过,如果说工作学习经验带来改变的话,那么编程语言的学习就是个很好的例子。如果在十年前,我要学习 Python 的话大概会买本系统介绍的 Python 教程,然后一页一页慢慢看,估计能够啃完大半本,跳过一些自认为次要的特性。等到在项目中使用已经得是一两个月之后了吧。但是如今我显然不太会做一样的事情,我现在会拿着我那些熟悉的编程语言来比较,不同的特性上面,Python 是怎样的,是先进还是落后,适合解决什么问题,在哪些领域可以大行其道,但在遇到哪些问题的时候事倍功半。
想起以前接触过的编程语言里,事实上有一半都不能算系统地学过,大致上只是 [……]阅读全文
加入 Oracle 的 OCI(Oracle Cloud Infrastructure)团队一个月了,感触颇多。事实上每一次团队的更换都是一次体验记录和整理的好机会。技术方面的东西有很多,在允许的范围内,我会在以后慢慢再谈,但是其他方面,现在我想稍微谈一谈,特别是和我的老东家 Amazon 比较地看。以下的文字更像一篇帖子,而不是文章。
先说工作中的生活。Amazon 的总部在西雅图,整个 SLU 满大街走着大亚麻的人,但是 OCI 目前只有 downtown 两栋楼的几层,人数要少得多。对我来说,每天上班从 van pool 改成了 bus,commute 的时间代价略高,但由于车次很多,因此也能够接受。Downtown 的
[……]阅读全文
最近在搭建开发环境,大致的布局是这样的:一个专门的数据库 VM,一个用于编译和代码执行的 VM(dev virt,装的 RedHat),还有用来写代码和运行这两个虚拟环境的 Mac(local)。这里我需要一个工具,可以满这样的需求:
我把我的解决办法简单记录在这里。在接下去记录之前,需要回答这样两个问题:
[……]阅读全文