0%

基本信息

名称: 用AngularJS开发下一代Web应用(英文)
作者信息: 作者: Brad Green [ 英文 pdf ]

简单介绍

Develop smaller, lighter web apps that are simple to create and easy to test, extend, and maintain as they grow. This hands-on guide introduces you to AngularJS, the open source JavaScript framework that uses Model - view - controller (MVC) architecture, data binding, client-side templates, and dependency injection to create a much-needed structure for building web apps. Guided by two engineers who worked on AngularJS at Google, you’ll walk through the framework’s key features, and then build a working AngularJS app - from layout to testing, compiling, and debugging. You’ll learn how AngularJS helps reduce the complexity of your web app. Dive deep into Angular’s building blocks and learn how they work together Gain maximum flexibility by separating logic, data, and presentation responsibilities with MVC Assemble your full app in the browser, using client-side templates Use AngularJS directives to extend HTML with declarative syntax Communicate with the server and implement simple caching with the $http service Use dependency injection to improve refactoring, testability, and multiple environment design Get code samples for common problems you face in most web apps

目录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
Chapter 1 Introduction to AngularJS
Concepts
An Example: Shopping Cart
Up Next
Chapter 2 Anatomy of an AngularJS Application
Invoking Angular
Model View Controller
Templates and Data Binding
Organizing Dependencies with Modules
Formatting Data with Filters
Changing Views with Routes and $location
Talking to Servers
Changing the DOM with Directives
Validating User Input
Moving On
Chapter 3 Developing in AngularJS
Project Organization
Tools
Running Your Application
Testing with AngularJS
Unit Tests
End-to-End/Integration Tests
Compilation
Other Awesome Tools
Yeoman: Optimizing Your Workflow
Integrating AngularJS with RequireJS
Chapter 4 Analyzing an AngularJS App
The Application
Relationship Between Model, Controller, and Template
The Model
Controllers, Directives, and Services, Oh My!
The Templates
The Tests
Chapter 5 Communicating with Servers
Communicating Over $http
Unit Testing
Working with RESTful Resources
The $q and the Promise
Response Interception
Security Considerations
Chapter 6 Directives
Directives and HTML Validation
API Overview
Moving On
Chapter 7 Other Concerns
$location
AngularJS Module Methods
Communicating Between Scopes with $on, $emit, and $broadcast
Cookies
Internationalization and Localization
Sanitizing HTML & the Sanitize Module
Chapter 8 Cheatsheet and Recipes
Wrapping a jQuery Datepicker
The Teams List App: Filtering and Controller Communication
File Upload in AngularJS
Using Socket.IO
A Simple Pagination Service
Working with Servers and Login
Conclusion
Index
Colophon

亚马逊链接

基本信息

名称: LINUX设备驱动程序(第3版)
作者信息: 作者: 科波特 [ 中文 pdf ]

简单介绍

《LINUX设备驱动程序(第3版)》详细介绍了Linux。如果您希望在Linux操作系统上支持计算机外部设备,或者在Linux上运行新的硬件,或者只是希望一般性地了解Linux内核的编程,就一定要阅读本书。本书描述了如何针对各种设备编写驱动程序,而在过去,这些内容仅仅以口头形式交流,或者零星出现在神秘的代码注释中。

目录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
前言
第一章 设备驱动程序简介
设备驱动程序的作用
内核功能划分
设备和模块的分类
安全问题
版本编号
许可证条款
加入内核开发社团
本书概要
第二章 构造和运行模块
设置测试系统
Hello world模块
核心模块与应用程序的对比
编译和装载
内核符号表
预备知识
初始化和关闭
模块参数
在用户空间编写驱动程序
快速参考
第三章 字符设备驱动程序
scull的设计
主设备号和次设备号
一些重要的数据结构
字符设备的注册
open和release
scull的内存使用
read和write
试试新设备
快速参考
第四章 调试技术
内核中的调试支持
通过打印调试
通过查询调试
通过监视调试
调试系统故障
调试器和相关工具
第五章 并发和竞态
scull的缺陷
并发及其管理
信号量和互斥体
completiOn
自旋锁
锁陷阱
除了锁之外的办法
快速参考
第六章 高级字符驱动程序操作
ioctl
阻塞型I/O
poll和select
异步通知
定位设备
设备文件的访问控制
快速参考
第七章 时间、延迟及延缓操作
度量时间差
获取当前时间
延迟执行
内核定时器
tasklet
工作队列
快速参考
第八章 分配内存
kmalloc函数的内幕
后备高速缓存
get—free—page和相关函数
vmalloc及其辅助函数
per-CPU变量
获取大的缓冲区
快速参考
……………………………………

亚马逊链接

基本信息

名称: 点石成金 访客至上的网页设计秘笈(原书第2版)
作者信息: 作者: Steve Krug [ 中文 pdf ]

简单介绍

《点石成金:访客至上的网页设计秘笈(原书第2版)》编辑推荐:可用性设计是Web设计中最重要也是难度最大的一项任务。作者根据多年从业的经验,剖析用户的心理,在用户使用的模式、为扫描进行设计、导航设计、主页布局、可用性测试等方面提出了许多独特的观点,并给出了大量简单、易行的可用性设计的建议。《点石成金:访客至上的网页设计秘笈(原书第2版)》短小精炼,语言轻松诙谐,书中穿插大量色彩丰富的屏幕截图、趣味丛生的卡通插图以及包含大量信息的图表,使枯燥的设计原理变得平易近人。《点石成金:访客至上的网页设计秘笈(原书第2版)》适合从事Web设计和Web开发的技术人员阅读,特别适合为如何留住访问者而苦恼的网站/网页设计人员阅读。这是一本关于Web设计原则而不是Web设计技术的书。《点石成金:访客至上的网页设计秘笈(原书第2版)》作者是Web设计专家,具有丰富的实践经验。他用幽默的语言为你揭示Web设计中重要但却容易被忽视的问题,只需几个小时,你便能对照书中讲授的设计原则找到网站设计的症结所在,令你的网站焕然一新。

目录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
译者序
第2版前言
序言
导读
指导原则
第1章 别让我思考
Krug可用性第一定律
第2章 我们实际上是如何使用Web的
扫描,满意即可,勉强应付
第3章 广告牌设计101法则
为扫描设计,不为阅读设计
第4章 动物、植物、无机物
为什么用户喜欢无须思考的选择
第5章 省略不必要的文字
不要在Web上写作的艺术
必须正确处理的几个方面
第6章 街头指示牌和面包屑
设计导航
第7章 首先要承认,主页不由你控制
设计主页
确定你做对的几件事
第8章 农场主和牧牛人应该是朋友
为什么Web设计团队讨论可用性是在浪费时间,如何避免这种情况
第9章 一天10美分的可用性测试
让测试简单—这样你能进行充分的测试
大的方面和外界影响
第10章 可用性是基本礼貌
为什么你的网站应该让人尊敬
第11章 可访问性、级联样式表和你
正当你觉得已经完成了的时候,一只猫掉了下来,背上捆着涂了奶油的面包
第12章 救命!老板想要我……
当好人遇到不好的设计决策
推荐读物
致谢

