搭建我的博客 工做记录css
打算搭建一个我的博客html
对于我的博客,首先咱们要选好开发框架(express,koa等),模板引擎(ejs,jade等),数据存储(mongoDB等),把这三点肯定后能够着手开发。前端
一开始,我选择express,ejs,mongoDB来开发个人博客,至于几种框架和引擎的比较我暂时忽略,不纠结那么多,先上手再改良。node
接下来搭node.js,express环境,这些比较简单,网上有不少博客能够参考,此处略。css3
搭完环境并测试成功后咱们能够着手开发了。开发以前,要先了解搭建一个博客须要什么,打开一个网址,首先就是url解析,对应到博客来讲,就是要配置好入口,展现博客的首页,关于页面的跳转和请求的处理,就涉及到路由的控制了,因此你须要一个路由模块来处理这个问题。对于多用户的应用,还须要作页面权限控制,简单来讲就是使用某些功能时须要提早验证当前用户的身份是否合法,好比发布博客时用户须要先登陆,取得身份信息,到时候发布的博客才能归档于这个用户之下。又好比,一个用户在修改本身信息的时候须要先验证身份,不然就可能致使误修改或者恶意修改。跳转和权限作好了,咱们就考虑页面显示了,个人理解呢,动态页面就是在服务器渲染的页面,便是服务器端将页面构建(如填充数据)好后传给浏览器显示出来。这些待渲染的页面须要咱们配置好渲染引擎,到时候服务器才能根据引擎正确构建页面,全部的待渲染页面放在一个文件夹里,方便管理。解决了页面的问题,接下来就是读取博客内容了,博客内容存储在数据库里,因此要对数据库进行操做,建一个数据库操做模块来处理它。至于博客的部署,须要指定博客的访问网址和端口。数据库
补充完上面的博客搭建常识以后咱们能够进一步的思考一个博客还须要什么。除了功能以外,我更注意的是博客的安全性。刚开始打前端的时候作过一个网页应用,上线后被学校搞网络安全的人吊打了,那时候彻底没有网络安全的意识,超级狼狈,还好那个应用没有什么了不得的隐私信息 - -b。首先是路由的隐蔽性,在作页面权限的控制时,要防止绕过页面控制直接访问路由的状况。由于咱们的html和js代码其实都是暴露的,按个F12改个a连接就有可能对咱们的应用作出危险的事,因此要记得处理这种状况。还有的就是防止恶意请求,前端能够作一些限制单位时间的请求次数的逻辑,过滤掉一部分低级的攻击。至于高级的...先去转个锦鲤之后看多点网络安全的书吧T T。对于多人应用来讲,存在登录时的密码传输问题,这时要记得对密码加密后再传输,不要让你的用户名和密码在网络上裸奔。//安全的部分待补充express
排在安全性后面的是性能的问题,学了那么多性能优化的规则,要见缝插针地多多实践啊,我的博客涉及的性能优化可能很少,主要是文章加载,图片显示,列表缓存。我想暂时也没有人会在国外访问个人网站,因此dns的优化就不用理了(也离不了)。文章加载若是是常见的翻页显示倒不须要考虑太多,但若是说像微博或者微信朋友圈那种流式动态加载(我本身想的名字..),就能够考虑懒加载,监听滚动条来加载须要的文章,同时已经加载过的文章,在同一页能够进行一些缓存,这样在用户回溯时看着比较流畅。至于图片的显示,我打算在它未出如今屏幕时都不加载,等到须要它了再加载,这里能够用src属性的替换来实现,未加载时src真实的值放在另外一个无用的属性里,要显示的时候在替换过来。列表缓存是处理分类列表,由于我想在分类列表那里作一些效果,若是每次显示列表都要去服务器请求,这样在有一些动态效果的时候可能不太流畅,因此在页面加载的时候吧显示列表的内容缓存起来,以后读缓存就很快了。另外,能够用css3的就不要用图片。浏览器
再接下来的是页面装饰啦。须要本身作一些设计,个人博客比较简单,没有作太多的装饰,也适合我如今的时间安排。缓存
先写到这里,还有不少,我一边搭博客一边补充吧,有一些想法可能还很肤浅,等我逐步改善。安全
附录:
我的博客目前进度,能够用markdown上传图片发表文章啦\ ^q^ /