自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

FreeSpace

自由世界

  • 博客(24)
  • 资源 (3)
  • 收藏
  • 关注

原创 立此存照

零。在路上   在人天并不充裕的条件下,完成了项目组安排的各项开发任务,并推动了服务器成本缩减工作。   锻炼出一支素质过关的队伍。   游戏业务知识,程序系统知识和调试经验得到大幅度提升。   改进和解决了原代码中一些影响性能和错误的代码。零点五。既往开来   放下历史包袱。以往所有的成败都不足决定现在   有想法在第一时间试验,无拖沓   工作提前准备,

2012-12-23 17:30:47 339

原创 浅说Java线程

Java直接在语言层面开放了线程,从而使多线程编程从小心翼翼的系统编程中解放出来。比起C/C++程序员,我们应该庆幸。进程是操作系统分配资源的最小单元,线程一个进程内最小的程序指令运行单元。从宏观上看,多个进程同时都在运行,我们把这中现象称为并发。即使是只有一颗单核的CPU现在操作系统也能实现并发,但是微观上在某一个瞬间这颗单核的CPU还是只运行了一个进程。如果是多cpu架构,或者

2012-03-18 16:35:55 389

原创 提纲

设计为解决问题而设计,从实际出发,不追求不切实际的解决方案。一个设计足以承受淘宝峰值,足以承受10年周期的需求扩展。隐藏实现,隔离变化。设计模式的话题,为解决问题服务,不能生搬硬套,看不出设计痕迹的模式才是好模式。两种扩展方式,横向的如servlet,纵向的如过滤器。调试快速迭代,快速失败。第一时间发现问题,第一时间修复。一个复杂的系统可以分成多次实现完成。第一版做

2012-03-17 00:38:29 321

原创 防止工程结构失效

工程的组织方式,正交性高质量的设计文档不断的软性重构,新的环境 软硬api,统一的思维范式岗前培训,程序员的素质

2011-07-08 18:42:32 495 1

原创 游戏服务端开发-三

应用服务器的设计(下)每个程序员都知道软件开发的阶段分为需求分析,概要设计,代码开发,调试,和维护。可惜的是为应用程序定义灵魂的需求分析阶段我们花的时间最少,在需要变换莫测的环境中,时间都在调试bug修改设计中的消失。在功能黑盒测试后匆匆发布。在面对实际出来的应用功能,我们的需求人员又会有新的点子出现,甚至是颠覆原来的设计。怎么办,怎么办。尤其是产品在线上运行期间,如何打补丁。

2011-06-25 13:55:00 640

原创 游戏服务端开发-二

应用服务器的设计(上) 应用服务器的工作有:0同步广播玩家的行为;1作为第三方对玩家个体和玩家之间互动行为计算,并将计算结果推送到数据存储系统;2驱动游戏中的NPC;3作为一个特殊的游戏参与者,与玩家相互作用。 应用服务器最重要的工作莫过于同步广播玩家之间的行为,使玩家之间能够互视,多人同时游戏才有意义。最简单的广播莫过于向全体在线玩家广播,但这么大IO对客户端和服务器

2011-06-25 13:52:00 858

原创 游戏服务端开发-一

数据存储服务器游戏中的数据大致分为静态配置数据和动态的玩家数据。这里主要讨论玩家数据存储的解决方案。虽然游戏应用的写操作要多于读操作,但是加入缓存层仍然有其必要性。多个应用服务器启动时从数据库读取数据会在瞬间给数据库造成巨大压力,如果将相对静态的数据以文件的形式放在应用服务器本地,可以避免这个问题,但同时带来的另一个问题是静态数据的维护成本增加。引入静态数据缓存层,避免集中访问对数

2011-06-25 13:50:00 1286

原创 游戏服务端开发-零

 服务器架构1台代理服务器,职责 转发C/S之间的消息 跨线聊天 跨线社交 跨线交易 换线应用的原子控制 统计玩家操作记录 管理控制台+台应用服务器,职责 场景消息同步 推送玩家数据到存储服务器+台数据存储服务器,职责 缓存在线玩家数据 持久玩家数据  代理服务器的设计代理服务器最主要的工作是转发C/S之间的通信消息。代理服务器会维护

2011-06-25 13:49:00 929

原创 冲出你的窗口

