和去年同期的我对比,今年的我明显不上进了。
平淡无奇的生活和项目,经理还是一如既往的催工期。虽然项目还是去年打动我的项目,只能一味的坚持坚持。
有时候,会想想人生的意义等空虚的话题。认真思考之后,一顿失落。。。
感觉是时候要回报一下社会。
心里默默的起草了一个小项目,建立一个平台提供用户之间的交流。
也许,可以促进计算机程序设计竞赛在青少年之间的发展。
。。。 。。。
想法大概就是这样了。
这会不会使无数少年走向码农这条不归路。
嗯,怀着奇怪的想法继续干活去了。。。
和去年同期的我对比,今年的我明显不上进了。
平淡无奇的生活和项目,经理还是一如既往的催工期。虽然项目还是去年打动我的项目,只能一味的坚持坚持。
有时候,会想想人生的意义等空虚的话题。认真思考之后,一顿失落。。。
感觉是时候要回报一下社会。
心里默默的起草了一个小项目,建立一个平台提供用户之间的交流。
也许,可以促进计算机程序设计竞赛在青少年之间的发展。
。。。 。。。
想法大概就是这样了。
这会不会使无数少年走向码农这条不归路。
嗯,怀着奇怪的想法继续干活去了。。。
2012就这样过去了,世界没有末日,生灵依然平和。
可是我这一年并不简单,这并不像一篇年终总结,更像是一篇超长的感谢信。
这一年的时间并不长,但是发生的事情太多。
A.
年初的时候,我还在百度,一个普通的RD。和其他RD一样,每天无忧无虑,开心扯淡调侃公司的福利,与PM畅想产品方向,对QA隐瞒bug的存在,偶尔和UE的PLMM聊天。
生活的简单,而且对未来世界充满信心;最神气的是我的mentor鸟哥那时还在百度。
说实话那个时候的想法都很单纯,每天就和鸟哥讨论讨论蹊径;看看报表修修bug。感谢鸟哥啊,真心学到了很多,每天都猎奇到新的sight。
B.
12306那是也是新鲜的东西。因为无虑,所以那个时候研究了个刷票脚本,订票成功率高达100%。页面还是yuwei同学帮忙写的。
然后接着没有买到火车票的童鞋们:就是铺天盖地的骂12306不靠谱;以及不靠谱的新生事物:网络黄牛。。
在买到火车票后的喜悦心情下,回老家安心过年去了。
C.
年后回到百度,还以为生活能继续平淡的过下去。突然间shifen的founder,zliu大侠离职鸟,随后加入weibo。然后突然间,我mentor也离职鸟,随后加入weibo。。。
曾经,倩姐离职时的复杂心情,一下子又涌上心头。由于我在度期间,基本都是鸟哥罩着才得以成长,鸟哥离职对我打击非常大。
……
事后,其实还是证实鸟哥说的:铁打的营盘流水的兵,没有不落的太阳和不散的宴席。慢慢才清楚,鸟哥离职对我来说,仍然是一种成长。
D.
感谢百度给我一个机会。
回想三年前,对于我这种三流大学的小本科,能加入百度这样的企业学习和锻炼也算是一种恩赐。
随后我默默定下了目标“T5就毕业”。转眼3年过去了,我学分也已经修满了。
这三年在百度的日子非常开心,认识了很多行业内的顶尖同学们。这也将是我最大的收获。
E.
偶然的机会,认识了书豪。他不远万里从加拿大蒙特利尔来到北京,带来一个非常精彩的项目—-Easilydo。
我知道条件很艰苦,知道面临蛮大的风险。但是毅然的选择这种从零开始的Startup。
找办公室,成立公司,组建团队。这些都是些从来不曾考虑过的事情。
开始学会站在更高的高度思考。
F.
经常会有朋友问道“你现在在哪工作啊?”。我都会说“在创业,小公司你们都没听过…”
其实呢,我真实的状态是“假装在创业”,就是: 创业的心态,创业的行为,打工的收益,苦逼的生活。
但是我知道,有些疯狂的事儿,年青的时候不做,将来可能再也没有机会重来。
我觉得,我渐渐能体会到了,wenbin,湛哥,甚至zliu当时的某种情绪。
当manager是个压力活儿,尤其是要coding的manager。
G.
2012的最后一个部分,我在美国度过。最大的感悟可能就是圆了一个出国的想法吧。
以前可能觉得出国是一件蛮复杂不太靠谱的事情,虽然很国外很美好,但是代价太大了。
可是现在肉身翻墙后,突然间又觉得国内其实也挺好的,比如朋友多,周末可以打三国杀,还可以每餐都吃到可口的中国菜。
硅谷的天气比北京好的太多,城市也非常干净,有美国西部农村的气息,中国人很多可以讲中文。至少称为码农的天堂没有任何问题。
感谢加州的朋友,来这边麻烦大家咯。经常蹭车蹭饭蹭玩还经常不给钱,哈哈~
2012就这么过去了。
很难预测2013又会是怎样的一年,祝自己蒸蒸日上吧。
这个国庆好无聊,中国好声音决赛一上来就淘汰了两个喜欢的选手,总之:真是该走的没走,不该走的都留下了。。。
微博上,满眼都是好友都在全球各地旅游晒幸福的图片。显得我的处境更加的苦逼了。
真心好无聊啊,上个月攒了一台比较便宜的机器做公司公用服务器。安装了Ubuntu Server 12.04 LTS,安装的时候发现“Virtual Machine host”,手贱装上了。
作为一个习惯于虚拟化办公的人来说,没有虚拟机的日子很难熬。只好现在研究一下。。。
首先介绍一下背景:
我使用的是一台Xeon E3 1230 v2 + 某微星H77芯片组的PC,用主板自带的RAID1(ST 2Tx2)安装了Ubuntu Server 12.04 LTS,仅仅16G内存。本来不想上显卡的,可是这个主板很坑爹的,没有显卡居然无法启动,BIOS过不去,根本到不了引导!!所以上了个垃圾显卡(好像才用了两天,花屏了!!奸商啊!!好在我真心不是为了插显示器,只要让主板工作就好),另外还上了一块PCI-E RTL-8168 1000M有线网卡。(装这个网卡的过程也很苦逼!!)
其实我以前习惯用linux,由于某公司强制要求hi为第一聊天工具,和lync为强烈推荐软件,而且邮件服务器除了Exchange以外只支持80年代的POP3和SMTP协议。我靠,这意味着我无法离开windows办公,所以我需要一个xp的虚拟机。目前的我,拥有一个win的虚拟机也是一个习惯了。
先下载以下资源:
1. 安装 Ubuntu Server 12.04 LTS (链接)
2. 下载 Windows XP 的安装盘iso (百度一下)
3. 可能会用到的工具,SSH软件:Xshell (地址)
4. 可能会用到的工具,VNC软件:UltraVNC (下载地址)
5. 虚拟机使用的驱动程序 virtio驱动 (立即下载)
注:Windows XP为Microsoft的商业操作系统,其余均是免费软件。
安装Ubuntu Server的任务,我就不细说了。这个不是本文重点内容。详情请自行百度一下。
高能警告:因为我装的服务器一般木有图形界面,所以以下操作均为shell操作。
安装的时候,记得勾选 Virtual Machine host 安装选项(默认安装kvm)
ubuntu server 12.04的kvm比较奇怪,好像前辈的文章都描述qemu的目录在“/usr/libexec/qemu-kvm”,而据观察本版本qemu的可执行文件是“/usr/bin/qemu-system-x86_64”。呵呵,不明白为什么,如果你有答案请给我留言~~!
A. 首先嘛,先建立一个虚拟机使用的磁盘镜像文件:
/usr/bin/qemu-img create -f raw "/home/jay/vm/windows.img" 100G
这个100G的文件创建非常快,几乎不耗时。会不会惊讶磁盘的写入速度啊~
哈哈,你中招了,qemu-img创建的其实是一个稀疏文件。其实并真正占磁盘空间。
可以通过-f来控制镜像文件的格式,官方推荐raw格式,且不用cache的方式运行(因为os有一层磁盘cache机制)。
因为我们木有图形界面,安装使用vnc协议
B. 启动一个虚拟机有两种方式:
1. 直接启动qemu进程,即可开启虚拟机:不得不承认,这确实是一个out-dated,落后的启动方式。
启动一个qemu进程可以使用类似下面的命令
/usr/bin/qemu-system-i386 \
-name "jay's windows" \
-machine "pc" \
-smp 1 \
-m "1G" \
-hda "/home/jay/vm/windows.img" \
-vnc ":88" \
-cdrom "/home/jay/tmp/20120918/YLMF_GHOSTXP_SP3_YN99.iso" \
-k en-us \
-no-acpi \
-localtime \
-usb \
-boot d
这种启动虚拟机的方式很挫,关于参数不懂的话,可以参考一下“man qemu”。
但是也不全是缺点,比如说这种方式可以用非root账号启动一个虚拟机 wow~ 但是效率嘛… 嘿嘿
2. 使用virsh通过xml调用,并交给libvirtd统一管理:事实上,libvirtd还是启动一个qemu的进程
这种方式建立虚拟机优雅多了,通过网上网罗的各种xml,修改对应数据后生成下列xml
<domain type='kvm' id='1'>
<name>jay-xp</name>
<uuid>b7bbce15-13f1-907b-d172-7e91460ed8c3</uuid>
<memory>1048576</memory>
<currentMemory>1048576</currentMemory>
<vcpu>1</vcpu>
<os>
<type arch='x86_64' machine='pc'>hvm</type>
<boot dev='hd'/>
<!--boot dev='cdrom'/-->
</os>
<features>
<!--acpi/-->
<apic/>
<pae/>
</features>
<clock offset='localtime'/>
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
<on_crash>restart</on_crash>
<devices>
<emulator>/usr/bin/qemu-system-x86_64</emulator>
<disk type='file' device='disk'>
<driver name='qemu' type='raw' cache='none'/>
<source file='/home/jay/vm/windows.img'/>
<target dev='vda' bus='virtio'/>
</disk>
<!--disk type='file' device='disk'>
<driver name='qemu' type='raw' cache='none'/>
<source file='/home/jay/vm/windows.img'/>
<target dev='hda' bus='ide'/>
</disk-->
<!--disk type='file' device='cdrom'>
<source file='/home/jay/tmp/20121002/zh-hans_windows_xp_professional_with_service_pack_3_x86_cd_vl_x14-74070.iso'/>
<target dev='hdc' bus='ide'/>
<readonly/>
</disk-->
<disk type='file' device='cdrom'>
<source file='/home/jay/tmp/20121002/virtio-win-0.1-30.iso'/>
<target dev='hdc' bus='ide'/>
<readonly/>
</disk>
<interface type='bridge'>
<mac address='bd:4a:a2:97:bd:4c'/>
<source bridge='br0'/>
<model type='virtio'/>
</interface>
<graphics type='vnc' port='5988' listen='0.0.0.0' autoport='no' keymap='en-us' passwd='123456'/>
</devices>
</domain>
C. 安装windows系统的流程:
1. 安装系统时,应该配置成ide硬盘,保证兼容性。用xml配置iso,用cdrom引导
2. 安装windows比较慢,耐心一点
3. 系统安装完成后,关机,修改xml。保留ide硬盘,加一块临时的virtio硬盘,加网卡,cdrom改为virtio驱动的iso,修改启动顺序
4. 安装virtio硬盘和网卡的驱动
5. 删掉所有的光盘,删掉临时硬盘,把主硬盘驱动改为virtio模式
基本上,系统就算安装好了。
D. 桥接网络:
1. 修改/etc/network/interfaces,加入
auto br0
iface br0 inet dhcp
bridge_ports eth0
bridge_stp off
bridge_fd 0
bridge_maxwait 0
2. 配置完成后重启网络
/etc/init.d/networking restart
重启网络后,ifconfig可以看到br0代替了原来的eth0继续工作。
3. 重新启动虚拟机即可桥接方式连接物理机的网络了
此时虚拟机可以通过外面的dhcp分配到地址,而且外网也可以直接访问虚拟机,真是很方便呢~
E. 接下来就 Rock & roll 尽情的享受有虚拟机的生活了!
更多资料:
http://blog.chinaunix.net/uid-7934175-id-3276599.html
我说大家都是做PHP开发的,凡是用过PHP做MVC编程的同学都应该会熟悉模板引擎。模板引擎是个好东西,在日常编程中起着不可缺少的作用,不仅做到了业务代码/界面设计分离,而且可以简化前端工程师的工作。
常用的模板的引擎有Smarty、XTemplate、Twig等。。呵呵,其实PHP本身也可以作为一种模板语言。目前最常用的模板引擎是Smarty,无论从语法是流行程度,无愧是当今模板引擎的王者和典范。(额额额…跑题了)
这次我主要介绍的对象是Blitz Templates,以下简称Blitz。Blitz是业界首款使用扩展实现的PHP模板引擎(鼓掌鼓掌),不得不说,非常难得。由于PHP良好的扩展机制,使得更多的常用的逻辑可以使用原生的C语言来实现,大大的提高了PHP语言的可扩展性和运行效率,这多亏…(额额额.. 又跑题…)
避免博主经常性跑题,这次直接切入主题:
1. 安装Blitz Templates
从 http://alexeyrybak.com/blitz/ 或者 http://sourceforge.net/projects/blitz-templates/ 获取Blitz的最新版本。当前最新版本是0.8.2-stable。
$ wget http://alexeyrybak.com/blitz/blitz-0.8.2.tar.gz
$ tar xzf blitz-0.8.2.tar.gz
$ cd blitz-0.8.2
这样我们就已经拿到了blitz的源码。编译PHP扩展有三个步骤:
按照流程
$ $PHP_PATH/bin/phpize
$ configure --with-php-config=$PHP_PATH/bin/php-config
$ make && make install
$ vim $PHP_PATH/lib/php.ini
编辑PHP配置文件,在文件末尾加入extension=”blitz.so”。
不出以外,重启一下就可以在phpinfo()里面看到新装的blitz已经就位了。
2. 性能测试
通过官方提供的数据报告来看,Blitz的性能十分出众

3. 其他资源
1. 官方网站 http://alexeyrybak.com/blitz/
2. 语法/手册 http://alexeyrybak.com/blitz/blitz_en.html 目前只有英文版