Linux KVM中FreeBSD9的安装
种种原因,站长已经很久没有关注过FreeBSD了,记得最后一次关注,FreeBSD还是8.0。现在已经到了9.0,安装界面上有了“质一级的飞跃”!由于真实主机上的安装没什么难度,这次就直接在KVM中安装。印象中FreeBSD属于比较保守的操作系统,对新的硬件和技术的支持相对比较慢。安装中也确实出现过问题,这里顺便也做个记录。
KVM主机是之前一直在说的Ubuntu1204的libvirt,没有桌面系统,也就意味着不能简单的通过virt-manger工具配置。主机在外网,且防火墙限制了它不能直接通过VNC连接。
mod_php迁移到php-fpm的注意事项
Php-fpm由于其特有的优势已经逐渐成为这一阶段大负载网站的首选。近期受朋友之托,将一个稍显老旧的网站从apache+mod_php迁移到了nginx+php-fpm之上。其间碰到不少问题,除却php版本升级带来的兼容性问题之外,很多兼容性问题其实来自于php-fpm的特性。这里就简单的罗列一下所碰到的问题,以供大家参考,少走弯路为妙。
Unix的Socket协议
PHP的官方文档中,对于mysql_connect函数的介绍中有这么一条信息:
Note:
只要将 server 指定为 “localhost” 或 “localhost:port”,MySQL 客户端库会越过此值并尝试连接到本地套接字(Windows 中的名字管道)。如果想用 TCP/IP,应该用 “127.0.0.1″ 代替 “localhost”。如果 MySQL 客户端库试图连接到一个错误的本地套接字,则应该在 PHP 配置中设定的正确路径并把 server 留空。
看到这里,就捎带着说说Unix的Socket协议吧。
几种Python C重构的性能差异
C重构,C重构,看的已经有点郁闷了!这次打算收尾了,将几种方法的性能做个横向比较吧,近期不再研究。
相关文章:
我职业发展中的纠结
算起来在这过去的2年,可能是我职业生涯中工作变化最频繁的一段时间,频繁到了我甚至都会产生所谓的惯性,习惯性的打探xx公司在忙些什么,缺不缺人之类的话题,甚至说差点仅仅为了薪资而去跳槽,自己都觉得这样不是什么好现象。
工作的频繁变动不排除一方面有公司的因素或者说项目的因素存在,但另一方面,我还是觉得目前个人的职业发展出现了瓶颈,很难找到一个突破口,翻来覆去都是一些重复,重复,再重复。当收入水平上可以满足一定的生活现状的条件下,时间一长在惰性的干预下,就会到达到所谓职业的稳定期。加上由于年龄和家庭的影响,我很害怕今后将难有大的突破。由于IT行业本身的特性,“稳定”事实上是“后退”“下滑”之类词语的婉转用法。“Keep huger, Keep thinking! (-Steven Jobs)” ,这两者之间的关系确实是紧密的。
总之,我深怕自己陷入由来已久的“工程师30岁现象”中去。
Cython快速实现Python的C重构
忘掉这篇愚人节玩笑吧,这次我们要动真格的了!
说起Python,首先想到的他是一种“胶水语言”。作为一种合格的胶水语言,比起开发的难易程度或者开发效率来讲,语言的适应性和可扩充性同样很重要。python的一大特色是有许多方便灵活的扩展模块。
对于上次我们曾经说过ctypes的方式可能对于已经存在的lib库,这对于已经存在的C libs或者有C程序员参与的情况下是很方便的,但对于很多团队来说,合格的C程序员始终是个缺口。这次我们就说说针对单独的一个模块通过Python的一个扩展Cython进行C重构,从而达到尽可能减少工作量,从而达到最便捷的C重构。
无须coding快速实现Python的C重构
正如之前说的,很多情况下我们需要对代码中的部分甚至于全部进行基于C语言的重构以大幅提升性能。对于很多团队来说,由于C语言过于复杂,很难像Python,PHP或者其他高级语言那样快速上手。本文就着重介绍如何通过现有的资源,快速的将python转成C而尽可能的减少工作量。同样的,这种方式稍加修改就可以适用于PHP以及其他的解释型高级语言。同样适用于桌面系统的代码调优。
照旧,先放上例子:
def test(i):
x = 0
while i > 0:
i -= 1
x += i
return x
想必各位都能看懂段代码吧,不懂得话,请直接跳过。
Read the rest of this entry »
Ubuntu上KVM的快速部署
之前写过一篇东西:Ubuntu上Xen的快速部署,以及近期的一篇Ubuntu上KVM虚拟化的部署。前一篇东西写的比较早了,Xen已经被KVM所取代,后一篇主要是通过图形化界面来操作,通用性虽强,但效率较低,无法实现批量化。
这次就通过ubuntu自带的一个工具,实现快速的批量化定制基于KVM的Ubuntu的虚拟机。




近期评论