近期对PHP与Mysql相关的优化

BI的线上经常报mysql连接数耗尽,查的结果是部分表经常被某个查询锁住,然后其他访问这个表的查询连接就一直阻塞着。原因是这些本来要支持一定并发规模的表竟然用的是MyISAM引擎,我把相关表的引擎换成Innodb了。

有些历史业务逻辑竟然用了n*n数量级条数的mysql查询。这光花费在IO上的时间都是惊人的。优化后直接弄成一条mysql查询,业务响应时间从1、2分钟降到秒开。

mysql的where in里不要写子查询,用连表方式会数量级上的快,这个原因具体看《高性能Mysql》吧。

站立编程乱弹

国庆回来后重新开始站立编程。站立编程的桌子是之前在触控时买的,到货后一直坚持站立编程到离职,大概两三个月吧。当前公司,之前我想慢慢适应这边的节奏,另外也是站立有点特立独行的感觉,先观察着,并找有利地形。现在天时地利人和都OK了,重新开始站立编程。

来这里一个季度了,高强度了一个季度,虚胖了不少,正好也要开始考虑健康问题了。站立编程对健康的好处这里不赘述,说下不足的地方。站立编程,容易得所有站立工作太久职业的职业病。最严重的应该是静脉曲张。我现在的解决办法是,穿静脉曲张袜。平时思考的时候也多坐坐,同一个姿势保持太久都容易对身体造成一个损伤。

不过通常站立办公容易腿累,这个我个人倒是没怎么出现,只能说是个人体力肌肉什么的稍强点儿。

另外不是有了站立编程,程序员的健康问题就解决了,还需要加强其他的锻炼。现在每周大概在公司健身房跑个2、3次步。由于工作忙,一般只跑个10分钟左右,11.1的速度,跑下2km左右。

以后还要捡起羽毛球、游泳、登山、骑行等。

良好的身心健康,还依赖家庭和谐。这个高强度的季度,周末都基本在家赶代码度过。只有其中两天是陪老婆出去玩的,最终导致老婆喷发。这个事情以后一定要注意。

程序员人才交流共享

这段时间发出去三个offer,要是顺利的话,接下来的招聘的压力会稍微缓解下。这三位都是HR去招聘网站筛选简历的。现在的招聘办法就是一边HR去招聘网站搜罗,我一边发动朋友的关系等。后者很不顺利。

我的朋友圈基本是搞C++/Java的,搞PHP的很少很少,只有几个。问了一圈,C++圈子的朋友基本上对PHP不屑,仅有的几个PHP朋友他们自己也正缺人,还反找我要人呢。

在畅游呆了3年,积累的朋友最多吧。这些朋友,有部分已经不做游戏了,转到互联网了。有几位去了雅虎北京研究院(注意不是倒掉的那个雅虎中国),做广告项目相关、大数据、云计算等。有很多去了百度,做大数据挖掘、搜索等。有去阿里的,广告推荐相关。也有去360做广告的。还有些人自己创业去了,还有少数继续留在畅游,其余分散到其他大小游戏公司了,腾讯、完美、华清飞扬等等。

畅游的朋友们发展到现在,大部分发展的很好,请他们基本是请不动了,除非有非常吸引力的职位或薪水。所以让他们推荐的时候基本上我带上这句,也可以帮我介绍下你们认识的小弟弟妹妹什么的呀,有潜力的初级中级我们都欢迎。

然后是智明的同事,也分散到各公司了,问的几个都是他们自己还缺人。触控的同事,触控就没几个服务器。

最后同学圈,高中同学这方面,虽然程序员极少,但至少还联系上一位,即使是半年后再合作!大学同学这方面,在北京的实在太少,大部分在南方,上海、深圳等地。

朋友圈如此严峻,招人基本上只能想其他的办法了。

现在很多朋友都在招人,有时候也有朋友让帮忙内推到某些公司。靠谱的招聘方和求职方缺少一个交流的地方,招人的到处去问朋友圈有谁想换换,求职的到处去问哪有靠谱的地方,效率都不高。所以我开了个QQ群,试着搞一个程序员人才交流共享的聚集地,目前已经有几位朋友加入了。

程序员人才交流共享群的出发点是互助互惠,有些朋友想换个方向或者换个环境,或者有些朋友的队友不再适合自己的团队,可以推荐到其他朋友的团队去。群的终极目标是大家都能招到合适的人。群的建设是大家一起搞,不加不相关人员,新成员必须是老成员觉得靠谱的人。群里讨论的话题尽量专注在人才交流上,毕竟大家都很忙。

很多朋友都到了一定阶段,招人的需求肯定是长期的,所以这个群看的是长期发展,并不是为了我个人当前的急切需求。有意愿的朋友欢迎聊聊,不求盲目扩张,只求惺惺相惜。

