这个网站日记1
个人网站开发总结
序
从八月份完成部署的1.0。0到目前经过2次重构,版本更新到1.0.5,慢慢的丰富的许多有趣的功能。 为之后功能的陆续上线,也需要开一篇文章用来总结1.0.5前的“版本日记”了。😭
开端
开发
在蓝图中,个人网站属于非常正经的Blog博客一类。 它必须搭载博客的通用功能:发布博客、查询、根据Tag、Type、TypNav分类、管理所有内容。 所以在项目的前夕,是简单的CRUD操作,没有深度的校验和特殊的规则。 两个星期,包括前端页面X2,Blog-html-face和Blog-html,以及后端Blog就完成了初版代码。 接下来就是上线部署问题。
上线部署
因为没有实操域名部署的知识,所以需要不断的翻开各种文档、问答等等。 最终敲定部署技术栈: Jdk8+Nginx+Tomcat+Mysql+Redis+腾讯云[轻量应用服务器]。 除了jdk、mysql、redis这些简单的工具应用,影响最深的就是与服务器的斗智斗勇。😷 服务器部署 说道服务器的问题就是两点:域名、备案。 首先是找了很久的备案信息填写问题:公安备案 然后就是域名的各类证书的在服务器上的搭载。 这些多好说,网络上大把的流程资料可供查看。所以是像傀偶一样牵着走着就完成了。
nginx应用 因为不是前端人,所以对nginx的了解仅限于初识阶段。所以很多很多的属性,和其字段的应用都无法只通过文档合法使用。 还好,nginx部署并不是一个冷门的知识。所以很快的就找到了相关的部署视频,配合文档食用。在搞懂了server、location、listen...等字段意义后。就完成了前端请求在服务器内部的转发了。 不过关于SSL证书[https]的搭建实在过于难理解,索性根据腾讯云提供的安装指南一键完成了。在nginx中
server {
listen 443;
server_name www.leyuna.xyz;
ssl on;
ssl_certificate etc/1_www.leyuna.xyz_bundle.crt;
ssl_certificate_key etc/2_www.leyuna.xyz.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
}
server{
listen 80;
server_name www.leyuna.xyz;
rewrite ^/(.*)$ https://leyuna.xyz:443/$1 permanent;
}
锁定80以及443端口的转发,就解决了https证书的问题。好含糊的感觉。 Tomcat 最后就是后端的上线,这步比较简单。因为tomcat配置的简单性,只需要开放对应的端口需求就行。 不过也是在这里,没有注意到文件传输的限制。到开发云盘后,就出现了对应的bug。 这点在以后的项目设计蓝图中需要注意到。
启航
在一个类博客网站的功能完成后,就可以最低限度的完成 写博客 - 看博客的任务。 所以就从基类功能出发,开始不断的补全博客功能。
- Markdown编辑器[发布博客]的优化,这里包括文件的处理[图片]。
- 博客下的评论功能[1.0.2]的功能,也是衡量一个博客好用的重要标准。
- 站内搜索引擎[因为知道like在数据库中的低效性,索性直接学习新技术:Lucene搜索框架]
- 查看博客的优化[非常非常心累的美化😭,和目录导航的处理]。全是前端知识,那个时候真感觉有点头大,还在都一一处理完成了。
- ...
在这个阶段,每一个功能都不同于博客的基本功能,在平时使用网络时有需求经验的积累。 所以也开启了蓝图->需求分析->定义结构->开发 的流程习惯。 个人感觉有许多亮点,比如很强大的站内搜索引擎、完成体的博客评论等等...
杨帆
之后就是1.0.3到1.0.5的慢时代阶段了。 为什么说慢呢,因为随着代码量的增加和功能点的增多。以及对blog的精力注入,发现当前代码模块很难兼容往后的功能点。 所以就有了四次重构: 第一次,将单模块拆分为多模块 第二次,加入微服务体系 第三次,加入exe、e,domain,领域对象、指令概念 第四次,代码解耦,细分功能。 每一次重构都带着很大的勇气与耐心,但也很难一步走完,因为更好的永远的后面,所以只能耗着耐心一点点的完善。
除了重构,还加入的两个新功能。 随着微服务体系的到来,开发的自开发云盘,据我朋友总结:挺好用的[我也这么觉得]。 自开发云盘完成后,就再也不用担心一些资料的丢失或是无法从一天电脑将某些资料移到另一台电脑的复杂步骤。 只要有网就可以通过自己的云盘完成文件的保存和下载啦。
除此之外,因为慢慢在自己网站上写博客的增加,所以体验到了某些功能的缺失**:表情包**!!! 所以开发了emoJi和表情包上传和使用功能。
最后
人们总说,一半就是开端[我编的]。所以1.0.5到2.0.0只有5个小版本的时日,而未来的蓝图也慢慢开始展开绘画。 所以这个现在看起来很不好的网站,在今年肯定会变的好看[爆发吧,我的审美]。