自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(316)
  • 收藏
  • 关注

转载 理解虚拟内存

在进入正题前先来谈谈操作系统内存管理机制的发展历程,了解这些有利于我们更好的理解目前操作系统的内存管理机制。一 早期的内存分配机制在 早期的计算机中,要运行一个程序,会把这些程序全都装入内存,程序都是直接运行在内存上的,也就是说程序中访问的内存地址都是实际的物理内存地址。当计算 机同时运行多个程序时,必须保证这些程序用到的内存总量要小于计算机实际物理内存的大小。那当程序同时运行多个程序时,

2017-07-11 11:42:09 571

转载 如何学好C语言

有人在酷壳的留言版上询问下面的问题keep_walker :今天晚上我看到这篇文章。http://programmers.stackexchange.com/questions/62502/small-c-projects我也遇到了和提问的老外一样的问题。。能给像遇到这样烦恼的程序员一点建议嘛?谢谢!我相信,这可能是很多朋友的问题,我以前也有这样的感觉,编程编到一定

2017-06-04 21:22:40 750

转载 性能调优攻略

关于性能优化这是一个比较大的话题,在《由12306.cn谈谈网站性能技术》中我从业务和设计上说过一些可用的技术以及那些技术的优缺点,今天,想从一些技术细节上谈谈性能优化,主要是一些代码级别的技术和方法。本文的东西是我的一些经验和知识,并不一定全对,希望大家指正和补充。在开始这篇文章之前,大家可以移步去看一下酷壳以前发表的《代码优化概要》,这篇文章基本上告诉你——要进行优化,先得找到性能瓶颈

2017-06-02 11:47:09 594

转载 什么是工程师文化?

四年前,我在QCon上演讲了一个《建一支强大的小团队》(整理后的PPT分享于这里)提到了工程师文化,今天,我想在这里再写一篇关于工程师文化的文章,一方面是因为我又有了一些想法和体会,另一方面,因为我也正走在创业的道路,毫无疑问,要建一个有浓重的工程师文化的团队或公司,所以有必要把自己的相关想法形有成白底黑字的“字据”,以供打自己的脸——“要是未来没有做到,这篇文章就打我未来的脸” || “这篇

2017-06-02 11:21:28 593

原创 trinitycore authserver

authserver 是trinitycore的登陆验证服务器,这是authserver的作用.从authserver的main()函数入手:这个入口函数中代码从上到下,展示了authserver的业务流程,但是最重要也是最核心的也就两处,其他都是旁枝末节的,比如加载配置。如果是要高效的学习这个服务器,那么这些旁枝末节的部分就不要花时间去看,因为,收益真的不高。那么,我们就把重点放

2017-01-21 17:49:13 1472

转载 谈程序的“通用性”

在现实的软件工程中,我经常发现这样的一种现象。本来用很简单的代码就可以解决的问题,却因为设计者过分的关注了“通用性”,“可维护性”和“可扩展性”,被搞得绕了几道弯,让人琢磨不透。这些人的思维方式是这样的:“将来这段代码可能会被用到更多的场合,所以我现在就考虑到扩展问题。”于是乎,他们在代码中加入了各种各样的“框架结构”,目的是为了在将来有新的需要的时候,代码能够“不加修改”就被用到新的地方。

2017-01-17 11:34:20 3845 1

转载 一个对 Dijkstra 的采访视频

(也可以访问 YouTube 或者从源地址下载 MPEG1,300M)之前在微博上推荐了一个对 Dijkstra 的采访视频,看了两遍之后觉得实在很好,所以再正式推荐一下。大部分人可能都知道他对图论算法和操作系统的贡献,而其实 Dijkstra 在程序语言上的造诣也很深厚。我们常用的程序语言里面司通见惯的“递归函数”,其实当年就是 Dijsktra 和另一个人不顾委员会里众人的反对和怀疑,

2017-01-17 10:22:00 412

转载 别想说服我!

