Eason Yang's Channel
409 subscribers
31 photos
3 files
167 links
80%为科技生活领域内容,20%为自言自语。
不仅仅是 Twitter 的替身,也是经过人工筛选的内容聚合器。
UTC+8 时区 9:00~23:00 不定时更新,保质不保量。

Twitter: https://twitter.com/mr_easonyang
Blog: https://easonyang.com
Newsletter: https://letter.easonyang.com/
Download Telegram
#胡言乱语
👉警惕开发中的教条主义

据说「教条主义」本身是个中性词,但在中文语境下这显然是贬义的。

在开发和架构设计时,轻度的教条主义是对各种原则的原教旨主义般的追求,重度的则是在设计时完全沿用根据以往经验所总结出的套路和方法论。

这样的教条主义要么是由于照本宣科、要么是因为先入为主,总会使当事人加重对业务和架构的理解成本,甚至导致多走弯路。

开发中的教条主义是值得警惕和纠正的,当我们发现自己在开发和设计时出现教条主义的端倪时,一定要提醒自己多多思考甚至反思。「解放思想」虽是套话但却是应对教条主义时十分有效的指导思想。
#博客

KPI 驱动的技术项目指的是表面上是为了切实解决某一问题,但实际上却是为了满足 KPI 或 OKR 需求应运而生的项目,在开源项目和公司内部都有可能出现。
技术项目是需要进行长期维护的(尤其是开源项目),但如果 KPI 已经完成,则要么维护者的迭代动力骤降,要么项目早晚会面临交接给其他团队成为边缘项目的命运,而其中的主要原因显然是这类技术项目很难为维护者们带来持续的收益,边际成本却日益上升。同时,纯粹的 KPI 驱动也容易导致技术实现的一地鸡毛。
可见,纯 KPI 技术项目对于项目的使用者来说是很不友好的,那么当一个项目具有哪些特征时我们就应该保持警惕并思考是否还要使用该项目呢?

https://easonyang.com/posts/identity-kpi-driven-tech-projects/
#博客

公司基因是一个较有争议的描述,很多人觉得这是对公司体制和运营模式的刻板印象,因为一家公司的固有模式和体制并不代表着它以后就不能涉猎并做好当前不擅长的领域。而我认为「公司基因」是对公司「路径依赖」的形象化描述,「基因」或称为路径依赖对公司发展的影响并不是确定的,而是概率性的,只是这个概率较大,可以用于「武断」地推断公司的战略调整是否会成功。那么公司基因又与普通员工的工作选择有什么联系呢?

https://easonyang.com/posts/enterprise-genes-and-jobs/
#胡言乱语 微信网页版的开通方式就像一个后门般的施舍,很难想清楚这是微信的成功还是用户的悲哀
#博客

这一年工作有了些许新变量,收入多了些,也有了更多的表达欲望和副业想法,唯一不变的大概就只有个人的后消费主义时期下的持续消费。

和往年不同的是,今年很少会看到感兴趣的东西就下单,更多的则是基于自身或合理或过度的需求调研后买入,所以买的玩具更少了,实用(大概)的东西更多了。我为今年的数码消费打上四星满意度和一星的省钱度。

https://easonyang.com/posts/2021-digital-consumption-review/
#稍后不读 Cloudflare 最近动作频频,发布了包括「基于 Workers 的邮件发送机制」、「基于 MQTT 的消息总线」等等产品,其中「基于 SQLite 的 SQL 数据库 D1 」引起了我的注意。

官方文章中着重讲了 D1 的特性和愿景,但对技术实现细节没有太多描述。从「D1 will create read-only clones of your data, close to where your users are, and constantly keep them up-to-date with changes」这句话来看,大概率是和 Workers KV 类似的机制,即由一个主节点作为数据源,将文件数据复制至全球的多个从节点,写主读从、最终一致性。

如果是这样的实现,那其实很多基于传统关系型数据库的场景并不适合直接使用 D1 ,文中「Build almost anything」的说法似乎有些夸张。但在边缘计算层面,这无疑是一个有趣且值得期待的功能,毕竟在传统架构中 KV 和 SQL 类型的组件通常都是搭配工作的。

D1 将于 2022 年 6 月左右正式可用,我们不妨期待一下。

https://blog.cloudflare.com/introducing-d1/
#稍后不读 翻阅 DO GitHub 仓库时看到有这么一篇「DigitalOcean 的工程师行为准则」,读了下感觉有些死板,「No condescending well-actually’s」这一项更是不太认同。

总的来说,我觉得依赖团队或企业文化的传承来培养行为准则,要比真正定义一份手册好得多。如果一定要写一篇行为准则,那应该做好示例枚举并说明豁免场景才合理。

https://github.com/digitalocean/engineering-code-of-conduct
贷款创造存款理论的源起、发展与应用.pdf
1 MB
#TIL 贷款创造存款理论的源起、发展与应用
书接上回,我也基于 umami 给自己的博客自建了套统计系统,本想直接使用 Heroku 通过 add-on 做整套部署,但 umami 官方似乎被 Heroku 屏蔽了,不得已最后采用了 Netlify+Heroku 的方案。
https://analytics.easonyang.com/share/gwRcZOUH/Blog
#稍后不读 Cloudflare 的这篇博客讲述了他们是如何将 DNS 记录的构建速度提升了超过 4000 倍。

没想到 CF DNS 记录以前的更新流程是很传统的模型,即通过 binlog 相关的 MQ 来同步和比对数据至异构 KV 缓存来实现最终一致性,而本文所说的优化则是将同步逻辑由 zone 纬度的全量 diff 改为了记录维度的单条 diff。

可惜的是文中没有详细说明记录维度的顺序处理是怎么实现的,只是说了下「Implement the per-record scheduler to read events one by one in the correct order.」,我觉得这才是这个改造中比较有技术挑战的部分。
https://blog.cloudflare.com/dns-build-improvement/
Eason Yang's Channel
基于腾讯云Serverless的HTTP服务探活函数:https://easonyang.com/2021/02/21/golang-qcloud-serverless-url-tester-func/
自 2022 年 6 月起,腾讯云的 serverless 产品将原免费额度策略改为新用户限定在前 3 个月内免费,3 个月后采取最低套餐消费模式进行收费。这样的收费策略通常会导致这类监控应用的投入产出比变差,请谨慎选择和使用。