对于 GitHub,相信绝大多数程序员都再熟悉不过了。
作为目前全球最大的开源软件存储库,GitHub 托管了大量的软件代码,无数开源爱好者聚集于此,也有很多程序员会利用每天的空(摸)闲(鱼)时间逛一逛 GitHub,以此了解最近的热门项目和话题讨论。但这两天,GitHub Trending 榜首项目的画风似乎有些“清奇”:HowToCook。
HowToCook…如何做饭?抱着“这个‘饭’可能有其他含义吧”的心态点开这个项目,结果:“西红柿炒鸡蛋”、“地三鲜”、“水煮肉片”、“可乐鸡翅”…不是标题党,这项目是真的想教会程序员做饭!
菜谱哪都有,上网一搜遍地都是,甚至还有视频教程,可里面总会时不时出现难以捉摸的“适量”、突然冒出的“调料”等,这对做事向来谨慎明确的程序员来说,实在颇为头疼,“HowToCook”项目也由此诞生。(GitHub 地址:https://github.com/Anduin2017/HowToCook)
项目作者在“HowToCook”自述部分开门见山说道:
最近在家隔离,出不了门。只能宅在家做饭了。作为程序员,我偶尔在网上找找菜谱和做法。但是这些菜谱往往写法千奇百怪,经常中间莫名出来一些材料。对于习惯了形式语言的程序员来说极其不友好。
所以,我计划自己搜寻菜谱和并结合实际做菜的经验,准备用更清晰精准的描述来整理常见菜的做法,以方便程序员在家做饭。
从做饭需具备的基础烹饪知识,到包括家常菜、主食、半成品加工、红烧菜系、饮料、酱料、甜品等一系列菜谱,甚至连针对“想学习高深厨艺和技巧”程序员们准备的辅料使用、油温鉴定等“进阶知识”,“HowToCook”项目都全部考虑到了。
首先,来看看做饭萌新的程序员需要做哪些“厨房准备”吧。燃气灶、电饭锅、食用油、生姜、米等这些厨具和食材都很好理解,直到下面这段话:
如果你非常想追求形式化、标准化和仪式感,并且想拥有一个与众不同的有趣厨房,那就同样采购下列内容:
天平、游标卡尺、量筒、停表、烧杯、测温枪、移液器
看到这里,只想感慨一句:不愧是程序员,这么“硬核”的做饭工具都能想到。
然后,再试着打开每个人做饭之前必然会面临的重要难题“如何选择吃什么”,结果又被意料之外的数学计算公式给整“懵”了:
很好,很强大,果然还是数学公式符合做事严谨的程序员群体。
最后,想着菜谱会不会也有意外“惊喜”,便随手点开了第一个“西红柿炒鸡蛋”。尽管做好了心理准备,却依旧被这份精确到克和厘米的菜谱所震惊:
再看看别的菜谱,也几乎都是这种画风,甚至每道菜的附加内容还酌情贴心备注了不同版本,如“西红柿炒鸡蛋”可不加糖、不加葱,盐可改为生抽等。不仅如此,菜谱最后都会加一句:“如果您遵循本指南的制作流程而发现有问题或可以改进的流程,请提出 Issue 或 Pull request 。”
如项目作者所愿,截止目前,“HowToCook”已获 13.8k Star,贡献者也已增至 113 人,逐渐实现项目作者对该项目的最初期待:“我希望它是一个由社区驱动和维护的开源项目,使更多人能够一起做一个有趣的库,所以非常欢迎大家贡献它~”
据了解,“HowToCook”这个项目的发起者 Anduin2017,也就是 Anduin Xue,2018 年本科毕业于东北大学,学习计算机软件工程,目前是一名 base 苏州的微软软件工程师,日常负责构建和维护微软的云基础设施。
而在业余时间,Anduin Xue 也完全没有浪费,从其个人主页的热门标签可以看出,他的涉猎领域十分广泛:
除此之外,Anduin Xue 每隔一段时间便会发表一些“干货”:有实用分享如《一秒钟内打开苏康码》,也有技术解析如《如何在设备上将 Windows 运行为无状态操作系统》,还有行业洞悉如《软件工程领域中的逆全球化趋势》等等。
不仅有文字分享,Anduin Xue 还时常在 Youtube、B 站等平台上传视频:除了硬核技术讲解,还曾表演过钢琴弹奏…
借用一句网友评论:“这就是大佬吗?啥都会。”
实际上,近几年 GitHub 吸引的除了技术大神,还有越来越多因自身兴趣爱好加入 GitHub 的开发者:据 GitHub 2021 年度报告显示,在 GitHub 注册时间小于两年的开发者贡献最多的前 20 名大型存储库中,包含许多游戏、漫画、科学和教育等各类泛技术主题。
因此,除了 Anduin Xue 在隔离期创建出的“程序员做饭指南”,GitHub 上还有许多“神奇”指南,即便不讲硬核技术,也深受程序员欢迎。
程序员考公指南(GitHub 地址:https://github.com/coder2gwy/coder2gwy)
与“HowToCook”一样,这也是一个曾冲上 GitHub 热榜的国产项目,由 3 位已经进入体制内的前大厂程序员联合整理。据项目介绍,这份指南的目标人群是想进体制内的程序员,尤其适合那些“经过深思熟虑之后,发现程序员这份职业不能满足自己需求的人”。
该指南对“程序员成功上岸经历”、“程序员备考的最佳实践”、“程序员备考过程中会遇到哪些问题”等全套考公流程做了详尽的经验分享,也因此收获了 20.2k Star。
程序员买房指南(GitHub 地址:https://github.com/houshanren/hangzhou_house_knowledge)
该项目作者整理总结了他 2017 年的买房经历,希望分享其买房购房知识,帮助解决大家在这过程中可能会出现的疑惑。
由于作者分享的主要是杭州买房经历,所以该项目对杭州的小伙伴可能更有帮助。不过里面也涉及许多通用知识,如“关于房子要知道的一些概念”、“关于买房的几张图”等,也适用于打算在其他地方买房的情况,该项目也因此获得了 26k Star。
程序员“上大学”指南
你没看错,程序员甚至还可以在 Github 上大学,甚至还“任君挑选”,其中包括清华、北大、上海交通大学、中国科学技术大学、中山大学等等。这些项目涵盖的高校课程十分广泛,不仅有学习资料,有的甚至还有往年考试真题。
清华大学:https://github.com/PKUanonym/REKCARC-TSC-UHT
北京大学:https://github.com/tongtzeho/PKUCourse
浙江大学:https://github.com/QSCTech/zju-icicles
中国科学技术大学:https://github.com/USTC-Resource/USTC-Course
中山大学:https://github.com/sysuexam/SYSU-Exam
程序员“斗图”指南(GitHub 地址:https://github.com/getActivity/EmojiPackage)
对许多日常埋头敲代码的程序员来说,想在闲暇之余发一张表情包加入群聊,却发现翻来翻去就那几张,那么 GitHub 上的“斗图”指南就很合适了。
EmojiPackage,一个号称“表情包资源合集,张张都是经典”的项目,其中对表情包进行了详细分类,包括“搬砖”、“安排”、“背锅”、“程序员”等各种主题。
最后,你是否也曾在 GitHub 上发现过一些有趣的项目?欢迎留言分享~
参考链接:
https://anduin.aiursoft.com/?p=2
https://github.com/Anduin2017/HowToCook
https://www.linkedin.com/in/anduin2017/?originalSubdomain=cn
《新程序员003》正式上市,50余位技术专家共同创作,云原生和数字化的开发者们的一本技术精选图书。内容既有发展趋势及方法论结构,华为、阿里、字节跳动、网易、快手、微软、亚马逊、英特尔、西门子、施耐德等30多家知名公司云原生和数字化一手实战经验!
☞