揭秘angular.js2
《揭秘Angular 2》第一部分从前端的故事起点说起,然后对 Angular 以及 TypeScript 进行了简单的介绍,接着通过一个通讯录例子让读者快速入门 Angular 的开发;第二部分则深入讲解了 Angular 架构以及 Angular 核心内容,包括组件、模板、指令、服务、依赖注入、路由以及测试,此外,在相应的章节里还补充说明了譬如变化监测的核心 Zones(第 6 章)、双向绑定的原理(第 7 章)、RxJS(第 9 章)等关键内容;第三部分则通过问卷调查系统来指引读者进行 Angular 项目的实战。
目录
第一部分入门篇
1 前端风云 2
1.1 故事的起点2
1.2 AJAX 王者归来3
1.3 工具库的流行3
1.4 百家争鸣3
1.5 走进前端新时代4
1.6 小结6
2 Angular 简介7
2.1 历史回顾7
2.1.1 AngularJS 1.x 起源7
2.1.2 AngularJS 1.x 迭代之路8
2.1.3 初生的Angular 2 9
2.1.4 快速发展的Angular 2 10
2.1.5 开发语言之选11
2.2 Angular 2 简述12
2.2.1 核心概念12
2.2.2 平台简介14
2.2.3 平台亮点16
2.3 小结17
3 TypeScript 入门18
3.1 TypeScript 概述18
3.1.1 概述18
3.1.2 安装19
3.2 基本类型20
3.2.1 布尔类型20
3.2.2 数字类型20
3.2.3 字符串类型21
3.2.4 数组类型21
3.2.5 元组类型21
3.2.6 枚举类型21
3.2.7 任意值类型22
3.2.8 null 和undefined 22
3.2.9 void 类型23
3.2.10 never 类型24
3.3 声明和解构24
3.3.1 let 声明25
3.3.2 const 声明26
3.3.3 解构26
3.4 函数28
3.4.1 函数定义28
3.4.2 可选参数28
3.4.3 默认参数29
3.4.4 剩余参数30
3.4.5 函数重载30
3.4.6 箭头函数31
3.5 类32
3.5.1 类的例子32
3.5.2 继承与多态32
3.5.3 修饰符33
3.5.4 参数属性35
3.5.5 静态属性35
3.5.6 抽象类36
3.6 模块37
3.6.1 概述37
3.6.2 模块导出方式37
3.6.3 模块导入方式38
3.6.4 模块的默认导出39
3.6.5 模块设计原则40
3.7 接口42
3.7.1 概述42
3.7.2 属性类型接口42
3.7.3 函数类型接口43
3.7.4 可索引类型接口44
3.7.5 类类型接口44
3.7.6 接口扩展45
3.8 装饰器46
3.8.1 概述46
3.8.2 方法装饰器47
3.8.3 类装饰器48
3.8.4 参数装饰器50
3.8.5 属性装饰器51
3.8.6 装饰器组合51
3.9 泛型53
3.10 TypeScript 周边54
3.10.1 编译配置文件54
3.10.2 声明文件55
3.10.3 编码工具56
3.10.4 展望未来57
3.11 小结57
4 快速入门 58
4.1 Hello World 例子58
4.1.1 准备工作58
4.1.2 搭建步骤59
4.2 通讯录例子66
4.2.1 背景介绍66
4.2.2 架构设计68
4.3 小结74
第二部分深入篇
5 Angular 架构总览 76
5.1 核心模块介绍76
5.1.1 组件77
5.1.2 模板81
5.1.3 指令82
5.1.4 服务83
5.1.5 依赖注入84
5.1.6 路由86
5.2 应用模块88
5.3 源码结构介绍91
5.4 小结93
6 组件 94
6.1 概述94
6.1.1 模块化介绍94
6.1.2 组件化标准96
6.1.3 Angular 的组件100
6.2 组件基础100
6.2.1 创建组件的步骤100
6.2.2 组件基础构成102
6.2.3 组件与模块108
6.3 组件交互113
6.3.1 组件的输入输出属性114
6.3.2 父组件向子组件传递数据115
6.3.3 子组件向父组件传递数据120
6.3.4 其他组件交互方式122
6.4 组件内容嵌入124
6.5 组件生命周期128
6.5.1 概述128
6.5.2 生命周期钩子128
6.6 变化监测131
6.6.1 数据变化的源头131
6.6.2 变动通知机制132
6.6.3 变化监测的响应处理133
6.7 扩展阅读139
6.7.1 元数据一览表139
6.7.2 元数据说明139
6.7.3 深入理解Zones 149
6.8 小结155
7 模板 156
7.1 模板语法概览156
7.2 数据绑定158
7.2.1 概述158
7.2.2 插值160
7.2.3 模板表达式160
7.2.4 属性绑定162
7.2.5 事件绑定165
7.2.6 双向数据绑定168
7.2.7 输入和输出属性169
7.3 内置指令170
7.3.1 NgClass 170
7.3.2 NgStyle 170
7.3.3 NgIf 171
7.3.4 NgSwitch 172
7.3.5 NgFor 172
7.4 表单173
7.4.1 模板表单例子174
7.4.2 表单指令175
7.4.3 自定义表单样式184
7.4.4 表单校验185
7.5 管道189
7.5.1 管道介绍190
7.5.2 内置管道190
7.5.3 自定义管道196
7.5.4 管道的变化监测198
7.6 扩展阅读202
7.6.1 安全导航操作符202
7.6.2 双向绑定的原理202
7.7 小结205
8 指令 206
8.1 概述206
8.1.1 指令分类208
8.1.2 内置指令210
8.2 自定义属性指令219
8.2.1 实现属性指令219
8.2.2 为指令绑定输入221
8.2.3 响应用户操作223
8.3 自定义结构指令224
8.3.1 实现结构指令224
8.3.2 模板标签与星号前缀227
8.3.3 NgIf 指令原理228
8.4 扩展阅读231
8.5 小结235
9 服务与RxJS 237
9.1 Angular 服务237
9.1.1 概述237
9.1.2 使用场景238
9.2 HTTP 服务242
9.2.1 AJAX 介绍243
9.2.2 JSONP 介绍249
9.2.3 HttpModule 250
9.3 响应式编程254
9.3.1 概述254
9.3.2 ReactiveX 256
9.4 RxJS 258
9.4.1 创建Observable 对象258
9.4.2 使用RxJS 处理复杂场景258
9.4.3 RxJS 和Promise 的对比259
9.4.4 “冷”模式下的Observable 260
9.4.5 RxJS 中的Operator 261
9.4.6 Angular 中的RxJS 265
9.5 小结269
10 依赖注入 270
10.1 依赖注入介绍271
10.2 Angular 依赖注入274
10.2.1 概述274
10.2.2 在组件中注入服务276
10.2.3 在服务中注入服务278
目录xvii
10.2.4 在模块中注入服务280
10.2.5 层级注入282
10.2.6 注入到派生组件286
10.2.7 限定方式的依赖注入288
10.3 Provider 292
10.3.1 概述292
10.3.2 Provider 注册方式293
10.4 扩展阅读297
10.5 小结299
11 路由300
11.1 概述300
11.2 基本用法302
11.2.1 路由配置302
11.2.2 创建根路由模块303
11.2.3 添加RouterOutlet 指令303
11.3 路由策略304
11.3.1 HashLocationStrategy 介绍305
11.3.2 PathLocationStrategy 介绍306
11.4 路由跳转307
11.4.1 使用指令跳转308
11.4.2 使用代码跳转310
11.5 路由参数312
11.5.1 Path 参数312
11.5.2 Query 参数315
11.5.3 Matrix 参数317
11.6 子路由和附属Outlet 317
11.6.1 子路由317
11.6.2 附属Outlet 319
11.7 路由拦截320
11.7.1 激活拦截与反激活拦截321
11.7.2 数据预加载拦截325
11.8 模块的延迟加载327
11.8.1 延迟加载实现328
11.8.2 模块加载拦截329
11.9 小结331
12 测试. 332
12.1 概述332
12.2 单元测试333
12.2.1 概述333
12.2.2 常用测试框架334
12.2.3 Jasmine 介绍334
12.2.4 Karma 介绍338
12.2.5 Karma 结合Jasmine 测试339
12.3 Angular 单元测试343
12.3.1 概述343
12.3.2 独立单元测试348
12.3.3 测试工具集352
12.4 端到端测试360
12.4.1 概述360
12.4.2 Protractor 介绍361
12.5 小结364
第三部分实战篇
13 问卷调查系统简介 366
13.1 项目背景366
13.2 主要特性367
13.2.1 首页和帮助页369
13.2.2 问卷编辑页369
13.2.3 我的问卷页369
13.2.4 用户管理页369
13.3 产品设计369
13.4 小结371
14 项目起步 372
14.1 技术选型372
14.1.1 前端脚手架372
14.1.2 UI 样式库373
14.1.3 后端服务器374
14.2 环境搭建374
14.2.1 搭建脚手架374
14.2.2 引入样式库377
14.2.3 搭建后台环境378
14.3 目录结构介绍380
14.4 首页开发384
14.5 小结388
15 问卷编辑模块389
15.1 概述389
15.1.1 功能设计389
15.1.2 数据模型391
15.2 问卷编辑模块开发393
15.2.1 问题选择组件394
15.2.2 问题组件398
15.2.3 问卷组件408
15.2.4 问卷服务415
15.2.5 问卷大纲422
15.3 小结425
16 我的问卷模块426
16.1 问卷列表427
16.1.1 问卷列表项428
16.1.2 显示问卷列表429
16.1.3 显示问卷详情431
16.2 问卷操作433
16.2.1 修改路由配置434
16.2.2 发布后的问卷页面436
16.2.3 问卷操作组件439
16.3 小结442
17 用户管理模块 443
17.1 开发简单注册页444
17.2 表单控件组件446
17.2.1 定义表单控件446
17.2.2 校验表单控件447
17.2.3 表单安全450
17.3 用户注册功能开发451
17.3.1 用户注册服务451
17.3.2 组件的逻辑453
17.3.3 注册接口开发455
17.4 权限管理456
17.5 小结460
18 项目构建和最佳实践461
18.1 项目构建461
18.1.1 代码质量检查461
18.1.2 测试463
18.1.3 打包465
18.1.4 容器化467
18.2 最佳实践468
18.2.1 单一职责468
18.2.2 命名约定469
18.2.3 编码约定471
18.2.4 应用结构约定474
18.2.5 组件相关约定475
18.2.6 指令相关约定478
18.2.7 服务相关约定478
18.2.8 其他479
18.3 小结480
OpenGL_Nehe(NeHe中文教程)
很好的opengl入门教程,为了下载积分,收点分勿怪
在这个课程上介绍的知识,可能会有错误和问题。但我只想尽我的全力去制作一个针对初
学者的课程,让他们在学习感到轻松和简单。如果你对于学习OpenGL很认真,我建议
你购买OpenGL Red Book(ISBN 0-201-46138-2)和OpenGL Blue Book,它们是至今为止最好
的参考书。另一本我要推荐的书是OpenGL Superbible,当然你也可以选择其它的。当你在
这个网站上学习时,你应该多浏览一下其它的站点,如OpenGL.org. 你也可以浏览一些
我提供的链接,大部分站点都是由一些非常优秀的编程人员创建的,它们很多都比我出
色。我希望你能喜欢我提供给你的帮助,并且希望看到在不久的将来你能创建出你自己
的程序。
Linux基础教程[基于Ubuntu]
文档格式清晰整洁,不错的教程
第一课 了解 LINUX ...........................................................................................1
第二课 安装 Linux ..............................................................................................7
第三课 美化 Linux 桌面 ...................................................................................11
第四课 使用 Linux 中的菜单和窗口 ...............................................................16
第五课 配置 Linux 桌面和网络 .......................................................................21
第六课 了解 Shell 命令 ....................................................................................28
第七课 第 1-6 课复习.....................................................................................34
第八课 第一次单元考试...................................................................................39
第九课 浏览器、FTP、远程访问....................................................................41
第十课 图像处理、图片浏览...........................................................................47
第十一课 安装、删除软件...............................................................................50
第十二课 音频、视频软件...............................................................................58
第十三课 OpenOffice........................................................................................64
第十四课 第 9-13 课复习...............................................................................69
第十五课 第二次单元考试...............................................................................71
第十六课 访问权限...........................................................................................74
第十七课 用户和组...........................................................................................80
第十八课 访问权限和文件所有者...................................................................86
第十九课 SHELL 命令 .....................................................................................89
第二十课 硬盘管理...........................................................................................93
第二十一课 安装配置 DHCP 服务器 ............................................................100
第二十二课 配置 DNS 服务...........................................................................108
第二十三课 配置 FTP 服务............................................................................114
第二十四课 配置 WWW 服务 .......................................................................120
附录:技能达标题库..........................................................................................125
google c++代码规范
Google C++ 编程规范
目录
一、头文件........................................................................................................................................4
1. #define的保护....................................................................................................................... 4
2. 头文件依赖.......................................................................................................................... 4
3. 内联函数.............................................................................................................................. 5
4. -inl.h文件.......................................................................................................................... 5
5. 函数参数顺序(Function Parameter Ordering)............................................5
6. 包含文件的名称及次序......................................................................................................6
二、作用域........................................................................................................................................7
1. 命名空间(Namespaces)..........................................................................................7
2. 嵌套类(Nested Class)............................................................................................. 9
3. 非成员函数(Nonmember)、静态成员函数(Static Member)和全局函
数(Global Functions)...................................................................................................9
4. 局部变量(Local Variables)..................................................................................10
5. 全局变量(Global Variables)............................................................................... 10
三、类..............................................................................................................................................11
1. 构造函数(Constructor)的职责..............................................................................11
2. 默认构造函数(Default Constructors)............................................................. 12
3. 明确的构造函数(Explicit Constructors).........................................................12
4. 拷贝构造函数(Copy Constructors)...................................................................13
5. 结构体和类(Structs vs. Classes)......................................................................14
6. 继承(Inheritance)..................................................................................................14
7. 多重继承(Multiple Inheritance)...................................................................... 15
8. 接口(Interface)....................................................................................................... 15
9. 操作符重载(Operator Overloading)...............................................................16
10. 存取控制(Access Control)................................................................................16
11. 声明次序(Declaration Order).........................................................................17
12. 编写短小函数(Write Short Functions)........................................................17
四、Google特有的风情................................................................................................................. 18
1. 智能指针(Smart Pointers).................................................................................. 18
五、其他C++特性..........................................................................................................................19
1. 引用参数(Reference Arguments)...................................................................19
2. 函数重载(Function Overloading)....................................................................19
3. 缺省参数(Default Arguments)......................................................................... 20
4. 变长数组和alloca(Variable-Length Arrays and alloca())................ 20
5. 友元(Friends)............................................................................................................20
6. 异常(Exceptions)....................................................................................................20
7. 运行时类型识别(Run-Time Type Information, RTTI)........................... 22
8. 类型转换(Casting)................................................................................................... 22
9. 流(Streams)..............................................................................................................23
10. 前置自增和自减(Preincrement and Predecrement)............................24
11. const的使用(Use of const).............................................................................24
12. 整型(Integer Types)..........................................................................................25
13. 64位下的可移植性(64-bit Portability)........................................................ 26
14. 预处理宏(Preprocessor Macros)..................................................................27
15. 0和NULL(0 and NULL)....................................................................................27
16. sizeof(sizeof)........................................................................................................28
17. Boost库(Boost)................................................................................................... 28
六、命名约定..................................................................................................................................29
1. 通用命名规则(General Naming Rules)..........................................................29
2. 文件命名(File Names)........................................................................................... 30
3. 类型命名(Type Names).........................................................................................31
4. 变量命名(Variable Names).................................................................................31
5. 常量命名(Constant Names)............................................................................... 31
6. 函数命名(Function Names)................................................................................32
7. 命名空间(Namespace Names)......................................................................... 32
8. 枚举命名(Enumerator Names).........................................................................32
9. 宏命名(Macro Names)..........................................................................................33
10. 命名规则例外(Exceptions to Naming Rules)..........................................33
七、注释..........................................................................................................................................34
1. 注释风格(Comment Style)..................................................................................34
2. 文件注释(File Comments)...................................................................................34
3. 类注释(Class Comments)...................................................................................34
4. 函数注释(Function Comments)....................................................................... 35
5. 变量注释(Variable Comments)........................................................................36
6. 实现注释(Implementation Comments)...................................................... 37
7. 标点、拼写和语法(Punctuation, Spelling and Grammar)................... 38
8. TODO注释(TODO Comments).........................................................................38
八、格式..........................................................................................................................................39
1. 行长度(Line Length)..............................................................................................39
2. 非ASCII字符(Non-ASCII Characters)..........................................................40
3. 空格还是制表位(Spaces vs. Tabs).................................................................... 40
4. 函数声明与定义(Function Declarations and Definitions)...................40
5. 函数调用(Function Calls).................................................................................... 42
6. 条件语句(Conditionals)........................................................................................43
7. 循环和开关选择语句(Loops and Switch Statements).............................44
8. 指针和引用表达式(Pointers and Reference Expressions)...................45
9. 布尔表达式(Boolean Expressions)................................................................. 46
10. 函数返回值(Return Values)............................................................................. 46
11. 变量及数组初始化(Variable and Array Initialization)........................ 46
12. 预处理指令(Preprocessor Directives)....................................................... 46
13. 类格式(Class Format)........................................................................................47
14. 初始化列表(Initializer Lists)...........................................................................48
重构(refactoring)
改善即有代码的设计.重构这个概念来自smalltalk