0%

UML (Unified Modeling Language) is a graphical language for modeling the structure and behavior of object-oriented systems.

最近在学习经典的设计模式,竟然被类图(UML Class Diagram)深深的吸引了。总之个人一直以来,对各种「可视化」都是情有独钟(可能是老年人记忆力比较差,而图像可以在脑中快读投影与记忆)。当然正好也趁这个机会,对 uml 类图有个全面更深的理解,顺便消除之前的好几个困惑。

想起以前看过的一篇文章,说的是两种写代码的风格:有的人喜欢提前规划,将每个细节思考清晰后再动手,而另一类人则像我高中语文考试写作文,信手拈来,写到哪算哪。个人还是期望做第一类,因为代码说到底只是一种将想法落地的方式,特别是当代码复杂度远远超过我大脑内存时,一份完整详尽的系分设计文档就格外重要(包含类图/sequence/用例等),为后续理解和重构代码都有很大的好处,不然 code and fix 浪费的时间将是指数级翻倍的。当然网上也有很多反对的声音,例如 uml 无用论等🤔 你是怎么觉得的呢?或者可以等读完这篇文章后再发布你的想法。

在东京新宿逛风情街🔞,在大涌谷看富士山的雪🗻,在箱根泡爱心温泉♨️,在东京铁塔下牵手合影🗼~ 本来想按时间顺序做个详细一些的懒人攻略,但博主太懒啦。。就用照片按时间零零散散记个流水账好了。

简陋的行程,会习惯提前将重要的交通工具调查清楚,但后续游玩的内容更多的是随机的填充。

那天在上班路上读着别人的 2019 年度总结,恍恍惚惚回忆起四五年前的那个冬天❄️,和两个大学好友在学校小吃街的彤德莱,边吃火锅边总结过去一年的得与失的场景。

当然写这篇文章的另一个原因是最近深陷于工作,一晃已经小半年没有写博客了。刚好今天吃坏东西 + 发烧🤒️,在医院排队的时候,顺便回顾一下自己平凡的 2019...

CI/CD(continuous integration and continuous deployment) 被提出很久了并逐步流行,因为它确实有很多的好处:例如小而快的迭代可以尽早发现 bug 并更加轻易地修复,代码合并也不会那么痛苦。但说到底还是因为「懒」,当 push 代码成功的那一刻,只想合上笔记本闭上眼睛,静静地等待自动部署成功后滴的一声通知,然后安然入睡 zZ

一个 bug 只要能在本地重现, 基本上就解决 90% 了。

最近在另一篇排查 bug 的文章中,引用了上面👆这段话。没想到瞬间就被打脸了:博客升级主题版本(Hexo v7.4.0)后,线上显示异常(页面左下脚怎么也加载不出来),但本地是正常的。困扰了两个星期终于解决了。。特此写一篇博客「纪念」一下。

今天突然有个小需求,希望在 macOS 上截图后,自动保存至应用 Photos. 搜索了一下,发现系统原生不支持这种骚操作,但有个自带的应用叫 Automator, 可以完美的实现这个需求✌️

Cloudflare 在七月二日发生了一次全球性的宕机,个人托管在上面的两个小网站难以幸免,502 超过半个小时;甚至上班的时候,还收到了一些业务告警(某些渠道通过 cloudflare 做路由)。可见这次故障的影响范围之大,互联网的一些基础服务已经成为了 21 世纪的水电煤..

而作为一名 SRE,明白在故障的整个生命周期中,最关键的一环就是故障复盘(postmortem),以防止同样愚蠢的错误不再发生(通常大故障都是由很多小错误连锁造成的)。前天在千岛湖 outing 半夜四点睡不着的时候,起床偶遇这篇文章《Details of the Cloudflare outage on July 2, 2019》, 一口气读完了,写的很精彩(很会讲故事),当然总觉得还缺了什么。

用这篇文章记录一下个人的感受和思考,当然更加推荐阅读原文。

好几个月前的一个月黑风高的深夜,和同事对 Python 的版本管理 & 虚拟环境进行了一些讨论。写一篇博客纪念一下,也算是作为个人的笔记。

如果你对 pyenv, virtualenv, virtualenv-wrapper, venv, pipenv 等一系列名词存在一些困惑,可以进来看看..