Hw05 - CS61A of UCB(2021-Fall)

Given a sequence of unique elements, a permutation of the sequence is a list containing the elements of the sequence in some arbitrary order. For example, [2, 1, 3], [1, 3, 2], and [3, 2, 1] are some of the permutations of the sequence [1, 2, 3].

Implement gen_perms, a generator function that takes in a sequence seq and returns a generator that yields all permutations of seq. For this question, assume that seq will not be empty.

Hw04 - CS61A of UCB(2021-Fall)


Implement the planet data abstraction by completing the planet constructor and the size selector so that a planet is represented using a two-element list where the first element is the string 'planet' and the second element is its size.

从问题的描述中我们可以知道什么是 planet. 就是一个长度为 2 的 list, 内容是 ['planet', size]. 可以参考 mobile 函数, 这两个函数的代码是很类似的

How to Manage Windows Using Hammerspoon


虽然 macOS 自带窗口管理这个功能, 但是实际上是用下来发现还是很难受的. 功能不足以满足自己的需求. 所以我常常发现自己在用鼠标拖动窗口和重新调整窗口大小. 长此以往, 我觉得这样效率实在太低, 恰好前阵子在看 MIT-Missing-Semester 的课, 里面提到了 hammerspoon 这个工具. 我去稍微了解了一下发现这工具真的不错.

怎么 debug Python 代码

PS. 有兴趣的可以查看我翻译的一个项目 - pdb 教程 🙌

很长一段时间内我写代码都是用最简单的 debug 方法, 手动在程序里面插入 print 代码来看具体的变量的值, 然后自己推断程序到底是在哪里出问题。根据 print 的结果可能还要到别的地方重复这个步骤。debug 完之后还得去把这些 print 语句注释掉,即我是一名 print debugger 😢

Git LFS 使用指南

如果你在命令行用 git push 添加或更新 $>$ 50MB 的文件,你会收到一个 warning,不过你仍然可以正常 push。但如果 $>$ 100MB 的时候就无法 push 了。如果你是在浏览器要上传文件的话,这个限制更为严重,不能超过 25MB,这是 GitHub 对仓库的限制。Git LFS 就是用于解决这个问题1