1. 写在最前面 这将是博主的第一篇技术博客,思考再三决定从翻译开始.这将是一个系列的博客,由不同的章节组成,章节之间由超链接联系,开发过程将使用增量式开发,每次完成一个章节.本篇是本系列的总册,提供了所有子章节的超链接,另外所有的子章节也都将提供链接返回到本篇.   2. 本系列的目录结构 总册 第一章 <array> 第二章 <deque> 第三章 <forward_list> 第四章 <list> 第五章 <map> 第六章 <que…
返回总册 本章节原文:http://www.cplusplus.com/reference/deque/deque/ 1. std::deque template < class T, class Alloc = allocator<T> > class deque; 双端队列 deque(发音类似"deck")是对double-ended-queue比较特殊的缩写方式.deque是动态长度的序列容器,可以向任意一端扩展或者从任意一端缩短. 不同的库对deque…
返回总册 本章节原文:http://www.cplusplus.com/reference/array/array/ 1. std::array (C++11支持) template < class T, size_t N > class array; 数组类 数组容器是固定长度的序列容器:按照严格的线性顺序,存储一定数量的元素. 数组容器内部并不维护除了元素本身之外的任何数据(甚至不保存自己的size,这是一个编译时就确定的模板参数).数组容器对存储空间的利用效率和普通数组一样高.数组类仅仅…
本文是我翻译<JavaScript Concurrency>书籍的第二章 JavaScript运行模型,该书主要以Promises.Generator.Web workers等技术来讲解JavaScript并发编程方面的实践. 完整书籍翻译地址:https://github.com/yzsunlei/javascript_concurrency_translation .由于能力有限,肯定存在翻译不清楚甚至翻译错误的地方,欢迎朋友们提issue指出,感谢. 本书第一章我们探讨了JavaScri…
每一个变量都有一个确定的类型表明它存储什么样的数据.js基本的数据类型有strings字符串.numbers数字.Booleans布尔类型.字符串是使用双引号或单引号包含的一串字符:数字包括整数或浮点数.布尔类型只有两个值:true或false.这三种类型的例子: var stringData = "JavaScript has strings\n It sure does"; var numericData = 3.14; var booleanData = true; js也支持两…
脚本执行顺序     js代码是按照它们在html中出现的顺序一行一行被解释的.这表明把函数定义和变量声明放到<head>中会很好.这保证了函数的代码和事件相关的处理程序不会立即执行. 大写小敏感 js是大小写敏感的语言.这意味着result,Result,RESULT是不同的变量.所有的js关键字都是小写的,当你写if是一定不要写成 If或IF.因为js使用camel-back的命名方式,许多方法或属性都是大小写混写的.比如Document对象的lastModified中M必须大写,否 则提…
javascript曾经带给人许多误解,例如如果你不了解它的历史,那么你可能困惑它和java有什么关系,其实它们一点关系都没有.网景公司1995年在Navigator 2.0 中引入这门语言时它叫LiveScript,当时主要用来验证表单.后来被重命名为javascript,因为想借助java的魅力成为构建web程序的主流语言.不幸的是,因为它里面含有java,人们常常认为它是java的精简版.事实上js仅仅模糊的像java,它在语法上和C.Perl.Python也相似. 尽管它的名字引起很大的…
通常,向文档中增加script脚本使用<script>元素,在HTML中增加脚本的方式有4中: (1)放到<script></script>块中: (2)<script src="demo.js"></script>,通过src属性指定js文件位置: (3)用作javascript事件处理属性,如<input type="button" onclick="js代码"  />…
变量存储数据.每个变量都有一个名字,叫做标识符.在js中声明变量使用var关键字,var为新的数据分配存储空间,或者指示一直标识符正在使用.声明变量非常简单: var x; 这个语句告诉解释器一个新的变量将要使用.声明变量时可以赋初始值,如: var x = 2; 另外可以使用var声明多个变量,变量之间加逗号,如: var x, y = 2, z; 最好不要使用没有声明的变量,尽管有时不报错.如果把没有声明的变量放在操作符右边的话就会引起一个错误.    js声明变量只使用var,因为它是弱类…
在这里,我们介绍一些将要使用的编程语言术语.表2-1提供了精确定义的概念. Table 2-1: 编程语言的基本术语 名字 定义 例子 Token令牌 最小的不可分割的词汇的语言单位.一个连续的字符序列,如果用空格隔开 其含义会改变. 所有的标识符和关键字都是令牌,像字面值3.14,“这是一个字符串”. Literal 字面值 在脚本中的值. 3.14"This is a string" [2, 4, 6] Identifier 标识符 一个变量,对象,功能,或标签的名称. XmyVa…
本章重点是介绍与C++标准程序库相关的几个最重要的语言新特性 template(模板) 程序库中几乎所有东西都被设计成template形式.所谓templates,是针对“一个或多个尚未明确的型别”所撰写的函数或类别. 下面是一个典型例子 template<class T> inline const T& max(const T& a,const T& b) { return a < b ? b : a; { template并非一次编译便产生出社和所有型别的代码…
本章预热与后续系统编程有关的概念. 术语“操作系统”通常包含2种含义:一是指完整的软件包,包括管理计算机资源的核心组件,已经附带的标准软件:二是独指管理硬件的内核. 内核具有诸多概功能,包括: 进程管理 内存管理 文件系统支持 设备管理 在内核的管理下,操作系统会给每个用户营造一种抽象:虚拟化,即使得每个用户感觉自己在独占机器. 内核通过硬件将CPU分为2种状态,一种是用户态,又称目态:另一种是核心态,又称管态.两者区别是对CPU的限制,前面一种有很大限制,后一种无限制. 操作系统的一切活动都掌…
声明:侯捷先生的STL源码剖析第二章个人感觉讲得蛮乱的,而且跟第三章有关,建议看完第三章再看第二章,网上有人上传了一篇读书笔记,觉得这个读书笔记的内容和编排还不错,我的这篇总结基本就延续了该读书笔记的框架,如果发现有雷同,请勿见怪,这篇文章只是我的个人记录,算不上原创,只是更多的想把概念描述清楚,所以如果您觉得有copy之嫌的话请绕道看您觉得的原链接.在第8部分给出了笔记的参考链接.   1.allocator 作用 STL的组件(容器)都需要配置空间以放置资料.这个就是allocator的作用…
闲来无事,发现Lua更新到了5.2.2,参考手册也更到了5.2,在网上发现只有云风翻译的5.1版,花了几天时间翻译了一些. 参考手册有点长,又要随时修改,所以在github上建了项目,有需要的朋友可以看看,同时也欢迎指正. 中文手册:Lua 5.2中文参考手册…
源码请移步至:https://github.com/aquariuspj/spring-security/tree/translator/docs/manual/src/docs/asciidoc 版本号:5.0.x 参考手册 [翻译自官方GIT - 2018.06.12] Spring Security参考手册 Spring Security是一个强大且高度可定制的身份验证和访问控制框架. 这是保护基于Spring的应用程序的事实标准. 前言 Spring Security为基于Java EE…
12 PJSUA2 API 参考手册 12.1 endpoint.hpp PJSUA2基本代理操作.  namespace pj PJSUA2 API在pj命名空间内. 12.1.1 class Endpoint #include <endpoint.hpp> 端点表示pjsua库的一个实例. 在应用程序中只能有一个pjsua库的实例,因此这个类是一个单例. 公有函数 1)Endpoint() 默认构造函数. 2)virtual  ~Endpoint() virtual 析构函数 3)Vers…
第二章 实体数据建模基础 很有可能,你才开始探索实体框架,你可能会问“我们怎么开始?”,如果你真是这样的话,那么本章就是一个很好的开始.如果不是,你已经建模,并在实体分裂和继承方面感觉良好,那么你可以跳过本章. 本章将带你漫游使用实体框架建模的基本实例,建模是实体框架的核心特性,同时也是区别实体框架和微软早期的数据访问平台的特性.一旦建好模,你就可以面向模型编写代码,而不用面向关系数据库中的行和列. 本章以创建一个简单概念模型的实例开始,然后让实体框架创建底层的数据库,剩下的实例,将向你展示,如…
程序 C# 程序(program)由至少一个源文件(source files)组成,其正式称谓为编译单元(compilation units)[1].每个源文件都是有序的 Unicode 字符序列.源文件通常与文件系统内的相应文件具有一对一关系,但这种相关性并非必须因素.为尽最大可能确保可移植性,推荐文件系统中的文件编码为 UTF-8 编码规范. 从理论上来说,程序编译由三步骤组成: 转换(transformation),将文件中的特定字符编码方案转换为 Unicode 字符序列: 词法分析(l…
书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:翻译完第一章后,发现翻译第二章的速度上升了不少,难道这就是传说中的经验值提升了?) 第二章 使用高级特性来优化你的博客 在上一章中,你创建了一个基础的博客应用.现在你将要改造它成为一个功能更加齐全的博客,利用一些高级的特性例如通过email来分享帖子,添加评论,给帖子打上tag,检索出相似的帖子.在本章中,你将会学习以下几点: 使用…
再翻译LLVM language 参考手册的时候,个人感觉很多东西都不是很懂,因此打算学习完编译原理后再去继续研究翻译,多有不便望见谅…
第二章  ASM INSTANCE ASM的类型,例如可以: 10g后ORACLE instance 类型增加了一个ASM种类.参数INSTANCE_TYPE=ASM进行设置. ASM实例启动命令: startup nomount启动实例和后台进程.但没有挂载磁盘组 mount以后.实例会启动參数文件里ASM_DISKGROUPS指定的磁盘组,假设參数为空就会触发ORA-15110报错信息. ASM 11G以后为mount命令引入了restricted启动參数.以排他方式启动ASM_DISKGR…
将长生命周期对象和大对象池化 请记住最开始说的原则:对象要么立即回收要么一直存在.它们要么在0代被回收,要么在2代里一直存在.有些对象本质是静态的,生命周期从它们被创建开始,到程序停止才会结束.其它对象显然不需要永远存在下去,但他们的生命周期会存在程序的某些上下文里.它们的存活时间会超过0代(1代)回收.这些类型的对象可以作为池化对象的备选.这虽然需要你手动管理内存,但实际情况下这是一个很好的选择.另外一个重要的需要池化的对象是分配在LOH里的大对象. 没有一个单一的标准方案或者API来实现对象…
翻译项目请关注Github上的地址:https://github.com/msdx/gradledoc本文翻译所在分支:https://github.com/msdx/gradledoc/tree/2.0 .在线浏览地址:http://gradledoc.qiniudn.com/2.0/userguide/userguide.html .另外,Android 手机用户可通过我写的一个程序浏览文档,带缓存功能的,目前0.6开发中版本兼容 Android 2.3以上系统,项目地址如下:https:/…
参考:ASM 4 user guide 第一部分 core API 第二章  类 2.1.1概观 编译后的类包括: l  一个描述部分:包括修饰语(比如public或private).名字.父类.接口或者注释区域. l  类中每个域声明的部分. l  类中每个方法以及构造函数声明的部分.也包含了方法编译后的代码,它是一系列Java字节码指令的形式. 编译后的类结构如下: 2.1.2内部名(internal name) 类或者接口使用内部名,内部名就是类的全限定名,即带斜杠的全称. 例如,Stri…
在这一章中,我们将直接进入项目,并且为产品和分类添加一些基本的模型类.我们将在Entity Framework的代码优先模式下,利用这些模型类创建一个数据库.我们还将学习如何在代码中创建数据库上下文类.指定数据库连接字符串以及创建一个数据库.最后,我们还将添加视图和控制器来管理和显式产品和分类数据. 注意:如果你想按照本章的代码编写示例,你必须完成第一章或者直接从www.apress.com下载第一章的源代码. 2.1 添加模型类 Entity Framework的代码优先模式允许我们从模型类创…
计算监控属性构造参考 计算监控属性可使用以下形式进行构造: ko.computed( evaluator [, targetObject, options] ) - 这种形式是创建一个计算监控属性最常见的情况. evaluator - 用于返回计算值的函数. targetObject-如果给出定义的值this时KO调用回调函数.参见部分第三章 计算监控属性(1) 使用计算监控属性以获取更多信息. options - 计算监控属性的其他属性的对象.请参见下面的完整列表. ko.computed(…
返回目录 第二章:垃圾回收 垃圾回收是你开发工作中要了解的最重要的事情.它是造成性能问题里最显著的原因,但只要你保持持续的关注(代码审查,监控数据)就可以很快修复这些问题.我这里说的"显著的原因",实际上是我们对垃圾回收的理解和期望不正确导致的.在.NET开发中,内存的性能问题和CPU的性能问题一样多,这就是单独开一章主要描述这个问题的原因. 当我们提及垃圾回收造成的开销时,就会不如自主的紧张起来,但一旦你理解它,就能很好的优化你的程序.在后面文章里,你可以看到GC可以在大多数情况下,…
减少分配率 这个几乎不用解释,减少了内存的使用量,自然就减少GC回收时的压力,同时降低了内存碎片与CPU的使用量.你可以用一些方法来达到这一目的,但它可能会与其它设计相冲突. 你需要在设计对象时仔细检查每个它并问自己: 我真的需要这个对象吗? 这个字段是我需要的吗? 我能减少数组的尺寸吗? 我能缩小primitives的尺寸吗(用Int32替换Int64,其它)? 这些对象,是否只有在极少数情况下,或者只有初始化的时候才用到? 是否能将一些类转为结构体使他们在栈上分配或者成为某个对象的一部分?…
避免使用终结器 如果没有必要,是不需要实现一个终结器(Finalizer).终结器的代码主要是让GC回收非托管资源用.它会在GC完成标记对象为可回收后,放入一个终结器队列里,在由另外一个线程执行队列里对象的终结器方法.这就意味着,如果你实现一个类的终结器,你必须保证在它在终结器执行后能被正常回收.这需要消耗一些CPU资源在清理对象上,会极大降低GC的整体效率. 如果你实现一个终结器,你也必须实现一个IDisposable接口用来清理资源,并在Dispose方法里调用GC.SupperessFin…
源码之前,了无秘密. --侯杰 第二章:空间配置器 allocator SGI特殊的空间配置器,std::alloc SGI是以malloc()和free()完成内存的配置与释放. SGI设计了双层级配置器: 第一级配置器直接使用malloc()和free();  _malloc_alloc_template 第二级配置器则视情况采用不用的策略: _default_alloc_template 当配置区块超过128bytes时,视之为“足够大”,便调用第一级配置器: 当配置区块小于128byte…