用 Nginx 和 Unicorn 部署 Ruby on Rails 应用

最近把博客迁移到 Azure 上,App Server 也从 Passenger 换成了 Unicorn,考虑到 Rails 生产环境的搭建还是比较麻烦的,顺便写个安装手册,备用。

安装 RVM

通常使用 RVM 或 rbenv 来安装 Ruby,这里选用 RVM。

$ curl -sSL https://get.rvm.io | bash -s stable

载入 RVM :

Posted on 2014-01-13

Ruby on Rails 中使用 Markdown 语法,及代码高亮

之前写博客一直采用手写 HTML 的方法,很是繁琐,今天花点时间,给博客添加 Markdown 语法支持,并实现语法高亮。

实现 Markdown 语法和代码语法高亮分别是用的 Redcarpet 和 pygments.rb 两个 Gem:

/Gemfile中添加如下两行:

gem 'redcarpet'
gem 'pygments.rb'

需要说明的是,pygments.rb 依赖于 Python,所以确保机器已经安装了 Python 2.x。

然后在/app/controllers/comments_controller.rb中添加相应 redcarpet 和 pygments.rb 的代码:

Posted on 2014-01-08

尝试一下响应式布局

所谓响应式布局(Responsive Design),就是让网页针对不同设备的浏览器“响应”出不同的显示效果,于是抽了点时间把博客做成了响应式布局,适应一下移动浏览器。

响应式布局主要依赖于 CSS3 的媒体查询特性,其原理就是根据浏览器宽度或高度,适配不同的 CSS,以达到改变页面布局的目的。例如,当浏览器宽度小于 640px 时,将一些不太必要的元素隐藏,在有限的屏幕上显示更多主要的内容。

例如,如下 CSS 只在浏览器宽度小于或等于 640px(iPhone 的屏幕宽度) 的时候才会生效:

Posted on 2013-07-31

为什么要在密码里加点“盐”

盐(Salt)

在密码学中,是指通过在密码任意固定位置插入特定的字符串,让散列后的结果和使用原始密码的散列结果不相符,这种过程称之为“加盐”。

以上这句话是维基百科上对于 Salt 的定义,但是仅凭这句话还是很难理解什么叫 Salt,以及它究竟起到什么作用。

Posted on 2013-07-05

Say Goodbye to WordPress

这个博客最初是用 WordPress 搭建的,当年的 WordPress 还很轻巧,当年的我还什么都不会,但是由于 WordPress 实在太易于使用,让我这个什么都不会的人也能简单的搭建一个小网站。前后算来已经使用 WordPress 三年了,现在的 WordPress 功能也越来越丰富,但是体积也越来越臃肿,对于一个只想简简单单写博客的人来说,绝大多数功能都是不需要的。既然这样,何不按自己的想法写个简单的博客系统呢?

Posted on 2013-06-12