小雨要我去他们公司(08年的博客)

2012年准备开始写毕业两年的总结,翻了下以前的随记,发现了件年幼时的开心事。

原文如下:

小雨要我去他们公司 2008-10-23 10:43

那是08年暑假7月下旬了。
当时我正在武汉一家公司搞代码移植,做的正不爽的时候,小雨说他们公司缺人,要我介绍几个。
我就介绍了一个。
他说让我也直接过去,还说了好几次。我当时问,你公司不是一直宁缺勿烂吗。
他说那城市水平他见识了,改变方针了,先放低要求,招些再培训。

当时太高兴了,要知道,小雨是我的linux启蒙前辈。之前我表达过想去他们那实习,但是他的一句“宁缺勿烂”把我打击的要死。突然来个让我“直接”过去,而且做的就是自己喜欢的linux网络服务器c++后台开发,虽然是降低了门槛,有点言外之意,但是积累了那么多大学以来的跌跌撞撞,以及当时的工作环境不如意,这由于黑夜里的曙光……

反正当时相当的高兴,武汉的不如意一下就抛之脑后了。自从高考考的不错带来好心情以来,已经n久没那么开心了。所以当时自己还没能感觉到自己的心情变化,是自己中午去吃饭,在路上突然发现自己走路都在笑。

小插曲:当时我正在武汉公司看ctorrent的代码,突然看到小雨给我留言了。他问我在干什么,我发消息过去问什么事,半天没见反应,过了点时间,我又问了一次。他来个“没事,88”。我汗倒,就发了感恩的话:有事就说嘛,至少你帮助过我。这句话起作用了,他这才问我毕业了没,之后就是招人的事了。

虽然是我启蒙老师,但是我经常问些小问题烦他,所以他平时不大鸟我,所以对我没什么耐心,幸亏我说了那句话。

后来才发现,在我第一次问他什么事时,他就回答我了,问我毕业没。只是开的是另一个窗口,当时我在看代码,没注意到qq里在蹦的他的头像。他估计是什么时候把我给删了,或者从没加我好友。所以我打开的跟他的聊天窗口是好友聊天窗口,我在这个聊天窗口一直等他回话,而他估计是在群里找成员列表再打开跟我的聊天窗口。两人聊天的关注的窗口不一样,我汗死。


2012-01-10 00:01 补述如下:

以上是原文,当时记录下来,主要是想让自己记住这次感恩带来的好事,保持感恩的心。

这家公司就是个创业小团队,小雨是技术经理,老板是个台湾人,不过很小的时候就在美国定居,听小雨说老板还是bill joy的同学。老板已经下海做很多国际生意,我们这个创业小公司只是他老人家的其中一个事业,所以关心程度很是让人伤心。现在想起还是淡淡的忧伤啊。

带着斌哥一起在他那全职实习(毕业设计都是周末和晚上做的,有木有啊)一年后,最终对老板失去信心,本来小雨让我再多练练,然后跟他去他上海的哥哥或者朋友开的公司。但是我当时考察了很久之后非常想做网络游戏的服务器端,他也就缓和的说“也行,你现在热情这么高,就做几年网游吧……”。

请小雨吃完离别饭,然后就辞掉了工作。再学校休整几天,领到毕业证学位证,还没联系好公司,就跟已经找到买主的小灰灰北上了。然后是给北京所有网游公司投简历……

后来才知道,我走后不久,小雨去了上海,斌哥墨迹一阵子也去了上海。北漂的第一年还跟小雨聊过,他已经不怎么说他的事情了,不过他跟斌哥还保持了下联系,他们一起投过完美。小雨拿到腾讯研究院的offer但是没去。后来又过了段时间去了杭州,40k/m,真牛。

突然有一天发现我被小雨拉黑了,擦,我估计是他的感受是我背叛了他,辜负了他的信任。天地良心,我没有啊!现在我也没找过他的联系方式。以后应该会有机会再见吧。在南昌跟小雨干的时候挺好的,小雨也是个很单纯的技术人,我的印象是他还有点内向。

要说生命中的贵人,小雨就是其中之一,祝好,我的linux启蒙前辈,技术引导恩师,是你让我在大二下学期前就确定了未来技术方向,大恩不言谢,他日必会再见~

免费附赠当年在ChinaUnix摘录的一Y语:
学习就跟出来卖一样。
要么你自身就对这个有浓厚的兴趣,天性淫荡,就会乐此不疲,因此而艳名远播。
再或者你被逼良为娼,虽然厌恶这一行,但是总是遇上房中高手,经常挑逗的你欲火高涨,忘我投入。也能混个名妓。
(进畅游后,最近一年半都没怎么去CU了,又是一股淡淡的忧伤……)


