- 博客(90)
- 资源 (4)
- 问答 (1)
- 收藏
- 关注
原创 想成为一个游戏程序员要有以下资料
下面文章转自,自学编程网http://www.zxbc.cn/一、书籍:算法与数据结构:《数据结构(C语言版)》——严蔚敏、吴伟民清华出版社我觉得其配套习题集甚至比原书更有价值,每个较难的题都值得做一下。 《Introduction to Algorithms》第二版中文名《算法导论》关于算法的标准学习教材与工程参考手册,在去年优快云网站上
2014-11-15 12:31:13
1892
原创 VS2008下安装和使用BOOST库boost-1_54
下载boost库(最好去官网下,一般有SGI(GCC+用的较多)和BOOST之分,VS下用BOOST)下载boost_1_54_0压缩文件,解压缩到d:\boost_1_54_0\(可以任何位置,你觉得合适就可以)目录下1.编译bjam从开始->程序->Microsoft Visual Studio 2008->Visual Studio Tools->Visual Studi
2014-11-05 18:00:04
773
原创 redis设计思想
分类: NOSQL不同于nginx的精雕细琢,redis代码的风格趋向于简洁实用。简洁启事,下面所述不再列举任何源码,不拼凑任何外来资料。去除末枝,下面直入redis主题,尽可能简洁地描述redis的设计思想。 整体模型:单进程单线程事件驱动模式。Redis在主处理流程中,采用了单进程接受各种client请求并返回结果,整体处理流程采用事件驱动的方式
2014-10-30 17:56:46
656
原创 Redis源码解析(1)——源码目录介绍
概念 redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)和zset(有序集合)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样
2014-10-30 17:51:19
647
原创 在多台服务器上简单实现Redis的数据主从复制
Redis的主从复制功能非常强大,一个master可以拥有多个slave,而一个slave又可以拥有多个slave,如此下去,形成了强大的多级服务器集群架构。下面我演示下怎样在多台服务器上进行Redis数据主从复制。这里我假设有两台服务器,一台是Windows操作系统(局域网IP:192.168.3.82),一台是Linux操作系统(局域网IP:192.168.3.90),在两个操作系统都安装re
2014-10-30 17:49:47
1545
原创 UDP下的网络穿越代码实现
论坛上经常有对P2P原理的讨论,但是讨论归讨论,很少有实质的东西产生(源代码)。呵呵,在这里我就用自己实现的一个源代码来说明UDP穿越NAT的原理。首先先介绍一些基本概念: NAT(Network Address Translators),网络地址转换:网络地址转换是在IP地址日益缺乏的情况下产生的,它的主要目的就是为了能够地址重用。NAT分为两大类,基本的NAT和NAPT(Ne
2014-03-22 10:07:56
1079
原创 TCP协议实现网络穿越
这个标题用了两个顿号三个名称,其实说得是同一个东西,只是网上有不同的说法罢了,另外好像还有人叫TCP打孔(我的朋友小妞听说后问“要打孔啊,要不要我帮你去借个电钻过来啊?”“~!・¥%……・!”)。闲话少说,我们先看一下技术背景:Internet的迅速发展以及IPv4 地址数量的限制使得网络地址翻译(NAT,Network Address Trans2lation)设备得到广泛应用。NAT设
2014-03-21 23:24:13
744
原创 网关服务器
网关服务器分类: 游戏服务器 2012-03-13 21:19 2642人阅读 评论(5)收藏 举报服务器游戏负载均衡数据库服务器平台聊天 之前想着要把什么什么给写一下,每次都太懒了,都是想起了才来写一下。今天只讨论游戏服务器的网关服务器。 1.转发 转发客户端和服务器间的消息,网关将场景、会话、数据、名字、平台
2014-03-03 10:34:56
845
原创 编写可读代码的艺术 读后感(三)
第三部分我们将在函数级别对代码做一些改动以改善代码的可读性。第10章 抽取不相关的子问题 本章的建议是“积极地发现并抽取出不相关的子问题”。1、提炼纯工具代码并放置到项目中一个公共的地方(例如util)。2、创建大量通用的代码。“自顶向下”与“自底向上”相结合。3、简化(包装)已有的接口,使其表现得更整洁易用。第11章 一次只做一件事 本章的关键思想
2014-02-10 16:17:38
692
原创 编写可读代码的艺术 读后感(二)
第一部分介绍了“表面层次的改进”,一次一行,在没有很大风险也不需要花很大代价的情况下改进代码的可读性。接下来,第二部分将讨论“简化循环和逻辑”这个主题,相对第一部分,第二部分的技巧方法通常都需要对代码做些许改动。但这些改动仍然是一些简单的调整(或说重构),不会带来太大的风险和代价。第7章 把控制流变得易读1、条件语句中参数的顺序明显的,[cpp] view plainc
2014-02-10 16:16:06
742
原创 编写可读代码的艺术 读后感(一)
The Art of Readable Code 作为程序员,日常工作的大部分时间都是花在一些“基本”的事情上,像是给变量、函数或类命名,写循环以及在函数级别解决问题。并且这其中很大的一部分就是阅读和编辑(修改)已有的代码。因此,代码是否易于理解就显得尤为重要。《编写可读代码的艺术》(The Art of Readable Code)这本书从命名,排版,注释,循环以及如何拆分长表达式
2014-02-10 16:15:08
1248
原创 C++编程规范 读书笔记(下)
《C++编程规范——101条规则、准则与最佳实践》(C++ Coding Standards——101 Rules, Guidelines and Best Practices)名字空间与模块第57条(D):将类型及其非成员函数接口置于同一名字空间中第58条(D):应该将类型和函数分别置于不同的名字空间中,除非有意想让他们一起工作 ADL(参数依赖查找,也成Koeing
2014-02-10 16:08:24
621
原创 C++编码规范 读书笔记 中
《C++编程规范》读书笔记(中) 《C++编程规范——101条规则、准则与最佳实践》(C++ Coding Standards——101 Rules, Guidelines and Best Practices)类的设计与继承第32条(C):弄清所要编写的是哪种类第33条(C):用小类代替巨类 分而治之。用类表示概念。第34条(B):用组合代替继承
2014-02-10 15:57:55
656
原创 C++编码规范 读书笔记(上)
《C++编程规范》读书笔记(上)分类: 读书笔记 C/C++ 2013-08-03 18:05 134人阅读 评论(0)收藏 举报C++编程规范 项目组一直没有做代码审查,最近有启动这项计划的打算,因此提前复习一下《C++编程规范》,并做一些笔记。我们做任何事通常都先从简单的入手,循序渐进,持续改进,那么做代码审查也不例外,《C++编程规范》又
2014-02-10 14:11:12
671
原创 More Exceptional C++ 笔记
Exceptional C++读书笔记 1泛型程序设计与C++标准库(没看) Item 1 Iterator:1)注意当前迭代器是否有效,如果无效则解引用产生程序错误;2)注意当前迭代器生命期,某些容器经过某些操作后将重新分配内部存储空间,则当前迭代器无效;3)有效范围, 类似find(first, last, value)时,迭代器first 必须在last之
2014-01-27 16:45:46
1016
原创 More Exceptional C++
在本书中,Herb Sutter采用了独具匠心的“提问/解答”的方式来指导你学习C++的语言特性;在本书的每个专题中,HerbSutter合理地设想出你的疑问和困惑,又有如神助地猜到了你的(可能是错误的)解答,然后给你以指点并呈现出最佳方案,最后,还提炼解决类似问题的一般性原则。本书适合的读者对象是中高级程序员,尽管如此,只要具备基本的C++功底和一定的程序设计经验,你完全可以理解和消化本书的
2014-01-27 16:42:08
800
原创 More Exceptional C++ 读书笔记2
//内存管理的一部分来自于http://blog.youkuaiyun.com/kingofark/category/9109.aspxItem 1 Iterator: (1): 注意当前迭代器是否有效,如果无效则解引用产生程序错误;(2):注意当前迭代器生命期,某些容器经过某些操作后将重新分配内部存储空间,则当前迭代器无效;(3) : 有效范围, 类似find(first, last
2014-01-27 16:41:01
709
原创 More Exceptional C++ 读书笔记
Item 1 Switching Streams(1): 多考虑易读性,避免编写过渡简洁但是不易懂,不易维护的代码;记个相当简洁的流切换代码:(argc > 2 ? ofstream(argv[2], ios::out|ios::binary) : cout ) 1 ? ifstream(argv[1], ios::in|ios::binary) : cin).rdbuf(
2014-01-27 16:38:51
551
原创 Exceptional C++ 读书笔记
Exceptional C++ 读书笔记 1泛型程序设计与C++标准库(没看) Item 1 Iterator:1)注意当前迭代器是否有效,如果无效则解引用产生程序错误;2)注意当前迭代器生命期,某些容器经过某些操作后将重新分配内部存储空间,则当前迭代器无效;3)有效范围, 类似find(first, last, value)时,迭代器first 必须在la
2014-01-27 16:34:16
675
原创 STL中的取反器和绑定器 仿函数的写法--之前写的不是很好
bind2nd和bind1nd的用法struct printx: public binary_function{ int operator()(int a, int b)const { cout return a+b; }}; int main(){ vector my; my.push_back(0);
2014-01-26 15:08:29
1158
原创 Effective STL:第二部分 容器
第二部分 vector和容器第十三条:vector和string优先于动态分配的数组当你决定用new来分配内存时,将承担以下责任:n 你必须确保以后会有人调用delete来删除所分配的内存,否则将导致资源泄露。n 你必须确保调用了正确的delete形式。比如单个对象调用delete;分配了数组,则调用delete[]。n 你必须确保只delete了一次。如
2014-01-26 13:48:34
547
原创 Effective STL第一部分: 容器
第一条:慎重地选择容器C++提供了以下一些容器:n 标准STL序列容器:vector、string、deque和list。n 标准STL关联容器:set、multiset、map和multimap。n 非标准序列容器:slist和rope。slist是一个单向链表,rope本质上是一个“重型”string。n 非标准关联容器:hash_set、hash_multiset
2014-01-26 13:47:30
733
原创 Effective STL 读书笔记
最近有闲,在工作之余重读了《effective STL》一书,并通过 twitter 记了一下笔记,今天整理收集到这里。twitter 真的非常适合记读书笔记,哈哈,以后要好好地发扬。另,我的手机还是很老的 UIQ 3.0 的索爱手机,有没有达人推荐一些上推的应用程序?谢谢。====================================#estl 第50条:熟悉与STL相
2014-01-26 13:45:34
750
原创 Effective STL
这个在赖勇浩的读书笔记基础上改动的,因为没有找到这50条单独的记录,所有只好在基础上改动了。http://blog.youkuaiyun.com/gzlaiyonghao/article/details/5381763第1条:慎重选择容器类型;第2条:不要试图编写独立于容器类型的代码。第3条:确保容器中的对象拷贝正确而高效;第4条:调用 empty 而不是检查 size() 是否为 0。
2014-01-26 13:44:40
799
原创 Effective C++ 8. 定制 new 和 delete
条款49: 了解new-handler的行为为了指定这个"用以处理内存不足"的函数,客户必须调用 set_new_handler, 那是声明于的标准程序库函数。namespace std{ typedef void (*new_handler) {}; new_handler set_new_handler(new handler p) throw
2014-01-13 17:13:08
621
原创 More Effective C++读书笔记
转载▼标签:itc 条款1:指针与引用的区别二者之间的区别是:在任何情况下都不能用指向空值的引用,而指针则可以;指针可以被重新赋值以指向另一个不同的对象,但是引用则总是指向在初始化时被指定的对象,以后不能改变在以下情况下使用指针:一是存在不指向任何对象的可能性;二是需要能够在不同的时刻指向不同的对象在以下情况使用引用:总是
2014-01-10 09:40:22
660
原创 Effective C++ 7.0 模板与泛型编程
条款41 了解隐式接口和编译器多态1. classes 和 templates 都支持 接口 和多态2. 对 classes 而言接口是 显式 的,以函数签名为中心, 多态则是通过 virtual 函数发生于运行期间。3. 对 template 参数而言, 接口是隐式的, 奠基于有效的表达式。 多态则是通过 template具现化 和 函数重载解析 发生
2014-01-09 16:40:38
672
转载 iOS应用内付费(IAP)开发步骤列表
iOS应用内付费(IAP)开发步骤列表2013-04-12 15:53 唐巧 blog.devtang 字号:T |T登录到Developer.apple.com,然后进行以下步骤,为应用建立建立一个不带通配符的App ID,用该App ID生成和安装相应的Provisioning Profile文件。AD:2013云计算架构师峰会课程资料下载前两天和服务端
2013-12-30 17:26:26
727
转载 苹果的验证接口文档
苹果的验证接口文档发表于3个月前(2013-09-10 12:05) 阅读(244) | 评论(0)0人收藏此文章,我要收藏赞0苹果的验证接口中文版 原文链接https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/StoreKitG
2013-12-30 17:25:47
2191
原创 Effective C++ 6.继承与面向对象设计
条款32:确定你的public继承塑模出is-a关系 以C++进行面向对象编程,最重要的一个规则是:public inheritance(公有继承)意味is-a(是一种)的关系。 如 果你令class D以public形式继承class B,你便是告诉C++编译器(以及你的代码读者)说,每一个类型为D的对象同时也是一个类型为B的对象,反之不成立。你的意思是B比D表现出更一般化得
2013-12-26 22:44:07
600
原创 Effective C++ 5.实现
条款26:尽可能延后变量定义式的出现时间 只要你定义了一个变量而其类型带有一个构造函数或析构函数,那么当程序的控制流到达这个变量定义式时,你便得承受构造成本;当这个变量离开其作用域时,你便得承受析构成本。即使这个变量最终并为被使用,仍需耗费这些成本,所以应该尽量避免这种情形。 std::string encryptPassword(const std::string& pa
2013-12-26 15:34:43
601
原创 Exceptional C++ 读书笔记
Exceptional C++读书笔记 1泛型程序设计与C++标准库(没看) Item 1 Iterator:1)注意当前迭代器是否有效,如果无效则解引用产生程序错误;2)注意当前迭代器生命期,某些容器经过某些操作后将重新分配内部存储空间,则当前迭代器无效;3)有效范围, 类似find(first, last, value)时,迭代器first 必须在last之
2013-12-26 14:38:24
688
原创 More Exceptional C++ 读书笔记
More Exceptional C++ 读书笔记 Item 1 Switching Streams (1): 多考虑易读性,避免编写过渡简洁但是不易懂,不易维护的代码; 记个相当简洁的流切换代码: (argc > 2 ? ofstream(argv[2], ios::out|ios::binary) : cout ) 1 ? ifstream(argv[1],
2013-12-26 14:37:23
703
原创 C++
c++程序设计语言 c++编程思想 c++primer 高度探索C++对象模型 C++名家对话 More Exceptional C++ Effective C++ More Effective C++ TheC++StandardLibrary C++沉思录 C++Templates完全导引范例 C++Primer Plus C++ 面向对象多线程
2013-12-26 14:33:13
704
转载 C++学习建议
C++学习建议C++缺点之一,是相对许多语言复杂,而且难学难精。许多人说学习C语言只需一本K&R《C程序设计语言》即可,但C++书籍却是多不胜数。我是从C进入C++,皆是靠阅读自学。在此分享一点学习心得。个人认为,学习C++可分为4个层次:第一层次,C++基础:挑选一本入门书籍,如《C++ Primer》、《C++大学教程》、或Stroustrup撰写的经典《C++程序设计语言》或他一
2013-12-26 13:39:43
514
转载 重构,改善既有代码
《重构:改善既有代码的设计》读书笔记(2013-05-12 09:08:09)转载▼ ---- 2013-05-12 09:08:09 ---- Chapter1:1、fun太长,分割到其他类。2、当需要给一段代码写注释时,往往可以把这段代码提取成一个fun。3、少写重复代码。4、多内聚,if can,把fun搬到
2013-12-26 13:08:21
781
原创 Effective STL
effective stl 读书笔记本文在赖勇浩的笔记上继续写的^_^ 第1条:慎重选择容器类型;第2条:不要试图编写独立于容器类型的代码。第3条:确保容器中的对象拷贝正确而高效;第4条:调用 empty 而不是检查 size() 是否为 0。 第5条:区间成员函数优先于与之对应的单元素成员函数。区间成员函数写起来更容易,更能清楚地表达你的意图,而且它们表现出了更
2013-12-26 09:13:51
709
原创 More Effective C++ 35 条建议
条款1:指针与引用的区别二者之间的区别是:在任何情况下都不能用指向空值的引用,而指针则可以;指针可以被重新赋值以指向另一个不同的对象,但是引用则总是指向在初始化时被指定的对象,以后不能改变在以下情况下使用指针:一是存在不指向任何对象的可能性;二是需要能够在不同的时刻指向不同的对象在以下情况使用引用:总是指向一个对象且一旦指向一个对象之后就不会改变指向;重载某个操作符时,使用指针会造成语
2013-12-26 09:08:46
539
原创 More Effective C++
条款1:指针与引用的区别二者之间的区别是:在任何情况下都不能用指向空值的引用,而指针则可以;指针可以被重新赋值以指向另一个不同的对象,但是引用则总是指向在初始化时被指定的对象,以后不能改变在以下情况下使用指针:一是存在不指向任何对象的可能性;二是需要能够在不同的时刻指向不同的对象在以下情况使用引用:总是指向一个对象且一旦指向一个对象之后就不会改变指向;重载某个操作符时,使用指针会造成语
2013-12-26 09:04:48
645
有谁有弄过手机游戏服务器人民币充值模块,求指教??
2013-12-26
TA创建的收藏夹 TA关注的收藏夹
TA关注的人