随笔分类 -  已转移

摘要:C+11的标准规范于2011年2月正式落稿,而此前10余年间,C++正式标准一直是C++98/03。相比C++98/03,C++11有了非常多的变化。 包括大量的新特性:主要特征像lambda表达式和移动语义,实用的类型推导关键字auto,更简单的容器遍历方法,和大量使模板更容易使用的改进。 C++ 阅读全文
posted @ 2018-08-22 13:17 _raindrop
摘要:锁机制用于管理对共享资源的并发访问。 行级锁 行级锁只在存储引擎层实现,在服务器层没有实现。 https://www.cnblogs.com/chenqionghe/p/4845693.html https://www.cnblogs.com/luyucheng/p/6297752.html htt 阅读全文
posted @ 2018-08-22 09:19 _raindrop
摘要:Redis由于支持非常丰富的内存数据结构类型,如何把这些复杂的内存组织方式持久化到磁盘上是一个难题,所以Redis的持久化方式与传统数据库的方式有比较多的差别,Redis主要支持下面两种持久化方式,分别是: 定时快照方式(RDB) 基于语句追加文件的方式(AOF) Redis 还可以同时使用 AOF 阅读全文
posted @ 2018-08-22 09:06 _raindrop
摘要:进程间通信(IPC,Inter-Process Communication)指至少两个进程或线程间传送数据或信号的一些技术或方法。 进程是计算机系统分配资源的最小单位(严格说来是线程)。每个进程都有自己的一部分独立的系统资源,彼此是隔离的。为了能使不同的进程互相访问资源并进行协调工作,才有了进程间通 阅读全文
posted @ 2018-08-21 23:03 _raindrop
摘要:当你把业务拆分到多个服务中去后,数据如何共享,可能是最易面临的问题。 最简单粗暴的方法是通过消息传递数据。如果 A 服务需要 B 服务中的数据,可以由 B 服务发送一个消息,将数据打包携带过去。如果是一份数据,很多地方都需要获得它,那么用一个服务装下这组数据,提供一组查询接口即可。DataCente 阅读全文
posted @ 2018-08-21 18:12 _raindrop
摘要:https://blog.csdn.net/samlty2/article/details/51612108/ https://github.com/gitlabhq/gitlabhq http://www.aqee.net/post/gitlab-isnt-really-open-source.h 阅读全文
posted @ 2018-08-20 10:57 _raindrop
摘要:https://www.cnblogs.com/lsm19870508/p/6924396.html 阅读全文
posted @ 2018-08-19 17:13 _raindrop
摘要:关键词explicit之所以被导入这个语言,就是为了提供给程序员一种方法,使他们能够制止“单一参数的构造函数”被当做一个转换运算符。 默认构造函数的构建操作 以下四种情况类会被生成“有用的”默认构造函数 a.一个带有默认构造函数的成员对象类 合成的默认构造函数是以inline的方式完成的,如果函数太 阅读全文
posted @ 2018-08-17 17:45 _raindrop
摘要:对象模型 和c不同,c是将数据和处理数据的函数分开的(数据流过程决定函数编写,过程式的);而c++把数据和处理数据的方法关联在了一起(对象发起动作,操纵数据)。那么像class一样将数据和方法包含在一起,甚至再用上模板是否会增加布局成本呢? C++对象模式 在C++中,有两种类成员数据:static 阅读全文
posted @ 2018-08-17 17:45 _raindrop
摘要:开始前先看看 class X {}; class Y:public virtual X {}; class Z:public virtual X {}; class A:public Y,public Z {}; 上述X,Y,Z,A中没有任何一个class内含明显的数据,其间只表示了继承关系。 按照 阅读全文
posted @ 2018-08-17 17:44 _raindrop
摘要:纯虚函数 虚函数是为了重载和多态的需要,子类中可以重写或不重写该函数;纯虚函数在基类中是没有定义的,必须在子类中加以实现,很像Java中的interface。 纯虚函数引入原因:在很多情况下,基类本身生成对象是不合情理的。例如,动物作为一个基类可以派生出老虎、孔雀等子类,但动物本身生成对象明显不合常 阅读全文
posted @ 2018-08-17 17:44 _raindrop
摘要:C++的一件困难事情:不太容易从程序代码看出表达式的复杂度。 执行期语意学,即在程序执行时,编译器产生而外的指令调用,确保对象的构造,内存的释放,以及类型转换与临时对象的生成的安全进行。 对象的构造和析构 一般而言,我们会把对象尽可能放置在使用它的那个程序区段附近,这样做可以节省不必要的对象产生操作 阅读全文
posted @ 2018-08-17 17:43 _raindrop
摘要:template 在C++发明阶段,C++之父Stroustrup和贝尔实验室的C++小组对原先的宏方法进行了修订,对其进行了简化并将它从预处理范围移入了编译器。这种新的代码替换装置被称为模板,而且它变现了完全不同的代码重用方法:模板对源代码重用,而不是通过继承和组合重用对象代码。当用户使用模板时, 阅读全文
posted @ 2018-08-17 17:42 _raindrop
摘要:定义抽象的concepts,并根据抽象的concepts来撰写算法与数据结构,是泛型编程的本质。 运用STL时的几个最重要的观念: 1.所谓使用STL,就是去扩充它。 2.STL的算法和容器是独立分离的。 3.无须继承。 4.抽象化并不意味效率低。 STL所实现的,是依据泛型思维架设起来的一个概念结 阅读全文
posted @ 2018-08-17 17:33 _raindrop
摘要:《设计模式》中Iterator模式定义为:提供一种方法,使之能够依序巡访某个聚合物(容器)所含的各个元素,而又无需暴露该聚合物的内部表述方式。 智能指针 迭代器是一种行为类似指针人对象。而指针的各种行为中最常见也最重要的便是内容提领(*)和成员访问(->),迭代器最重要的编程工作就是对这两个操作进行 阅读全文
posted @ 2018-08-17 17:29 _raindrop
摘要:Allocator译为空间配置器而不是内存配置器,是因为空间也可以是磁盘或其它辅助介质。 考虚到小型区块所可能造成的内存破碎问题,SGI设计了双层级配置器,第一级配置器直接使用malloc()和free(),第二级配置器则视情况采用不同的策略:当配置区块超过128bytes时,视之为“足够大”,便调 阅读全文
posted @ 2018-08-17 17:29 _raindrop
摘要:STL容器分两种:序列式容器,关联式容器。 ​ 上图以内缩方式来表达基层与衍生层的关系。 heap内含一个vector,priority-queue内含一个heap、stack和queue都含一个deque,set/map/multiset/multimap都内含一个RB-tree,hash_x都内 阅读全文
posted @ 2018-08-17 17:28 _raindrop
摘要:仿函数其实上就是一个“行为类似函数”的对象。仿函数可以让STL算法有更灵活的演出。 c++11中已经引入lamda表达式,相当于将这部分内容加入了语法。 阅读全文
posted @ 2018-08-17 17:27 _raindrop
摘要:所有泛型算法的前两个参数都是一对迭代器,通常称为first和last,用以标示算法的操作区间。STL习惯采用前闭后开区间,写成[first,last),表示区间涵盖first至last(不含last)之间的所有元素。当first==last时,上述所表现的便是一个空区间。 参考:《STL源码剖析》 阅读全文
posted @ 2018-08-17 17:27 _raindrop
摘要:Linux作为首选的服务器操作系统,它有非常明显的优势。我们强烈建议在发布环境使用Linux系统。 那我们在Linux下如何配置,可以使引擎的性能最大化? socket_optimization.sh #!/bin/bash # set ulimit limit() { echo "ulimit - 阅读全文
posted @ 2018-08-07 22:26 _raindrop