亚马逊链接

基本信息

名称: A Practical Guide to Linux Commands Editors and Shell Programming
作者信息: 作者: Mark G. Sobell [ 英文 pdf ]

简单介绍

“This book is a very useful tool for anyone who wants to ‘look under the hood’ so to speak, and really start putting the power of Linux to work. What I find particularly frustrating about man pages is that they never include examples. Sobell, on the other hand, outlines very clearly what the command does and then gives several common, easy-to-understand examples that make it a breeze to start shell programming on one’s own. As with Sobell’s other works, this is simple, straight-forward, and easy to read. It’s a great book and will stay on the shelf at easy arm’s reach for a long time.”
–Ray Bartlett, Travel Writer

“Overall I found this book to be quite excellent, and it has earned a spot on the very front of my bookshelf. It covers the real ‘guts’ of Linux– the command line and its utilities–and does so very well. Its strongest points are the outstanding use of examples, and the Command Reference section. Highly recommended for Linux users of all skill levels. Well done to Mark Sobell and Prentice Hall for this outstanding book!”
–Dan Clough, Electronics Engineer and Slackware Linux User

“Totally unlike most Linux books, this book avoids discussing everything via GUI and jumps right into making the power of the command line your friend.”
–Bjorn Tipling, Software Engineer, ask.com

“This book is the best distro-agnostic, foundational Linux reference I’ve ever seen, out of dozens of Linux-related books I’ve read. Finding this book was a real stroke of luck. If you want to really understand how to get things done at the command line, where the power and flexibility of free UNIX-like OSes really live, this book is among the best tools you’ll find toward that end.”
–Chad Perrin, Writer, TechRepublic

目录

1
2


亚马逊链接

基本信息

名称: CSS商业网站布局之道
作者信息: 作者: 浏览全部评论 [ 中文 pdf ]

简单介绍

解密网站布局,畅销书作者朱宏印为您细述,一起参悟CSS布局之道。超值赠送:最新版CSS中文完全参考手册。最新的CSS技巧、诀窍和研究;针对浏览器存在的Bug,深入剖析Hack和Filter之技;学习经典的盒模型、布局模型、网页定位技术与CSS编码规范;通过五个有代表性的综合实例体会实战开发的智慧,将超链接、导航菜单、滑动门、圆角、阴影、换肤、Tab等技术融入其中。《CSS商业网站布局之道》注重基础、讲究实用、选材精当、深入浅出,适合初中级读者学习使用,也适合具有(X)HTML和CSS基本知识的任何网页设计和开发人员阅读和参考。

目录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
第1章 Web标准布局概述
1.1 从闪客帝国网站改版说起
1.2 表格布局的神话与没落
 1.3 从Table到CSS——坎坷的历程
 1.4 认识Web标准
 1.5 CSS布局的基本思路
 1.6 我能学好CSS布局吗
 1.7 制作你的第一个XHTML+CSS页面
第2章 CSS布局基础
 2.1 标准网页结构
 2.2 CSS基本语法
 2.3 CSS选择符
 2.4 CSS属性
 2.5 CSS属性值
 2.6 在网页中应用CSS
 2.7 CSS的继承、层叠和特殊性
 2.8 div和span深入研究
 2.9 id和class深入研究
第3章 CSS布局工具
 3.1 TopStyle
 3.2 Dreamweaver
第4章 CSS盒模型
 4.1 盒模型基础
 4.2 边框
 4.3 边界
 4.4 补白
 4.5 盒模型兼容性应用
第5章 CSS格式化排版
 5.1 排版是个细活
 5.2 文字排版
 5.3 段落排版
 5.4 图文混排
第6章 CSS布局模型
 6.1 关于CSS布局
 6.2 流动布局模型
 6.3 浮动布局模型
 6.4 层布局模型
 6.5 层叠等级
 6.6 高度自适应
 6.7 CSS基本布局类型
第7章 CSS浏览器兼容解决方案
 7.1 关于网页浏览器
 7.2 CSS Bug、Hack和Filter简介
 7.3 过滤样式表文件
 7.4 过滤规则和声明
 7.5 在IE/Windows中隐藏规则和声明
 7.6 网页Bug解决方案
 7.7 常见Bug及其修复
 7.8 HTML默认样式与浏览器解析差异
 7.9 IE 7浏览器兼容解决方案
 8.1 CSS文档统筹
 8.2 规则的组织
 8.3 属性的组织
 8.4 CSS命名艺术
 8.5 CSS代码缩写规则
 8.6 CSS代码书写格式
 8.7 CSS代码注释艺术
 8.8 CSS代码优化技巧
第9章 个人Blog网站布局
 9.1 关于Veerle’s blog的研究
 9.2 网站配色
 9.3 全局属性设置
 9.4 控制模块显示宽度
 9.5 关于兼容性的解决方案
 9.6 滑动门技术研究
 9.7 欣赏与研究背景图像的应用
 9.8 圆角研究
 9.9 阴影研究
第10章 公司宣传网站的布局
 10.1 关于Layout的研究
 10.2 全局属性设置
 10.3 页面框架控制
 10.4 关于列表布局的深入研究
 10.5 导航菜单研究
第11章 技术门户网站布局
 11.1 关于CSS Beauty的研究
 11.2 全局属性设置
 11.3 页面框架控制
 11.4 关于CSS Beauty导航条的研究
 11.5 关于CSS Beauty数据表格的研究
 11.6 数据表格深入研究
 11.7 数据表格的CSS布局研究
第12章 Web 2.0网站布局
 12.1 关于Web 2.0的技术探析
 12.2 关于读客网的研究
 12.3 全局属性设置
 12.4 页面框架控制
第13章 网上商城网站布局
 13.1 关于阿里巴巴
 13.2 关于阿里巴巴中国网站的研究
 13.3 全局属性设置
 13.4 页面框架控制
 13.5 网页换肤技术研究
 13.6 Tab切换技术
 13.7 表单研究

亚马逊链接

基本信息

名称: Programming Ruby(中文版)(第2版)
作者信息: 作者: 孙勇 [ 中文 pdf ]

简单介绍

《Programming Rudy》(中文版)(第2版)适合各种程度的Ruby程序员,无论新手还是老兵,都会从中得到巨大的帮助。

