写在个人博客改版之后

1.前言

从17年3月到7月,用了若干周末和晚上时间,经历多次重构终于把我的个人博客改造了一番。捣鼓了一些新的技术,改善了架构,接入一些项目质量方面的服务,重新划分了博客内容的栏目,这里稍微做个总结。

2.架构设计

改版之后整个网站架构。

2.1前端

前端我之前用的是Bootstrap+Freemark模版,现在跟进前端技术栈做成了大前端,从后端MVC直接跨越到了前端工程化。

这里我选用了NUXT,这是一个基于Vue.js的通用开发框架,前端开发更加快速,特别关键的是内置SSR(服务端渲染),以应对异步场景下的SEO,而之前博客因为异步加载导致在被搜索引擎收录时内容出现缺失。

编辑器用的是国人写的一个Markdown编辑器Editor.md,真心做的不错。

2.2后端

后端仍然是java体系,没有用Node搞JS全栈。将原生的SpringMVC改成了Spring Boot, SpringBoot技术栈的确比原生的Spring开发要顺手。

数据库就是常见的MySQL。

2.3二级缓存

缓存用了服务端+客户端二级缓存。

因为服务器配置低,而且博客更新并不频繁,后端用Google的Guava cache 做了一级缓存,减少数据库查询。

同时因为服务器带宽不够,所以基于H5的localstorage做了一层浏览器缓存:lscache,减少重复请求。

2.4其他

搜索是直接用Lucene写了个工具类,这块代码比较烂,有时间重构。

为了推广,所以文章除了发在本站,还同步发到了博客园和开源中国,当然不能每次手动发,所以研究了下MetaWeblog api,这是一个通用了博客api,很多网站都支持,每天用定时任务推送省事很多。

图片文件的管理安装了FastDFS的单机版。

Nginx在服务器上除了做反向代理之外,还用来Https化,用的是免费证书Let’s Encrypt。

3.项目管理

虽然是自己搞着玩的项目,但一些项目质量管理的东西还是得有的。

除了Git,Maven类的版本控制和构建工具外。

Travis-CI做了持续集成,之前是自建jenkins,但服务端配置太低,有点带不动了,这个在线的持续集成服务很不错.

sonarcloud,Sonar是一个非常有名的代码质量管理平台,它也提供了在线服务,并且与Travis-CI集成。

Codecov也能查看代码覆盖率,也能直接与Travis-CI集成。

发布的话之前用Jenkins可以接入Github hook自动构建发布,现在改为一键部署的Shell脚本了。

以上就是个人网站的技术体系了,几乎可以称之为全栈了,一个普通的网站大体的技术体系差不多就是这样,技术栈可能不会有这么新,只是复杂度比博客网站高罢了。

不过这里就会存在一个关于技术能力成长的思考,我们应该成为全栈还是领域专家?

4.内容划分

博客内容划分首先是按栏目划分成了四个,深度,广度,心悟,业余。

然后再打上具体标签。

深度,自然是与技术专业相关的东西,这也是我的工作主业。

广度,最近一直在寻求在通用能力上的增长,比如沟通,写作,演讲等,也有了一些收获,后面的文章会慢慢写出来。

心悟,让我们来谈谈人生经验。

业余,记录旅行之类的痕迹,准备做个酷炫的相册。

所有的这一切,都源于对构建自己能力与知识体系的思考,新的旅行又开始了。

作者:初龙

原文链接:https://chulung.com/article/written-in-the-personal-blog-revision

本文由MetaCLBlog于2017-07-19 09:01:00自动同步至cnblogs

本文基于 知识共享-署名-非商业性使用-禁止演绎 4.0 国际许可协议发布,转载必须保留署名及链接。

posted on 2017-07-16 09:00  初开  阅读(430)  评论(2编辑  收藏  举报

导航