本篇内容会有些长,希望各位看官可以认真的阅读下去,我相信肯定会有收获。
写在前面
蝴蝶眨几次眼睛,才学会飞行,夜空洒满了星星,但几颗会落地。 --你不知道的事
蝴蝶眨眼睛?星星会落地?当然很多人会认为这是无稽之谈,但是有些人却认为这是一种自身的情感表达,有些事不是说的明白,就明白,说不明白就不明白,伯牙和子期就是如此。从本篇开始,请跟我一起走进:你所不知道的事-我的建站始末。
很多人写自己的项目或是框架,会分很多篇来分析总结,我觉得没必要,还是化繁为简,多写一些精华的东西反而会更有效,但也不是随便写写就可以的,就像第一曲-准备篇,其实在两个多月之前就开始准备了:
为什么到现在才开始写第一曲,因为准备的不够充分,其实我觉得现在准备的也不是很充分,很多人会觉得不就是建个站吗?一个准备工作为什么还要搞这么久?准备工作花的时间,我都可以建好几个站了。关于这个问题,这边就不做过多解释,如果你能接着读完整篇文章,或许你可以从中找到答案。
为什么要建站?
如果大家去看本人最近这段时间写的博客,会发现都是一些理论的知识点,最多也就是根据理论结合技术搞个小Demo,没有针对具体的业务场景来写一些东西,也就是具体的项目,下面摘自一位园友在某一篇博文中的评论:
关于知识点的整理,其实都是在计划中,这也就是建站的目的。为什么要建站?可以这样说明:就好比驴友骑行去西藏,其实到达西藏不是目的,而是骑行的过程,并享受其中,以此为快乐。建站的目的就是如此,建站不是目的,建站的过程才是目的。
一开始计划建站是博客建站,因为业务比较熟悉,而且可以随意按照自己的想法去扩展,复杂的业务场景构建不出来,只能用些简单的业务去描述。这个“博客站”只是作为自己的“试验场”,可能并不会真正的去应用,它只是作为技术的“试验”,比如有一些好的技术点或想法,就会加到其中,以供自己去摸索。关于博客维护,上面也说了,“博客站”只是一个“试验场”,本人也只会去维护博客园中的文章。
其实在去年的时候,就一直有个想法,想搞点东西做做,一开始的时候就去网上接一些单子去做,但是后来发现,接单子做其实没什么意思,一是感觉学不到什么东西,客户改需求也比较烦人,二是时间成本和回报不成正比,所以后来就不再接单子做了。过了一段时间有同学说想搞个商业项目做做,但我觉得也只是说说,毕竟刚毕业,技术和经验都不行,肯定搞不了。再后来就思考了很久,接下来的路该怎么走,既然选择了编程这个行业,自己也蛮热爱的,就要一直坚定的走下去,菜鸟怎么蜕变成大牛?不是靠别人,而是靠自己,一步一步的去学习,去进步,明白了这个道理,也就有了下面这个建站计划,这也就是建站的目的,你懂得。
建站计划
2014-03-01-------2014-03-09
- 熟悉wordpress,学会其建站过程,并在主机创建demo
- 收集一些wordpress的模板
- 写一篇关于wordpress建站的文章
(完成:95%)
2014-03-10-------2014-03-16
- 熟悉git使用,并在vs配置
- 写两篇关于git配置的相关文章
- 在github创建xishuai项目
- XiShuaiUI前端前台界面设计,创建和实现一个前端前台的简单Demo
(完成:100%超额哦
补充:添加左部div悬浮效果;
前端前台调整。
)
2014-03-17-------2014-03-23
- 完善XiShuaiUI,可以用于开发的前端前台html
- 学习easyui,并创建前端后台html
- 注册gravatar,实现一个配置使用的Demo
- 如果可以,写一些关于gravatar/easyui的使用配置的文章
(完成:80%
补充:首页添加canvas颗粒js效果;
灵感部分页面,及摄影单车页面布局颜色调整;
计划有误,实现有误,第二步没完成(下周完成)。
)
2014-03-24-------2014-03-30
- 学习easyui,一步一步创建一个简单新闻发布后台系统demo(asp.net、ef)
- easyui集合kindeditor
- 完善新闻发布后台系统demo(mvc、ef)
- 1、2、3完成各写一篇相关文章
- 学习设计模式第五篇-控制反转(ioc),完成文章编写(不能偷懒)
(完成:90%
补充:这周任务较重,加油哦;
额外学习Code First;
新闻发布后台系统Demo,改成用户管理Demo(mvc、ef),放到下周;
设计模式学习放到下一周,不是不写,而是实在写不出来;
)
2014-03-31-------2014-04-06
- 完成用户管理Demo(easyui、mvc、ef)
- 写一篇用户管理Demo相关文章
- 学习设计模式第五篇-控制反转(ioc),完成文章编写
- 了解ioc相关技术点,比如:依赖注入
(完成:70%
补充:这周主要学习设计模式及相关技术;
不了解则至,一了解则。。。
)
2014-04-07-------2014-04-13
- 初试MVC API文章编写
- 学习隐式类型、Linq、lambda、控制反转/依赖注入
- 学习老子(道德经)
- 如果有时间写一篇道德经中的程序人生
(完成:60%
补充:这周主要是编程思想的学习;
)
2014-04-14-------2014-04-20
- 继续上一周的2、3
- 主要学习控制反转/依赖注入
(完成:80%
补充:虽然了解的不是很深,但是主要任务完成了,后面加深学习;
)
2014-04-21-------2014-04-27
- 学习.Net中Repository概念
- 学习Entity Framework之领域驱动设计实践-系列
- Dto,Automapper
- 道德经
(完成:70%
补充:学海无涯苦作舟
)
2014-04-28-------2014-05-04
- 学习Entity Framework之领域驱动设计实践-系列
- 道德经
(完成:60%
补充:因有51假期,时间耽误,初步完成Automapper学习
)
2014-05-05-------2014-05-11
- Entity Framework结合Automapper
(完成:80%
补充:有待深究
)
2014-05-12-------2014-05-18
- Entity Framework之领域驱动设计实践-系列
- 初试UnitTest-单元测试
(完成:60%
补充:单元测试及NUnit初步学习完成,EF之DDD放在下周继续学习。
)
腾讯云最新服务器活动--云服务器免费送。
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>分割线<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
上面建站计划部分内容来自GitHub(下面有说明)中的“建站计划.txt”文件,因为有计划,这样才会去督促你去完成,每周的建站计划是每周一写-本周计划,后面那个完成度和补充会在每周日做-本周总结,这些内容写完都会提交到GitHub中。如果这周真的没有去按照计划去完成,自己周末写的时候也会不好意思,所以必须得强制去要求自己,这样才会有所效果,从三月一号开始到现在,差不多两个多月了,我自己觉得效果还是蛮好的,至少让自己充实。
关于建站计划实施,有的写了一些文章,但是也只是一部分,有的并没有归纳在这个Tag标签中,比如一些框架知识。写博的好处就是如果你不懂的东西你不会写出来,如果你想要写出来,那么你一定要把它搞懂,所以也是一种强制性的学习,但这种方式我还蛮喜欢的。
其实从上面这个Tag标签就可以看出一些建站计划的影子,比如:Wordpress->js/css->Windows配置Git->VS配置Git->Gravatar->JqueryEasyUI->EF CodeFirst->MVC.....
一步一个脚印,重要的是脚印,就像上面的每一个节点,有人可能会说:我上班没有时间去做这些,去学习。但是时间就像海绵里面的睡,挤挤总会有的,如果去掉逛淘宝、逛街、追剧、玩游戏、还有一些无用功等等,时间其实还是蛮多的,有人说:除了上班,我不写代码。虽然这是一种健康的生活方式,但是我个人觉得,既然选择了做程序员,就要去热爱它,现在年轻就多做些事,不要让未来的自己恶心现在的自己,就像个人签名所说:编程不只是工作,而是所热爱的一切。
前端总结
先贴一些博客站部分截图:
one
two
three
博客站的原始模板是我在学习Wordpress的时候,无意间发现的一个模板,觉得还蛮小清新的,就拿来改改,但是是Wordpress模板,所以都是一个一个浏览后另存为修改的(花了很多时间,你懂的)。因为本人使用此模板不做商业用途,只是研究学习之用,希望作者看到不要见怪。这个只是原始模板,后来添加了很多的模块:比如首页加载的“canvas”效果(从园友做的示例修改而来)、灵感模块(包含动态、音乐和电影)、摄影模块、单车模块、图片3D浏览等等。
关于博客站的前端基本上是完成的,还有一些小细节需要处理。建站计划重点并不是前端,我也不是前端工程师,只是做一个自己可以看得过去的页面就行,关于前端知识:比如JavaScript、Jquery、Css、Html等等,我觉得对于程序员(非前端程序员)来说,只要熟悉就好,如果遇到一些问题,知道怎么去简单修改和设计,并不需要精通。
还有一些关于DDD和设计模式的这边就不列了,等到下篇(框架篇)再深入探究,当然还有一些其他知识点没有写博文记录,也没办法和大家分享了,这也就体现出写博文的好处了,所以以后还是多写点博文,多总结些知识点,利人利己啊。
域名和服务器
先说域名:xishuaiblog.com,在万网(阿里云旗下)注册的,现在正在备案中,需要半个月的时间审批,所以现在只能通过外网IP访问。关于万网的备案流程,我个人觉得还是蛮好的,一步一步来,备案起来很简单也很方便。
域名为什么是“xishuaiblog.com”?其实准确的说为什么是“xishuai”?这个代号源于我的QQ昵称,大概7年前从我一个老表那要来的一个QQ,昵称就是“蟋蟀”,后来也一直没有更改过,注册一些网站用户也就用的“蟋蟀”这个代号,为什么博客园中是“田园里的蟋蟀”?很简单,因为“蟋蟀”被人注册了。使用”蟋蟀“这个代号没什么多大含义,如果说喜欢,也就是那种田园的气息,也就是为什么叫”田园里的蟋蟀“。
关于服务器,可能有人会说:一个小小的网站要独自用一个服务器吗?岂不是大材小用。一开始我也这样想的,觉得买个网站空间足够了,但是仔细想了想,我的目的不是”建站“啊,以后如果研究一些技术,做些试验,网站空间根本搞不了,所以决定还是搞个服务器,作为自己的”试验场“,为此以后自己要少抽几包烟了,呵呵。
决定买服务器,下面就是看买哪家的了?我考虑的主要是三种:美橙互联、万网轻云、阿里云。一开始考虑的是美橙互联,主要觉得价格便宜,但是看了其官网就不想买了;万网轻云服务器,说是58元/月,但是仔细一看只支持静态文件,支持ASP.NET的要99/月,有点超预算;阿里云服务器原本是没做考虑的,首先博客园的“黑色系列”对阿里云有些阴影,其次想来万网轻云就这么贵了,那“真云”就更贵了,但是发现其实还是蛮便宜的(最低配),虽然是最低配,但是好歹也是“云”,虽然有”黑色系列“,但这也是我正想要的,没有问题就没有学习。
贴一下服务器配置:
这个Windows服务器配置是低的不能再低了,有人说不是还有个512MB内存吗?我当时想选择呢,毕竟内存高一倍,价格就翻一番,奈何512MB内存Windows系统根本跑不起来,就只好选择1GB内存,当时选择的Windows系统是Windows Server 2008 64位版本,但是买过之后装SQL Server 2008报”内存溢出“错误,我的天,没办法只好换了下32位系统,屌丝的节奏伤不起啊。
关于开源
开源(Open Source,开放源码)被非盈利软件组织(美国的Open Source Initiative协会)注册为认证标记,并对其进行了正式的定义,用于描述那些源码可以被公众使用的软件,并且此软件的使用、修改和发行也不受许可证的限制。
开源即是开放源码,建设博客站的所有文件一开始都是托管在GitHub中的XiShuaiBlog库中,也会一直托管下去,方便大家查看、学习和交流,如果你可以提一些建议,本人将不胜感激,查看GitHub库,可以点击博客右上角的”GitHub彩带“,或者直接访问:https://github.com/yuezhongxin,现在GitHub中的主要一些文件是:UI、Demo和文档文件,因为框架还没确定,所以程序文件暂时没有,后面会补充。下面列举下GitHub中XiShuaiBlog库的文档结构目录。
主目录:
Doc目录(主要放一些文档,像建站计划,还有一些临时整理的文档,方便查阅):
Demo目录(Project文件夹下,主要放一些知识点整理的Demo):
具体的文档信息,请浏览GitHub的XiShuaiBlog库,或者下载ZIP压缩包,当然这个库会一直更新下去。
多说一点,有时候园中的两种现象我个人觉得很不好:
- 给自己产品做广告(不放源码)
- 放源码,但是需要留邮箱索要
首先声明:关于这两点只对事不对人,大家也切勿对号入座哈,我只是说现象。第一种经常是写出一个系列,文章内容大部分都是一些可有可无的东西,但是内容必不可少的会加入博主的产品信息,最后还不放出源码供大家学习交流,我觉得如果是这样的出发点,就大可不必写。第二种一般会上”最多评论“首页,而且内容多是几张”很炫“的截图,就像汪峰”我要上头条“一样,为什么?因为评论中都是大家索要源码的邮箱地址,这种主要是心态问题,没有一个真正分享的心,发邮箱别人不觉得麻烦,自己还觉得麻烦呢,为什么不在文章后面提供”下载链接“,方便自己,也方便他人,如果要做得更好就托管到GitHub中,如果项目好的话,大家都可以学习、讨论,何乐而不为?
未完待续
原本计划建站结束是在6月,但是从三月份开始到现在,两个多月过去了,框架还没有出来,有点失算。其实在前端完成后,准备做框架的时候,就发现并不是想象的那么简单,因为涉及的每个知识点都要去探究,但这也是我建站的目的,所以也没有急着去做框架,而是把每个知识点都吃透,毕竟路要一步一步,饭要一口一口吃。
关于框架搭建,我真正收集相关资料,比如关于DDD,其实说到这,可能有人会说,你学那么多技术点干嘛?就为了实现一个简单博客站,这样做会”为了设计而设计“,而并不是针对具体的项目,最后这个项目肯定是失败的。你可能不知道,其实我要的就是这个”失败“,准确的说是这个”失败的过程“,有时候公司不能满足你,没办法,就只能拿自己”开刀“,虽然到头来注定是 ”失败的“,但是我觉得还是值得的。
这也就是我为什么一直强调”建站不是目的,过程才是目的“,你所不知道的事而已,未完待续。