目录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
第1版序
第2版序
前言
路线图
第1部分 Ruby面面观
 第1章 入门
  1.1 安装Ruby
  1.2 运行Ruby
  1.3 Ruby文档:RDoc和ri
 第2章 Ruby.new
  2.1 Ruby是一门面向对象语言
  2.2 Ruby的一些基本知识
  2.3 数组和散列表
  2.4 控制结构
  2.5 正则表达式
  2.6 Block和迭代器
  2.7 读/写文件
  2.8 更高更远
 第3章 类、对象和变量
  3.1 继承和消息
  3.2 对象和属性
  3.3 类变量和类方法
  3.4 访问控制
  3.5 变量
 第4章 容器、Blocks和迭代器
  4.1 容器
  4.2 Blocks和迭代器
  4.3 处处皆是容器
 第5章 标准类型
  5.1 数字
  5.2 字符串
  5.3 区间
  5.4 正则表达式
 第6章 关于方法的更多细节
  6.1 定义一个方法
  6.2 调用方法
 第7章 表达式
  7.1 运算符表达式
  7.2 表达式之杂项
  7.3 赋值
  7.4 条件执行
  7.5 Case表达式
  7.6 循环
  7.7 变量作用域、循环和Blocks
 第8章 异常,捕获和抛出
  8.1 异常类
  8.2 处理异常
  8.3 引发异常
  8.4 捕获和抛出
 第9章 模块
  9.1 命名空间
  9.2 Mixin
  9.3 迭代器与可枚举模块
  9.4 组合模块
  9.5 包含其他文件
 第10章 基本输入和输出
  10.1 什么是 IO 对象
  10.2 文件打开和关闭
  10.3 文件读写
  10.4 谈谈网络
 第11章 线程和进程
  11.1 多线程
  11.2 控制线程调度器
  11.3 互斥
  11.4 运行多个进程
 第12章 单元测试
  12.1 Test::Unit框架
  12.2 组织测试
  12.3 组织和运行测试
 第13章 当遇到麻烦时
  13.1 Ruby调试器
  13.2 交互式Ruby
  13.3 编辑器支持
  13.4 但是它不运作
  13.5 然而它太慢了
第2部分 Ruby与其环境
 第14章 Ruby和Ruby世界
  14.1 命令行参数
  14.2 程序终止
  14.3 环境变量
  14.4 从何处查找它的模块
  14.5 编译环境
 第15章 交互式Ruby Shell
  15.1 命令行
  15.2 配置
  15.3 命令
  15.4 限制
  15.5 rtags与xmp
 第16章 文档化Ruby
  16.1 向Ruby代码中添加RDoc
  16.2 向C扩展中添加RDoc
  16.3 运行RDoc
  16.4 显示程序用法信息
 第17章 用RubyGems进行包的管理
  17.1 安装RubyGems
  17.2 安装程序Gems
  17.3 安装和使用Gem库
  17.4 创建自己的Gems
 第18章 Ruby与Web
  18.1 编写CGI脚本
  18.2 Cookies
  18.3 提升性能
  18.4 Web服务器的选择
  18.5 SOAP及Web Services
  18.6 更多信息
 第19章 Ruby Tk
  19.1 简单的Tk应用程序
  19.2 部件
  19.3 绑定事件
  19.4 画布
  19.5 滚动
  19.6 从Perl/Tk文档转译
 第20章 Ruby和微软Windows系统
  20.1 得到Ruby for Windows
  20.2 在Windows下运行Ruby
  20.3 Win32API
  20.4 Windows 自动化
 第21章 扩展Ruby
  21.1 你的第一个扩展
  21.2 C中的Ruby对象
  21.3 Jukebox扩展
  21.4 内存分配
  21.5 Ruby的类型系统
  21.6 创建一个扩展
  21.7 内嵌Ruby解释器
  21.8 将Ruby连接到其他语言
  21.9 Ruby C语言API
第3部分 Ruby的核心
 第22章 Ruby语言
  22.1 源代码编排
  22.2 基本类型
  22.3 名字
  22.4 变量和常量
  22.5 表达式
  22.6 方法定义
  22.7 调用方法
  22.8 别名
  22.9 类定义
  22.10 模块定义
  22.11 访问控制
  22.12 Blocks,Closures和Proc对象
  22.13 异常
  22.14 Catch 和 Throw
 第23章 Duck Typing
  23.1 类不是类型
  23.2 像鸭子那样编码
  23.3 标准协议和强制转换
  23.4 该做的做,该说的说
 第24章 类与对象
  24.1 类和对象是如何交互的
  24.2 类和模块的定义
  24.3 顶层的执行环境
  24.4 继承与可见性
  24.5 冻结对象
 第25章 Ruby安全
  25.1 安全级别
  25.2 受污染的对象
 第26章 反射,ObjectSpace和分布式Ruby
  26.1 看看对象
  26.2 考察类
  26.3 动态地调用方法
  26.4 系统钩子
  26.5 跟踪程序的执行
  26.6 列集和分布式Ruby
  26.7 编译时?运行时?任何时
第4部分 Ruby库的参考
 第27章 内置的类和模块
 第28章 标准库
第5部分 附录
 附录A Socket库
 附录B MKMF参考
 附录C 支持
 附录D 书目
 索引(Index)

亚马逊链接

基本信息

名称: 深入理解LINUX内核(第3版)(涵盖2.6版)
作者信息: 作者: 博韦 [ 中文 pdf ]

简单介绍

《深入理解LINUX内核(第3版)(涵盖2.6版)》编辑推荐:为了彻底理解是什么使得Linux能正常运行以及其为何能在各种不同的系统中运行良好,你需要深入研究内核最本质的部分。内核处理CPU与外界间的所有交互,并且决定哪些程序将以什么顺序共享处理器时间。它如此有效地管理有限的内存,以至成百上千的进程能高效地共享系统。它熟练地统筹数据传输,这样CPU 不用为等待速度相对较慢的硬盘而消耗比正常耗时更长的时间。

