同学朋友一部分去了上海,一部分去了北京,小部分去了深圳,个别留在天津 。
去上海的比去北京的略多。
从之后的联系来看,去上海的比来北京的满意度更高,包括IT类的也是如此
主要提现在 1提薪更快 2自然环境更好 3更有秩序
其实IT还是北京发展的好, 但是也许是对上海了解不多。(只去过一次)。
Btw:
我了解的从天阔出来的几个人朋友中,4个来了北京,4个去了上海。
去上海的3都去了cisco。满意度好像还是上海的高些。
不过有一点是一样的,他们的收入都至少double了一下。
可见无论如何 都不应该留在天津。

还是信号量占满了(平均2天一次),我没时间查代码。
跟据在线服务稳定第一的原则, 我还是写了一个脚本,2小时清理一次。

一个在线服务要上线,常会出现,测试机正常放到线上就出错的情况。
我们团队在上周就经历过这种情况。
解决的办法一般有log重放和旁路测试。相对来说,旁路测试更有效。
所谓旁路测试是制将 对线上服务器LS访问的流量,拷贝一份给测试服务程序TS。而响应返回则是有LS完成,TS的返回被丢弃或者记录
我写了一个通用的程序(基于tiwstd,理解思路不基于也很容易,基于twisted 能够很快完成一个可用的系统,当然也可以自己封装网络通信框架实现灵活和快捷,这是题外话),能够支持旁路测试的无缝切换,且能够支持一组旁路测试服务器。(也即旁路测试服务器可以有TS1 TS2...) 。
程序如下(我现在就在旁路测试情况下发文的,nklog系统目前就在旁路测试中:)),今天太晚了就不解释了。
from twisted.internet.protocol import Protocol, ClientFactory, ServerFactoryfrom twisted.internet import reactor  import time   import sys#ABTestServer A is Online Server ;B is Testing Server#The IPtable rules to support follows:#/sbin/iptables -t nat -A PREROUTING -p tcp -i eth0 -s ! 60.28.222.137 -d 60.28.222.137   --dport 8301  -j DNAT --to 60.28.222.137:80#echo 1 >/proc/sys/net/ipv4/ip_forward class ServerHost:    host=""    port=0class ServerConnector:        passclass ForwardServer(Protocol):    def __init__(self, hostA, portA,hostsB):        self.hostA = hostA        self.portA = portA        self.hostsB = hostsB        self.data = ""        self._connected = False    def dataReceived(self, data): #From Client To FWServer         self.data += data        if (len(self.data) > 0):            self.connectorA.connector.transport.write(self.data)        for aBConnector in self.connectorsB:            aBConnector.connector.transport.write(self.data)            self.data = ""    def connectionMade(self):        self.beginTime=time.time()        print "INFO:: client connection made"        aClientFC = ForwardClientFactory(self,1)        aServConnector=ServerConnector()        aServConnector.connector = reactor.connectTCP(self.hostA, self.portA, aClientFC)        self.connectorA=aServConnector        self.connectorsB=[]        for aBHost in self.hostsB:                bClientFC = ForwardClientFactory(self,0)                bServConnector=ServerConnector()                bServConnector.connector = reactor.connectTCP(aBHost.host, aBHost.port, bClientFC)                self.connectorsB.append( bServConnector )    def setConnected(self, flag):        if flag:            self.onConnected()        else:            self.transport.loseConnection()                                                                self._connected = flag      def onConnected(self):        if len(self.data) > 0:            self.connectorA.connector.transport.write(self.data)            for aBConnector in self.connectorsB:                aBConnector.connector.transport.write(self.data)            self.data = ""    def connectionLost(self, reason):        self.connectorA.connector.transport.loseConnection()        for aBConnector in self.connectorsB:            aBConnector.connector.transport.loseConnection()        self._connected = False        print "Lost Connection "+ str( (time.time()-self.beginTime) )+" secs"class ForwardClient(Protocol):    def __init__(self, forward,ctype):        self.forward = forward        self.type=ctype
self.bConnected=False    def dataReceived(self, data):  #From FWServer to Client#       print self.type        if self.type !=0 : #Send To A only                 self.forward.transport.write(data)    def connectionMade(self):        self.bConnected=True    def connectionLost(self, reason):        self.bConnected=False        if self.type!=0:            self.forward.transport.loseConnection()            self.forward.connectionLost("client lost"        else:            pass            #self.transport.loseConnection()class ForwardServerFactory(ServerFactory):    def __init__(self, host, port,hostsB):        self.host = host        self.port = port        self.hostsB=hostsB    def buildProtocol(self, addr):        return ForwardServer(self.host, self.port,hostsB)class ForwardClientFactory(ClientFactory):    def __init__(self, forward,ctype):        self.forward = forward        self.type=ctype    def buildProtocol(self, addr):        return ForwardClient(self.forward,self.type)    def clientConnectionFailed(self, connector, reason):        self.forward.transport.loseConnection()        self.forward.connectionLost("client connect failed"if __name__ == "__main__":    if len(sys.argv) != 5:        print "USAGE: %s " % sys.argv[0]        sys.exit(1)    host, port, listen_port = sys.argv[1], int(sys.argv[2]), int(sys.argv[3])                                                                                         strFHostsB=sys.argv[4]    fHostsB=open(strFHostsB)    lines = fHostsB.readlines()    hostsB=[]    for aLine in lines:        aLine=aLine.replace("
",""        aLine=aLine.replace("
",""        segs = aLine.split(" "        if len(segs) != 2:                continue        servHost = ServerHost()        servHost.host=segs[0]        servHost.port=int(segs[1])        hostsB.append(servHost)    print "INFO:: Load B Host "+str(len(hostsB))    server_factory = ForwardServerFactory(host, port,hostsB)    reactor.listenTCP(listen_port, server_factory)    reactor.run()
举例说明如下
http服务旁路测试数据转发
80--iptables->8300(python abtest.py ...)
8300--abtester-->80(apache )
8300--abtester-->8310(tcpeserver 0.0.0.0 8310./a.out)

