源于一直想做个博客系统。实习期间也用过wp,自己弄了个免费空间,注册了个域名www.sunhut.net阳光小屋,域名是从godaddy上注册的。倒腾了几天,不了了之,就几篇测试文章在上面。过段时间访问,免费空间已经不能用了,再后来也不高兴弄了,域名现在也过期了,被别人注册了。后来的毕业设计我选的也是博客系统,但是是从网上找的现成的改改的,当时也是为了应付任务,没有认真去做,惭愧。毕业工作一年了,某天,我又想到这件事,这次决定从头到尾真正的做完,并用起来,顺便还可以作为一年的学习检验。
当然,做一个博客系统并不是很难,但具体实施起来也不是件易事。首先是时间,一般要在晚上抽点时间做,把打dota的时间省下来;第二,就是连续性,每天一点点,甚至还不是每天都进行,整个完成起来就拖得很长,越往后越不想做了。
现在,大体功能已完成的差不多了,写个小结记录下遇到的问题,及如何解决。虽然是个小项目,但真正做起来,我发现很多东西都是原来没有想到的。唉!
下面列出遇到的问题,问题附和着编写程序的步骤写,也方便我总结。
1.域名、虚拟空间的挑选,略讲。域名自己喜欢就好,毕竟不是特殊用途。虚拟空间稳定最重要。我感觉我这个不太稳定呀,被坑了?唉!
2.数据库设计,用户表、文章表、评论表等等,这些表也不是一次定型的,以后还会根据情况增加字段什么的。个人使用,免去了用户需求上复杂的沟通。
3.程序编写,用到asp.net、sql to linq,采用典型的多层架构,model、dal、bll、view,工作中的项目都是这个架构。听说微软已经放弃sql to linq,主要发展entity framework。下面也要学习学习了,还有MVC神马的,MVC用过一次,还是实习时用过,好久不用,都忘了。
4.编辑器的选择,博客最重要的当然是文章的编辑。现在主要的编辑器有:ueditor,xheditor,kindeditor,ckeditor,CuteEditor,markItUp,最后,选择了百度的ueditor,1.2.6版本的配置也比较简单,默认情况直接引用两个js文件就可以了,URL重写后则要修改一些地方。
5. 301重定向,要让daidaiwa.com转向www.daidaiwa.com,使用301重定向必须的。
6. web.config的配置,301重定向和url重写这边都要相应的配置,比如:URL重写,伪静态将aspx结尾的转成html的,不在这配置对html的检测,实际html页面无法访问。
7. url重写,微软有对应的插件,Mircosoft URLRewriter.dll 伪静态,百度以下很多教程。我需要重写的页面就文章详情,也就没用,直接在Global.asax的Application_BeginRequest里写规则,也比较简单。重写后的页面引用的路径要写成绝对路径,包括css里的图片路径。
8.参数管理,为方便文章分类和以后添加其它的东西,参数管理必须的。点击名称进入下一个节点内容,用URL参数传值,传自己的id作为下一节点的parentID查询。
9.留言板数据库设计,针对回复已回复的人,多次循环等,功能还未具体完成。
10.用户留言信息临时保存,参考wp,放在cookie里,一开始还想放在数据库中,呵呵。
11.验证码,这个略过。
12.ajax回复,直接页面回传有明显的闪烁,用户体验差。
13.cookie和session的选择,登录信息放入session中,不知道是虚拟主机的问题还是什么,不一会就丢失,时间也都设置了,在工作中没出现过这中问题。后来,就cookie加session一起使用。
14.keywords、description的添加,对seo好,就用了。
15.分页控件的选择,aspnetpager真的挺不错,作者竟然还是残疾人,汗颜。一直想分页使用URL分页,本来我还以为aspnetpager不可以,就没用,后来听我们头一讲解,原来可以,于是仔细的研究了下。
16.版本控制,svn+网盘,基本可以满足个人用用。
17.url重写导致html无法访问,ueditor上传图片等页面都是html页面,直接无法使用,提示连接失败,一开始还以为是ueditor配置问题,web.config里加完html实际页也可以访问后,上传图片页出现乱码,于是web.config里继续加入utf-8。
18.站内搜索,方法有很多,直接数据库like查询肯定不可以,一般采用google搜索引擎站内搜索,或Lucene.net+盘古分词来实现。
19.还有一些细节问题:页面有的地方table转用div布局;sql数据库清空truncateTable XXX,将id自增长重新开始;一个页面上有两个文本框及以上,点击回车才会执行按钮事件;网站的安全检测。20.了解的其它一些:httpd.ini的配置;用Application[""]来存储一些信息;代码的重用,一次编程,多次利用;索引的使用。
21.待完成:站点地图;微博登录留言;文章分类的添加;找回密码;ajax留言的分页等。
22.一些兴趣:网站数据的捕获分析;微信公众平台
写在最后,感谢我身边的每一位,尤其是我那美丽的香香!哈哈