目录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
前言
第一章 绪论
Linux与其他类Unix内核的比较
硬件的依赖性
Linux版本
操作系统基本概念
Unix文件系统概述
Unix内核概述
第二章 内存寻址
内存地址
硬件中的分段
Linux中的分段
硬件中的分页
Linux中的分页
第三章 进程
进程、轻量级进程和线程
进程描述符
进程切换
创建进程
撤消进程
第四章 中断和异常
中断信号的作用
中断和异常
中断和异常处理程序的嵌套执行
初始化中断描述符表
异常处理
中断处理
软中断及tasklet
工作队列
从中断和异常返回
第五章 内核同步
内核如何为不同的请求提供服务
同步原语
对内核数据结构的同步访问
避免竞争条件的实例
第六章 定时测量
时钟和定时器电路
Linux计时体系结构
更新时间和日期
更新系统统计数
软定时器和延迟函数
与定时测量相关的系统调用
第七章 进程调度
调度策略
调度算法
调度程序所使用的数据结构
调度程序所使用的函数
多处理器系统中运行队列的平衡
与调度相关的系统调用
第八章 内存管理
页框管理
内存区管理
非连续内存区管理
第九章 进程地址空间
进程的地址空间
内存描述符
线性区
缺页异常处理程序
创建和删除进程的地址空间
堆的管理
第十章 系统调用
POSIX API和系统调用
系统调用处理程序及服务例程
进入和退出系统调用
参数传递
内核封装例程
第十一章 信号
信号的作用
产生信号
传递信号
与信号处理相关的系统调用
第十二章 虚拟文件系统
虚拟文件系统(VFS)的作用
VFS的数据结构
文件系统类型
文件系统处理
路径名查找
VFS系统调用的实现
文件加锁
第十三章 I/O体系结构和设备驱动程序
I/O体系结构
设备驱动程序模型
设备文件
设备驱动程序
字符设备驱动程序
第十四章 块设备驱动程序
块设备的处理
通用块层
I/O调度程序
块设备驱动程序
打开块设备文件
第十五章 页高速缓存
页高速缓存
把块存放在页高速缓存中
把脏页写入磁盘
sync()、fsync()和fdatasync()系统调用
第十六章 访问文件
读写文件
内存映射
直接I/O传送
异步I/O
第十七章 回收页框
页框回收算法
反向映射
PFRA实现
交换
第十八章 Ext2和Ext3文件系统
Ext2的一般特征
Ext2磁盘数据结构
Ext2的内存数据结构
创建Ext2文件系统
Ext2的方法
管理Ext2磁盘空间
Ext3文件系统
第十九章 进程通信
管道
FIFO
System V IPC
POSIX消息队列
第二十章 程序的执行
可执行文件
可执行格式
执行域
exec函数
附录一 系统启动
附录二 模块
参考文献
源代码索引

亚马逊链接

基本信息

