这三年的变化

        2014-2017这三年对于我个人来说,无论是生活还是工作都发生了非常大的转变。但因为都非常的忙,所以一直以来也没有认真思考过这些变化,逐渐忙得越来越迷茫了。正好最近有一个空档期,趁着这段时间好好总结一下这三年的变化得失,让自己认清楚未来的方向。

        生活上最重要的变化就是身份的转变。从一个无忧无虑的青年变成一个肩挑重担的父亲。15年结婚,16年儿子出生,身份转变的同时,思想与生活都发生了很大转变。以前下班以后想着的是看书写代码,现在下班以后想着的是回到家儿子睡了没有,能不能陪他玩一会。以前周末再怎么忙也会找一天去咖啡店看书充电,现在周末再怎么忙也会找一天带儿子去公园玩。简单来说,结婚生娃之后的生活不能再全部以自我为中心了,更多要考虑陪伴家人与孩子。

        工作上最重要的变化就是职业定位的变化。从一名专业开发人员变成一家创业公司的合伙人与技术负责人。14年的时候在全国最优秀的端游项目组担任开发,每天考虑的是怎么把自己负责的模块做好做精,学习新技术,提升自己。15年出来创业之后,作为初创手游团队的合伙人与技术负责人,每天需要考虑的东西就多了很多。公司层面的例如人员招聘安排,团队建设,资金与进度把控等;产品层面的例如游戏方向,具体玩法,实现的技术等,全部都要参与决策或独立解决。面临的挑战不同,需要用到的技术、技巧也不同。关于创业的心路历程后面会另开一篇来讲述,但创业给我带来的职业变化最直观的就是:接触的东西多了,但能静下心来深入学习研究某一方面技术的机会少了。 Continue reading

Open Water Diver 开放水域潜水员

去年一次偶然的机会在山鹰户外看到潜水课程的介绍,好奇驱动之下踏入了潜水领域,去年就完成课程拿到PADI的OW证,在珠海附近玩过几次。今年8月份又去了菲律宾PG岛潜水度假,算起来也玩了20瓶气左右了,写点关于潜水的入门介绍,让有兴趣的朋友可以了解一下。

首先PADI是一个国际的潜水认证机构,参加他们的课程并且通过考核可以得到他们的潜水员资格证。OW就是OpenWaterDiver的缩写,是入门潜水资格证。类似的认证机构还有CMAS跟PSAI等,他们之间的区别就像是雅思跟托福之间的区别,就是不同的机构提供的课程以及认证。PADI算是最著名的,相应学费会贵几百块,不过无论哪一种都是国际通用的,他们之间也支持相互认证,例如PADI的OW可以考CMAS的2星(进阶)潜水证。所以其实哪个机构颁发的潜水证都一样,主要看课程设置和教练教学质量。

很多人对潜水这活动第一印象可能会觉得门槛有点高。装备是不是很贵?还没会游泳怎么潜?其实一开始了解潜水并不用花很多钱,一次体验潜水(教练抓着你带你潜)大概就500多,一套OW的课程就3千多,包括理论课程,平静水域(泳池)学习课程,开放水域(出海)学习考试费用以及期间装备的使用费用。不会游泳也没有关系,潜水课程会教你如何通过使用潜水装备漂浮游泳,借助潜水服蛙鞋呼吸管达到漂浮游泳是十分简单的事情,基本一个上午的练习就能掌握。普通人花3千块钱左右和几个周末的时间就能了解掌握潜水的基本知识、体验到潜水的乐趣并且得到一个潜水资格证,其实并不贵。当你了解潜水以后,如果想继续玩的话,买一整套装备大概需要八九千,也可以选择租潜水店的装备,租金通常是2百左右一天。

Continue reading

《后会无期》观后感

今晚去看了《后会无期》,这部电影完全没有给我意外,为什么这么说呢?因为这部电影跟《1988》架构是一样的,都是讲述主人公开车穿越中国,途径各个小镇荒漠遇到的人与事来展示社会现象与人生百态。甚至其中一些剧情(嫖妓被抓)、人物(披着军大衣睡沙发的女店员)和台词(包夜包日)都能在《1988》里面找到一模一样的。当然这是无可厚非的,毕竟是他自己的小说,而且也只是架构一样,内容还是很不同的,比直接搬小说上银幕的厚道多了。

但同时这是一部很意外的电影。因为电影该有的套路,情节跌宕,情感起伏、故事铺垫、起承转合,这些在这里都没有。即使参照公路电影来看,也没有公路电影应该有的主题:通过旅途中的事和遇到的人给予的感触从而带给主角改变甚至升华。电影中的三位上路者,第一天就丢了的胡生,旅途完依然天真;奋斗拼搏的浩瀚旅途完了依旧满怀理想的要去闯,而依旧不知道该闯什么。唯一有点改变的算是沉默规矩的江河,后面转变为文艺大师,抱得美人归,但我想这也是他本身坚持的性格所产生的结果,旅途只是给他一个机会。

要赞的是,这部电影与韩寒的小说一样,在许多细节中隐藏了好多东西供我们挖掘,总能在不经意间触动到心里的共鸣,在有意无意中给予很多的感触。就如同第一天就走丢的傻子,这看似很无厘头的设定,似乎就是隐喻我们在人生道路上最先丢掉的童真。而不同的人可以用不同的角度去解读和理解这部电影,里面有现实的残酷与无奈,也有转角的希望与真爱,有心灵鸡汤的滋润也有赤裸裸的耳光,有旅行者的收获与路上的风光,也有默默耕耘的回报与坚持的成功。只要你用心去发掘,总能找到你想要的东西,并且没有主体思想与正确解读。