(《东方早报·上海书评》,2013年6月2日)霍金写《时间简史》和《大设计》二书,都有一个被所有人忽视了的第二作者,列纳德·蒙洛迪诺。这两本书能够畅销,我怀疑霍金本人的贡献也许仅仅是他的名气,因为公众其实并不真喜欢科学知识 – 哪怕是霍金的知识。而霍金也深知”每一个数学公式都能让这本书的销量减少一半”。如果真有读者能在这两本”霍金的书”中获得阅读上的乐趣,很可能要在相当的程度上归功于蒙洛迪

2016-12-09 18:18:05 346

转载 Holacracy(合弄制)------一种新的管理方法

(《商界评论》,2014年6月)即使生活在技术进步日新月异的今天,我们也不是每年都能看到一个有可能改变世界的颠覆性创新。但我最近听说了一个新的管理方法,却的确有这样的潜力。这个方法叫做“Holacracy”,这是一个2007年才被发明出来的词,我们也许可以把它译为“合弄制”。最近一个大新闻是常有惊人之举的在线零售商Zappos决定全面改组,成为第一家实行合弄制的千人以上公司。而在此之前,时

2016-12-09 16:41:13 1328

原创 今天新增机器学习栏

AlphaGo 战胜李世石是引入了机器学习。在很多人看来,机器学习带来了人工智能领域的革命性进展,实际上并非如此。把现阶段的机器学习机制引入到机器视觉方面,仍然不能让自动驾驶达到驴的程度。那为什么AlphaGo能战胜世界冠军呢?这就充分证明了现阶段的机器学习只能很好的运用到人类活动的某些方面,而不是所有方面,所以切莫把机器学习过度神化.不过,机器学习可以使现阶段的图形识别 和

2016-12-08 11:09:36 363

转载 UML学习归纳整理

写在前面之前在学校比较系统的学习过统一建模语言UML,但长时间没使用遗忘了许多,最近因工作需要,所以对UML重新学习和梳理一下。UML可帮助我们做软件需求分析和软件设计的工作,会让你的需求分析或者软件设计工作更上一层楼。UML的分类主要分为两类:结构型的UML和行为型的UML仅作参考,不同应用环境可能略有不同其中基本不使用和很少会使用的我们不必深究,主要看实际应用较多的

2016-11-28 11:06:48 363

转载 想要提高效率,就得不公平

(首发于《罗辑思维》,2016年4月19日)假设让你来模拟上帝,给世界上所有人分配财富。你必须按照什么原则分配,才会得到一个与真实世界差不多的结果呢?首先你不可能均匀分配,否则世界上就不会有穷人和富人的区别。你可能会考虑随心情分配,今天看到这个人心肠好就给她多分点儿,明天看到那个人太可怜再给他多分点儿。但谁都能找到个需要钱的理由对吧?或者你干脆搞随机分配,让世人完全凭运气获得财富。

2016-11-23 19:00:18 501

原创 游戏服务器中的契约式编程与防御式编程

背景事情的来由还要从几十几亿年前的一次星球大爆炸说起,sorry,背错台词了,是从几天前讨论接口返回数据和几个月前讨论课件本地数据结构说起,简单的说,就是碰到约定好的内容出现异常,是我们在程序中内部作兼容处理,还是抛出去。打个比方,我们要解析一段json,约定这个json的格式,只能是正常格式,或者是空,那么一旦返回json的方法返回了一个『既不是正常格式,又不是空的异常值』,程序

2016-11-23 15:33:42 432

转载 弱联系的强度:人脉、信息和创新

我们中国人非常喜欢谈人脉,有句现代谚语说“社会关系就是生产力”。拉关系,是很多人都做,但是又被某些有志青年所不屑的行为。可是不管你有多么不喜欢,在社会中做事情往往就是要依赖各种关系,求人未必可耻,孤独未必光荣。“关系”,是个正常的现象。而这个现象并不简单。也许在很多人眼中建立有价值人脉的关键是寻求一种比较亲密的关系,比如“一起同过窗一起扛过枪”,而社会学家们却恰恰不这么认为。著名社会学家,

2016-11-17 18:48:55 955

转载 读书是一门艺术