名称: PHP5权威编程
作者信息: 作者: D) 瑞桑斯 (Rethans [ 中文 pdf ]

简单介绍

《PHP5权威编程》适合PHP程序员及具备其他高级语言编程经验的Web开发人员阅读。三大牛人合力之作!

目录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

前言
第1章 PHP 5新特性
1.1 介绍
1.2 语言特性
1.3 PHP改进概述
1.4 其他的PHF 5新特性
1.5 总结

第2章 PHP 5基础语言 2.1 介绍 2.2 嵌入HTMI 2.3 注释 2.4 变量 2.5 基础数据类型 2.6 运算符 2.7 控制结构 2.8 函数 2.9 总结

第3章 PHP 5面向对象语言 3.1 介绍 3.2 对象 3.3 声明一个类 3.4 new关键字和构造函数 3.5 析构函数 3.6 使用$this变量访问方法和属性 3.7 类的常量 3.8 克隆对象 3.9 多态 3.10 parent和self 3.11 instanceof运算符 3.12 Abstract方法和类 3.13 接口 3.14 接口的继承 3.15 final方法 3.16 final类 3.17 toString()方法 3.18 异常处理 3.19 _autoloadO 3.20 在函数参数中提示类的类别 3.21 总结

第4章 PHP 5高级面向对象编程和设计模式 4.1 介绍 4.2 重载性能 4.3 迭代器 4.4 设计模式 4.5 映射 4.6 总结

第5章 如何用PHP写一个Web应用 5.1 介绍 5.2 嵌入HTML当中 5.3 获取用户数据 5.4 对用户输入的数据进行安全验证 5.5 一些让脚本运行“安全”的技术 5.6 Cookies 5.7 Sessions 5.8 文件上传 5.9 架构 5.10 总结 第2章 PHP 5基础语言 第3章 PHP 5面向对象语言 第4章 PHP 5高级面向对象编程和设计模式 第5章 如何用PHP写一个Web应用 第6章 使用PHP 5访问数据库 第7章 错误处理 第8章 PHP 5中处理XML 第9章 主流扩展 第10章 使用PEAR 第11章 重要的PEAR包 第12章 创建PEAR的组件 第13章 迁移 第14章 性能 第15章 一个编写PHP扩展的介绍 第16章 PHP Shell 脚本编程

附录A PEAR和PECL包索引 附录B phpDocumentor格式参考 附录C Zend Studio快速使用说明 索引

亚马逊链接

基本信息

名称: 精通JavaScript
作者信息: 作者: 平均4.1 星 [ 中文 pdf ]

简单介绍

《精通JavaScript》适合各层次Web开发人员阅读。

目录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
第一部分 认识现代JavaScript
第1章 现代JavaScript程序设计 2
1.1 面向对象的JavaScript 2
1.2 测试代码 3
1.3 打包分发 4
1.4 分离式DOM脚本编程 5
1.4.1 DOM 6
1.4.2 事件 7
1.4.3 JavaScript与CSS 8
1.5 Ajax 8
1.6 浏览器支持 11
1.7 小结 12

第二部分 专业JavaScript开发 第2章 面向对象的JavaScript 14 2.1 语言特性 14 2.1.1 引用 14 2.1.2 函数重载和类型检查 16 2.1.3 作用域 19 2.1.4 闭包 20 2.1.5 上下文对象 23

2.2 面向对象基础 24 2.2.1 对象 25 2.2.2 对象的创建 25 2.3 小结 30

第3章 创建可重用代码 31 3.1 标准化面向对象的代码 31 3.1.1 原型式继承 31 3.1.2 类式继承 32 3.1.3 Base库 35 3.1.4 Prototype库 36

3.2 打包 39 3.2.1 命名空间 40 3.2.2 清理代码 42 3.2.3 压缩 43 3.3 分发 45 3.4 小结 47

第4章 调试与测试的工具 48 4.1 调试 48 4.1.1 错误控制台 48 4.1.2 DOM查看器 52 4.1.3 Firebug 54 4.1.4 Venkman 55

4.2 测试 56 4.2.1 JSUnit 56 4.2.2 J3Unit 57 4.2.3 Test.Simple 58 4.3 小结 59 第三部分 分离式JavaScript 第四部分 Ajax 第五部分 JavaScript的未来 第六部分 附录 附录A DOM参考手册 242 附录B 事件参考手册 257 附录C 浏览器 273 索引 275

亚马逊链接

基本信息

名称: Python核心编程(第2版)
作者信息: 作者: 丘恩 (Wesley J.Chun) [ 中文 pdf ]

简单介绍

《Python核心编程(第2版)》提供了对Python核心特性系统的专家级讲解;开发复杂的应用程序和软件所需的强大深入的视角:易用的图表,详细描述了Pyffion模块、操作符、函数和方法:大量的专业级实例代码,从小的代码片段到功能齐全的应用程序一应俱全。

目录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
第1部分  Python核心
第1章 欢迎来到Python世界 3
1.1 什么是Python 4
1.2 起源 4
1.3 特点 4
1.3.1 高级 4
1.3.2 面向对象 5
1.3.3 可升级 5
1.3.4 可扩展 5
1.3.5 可移植性 5
1.3.6 易学 6
1.3.7 易读 6
1.3.8 易维护 6
1.3.9 健壮性 6
1.3.10 高效的快速原型开发工具 6
1.3.11 内存管理器 7
1.3.12 解释性和(字节)编译性 7
1.4 下载和安装Python 7
1.5 运行Python 8
1.5.1 命令行上的交互式解释器 9
1.5.2 从命令行启动脚本 10
1.5.3 集成开发环境 11
1.5.4 其他的集成开发环境和执行环境 14
1.6 Python文档 15
1.7 比较Python(Python与其他语言的比较) 15
1.8 其他实现 17
1.9 练习 18

第2章 快速入门 19 2.1 程序输出,print语句及“Hello World!” 20 2.2 程序输入和raw_input()内建函数 21 2.3 注释 22 2.4 操作符 22 2.5 变量和赋值 24 2.6 数字 24 2.7 字符串 25 2.8 列表和元组 26 2.9 字典 26 2.10 代码块及缩进对齐 27 2.11 if语句 27 2.12 while循环 28 2.13 for循环和range()内建函数 28 2.14 列表解析 30 2.15 文件和内建函数open()、file() 30 2.16 错误和异常 31 2.17 函数 32 2.17.1 如何定义函数 32 2.17.2 如何调用函数 32 2.17.3 默认参数 33 2.18 类 33 2.19 模块 35 2.19.1 如何导入模块 35 2.19.2 如何访问一个模块函数或访问一个模块变量 35 2.20 实用的函数 36 2.21 练习 36

第3章 Python基础 39 3.1 语句和语法 40 3.1.1 注释(#) 40 3.1.2 继续() 40 3.1.3 多个语句构成代码组(:) 41 3.1.4 代码组由不同的缩进分隔 41 3.1.5 同一行书写多个语句(;) 41 3.1.6 模块 41 3.2 变量赋值 42 3.2.1 赋值操作符 42 3.2.2 增量赋值 42 3.2.3 多重赋值 43 3.2.4 “多元”赋值 43 3.3 标识符 44 3.3.1 合法的Python标识符 44 3.3.2 关键字 44 3.3.3 内建 45 3.3.4 专用下划线标识符 45 3.4 基本风格指南 45 3.4.1 模块结构和布局 46 3.4.2 在主程序中书写测试代码 48 3.5 内存管理 49 3.5.1 变量定义 49 3.5.2 动态类型 49 3.5.3 内存分配 49 3.5.4 引用计数 50 3.5.5 垃圾收集 51 3.6 第一个Python程序 51 3.7 相关模块和开发工具 54 3.8 练习 55

第4章 Python对象 56 4.1 Python 对象 57 4.2 标准类型 57 4.3 其他内建类型 58 4.3.1 类型对象和type类型对象 58 4.3.2 None——Python的Null对象 58 4.4 内部类型 59 4.4.1 代码对象 59 4.4.2 帧对象 60 4.4.3 跟踪记录对象 60 4.4.4 切片对象 60 4.4.5 省略对象 60 4.4.6 XRange 对象 60 4.5 标准类型操作符 61 4.5.1 对象值的比较 61 4.5.2 对象身份比较 61 4.5.3 布尔类型 64 4.6 标准类型内建函数 64 4.6.1 type() 64 4.6.2 cmp() 65 4.6.3 str()和repr()(及``操作符) 66 4.6.4 type()和isinstance() 67 4.6.5 Python类型操作符和内建函数总结 70 4.7 类型工厂函数 70 4.8 标准类型的分类 71 4.8.1 存储模型 71 4.8.2 更新模型 72 4.8.3 访问模型 73 4.9 不支持的类型 74 4.10 练习 75

第5章 数字 76 5.1 数字简介 77 5.1.1 如何创建数值对象并用其赋值(数字对象) 77 5.1.2 如何更新数字对象 77 5.1.3 如何删除数字对象 77 5.2 整型 77 5.2.1 布尔型 78 5.2.2 标准整型 78 5.2.3 长整型 78 5.2.4 整型和长整型的统一 79 5.3 双精度浮点型 79 5.4 复数 80 5.5 操作符 81 5.5.1 混合模式操作符 81 5.5.2 标准类型操作符 82 5.5.3 算术操作符 82 5.5.4 *位操作符(只适用于整型) 86 5.6 内建函数与工厂函数 87 5.6.1 标准类型函数 87 5.6.2 数字类型函数 87 5.6.3 仅用于整型的函数 92 5.7 其他数字类型 93 5.7.1 布尔“数” 93 5.7.2 十进制浮点型 94 5.8 相关模块 95 5.9 练习 97

第6章 序列:字符串、列表和元组 100 6.1 序列 101 6.1.1 标准类型操作符 101 6.1.2 序列类型操作符 101 6.1.3 内建函数(BIF) 106 6.2 字符串 107 6.3 字符串和操作符 109 6.3.1 标准类型操作符 109 6.3.2 序列操作符切片([]和[:]) 109 6.4 只适用于字符串的操作符 114 6.4.1 格式化操作符(%) 114 6.4.2 字符串模板: 更简单的替代品 117 6.4.3 原始字符串操作符(r/R) 118 6.4.4 Unicode字符串操作符(u/U) 119 6.5 内建函数 119 6.5.1 标准类型函数 119 6.5.2 序列类型函数 119 6.5.3 字符串类型函数 120 6.6 字符串内建函数 121 6.7 字符串的独特特性 124 6.7.1 特殊字符串和控制字符 124 6.7.2 三引号 125 6.7.3 字符串不变性 126 6.8 Unicode 127 6.8.1 术语 127 6.8.2 什么是Unicode 128 6.8.3 怎样使用Unicode 128 6.8.4 Codec是什么 129 6.8.5 编码解码 129 6.8.6 把Unicode应用到实际应用中 130 6.8.7 从现实中得来的教训 131 6.8.8 Python的Unicode支持 131 6.9 相关模块 133 6.10 字符串关键点总结 134 6.11 列表 134 6.12 操作符 136 6.12.1 标准类型操作符 136 6.12.2 序列类型操作符 136 6.12.3 列表类型操作符和列表解析 139 6.13 内建函数 139 6.13.1 标准类型函数 139 6.13.2 序列类型函数 140 6.13.3 列表类型内建函数 142 6.14 列表类型的内建函数 142 6.15 列表的特殊特性 145 6.16 元组 151 6.17 元组操作符和内建函数 152 6.17.1 标准类型操作符、序列类型操作符和内建函数 152 6.17.2 元组类型操作符和内建函数、内建方法 153 6.18 元组的特殊特性 153 6.18.1 不可变性给元组带来了什么影响 153 6.18.2 元组也不是那么“不可变” 153 6.18.3 默认集合类型 154 6.18.4 单元素元组 155 6.18.5 字典的关键字 155 6.19 相关模块 156 6.20 *拷贝Python对象、浅拷贝和深拷贝 156 6.21 序列类型小结 158 6.22 练习 160

第7章 映像和集合类型 163 7.1 映射类型:字典 164 7.1.1 如何创建字典和给字典赋值 164 7.1.2 如何访问字典中的值 165 7.1.3 如何更新字典 166 7.1.4 如何删除字典元素和字典 167 7.2 映射类型操作符 167 7.2.1 标准类型操作符 167 7.2.2 映射类型操作符 168 7.3 映射类型的内建函数和工厂函数 168 7.3.1 标准类型函数[type()、str()和cmp()] 168 7.3.2 映射类型相关的函数 170 7.4 映射类型内建方法 172 7.5 字典的键 174 7.5.1 不允许一个键对应多个值 174 7.5.2 键必须是可哈希的 175 7.6 集合类型 178 7.6.1 如何创建集合类型和给集合赋值 179 7.6.2 如何访问集合中的值 179 7.6.3 如何更新集合 179 7.6.4 如何删除集合中的成员和集合 180 7.7 集合类型操作符 180 7.7.1 标准类型操作符(所有的集合类型) 180 7.7.2 集合类型操作符(所有的集合类型) 181 7.7.3 集合类型操作符(仅适用于可变集合) 182 7.8 内建函数 183 7.8.1 标准类型函数 183 7.8.2 集合类型工厂函数 183 7.9 集合类型内建方法 184 7.9.1 方法(所有的集合方法) 184 7.9.2 方法(仅适用于可变集合) 184 7.9.3 操作符和内建方法比较 185 7.10 集合类型总结表 185 7.11 相关模块 186 7.12 练习 186

第8章 条件和循环 189 8.1 if语句 190 8.1.1 多重条件表达式 190 8.1.2 单一语句的代码块 190 8.2 else语句 190 8.3 elif(即else-if)语句 191 8.4 条件表达式(即“三元操作符”) 192 8.5 while语句 193 8.5.1 一般语法 193 8.5.2 计数循环 193 8.5.3 无限循环 194 8.6 for语句 194 8.6.1 一般语法 194 8.6.2 用于序列类型 195 8.6.3 用于迭代器类型 196 8.6.4 range()内建函数 196 8.6.5 xrange() 内建函数 198 8.6.6 与序列相关的内建函数 198 8.7 break语句 199 8.8 continue语句 199 8.9 pass语句 200 8.10 再谈else语句 200 8.11 迭代器和iter()函数 202 8.11.1 什么是迭代器 202 8.11.2 为什么要迭代器 202 8.11.3 如何迭代 202 8.11.4 使用迭代器 203 8.11.5 可变对象和迭代器 204 8.11.6 如何创建迭代器 204 8.12 列表解析 205 8.13 生成器表达式 206 8.14 相关模块 209 8.15 练习 209

第9章 文件和输入输出 212 9.1 文件对象 213 9.2 文件内建函数(open()和file()) 213 9.2.1 工厂函数file() 214 9.2.2 通用换行符支持(UNS) 214 9.3 文件内建方法 215 9.3.1 输入 215 9.3.2 输出 215 9.3.3 文件内移动 216 9.3.4 文件迭代 216 9.3.5 其他 216 9.3.6 文件方法杂项 217 9.4 文件内建属性 219 9.5 标准文件 220 9.6 命令行参数 220 9.7 文件系统 221 9.8 文件执行 227 9.9 永久存储模块 227 9.9.1 pickle和marshal模块 227 9.9.2 DBM风格的模块 228 9.9.3 shelve模块 228 9.10 相关模块 229 9.11 练习 230

第10章 错误和异常 234 10.1 什么是异常 235 10.1.1 错误 235 10.1.2 异常 235 10.2 Python 中的异常 236 10.3 检测和处理异常 237 10.3.1 try-except语句 238 10.3.2 包装内建函数 238 10.3.3 带有多个except的try语句 240 10.3.4 处理多个异常的except语句 241 10.3.5 捕获所有异常 242 10.3.6 “异常参数” 244 10.3.7 在应用使用我们封装的函数 245 10.3.8 else子句 247 10.3.9 finally子句 248 10.3.10 try-finally语句 248 10.3.11 try-except-else-finally:厨房一锅端 250 10.4 上下文管理 251 10.4.1 with语句 251 10.4.2 上下文管理协议 252 10.5 字符串作为异常 252 10.6 触发异常 253 10.7 断言 254 10.8 标准异常 255 10.9 *创建异常 257 10.10 (现在)为什么用异常 262 10.11 到底为什么要异常 263 10.12 异常和sys模块 263 10.13 相关模块 264 10.14 练习 264

第11章 函数和函数式编程 266 11.1 什么是函数? 267 11.1.1 函数vs过程 267 11.1.2 返回值与函数类型 267 11.2 调用函数 268 11.2.1 函数操作符 268 11.2.2 关键字参数 269 11.2.3 默认参数 269 11.2.4 参数组 269 11.3 创建函数 272 11.3.1 def语句 272 11.3.2 声明与定义比较 272 11.3.3 前向引用 272 11.3.4 函数属性 273 11.3.5 内部/内嵌函数 274 11.3.6 函数(与方法)装饰器 275 11.4 传递函数 278 11.5 Formal Arguments 279 11.5.1 位置参数 279 11.5.2 默认参数 279 11.6 可变长度的参数 282 11.6.1 非关键字可变长参数(元组) 282 11.6.2 关键字变量参数(字典) 283 11.6.3 调用带有可变长参数对象函数 284 11.7 函数式编程 286 11.7.1 匿名函数与lambda 286 11.7.2 内建函数apply()、filter()、map()、reduce() 288 11.7.3 偏函数应用 293 11.8 变量作用域 295 11.8.1 全局变量与局部变量 295 11.8.2 globa语句 296 11.8.3 作用域的数字 297 11.8.4 闭包 298 11.8.5 作用域和lambda 302 11.8.6 变量作用域和名称空间 304 11.9 递归 304 11.10 生成器 305 11.10.1 简单的生成器特性 305 11.10.2 加强的生成器特性 307 11.11 练习 308

第12章 模块 310 12.1 什么是模块 311 12.2 模块和文件 311 12.2.1 模块名称空间 311 12.2.2 搜索路径和路径搜索 311 12.3 名称空间 312 12.3.1 名称空间与变量作用域比较 313 12.3.2 名称查找、确定作用域、覆盖 314 12.3.3 无限制的名称空间 314 12.4 导入模块 315 12.4.1 import语句 315 12.4.2 from-import语句 315 12.4.3 多行导入 316 12.4.4 扩展的import语句(as) 316 12.5 模块导入的特性 316 12.5.1 载入时执行模块 316 12.5.2 导入(import)和加载(load) 317 12.5.3 导入到当前名称空间的名称 317 12.5.4 被导入到导入者作用域的名字 317 12.5.5 关于future 318 12.5.6 警告框架 318 12.5.7 从ZIP文件中导入模块 319 12.5.8 “新的”导入钩子 319 12.6 模块内建函数 319 12.6.1 import() 319 12.6.2 globals()和locals() 320 12.6.3 reload() 320 12.7 包 321 12.7.1 目录结构 321 12.7.2 使用from-import导入包 322 12.8 模块的其他特性 323 12.8.1 自动载入的模块 323 12.8.2 阻止属性导入 323 12.8.3 不区分大小的导入 323 12.8.4 源代码编码 324 12.8.5 导入循环 324 12.8.6 模块执行 325 12.9 相关模块 325 12.10 练习 326

第13章 面向对象编程 327 13.1 引言 328 13.2 面向对象编程 333 13.2.1 面向对象设计与面向对象编程的关系 333 13.2.2 现实中的问题 334 13.2.3 常用术语 334 13.3 类 335 13.3.1 创建类 336 13.3.2 声明与定义 336 13.4 类属性 336 13.4.1 类的数据属性 337 13.4.2 Methods 337 13.4.3 决定类的属性 338 13.4.4 特殊的类属性 339 13.5 实例 340 13.5.1 初始化:通过调用类对象来创建实例 340 13.5.2 init()“构造器”方法 341 13.5.3 new()“构造器”方法 342 13.5.4 del()“解构器”方法 342 13.6 实例属性 344 13.6.1 “实例化”实例属性(或创建一个更好的构造器) 344 13.6.2 查看实例属性 346 13.6.3 特殊的实例属性 346 13.6.4 建类型属性 347 13.6.5 实例属性vs类属性 348 13.7 绑定和方法调用 350 13.7.1 调用绑定方法 351 13.7.2 调用非绑定方法 351 13.8 静态方法和类方法 352 13.8.1 staticmethod()和classmethod()内建函数 352 13.8.2 使用函数修饰符 353 13.9 组合 353 13.10 子类和派生 354 13.11 继承 355 13.11.1 bases类属性 356 13.11.2 通过继承覆盖方法 356 13.11.3 从标准类型派生 358 13.11.4 多重继承 360 13.12 类、实例和其他对象的内建函数 363 13.12.1 issubclass() 363 13.12.2 isinstance() 363 13.12.3 hasattr()、getattr()、setattr()、delattr() 364 13.12.4 dir() 365 13.12.5 super() 365 13.12.6 vars() 366 13.13 用特殊方法定制类 367 13.13.1 简单定制(RoundFloat2) 370 13.13.2 数值定制(Time60) 372 13.13.3 迭代器(RandSeq和AnyIter) 375 13.13.4 多类型定制(NumStr) 377 13.14 私有化 381 13.15 *授权 382 13.15.1 包装 382 13.15.2 实现授权 383 13.16 新式类的高级特性(Python 2.2+) 388 13.16.1 新式类的通用特性 388 13.16.2 slots类属性 389 13.16.3 getattribute()特殊方法 390 13.16.4 描述符 390 13.16.5 元类和metaclass 399 13.17 相关模块和文档 403 13.18 练习 405

第14章 执行环境 410 14.1 可调用对象 411 14.1.1 函数 411 14.1.2 方法 413 14.1.3 类 415 14.1.4 类的实例 415 14.2 代码对象 416 14.3 可执行的对象声明和内建函数 416 14.3.1 callable() 417 14.3.2 compile() 417 14.3.3 eval() 418 14.3.4 exec 419 14.3.5 input() 420 14.3.6 使用Python在运行时生成和执行Python代码 420 14.4 执行其他(Python)程序 426 14.4.1 导入 426 14.4.2 execfile() 427 14.4.3 将模块作为脚本执行 428 14.5 执行其他(非Python)程序 428 14.5.1 os.system() 429 14.5.2 os.popen() 430 14.5.3 os.fork()、os.exec()、os.wait() 431 14.5.4 os.spawn*() 432 14.5.5 subprocess 模块 432 14.5.6 相关函数 433 14.6 受限执行 433 14.7 结束执行 434 14.7.1 sys.exit() and SystemExit 434 14.7.2 sys.exitfunc() 435 14.7.3 os._exit() 函数 435 14.7.4 os.kill() Function 435 14.8 各种操作系统接口 436 14.9 相关模块 436 14.10 练习 437

第2部分 高级主题 第15章 正则表达式 441 15.1 引言/动机 442 15.2 正则表达式使用的特殊符号和字符 443 15.2.1 用管道符号(|)匹配多个正则表达式模式 444 15.2.2 匹配任意一个单个的字符(.) 444 15.2.3 从字符串的开头或结尾或单词边界开始匹配(^/$ /\b /\B ) 444 15.2.4 创建字符类([]) 445 15.2.5 指定范围(-)和否定(^) 445 15.2.6 使用闭包操作符(*,+,?,{})实现多次出现/重复匹配 446 15.2.7 特殊字符表示、字符集 446 15.2.8 用圆括号(())组建组 447 15.3 正则表达式和Python语言 447 15.3.1 re模块:核心函数和方法 448 15.3.2 使用compile()编译正则表达式 449 15.3.3 匹配对象和group()、groups()方法 449 15.3.4 用match()匹配字符串 449 15.3.5 search()在一个字符串中查找一个模式(搜索与匹配的比较) 450 15.3.6 匹配多个字符串(|) 451 15.3.7 匹配任意单个字符(.) 451 15.3.8 创建字符集合([]) 452 15.3.9 重复、特殊字符和子组 452 15.3.10 从字符串的开头或结尾匹配及在单词边界上的匹配 454 15.3.11 用findall()找到每个出现的匹配部分 455 15.3.12 用sub()(和subn())进行搜索和替换 455 15.3.13 用split()分割(分隔模式) 455 15.4 正则表达式示例 458 15.4.1 匹配一个字符串 460 15.4.2 搜索与匹配的比较,“贪婪”匹配 461 15.5 练习 463

第16章 网络编程 465 16.1 引言 466 16.1.1 什么是客户端/服务器架构 466 16.1.2 客户端/服务器网络编程 468 16.2 套接字:通信端点 468 16.2.1 什么是套接字 468 16.2.2 套接字地址:主机与端口 469 16.2.3 面向连接与无连接 469 16.3 Python中的网络编程 469 16.3.1 socket()模块函数 470 16.3.2 套接字对象(内建)方法 470 16.3.3 创建一个TCP服务器 471 16.3.4 创建TCP客户端 473 16.3.5 运行我们的客户端与TCP服务器 474 16.3.6 创建一个UDP服务器 475 16.3.7 创建一个UDP客户端 476 16.3.8 执行UDP服务器和客户端 477 16.3.9 Socket模块属性 478 16.4 *SocketServer模块 479 16.4.1 创建一个SocketServerTCP服务器 479 16.4.2 创建SocketServerTCP客户端 480 16.4.3 执行TCP服务器和客户端 481 16.5 Twisted框架介绍 482 16.5.1 创建一个Twisted Reactor TCP服务器 482 16.5.2 创建一个Twisted Reactor TCP客户端 483 16.5.3 执行TCP服务器和客户端 484 16.6 相关模块 484 16.7 练习 485

第17章 网络客户端编程 487 17.1 什么是因特网客户端 488 17.2 文件传输 488 17.2.1 文件传输网际协议 488 17.2.2 文件传输协议(FTP) 488 17.2.3 Python和FTP 489 17.2.4 ftplib.FTP类方法 490 17.2.5 交互式FTP示例 490 17.2.6 客户端FTP程序举例 491 17.2.7 FTP的其他方面 492 17.3 网络新闻 493 17.3.1 Usenet与新闻组 493 17.3.2 网络新闻传输协议(NNTP) 493 17.3.3 Python和NNTP 494 17.3.4 nntplib.NNTP类方法 494 17.3.5 交互式NNTP举例 495 17.3.6 客户端程序NNTP举例 496 17.3.7 NNTP的其他方面 500 17.4 电子邮件 500 17.4.1 电子邮件系统组件和协议 500 17.4.2 发送电子邮件 501 17.4.3 Python和SMTP 501 17.4.4 smtplib.SMTP类方法 502 17.4.5 交互式SMTP示例 502 17.4.6 SMTP的其他方面 503 17.4.7 接收电子邮件 503 17.4.8 POP和IMAP 504 17.4.9 Python和POP3 504 17.4.10 交互式POP3举例 505 17.4.11 poplib.POP3类方法 506 17.4.12 客户端程序SMTP和POP3举例 506 17.5 相关模块 508 17.5.1 电子邮件 508 17.5.2 其他网络协议 508 17.6 练习 509

第18章 多线程编程 512 18.1 引言/动机 513 18.2 线程和进程 513 18.2.1 什么是进程 513 18.2.2 什么是线程 514 18.3 Python、线程和全局解释器锁 514 18.3.1 全局解释器锁(GIL) 514 18.3.2 退出线程 515 18.3.3 在Python中使用线程 515 18.3.4 没有线程支持的情况 515 18.3.5 Python的threading模块 516 18.4 thread模块 517 18.5 threading模块 520 18.5.1 Thread类 521 18.5.2 斐波那契、阶乘和累加和 525 18.5.3 threading模块中的其他函数 528 18.5.4 生产者-消费者问题和Queue模块 528 18.6 相关模块 531 18.7 练习 531

第19章 图形用户界面编程 532 19.1 简介 533 19.1.1 什么是Tcl、Tk和Tkinter 533 19.1.2 安装和使用Tkinter 533 19.1.3 客户端/服务器架构 534 19.2 Tkinter与Python编程 534 19.2.1 Tkinter模块:把Tk引入你的程序 534 19.2.2 GUI程序开发简介 534 19.2.3 顶层窗口:Tkinter.Tk() 535 19.2.4 Tk组件 535 19.3 Tkinter举例 536 19.3.1 标签组件 536 19.3.2 按钮组件 537 19.3.3 标签和按钮组件 537 19.3.4 标签、按钮和进度条组件 538 19.3.5 偏函数应用举例 539 19.3.6 中级Tkinter范例 541 19.4 其他GUI简介 545 19.4.1 Tk Interface eXtensions (Tix) 546 19.4.2 Python MegaWidgets (PMW) 547 19.4.3 wxWidgets和wxPython 547 19.4.4 GTK+和PyGTK 549 19.5 相关模块和其他GUI 551 19.6 练习 553

第20章 Web编程 554 20.1 介绍 555 20.1.1 Web应用:客户端/服务器计算 555 20.1.2 因特网 555 20.2 使用Python进行Web应用:创建一个简单的Web客户端 556 20.2.1 统一资源定位符 556 20.2.2 urlparse模块 557 20.2.3 urllib模块 558 20.2.4 urllib2模块 561 20.3 高级Web客户端 563 20.4 CGI:帮助Web服务器处理客户端数据 567 20.4.1 CGI介绍 567 20.4.2 CGI应用程序 568 20.4.3 cgi模块 569 20.5 建立CGI应用程序 569 20.5.1 建立Web服务器 569 20.5.2 建立表单页 569 20.5.3 生成结果页 570 20.5.4 生成表单和结果页面 571 20.5.5 全面交互的Web站点 574 20.6 在CGI中使用Unicode编码 577 20.7 高级CGI 579 20.7.1 Mulitipart表单提交和文件的上传 579 20.7.2 多值字段 579 20.7.3 cookie 579 20.7.4 使用高级CGI 580 20.8 Web(HTTP)服务器 587 20.9 相关模块 589 20.10 练习 590

第21章 数据库编程 593 21.1 介绍 594 21.1.1 持久存储 594 21.1.2 基本的数据库操作和SQL语言 594 21.1.3 数据库和Python 596 21.2 Python数据库应用程序程序员接口(DB-API) 596 21.2.1 模块属性 597 21.2.2 连接对象 598 21.2.3 游标对象 599 21.2.4 类型对象和构造器 600 21.2.5 关系数据库 601 21.2.6 数据库和Python:接口程序 602 21.2.7 使用数据库接口程序举例 602 21.3 对象-关系管理器(ORM) 611 21.3.1 考虑对象,而不是SQL 611 21.3.2 Python和ORM 611 21.3.3 雇员数据库举例 611 21.3.4 总结 620 21.4 相关模块 620 21.5 练习 621

第22章 扩展Python 623 22.1 引言/动机 624 22.1.1 什么是扩展 624 22.1.2 为什么要扩展Python 624 22.2 创建Python扩展 625 22.2.1 创建您的应用程序代码 625 22.2.2 用样板来包装你的代码 627 22.2.3 编译 630 22.2.4 导入和测试 632 22.2.5 引用计数 633 22.2.6 线程和全局解释器锁(GIL) 635 22.3 相关话题 636 22.4 练习 637

第23章 其他话题 638 23.1 Web服务 639 23.2 用Win32的COM来操作微软Office 641 23.2.1 客户端COM编程 641 23.2.2 微软Excel 642 23.2.3 微软Word 644 23.2.4 微软PowerPoint 645 23.2.5 微软Outlook 646 23.2.6 中等规模的例子 648 23.3 用Jython写Python和Java的程序 650 23.3.1 什么是Jython 650 23.3.2 Swing GUI开发(Java或者Python!) 651 23.4 练习 653

亚马逊链接