微信搜【吴亲强的深夜食堂】,分享一些奇奇怪怪的设计,领取多多少少的 go 资料
今天偶然看到这样的小程序。
[](https://cdn.learnku.com/uploa...
[
](https://cdn.learnku.com/uploa...
虽然我一直使用苹果自带的。但是我记得我刚学 go 的时候写过类似的工具,索性看看项目还在不在,终究是找到了。
看了下代码,之前写的有点粗暴。也没有用上开源的一些组件,数据库是直接原生的,路由也是,都是很简易并且粗暴的实现。
之所以一开始不用啥组件,是因为开始学的时候不要过度依赖工具。大佬经常会说的一句话是:不要重复造轮子。
这句话是对的。
但是大佬还有一句话没说,他们知道轮子的底层原理,他们已经造了很多轮子,实在过于真实。
会用和懂原理是两回事。所以在用一些轮子的时候,最好保持自己的好奇心,去探寻它的底层原理,去学习它底层的源码。这样出 bug 的时候你也能更好的定位问题。不是开玩笑,这是很现实的东西。
好了,回到正题。现在我们要实现一个提醒功能,但是我们不写小程序,也不写页面。具体咋么操作呢?很简单,在公众号后台输入时间以及对应的联系方式,然后在指定的时间我通知到你,比如
[](https://cdn.learnku.com/uploa...
[
](https://cdn.learnku.com/uploa...
这个需求不大吧。
那这样一个需求会涉及到哪些东西呢?微信那些配置就不说了。其他比如任务的消息要存储吧,那么就要和数据库打交道,CURD 逃不了吧,再用一些类似 GORM 这样的集成工具。
通知得做吧,如果是短信,还要接三方运营商吧。数据库配置,三方配置这些配置得有地方存吧,是存在文件里,还是更高大上一点的工具,比如 ETCD。任务取出来咋么发?出错了咋整?日志咋么记录……
这样一列出来好像是有一点点东西。从 0 到 1 的项目就从这个小需求做起吧。后续慢慢加大项目的难度。这个系列预计两三篇左右写完。
如果文章对你有所帮助,点赞、转发、留言都是一种支持!
有疑问加站长微信联系(非本文作者)