读书是一门艺术,是心灵和头脑的艺术,它从来不是忙里偷闲的消遣。  如果你精通读书之道,你就会懂得,什么是人生之道和成功之道。  读书可以怡人养性,可以提高修养,可以锻炼能力。读史使人明智,诗歌使人聪慧,数学使人严密,哲理使人深刻,伦理学使人有修养,逻辑修辞使人善辫。读书时不要只是为了谈话和辩论时引经据典,而是要权衡考虑作者的观点,为我所用。——培根=======

2016-11-15 15:03:02 585

转载 别指望灵感,还是要靠汗水 ——“创造性思维”的三个迷信

转载自:http://www.geekonomics10000.com/970(首发于《南方周末》,2016年3月4日)现在还有谁敢不重视创造性思维呢?从总理讲话到小学生家长会,从官方媒体到微信朋友圈,今日中国就算还没到“全民创新”的高境界,至少也是“全民谈创新”。如果对别的时政话题还有争议甚至禁忌的话,面对创新我们则无比宽容:这可是一个高中生写个手机聊天应用都

2016-11-14 19:24:27 689

转载 从TCP三次握手说起——浅析TCP协议中的疑难杂症

【引言】说到TCP协议,相信大家都比较熟悉了,对于TCP协议总能说个一二三来,但是TCP协议又是一个非常复杂的协议,其中有不少细节点让人头疼。本文就是来说说这些头疼点的,浅谈一些TCP的疑难杂症。那么从哪说起呢?当然是从三次握手和四次挥手说起啦,可能大家都知道TCP是三次交互完成连接的建立,四次交互来断开一个连接,那为什么是三次握手和四次挥手呢?反过来不行吗?疑症一:TCP的三次握

2016-11-11 19:21:41 456

转载 可以反复读几篇

