Zhenyu’s Blog

陌上发花,可以缓缓醉矣, 忍把浮名,换了浅酌低唱。

用Jekyll和Pygments配置代码高亮

| Comments

Jekyll默认的代码段样式太丑了,而且不支持语法高亮。不过,Jekyll原生支持语法高亮工具Pygments。Pygments支持超过100种语言, 并且支持多种输出格式,比如HTML, RTF等等。

修改_config.yml

设置pygments: true

本地安装Pygments

  • Pygments是基于Python的,所以机器上需要安装Python,我用的是Mac,已默认安装Python。
  • 下载最新的Pygments, 本文使用的是Pygments-1.5.tar.gz,下载完成后解压
  • 在解压后的Pygments目录中,运行命令:sudo python setup.py install

像极客一样写博客

| Comments

  • Update: 本博客已使用octopress取代Jekyll。

blogging

我以前用过csdn,iteye和cnblog的博客,始终不能令我满意。样式不喜欢,广告太多,富文本编辑器局限,等等等等问题, 所以每次更换博客后最终都是一个结果,太监了(好吧,我承认主要是因为懒惰…)。

也想过学其他同事那样,买个酷酷的域名,租个空间,再用WordPress搭个自己的博客,不过可惜,这种方式对我还是没啥驱动力…

日复一日,年复一年,直到有一天,GitHub Pages和Jekyll横空出世,瞬间点亮了我辈以极客自诩的屌丝程序员的双眼!

nHibernate Mapping by Code - Introduction

| Comments

nHibernate 3.2新增了一种mapping by code的映射策略,很有意思。你可以自定义约定,并且按照约定定制自动映射策略, 面对遗留数据库时这个功能往往很有用,另外,由于mapping by code是基于代码的(而不是xml文件), 对domain object进行重命名的重构操作会非常方便,不用跑到xml映射文件查找字符串了。

要使用Mapping by Code很简单,

第一步,配置SessionFactory,使nhibernate自动扫描项目中所有继承ClassMapping的类,并将其解释为映射

Hibernate N+1 问题

| Comments

考虑下面的一对多关系:一个Department包含多个Employee:

public class Employee
{
    public virtual int Id { get; set; }
    public virtual string Name { get; set; }
    public virtual string IdentityNumber { get; set; }
    public virtual Department Department { get; set; }
}

public class Department
{
    public virtual int Id { get; set; }
    public virtual string Name { get; set; }     
    public virtual IList<Employee> Employees { get; set; }
}