关于本刊

这是猫鱼周刊的第 12 期,本系列每周日更新,主要内容为每周收集内容的分享,同时发布在

博客:阿猫的博客-猫鱼周刊

RSS:猫鱼周刊

邮件订阅:猫鱼周刊

微信公众号:猫兄的和谐号列车

私信:[email protected]

An image to describe post

宝安耶稣君王堂,建成于 2010 年,有四层楼高。晚上教堂灯火通明,也很好看,不过不好拍。教堂周日可以进去参观,教堂外围和四楼中殿均可自由活动,但是注意内部不能拍照,保安会提醒不要带相机入内,门口有自助寄存的柜子可以存包、相机等。

文章

防裁员编程?防御性编程?

原文链接

「防御性编程」最近都被用烂了,中文社区到处都在说这个梗。然而实际上防御性编程是一种好的实践,是为了保证,对程序的不可预见的使用,不会造成程序功能上的损坏。

有个高赞回复我觉得很在理:

这不叫防御性编程,都被你们用烂了。防御性编程是用来抵御不确定的错误与有风险输入之类的,是一种非常好的编程实践。

你这个只能叫防裁员编程。

比较有趣的是,这个场景符合博弈论中的「囚徒困境」,员工和公司可以视为两个玩家,对于员工,可以有合作(写高质量代码)和不合作(写低质量代码)两种策略;对于公司,有合作(保持现有员工)和不合作(裁员并招聘新员工)两种策略。

在一般情况下,纳什均衡是(编写低质量代码,保持现有员工),因此提高「被替换」成本是有利于雇主作出「不裁员」的决定的。但是如果雇主经济压力增加时,这个均衡就会发生改变,长期来说「裁员」的策略对雇主来说就更优。

生成数独

原文链接

作者给他的奶奶做了一个数独生成网站,「顺道」研究了一下各种数独解法以及难度评分的策略。文章中的算法由浅入深,比较好懂。文章中还附带了一些 demo,可视化算法解题的过程,以及主观呈现在不同难度下不同算法解题速度的差异。

An image to describe post

一文讲清多线程和多线程同步

原文链接

美团技术团队的文章,不得不说,美团的团队在分享上是真的多,而且详尽,一点都不藏着掖着。

文章把多线程串讲了一遍,从硬件到软件,从组成原理、操作系统到 C 语言,大学学的时候一般都是各门课程分开讲,不会有人给你串着讲一遍,所以看完这篇文章对整个知识体系又有了新的认识。不过我看到乱序执行就看不下去了,后面的内容此前完全没接触过,看来还是得花时间钻研一下。

项目

showlinenum

An image to describe post

项目地址

一个在 git diff 结果的每一行前面添加行号的 awk 脚本,非常地 unix 哲学。要做到这个还有更多的方法,stackoverflow 上有这么一个帖子专门讲这个。

sweep

An image to describe post

项目地址

AI 驱动的可以用来写小功能和修复 bug 的程序员。不同于 AI 辅助写代码,这个是直接 AI 去改代码然后提 PR,比较新鲜。比起项目本身,项目方还有一个博客专门讲怎么实现这个流程,值得一看。

generative-ai-for-beginners

An image to describe post

项目地址

微软出的生成式 AI 教程,很系统完善的教程,介绍了 LLM 的原理、Prompt 工程、RAG、微调,甚至给了一些应用的例子、UX 设计等,也有介绍怎么用其他的开源 LLM。

工具/网站

世界各地的星巴克

网站链接

An image to describe post

作者从 1997 年开始,致力于打卡世界上所有的星巴克,至今已经到访了 19511 家,主要以北美为主。网站风格非常原始,也有些非常老的照片。

开源替代

网站地址

An image to describe post

收录了非常多开源软件,可以方便地寻找商业软件的替代。这个网站比较新,同类的还有 AlternativeTo这些。

最后

本周刊已在 GitHub 开源,欢迎 star。同时,如果你有好的内容,也欢迎投稿。如果你觉得周刊的内容不错,可以分享给你的朋友,让更多人了解到好的内容,对我也是一种认可和鼓励。(或许你也可以请我喝杯咖啡

另外,我建了一个交流群,欢迎入群讨论或反馈,可以通过文章头部的联系邮箱私信我获得入群方式。