0%

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

身为一名 SRE, 之前对自己博客的 CICD 做过不少尝试(感兴趣可以看看):

  1. 《使用 Buddy 实现博客持续部署》
  2. 《部署 Hexo 静态博客 (上) - Google Cloud Platform OSS 之旅》
  3. 《部署 Hexo 静态博客 (下) - 偶遇 Netlify, 优雅地持续部署你的博客》

最近几个月一直用的 Buddy,页面炫酷操作友好,但美中不足的是有点"小气":免费版的内存有 1G 的限制,让人每次操作都有点小心翼翼。。正好 GitHub Action 的 Public Beta 终于排上了号!「喜新厌旧」的程序员又开始折腾起来了。

一个 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 等一系列名词存在一些困惑,可以进来看看..

新婚后的第一次旅行✈️,从上海出发,途径「大阪」➡️「奈良」➡️「京都」的日本六日自由行。短暂的旅途中有语言不通的受阻与迷茫,也有铁腿行程时的绝命腰痛(苦命的程序员><)。但更多的时候,是像夏日冰镇啤酒一般源源不断的快乐~ XD

之前看到一句话写的很好:“写博客是为了和过去以及未来的自己对话”,用这篇文章简单记录一路上的见闻以及个人的感想,如果刚好能帮到你,那真的是太棒啦!
oezC0NVESpec%3ZLxHSJiQ_thumb_6498

不知不觉的和女朋友在一起七年多了✨,传说中的七年之痒?但我们却有些习惯了彼此的存在和平凡的幸福,仿佛结婚或不结婚并不会有什么本质的区别。也可能因为每个人一辈子一般只会经历一段婚姻,慢慢的我才明白,很多时候男生还是需要主动一些,给女方一个 promise. 昨天终于鼓起勇气求婚了,啦啦啦。 虽然一「直」认为钻石就是平凡无奇,严重溢价的小石头,但真正摆在你面前的时候,还是挺震撼的🤪。

本文主要分享挑选钻戒时做的一些小功课,也算是个人的小纪念。

Coursera 上吴恩达的《机器学习》终于学到了第九周的课程。这周上半部分讲述了 Anomaly Detection,因为和工作比较相关(监控报警的智能降噪),所以比较感兴趣也很期待! 然而看完视频后,说实话略有些失望,因为只介绍了正态分布这一种算法。但视频和课后作业带我从各种不同角度深度剖析了一遍正态分布,收获颇多~

本文主要记录了完成课后编程作业的过程,并用 python 实现一遍(课程为matlab),talk is cheap, show me the code. 也希望自己也包括正在读这篇文章的你,可以对正态分布有更深的理解。