ARTS 打卡 第四周
A:207. 课程表
你这个学期必须选修 numCourses
门课程,记为 0
到 numCourses - 1
。
在选修某些课程之前需要一些先修课程。 先修课程按数组 prerequisites
给出,其中 prerequisites[i] = [ai, bi]
,表示如果要学习课程 ai
则 必须 先学习课程 bi
。
例如,先修课程对
[0, 1]
表示:想要学习课程0
,你需要先完成课程1
。
请你判断是否可能完成所有课程的学习?如果可以,返回 true
;否则,返回 false
。
示例 1:
示例 2:
关键字:拓扑排序,广度优先搜索
学习拓扑排序入门的模板题,建议掌握!
https://leetcode.cn/problems/course-schedule/solutions/2433660/bfs-by-terrygmx-r4m0/
R: AI 能开得了玩笑吗
一个挺有意思的 yt 视频。看下给 AI 讲笑话,它会有什么反应。
https://insidebigdata.com/2023/09/09/insidebigdatapodcast-can-a-i-take-a-joke/
T: 用 ariflow 搭建数据管道
airflow 是一个主要用 python 语言开发的、apache 开源的工作流自动化平台。不单单可以用来搭建数据管道,也可用于数据监控、微服务调用等。
本文介绍了 airflow 的主要特性,数据管道的定义,以及如何使用 airflow 搭建一个数据管道。搭建过程,会使用到 docker 镜像,DAG 图等等。
https://hevodata.com/learn/data-pipelines-with-apache-airflow/
S:给年轻程序员的一些建议
《代码简洁之道》是一本非常优秀的编程书籍,它强调了代码清晰、简洁和易读的重要性。读完有感,回想自己年轻时期,如果读过并理解这本著作,定大有裨益。以下建议都源于《代码简洁之道》中的理念:
明确意图:每个变量、函数、类都应该有一个明确的目的。你应确保代码的每一部分都能轻易地被理解,无需额外的上下文。
避免冗余:避免使用不必要的代码和重复的代码。每个代码片段都应有所贡献。
使用有意义的名称:变量、函数和类的名称应当明确地反映它们的用途和行为。避免使用模糊或者过于简化的名称。
简化复杂结构:如果你发现代码结构复杂或者难以理解,那么你应该尝试将其简化。这可能意味着提取部分代码到新的函数或者类,或者重构某个部分以使其更易读。
编写无副作用的代码:尽可能编写无副作用的函数。这样的函数在任何情况下都能正常工作,且其行为不会受到外部状态的影响。
使用版本控制:使用版本控制工具(如 Git)来跟踪代码更改。这将使你能够回滚到任何之前的版本,同时也能更好地理解代码的演进。
遵循一致的编码规范:在项目中遵循一致的编码规范可以使代码更易于阅读和理解。这可能包括使用相同的命名规则,保持相似的代码格式等。
编写单元测试:编写单元测试可以帮助你确保代码的正确性,同时也可以帮助你在重构时确保代码的行为没有改变。
学会说“不”:如果你觉得某段代码不应该在那里,或者某个功能不应该被实现,那么你应该学会说“不”。你应该有勇气对那些你认为会使代码变得更复杂或者难以维护的建议说“不”。
阅读更多代码:通过阅读其他人的代码,你可以学习到新的编程技巧,了解不同的编程风格,同时也可以帮助你理解代码的复杂性。
别人笑我太疯癫,我笑他人看不穿
版权声明: 本文为 InfoQ 作者【一期一会】的原创文章。
原文链接:【http://xie.infoq.cn/article/e3dd7eab5e3a2ef6f1dc9f7f0】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论