当然也有不足的地方,就是各种鸡汤语句的乱入。单独拿出来看好像挺有意思的段子,写在QQ签名中装逼一下就算了,无节操的穿插到电影中就太生硬了。第一部电影的这毛病就跟他第一部小说《三重门》一样,乱丢书包,想到一些好像挺有意思的句子就要塞进来,生怕别人不知道,效果反而适得其反。为什么写小说都知道后面改掉这毛病了,转到电影上又这样了呢?是怕电影没有可宣传的点吗?

正路不正路,好的不好的分析了半天,还是说点自己的感受吧。看完以后我的心情是很沉重的。电影中总是有意无意的让你感受到现实的残酷与无奈。像努力上爬的蜥蜴最终摔落地板,那你是往上爬呢还是不爬?求而不得的卤蛋,最后却嫌弃了,那你是求呢还是不求?无惧风浪的信仰其实是抛家弃子的谎言,那你是信呢还是不信呢?维持十八年的纸上爱情原来是欺骗,那你是爱呢还是不再爱了?孤独骑士勇往直前的鼓舞原来只是欺骗,那你是前进呢还是退缩?都说人艰不拆,韩寒偏要拆,拆完了还精巧的包装起来戏弄你,逗你笑,但笑完了我却笑不出来了。

不过我还是对未来充满期待的,就算现实残酷,或者最终如同片尾曲一样是一条《平凡之路》,但人生就一次,后会无期,不用心的走走看看,我是不会甘心的。

 

六七月份忏悔录

六七月份都干了什么呢?为什么要忏悔?因为六七月什么都没干,所以要忏悔啊。

首先工作方面,六七月份都要求加班,每天朝九晚九,不过这个版本我手头上的工作不多,所以每天上班其实有很多时间可以利用得。本应用来看看书或者整理一下现有的代码,结果都没有做到,浪费了好多时光。

看书方面,之前一直在看《游戏编程精粹(一)》,挺好的一本书。讲解了一些游戏开发的成熟解决方案,一些通用的技巧,还有数学以及图形学方面的底层知识。虽然这本书出了十年了,好一些内容过时了,但还是具有很高的参考价值的。不过正如上面所说,六七月份读书进度基本没怎么开展,哎,罪过罪过…

自学Unity3D方面,之前效率还是挺高的。买了《Unity3D游戏开发》和蛮牛网出的《Unity权威指南》来看,两本讲得都是很基础的知识,其实只要看其中一本就可以了。看完后就开始上手做东西,还是学到挺多知识的,也对现有的开发模式有了一些思考,不过不在这里展开说了。到了六七月份,因为加班的缘故,回到家都晚上九点多十点了,周末又经常有事情,所以这方面也没什么进展。

锻炼身体方面呢,本来还可以坚持每周跑两次五公里的,但随着世界杯的开始,熬夜看球,平常又加班,本身人就好累了,结果基本一周只跑一次,有一两周还一次都没跑。真是好堕落啊。

Continue reading

C++ 数据对齐 问题

上一篇文章提到了数据对齐问题,那我们就来看看C++数据对齐的规则,举例分析一下,最后看一个由数据对齐引起的BUG,并思考其带给我们的意义。

首先为什么要数据对齐?现代的64位计算机,总线位宽为64个比特(bit),即8个字节(byte),CPU的寄存器也是8个字节大小,所以访问内存也总是以8个字节为单位。如果一份不足8字节大小的数据因为布局问题跨越了两个8字节单位,这样要读这份数据的时候,就要通过两次总线传输,传递16字节的数据,CPU也要分级缓存这16字节的数据,这实在是太糟糕了。同理,对于32位的系统,小于4字节的数据就不应该夸两个4字节空间,还有其他的平台可能数据访问一次只有2字节甚至1字节。综合这些,数据对齐就是要求数据应该排放在其大小的自然边界上,简单说就是大小为N(1,2,4,8,16,32)的数据不应该放在两个N格子之间,而应该放在一个单独的N格子之内。

上面解释了为什么要数据对齐,要对齐的情况好像还挺多的,也挺复杂的。我们把编译器关于数据对齐的策略总结为三条规则。

规则一:成员变量根据自己的大小来对齐。

规则一的意思就是,关于结构体内该成员是否要对齐,对齐到什么位置,不是看上一个变量,也不是看下一个变量,而是看自己。定义一个int,就要对齐到sizeof(int)整数倍的位置,定义一个double,就要对齐到sizeof(double)整数倍的位置。

规则二:结构体大小必须是最大成员变量大小的整数倍。

规则二定义的是结构体数组最后补齐的情况,如果一个结构体中定义了一个int与一个double,那么最大成员变量是double,大小为8。这时结构体虽然只有4(int) + 8(double)= 12字节大小,但会补齐为8的整数倍 16。这样做是为了处理结构体数组时,每一个结构体内的每一个成员变量都处于边界上。

结合规则一与规则二,我们就可以处理简单结构体的数据对齐了,先来看个例子:

Continue reading