simplicity is prerequisite for reliability

前些天和同事探讨一个系统该如何设计,有些心得记录一下。同事想要设计一个任务执行系统,其中有一个核心驱动部件,以有向无环图的形式来描述任务之间的依赖关系,使得没有前后依赖的任务可以并发执行。任务的实际执行发生在多个外部系统,任务执行系统主要负责任务调度以及状态更新、进度展示等。

同事找我探讨的原因是他发现「如何简单地发现一个任务所依赖的任务已经执行成功」越发成为一个困难的事情,比如任务 C 依赖任务 A、B 先执行成功,那么需要为 C 分配一个线程,定期去询问 A 和 B 的执行进展,一旦系统中同时存在的任务数量增多,系统就显得越发复杂和脆弱。

Read More...

近些年,随着大数据的兴起,人工智能的复苏,科班出身的应届生,优秀的本来就挺少,十个里面有八个在求职的时候都奔着「算法工程师」的职位去。也难怪我们这些从「研发工程师」一路走来的人,每年的校招时节,都感叹靠谱的做工程的应届生越来越难找了。

与其从众地去竞争听起来高大上的「算法工程师」、「数据科学家」岗位,也许对于有良好工程基础的学生来说,在「研发工程师」的竞争中更容易脱颖而出,在后续的职业发展上也更加顺利。

Read More...

前几天我在开发一个小型的 Java Web App,用 Undertow 做 HTTP 服务器,Jersey 做 RESTful 路由,在 IDE 中开发那是一个顺风顺水,但是到最后打包的时候遇到了一些奇怪的问题,最后也不走寻常路解决了。

Fat Jar 这种 Java 应用分发方式,近几年随着 DevOps 的潮流渐渐在 Java Web 生态里变得流行起来,SpringBoot 和 Dropwizard 等快速开发框架居功至伟。

Read More...

如果你一直在用一款软件,却没发现任何非预期的状况,那只能说明你对这款软件的使用还不够深入
小鶸·仁波切

自封「Grav 大中华区首席布道师」的我,用 Grav 搭建博客将近一年,却一直没碰到什么奇怪的问题,对此我深感惭愧,用得还不够深入啊!就在今天,事情出现了转机,我似乎把 Grav 用出 bug 来了。

Read More...

时光荏苒,如白驹过隙,仿佛毕业典礼还在昨日,我却已是工作三年的社畜。20岁那年大学毕业,还记得我是 2014 年 7 月 7 日办理的入职手续,史称「七七事变」。前不久,2017 年 7 月 7 日,便是踏入社会三周年的日子。

感谢曾经努力的自己。

Read More...

春天来了,万物复苏,又到了交配的季节。一年一度的凹挺就此拉开序幕。所谓凹挺,很多人以为是公司出钱让员工出去浪,其实只是换个地方写代码而已,绝大部分支出还是自己掏的腰包。

前些日子去了长滩岛,跟团。那几天正好遇上杭州大雨,长滩岛也下雨,离约定的出发时间还有差不多一个小时的时候,我临时起意,决定回宿舍一趟,拿雨伞。人算不如天算,本以为差不多一个小时的时间,打车来回绰绰有余,谁知道最终还是没赶上趟,只好让大家先行出发,我随后自己打车前往机场会和。

Read More...

我们这些所谓的创作者啊,从被告知不用勉强的瞬间开始,就会止步不前。正因为有无法赶上的截稿日期,与「时间和质量的平衡战斗」,不进行这样拼上性命的比赛,就无法进步

Read More...

和许多年轻人一样,我接触日本的影视作品,是从动漫开始的。抛开小时候看的奥特曼、神奇宝贝之类幼儿向的动漫不谈,大学之后开始看绅士向的动漫,比如「某科学的超电磁炮」之类的。工作之后依旧在闲暇之余访问 Bilibili 追新番,但是也开始渐渐接触动漫之外的影视作品,比如日本的连续剧、电影。

前些日子看的几部日剧都是喜剧类型的,演技浮夸却让人无法自拔,哈哈哈哈蛇精病根本停不下来。因为深陷日剧泥潭,我已经有些日子没看书了,好气啊!

Read More...

去年蜗居了一年的住所,唯一让我满意的,是那台我和室友一人拥有一半股份的洗衣机,准确来说是「洗烘一体机」,洗完衣服顺便烘干的那种。每一次搬家,都是一次断舍离。丢弃了不少瓶瓶罐罐,唯独这极具科技含量的造物,不舍得丢弃,和我那闲置一隅的 MUJI 换气扇一道,从那里搬到了这里。

Read More...

又到了一年一度的搬家时节。去年跟随公司从余杭搬到了转塘,在繁忙的工作之余提不起兴致收拾屋子,再加上个人对居住条件不太满意,也就浑浑噩噩地生活了一年,该吃吃该睡睡就是不怎么打扫屋子。终于混到了租约快要到期的地步,正准备在附近的商业街周围找个屋子,恰巧同组的同事厌倦了每天从城市的这一端到那一端的来回奔波,我们一拍即合,一起在离公司不远的地方租了个别墅。

Read More...