diff --git a/_drafts/2023/log.md b/_drafts/2023/log.md deleted file mode 100644 index bdefbf9..0000000 --- a/_drafts/2023/log.md +++ /dev/null @@ -1,54 +0,0 @@ ---- -layout: post -title: reading notes -date: 2023-02-05 -tags: -categories: ---- - -# Feb 5 -## 读书笔记 -《卓有成效的工程师》 -### 关注重要而不紧急的工作 - -在工作四象限里面,通常是第二象限中的工作。比如 -- 个人发展。比如学习新技术,提升自己的能力。 -- 合作关系建立。比如与同事、客户沟通,周末聚餐,团队活动。 -- 计划与总结。 - -类似地,跳出工作之外,还有个人成长,比如锻炼身体,阅读书籍,学习新知识等等。 - -这类任务通常没截止日期,也不紧急。但长远来看,这些任务对个人和团队的发展都能提供强大的价值。 - -# Feb 9 -论代码测试的重要性。 - -一些个人(Python)小项目上的代码写的都比较随意,经常在改动之后,不进行任何测试(当然也没有代码 review),直接推送到 github 上,然后借由 github workflow 部署到服务器。 - -Python 是一门解释性语言,对些对于一个潜在的代码 bug(比如数组越界,变量使用时拼写错误),必须等到代码执行到这一行才可能触发。 静态型语言如 C++, Rust 在编译阶段可能就能够发现这些错误,但 Python 必须结合测试才能发现。 - -对于这个问题,前前后后踩了很多坑,但没有特别重视,毕竟对于个人小项目而言代码挂了就挂了,也没有什么大的影响。比如我现在有一个文章聚合的小项目,功能是定时从特定 rss 源上获取最新文章,聚合过滤之后统一推送到 Telegram Channel 里。 但前几日在配置文件上犯了一个极低价的错误———Python 列表中有两个元素之间少加了一个逗号,代码部署之后,两天内没有收到任务 rss 文章推送,而正常情况下一天内可能平均接收到几十篇文章的推送(看得完吗朋友)。直到闲时线下跑了一遍服务,才发现了这个问题。 - -但不写测试是一个不好的习惯,哪怕是针对个人小项目。像《卓有成效的工程师》这本书里面也提到了,习惯是一种思维模式,它能主导一个人 90% 以上的行为。这种习惯也会从个人项目中慢慢蔓延到团队项目中,它不仅影响团队的代码质量,也可能在某次代码 review 没有发现特定 bug 的情况下,导致线上重大事故的产生。 - -## 测试代码的比重 -前两天稍微看了一个 Pyshorteners 作者的测试代码,作者使用 pytest 简单有效的进行了测试验证。测试覆盖率越高,就能发现越多的错误。一位 JS 大佬 https://quick-lint-js.com/blog/cpp-vs-rust-build-times/ 写了一篇博客,将 quick-lint-js 的部分代码从 C++ 迁移到 Rust。我看到他的代码中测试代码的比较,有点吃惊,无论是 C++ 实现还是 Rust 实现,测试代码的比重基本上都在 45% 左右。 - - - -但思考一下,这个量也是很正常的,每一次增加新功能都应该对这部分代码添加测试,或者对核心的功能添加测试。 测试代码的一个好处是可以跟随项目增量添加且测试可自动化。如果一次变更只涉及了新增功能,那么已有的测试代码就不需要更改,结合 pytest, unittest 等测试框架,测试代码的可维护性也是很高的。 - -# Feb 11 -## 持续学习 -《卓有成效的工程师》 -培养成长型思维,不论处于人生的什么阶段,都要保持学习的态度。学习是一种习惯,是一种思维模式,是一种生活态度。 - -- 学习新的编程语言及开发框架 -- 学习市场需求旺盛的技术 -- 阅读 - - 书籍提供了一种从别人的教训和错误中学习的机会,这是一项高杠杆的投资,能够帮助你避免重复犯错。 -- 加入讨论小组 -- 参加讲座、行业会议和线下聚会 -- 关注那些传授技能的博客 -- 为教学而写作 -- 拓展兴趣项目 -- 培养业余爱好 - diff --git a/_posts/2023/2023-02-05-reading-notes.md b/_posts/2023/2023-02-05-reading-notes.md deleted file mode 100644 index 63337fe..0000000 --- a/_posts/2023/2023-02-05-reading-notes.md +++ /dev/null @@ -1,61 +0,0 @@ ---- -layout: post -title: reading notes -date: 2023-02-05 -tags: -categories: -author: berrysleaf ---- -* content -{:toc} - - -# Feb 5 -## 读书笔记 -《卓有成效的工程师》 - - - -### 关注重要而不紧急的工作 - -在工作四象限里面,通常是第二象限中的工作。比如 -- 个人发展。比如学习新技术,提升自己的能力。 -- 合作关系建立。比如与同事、客户沟通,周末聚餐,团队活动。 -- 计划与总结。 - -类似地,跳出工作之外,还有个人成长,比如锻炼身体,阅读书籍,学习新知识等等。 - -这类任务通常没截止日期,也不紧急。但长远来看,这些任务对个人和团队的发展都能提供强大的价值。 - -# Feb 9 -论代码测试的重要性。 - -一些个人(Python)小项目上的代码写的都比较随意,经常在改动之后,不进行任何测试(当然也没有代码 review),直接推送到 github 上,然后借由 github workflow 部署到服务器。 - -Python 是一门解释性语言,对些对于一个潜在的代码 bug(比如数组越界,变量使用时拼写错误),必须等到代码执行到这一行才可能触发。 静态型语言如 C++, Rust 在编译阶段可能就能够发现这些错误,但 Python 必须结合测试才能发现。 - -对于这个问题,前前后后踩了很多坑,但没有特别重视,毕竟对于个人小项目而言代码挂了就挂了,也没有什么大的影响。比如我现在有一个文章聚合的小项目,功能是定时从特定 rss 源上获取最新文章,聚合过滤之后统一推送到 Telegram Channel 里。 但前几日在配置文件上犯了一个极低价的错误———Python 列表中有两个元素之间少加了一个逗号,代码部署之后,两天内没有收到任务 rss 文章推送,而正常情况下一天内可能平均接收到几十篇文章的推送(看得完吗朋友)。直到闲时线下跑了一遍服务,才发现了这个问题。 - -但不写测试是一个不好的习惯,哪怕是针对个人小项目。像《卓有成效的工程师》这本书里面也提到了,习惯是一种思维模式,它能主导一个人 90% 以上的行为。这种习惯也会从个人项目中慢慢蔓延到团队项目中,它不仅影响团队的代码质量,也可能在某次代码 review 没有发现特定 bug 的情况下,导致线上重大事故的产生。 - -## 测试代码的比重 -前两天稍微看了一个 Pyshorteners 作者的测试代码,作者使用 pytest 简单有效的进行了测试验证。测试覆盖率越高,就能发现越多的错误。一位 JS 大佬 https://quick-lint-js.com/blog/cpp-vs-rust-build-times/ 写了一篇博客,将 quick-lint-js 的部分代码从 C++ 迁移到 Rust。我看到他的代码中测试代码的比较,有点吃惊,无论是 C++ 实现还是 Rust 实现,测试代码的比重基本上都在 45% 左右。 - - - -但思考一下,这个量也是很正常的,每一次增加新功能都应该对这部分代码添加测试,或者对核心的功能添加测试。 测试代码的一个好处是可以跟随项目增量添加且测试可自动化。如果一次变更只涉及了新增功能,那么已有的测试代码就不需要更改,结合 pytest, unittest 等测试框架,测试代码的可维护性也是很高的。 - -# Feb 11 -## 持续学习 -《卓有成效的工程师》 -培养成长型思维,不论处于人生的什么阶段,都要保持学习的态度。学习是一种习惯,是一种思维模式,是一种生活态度。 - -- 学习新的编程语言及开发框架 -- 学习市场需求旺盛的技术 -- 阅读 - - 书籍提供了一种从别人的教训和错误中学习的机会,这是一项高杠杆的投资,能够帮助你避免重复犯错。 -- 加入讨论小组 -- 参加讲座、行业会议和线下聚会 -- 关注那些传授技能的博客 -- 为教学而写作 -- 拓展兴趣项目 -- 培养业余爱好 - diff --git a/_posts/2023/2023-04-01-NLP-article-reading.md b/_posts/2023/2023-04-01-NLP-article-reading.md index dbe79b8..2fed72a 100644 --- a/_posts/2023/2023-04-01-NLP-article-reading.md +++ b/_posts/2023/2023-04-01-NLP-article-reading.md @@ -29,6 +29,7 @@ author: berrysleaf 11. [RAG]({{site.baseurl}}/2023/11/16/Retrivial-augmented-generation/) 12. [Step back prompting]({{site.baseurl}}/2023/12/02/Step-back-prompting/) 13. [Tree of thought]({{site.baseurl}}/2023/12/10/Tree-of-Thoughts/) +14. [Prefix-tunning]({{site.baseurl}}/2023/11/19/Prefix-tunning/) ## Candidates diff --git a/assets/progress.json b/assets/progress.json index d0ecf4a..3fc4df5 100644 --- a/assets/progress.json +++ b/assets/progress.json @@ -609,6 +609,6 @@ ], [ "2023-12-22", - 454 + -600 ] ] \ No newline at end of file