三月小记
一点碎碎念
断更的 Streamlit 教程
上一次教程更新正好是一月底,本来打算周更的系列在更到第四篇时差点夭折了。
一方面,第四篇应该是有关用户输入的,所以涉及到的内容非常多,不光是函数多,参数、用法也多,所以想要设计“好”的示例越来越花时间。第四篇以及之后的几篇可能一周写不完有关的函数,所以可预期的事情是,往后的教程会越来越细碎,但我还是尽量保持周更的频率,以原文章后增添新章节的形式进行增量更新。
另一方面,寒假期间有申请的面试,等结果、收拒信的过程确实让我有些焦虑,所以在这段时间里我也没有太多精力去写教程。而且其实对于此前趋于定势的教程模式和简陋的示例,我也有些不满意,所以一直没有动笔写下一篇。
开学后,其实想起过继续写教程,突然发现 Streamlit 在此期间更新了两个版本(1.17 => 1.19
),新功能也比较有可玩性,所以就干脆等自己探索完之后再把教程版本更新了,以及一些其他的断更原因放到最后讲。
申请寄
申请寄了,全聚德了,临时申请了 CS PhD,好在老师人实在是 nice,所以目前也算是大概率有个去处,不幸中的万幸了。
或许也不是一件坏事?毕竟 Bio 方向也确实很少又做图神经网络又做数据挖掘的,感觉可能比去个 Bio 项目轮转做基因组学和生信分析于我而言更有意思一些。
关于博客站
博客肯定是要写的,站点也是一定要翻新了。
目前使用的 Pelican 实在是缺乏社区生态和恰当的更新维护,处于一个能用,但是不好用的状态。导致这个站点中很多小功能(明暗主题、复制代码、图片预览等等)都需要引入其他 js 脚本或者自己手搓一个,一个功能开发几天,一个功能调试几天,最后还是不太完美,而且还有很多 bug,项目结构也七零八落的(各种依赖文件需要打包成一个,然后还有其他现成的 js 依赖之类)。而且 Pelican 本身的文档也不是很完善,很多功能都是靠 Google 和 StackOverflow 以至于 GitHub 才能找到。
出于以上种种原因,我决定换个框架,或者说换个思路,不再使用严格的静态网站生成器,而是使用现代的前端框架来开发博客站。目前暂定的技术栈将是:
- Vue(VuePress)
- TypeScript
- Tailwind CSS
也就是说,以后这个站点本身就将彻底告别 Python 和 Jinja 了,有的框架用的比另外的人多不是没有道理的 😐。
Why Vue/TypeScript/Tailwind?
一开始是接触到 VitePress,然后是看到 VuePress 强大的生态和丰富的文档,一下子就让我萌生了用 VuePress 重构博客站的想法。学习几天 Vue 之后,确实感到了 Vue 的便捷,以及模块化、可复用的组件设计。相信在 Vue 框架下,开发新功能应当会比较轻松。
TypeScript 的选择没什么好说的,毕竟是 JavaScript 的超集,而且我本人也是 TypeScript 的粉丝,所以就直接定了。JavaScript 没法写出可维护性好的代码,但 TypeScript 可以。
Tailwind CSS 是一个比较新的尝试,刚接触时会认为它是一个非常差劲的 CSS 框架,将样式和格式紧密耦合在一起,不利于维护,也违背了 CSS 和 HTML 分离设计的初衷。但是,在接触 Vue 这类框架之后,第一个想到要用的就是 Tailwind,主要还是因为 Tailwind 同样是单元化的样式设计,对于一些中大型的项目而言,给不同组件设置不同的样式,而且需要保证样式的一致性,避免类名冲突,提高可读性等等,综合考虑下来 Tailwind 是最能够让样式和组件解耦的框架了。当然,这也仅仅是我的肤浅理解,需要真的用起来了才能知道。
不知道该写什么的结尾
反正 Life goes on,不管怎么样,三月会更好,祝读到这里的你也生活愉快。
希望女朋友能四月 LawSAT 考 180。
十一月更新:四月考九月考十月还考,总算考了 171,也算是不错了,希望她能申到理想的学校。