用PHP开发自己的独立博客(一)——概述
开篇废话:因为重新回归朝九晚五的生活,于是就想开始写技术博客,当是做技术文档了。于是试用了各类博客,CSDN、cnblogs都还不错。简单试用了一下,说说各自的特点。
CSDN的界面不能定制,使用默认的各类模板基本上还算可以。就是打开的时候要加载很久,可能因为引入的资源文件太杂乱了吧。CSDN的文章收录要比cnblogs好像要快很多。
cnblogs可以自己设计模板,添加CSS和HTML。但是界面需要花很多功夫才能修饰好,如果不修饰就特别简陋。cnblogs的加载速度没的说,秒开。所以最后斟酌了一下,还是有点难以取舍,干脆两个都注册了账号。到时候两个同时更新就好了。
之所以最后自己开发博客,是因为平常有一些小的想法,总想写出代码跑一下,验证一下。于是就有了这个博客。比如最近研究神经网络的算法, 就想试着做一个博文推荐的系统。前一阵开发邮箱,就想把自己的邮箱地址写在每一篇博文里,让发垃圾邮件的人抓取到,从而验证我开发的邮件系统的垃圾邮件过滤算法的效果……
打开速度的问题:
个人博客的业务逻辑是很简单的,无非就是发文章、阅读文章、编辑分类、评论等等。之所以谈架构,是因为前两天用CSDN都快卡哭了。所以就想研究研究博客类网站如何每个页面都秒开。
第一,页面尽量静态化。当数据库庞大后,如果每打开一篇博文都要查数据库读出来,还是读取分类、评论等等。比较浪费资源,所以可以将整个页面或部分页面静态化。
第二,页面内的资源使用CDN。简单,但是很有效果。
第三,访问量大的,数据库查询要做缓存,做延迟更新等等。比如文章的阅读量等,可以攒够十次再提交一次数据库更新。
因为本博客访问量尚小,所以暂时先不考虑上面提到的方法。
博客结构:
博客大的模块要分为后台和前台,后台的每个操作都要验证是否登录,里面包含了对文章、分类的增删改查操作。前台主要就是展示的作用了。为了快速开发,通常都要使用一些MVC的框架来规则化开发流程。我们这里使用的是ThinkPHP。
前端的框架可以让你快速开发出美观的界面,我们这里采用的是bootstrap。
JS框架使用的是Jquery。
本文是一个系列,教你手把手用PHP开发一个博客出来。下一篇将正式带您开始开发!
用PHP开发自己的独立博客(一)——概述的更多相关文章
- iOS开发个人独立博客收集
如今国内技术博客站点有非常多,如CSDN,CNBlog,ITEye等.论坛的话主要是要cocachina. 这里是我收集的iOS开发个人独立博客,文章用搜索引擎比較难搜到,都是牛人: OneV's D ...
- Android应用开发-小巫CSDN博客client之嵌入有米广告
Android应用开发-小巫CSDN博客client之嵌入有米广告 上一篇博客给大家介绍怎样集成友盟社会化组件,本篇继续带来干货,教大家怎样嵌入广告到应用中去.小巫自称专业对接30年,熟悉各大渠道SD ...
- 独立博客网站FansUnion.cn操作2多年的经验和教训以及未来计划
今天,我把运营了2年的独立博客站点FansUnion给"归零"了. 2012年6月.我成功搭建了自己的博客站点FansUnion.cn,这是因为自己的不懈努力和时代发展成就的 ...
- 使用 GitHub, Jekyll 打造自己的免费独立博客
使用 GitHub, Jekyll 打造自己的免费独立博客 GitHub是一个代码托管网站,现在很多开源项目都放在GitHub上. 利用GitHub,可以让全球各地的程序员们一起协作开发.GitHub ...
- 欢迎访问我的独立博客 tracefact.net (2019.1.30)
欢迎访问我的独立博客 tracefact.net 长期以来,我都同时维护着两个博客,博客园和 tracefact.net,感觉有点分散精力,所以博客园以后不再每篇文章都同步更新了. 我会挑个别比较好的 ...
- 使用 github Pages 服务建立个人独立博客全过程
你是否有这样子的需求,只是想简单的写写文章,记录下自己的学习心得.成长经历等,都是些文字内容,不需要配置使用数据库.不想购买服务器自己搭建站点,只是想安安静静的用比较舒服的方式来写篇文章. 静态博客就 ...
- hexo干货系列:(一)hexo+gitHub搭建个人独立博客
前言 一直想要一个自己的独立博客,但是觉得申请域名+服务器的太麻烦了就一直没有实现.偶然机会发现Hexo这个优秀的静态博客框架,再搭配现在流行的gitHub,简直是完美写博客的黄金搭档(免费+方便). ...
- 独立博客网站FansUnion.cn运营2年的经验和教训以及未来规划
今天,我把运营了2年的独立博客网站FansUnion给"归零"了. 2012年6月,我成功搭建了自己的博客网站FansUnion.cn,这是由于自己的不懈努力和时代发展成就的 ...
- 微信群打卡机器人XiaoV项目开源 | 蔡培培的独立博客
原文首发于蔡培培的独立博客.原文链接<微信群打卡机器人XiaoV项目开源>. 5月21日,在米花(后面" 亚里士多德式友谊"专题会提及)的影响下,决定搞个私人运动群,拉 ...
随机推荐
- struts1与struts2的差别
Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架.其全新的Struts 2的体系结构与Struts 1的体系结 ...
- Android.mk文件解析
一.一个简单的Android.mk文件例如以下: LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := nativ ...
- StringBuffer疑问
为何结果为AB.B? public static void main(String[] args) { StringBuffer a=new StringBuffer("A"); ...
- 2016/1/1 运算符 笔记整理 接2015/12/30 Java 语法
④运算符 1,赋值运算符:实现从右向左的赋值,符号= 2,算术运算符:符号 + - * / %(求余或求模),结果自动转成最大的 类型,自动升级. 3, 比较 ...
- 【hdu3544】 Alice's Game
给一块n*m的巧克力,Alice只能垂直切,切成A*m和B*m,并且A+B=n,Bob只能横切,只能切成A*n和B*n,并且A+B=m. 对于n*n的这种巧克力,谁先切了第一刀,就直接让对方有切两刀的 ...
- 简单脱壳教程笔记(7)---手脱PECompact2.X壳
本笔记是针对ximo早期发的脱壳基础视频教程.整理的笔记.本笔记用到的工具下载地址: http://download.csdn.net/detail/obuyiseng/9466056 简单介绍: F ...
- 【POJ 1470】 Closest Common Ancestors
[题目链接] 点击打开链接 [算法] 离线tarjan求最近公共祖先 [代码] #include <algorithm> #include <bitset> #include ...
- linux线程相关函数接口
以下内容转自网络 索引:1.创建线程pthread_create2.等待线程结束pthread_join3.分离线程pthread_detach4.创建线程键pthread_key_create5.删 ...
- Python 常用算法记录
一.递归 汉诺塔算法:把A柱的盘子,移动到C柱上,最少需要移动几次,大盘子只能在小盘子下面 1.当盘子的个数为n时,移动的次数应等于2^n – 1 2.描述盘子从A到C: (1)如果A只有一个圆盘,可 ...
- 前端性能调优Gzip Filter
转自:https://blog.csdn.net/zxk15982106569/article/details/18922613 客户端向web服务器端发出了请求后,通常情况下服务器端会将页面文件和其 ...