错误 如下
on device: mod_rewrite: could not create rewrite_log_lock[Thu Sep 06 23:37:09 2007] [crit] (2No space left on device: mod_rewrite: could not create rewrite_log_lock[Thu Sep 06 23:42:13 2007] [crit] (2No space left on device: mod_rewrite: could not create rewrite_log_loc
apache无法启动。
解决 ipcs -s| grep apache | cut -f2 -d" "| xargs ipcrm sem

哪个程序用了这么多sem 还没检查

周末因为产品升级出了问题,两天都出于紧张和在家加班的状态。
周一和周二连续精神不充沛。

突然想起校友录的高中班级宣言:
"恭喜发财!!!发财不忘健康,大家都快P3啦,不再年轻咯。呵呵 "
一下觉得自己老了好多,青春不在啊。
中学点滴印象仍然历历在目。

我就会一点php,最近才又开始学习。。
--------------------------------
发现php中没有类似asp jsp的application对象。连页面内的长存对象都没有。
写一个计数器都需要文件读写或者用数据库,或者数据库加memcached.到网上看到用人用文件来模拟application。
改进了一下,使用共享内存shompapi,使用序列化,使用构造和析构函数 。但是仍然不适合大规模使用,因为由于php中没有指针,所以不可避免需要内存拷贝。
不过其实用shm_ attach序列aip能够更高效率实现。
我的封装的使用方法如下
require_once("shmop_app.php"
调用示范,计数器代码如下
1   5   6

  7   8 You are visitor number  9  10 to this web site. 11  12

 13
smop_app.php代码 如下
1 application_start(); 32    } 33  34    function __destruct() { 35        $this->application_end(); 36    } 37 } 38  39 $gOApp = new CAppObj; 40 ?>

酷讯校园招聘产品,还在完善中,如有任何想法请即刻回帖我和我联系!
如您觉得好用,请帮忙宣传(blog,bbs,webstie)。
http://offer.kooxoo.com

python写了一个分词程序
作者: onebird
发布时间: 2007-08-26 00:11
分类: 技术

主要为了写一些python小爬虫和数据分类过滤用。针对GBK编码文本的(实际代码是可以参数化支持utf8和GBK的)
原计划3个小时写完,实际花了6个小时。主要是对python一些语言细节还是不够熟悉。不知道ord这个函数以及对传引用的一些问题折腾了好一阵时间。
目前只是实现了 段分,句分,最长匹配分词。计划明天花2小时加上全角英文单词,国名,姓名的处理。

在水木上看到的笑话,描述华为招人的情况.联想起自己上周末不知怎么的就收到华为招聘系统的信件,周一莫名其妙的被华为北京的电话吵醒,问是否有兴趣做核心网主机研发工程师(什么东西),电话曰:你不想来华为啊。 虽然华为人力资源的名声太不好了,听说最近挖人还真下功夫了。

发信人: XAUI (smth=色魔团伙), 信区: WorkLife标  题: 华为招人了。。。发信站: 水木社区 (Fri Aug 17 23:50:53 2007), 站内晚上九点多下班回来还得厚着脸皮找简历,这么晚都不能睡,不说都不行了。  不知道高层的人知道不知道下面的部门的招聘政策是什么--不完成招聘指标,本季度PL考评为C,罚款X00,降薪,不给这个部门进新员工,什么招数都有。至于那些可怜的研发兄弟有没有时间,累成啥样,上面人是不管的。  这种做法实在是坏处太多:  1、研发兄弟本来就已经非常辛苦,还要被这些和自己毫不相关的指标,自己的目的本来是研究技术的,却被逼着做这些自己没有时间也丝毫不感兴趣的事情,干部部天天叫着要基层PL提升组织氛围,却不知自己在干些南辕北辙的事。  2、这些处分一旦落下来,这写兄弟一个季度的辛苦劳动就化为乌有,这公平吗?  3、为了达到招聘的目标,每个研发兄弟都要厚着脸皮,不惜被人骂祖宗十八代去到处发贴找简历,造成现在IT人接到华为招聘电话就恶心的局面。     这种严重破坏研发战斗力,败坏华为名声的招聘方法是谁想出来的,居然还在继续???真不知道HR的人每天在干什么?从没听说业界还有哪个公司搞这种招聘战术,怎么别人都活的好好的?  不好好做宣传提升公司名声,提高员工待遇来吸引英才加盟,却拿这种方法来招人,搞的内部怨声载道,外部恶名昭彰,真是叫人无语。    有HR的人吗?也把你们这样做的理由给大家摆摆啊说两个小段子:  1.一个招聘电话   a:你好,我是华为公司的,您现在说话方便么?   b:不方便,你们一天打给我这都第N(N 〉8)次了,烦不烦,你们公司是不是现在改行做传销搞老鼠会了   a:...(流汗)  2.另一个招聘电话   a:你好,我是华为公司的,您现在说话方便么?   b:哦,你说吧   a:您是否有兴趣来华为工作,如果有那么XX点可以在XX地方参加我司的面试   b:大姐,我是XX产品线的,入职已经2年了,你那个部门阿,又打我手机,我的电话费公司是否给报销阿。--