2013年03月02日, 我写了一篇博客(http://blog.csdn.net/lgg201/article/details/8637763), 被CSDN全站推荐. 后来CSDN社区之星栏目对我做了专访(http://www.csdn.net/article/2013-05-13/2815252).因为当年CSDN仍然具有较大的影响力, 所以, 这篇文章及专访, 当时比较热门. 有非

2016-11-01 14:38:29 316

原创 右值引用

右值引用的功能首先,我并不介绍什么是右值引用,而是以一个例子里来介绍一下右值引用的功能:    #include     #include     using namespace std;    class obj    {    public :        obj() { cout ">> create obj "         obj(co

2016-10-10 16:07:52 304

转载 编程的智慧

编程是一种创造性的工作,是一门艺术。精通任何一门艺术,都需要很多的练习和领悟,所以这里提出的“智慧”,并不是号称一天瘦十斤的减肥药,它并不能代替你自己的勤奋。然而由于软件行业喜欢标新立异,喜欢把简单的事情搞复杂,我希望这些文字能给迷惑中的人们指出一些正确的方向,让他们少走一些弯路,基本做到一分耕耘一分收获。反复推敲代码既然“天才是百分之一的灵感,百分之九十九的汗水”,那我先来谈谈这

2016-09-14 14:08:08 322

原创 EA 20年工作经验的牛人写的游戏设计模式<<Game Programming Patterns>>

http://gameprogrammingpatterns.com/contents.html

2016-09-13 10:16:07 608

转载 为什么我的工作不出色?

作者:王路链接:https://zhuanlan.zhihu.com/p/222769122008年,我本科毕业,去一家民企上班。上班第一天,领导给我个任务,让我统计数据,汇总成表,一周完成。我估算了下,别说一周,一天就能完成。我马上动工,连厕所都顾不上去,希望下班前交工,给领导一个惊讶。做到三分之二,领导叫开会。开会非常无聊,开到一半,我溜回办公室干活。下班没做完,加

2016-09-02 10:19:45 459

转载 人为什么会拖延?

转载自:http://mp.weixin.qq.com/s?__biz=MzI5ODE0Mjc4Ng==&mid=2649296805&idx=1&sn=197956dc33656f267b485b7f1388db56#rd?ref=myread我说字典你是和我开玩笑对吧?人类和拖延症抗争这么多年,你给出的第一个例句就是:建议你不要患上拖延症。不要患上拖延症,多么简

2016-09-02 09:55:04 358

转载 C++11 计时

计时有很多用途,比如:测试某一段代码的运行时间,时间越短,则性能相对越高。计时有很多方法,我将首先给出我以前常用的一种计时方法,然后给出我认为的最佳方法(采用了C++11的标准技术)。首先给出我以前常用的一种“传统”的计时方法:#include using namespace std;clock_t start = clock();// do something...cloc

2016-08-23 18:24:52 578

原创 trinitycore数据库模块

2016-08-16 17:19:37 1236

原创 unreal4

一直对客户端很感兴趣。今天就把虚幻4做个记录:入门文档:https://docs.unrealengine.com/latest/CHN/GettingStarted/index.html引擎下载:https://www.unrealengine.com/dashboard

2016-08-12 18:06:55 346

原创 探索C++0x: 3. 右值引用(rvalue reference)

简介C++0x中引入了右值引用(rvalue reference)这个设施,形如T&&,用来实现移动语义(move semantics)和完美转发(perfect forwarding)。此前C++中有一个著名的性能问题——复制临时对象,由于右值引用的引入,该问题将得到极大的改善。虽然右值引用的引入是一个很了不起的进步,也是一个明智的决定,但它并不那么讨人喜欢,至少我觉得如此。原因

2016-08-12 17:12:22 341

转载 小问题大思考之C++临时对象

C++中有这样一种对象:它在代码中看不到,但是确实存在。它就是临时对象---由编译器定义的一个没有命名的非堆对象(non-heap object)。为什么研究临时对象?主要是为了提高程序的性能以及效率,因为临时对象的构造与析构对系统性能而言绝不是微小的影响,所以我们应该去了解它们,知道它们如何造成,从而尽可能去避免它们。临时对象通常产生于以下4种情况:类型装换按值传

2016-08-02 18:46:24 369

转载 “C++的数组不支持多态”?

先是在微博上看到了个微博和云风的评论,然后我回了“楼主对C的内存管理不了解”。后来引发了很多人的讨论,大量的人又借机来黑C++,比如://@Baidu-ThursdayWang:这不就c++弱爆了的地方吗,需要记忆太多东西//@编程浪子张发财:这个跟C关系真不大。不过我得验证一下,感觉真的不应该是这样的。如果基类的析构这种情况不能 调用,就太弱了。//@

2016-08-02 16:19:51 729

原创 纹理 贴图 材质

发现很多人不熟悉这三个概念:整个 CG 领域中这三个概念都是差不多的,在一般的实践中,大致上的层级关系是:材质 Material包含贴图 Map,贴图包含纹理 Texture。纹理是最基本的数据输入单位,游戏领域基本上都用的是位图。此外还有程序化生成的纹理 Procedural Texture。贴图的英语 Map 其实包含了另一层含义就是“映射”。其功能就是把纹理通过

2016-07-25 10:38:22 680

转载 游戏中的定时器

转载自:http://www.cnblogs.com/fingerpass/p/linux-kernel-timer-in-game.html写在前面游戏中处处都有定时器,基本上每个逻辑部分我们都能看到定时器的影子。如果翻看一下以前网上流传的一些MMO的代码,比如mangos的,比如大唐的,比如天龙的,我们都可以看到形形色色的定时器实现。在以前,很多程序员用起来

2016-07-15 17:41:05 678

转载 浅谈消息队列

1.写在前面    本来一年前的时候还打算以那篇面经为契机,开始自己写博客的习惯,结果后来一拖再拖,虽然evernote里面积攒了不少东西,但是发现想整理成博客真的是太累了,毕设的时候觉得累没整理,刚到公司做mini项目觉得累没整理,后来刚进工作室熟悉环境觉得累没整理,不知不觉就一年没写博客了,囧。    为什么想起来写这样一篇文章呢?其实主要还是两周前有一个知乎问题突然火起来了,

2016-07-15 17:40:21 743

转载 游戏服务端究竟解决了什么问题?

fingerpass游戏服务端究竟解决了什么问题? 1.写在前面   既然是游戏服务端程序员,那博客里至少还是得有一篇跟游戏服务端有关的文章,今天文章主题就关于游戏服务端。  写这篇博客之前也挺纠结的,一方面是因为游戏服务端其实不论架构上还是具体一些逻辑模块的构建,都属于非常成熟的技术,举个简单的例子,像端游的多zone/scene/game进程

2016-07-15 17:38:40 1295

转载 端游、手游服务端常用的架构是什么样的?

作者:韦易笑链接:http://www.zhihu.com/question/29779732/answer/45791817来源:知乎著作权归作者所有,转载请联系作者获得授权。谢邀,手游页游和端游的服务端本质上没区别,区别的是游戏类型。类型1:卡牌、跑酷等弱交互服务端卡牌跑酷类因为交互弱,玩家和玩家之间不需要实时面对面PK,打一下对方的离线数据,计算下排行榜,

2016-07-15 17:12:16 800

转载 分清成员函数,非成员函数和友元函数

成员函数和非成员函数最大的区别在于成员函数可以是虚拟的而非成员函数不行。所以,如果有个函数必须进行动态绑定(见条款38),就要采用虚拟函数,而虚拟函数必定是某个类的成员函数。关于这一点就这么简单。如果函数不必是虚拟的,情况就稍微复杂一点。看下面表示有理数的一个类:class rational {public:  rational(int numerator = 0, int den

2016-07-01 17:55:22 734

原创 TrinityCore中的PreparedStatement

trinitycore中的数据库即席查询包括两种方式:Statement 和 PreparedStatement什么是Statement:Statement:一个Statement操作(执行sql语句),数据库就会做三步: 1:语法分析 2:优化 3:执行并返回结果.抛出问题:对于频繁操作的sql语句,每一次不同的地方仅仅是参数,sql语句的大部分都是相同的,比如:“sel

2016-06-24 17:35:52 487

原创 即席查询

今天看了下Trinitycore源代码的数据库IO部分,发现一个新的概念记录一下:即席查询这个仅当是笔记以前一直不知道什么叫即席查询,今天重新看了一遍《SQLSERVER企业级管理平台》,才明白什么叫“即席查询”下面这句话是我个人总结的:什么叫即席查询AD-HOC :以单独的SQL语句的形式执行的查询就是即席查询,比如说:在C#程序里嵌入的SQL语句,或者在

2016-06-20 14:28:35 3300

转载 每个程序员应该阅读的10本经典书籍

如果你是一个程序员,除了编码之外,你还需要大量的阅读。今天我要为大家介绍几本值得一读的书,包括《程序员修炼之道》,《人月神话》和《代码整洁之道》。书籍是知识和智慧的重要来源。但不幸的是,现在很多人已经不愿意看书了。程序员更是罕见地会去读书,最常见的依靠互联网搜索结果来找寻答案。技术向前的步伐比人类历史上的任何时候都要走得更快。用不了几个月,就会有新的编程语言和工具问世,弥补现有语言

2016-06-03 10:26:45 554

转载 你不知道的关于计算机大师Dijkstra的事情

Dijkstra 的全名叫 Edsger Wybe Dijkstra(艾兹赫尔·韦伯·戴克斯特拉)。大部分中国程序员如果能记住这个名字是因为学过计算最短路径的「Dijkstra 算法」,然而大部分人都难以记住正确的拼写,因为他是荷兰人,名字不符合英语的发音规则。他是几位影响力最大的计算科学的奠基人之一,也是少数同时从工程和理论的角度塑造这个新学科的人。他的根本性贡献覆盖了很多领域,包括:编

2016-06-03 10:25:07 2784 1

转载 程序员编程生涯中会犯的7个错误

下面就是程序员在他们的软件开发生涯中最常犯的7个错误。1.没有明确的目标心中没有终点目标,那就只会随波逐流。如果你想在软件开发的职业生涯上获得成功,那么你需要有一个明确的目标。仅仅只是对遥远的未来有一个模糊的想法是不够的。相反,你应该有坚实的目标——在某个时间段内的首要目的——明确定义的目标。我认识许多程序员和所谓的专业人士庸庸碌碌地在同一个

2016-06-02 13:51:03 332

空空如也

空空如也

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

TA关注的人

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