翻看两年前的代码
2024-11-02go
现在又开始试着用 Go 写一些小东西。于是买了一个 Web Development With Go 的教程。视频教程的标价是很贵的,于是犹豫不决。看来看去之时,翻到页面最下面,发现还有一个只卖电子书的选项,才 60 刀,于是果断下单。感觉这门课的主创真是定价的人才。
买书之前觉得其实不用任何教程,一边用 ChatGPT 一边看文档,照样可以做出自己想做的东西来。但实际做起来,才发现要收集、整理的信息是很庞杂的。自己通过不断试错、get your hands dirty 还挺花时间的。
而且有可能会犯自己意识不到的错误。
比如看这本书里的代码,发现他很 unorginal 地用了 MVC 架构。(但是 uoriginal 是有 unorginal 的好处的,就是整个东西会更 predictable 一些。)所有接触数据库的代码都在 models 里,数据库连接是在 main 函数里创建的。每次读写数据库,都是把数据库连接传到 models 函数里。数据库连接一直到程序退出才关闭。
然后想起两年多以前写的 Go,发现自己是在每次查询的时候,连接数据库、查询、关闭连接。每查询一次,就要这么折腾一下。当时怎么没意识到打开、关闭数据库是很 expensive 的。
当时还困惑,为什么每次打开某个页面,列出来的数据总是少开头的两行,有可能就是某次查询的时候数据库喘了……
看来这两年其实没白过吧。