今年的博客更新频率真是有点丢脸,不过家里喜事倒是增加不少。最大的喜事就是:我前世的小情人 —— 琪琪,于7月16日降生我家了,嘿嘿。初为人父的我确实稍有点忙乱了,原计划在老婆坐月子期间好好计划一下要写的书,好好写写博客总结分享一下最近一两年的一些收获,都没能实施。最近琪琪的状况稳定了很多,于是趁着周末的闲暇时间,更新了一下博客程序和界面样式。
先在这里简单分享一下,更新时所用的一些东东吧。
Ubuntu Server 13.04
不少人还仍然认为.NET的程序只能在 Windows 上跑,甚至说 ASP.NET 网站必须部署在 IIS 上,其实这是一种不求上进甚至是无知的表现哦。你可能认为我说的有点严重,但是当你看到某些所谓的技术大咖写文章说 “... 10 几年前,几乎所有网站都是 .NET 的 …" 之类的梦言梦语时,你也许就会认同我的看法了。
前面的文章中我就提到过,我的博客程序是跑在 linux 上的,当然也是 .NET 的。这没有什么矛盾,借助于 Mono 等框架的力量,.NET 几乎能够覆盖了所有领域,只是看我们怎么玩了。
本博目前是跑在 linode 的 Linux Virtual Server 上的,系统是 Ubuntu Server 13.04。其实我也有 Windows Azure 的账号,之所以要选择 linux,其实就是想实践和证明一下,在 linux 上 .NET 的表现,顺便学习一些非微软平台的技术,毕竟我从来就不是个技术宗教主义者。一个合格的 Developer,应该能够取百家之,你说呢?
Jexus
Linux 系统上显然是没有我们在 Windows上熟悉的IIS啦。那么我们怎么才能让 .NET 的 Web 应用程序跑起来呢? linux 领域比较有名的 nginx,apache …… 等几款优秀的 web server 软件,都可以通过 fastcgi-mono-server2、mono-apache-server2 等组件,让 .NET Web 程序跑起来,而且效率也还不错,但过程是繁琐的。
我一向喜欢简单有效的东西,无意间从张善友同学那里知道了这方面的国产高级货 Jexus,试用不久之后就喜欢上了。Jexus 的安装和配置过程还是非常简单的,你可以从官方中文社区的文章 http://www.linuxdot.net/bbsfile-3084 中学习一下。
不过真心希望 Jexus 的作者们能够把这个社区的UI弄地漂亮点,或者就从 jexus.org 这个站点着手吧 :D
Nancy.Authentication.Forms
前面的文章中也提到过,本博客系统是用 Nancy 框架开发的,之所以用它,主要是因为它是 ASP.NET 之外用 .NET 开发 Web App 的一种选择,而且也是一种很简单的选择。我们可以从下面的代码 demo 中初步了解到它的简单。
public class SampleModule : Nancy.NancyModule
{
public SampleModule()
{
Get["/"] = _ => "Hello World!";
}
}
是不是感觉跟 ASP.NET MVC 有几分相似,但更简单一些呢?前面的文章中介绍过它的内容,这里就不再更多累述了。还是来了解一下它的身份验证组件 —— Nancy.Authentication.Forms,你可以到 nuget 上获得。由于 Nancy 的运行机制跟 ASP.NET 几乎没有关联,所以如果你不熟悉 Nancy 的身份验证,最好到 https://github.com/NancyFx/Nancy/wiki/Forms-Authentication 了解一下它的特殊之处,当然最好你能先了解一下 Nancy Bootstrapper,这样不会因为理念的不同而迷失。如果你想更具体的了解 Nancy 的 form 验证,可以移步到 Forms authentication with nancyfx 看看。看之前提醒一下,如果你了解 IoC 的机制和使用,看前面提到的这些文章相对会容易一点,因为 Nancy 集成了 TinyIoC,并作为重要的一环在框架用得挺多。
Bootstrap 3
Bootstrap 是 Twitter 出名的一个优秀的 web 前端框架,它让不太懂设计的 web 程序员们也能做出比较好看的 UI 来。Bootstrap 3 比 Bootstrap 2.3.2 更加完善且强大,我们在官方发布正式版的当天就在我们公司开发的一个项目上进行了升级。由于存在一些 break changes,给升级稍微带来了点麻烦。还好官方文档蛮完善的,并没有形成太大阻碍。新框架的语法规则更完善,且有很大的可扩展性,加上默认采用时下流行的扁平化设计,会让你的 web 显得很时尚!
本博现在的UI就是用的 Bootstrap 3,看起来还可以吧,嘿嘿……
灯鹭
从字面发音上就能猜到 "灯鹭" 是解决登录问题的,而且是社会化登录。其实它跟国外的 janrain 非常相似,但对国内的社交网站支持的更多更好一些。偶然机会了解到这个产品的,于是便用来解决了一下本博客系统的用户登录问题,官方有比较完善的 开发文档,大家如果喜欢可以了解一下看看。
本博目前对普通读者登录后提供了预填评论昵称和主页地址的功能,Email 还是建议想要的评论的人手工填写一下,因为这样您的头像就可以很酷的显示在评论列表上了。后期我会增加 "记住你上次填写的 Email" 等功能。如果你有什么建议,可以在本文下面评论中提出哦 :)