精通Spring Boot .pdf
Spring Boot 可以构建⼀一切。Spring Boot 设计之初就是为了了最少的配置,以最快的速度来启动和 运⾏行行 Spring 项⽬目。Spring Boot 使⽤用特定的配置来构建⽣生产就绪型的项⽬目。
Swift5.2编程语言.pdf
Swift 是编写程序的绝佳选择,无论是手机、电脑还是服务器,任何能跑代码的设备都是如 此。它是一门集现代语言之大成,集结了苹果的工程师文化精髓以及开源社区多样化于一身的 编程语言。编译器为专为性能所调优,语言专为开发所优化,二者绝不互相妥协。
Swift 语言还对新的程序员十分友好。它是第一个工业级系统编程语言,却又像脚本语言那样 富有张力且十分有趣。在 Playground 编写代码并实时查看 Swift 代码运算结果,完全不需要 从头编译然后运行软件。
Swift 通过向其他现代编程模式学习,定义了大量类来避免常⻅的编程错误:
变量一定是在使用前初始化的; 数组索引会检查越界错误; 整数会检查溢出;
可选项保证了 nil 值会显式处理; 内存自动管理; 错误处理允许从意外错误中恢复控制。
Swift 代码为大部分现代硬件编译和优化。语法和基本库都基于指导原则设计,这显然也是你 让代码的最佳方式。这使得集安全和速度于一身的 Swift 适用于任何场景,从编写 “Hello, world!”到整个操作系统,都是上上之选。
Swift 用轻量级的语法集合强大的类型接口和模式匹配,能够把复杂的想法以简洁优雅的形式 表达。得益于此,代码不仅仅更好写了,还变得更加易读和益于优化。
Swift 已经投放市场多年,它还会继续演进,带来更多的新特性和新功能。我们对 Swift 语言充 满了信心,我们期待着你用 Swift 进行创作!
Server_Side_Swift_with_Vapor_v2.1中文版.pdf
swift 服务器端开发。Vapor是一个用Swift编写的开源Web框架。它建立在Apple的SwiftNIO库之上,提供强 大的异步框架。 Vapor允许您为iOS应用程序,前端Web站点和独立服务器应用程序构 建后端应用程序。(个人翻译,请勿商用,仅供爱好者学习使用,版权归作者所有)
BCGControlBar Professional v.28 Full Source
BCGControlBar Professional v.28 源码完整版,做VC MFC的福音。
Swift编程权威指南(第2版)(高清,非扫描)
#花了几十大洋在图灵社区买的,仅供学习交流,切勿商用#
Big Nerd Ranch是美国一家专业的移动开发技术培训机构,本书是其培训教材。书中系统讲解了在iOS和macOS平台上,使用苹果的Swift语言开发iPhone、iPad和Mac应用的基本概念和编程技巧。主要围绕使用Swift语言进行iOS和macOS开发,结合大量代码示例,教会读者利用高级iOS和macOS特性开发真实的应用。
第一部分 起步
第1章 起步 2
1.1 Xcode起步 2
1.2 尝试playground 4
1.3 修改变量并打印信息到控制台 5
1.4 继续前进 7
1.5 青铜挑战练习 7
第2章 类型、常量和变量 8
2.1 类型 8
2.2 常量与变量 9
2.3 字符串插值 11
2.4 青铜挑战练习 12
第二部分 基础知识
第3章 条件语句 14
3.1 if/else 14
3.2 三目运算符 16
3.3 嵌套的if 17
3.4 else if 18
3.5 青铜挑战练习 19
第4章 数 20
4.1 整数 20
4.2 创建整数实例 22
4.3 整数操作符 23
4.3.1 整数除法 24
4.3.2 快捷操作符 24
4.3.3 溢出操作符 25
4.4 转换整数类型 26
4.5 浮点数 27
4.6 青铜挑战练习 28
第5章 switch语句 29
5.1 什么是switch 29
5.2 开始使用switch 30
5.2.1 区间 32
5.2.2 值绑定 33
5.2.3 where子句 34
5.2.4 元组和模式匹配 35
5.3 switch与if/else 38
5.4 青铜挑战练习 39
5.5 白银挑战练习 40
第6章 循环 41
6.1 for-in循环 41
6.2 类型推断概述 45
6.3 while循环 45
6.4 repeat-while循环 46
6.5 重提控制转移语句 47
6.6 白银挑战练习 50
第7章 字符串 51
7.1 使用字符串 51
7.2 Unicode 53
7.2.1 Unicode标量 53
7.2.2 标准等价 55
7.3 青铜挑战练习 57
7.4 白银挑战练习 57
第8章 可空类型 58
8.1 可空类型 58
8.2 可空实例绑定 60
8.3 隐式展开可空类型 62
8.4 可空链式调用 63
8.5 原地修改可空实例 64
8.6 nil合并运算符 65
8.7 青铜挑战练习 66
8.8 白银挑战练习 66
第三部分 容器和函数
第9章 数组 68
9.1 创建数组 68
9.2 访问和修改数组 69
9.3 数组相等 75
9.4 不可变数组 76
9.5 文档 77
9.6 青铜挑战练习 78
9.7 白银挑战练习 78
9.8 黄金挑战练习 78
第10章 字典 79
10.1 创建字典 79
10.2 填充字典 80
10.3 访问和修改字典 80
10.4 增加和删除值 82
10.5 循环 84
10.6 不可变字典 85
10.7 把字典转换为数组 85
10.8 白银挑战练习 86
10.9 黄金挑战练习 86
第11章 集合 87
11.1 什么是集合 87
11.2 创建集合 87
11.3 运用集合 89
11.3.1 并集 89
11.3.2 交集 90
11.3.3 不相交 91
11.4 青铜挑战练习 92
11.5 白银挑战练习 92
第12章 函数 93
12.1 一个基本的函数 93
12.2 函数参数 94
12.2.1 参数名字 95
12.2.2 变长参数 96
12.2.3 默认参数值 97
12.2.4 in-out参数 98
12.3 从函数返回 99
12.4 嵌套函数和作用域 100
12.5 多个返回值 101
12.6 可空返回值类型 102
12.7 提前退出函数 103
12.8 函数类型 103
12.9 青铜挑战练习 104
12.10 白银挑战练习 104
12.11 深入学习:Void 105
第13章 闭包 106
13.1 闭包的语法 106
13.2 闭包表达式语法 107
13.3 函数作为返回值 110
13.4 函数作为参数 111
13.5 闭包能捕获变量 113
13.6 闭包是引用类型 115
13.7 函数式编程 116
13.8 青铜挑战练习 119
13.9 青铜挑战练习 119
13.10 黄金挑战练习 119
第四部分 枚举、结构体和类
第14章 枚举 122
14.1 基本枚举 122
14.2 原始值枚举 125
14.3 方法 128
14.4 关联值 131
14.5 递归枚举 133
14.6 青铜挑战练习 136
14.7 白银挑战练习 136
第15章 结构体和类 137
15.1 新工程 137
15.2 结构体 141
15.3 实例方法 144
15.4 mutating方法 145
15.5 类 145
15.5.1 Monster类 146
15.5.2 继承 147
15.6 应该用哪种类型 150
15.7 青铜挑战练习 150
15.8 白银挑战练习 150
15.9 深入学习:类型方法 151
15.10 深入学习:mutating方法 152
第16章 属性 158
16.1 基本的存储属性 158
16.2 嵌套类型 159
16.3 惰性存储属性 160
16.4 计算属性 162
16.5 属性观察者 164
16.6 类型属性 165
16.7 访问控制 168
16.8 青铜挑战练习 171
16.9 白银挑战练习 171
16.10 黄金挑战练习 171
第17章 初始化 172
17.1 初始化方法语法 172
17.2 结构体初始化 172
17.2.1 结构体的默认初始化方法 177
17.3.1 类的默认初始化方法 177
17.3.2 初始化和类继承 177
17.3.3 类的必需初始化方法 183
17.3.4 反初始化 184
17.4 可失败的初始化方法 185
17.5 掌握初始化 188
17.6 白银挑战练习 188
17.7 黄金挑战练习 188
17.8 深入学习:初始化方法参数 189
第18章 值类型与引用类型 190
18.1 值语义 190
18.2 引用语义 192
18.3 值类型常量和引用类型常量 194
18.4 配合使用值类型和引用类型 196
18.5 复制 197
18.6 相等与同一 199
18.7 我应该用什么 200
18.8 深入学习:写时复制 201
第五部分 Swift高级编程
第19章 协议 210
19.1 格式化表格数据 210
19.2 协议 214
19.3 符合协议 217
19.4 协议继承 218
19.5 协议组合 219
19.6 mutating方法 220
19.7 白银挑战练习 221
19.8 黄金挑战练习 221
第20章 错误处理 222
20.1 错误分类 222
20.2 对输入字符串做词法分析 223
20.3 捕获错误 231
20.4 解析符号数组 232
20.5 用鸵鸟政策处理错误 236
20.6 Swift的错误处理哲学 239
20.7 青铜挑战练习 240
20.8 白银挑战练习 240
20.9 黄金挑战练习 241
第21章 扩展 242
21.1 扩展已有类型 242
21.2 扩展自己的类型 244
21.2.1 用扩展使类型符合协议 245
21.2.3 嵌套类型和扩展 246
21.2.4 扩展中的函数 247
21.3 青铜挑战练习 248
21.4 青铜挑战练习 248
21.5 白银挑战练习 248
第22章 泛型 249
22.1 泛型数据结构 249
22.2 泛型函数和方法 251
22.3 类型约束 253
22.4 关联类型协议 254
22.5 类型约束中的where子句 257
22.6 青铜挑战练习 259
22.7 白银挑战练习 259
22.8 黄金挑战练习 259
22.9 深入学习:理解可空类型 260
22.10 深入学习:参数多态 260
第23章 协议扩展 262
23.1 为锻炼建模 262
23.2 扩展Exercise 264
23.3 带where子句的协议扩展 265
23.4 用协议扩展提供默认实现 266
23.5 关于命名:一个警世故事 268
23.6 青铜挑战练习 270
23.7 黄金挑战练习 270
第24章 内存管理和ARC 271
24.1 内存分配 271
24.2 循环强引用 272
24.3 用weak打破循环强引用 276
24.4 闭包中的循环引用 277
24.5 逃逸闭包和非逃逸闭包 281
24.6 青铜挑战练习 283
24.7 白银挑战练习 283
24.8 深入学习:我能获取实例的引用计数吗 283
第25章 Equatable和Comparable 284
25.1.1 插曲:中缀运算符 286
25.1.2 方法“买一赠一” 287
25.2 符合Comparable 287
25.3 继承Comparable 289
25.4 青铜挑战练习 290
25.5 黄金挑战练习 290
25.6 白金挑战练习 291
25.7 深入学习:自定义运算符 291
第六部分 事件驱动的应用
第26章 第一个Cocoa应用 296
26.1 开始创建VocalTextEdit 297
26.2 模型-视图-控制器 298
26.3 设置视图控制器 299
26.4 在Interface Builder中设置视图 302
26.4.2 添加文本视图 303
26.4.3 自动布局 305
26.5 连接 307
26.5.1 为VocalTextEdit的按钮设置目标-动作对 307
26.5.2 连接文本视图出口 308
26.6 让VocalTextEdit“说话” 310
26.7 保存和加载文档 311
26.7.1 类型转换 313
26.7.2 保存文档 314
26.7.3 加载文档 316
26.7.4 按照MVC模式整理代码 320
26.8 白银挑战练习 320
26.9 黄金挑战练习 320
第27章 第一个iOS应用 321
27.1 开始创建iTahDoodle 322
27.2 布局用户界面 323
27.3 为待办事项列表建模 331
27.4 设置UITableView 335
27.5 保存和加载TodoList 337
27.5.1 保存TodoList 337
27.5.2 加载TodoList 339
27.6 青铜挑战练习 341
27.7 白银挑战练习 341
27.8 黄金挑战练习 341
第28章 互操作 342
28.1 一个Objective-C工程 342
28.2 在Objective-C工程中加入Swift 361
28.4 白银挑战练习 368
28.5 黄金挑战练习 368
第29章 结语 369
29.1 接下来学习什么 369
29.2 插个广告 369
29.3 邀请 369
深度探索区块链:Hyperledger技术与应用
本书由超级账本执行董事Brian Behlendorf领衔推荐,区块链一线落地实践团队、Hyperleger会员智链骨干团对撰写。深入讲解Hyperledger Fabric 1.0的架构、执行逻辑、核心功能实现、从零部署,并以票据案例为例,讲解具体开发实践,穿插开发所需的*佳实践和遇到的问题解决。
本书分三篇,共12章内容。
准备篇(第1~2章),高度浓缩、信息量大的第1章,揭示区块链的价值、核心理念、演进、主流平台、商用场景。第2章进入实践环节,涵盖安装、部署与调试,让读者初步直观感受区块链,培养学习和实践的兴趣。
核心篇(第3~9章),先从Fabric1.0架构开始讲解,方便读者了解整体结构与运作逻辑,带着问题与轮廓去阅读,事半功倍。第4~9章讲解内部实现机制,该篇并不点到为止,而是深入到底层实现原理层面,让读者透彻了解Fabric的设计与实现细节,该篇是理解区块链设计与实现的关键所在,也是日后做好应用开发的基础,有了问题可以自己动手解决。
涵盖以下几个方面:
区块链架构、组件关系与运行机制总览;
Gossip协议与P2P数据分发机制;
分布式账本数据相关的存储技术;
共识机制及其可插拔的架构设计;
如何实现数据隔离的多链与多通道;
基于数字证书的成员管理服务实现与使用;
智能合约实现、交互,以及有限状态机。
应用篇(10~12章),从安装部署、开发模型和应用开发的角度,以一个票据背书的案例讲解如何基于Hyperledger Fabric 1.0开发区块链应用,以完整地掌握区块链应用开发,动手实践具体的项目。
Qt5 Cadaques(中文版QML)
1. Introduction
2. Meet Qt 5
i. 序(Preface)
ii. Qt5介绍(Qt5 Introduction)
iii. Qt构建模块(Qt Building Blo
iv. Qt项目(Qt Project)
3. Get Start
i. 安装Qt5软件工具包(Installi
ii. 你好世界(Hello World)
iii. 应用程序类型(Application T
iv. 总结( Summary)
4. Qt Creator IDE
i. 用户界面(The User Interfa
ii. 注册你的Qt工具箱(Registe
iii. 项目管理(Managing Projec
iv. 使用编辑器(Using the Edito
v. 定位器(Locator)
vi. 调试(Debugging)
vii. 快捷键(Shortcuts)
5. Quick Starter
i. QML语法(QML Syntax)
ii. 基本元素(Basic Elements)
iii. 组件(Compontents)
iv. 简单的转换(Simple Transformations)
v. 定位元素(Positioning Element)
vi. 布局元素(Layout Items)
vii. 输入元素(Input Element)
viii. 高级用法(Advanced Techniques)
6. Fluid Elements
i. 动画(Animations)
ii. 状态与过渡(States and Transitions)
iii. 高级用法(Advanced Techniques)
7. Model-View-Delegate
i. 概念(Concept)
ii. 基础模型(Basic Model)
iii. 动态视图(Dynamic Views)
iv. 代理(Delegate)
v. 高级用法(Advanced Techniques)
vi. 总结(Summary)
8. Canvas Element
i. 便捷的接口(Convenient API)
ii. 渐变(Gradients)
iii. 阴影(Shadows)
iv. 图片(Images)
v. 转换(Transformation)
vi. 组合模式(Composition Mode)
viii. 画布绘制(Canvas Paint)
ix. HTML5画布移植(Porting from HTML5 Canvas)
9. Particle Simulations
i. 概念(Concept)
ii. 简单的模拟(Simple Simulation)
iii. 粒子参数(Particle Parameters)
iv. 粒子方向(Directed Particle)
v. 粒子画笔(Particle Painter)
vi. 粒子控制(Affecting Particles)
vii. 粒子组(Particle Group)
viii. 总结(Summary)
10. Shader Effect
i. OpenGL着色器(OpenGL Shader)
ii. 着色器元素(Shader Elements)
iii. 片段着色器(Fragement Shader)
iv. 波浪效果(Wave Effect)
v. 顶点着色器(Vertex Shader)
vi. 剧幕效果(Curtain Effect)
vii. Qt图像效果库(Qt GraphicsEffect Library)
11. Multimedia
i. 媒体播放(Playing Media)
ii. 声音效果(Sounds Effects)
iii. 视频流(Video Streams)
iv. 捕捉图像(Capturing Images)
v. 高级用法(Advanced Techniques)
vi. 总结(Summary)
12. Networking
i. 通过HTTP服务UI(Serving UI via HTTP)
ii. 模板(Templating)
iii. HTTP请求(HTTP Requests)
iv. 本地文件(Local files)
v. REST接口(REST API)
vi. 使用开放授权登陆验证(Authentication using OAuth)
vii. Engine IO
viii. Web Sockets
ix. 总结(Summary)
Qt5类继承关系图(彩色的,并且带有目录)
Qt5类继承关系图,彩色的,并且带有目录,方便分类查找
ASIHTTPRequest使用指南(中文版)
第 1 章 创建和运行请求 5
1.1. 创建一个同步请求 5
1.2. 创建一个异步请求 5
1.3. 使用程序块(blocks) 6
1.4. 使用队列 6
1.5. 在委托方法中处理多个请求的成功和失败 7
1.6. 关于ASINetworkQueues 7
1.7. 取消一个异步请求 8
1.8. 安全处理委托在请求完成前释放的情况 8
第 2 章 发送数据 10
2.1. 发送请求头 10
2.2. 用ASIFormDataRequest 发送一个表单 10
2.3. put方法和自定义post 10
第 3 章 下载数据 12
3.1. 将响应数据直接下载为文件 12
3.2. 处理收到的响应数据 12
3.3. 读取HTTP状态码 12
3.4. 读取响应头 12
3.5. 处理文本编码 12
3.6. 处理重定向 13
第 4 章 跟踪进度 14
4.1. 介绍 14
4.2. 跟踪单个请求的下载进度 14
4.3. 跟踪一组请求的下载进度 14
4.4. 跟踪单个请求的上传进度 15
4.5. 跟踪一组请求的上传进度 15
4.6. 精确进度vs简单进度 15
4.6.1. 简单请求 16
4.6.2. 精确进度 16
4.7. 自定义进度跟踪 16
第 5 章 处理http验证 17
5.1. 介绍 17
5.2. 在url中指定用户名和密码 17
5.3. 设置请求的用户名和密码 17
5.4. 在钥匙串(keychain)中储存证书 17
5.5. 在会话中储存 17
5.6. NTML验证 17
5.7. 使用委托来提供证书 18
5.8. 使用内置验证对话框(目前仅ios可用) 18
5.9. 在服务器要求之前提供证书 19
第 6 章 Cookies 20
6.1. 持久化cookies 20
6.2. 手工处理cookie 20
第 7 章 处理压缩的响应,以及压缩请求body 21
7.1. 使用gzip来处理压缩的响应数据 21
7.2. 联机解压gzip响应包 21
7.3. 使用gzip来压缩请求body 22
第 8 章 恢复被打断的下载 23
8.1. 如何恢复下载 23
第 9 章 直接从磁盘流式请求body 24
9.1. 介绍 24
9.2. ASIFormDataRequests 24
9.3. 常规的ASIHTTPRequest 24
第 10 章 使用下载缓存 25
10.1. 介绍 25
10.2. 关于缓存策略 25
10.3. 关于存储策略 26
10.4. 其他缓存特性 26
10.5. 写你自己的缓存 27
第 11 章 节约带宽 28
11.1. 如何使用宽带限制 28
第 12 章 客户端证书支持 29
12.1. 如何使用客户端证书 29
第 13 章 同代理一起工作 30
13.1. 介绍 30
13.2. 验证代理 30
13.3. 手动指定代理的证书 30
13.4. 使用委托来询问代理证书 30
13.5. 使用内置验证对话框(目前仅ios) 30
第 14 章 其他特性 32
14.1. 自定义用户代理 32
14.2. 在ios中程序进入后台时继续请求 32
14.3. 监视网络活动 32
14.4. 禁用自动更新网络活动指示器(仅ios) 32
14.5. 当请求超时自动重试 32
14.6. 配置持续连接(persistent connection) 32
14.7. 强制使用http 1.0 33
14.8. 禁用安全证书验证 33
第 15 章 调试选项 34
15.1. ASIHTTPRequest 调试标志信息 34
NSIS 中文用户手册
第一章: 介绍 NSIS
关于 NSIS
主要特性
特性列表
第二章: 指南: 基础
介绍
脚本文件
脚本结构
安装程序属性
页面
区段
函数
脚本的工作方式
变量
调试脚本
编译器命令
编译器
新式用户界面(Modern UI)
插件
更多
第三章: 命令行的使用
MakeNSIS 的使用
选项
注意事项
例子
安装程序的使用
公共选项
卸载程序特别选项
例子
第四章: 脚本参考
脚本文件格式
变量
用户变量
Var
其它可写的变量
常量
在字串里使用变量
标记
相对跳转
页面
次序
页面选项
回调
Page
UninstPage
PageEx
PageExEnd
PageCallbacks
区段
区段命令
AddSize
Section
SectionEnd
SectionIn
SectionGroup
SectionGroupEnd
卸载区段
函数
函数命令
Function
FunctionEnd
回调函数
安装回调
.onGUIInit
.onInit
.onInstFailed
.onInstSuccess
.onGUIEnd
.onMouseOverSection
.onRebootFailed
.onSelChange
.onUserAbort
.onVerifyInstDir
卸载回调
un.onGUIInit
un.onInit
un.onUninstFailed
un.onUninstSuccess
un.onGUIEnd
un.onRebootFailed
un.onUserAbort
安装程序属性
常规属性
AddBrandingImage
AllowRootDirInstall
AutoCloseWindow
BGFont
BGGradient
BrandingText
Caption
ChangeUI
CheckBitmap
CompletedText
ComponentText
CRCCheck
DetailsButtonText
DirText
DirVar
DirVerify
FileErrorText
Icon
InstallButtonText
InstallColors
InstallDir
InstallDirRegKey
InstProgressFlags
InstType
LicenseBkColor
LicenseData
LicenseForceSelection
LicenseText
MiscButtonText
Name
OutFile
SetFont
ShowInstDetails
ShowUninstDetails
SilentInstall
SilentUnInstall
SpaceTexts
SubCaption
UninstallButtonText
UninstallCaption
UninstallIcon
UninstallSubCaption
UninstallText
WindowIcon
XPStyle
编译器标记
AllowSkipFiles
FileBufSize
SetCompress
SetCompressor
SetCompressorDictSize
SetDatablockOptimize
SetDateSave
SetOverwrite
SetPluginUnload
版本信息
VIAddVersionKey
VIProductVersion
指令用法说明
基本指令
Delete
Exec
ExecShell
ExecWait
File
Rename
ReserveFile
RMDir
SetOutPath
注册表、INI 文件指令
DeleteINISec
DeleteINIStr
DeleteRegKey
DeleteRegValue
EnumRegKey
EnumRegValue
ExpandEnvStrings
FlushINI
ReadEnvStr
ReadINIStr
ReadRegDWORD
ReadRegStr
WriteINIStr
WriteRegBin
WriteRegDWORD
WriteRegStr
WriteRegExpandStr
常规用途指令
CallInstDLL
CopyFiles
CreateDirectory
CreateShortCut
GetDLLVersion
GetDLLVersionLocal
GetFileTime
GetFileTimeLocal
GetFullPathName
GetTempFileName
SearchPath
SetFileAttributes
RegDLL
UnRegDLL
流程控制指令
Abort
Call
ClearErrors
GetCurrentAddress
GetFunctionAddress
GetLabelAddress
Goto
IfAbort
IfErrors
IfFileExists
IfRebootFlag
IfSilent
IntCmp
IntCmpU
MessageBox
Return
Quit
SetErrors
StrCmp
文件指令
FileClose
FileOpen
FileRead
FileReadByte
FileSeek
FileWrite
FileWriteByte
FindClose
FindFirst
Find下一页
卸载程序指令
WriteUninstaller
混合指令
GetErrorLevel
GetInstDirError
InitPluginsDir
SetErrorLevel
SetShellVarContext
Sleep
字串操作指令
StrCpy
StrLen
堆栈支持
Exch
Pop
Push
整数支持
IntFmt
IntOp
重启指令
Reboot
SetRebootFlag
安装记录指令
LogSet
LogText
区段管理
SectionSetFlags
SectionGetFlags
SectionSetText
SectionGetText
SectionSetInstTypes
SectionGetInstTypes
SectionSetSize
SectionGetSize
SetCurInstType
GetCurInstType
InstTypeSetText
InstTypeGetText
用户界面指令
BringToFront
CreateFont
DetailPrint
EnableWindow
FindWindow
GetDlgItem
HideWindow
IsWindow
LockWindow
SendMessage
SetAutoClose
SetBrandingImage
SetDetailsView
SetDetailsPrint
SetCtlColors
SetSilent
ShowWindow
多语言指令
LoadLanguageFile
LangString
LicenseLangString
多语言
语言的选择
LangDLL 插件
RTL 语言
插件 DLL
使用插件命令
禁止插件卸载
手动调用插件
静默安装、卸载
第五章: 编译时命令
编译器实用命令
!include
!addincludedir
!addplugindir
!cd
!echo
!error
!execute
!packhdr
!system
!warning
!verbose
预定义
${__FILE__}
${__LINE__}
${__DATE__}
${__TIME__}
${__TIMESTAMP__}
读取环境变量
$%envVarName%
条件编译
!define
!undef
!ifdef
!ifndef
!ifmacrodef
!ifmacrondef
!else
!endif
!insertmacro
!macro
!macroend
附录 A: 新式用户界面
附录 B: DLL/TLB 库的安装
简介
库的安装
说明
参数
选项
注意事项
例子
库的卸载
说明
参数
选项
例子
Visual Basic 6 Runtimes
附录 C: 常用脚本
获取上级目录
修剪新行(去除回车换行)
获取命令行参数
在字串里查找
获取 Windows 版本
获取 Internet Explorer 版本
判断 .NET Framework 是否已安装
判断 Macromedia Flash Player 是否已安装
连接到 Internet
获取安装程序文件名
禁止多个安装程序实例
更多的
附录 D: 常用信息
错误级别
添加卸载信息到添加删除面板
使用 System.dll 来调用一个外部 DLL
把安装详细信息导出到文件
如何读取 REG_MULTI_SZ 值
附录 E: 常用头文件
文件函数
介绍
Locate
GetSize
DriveSpace
GetDrives
GetTime
GetFileAttributes
GetFileVersion
GetExeName
GetExePath
GetParameters
GetOptions
GetRoot
GetParent
GetFileName
GetBaseName
GetFileExt
BannerTrimPath
DirState
RefreshShellIcons
文本函数
介绍
LineFind
LineRead
FileReadFromEnd
LineSum
FileJoin
TextCompare
ConfigRead
ConfigWrite
FileRecode
TrimNewLines
句子函数
介绍
WordFind
WordFind2X
WordFind3X
WordReplace
WordAdd
WordInsert
StrFilter
VersionCompare
VersionConvert
逻辑函数库
介绍
基本语句
表达式
例子
常用函数库
介绍
字串处理函数
Find
FindI
FindLast
FindLastI
StrStr
StrStrI
StrRStrI
TrimLine
TrimLineEx
Replace
ReplaceEx
VerCmp
StrCase
StrToHex
ConvertANSIToUTF8
ConvertUTF8ToANSI
文件、磁盘处理函数
GetParent
GetChild
GetFileExt
DumpLog
AppendFile
DelFileByLog
RMDir
ForEachFile
ForEachFileEx
SearchFile
IsWritable
GetVolume
TrimDir
FileTimeCmp
GetFileSize
CompactPathEx
RenameExtension
RelativePathTo
PathCanonicalize
RemoveArgs
CheckFileEncoding
注册表处理函数
CopyReg
ReadRegBin
ReadRegMultiStr
WriteRegBin
WriteRegStrW
SHCopyKey
SHRegGetPath
GetRegKeyCount
GetRegValueCount
杂项函数
CloseApp
IsWinNT
GetComputerName
GetInstallerName
GetLocaleInfo
GetWinName
GetUserName
RefreshIcon
ClearDetail
GetDllVersion
LoadImage
DeleteObject
DestroyCursor
DestroyIcon
MessageBox
WriteEnvStr
DeleteEnvStr
附录 F: 更新记录和版本注意事项
附录 G: 构建 NSIS
常规
在 Windows 上构建
在 POSIX 上构建
每日构建
附录 H: 致谢名单
程序员
贡献者
资源制作者
翻译者
文档编写者
附录 I: NSIS 许可协议
ACE开发指南(初级)
本指南作为使用ACE框架开发应用程序的参考,以期能够对使用ACE框架的同事有所帮助。
ACE Tutorial [翻译]
很早以前就有写一个ACE教程的冲动,其实当初的目的很简单,就是想让自己能够更好的学习ACE,理解ACE,应用ACE。遗憾的是一直都没有找到一个合适的入手点。
其实目前世面上的有个ACE介绍的书很多,其中有:
C++ Network Programing V1
C++ Network Programing V2
ACE Programmer's Guide
这些书的中文译本有些已经出版了,有些也要马上出版。
不知道大家留心ACE发行包中的doc目录下面还有一个大概是2000年左右写的教程,我找了一下目前还没有看到有中文的译本,于是就想把这个教程整理一下翻译成为中文。也算是ACE这个开源项目在国内的推广尽微薄力了。
ACE自适配通信环境中文技术文档
ACE自适配通信环境(ADAPTIVE Communication Environment)是可自由使用、开放源码的面向对象(OO)框架(framework),它实现了许多用于并发通信软件的核心模式。ACE提供了一组丰富的可重用C++包装外观(wrapper facade)和框架组件,可跨多种平台完成通用的通信软件任务,其中包括:事件多路分离和事件处理器分派、信号处理、服务初始化、进程间通信、共享内存管理、消息路由、分布式服务动态(重)配置、并发执行和同步,等等。
ACE的目标用户是高性能和实时通信服务和应用的开发者。它简化了使用进程间通信、事件多路分离、显式动态链接和并发的OO网络应用和服务的开发。此外,通过服务在运行时与应用的动态链接,ACE使系统的配置和重配置得以自动化。
ACE正在进行持续的改进。Riverace公司(http://www.riverace.com)采用开放源码商业模式对ACE进行商业支持。此外,ACE开发组的许多成员目前正在进行The ACE ORB(TAO,http://www.cs.wustl.edu/~schmidt/TAO.html)的开发工作。
标准模板库STL(Standard Template Library)指南
1 介绍
1.1 动机
在七十年代末,Alexander Stepanov 第一个发现一些算法不依赖于数据结构的特定实现,
而仅仅和结构的一些基本语义属性相关。这些属性表达了一种能力,比如可以从数据结构的
一个成员取得下一个成员,从头到尾“走过”结构中的元素〔就象排序算法不关心元素是存
放在数组中或是线性表中)。Stepanov 研究过一些算法可以用一种抽象的方式实现,而且不
会影响效率。
1.2 STL 历史
1985 年,Stepanov 开发了基本Ada 库,有人要求他在C++中也这样做。但直到1987
年,模板(Template)在C++中还未实现,所以他的工作推迟了。1988 年,Stepanov 到HP 实
验室工作,并在1992 年被任命为一个算法项目的经理。在此项目中,Alexander Stepanov 和
Meng Lee 写了一个巨大的库---标准模板库(STL:Standard Template Library),意图定义一些
通用算法而不影响效率。现在STL 在国外已经成了新的编程手段。
1.3 STL 和ANSI/ISO C++草案标准
1994 年7 月14 日,ANSI/ISO C++标准化委员会将STL 采纳为草案标准。现在Microsoft
Visual C++ 5.0 以上及Borland C++ 4.0 以上都支持STL。STL 已经并将继续影响软件开发的
方法,有了STL,程序员可以写更少且更快的代码,把精力集中在问题解决上,而不必关心
C++标准程式库(侯捷)
巨細靡遺 井然有序
(侯捷譯序)
自從1998 年C++ Standard 定案以後,C++ 程式庫便有了大幅擴充。原先為大家所
熟知、標準規格定案前蘊釀已久的STL(Standard Template Library,標準模板程
式庫),不再被單獨對待,而是被納入整個C++ 標準程式庫(Standard Library)。
同時,原有的程式庫(如iostream)也根據泛型技術(generics)在內部㆖做了很
大的修改。可以說,C++ Standard 的發佈對C++ 社群帶來了翻㆝覆㆞的大變動 —
不是來自語言本身,而是來自標準程式庫。這個變動,影響C++ 程式編寫風格至
鉅,C++之父Bjarne Stroustrup 並因此寫了㆒篇文章:Learning Standard C++ as a New
Language(載於C/C++ User's Journal, 1999/05)。
C+++中的set容器
详细介绍了STL中SET容器的各个函数的用法。
C++_标准模板库(STL)
C++ STL (Standard Template Library标准模板库) 是通用类模板和算法的集合,它提供给程序员一些标准的数据结构的实现如 queues(队列), lists(链表), 和 stacks(栈)等.
C++ STL 提供给程序员以下三类数据结构的实现:
标准容器类
顺序性容器
vector 从后面快速的插入与删除,直接访问任何元素
deque 从前面或后面快速的插入与删除,直接访问任何元素
list 双链表,从任何地方快速插入与删除
关联容器
set 快速查找,不允许重复值
multiset 快速查找,允许重复值
map 一对多映射,基于关键字快速查找,
C++_STL编程轻松入门
作为C++标准不可缺少的一部分,STL 应该是渗透在C++程序的角角落落里的。
STL 不是实验室里的宠儿,也不是程序员桌上的摆设,她的激动人心并非昙花一
现。本教程旨在传播和普及STL 的基础知识,若能借此机会为STL 的推广做些力
所能及的事情,到也是件让人愉快的事情。
WTL_For_MFC+Programmer_CN
WTL的类大致可以分为几种类型:
1.
主框架窗口的实现- CFrameWindowImpl, CMDIFrameWindowImpl
2.
控件的封装- CButton, CListViewCtrl
3.
GDI 对象的封装- CDC, CMenu
4.
一些特殊的界面特性 - CSplitterWindow, CUpdateUI, CDialogResize, CCustomDraw
5.
实用的工具类和宏- CString, CRect, BEGIN_MSG_MAP_EX
本篇文章将深入地介绍框架窗口类,还将简要地讲一下有关的界面特性类和工具类,这些界面特性类和工具类中绝大多数都是独立的类,尽管有一些是嵌入类,例如:CDialogResize。
BCGControlBarPro.v12.00.part3
使用方法:
1、解压至C:\Program Files目录下(密码:xiaoqing);
2、双击导入注册表C:\Program Files\BCGSoft\BCGControlBarPro\bcgcontrolbarpro.12.00.reg;
3、运行向导C:\Program Files\BCGSoft\BCGControlBarPro\BCGCBProIntegrationWizard.exe。
BCGControlBarPro.v12.00.part2
使用方法:
1、解压至C:\Program Files目录下(密码:xiaoqing);
2、双击导入注册表C:\Program Files\BCGSoft\BCGControlBarPro\bcgcontrolbarpro.12.00.reg;
3、运行向导C:\Program Files\BCGSoft\BCGControlBarPro\BCGCBProIntegrationWizard.exe。
BCGControlBarPro.v12.00.part1
使用方法:
1、解压至C:\Program Files目录下(密码:xiaoqing);
2、双击导入注册表C:\Program Files\BCGSoft\BCGControlBarPro\bcgcontrolbarpro.12.00.reg;
3、运行向导C:\Program Files\BCGSoft\BCGControlBarPro\BCGCBProIntegrationWizard.exe。
C#入门经典(第四版)
本书全面阐述了C#编程的所有方面,
包括C#语言本身、Windows 编程、Web
编程及数据源的使用等内容。
学习了新的编程技巧后,本书介绍了
如何高效地部署应用程序和服务,论述了
许多高级技术,如图形化编程。另外,还
探讨了如何使用Visual C# Express 2008、
Visual Web Developer Express 2008 和
Visual Studio 2008 的功能。所有这些内容
都已更新,以反映.NET Framework 3.5 和
Visual Studio 2008 的变化。各章的样例代
码和示例还可以用于创建强大且安全的应
用程序。
C# 程序设计手册(WORD)
Hello World -- 您的第一个程序 6
C# 程序的一般结构 8
Main() 和命令行自变量 9
命令行自变量 10
显示命令行自变量 12
使用 foreach 存取命令行自变量 13
Main() 传回值 14
数据型别 15
在变量宣告中指定型别 16
转型和型别转换 21
Boxing 和 Unboxing 24
使用 as 和 is 运算符进行安全转型 27
将字节数组转换为 int 29
将 string 转换为 int 30
在十六进制字符串和数字型别间转换 32
数组 34
将数组当做对象 35
一维数组 36
多维数组 36
不规则数组 37
在数组上使用 foreach 39
传递数组当做参数 40
使用 ref 和 out 传递数组 42
隐含型别数组 44
字符串 45
字符串基本概念 46
串连多个字符串 53
修改字符串内容 56
比较字符串 60
分割字符串 65
使用字符串方法搜寻字符串 66
使用正则表达式搜寻字符串 67
判断字符串是否表示数值 70
将 String 转换为 DateTime 71
在旧版编码方式和 Unicode 间转换 72
转换 RTF 为纯文本 74
语句、表达式和运算符 75
语句 76
表达式 81
运算符 83
匿名函式 86
Lambda 表达式 88
在查询中使用 Lambda 表达式 92
在 LINQ 之外使用 Lambda 表达式 94
匿名方法 94
可多载的运算符 97
转换运算符 98
使用转换运算符 99
在结构之间实作用户定义的转换 101
使用运算符多载建立复数类别 103
覆写 Equals() 和运算符 == 的方针 105
类别和结构 108
类别 112
对象 115
结构 118
使用结构 119
继承 122
多型 126
使用 Override 和 New 关键词进行版本控制 132
了解使用 Override 和 New 关键词的时机 135
覆写 ToString 方法 137
抽象和密封类别以及类别成员 138
定义抽象属性 140
静态类别和静态类别成员 144
成员 148
存取修饰词 149
字段 151
常数 153
在 C# 中定义常数 155
属性 156
使用属性 157
接口属性 165
非对称存取子的存取范围 168
宣告和使用读取/写入属性 173
自动实作的属性 176
使用自动实作的属性来实作轻量型类别 176
方法 177
传递参数 181
传递实值型别的参数 181
传递参考型别的参数 184
了解传递结构和传递类别参考给方法之间的差异 187
隐含型别局部变量 188
在查询表达式中使用隐含型别局部变量和数组 191
扩充方法 192
实作和呼叫自定义扩充方法 197
建立列举型别的新方法 199
建构函式 200
使用建构函式 201
实例建构函式 204
私用建构函式 209
静态建构函式 211
撰写复制建构函式 213
对象和集合初始化表达式 217
初始化对象但不呼叫建构函式 219
使用集合初始化表达式来初始化字典 220
嵌套类型 221
部分类别和方法 222
限制 224
匿名型别 227
在查询中传回项目属性的子集 229
界面 230
明确界面实作 232
明确实作接口成员 234
使用继承明确实作接口成员 236
索引器 239
使用索引器 240
界面中的索引器 244
属性与索引器之间的比较 246
使用委派 250
使用具名和匿名方法委派的比较 253
使用委派取代接口的时机 255
委派中的 Covariance 和 Contravariance 256
组合委派 (多播委派) 258
宣告、产生和使用委派 259
事件 264
订阅及取消订阅事件 265
发行符合 .NET Framework 方针的事件 267
在衍生类别中引发基类事件 271
实作界面事件 276
使用字典储存事件实例 280
实作自定义事件存取子 283
泛型 284
泛型简介 285
泛型的优点 287
泛型型别参数 289
泛型类别 295
泛型界面 298
泛型方法 304
泛型和数组 306
泛型委派 307
泛型程序代码中的默认关键词 308
C++ 样板和 C# 泛型之间的差异 309
运行时间中的泛型 310
.NET Framework 类别库中的泛型 311
泛型和反映 312
泛型和属性 313
泛型型别中的变异数 314
LINQ 查询表达式 325
查询表达式基本概念 328
在 C# 中撰写 LINQ 查询 336
查询对象集合 339
从方法传回查询 341
将查询的结果储存在内存中 343
使用各种不同方式分组结果 344
将群组包含在群组中 352
针对分组作业执行子查询 353
在运行时间动态指定述词筛选条件 362
执行内部联结 364
执行群组联结 372
执行左外部联接 376
排序 Join 子句的结果 378
使用复合索引键执行联结 381
执行自定义联结作业 382
处理查询表达式中的 Null 值 387
处理查询表达式中的例外状况 388
Iterator 390
使用 Iterator 392
建立整数清单的 Iterator 区块 394
建立泛型清单的 Iterator 区块 395
命名空间 398
使用命名空间 399
使用命名空间别名限定符 403
使用 My 命名空间 405
可为 Null 的型别 407
使用可为 Null 的型别 409
Box 处理可为 Null 的型别 413
识别可为 Null 的型别 414
从 bool? 安全转型至 bool 415
Unsafe 程序代码和指标 415
固定大小缓冲区 416
使用 Windows ReadFile 函式 417
指标型别 421
指标转换 422
指标表达式 424
取得指针变量值 424
取得变量地址 425
使用指标存取成员 426
使用指针存取数组元素 428
管理指标 429
递增和递减指标 429
指标的算术运算 430
指标比较 431
使用指针复制字节数组 432
XML 文件批注 434
建议使用的文件批注标签 435
处理 XML 档案 448
文件标签的分隔符 453
使用 XML 文件功能 454
应用程序域 458
在其他应用程序域中执行程序代码 459
建立和使用应用程序域 461
组件和全局程序集缓存 461
Friend 组件 462
判断档案是否为组件 465
加载和卸除组件 466
与其他应用程序共享程序集 466
使用属性 468
明示属性目标 470
使用反映存取属性 472
使用属性建立 C/C++ 等位 475
常见属性 476
全局属性 479
集合类别 483
使用 foreach 存取集合类别 484
使用例外状况 489
例外处理 492
建立和掷回例外状况 495
编译程序所产生的例外状况 498
使用 try/catch 处理例外状况 498
使用 finally 执行清除程序代码 499
拦截非 CLS 例外状况 501
文件系统和登录 502
逐一查看目录树状结构 502
取得档案、文件夹和磁盘驱动器的信息 509
建立档案或文件夹 509
写入文本文件 515
从文本文件读取 516
一次一行读取文本文件 (Visual C#) 516
在登录中建立机码 (Visual C#) 517
写入应用程序事件记录文件 (Visual C#) 518
互操作性 518
使用平台调用播放 WAV 檔 520
范例 COM 类别 523
线程 524
使用线程 525
线程同步处理 526
建立和结束线程 530
同步处理产生者和消费者线程 534
使用线程集区 542
反映 545
C# DLL 547
建立和使用 C# DLL 547
安全性 550
面向对象程序设计(C#2005)
本课程名称是《面向对象程序设计》,使用的教材是《C#实用教程》(郑阿奇 主编,电子工业出版社 2008.1)
本课程是专业核心课程之一,后续课程是《信息系统开发》(使用C#)和《网络编程》(使用ASP.NET),在毕业设计中我们也用到C#。
2、关于本课程学习
• 多看书,多上机练习。
• 多问,重视C#的重要性。
• 努力适应C#语言编程学习,争取入门。
• 要广泛收集并涉猎有关编程的知识和技术。
• 多交流,多与高手的同学及网友交流。
• C#将可能伴随我们以后的人生道路,我们将可能一辈子与它打交道。
• 不要朝三暮四,学C#就不要想着Java。
C#语言规范4.0(WORD)
© 1999-2010 Microsoft Corporation。保留所有权利。
Microsoft、Windows、Visual Basic、Visual C# 和 Visual C++ 是 Microsoft Corporation 在美国和/或其他国家/地区的注册商标或商标。
本文提及的其他产品和公司名称可能是其各自所有者的商标。
C语言-标准与实现(高清版)
C语言-标准与实现 大家可以看看也行有用
数据结构和算法C#版
将数据结构与C#语言和.NET框架结合是本书的一大特点。.NET平台是微软推出的一个新的开发平台,目的是让“不同的语言共享同一平台”。.NET很可能成为下一代Windows操作系统的一部分。而C#语言作为新一代完全面向对象的语言,是.NET的母言。本书所有的数据结构和算法都是用C#语言进行描述,并在相应章节的末尾介绍了在.NET框架中常用的数据结构和算法。用C#在.NET平台开发的技术人员可以从本书中获得许多有益的知识和技术。
数据结构和算法.(第二版)Java版
JAVA版的数据结构
大家可以看看
学习JAVA
数据结构和算法1.(第二版)Java版
大家可以看看了,JAVA版的数据结构,学习JAVA的好书
More Effecitve C++(高清版,非扫描)
侯捷译。C++ 是一个难学易用的语言!
C++ 的难学,不仅在其广博的语法,以及语法背後的语意,以及语意背後的深层思维,以及深层思维背後的物件模型;C++ 的难学,还在於它提供了四种不同(但相辅相成)的程式设计思维模式:procedural-based,object-based,object-oriented,generic paradigm。
世上没有白吃的午餐。又要有效率,又要有弹性,又要前瞻望远,又要回溯相容,又要能治大国,又要能烹小鲜,学习起来当然就不可能太简单。
C++从零开始(高清版,非扫描)
C++从零开始(一)——何谓编程(说明编程的真正含义及两个重要却容易被忽略的
基础概念)
C++从零开始(二)——何谓表达式(说明各操作符的用处,但不是全部,剩余的会
在其它文章提到)
C++从零开始(三)——何谓变量(说明电脑的工作方式,阐述内存、地址等极其重
要的概念)
C++从零开始(四)——赋值操作符(《C++从零开始(二)》的延续,并为指针的
解释打一点基础)
C++从零开始(五)——何谓指针(阐述指针、数组等重要的概念)
C++从零开始(六)——何谓语句(讲解C++提供的各个语句,说明各自存在的理
由)
C++从零开始(七)——何谓函数(说明函数及其存在的理由)
C++从零开始(八)——C++样例一(给出一两个简单算法,一步步说明如何从算法
编写出C++代码)
C++从零开始(九)——何谓结构(简要说明结构、枚举等及其存在的理由)
C++从零开始(十)——何谓类(说明类及其存在的理由,以及声明、定义、头文件
等概念)
C++从零开始(十一)——类的相关知识(说明派生、继承、名字空间、操作符重载
等)
C++从零开始(十二)——何谓面向对象编程思想(阐述何谓编程思想,重点讲述面
向对象编程思想)
C++从零开始(十三)——C++样例二(说明如何设计基于面向对象编程思想的C+
+程序)
C++从零开始(十四)——何
C++设计模式(高清版,非扫描)
懂了设计模式,你就懂了面向对象分析和设计(OOA/D)的精要。反之好像也可能成立。道可道,非常道。道不远人,设计模式亦然如此。
C++设计新思维(高清版,非扫描)
侯捷翻译,值得大家一看---范式编程与设计模式应用
逆向C++(高清版,非扫描)
本文试图通过分析在反汇编时如何手工识别C++对象,进而讨论如何自动完成这一分析过程,帮助我们掌握逆向C++程序的一些方法
VC深入编程内幕(WORD版)
深入编程内幕VC,详细介绍了编程技术,为程序员提供了很好的支持