#10 什么是好的技术博客

Hi,你正在阅读的是《Codeep 半月刊》第 10 期。本期封面图由 Dall-E 3 生成。prompt 为 cubist-inspired representations of a high-quality technical blog.
半月刊最近这几期有些延误,争取最近整理一下重新补上,后面按照频率继续输出。
📍 学技术
webhook 是什么?
https://javascript.plainenglish.io/what-are-webhooks-d02e88b77359
在传统的客户端服务器架构(Client-server model)中,服务器通常是被动的角色,它会等待客户端发起请求才进行响应。这种模式在大部分场景都运作良好,但是在一些客户端需要从服务器获取时效信息的场景就会有点捉襟见肘。
比如在一个外卖系统中有外卖员和商家两个角色,商家在收到外卖订单后开始制作餐点,而外卖员需要知道商家做好餐点后去取餐配送。
如果只能从客户端到服务器单向通信的话,外卖员(client)可以使用轮询 (polling) 的方式进行确认,即定期向商家(server)确认「餐点有没有做好」。不过这里"定期"所设定的时间间隔过长会导致外卖员获取餐点信息可能会有延迟,过短则会加重商家处理信息的负担,甚至可能会把外卖员视为骚扰源而把他拉黑!
为了更好的处理这种场景 webhook 应运而生,webhook 最早是由 Jeff Lindsay提出,webhook 是一种 HTTP 回调,在某些事件发生时会触发 HTTP POST 请求。前面的外卖系统接入 webhook 后,在商家制作完餐点这个事件完成时,会自动触发消息推送给外卖员。
由此可看,webhook 是对传统 CS 架构通信机制的补充。当事件一触发,webhook 就会把它发送给注册的应用,这样就保证了客户端与服务器之间信息的及时推送。
📕 深阅读
什么是好的技术博客
https://notes.eatonphil.com/2024-04-10-what-makes-a-great-tech-blog.html
作者列举了几个他喜爱的技术博客的特点:
- 解决困难,或者帮助读者理解一些令人困惑的话题。
- 在文章中展示完整能运行的代码
- 让事情变得简单
- 定期写作
- 讨论技术决策中的权衡和缺点
- 避免网络用语、咒骂、讽刺和咆哮
✨新鲜货
codrops
![]()
https://tympanus.net/codrops/demos/
这个项目精选了 500 多个免费演示、原型、动画、模板、布局、UI 样式和实验设计概念,可以在 MIT 许可证 下免费下载和使用。
Bean Heads
![]()
https://beanheads.robertbroersma.com/
这是一个用 React 编写且开源的 npm 头像制作库,使用 Bean Heads 轻松为你的项目生成头像。
🍔 技术外
对于 Git 提交的 89 个小经验
https://www.jvt.me/posts/2024/07/12/things-know-commits/
这是文章作者依据其过去 12 年在 Git 提交和提交历史记录的实践中,总结的一些经验(排名不分先后)。总共有 89 条,下面摘抄了其中 5 条。
- 提交消息不仅可以反思您所做的事情,还可以反思为什么这样做;
- 提交应该是原子的,所有代码和测试以及配置更改都应该在那里;
- 写一个好的提交消息比写代码注释更好;
- 切勿使用
git add -u或git add .; - 提交消息可以比提交中更改的行数大一个数量级。
半月刊之前有一期也有类似关于编程的经验总结,感兴趣的读者可以去看看编程中的警句。
苹果建议 Apple III 用户摔电脑来修复问题
https://www.techjunkie.com/apple-iii-drop/
Apple III 的有一个过热的设计缺陷,通常业内的解决方案是给电脑添加足够的风扇和通风,但是乔布斯认为往电脑内部塞进一个运行起来噪声极大的风扇和丑陋的通风口严重破坏了 Apple III 的设计。
因此 Apple III 在出厂时就没有任何风扇和通风口,取而代之的是大型铝制散热器构成的底座设计。这个设计导致的问题是 Apple III 在过热后电路板可能会松掉,受影响的用户会在屏幕上看到乱码数据。
这个问题同样也影响到了苹果自己的员工,苹果的一位工程师在使用时碰到这个问题后,心烦的拿起他的 Apple III 摔到桌子上,然后神奇的是电脑“复活”了。
后面苹果建议遇到 Apple III 问题的用户将电脑举起两英寸然后使其掉落,因为这会使电路恢复原位。
本半月刊在本人博客首发,每月 15 号和月底更新,欢迎您关注、转发!
