simplicity is prerequisite for reliability

在面向对象编程领域中,开闭原则规定“软件中的对象(类,模块,函数等等)应该对于扩展是开放的,但是对于修改是封闭的”,这意味着一个实体是允许在不改变它的源代码的前提下变更它的行为

最近打算把 Java 9 用在生产系统上,用模块化系统裁剪出一个极小的运行时,配合羽量级的 RESTful 框架 Restlet 和 新语言 Kotlin,做一些之前一般用 Python 来做的事情。

Read More...

又蹉跎了一年。书没读几本,钱没挣几个,一直在吃去年的老本,就连码农背也丝毫不见好转,一转眼痛入膏肓已经两年。工作压力本就很大,身体的不适更是让人愈发烦躁,情绪低落,怀疑人生。

前几日再度搜索相关信息,发现关于码农的背部疼痛问题,网上的讨论已经比两年前多了很多,似乎与「胸背肌筋膜炎」有关系,多发于青壮年,与长期伏案工作密切相关。

Read More...

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

同事找我探讨的原因是他发现「如何简单地发现一个任务所依赖的任务已经执行成功」越发成为一个困难的事情,比如任务 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...