2014-08-09

08年原文发在c++博客园的个人博客上,12年把这篇转移到了人人网,并做了些补述。今天偶然翻到,就挪来自己的独立博客吧。

08年小雨让我直接过去,这个不是随便就让人直接过去的,我们认识是从南昌的一个技术群里,当时我回答一些群友的c语言问题,表现的不错,一看就是基础不错的苗子,给人留下了好印象。6年过去了,物是人非啊,小雨后来也一直没联系上,斌哥也自己带团队了,我也开始组建团队了。

招聘心得和代码重构

现在博客在印象笔记里写,写完往worldpress里贴的时候,超级链接是不自动复制的,这跟之前在C++博客时不一样了,导致上篇博客发出一段时间内,里边两个链接都是木有的。解决办法暂时没时间想,先继续印象笔记写。

招聘方面,拉朋友和外边筛选简历都在做。靠谱的人挺不好招的,其实靠谱的人不是绝迹了,还是有的,可是价钱又可能谈不拢。另外以为自己身边的靠谱的人就不少了,怎么也能拉几个过来,没想到啊,也很艰难。熟识的朋友不会太多,还是得营造自己的影响力,技术博客展示、微博展示等,有影响力后,找人一起做事会方便些吧。

这阵子在重构一个接手的系统——公司游戏统计系统。系统要扩展支持多个项目,之前的系统可以勉强做到,但是以后项目更多的时候会比较乱。接手的代码里很多重复代码,重构的第一步消除这些重复代码。几天的奋斗,从开始的2w多行降到了1.7w左右,删除了3k多行,目测还是可以继续消除的。消除重复的同时发现了不少错误。以后再加新逻辑也会清晰很多。

这次重构与改造也刷新了个人持续编码最长时间,某个周六早上9点到周一凌晨一点,之间就周六下午15点~17点睡了两个小时。40小时内睡了两个小时。这个只是留个纪念,没有秀的意思。个人不鼓励这么搞,程序员写代码是要精神状态好才能保质的,实在是没办法的时候才死拼。

重构代码时发现不少旧代码的问题。例如有些地方明明可以写的很简单,却因为一些特例搞的很绕。这种事情一方面靠程序员自己的素养和追求,另一方面也要靠Code Reivew。

重构过程中也有因为测试不到位,发生趟坑的事情。现在时间紧,还急着上线,没办法,不过好在影响数据的地方都仔细验证了,大部分坑在页面的数据展示上。等以后再安排给关键函数补上单元测试,大部分功能补上测试用例。

最近代码基本稳定下来了,运营那边也不怎么报统计系统的问题了,看,重构的效果。现在虽然还有很多地方需要重构,但是不用那么急了,现在的重构都是看新功能或者历史bug指向哪里,就边重构那里,这样动小刀并立即验收,无痛一点。

新博客与新工作

博客搬家好几次了,最近一次在C++博客园。在博客园写了一年,平均每月2~3篇,回顾了下,质量都不是很高。博客究竟是自己打理还是写在第三方博客系统,这个问题也一直有纠结。之前没时间自己打理,也舍不得自己买域名和VPS,所以理直气壮的用在第三方。后来慢慢意识到域名和VPS的投入是必须的。

最想要的域名是claw.me,可惜被注册了。后来从sheppardy.me和clawz.me里选了后者,因为老婆说后者好看,另外这个域名也短些,好记。VPS买的linode,至于他们的服务怎么好我就不介绍了。我的推荐地址。之前买的$20的方案,近期增加了$10方案,马上就换到后者了,够我暂时的使用。

域名和VPS都到位了,VPS是可以捣鼓些东西外,本也打算用Go语言来边开发个博客边使用,但是进度缓慢,因为之前有时间的时候都在捣鼓Go写的游戏开源引擎claw去了。然后接受了新工作,可以预见会忙很一阵子,再自己去写博客系统已不大现实。于是了个wordpress,让博客内容先生产起来。这个wordpress刚搭建,看访问还比较卡,之后有时间再查查是什么问题。

新工作里技术管理相关会多起来,但是自己喜欢编程而且公司属于发展中,我肯定还会很激情的继续写代码。即使公司将来发展的厉害了,我也还会继续激情写的。

新公司做手游研发,我部门是内部平台性质的,目标是将各游戏项目都会用的周边系统或者游戏逻辑系统抽取出来,做成一套开发框架和引擎。包括但不限于BI(统计分析系统)、翻译辅助系统、游戏SDK接入、用户系统、游戏服务器引擎等。

顺便打个招聘广告,我们在招中高级PHP和中高级LUA工程师。个人五年游戏从业经验,三年MMORPG端游(畅游的天龙和鹿鼎),一年横版回合页游,一年休闲手游(触控的捕鱼3)。