我是一个标题党,我喜欢勾你引来读一读我写的东西。但是我不会炒作,最起码我不会炒作自己。锤子的眼里只有钉子,在井下只知道天不过井口大小。如果出位是一场选拨赛,那么与众不同的经历和全新的视野才是出位的关键。这里推荐几篇给我印象深刻博文,权当抛砖了,希望您也能抛玉过来。“一段时间以来,我研究自己发展的过程中的瓶颈的时候,发现一切瓶颈都不来自能力,都来自视野,来自于给自己设置的愚蠢的极

2011-06-25 13:29:00 483

原创 一个程序员的2010

以下这些文字献给我刚去世的祖父! 2010开始的我还是单身,但我还是兴奋,因为刚刚认识的你还没有拒绝我,我简单的幻想着可以牵着你的手在阳光里和月影下。被拒绝的春天不是一个好的季节,没关系,我还有工作可以寄托。我可以虚构一个世界,一个有情有义的世界。兄弟们很好,我们一起熬夜,一起学习,一起欢迎新同学。我穿着新的T恤,写着“NEW DREAM NEW L

2011-06-25 13:27:00 389

原创 买了红的玩家还买了蓝

一个笑话当我还在天神公司的时候,我常常和王宇讲一个笑话:买了红的玩家还买了蓝。每当公司的领导们讨论游戏都有哪些盈利点时,我都会想起这个带有BI色彩的笑话。09年我被阿里的人蛊惑了,申请了阿里的工程师,希望能锻炼出在海量数据中搜索有用信息的本事。自然阿里没有给我机会。不过昨天晚上我看到一个创业工程师给出的题目,突然有了一点思路。垂直搜索从你在某个网站的博客开始,将此网站的

2011-06-25 13:25:00 692

原创 服务端编程手记

1使用版本控制系统--不需要解释2好的搭档--默契会有好的效率,撞出创意的火花3保持逻辑计算部分和网络松耦合--容器外的可测试性会极大的提升开发效率4TDD,胸有成竹,尽早单元测试--尽早发现问题5认真思考测试用例和边界调节--我知道我想要的是什么6迭代开发--每次只开发开发一个功能,集腋成裘7重构要保持接口的兼容性--防止屠宰式的重构8学习unix的文件概念--一

2011-06-25 13:23:00 751

原创 非标准编程能力

 一切的一切都基于我的个人经验,欢迎拍砖和补充。想从coder称为programmer吗?想让工资成几何数的增长吗?想。。。。。。以下题目可以不完全地测试您系统编程功力,如果给了您丁点启发或者帮助都是我的荣幸。一。Windows和*nix操作系统的区别在哪里?Tips:答案不包括图形用户接口。二。什么是内存碎片?怎样产生的?尝试写一个内存池。Tips:建议使用C语言。三。h

2011-06-25 13:21:00 328

原创 光阴的故事

    很高兴您没有被我吓到,也没有离开。这是夏天拍的,因为工卡需要一张,所以有了史上第一张的电子版的照片。翻出05年毕业时拍的照片,比较比较让人唏嘘不已,感慨万千啊。小时候我的理想是双手端着爆破筒,紧跑两步然后塞进敌人的暗堡中,然后挥一挥手,“弟兄们,给我上!”再后来我的理想是有着像张无忌一样的武功,每天狠狠揍邻居家的小胖。五六年级时我天天想着明天可不可以不用上课,在家看动画

2011-06-22 20:02:00 460 1

原创 我是个写游戏的程序员

以下这些文字献给我还念念不忘的你从一个笑话开始    夏天和同事吃饭的时候聊到了女人要嫁怎样的IT男。    不能嫁服务器开发人员,虽然稳定但是太闷,缺少美丽的形貌。更要命的是,和你联系的同时可能还和其他MM保持着联系。也不能嫁客户端开发人员,这些看上去很美的人,除了能露脸参加Party外,却是甩手掌柜,遇事只管推给服务器处理。如果素质比较低的话,还会没来由的占用你

2011-06-22 19:57:00 493

原创 利用GCC制作静态库

假设当前目录下有这些源文件:[main.c    func.c    func.h],其中main.c要调用func.c中的函数。生成静态库:$ gcc -c func.c -o func.o$ ar rcs libfunc.a func.o$ gcc main.c -o main -static -L. -lfunc$ ./main

