写了一个基于golang的博客系统
文章目录
【注意】最后更新于 December 12, 2018,文中内容可能已过时,请谨慎使用。
最近这段时间,把所有的空闲无聊时间都利用了下,通过使用gin框架,开发了自己的第一套博客系统。
为什么想要开发自己的博客系统呢?主要是闲的。
不开玩笑,主要是使用了typecho很久了,现在的博客系统也是使用的typecho建设的。然后用着感觉很不错,想想自己虽然一直说非常喜欢敲代码,但是一个完全自己独立做出来的项目都没有,有点心虚,就从头好好做一个吧。
在之前学javaweb的时候,学到ssm那块,当时就有点心动了,就想做了,结果github上建了个repo,就不了了之了。这次给几个同学说,咱们一起来做吧。相当于有一点来自同学的压力,可以努力的做下来。
当时由于写的太差,在GitHub上一直是私密仓库,但是看着从最开始的一个commit,到今天完成的76个commit,心里面还是充满了成就感。可惜的是GitHub的活跃不显示。很痛苦。
等到这个项目测试通过后,把私有仓库一删,重新建立一个公开的项目。希望大家可以去看一看,如果感觉有改进的可以通知我呀。
再说一些心得,这次算是我从头到尾做完的一个项目,很不容易,因为我写代码总喜欢半途而废。而这次有同学催着,然后没事的时候给女朋友汇报下进度,不知不觉就坚持了下来。
有的时候写代码真的写的头疼了,正好跟女朋友聊一会,感觉就能重新恢复精力,能够继续做下来了。
这个完整的项目真得要好好感谢下我女朋友一直以来默默的给我的鼓励。
好了,秀完恩爱,在说一说技术上的收获。
这次写的时候,技术选型很迷。最开始的时候我想着用纯golang来写,不用框架,结果后来发现别人用库做的很好,就忍不住,推倒了部分代码,改用了gin和gorm。 结果用了一天,发现gorm的关联表我用的很晕,官方的文档介绍的也不过详细(我才不会说是我mysql不好)。好吧,那就换成纯sql。
在这个时候,项目已经进行一半了,我这瞎折腾的能力有多强吧!还好,当时项目整体的层次结构已经做好了,我只需要修改dao层就好了。虽然话是这样,但也是不小的工作量!
后来,我发现我也没必要用gin,用远程的http也完全能应付我这些业务逻辑,还好打消了这个念头!要不然还真不知道要改到什么时候!
当时在写纯sql的时候,我发现一直动手写好麻烦,怪不得别人都喜欢用框架,简单呀!
于是,我也做了一个简单的封装,反射做了一部分插入和新建,然后其他的都用map来实现动态修改!
无论如何,也算满足了我大部分的需求。
由于我是完全参考我现在的typecho来做的,所以界面上没有太多不同的,内在的业务逻辑我也不知道有多大区别!
但是,我现在才发现,为什么有一些人喜欢用php来写web,是真简单啊!我使用golang,前端想要实现一个函数,还得手动传入函数,弄不好还报错。
但是这次写完,对golang的主要函数库都有了一定的了解,目前可能还差携程以及通道那块了解的不够深。以后再深入学习吧。
最后,欢迎大家对我的博客系统提出意见,很多问题是一定的,只是得慢慢找时间来改。
git地址是GBlog!如果大家想要测试的话,可以直接下载bin里面我写好的,直接运行就好了。
默认端口是701,是我和女朋友的纪念日。想不到吧,最后又来了个狗粮!