从来没有这么郑重其事的打算写写一年的工作内容。原由是好友喻之前在微信上和我简单的聊了几句,感慨时间过的很快,一年转瞬过去了,时间是矢量,纵然有方向,也可以留下点痕迹来。中国教育下的人大多擅长做总结,我也是如此,如果用一条函数曲线来表达我整个2015年的心情走势的话,会是一条0到2派的图样。从年初决定离开渔女这座美丽的城市来到羊城,换了新的环境,接触到新的朋友,工作上我也能独当一面,带起一个小小的团
最近一直在用 js 写游戏服务器,我也接触 js 时间不长,大学的时候用 js 做过一个 H3C 的 web 的项目,然后在腾讯实习的时候用 js 写过一些奇怪的程序,自己也用 js 写过几个的网站。但真正大规模的使用 js 这还是第一次。我也是初生牛犊不怕虎,这次服务器居然抛弃 C++ 和 lua 的正统搭配,而尝试用 nodejs 来写游戏服务器,折腾的自己要死要活的我也是醉了。在给
今天下午 pk 和我讨论了一个问题,他看到在另一个项目组的 lua 代码里有一段使用线性同余产生随机数的代码,但是那个项目组的同事告诉他这个函数生成的随机数是分布不均的。于是他想到了我前两天给他讲的关于 lua 里 % 这个取余数的符号跟 c 语言里的差别。由此展开了讨论。首先铺陈背景,线性求余生成随机数的方式很普遍,对随机数要求不高的代码都可以使用这种方式,因为它实现简单,如果不知道原理的可以去
非礼勿视,非礼勿听
之前在看 lua 源码的时候,看到一处浮点数转整数的方法,当时确实吓我一跳,后来在网上搜索了才知道浮点数原来还有这么神奇的地方,我看到一篇喜欢的文章,翻译一下(英文一般还请见谅),大家要闲着没事可以看看,先贴出 lua 中的转换方法。/* @@ lua_number2int is a macro to convert lua_Number to int. @@ lua_number2integer
最近刚刚完成了我们游戏里的一个功能,抽象出来就和一般我们大家玩的大富翁游戏差不多,在一张地图上抛骰子,然后走动,触发地图上的事件,如果没玩过大富翁可以看看我的截图:我做的功能和这个差不多,这里我想说的不是游戏如何玩,而是策划在配置地图上的每一个格子的奖励或者惩罚时感到困惑。困惑的是策划不知道每个格子被踩中的概率是多少。于是来找我。首先我明确知道我们游戏中玩家初始时是被随机放到地图上的某一个点的,其
在上一篇博文里,我介绍了代理类的相关内容,如果记性好的朋友,应该已经对代理类有了比较深入的认识。在设计代理类的过程中,我们遇到的核心问题是:内存的分配和编译时类型未知对象的绑定。我们通过让所有子类自定义一个 copy 函数,来返回自身的复制,这种方式来解决需要我们自己来管理内存的繁琐,又通过定义代理类绑定子类的类型,通过一个基类指针来保存子类这种方式来实现运行时绑定。但对代码的追求是永无止尽的,虽
Andrew Koenig 和 Barbara Moo 堪称C++研究领域的”第一神仙眷侣”,看他们的书非常有条理性。这次要解释的是C++中的另一个常见问题。找出一种优美的控制内存分配的方法来绑定不同子类对象到容器中。多么复杂的一句话,莫慌,其实很简单,跟着步伐来看。首先假设我们要设计一系列交通工具的类,一般来说我们会定义一个交通工具的基类,里面存放所有交通工具都有的成员和属性,比如这样:clas
类这个概念无非是数据和方法的集合,为什么我一直困惑呢?为什么不弄清楚呢?C++中的类这个概念里有4个函数比较特殊,像我这种以前有C经验的人可能一时难以适应,它们是构造函数、析构函数、复制构造函数和赋值操作符。这四个函数有它独特的地方,总让人摸不着头脑。这次看《C++ 沉思录》之后有心进行一次整理,这里就分享给大家。1、为什么需要一个构造函数?有些类非常简单,完全无需构造函数,所以并非是所有的类都需
前因后果先不谈,实事求是,为了说服我们组的某某,我只能拿出依据来。在我们的软件中,有这么一个功能,会从一个模拟库中进行抽样,抽样的周期为一周的时间,目标是尽可能让样本保持随机性,同时对模拟库的维护频度不能太高。因为有多个行为主体,每个主体都会每周进行抽样,虽然在设计上行为主体之间是没办法沟通的,但是因为种种原因,这些主体之间进行了私密通信,而主体的抽样时间又不是相同的。但从设计上每个主体的抽样随机
在一个类似贪吃蛇的游戏中,随机刷出的豆子在地图上的位置的方法: 第一种先随机出豆子的坐标,然后判断是否在身上上,如果在就重随机,这个做法简单直接,但是当蛇越来越大的时候重随机的次数越来越多;第二种,因为我的蛇是正方形的,所以蛇身把地图分为了8个可随机方块,每次随机就在这8块中随机,虽然这种方法保证了每次都只随机一次就得到豆子坐标,但是要记录的信息过多;第三种,跟第一种一样,直接随机,当判断出豆子在
昨天用C++把我写的一个游戏功能进行了封装,其中涉及到一个小问题,就是我封装的C++类中必须定义2个线程函数,比如像下面这样: class A { public: A(); ~A(); &nbs
标题党,绝对的标题党!!好久没有更新博客了。主要的原因还是一直在忙找工作的事情。10月初从腾讯实习回来后就开始了忙碌的找工作旅程。这里就不谈我的找工作的看法。因为各人有各人的想法,没有必要一刀切。不过结果还是可以分享一下的。经过长达3周的找工作的旅程。我终于确定了。未来我会在珠海的西山居工作。我对这份工作非常的满意,那里有非常棒的程序员,而且珠海是一个非常适宜居住的城市。我在深圳实习的时候去过珠海
上半年找实习的经历,关于笔试面试的一些情况,这里透露给大家啦~~~不涉及到具体的题目,相信题目大家搜索也能搜索到。以下的公司我投递的职位均是研发类岗位,有些特殊的公司投递的是后台开发。大家就当提前预热了的。呵呵~~ 笔试: (研发)阿里巴巴:java、网络、面向对象、数据库(设计数据库系统) (研发)淘宝:js、算法、网络(用js使网页控件透明或是消失) (研发)群硕:C、C++、逻辑题、
来了一个多月了,这边的实习节奏比我想象中要轻松许多,也许大公司都是类似,除了上次写的shell程序外,之后的一周里,allan让我写了一个接口,因为我们项目组的工作目前正在提测,所以对于我这新来的兵就没有什么好安排的,这个接口是由我们组提供给测试部门的,而内部实现我们组已经完成,只需要封装一下就可以了,我认为这个很简单,所以一口答应下来(不答应难道我说不行啊!!!@!!)。看了一些内部实现,然后又
昨天在公司写代码的时候遇到一个非常神奇的bug,抽象出来就是下面这段程序: // test.cpp : Defines the entry point for the console application. // #include "std
接着上次的写,实习已经过了2周了,这两周主要任务是熟悉工作环境和组内成员并参加实习生培训,我的状态非常好,和组内成员在第一天来就一起出去吃了餐中饭,学姐请客,哈哈!不过这是我们组唯一一个妹子,在我来的第一天就调到北京去了~~5555555555(话说之后我们组就没看到过妹子了。。。。)。第一周安排了好多培训课程,无非就是对业务系统熟悉一下,然后开发流程以及开发工具的培训,没有什么特别的,以前做项目
就像所有的剧情开始那样,我来到了这个陌生的城市——深圳。我是15号晚上5点20上的火车,我买的是站票,倒不是没有钱买硬座或者卧铺,只不是我提前10天去买的时候就只剩下站票了。火车上站着确实难受,到了晚上3点的时候我已经决定几个月后回武汉一定要买卧铺票了。 第二天早上到了深圳火车站,下了火车后我如释重负,在火车站转悠了下就坐出租车去公司大楼,和司机师傅聊了下,大
两个月左右没有更新博客了,原因说了也白说,人是喜欢找原因的动物。这会造成很多假象,浪费很多时间,我喜欢向前看。说说近况吧。明天就要坐火车去深圳了,我从出生到现在就去过中国的3个省:武汉(出生地)、江西(和朋友出去爬庐山)、长沙(和朋友出去玩)。现在这次算是我自己第一次因为个人原因的出远门。没有想象中的激动,有的只是平静,因为想要环球旅行,所以在中国境内的旅行对我来说应该是波澜不惊的,呵呵。我把该带
这些天闲来无事把以前写的东东整理了下,突然发现一个有趣的玩意,是帮Leading Yu写的木马学实验,我貌似写了个ICMP的小木马,这里就贴出来大家娱乐娱乐了~~ 1. 什么是ICMP协议 ICMP是“Internet Control Message Protocol”(Internet控制消息协议)的缩写。它是TCP/IP协议族的一
最近在看李先静先生的《系统程序员成长计划》,正好复习一下自己的C语言基础。李先生所认为的双向链表和动态数组是真实项目中最常见的应用我很赞同,还记得我第一个SIP TRUNK项目里电话请求就是用链表实现的队列。不过李先生讲的更加抽象,可能是因为他站在一个跨平台的思想高度来思考问题的,所以书中要求实现的双向链表和动态数组都是不限数据类型,我没有那么高的思想水平,就实现了一个整数的双向链表和动态数组,主
本周做了很多的实验,其中关于OpenGL的实验还是比较有意思的,最近也是很忙,没时间细细品味了,实验报告贴这里供大家参考(实验要求和目的以及内容都是我原创的哦~~哈哈!) 实验一:实现折线和矩形的橡皮筋 一、实验目的与要求 使用橡皮筋技术实现绘制折线和矩形。橡皮筋技术的关键在于控制图形随着用户的操作(鼠标移动)而不断发生变化,此时要擦除原有的图形同时生成新的图形。橡皮筋技术有两种实现方法:一
上周帮一个童鞋做一个数字认证的实验,要求是编程实现一个基于X.509证书认证的过程,唉!可怜我那点薄弱的计算机网络安全的知识啊!只得恶补一下了。 首先来看看什么是X.509。所谓X.509其实是一种非常通用的证书,什么是证书?唉!这么说吧!当两个人需要进行远程通信而又不想让第三个人知道时就必须建立一种安全措施,因为看不到对方的脸,又不能通过电话直接询问对方,就得想点别的办法,比如我设计一个密码,
昨天一个朋友拿来了他自己改写的一段C语言程序,是使用指针改写了二分查找的算法,可他编译怎么也过不了,于是让我来看看,我在教室看时也没发现什么问题,程序代码如下: #include <stdio.h> int *bsearch(int *t, int n, int x) {
今天看书时突然发现C语言中对数组长度的定义在C99标准中也可变了,真是孤陋寡闻了。汗颜啊~~ 在C99中新加入了对变长数组的支持,即数组的长度可以由某个非const变量来定义。可变数组的空间大小直到程序运行时才能确定,因此只有程序在运行时才能为程序分配空间。在gcc编译器程序会在运行时根据实际指定的大小(变量当前的值)调节esp的值,为数组在栈上分配适当大小的空间。由于要在运行时才能为数组分配空
上周帮一个刚刚找到自己方向的好友做了一个编译原理的课程实验,要求是做一个词法分析器,具体要求如下: 对下述文法和单词表定义的语言设计编制一个语法分析器。 (1)单词符号及种别表
文件的打开操作 fopen 打开一个文件 文件的关闭操作 fclose 关闭一个文件 文件的读写操作 fgetc 从文件中读取一个字符 fputc 写一个字符到文件中去 fgets 从文件中读取一个字符串 fputs 写一个字符串到文件中去 fprintf 往文件中写格式化数据 fscanf 格式化读取文件中数据 fread 以二进制形式读取文件中的数据 fwrite 以二进制形式写数据到文件中去 getw 以二进制形式读取一个整数 putw 以二进制形式存贮一个整数
今天写一个OpenGL的程序时发现我的机器出现这样一个链接错误,link时出现的错误提示: error LNK2001: unresolved external symbol ___glutInitWithExit@12 这是一个很常见的问题,解决办法很简单: 下载新版本的glut32库。 我把这个库附在文章后面供大家下载了。 更新库后继续编译链接,发现又出来一个错误: error L
学习过C语言的人也许有时会遇到这样一个问题:如何用变量存储汉字以及对这些变量进行操作。目前许多C语言参考书中都没涉及到这个问题,程序中多为处理英文变量和英文字符串,涉及到汉字的情况也大都是在printf语句中输出提示信息或结果,如: printf("请输入a,b的值:\n"); printf("输出功率为%s千瓦。\n",power); 考虑到还有相
之前并没有学习过VHDL这种语言,这次先花了1天时间学习了下基本语法,觉得这种语言就是描述硬件设备的功能,写起来相当简单,果然,3天的编写代码+debug+烧录进实验台终于非常圆满的完成了,因为有部分学校的课程设计是这个,所以我就不方便贴出所有代码了,那样只会让更多的童鞋不去自己动手写了,不过我还是贴一些代码供大家参考,实在有需要的可以和我联系:
Copyright © 2005-2025 51CTO.COM 版权所有 京ICP证060544号