2011-06-22 19:54:00 280

原创 在200亿中排序

在200亿个整数中,排序找出最大的10000个。定义数组 int iarr[200000000000]的,毙掉;利用冒泡算法排序的,毙掉;。。。。。参考算法,定义数组,大小10000,组织成堆。将后续的整数依次读入,我们做堆排序。修订1:定义数组,大小10000,组织成堆。再定义数组,大小10000,组织成堆。再定义数组,大小10000,前两个堆进行并归排序,填充第三个

2011-06-22 19:52:00 398 1

原创 判断CPU大小端的函数

int checkCPU(){  union w        {   int a;   char b;  } c;  c.a = 1;  return (c.b == 1);}  联合体union的存放顺序是所有成员都从低地址开始存放,利用该特性,可以轻松地获得CPU对内存采用Little-endian还是B

2011-06-22 19:50:00 580

原创 开发点滴

1。测试很重要。代码设计编写前,不妨先写一个测试驱动,明确一下自己的需求。测试环境一定要对生产环境模拟到位,系统平台,语言时区,操作习惯,数据量。 2。函数执行后必有变化,将实际结果与预期作比较即是测试。函数设计最好带有返回值,方便测试;没有返回值不必强求,可以测试函数的参数,被函数操练后,参数多有变化,测试之;没有返回值,参数没有变化,函数多为IO功能,向磁盘数据库写入数据(

2009-08-07 11:36:00 295

原创 求职的几点总结

2009年六月初辞职,七月初上岗,中间一个月的时间面试了六次,主动拒绝了三次,被拒绝两次。 总结一,第一份工作很重要,包括公司服务的行业,公司的行业知名度,工作中使用的技术,入职的岗位。因为之前的公司服务于房地产行业,不是热门,没有其他公司希望的行业经验,而且也没有行业知名度,个体的价值不容易被认可。龙创腾达的面试官对我说,我的简历上没有什么特别的地方,最终没有合作,因为我的技术达不到

2009-08-03 20:55:00 372

原创 google.cn的败局

被批评之后google.cn的搜索框没有了网页语言的选择,今天使用也没有Ajax的提示效果了。google就准备这样对抗中国政府吗?真的以为这样可以给中国政府难堪?如此消极的公关,看来Google败走中国的时间不远了。强龙难压地头蛇,百度这下更嚣张了。看来以后搜不到有效的信息了。开发人员要抓紧时间夯实基本功,熟记API啊,不能再指望搜了,尤其是面试上机的时候。搜索引擎市场会不会出现

2009-06-24 22:57:00 294

原创 新的时机

寒冷的冬天没有使你冷静下来,炎热的夏天已经来临。你是否坐立不安,浮躁不已。每天忙于寻找商机,开拓市场,不停的约见客户说服他们拿出预算来购买你的产品和服务,可惜客户的财务预算也缩水了,拉单子比以前困难多了。还有那已经购买了产品的客户,不停的给你打电话,告诉你哪个哪个环节不是符合业务逻辑,操作上能不能方便些,甚至出现了bug,看到了他们不该看到“XXException stack

2009-06-10 23:59:00 371

原创 儿子你大胆的往前走

有钱就是好。撞死了人,连公务员都帮着自己。我要玩命的赚钱,成为名人,成为政协委员,成为富二代的父亲,让我儿子干什么事情都可以百分之百投入,不用担心他的行为会不会伤害他人,因为作为他老子的的我,有影响力,有钱,有能量,可以摆平一切。有钱就是好,儿子你大胆的往前走。

2009-05-18 10:02:00 430

原创 我再也不追逐技术了

要什么核技术,我们面对任何敌人都可以用现有的游击战术战胜它,对吧要什么大飞机,我们可以买外国人,对吧要什么核航母,我们的潜艇也可以防御美国航母,对吧要什么自主技术,有不掏钱的Tomcat和JBoss,有现成的Linux,有免费的Mysql,费劲再去造自己的轮子,多傻啊,对吧 所以我再也不追逐技术了

2009-05-16 21:10:00 304

海归带来的架构PPT

很到位,很透彻,有启发性,不过是纯英文的

2009-05-25

Chinese framework

中国人自己的开源框架

2007-06-15

Spring

spring framework

2007-06-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除