Mars Blog

Le vent se lève, il faut tenter de vivre

2020 读书计划

阔别四年,重返图灵社区,书香味犹存,甚好。忆往昔,上一次写读书计划还是 2016 年的事情。 2016 年是我学生时代成长和收获最多的一年,这一年写了很多代码,看了很多书,应了图灵社区的那句标语:技术改变世界,阅读塑造人生。 工作近两年,突然开始因为读书甚少而感到乏力。2018 年在飞机上看了《从 0 到 1》,2019 年的年底趁着午休期间在工位粗读了《演进式架构》、《松本行弘:编程语言的设计与实现》和《分布式机器学习:算法、理论与实践》,几乎都是囫囵吞枣。 现在最大的感悟是书是人类进步的唯一阶梯。不管工作再忙也要记得看书,通过看书充电,让你的知识得到升华,然后再释放到工作中,尽量让自己保持在「充电 - 升华 - 释放」的良性循环中,而不是一味过度地释放自己。 读书计划: 《高效能人士的七个习惯》—— 软技能在工作中越来越重要(尤其是对于高压搬砖汪) 《程序员修炼之道》—— 学生时期读过一次,是时候重温一遍了 《分布式机器学习:算法、理论与实践》—— 19 年年中吴迪推荐的书,直到年终才把它匆匆看了,还没看明白。这次要带着具体问题去阅读(btw,现在有问题可以当面问高飞老师了) 《Deep Learning》—— 深度学习三巨头著作,必须拜读一下 《Dive into Deep... Read more »

我的江湖梦

写在国庆的早晨。在这举国同庆的日子里,身边的人或许都收到了满意的录取通知,或许都成双成对欢喜地出游了,我却还是回到了熟悉的工作室,继续默默地追寻我的江湖梦。离开江湖也有一段时间了,在江湖的日子却又历历在目。 梦开始在大一那年。那时候偶尔会上淘宝和天猫买点东西,不过对阿里巴巴这家公司一点都不了解。身边有从阿里实习回来和我们分享经验的学长学姐,至今印象最深的当属阿里的武侠文化。马老师很喜欢金庸的小说,所以他给公司定了个规定:每位员工都要取一个花名(经过多年验证,这真的是消除隔阂的最好方式)。我自幼就很向往金庸笔下的江湖,最欣赏的英雄人物从最初的段誉,到后来的乔峰,再到现在的杨过和黄岛主,也反映了我人生的不同阶段。自此,我开始关注阿里巴巴这家公司。而后,不经意间在犀牛书上看到了翻译团队——淘宝前端技术团队,在鸣谢的名单上有很多名字,我唯独记住了两个,一个是赵泽欣(小马,后来在子柳的《淘宝技术这十年》中再次登场),一个是王保平(玉伯,曾经在前端界叱咤风云的人物,后来成为了我老板的老板的老板)。我对阿里背后神秘的技术团队产生了莫名的好感,并开始 google 关于阿里前端的一切,学习他们的技术,关注他们的动态,渴望有一天可以加入他们。 大二那年的暑假,看到天猫团队在招实习生,那时刚考完期末试,上 github 搜了个简历模板,匆匆忙忙做了份简历就投了过去,然后万万没想到第二天我就收到了来自天猫前端工程师的面试电话,没有一点点防备,人生中的第一次求职面试就这么失败了。失败的原因主要总结为两点:没有经验以及太飘。没有经验主要体现在:自我介绍一句话,没有任何亮点;不知道面试大概考察的范围,招架不住;实时写代码容易紧张,然后思路全无;全程几乎处于被动的状态,面试官一问一答。太飘则主要体现在对工具的认识只停留在 API 的层面,没有深入去了解其背后的实现原理,这是大多数初学者的通病。所以,求职切记打无备之战,一定要做好万全的准备再去迎战。在面试前最好先找学长学姐或者最好是职场老鸟来帮自己进行一次 mock interview,现场面、电面、视频面以及在线编程都要尝试一下,避免面试时出现尴尬的情况。自我介绍一定要精炼,将自己最擅长的一面展示出来,因为面试官都会从你的自我介绍开始发问。然后对于有明确答案的问题,一定要点到为止,切记答非所问。对于开放式的问题,尽可能将自己了解的一切技术细节都说出来,切记守口如瓶,因为这是你加分的最好机会。至于在线编程,不要急着去想代码怎么实现,先分析问题,和面试官交流解题思路,这也是一个得分点。然后在面某个团队之前,一定要先对这个团队做全面的了解,包括但不限于了解他们的技术栈,了解他们所负责的业务,通过社区去收集一下面经也是很有必要的,通过面经你可以查漏补缺。最后一点就是很多技术新人,甚至是工作多年的老鸟都有的通病——使用工具只停留在 API 的层面,没有试图去了解工具背后的实现原理,至今仍然记得面试官一句“你知道 Vue.js 是怎样实现响应式更新的吗”把我给问哑了。考察工具的原理一方面是出于业务的需要,B 端的产品对性能要求可能不高,但是像天猫这样的 C 端产品对性能要求是非常高的,使用工具只是方便了我们进行团队协作以及项目后期的维护和扩展,但是涉及性能优化的时候就需要对工具的原理了如指掌才行。还有一方面就是为了考察候选人的潜力以及热情,当没有工具的时候你是否能够将工具的思想迁移到其它领域,还有作为一名工程师,你对技术是否有热情,是否有 dig 精神(这是后来从玉伯老板那里 get 到的),这一点可以刷掉 99% 的人(不是 80%),因为从无知到认识一门工具到使用一门工具再到了解工具原理这个过程是很漫长很枯燥的,你可能不只是看几篇博客就行,这需要你写很多代码,并且读很多代码才行。所以,在学习的过程中要将 dig 精神进行到底,不仅仅是技术,产品、设计如是说,学会将一件事做到极致,而不是达到某个指标。然后万事俱备的话,剩下的就只能看运气了。在合适的时间遇到合适的面试官的话,恭喜你,you are the one。... Read more »

【译】使用 Yum 历史查找已安装或已删除的软件包信息

Yum 是 RHEL/CentOS 的一个基于 rpm 的交互式高级包管理器,用户可以用它来安装新的软件包、卸载或清除旧的/不需要的软件包。它可以自动运行系统更新,并执行依赖分析,对已安装的或可用的软件包进行查询等等。 在本文中,我们将解释如何查看 Yum 事务的历史记录,以便于了解有关安装的软件包以及从系统中所卸载/清除软件包的信息。 推荐阅读: 20 条关于 Linux 软件包管理的 Yum 命令 以下是一些如何使用 Yum 历史命令的示例。 查看完整的 Yum 历史 要查看 Yum 事务完整的历史记录,我们可以运行以下命令,然后将显示:事务 ID、执行特定操作的用户、操作发生的日期和时间、实际操作以及任何错误的附加信息与操作: # yum history 使用... Read more »