[OT]我的2010(加班无极限)

在今年的最后几天,做一下总结.

1. 今年跳了两次槽(~!@#$%^&*())

  前面俩公司还都做WM开发(这不之前写了不少WM文章),不过最后这个公司,做mmo服务器,所以目前一直在做Linux上面的写代码.

  成功从C#转型到C++.

2. C#->C++的转换,是在第二个公司完成的,他们不用C#写WM程序.

  第一个月是非常痛苦的.记得其中有两次严重的野指针,分别查了一天才找到.

  总结一个经验,如果用malloc,那么一直用malloc,不要一会儿用malloc,一会儿用new......我那两次数组越界都是平时用new,突然用malloc造成的......

3. 现在一直在写C++和lua.

  服务器代码何其多........我有生以来见过最多的代码,想要一时间全部理解,还是困难一些.代码的风格千变万化.

  不过lua就好多了,简单容易理解,而且具有强大的抽象能力和灵活性,令C++汗颜无比.

  曾经有一个同事要把一个小功能用C++实现,我直接上去,用lua现场写了不到20分钟,立马搞定(~!@#$%^&*()):-P,还赠送解说.

4. 加班无极限

  自从写了mmo服务器了,就没消停过......天天加班,星期六都算是正常的........每天差不多10点,日复一日.没有时间看书,没有时间学习.

  而且,最可恨的是,我没外网机,每天上班就是写代码,另外就是用内网聊天工具和同学扯淡(只有内网聊天工具,连email都没的)

 

今年没完成的事:

1. C++对象序列化问题

  C++对象序列化本来是一个很简单的事,但是我们的服务器因为这个事down了不知道多少次了.关键的问题是怎么应对数据成员的增加删除和改动.

  我只知道Thrift和Protocol Buffer在这方面做的挺好的,所以想深入了解一下.如果能把thrift裁剪一下,那是最好不过的事:-D

  Protocol Buffer默认数据类型比较少,Thrift么,太过于庞大,而我暂时指向要期中序列化的部分~~

2. C++ lua交互问题

  C/C++和lua交互,本来算是比较简单的,C/C++把自己注册时LuaState,lua就可以调用C/C++函数;C/C++通过luastate调用lua函数.

  可是问题在于,怎么设计API,使得情况变得合理.

  WoW的那一套API设计,可以让lua做很多事,而不要动用复杂的C++.

  准备研究一些开源的游戏,看看别人是怎么设计API的.

3. 减肥

  锻炼身体,保家卫国.没家.....卫国算了...

 

明年想做的:

1. 今天没完成的

2. 学习一下Haskell

  这个语言看上去很酷.

  有了学习lua的经历,我更想去了解一下函数式语言,lua的表达能力的确很强,很多东西用lua几行就能搞定,用C++写一堆代码.

3. 学习一下随机算法

  服务器里面有好多随机问题,了解一下原理也是不错滴

 

OK,暂时写这么多吧,希望有时间搞定.

 

BTW:

预祝cnblogs的菜鸟,老鸟新年快乐!

转载于:https://www.cnblogs.com/egmkang/archive/2010/12/28/1919253.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/405658.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

前端小知识点(5):JS垃圾回收机制

目录 一、什么是垃圾回收 二.垃圾回收机制原理 三、垃圾回收方法 3.1 引用计数 3.2 标记清除 内存常见内存泄露以及解决方法 4.1 全局变量: 4.2 定时器和回调函数 4.3 闭包 4.4 没有清理DOM元素引用: 一、什么是垃圾回收 垃圾回收是一种自…

linux python pymysql,Python之pymysql的使用

在Python3.x中,可以使用pymysql来MySQL数据库的连接,并实现数据库的各种操作,本次博客主要介绍了pymysql的安装和使用方法。PyMySQL的安装一、.windows上的安装方法:在python3.6中,自带pip3,所以在python3中…

树莓派静态IP配置方法

一、网络接口文件 配置静态IP有个好处在于每次的访问IP是固定的,比如用到的samba服务器共享文件时可以不改动网络地址。树莓派网络接口在/etc/network/interfaces 文件中进行配置,打开该文件:sudo vi /etc/network/interfaces 可以看到第四行…

带可变参数的宏函数和普通函数实现

From: http://www.vimer.cn/2010/03/cc%E5%AE%8F%E5%AE%9A%E4%B9%89%E7%9A%84%E5%8F%AF%E5%8F%98%E5%8F%82%E6%95%B0.html 编写代码的过程中,经常会输出一些调试信息到屏幕上,一般会调用printf这类的函数。 但是当调试解决之后,我们需要手工将…

SAP 免费赠与客户货物的销项税处理

免费赠与客户货物的销项税处理 如果免费赠与客户货物却要体现销项税,如何处理?在实际业务中因为免费货物是不免税的。所以大家总是以为使用0费用解决但是有一种情况是存在于视同销售。 即D:销售费用 C:销项税 SAP中的处理逻…

前端小知识点(2):普通字符串和new String有什么区别

目录 一、其实不仅字符串 二、那么到底为什么? 三、代码案例 四、运行结果 一、其实不仅字符串 var str abc; typeof str > string //他不是对象,可以有方法或者属性 var num 123; //他不是对象,可以有方法或者属性 typeof num …

linux更新命令yum,Linux中升级更新命令yum upgrade和yum update的区别

Linux中升级更新命令yum upgrade和yum update的区别更新时间:2019-10-31 17:21最满意答案Linux升级命令有两个分别是yum upgrade和yum update, 这个两个命令是有区别的:复制代码代码如下:yum -y update升级所有包同时也升级软件和系统内核复制代码代码如下:yum -y u…

Linux 管理登陆的用户/查看/剔除

Linux是多用户操作系统,支持多用户同时在线,支持对登陆用户的管理:查看与剔除等。 一、查看在线用户命令 命令: w 二、查看登录记录命令 命令 last 三、剔除在线用户命令 命令:sudo pkill -kill -t usr 四、pkill…

Windows下 maven3.0.4的安装步骤+maven配置本地仓库

简单讲下maven的安装步骤: 1.在安装maven之前,先确保已经安装JDK1.6及以上版本,并且配置好环境变量。 2.下载maven3,最新版本是Maven3.0.4 ,下载地址:http://maven.apache.org/download.html 下载apache…

C语言日志操作类实例

包含三个主要的文件&#xff1a;joefunction.h(c), m.c(主函数文件) 1. m.c #include <stdio.h> #include <string.h> #include <time.h> #include "joefunction.h"extern FILE *g_logFile;int main(int argc, char *argv[]) {char temp[16] {0}…

ESX与ESXi管理员必备25个命令

ESX与ESXi管理员必备25个命令VMware ESX和ESXi命令这些VMware ESX和ESXi的命令可以运行在ESX服务控制台&#xff08;本地或远程使用Secure Shell&#xff09;或RCLI&#xff08;在VMware Infrastructure 3&#xff09;和vSphere CLI的&#xff08;在vSphere&#xff09;。在RCL…

前端小知识点(3):JavaScript 单线程

目录 一、为什么 JavaScript 是单线程&#xff1f; 二、JavaScript是单线程&#xff0c;怎样执行异步的代码&#xff1f; 三、事件循环机制 四、代码1 五、结果1 六、代码2 七、结果2 一、为什么 JavaScript 是单线程&#xff1f; JavaScript 语言的一大特点就是单线程…

Linux安装samba的过程,Samba安装全过程

对于linux与windows共享&#xff0c;和平共处&#xff0c;我们可以用Samba软件Samba是一套免费的开源软件&#xff0c;可以在linux或其他类unix操作系统上实现windows域控制器&#xff0c;文件服务&#xff0c;打印服务等。Samba实现了windows系统所使用的核心网络协议&#xf…

树莓派UART串口编程--使用wiringPi库-C开发【2-修改驱动】

一、前言 上一篇博文记录了使用wiringPi提供的串口驱动wiringSerial.c wiringSerial.h&#xff0c;并基于该驱动对串口进行简单的通信&#xff0c;测试中发现该串口的驱动比较简单&#xff0c;接收数据会存在分包的现象&#xff0c;另外一点是串口配置只提供了波特率参数配置&…

《软件开发计划》

校友聊项目开发计划书 项目名称&#xff1a;校友聊 1.引言 1.1编写目的 编写本文档的目的是为了校园内网的用户使用本软件进行文字&#xff0c;视频聊天&#xff0c;而不耗费内网的外网的流量。 1.2背景 基于校园内网用户对流量的强大需求&#xff0c;以及考虑到其中一些特殊用…

【转】全面理解javascript的arguments,callee,caller,call,apply概念(修改版)

(注&#xff1a;在看到大家如此关注JS里头的这几个对象&#xff0c;我试着把原文再修改一下&#xff0c;力求能再详细的阐明个中意义 2007-05-21&#xff09;在提到上述的概念之前&#xff0c;首先想说说javascript中函数的隐含参数&#xff1a;arguments Arguments 该对象代表…

windows延缓写入失败相关问题解决办法

From: http://www.ggsafe.com/news/1324547234222.shtml 我们在使用电脑时&#xff0c;有时在不正常关机后电脑会出现这样那样的问题。windows延缓写入失败就是其中一个&#xff0c;很多网友在互联网上发帖求助windows延缓写入失败怎么办&#xff0c;出现这种情况一般都是由于电…

wince linux 性能,wince remote call profiler(性能分析)

如何使用1 建立工程,CPU类型必须于目标机型一致如ARMV4I,所以选择WCE Application,然后选择empty project2 project settings 中,link页,Object/library modules中添加 cecap.lib(前面有空格),Ingore libraries中添加,libc.lib(前面有逗号).C/C页Project Options最后添加 /call…

前端小知识点(4):JS 运行机制和存储

目录 被忽视的内存管理 JS工作原理 JS代码如何运行 JavaScript内存的生命周期 栈内存、堆内存 代码案例 运行结果 被忽视的内存管理 JavaScript不像C、C等语言——程序员必须通过调用内存管理接口&#xff0c;比如 malloc()和free()&#xff0c;自己手动分配和释放内存。…

201506230818_《JavaScript权威指南(第六版)——callee和caller、对象属性用作实参、自定义函数属性》(P175-180)...

1. callee 正在执行的函数。使用方法&#xff1a;arguments.callee... caller 正在调用执行函数的函数。 2.对象属性用作实参&#xff0c;形如&#xff1a;function fn(arg) { var arg.name name || Josn, arg.age age || 60 , ... } 3. 在传入实参时候&#xff0c;宁愿在检查…