0%

基本信息

名称: UNIX网络编程(卷1) 套接字联网API(第3版)
作者信息: 作者: 史蒂文斯(W.Richard Stevens) [ 中文 pdf ]

简单介绍

《UNIX网络编程(卷1):套接字联网API(第3版)》中顶级网络编程专家Bill Fenner和Andrew M. Rudoff应邀执笔,对W. Richard Stevens的经典作品进行修订。书中吸纳了近几年网络技术的发展,增添了IPv6、SCTP协议和密钥管理套接字等内容,深入讨论了最新的关键标准、实现和技术。书中的所有示例都是在UNIX系统上测试通过的真实的、可运行的代码,继承了Stevens一直强调的理念:“学习网络编程的最好方法就是下载这些程序,对其进行修改和改进。只有这样实际编写代码才能深入理解有关概念和方法。”读者可以从图灵网站《UNIX网络编程(卷1):套接字联网API(第3版)》网页免费注册下载这些示例的源代码。 《UNIX网络编程(卷1):套接字联网API(第3版)》为UNIX网络编程提供全面的指导,是网络研究和开发人员公认的权威参考书,无论网络编程的初学者还是网络专家都会大受裨益。

目录

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
第一部分 简介和TCP/IP
第1章 简介 2
1.1 概述 2
1.2 一个简单的时间获取客户程序 5
1.3 协议无关性 9
1.4 错误处理:包裹函数 10
1.5 一个简单的时间获取服务器程序 12
1.6 本书中客户/服务器程序示例索引表 14
1.7 OSI模型 16
1.8 BSD网络支持历史 17
1.9 测试用网络及主机 19
1.10 Unix标准 22
1.11 64位体系结构 24
1.12 小结 25
习题 25

第2章 传输层:TCP、UDP和SCTP 27 2.1 概述 27 2.2 总图 27 2.3 用户数据报协议(UDP) 29 2.4 传输控制协议(TCP) 30 .2.5 流控制传输协议(SCTP) 31 2.6 TCP连接的建立和终止 31 2.7 TIME_WAIT状态 37 2.8 SCTP关联的建立和终止 38 2.9 端口号 42 2.10 TCP端口号与并发服务器 43 2.11 缓冲区大小及限制 45 2.12 标准因特网服务 50 2.13 常见因特网应用的协议使用 51 2.14 小结 52 习题 53

第二部分 基本套接字编程 第3章 套接字编程简介 56 3.1 概述 56 3.2 套接字地址结构 56 3.3 值-结果参数 61 3.4 字节排序函数 63 3.5 字节操纵函数 66 3.6 inet_aton、inet_addr和inet_ntoa函数 67 3.7 inet_pton和inet_ntop函数 68 3.8 sock_ntop和相关函数 70 3.9 readn、writen和readline函数 72 3.10 小结 76 习题 76

第4章 基本TCP套接字编程 77 4.1 概述 77 4.2 socket函数 77 4.3 connect函数 80 4.4 bind函数 81 4.5 listen函数 84 4.6 accept函数 88 4.7 fork和exec函数 90 4.8 并发服务器 91 4.9 close函数 93 4.10 getsockname和getpeername函数 94 4.11 小结 96 习题 96

第5章 TCP客户/服务器程序示例 97 5.1 概述 97 5.2 TCP回射服务器程序:main函数 97 5.3 TCP回射服务器程序:str_echo函数 98 5.4 TCP回射客户程序:main函数 99 5.5 TCP回射客户程序:str_cli函数 100 5.6 正常启动 101 5.7 正常终止 102 5.8 POSIX信号处理 103 5.9 处理SIGCHLD信号 106 5.10 wait和waitpid函数 108 5.11 accept返回前连接中止 111 5.12 服务器进程终止 112 5.13 SIGPIPE信号 113 5.14 服务器主机崩溃 114 5.15 服务器主机崩溃后重启 115 5.16 服务器主机关机 116 5.17 TCP程序例子小结 116 5.18 数据格式 117 5.19 小结 120 习题 120

第6章 I/O复用:select和poll函数 122 6.1 概述 122 6.2 I/O模型 122 6.3 select函数 127 6.4 str_cli函数(修订版) 132 6.5 批量输入 133 6.6 shutdown函数 136 6.7 str_cli函数(再修订版) 137 6.8 TCP回射服务器程序(修订版) 138 6.9 pselect函数 142 6.10 poll函数 144 6.11 TCP回射服务器程序(再修订版) 146 6.12 小结 148 习题 149

第7章 套接字选项 150 7.1 概述 150 7.2 getsockopt和setsockopt函数 150 7.3 检查选项是否受支持并获取默认值 152 7.4 套接字状态 156 7.5 通用套接字选项 156 7.6 IPv4套接字选项 168 7.7 ICMPv6套接字选项 169 7.8 IPv6套接字选项 169 7.9 TCP套接字选项 171 7.10 SCTP套接字选项 173 7.11 fcntl函数 182 7.12 小结 184 习题 184

第8章 基本UDP套接字编程 186 8.1 概述 186 8.2 recvfrom和sendto函数 187 8.3 UDP回射服务器程序:main函数 187 8.4 UDP回射服务器程序:dg_echo函数 188 8.5 UDP回射客户程序:main函数 190 8.6 UDP回射客户程序:dg_cli函数 190 8.7 数据报的丢失 191 8.8 验证接收到的响应 191 8.9 服务器进程未运行 193 8.10 UDP程序例子小结 194 8.11 UDP的connect函数 196 8.12 dg_cli函数(修订版) 199 8.13 UDP缺乏流量控制 200 8.14 UDP中的外出接口的确定 203 8.15 使用select函数的TCP和UDP回射服务器程序 204 8.16 小结 206 习题 207

第9章 基本SCTP套接字编程 208 9.1 概述 208 9.2 接口模型 208 9.3 sctp_bindx函数 212 9.4 sctp_connectx函数 213 9.5 sctp_getpaddrs函数 213 9.6 sctp_freepaddrs函数 213 9.7 sctp_getladdrs函数 214 9.8 sctp_freeladdrs函数 214 9.9 sctp_sendmsg函数 214 9.10 sctp_recvmsg函数 215 9.11 sctp_opt_info函数 215 9.12 sctp_peeloff函数 216 9.13 shutdown函数 216 9.14 通知 217 9.15 小结 221 习题 222

第10章 SCTP客户/服务器程序例子 223 10.1 概述 223 10.2 SCTP一到多式流分回射服务器程序:main函数 223 10.3 SCTP一到多式流分回射客户程序:main函数 225 10.4 SCTP流分回射客户程序:sctpstr_cli函数 226 10.5 探究头端阻塞 228 10.6 控制流的数目 233 10.7 控制终结 233 10.8 小结 234 习题 235

第11章 名字与地址转换 236 11.1 概述 236 11.2 域名系统 236 11.3 gethostbyname函数 239 11.4 gethostbyaddr函数 242 11.5 getservbyname和getservbyport函数 242 11.6 getaddrinfo函数 245 11.7 gai_strerror函数 250 11.8 freeaddrinfo函数 251 11.9 getaddrinfo函数:IPv6 251 11.10 getaddrinfo函数:例子 253 11.11 host_serv函数 254 11.12 tcp_connect函数 254 11.13 tcp_listen函数 257 11.14 udp_client函数 261 11.15 udp_connect函数 263 11.16 udp_server函数 264 11.17 getnameinfo函数 266 11.18 可重入函数 267 11.19 gethostbyname_r和gethostbyaddr_r函数 270 11.20 作废的IPv6地址解析函数 271 11.21 其他网络相关信息 272 11.22 小结 273 习题 274

第三部分 高级套接字编程 第12章 IPv4与IPv6的互操作性 278 12.1 概述 278 12.2 IPv4客户与IPv6服务器 278 12.3 IPv6客户与IPv4服务器 281 12.4 IPv6地址测试宏 283 12.5 源代码可移植性 284 12.6 小结 284 习题 285

第13章 守护进程和inetd超级服务器 286 13.1 概述 286 13.2 syslogd守护进程 286 13.3 syslog函数 287 13.4 daemon_init函数 289 13.5 inetd守护进程 293 13.6 daemon_inetd函数 297 13.7 小结 299 习题 299

第14章 高级I/O函数 300 14.1 概述 300 14.2 套接字超时 300 14.3 recv和send函数 305 14.4 readv和writev函数 306 14.5 recvmsg和sendmsg函数 307 14.6 辅助数据 310 14.7 排队的数据量 313 14.8 套接字和标准I/O 313 14.9 高级轮询技术 316 14.10 T/TCP:事务目的TCP 320 14.11 小结 322 习题 323

第15章 Unix域协议 324 15.1 概述 324 15.2 Unix域套接字地址结构 324 15.3 socketpair函数 326 15.4 套接字函数 327 15.5 Unix域字节流客户/服务器程序 327 15.6 Unix域数据报客户/服务器程序 329 15.7 描述符传递 330 15.8 接收发送者的凭证 337 15.9 小结 340 习题 340

第16章 非阻塞式I/O 341 16.1 概述 341 16.2 非阻塞读和写:str_cli函数(修订版) 342 16.3 非阻塞connect 351 16.4 非阻塞connect:时间获取客户程序 352 16.5 非阻塞connect:Web客户程序 354 16.6 非阻塞accept 362 16.7 小结 363 习题 363

第17章 ioctl操作 365 17.1 概述 365 17.2 ioctl函数 365 17.3 套接字操作 366 17.4 文件操作 367 17.5 接口配置 367 17.6 get_ifi_info函数 369 17.7 接口操作 378 17.8 ARP高速缓存操作 378 17.9 路由表操作 380 17.10 小结 381 习题 381

第18章 路由套接字 382 18.1 概述 382 18.2 数据链路套接字地址结构 382 18.3 读和写 383 18.4 sysctl操作 390 18.5 get_ifi_info函数 394 18.6 接口名字和索引函数 397 18.7 小结 401 习题 401

第19章 密钥管理套接字 402 19.1 概述 402 19.2 读和写 403 19.3 倾泻安全关联数据库 404 19.4 创建静态安全关联 407 19.5 动态维护安全关联 412 19.6 小结 415 习题 416

第20章 广播 417 20.1 概述 417 20.2 广播地址 418 20.3 单播和广播的比较 419 20.4 使用广播的dg_cli函数 422 20.5 竞争状态 424 20.6 小结 431 习题 432

第21章 多播 433 21.1 概述 433 21.2 多播地址 433 21.3 局域网上多播和广播的比较 436 21.4 广域网上的多播 438 21.5 源特定多播 440 21.6 多播套接字选项 441 21.7 mcast_join和相关函数 445 21.8 使用多播的dg_cli函数 450 21.9 接收IP多播基础设施会话声明 451 21.10 发送和接收 454 21.11 SNTP:简单网络时间协议 457 21.12 小结 461 习题 461

第22章 高级UDP套接字编程 462 22.1 概述 462 22.2 接收标志、目的IP地址和接口索引 462 22.3 数据报截断 467 22.4 何时用UDP代替TCP 467 22.5 给UDP应用增加可靠性 469 22.6 捆绑接口地址 478 22.7 并发UDP服务器 482 22.8 IPv6分组信息 483 22.9 IPv6路径MTU控制 486 22.10 小结 487 习题 488

第23章 高级SCTP套接字编程 489 23.1 概述 489 23.2 自动关闭的一到多式服务器程序 489 23.3 部分递送 490 23.4 通知 492 23.5 无序的数据 495 23.6 捆绑地址子集 496 23.7 确定对端和本端地址信息 497 23.8 给定IP地址找出关联ID 500 23.9 心搏和地址不可达 501 23.10 关联剥离 502 23.11 定时控制 503 23.12 何时改用SCTP代替TCP 505 23.13 小结 506 习题 506

第24章 带外数据 507 24.1 概述 507 24.2 TCP带外数据 507 24.3 sockatmark函数 513 24.4 TCP带外数据小结 519 24.5 客户/服务器心搏函数 520 24.6 小结 524 习题 524

第25章 信号驱动式I/O 525 25.1 概述 525 25.2 套接字的信号驱动式I/O 525 25.3 使用SIGIO的UDP回射服务器程序 527 25.4 小结 532 习题 533

第26章 线程 534 26.1 概述 534 26.2 基本线程函数:创建和终止 535 26.3 使用线程的str_cli函数 537 26.4 使用线程的TCP回射服务器程序 538 26.5 线程特定数据 542 26.6 Web客户与同时连接 549 26.7 互斥锁 552 26.8 条件变量 555 26.9 Web客户与同时连接(续) 558 26.10 小结 560 习题 560

第27章 IP选项 561 27.1 概述 561 27.2 IPv4选项 561 27.3 IPv4源路径选项 562 27.4 IPv6扩展首部 569 27.5 IPv6步跳选项和目的地选项 569 27.6 IPv6路由首部 573 27.7 IPv6粘附选项 577 27.8 历史性IPv6高级API 578 27.9 小结 579 习题 579

第28章 原始套接字 580 28.1 概述 580 28.2 原始套接字创建 580 28.3 原始套接字输出 581 28.4 原始套接字输入 582 28.5 ping程序 584 28.6 traceroute程序 596 28.7 一个ICMP消息守护程序 608 28.8 小结 622 习题 622

第29章 数据链路访问 623 29.1 概述 623 29.2 BPF:BSD分组过滤器 623 29.3 DLPI:数据链路提供者接口 625 29.4 Linux:SOCK_PACKET和 PFPACKET 626 29.5 libpcap:分组捕获函数库 627 29.6 libnet:分组构造与输出函数库 627 29.7 检查UDP的校验和字段 628 29.8 小结 645 习题 645

第30章 客户/服务器程序设计范式 646 30.1 概述 646 30.2 TCP客户程序设计范式 648 30.3 TCP测试用客户程序 649 30.4 TCP迭代服务器程序 650 30.5 TCP并发服务器程序,每个客户一个子进程 650 30.6 TCP预先派生子进程服务器程序,accept无上锁保护 653 30.7 TCP预先派生子进程服务器程序,accept使用文件上锁保护 659 30.8 TCP预先派生子进程服务器程序,accept使用线程上锁保护 662 30.9 TCP预先派生子进程服务器程序,传递描述符 663 30.10 TCP并发服务器程序,每个客户一个线程 667 30.11 TCP预先创建线程服务器程序,每个线程各自accept 669 30.12 TCP预先创建线程服务器程序,主线程统一accept 671 30.13 小结 673 习题 674

第31章 流 675 31.1 概述 675 31.2 概貌 675 31.3 getmsg和putmsg函数 678 31.4 getpmsg和putpmsg函数 679 31.5 ioctl函数 680 31.6 TPI:传输提供者接口 680 31.7 小结 689 习题 689

附录A IPv4、IPv6、ICMPv4和ICMPv6 690 附录B 虚拟网络 704 附录C 调试技术 708 附录D 杂凑的源代码 714 附录E 精选习题答案 726 参考文献 756 索引 763

亚马逊链接

基本信息

名称: Python基础教程(第2版)
作者信息: 作者: 赫特兰 (Magnus Lie Hetland) [ 中文 pdf ]

简单介绍

《Python基础教程(第2版)》内容涉及的范围较广,既能为初学者夯实基础,又能帮助程序员提升技能,适合各个层次的Python开发人员阅读参考。《Python基础教程(第2版)》是经典教程的全新改版.作者根据Python版本的种种变化,全面改写了书中内容,做到既能“瞻前”也能“顾后”。《Python基础教程(第2版)》层次鲜明、结构严谨、内容翔实,特别是在最后几章。作者将前面讲述的内容应用到了10个引人入胜的项目中,并以模板的形式介绍了项目的开发过程。《Python基础教程(第2版)》既适合初学者夯实基础。又能帮助Python程序员提升技能,即使是Python方面的技术专家,也能从书里找到令你耳目一新的东西。

目录

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
第1章 基础知识
1.1 安装Python
1.1.1 Windows
1.1.2 Linux和UNIX
1.1.3 苹果机(Macintosh)
1.1.4 其他发布版
1.1.5 时常关注,保持更新
1.2 交互式解释器
1.3 算法是什么
1.4 数字和表达式
1.4.1 长整型数
1.4.2 十六进制和八进制
1.5 变量
1.6 语句
1.7 获取用户输入
1.8 函数
1.9 模块
1.9.1 cmath和复数
1.9.2 回到future
1.10 保存并执行程序
1.10.1 通过命令提示符运行Python脚本
1.10.2 让脚本像普通程序一样运行
1.10.3 注释
1.11 字符串
1.11.1 单引号字符串和转义引号
1.11.2 拼接字符串
1.11.3 字符串表示和repr
1.11.4 input和rawinpm的比较
1.11.5 长字符串、原始字符串和Unicode
1.12 小结
1.12.1 本章的新函数
1.12.2 接下来学什么

第2章 列表和元组 2.1 序列概览 2.2 通用序列操作 2.2.1 索引 2.2.2 分片 2.2.3 序列相加 2.2.4.乘法 2.2.5 成员资格 2.2.6 长度、最小值和最大值 2.3 列表:Python的“苦力” 2.3.1 list函数 2.3.2 基本的列表操作 2.3.3 列表方法 2.4 元组:不可变序列 2.4.1 tuple函数 2.4.2 基本元组操作 2.4.3 那么,意义何在 2.5 小结 2.5.1 本章的新函数 2.5.2 接下来学什么

第3章 使用字符串 3.1 基本字符串操作 3.2 字符串格式化:精简版 3.3 字符串格式化:完整版 3.3.1 简单转换 3.3.2 字段宽度和精度 3.3.3 符号、对齐和0填充 3.4 字符串方法 3.4.1 f1nd 3.4.2 join 3.4.3 jower 3.4.4 replace 3.4.5 spl1t 3.4.6 strlD 3.4.7 tralqslate 3.5 小结 3.5.1 本章的新函数 3.5.2 接下来学什么

第4章 字典:当索引不好用时 4.1 字典的使用 4.2 创建和使用字典 4.2.1 dict函数 4.2.2 基本字典操作 4.2.3 字典的格式化字符串 4.2.4 字典方法 4.3 小结 4.3.1 本章的新函数 4.3.2 接下来学什么

第5章 条件、循环和其他语句 5.1 print和import的更多信息 5.1.1 使用逗号输出 5.1.2 把某件事作为另一件事导入 5.2 赋值魔法 5.2.1 序列解包 5.2.2 链式赋值 5.2.3 增量赋值 5.3 语句块:缩排的乐趣 5.4 条件和条件语句 5.4.1 这就是布尔变量的作用 5.4.2 条件执行和if语句 5.4.3 else子句 5.4.4 elif子句 5.4.5 嵌套代码块 5.4.6 更复杂的条件 5.4.7 断言 5.5 循环 5.5.1 while循环 5.5.2 for循环 5.5.3 循环遍历字典元素 5.5.4 一些迭代工具 5.5.5 跳出循环 5.5.6 循环中的else子句 5.6 列表推导式——轻量级循环 5.7 三人行 5.7.1 什么都没发生 5.7.2 使用del删除 5.7.3 使用exec和eval执行和求值字符串 5.8 小结 5.8.1 本章的新函数 5.8.2 接下来学什么

第6章 抽象 6.1 懒惰即美德 6.2 抽象和结构 6.3 创建函数 6.3.1 记录函数 6.3.2 并非真正函数的函数 6.4 参数魔法 6.4.1 值从哪里来 6.4.2 我能改变参数吗 6.4.3 关键字参数和默认值 6.4.4 收集参数 6.4.5 反转过程 6.4.6 练习使用参数 6.5 作用域 6.6 递归 6.6.1 两个经典:阶乘和幂 6.6.2 另外一个经典:二元查找 6.7 小结 6.7.1 本章的新函数 6.7.2 接下来学什么

第7章 更加抽象 7.1 对象的魔力 7.1.1 多态 7.1.2 封装 7.1.3 继承 7.2 类和类型 7.2.1 类到底是什么 7.2.2 创建自己的类 7.2.3 特性、函数和方法 7.2.4 类的命名空间 7.2.5 指定超类 7.2.6 调查继承 7.2.7 多个超类 7.2.8 接口和内省 7.3 一些关于面向对象设计的思考 7.4 简明总结 7.4.1 本章的新函数 7.4.2 接下来学什么

第8章 异常 8.1 什么是异常 8.2 按自己的方式出错 8.2.1 raise语句 8.2.2 自定义异常类 8.3 捕捉异常 8.4 不止一个except子句 8.5 用一个块捕捉两个异常 8.6 捕捉对象 8.7 真正的全捕捉 8.8 万事大吉 8.9 最后 8.10 异常和函数 8.11 异常之禅 8.12小结 8.12.1 本章的新函数 8.12.2 接下来学什么

第9章 魔法方法、属性和迭代器 9.1 准备工作 9.2 构造方法 9.2.1 重写一般方法和特殊的构造方法 9.2.2 调用未绑定的超类构造方法 9.2.3 使用super、函数 9.3 成员访问 9.3.1 基本的序列和映射规则 9.3.2 子类化列表,字典和字符串 9.4 更多魔力 9.5 属性 9.5.1 property函数 9.5.2 静态方法和类成员方法 9.5.3 getattr、setattr和它的朋友们 9.6 迭代器 9.6.1 迭代器规则 9.6.2 从迭代器得到序列 9.7 生成器 9.7.1 创建生成器 9.7.2 递归生成器 9.7.3 通用生成器 9.7.4 生成器方法 9.7.5 模拟生成器 9.8 八皇后问题 9.8.1 生成器和回溯 9.8.2 问题 9.8.3 状态表示 9.8.4 寻找冲突 9.8.5 基本情况 9.8.6 需要递归的情况 9.8.7 打包 9.9 小结 9.9.1 本章的新函数 9.9.2 接下来学什么

第10章 充电时刻 10.1 模块 10.1.1 模块是程序 10.1.2 模块用于定义 10.1.3 让你的模块可用 10.1.4 包 10.2 探究模块 10.2.1 模块中有什么 10.2.2 用help获取帮助 10.2.3 文档 10.2.4 使用源代码 10.3 标准库:一些最爱 10.3.1 sys 10.3.2 OS 10.3.3 fileinput 10.3.4 集合、堆和双端队列 10.3.5 time 10.3.6 random 10.3.7 shelve 10.3.8 re 10.3.9 其他有趣的标准模块 10.4 小结 10.4.1 本章的新函数 10.4.2 接下来学什么

第11章 文件和素材 11.1 打开文件 11.1.1 文件模式 11.1.2 缓冲 11.2 基本文件方法 11.2.1 读和写 11.2.2 管式输出 11.2.3 读写行 11.2.4 关闭文件 11.2.5 使用基本文件方法 11.3 对文件内容进行迭代 11.3.1 按字节处理 11.3.2 按行操作 11.3.3 读取所有内容 11.3.4 使用fileinput实现懒惰行迭代 11.3.5 文件迭代器 11.4 小结 11.4.1 本章的新函数 11.4.2 接下来学什么

第12章 图形用户界面 12.1 丰富的平台 12.2 下载和安装wxpytbon 12.3 创建示例GUI应用程序 12.3.1 开始 12.3.2 窗口和组件 12.3.3 标签、标题和位置 12.3.4 更智能的布局 12.3.5 事件处理 12.3.6 完成了的程序 12.4 但是我宁愿用 12.4..1 使用Tkinter 12.4.2 使用Jython和Swing 12.4..3 使用其他开发包 12.5 小结

第13章 数据库支持 13.1 Python数据库API 13.1.1 全局变量 13.1.2 异常 13.1.3 连接和游标 13.1.4 类型 13.2 SQLite和PySQLite 13.2.1 入门 13.2.2 数据库应用程序示例 13.3 小结 13.3.1 本章的新函数 13.3.2 接下来学什么

第14章 网络编程 14.1 少数几个网络设计模块 14.1.1 socket模块 14.1.2 urllib和urllib2模块 14.1.3 其他模块 14.2 SocketServer和它的朋友们 14.3 多连接 14.3.1 使用SocketServer进行分叉和线程处理 14.3.2 带有select和port的异步I/O 14.4 Twisted 14.4.1 下裁并安装Twisted 14.4.2 编写Twisted服务器 14.5 小结 14.5.1 本章的新函数 14.5.2 接下来学什么

第15章 Python和万维网 15.1 屏幕抓取 15.1.1 Tidy和XHTML解析 …… 第16章 测试 第17章 扩展Python 第18章 程序打包 第19章 好玩的编程 第20章 项目1:即时标记 第21章 项目2:画幅好画 第22章 项目3:万能的XML 第23章 项目4:新闻聚合 第24章 项目5:虚拟茶话会 第25章 项目6:使用CGI进行远程编辑 第26章 项目7:自定义电子公告板 第27章 项目8:使用XML-RPC进行文件共享 第28章 项目9:文件共享2——GUI版本 第29章 项目10:DIY街机游戏 附录A 简明版本 附录B Python参考手册 附录C 在线资源 附录D Python3.0

亚马逊链接

基本信息

名称: 编写高质量代码 Web前端开发修炼之道
作者信息: 作者: 曹刘阳 [ 中文 pdf ]

简单介绍

《编写高质量代码:Web前端开发修炼之道》:Web前端开发者的内功修炼秘笈4大社区鼎立推荐!在这个用户体验为王的Web 2.0时代,Web应用所涉及的领域越来越广,规模越来越大,需求越来越多样化和复杂化,更新的速度也越来越快。如何才能让我们的应用应对规模化、多样化、复杂化和快速变化带来的种种问题?编写高质量的、易于维护的Web前端代码似乎是解决这些问题的唯一途径。如何才能编写出高质量的、易于维护的Web前端代码?《编写高质量代码:Web前端开发修炼之道》的主要内容围绕Web前端开发的三大技术要素——HTML、CSS和JavaScript展开,深入地讨论了编写高质量的HTML代码、CSS代码和JavaScript代码的方法、技巧、规范和最佳实践,从而为编写易于维护的Web前端代码打下坚实的基础。希望《编写高质量代码:Web前端开发修炼之道》能帮助大家从一筹莫展的前端维护工作中走出,从此微笑地面对需求的“变化”。互联网进入Web 20时代以后,Web应用敲响了传统桌面应用的丧钟,它一路摧城拔寨,如今几乎所有的应用都打上了“Web”的烙印。与之相应的,Web开发技术得到了空前的发展,尤其是前端技术。近年来,随着用户对使用体验的要求越来越高,前端开发的技术难度越来越大,昔日设计和制作不分的网页设计师这一职位终于“拆分”成了视觉设计师和前端开发工程师两个职位,分别向着艺术和技术的方向纵深发展。Web前端开发工程师是一个很新的职业,在国内乃至国际上真正开始受到重视的时间也不超过5年,这类专业人才一直供不应求。从知识体系上讲,前端开发工程师需要掌握和了解的知识非常之多,甚至可以用庞杂来形容。作为一名没有太多经验的前端开发工程师,我们应该如何去全面认识自己的工作,如何找准自己的定位,如何从合格成为优秀,最后迈向卓越?《编写高质量代码:Web前端开发修炼之道》尝试从如何编写易于维护的、高质量的Web前端代码的角度给出答案。如果你在思考下面这些问题,也许《编写高质量代码:Web前端开发修炼之道》就是你想要的!作为一名合格的web前端开发工程师,究竟需要具备哪些技能和素质?为什么说如果要精Web前端开发这一行,必须先精通十行?在Web应用的实现代码中,有哪些技术因素会导致应用难以维护?高质量的Web前端代码应该满足哪些条件?如何才能提高Web前端代码的可读性和可重用性?在HTML代码中,为何要使用语义化标签?如何检查你使用的标签是否语义良好?语义化标签时应该注意哪些问题?如何编写CSS代码和JavaScript代码可以避免团队合作时产生冲突?如何组织CSS文件才能让它们更易于管理?如何让CSS模块化,从而提高代码的重用率?CSS的命名应该注意哪些问题?何谓优良的CSS编码风格?如何在CSS编码中引入面向对象的编程思想?这样做有哪些好处?原生JavaScript和JavaScript类库之间有何关系?如何编写自己的JavaScript类库?JavaScript有哪些常见的跨浏览器兼容问题?如何解决这些问题?如何组织JavaScript才能让代码的结构更清晰有序,从而更易于维护?如何才能编写出弹性良好的JavaScript代码?编写过程中应该注意哪些问题?JavaScript的对象编程是如何实现的?如何用面向对象的方式重写原有的代码?编写高质量的JavaScript代码有哪些实用的技巧?又有哪些常见的问题需要注意?为了提高Web前端代码的可维护性,我们应该遵循哪些规范?

目录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
推荐序
赞誉
前言
致谢
第1章 从网站重构说起
1.1 糟糕的页面实现,头疼的维护工作
1.2 Web标准-结构、样式和行为的分离
1.3 前端的现状
1.4 打造高品质的前端代码,提高代码的可维护性-精简、重用、有序

第2章 团队合作 2.1 揭秘前端开发工程师 2.2 欲精一行,必先通十行 2.3 增加代码可读性-注释 2.4 提高重用性-公共组件和私有组件的维护 2.5 冗余和精简的矛盾-选择集中还是选择分散 2.6 磨刀不误砍柴工-前期的构思很重要 2.7 制订规范 2.8 团队合作的最大难度不是技术,是人

第3章 高质量的HTML 3.1 标签的语义 3.2 为什么要使用语义化标签 3.3 如何确定你的标签是否语义良好 3.4 常见模块你真的很了解吗 3.4.1 标题和内容 3.4.2 表单 3.4.3 表格 3.4.4 语义化标签应注意的一些其他问题

第4章 高质量的CSS4 4.1 怪异模式和DTD 4.2 如何组织CSS 4.3 推荐的base.css 4.4 模块化CSS-在CSS中引入面向对象编程思想 4.4.1 如何划分模块-单一职责 4.4.2 CSS的命名-命名空间的概念 4.4.3 挂多个class还是新建class-多用组合,少用继承 4.4.4 如何处理上下margin 4.5 低权重原则-避免滥用子选择器 4.6 CSS sprite 4.7 CSS的常见问题 4.7.1 CSS的编码风格 4.7.2 id和class 4.7.3 CSS hack 4.7.4 解决超链接访问后hover样式不出现的问题 4.7.5 hasLayout4 4.7.6 块级元素和行内元素的区别 4.7.7 display: inline-block和hasLayout7 4.7.8 relative、absolute和float3 4.7.9 居中4 4.7.10 网格布局 4.7.11 z-index的相关问题以及Flash和IE6下的select元素 4.7.12 插入png图片 4.7.13 多版本IE并存方案-CSS的调试利器IETester

第5章 高质量的JavaScript 5.1 养成良好的编程习惯 5.1.1 团队合作-如何避免JS冲突 5.1.2 给程序一个统一的入口-window.onload和DOMReady 5.1.3 CSS放在页头,JavaScript放在页尾 5.1.4 引入编译的概念-文件压缩 5.2 JavaScript的分层概念和JavaScript库 5.2.1 JavaScript如何分层 5.2.2 base层3 5.2.3 common层 5.2.4 page层4 5.2.5 JavaScript库 5.3 编程实用技巧7 5.3.1 弹性7 5.3.2 getElementById、getElementsByTagName和getElements-ByClassName3 5.3.3 可复用性 5.3.4 避免产生副作用9 5.3.5 通过传参实现定制3 5.3.6 控制this关键字的指向7 5.3.7 预留回调接口 5.3.8 编程中的DRY规则 5.3.9 用hash对象传参 5.4 面向对象编程 5.4.1 面向过程编程和面向对象编程 5.4.2 JavaScript的面向对象编程 5.4.3 用面向对象方式重写代码 5.5 其他问题 5.5.1 prototype和内置类 5.5.2 标签的自定义属性 5.5.3 标签的内联事件和event对象 5.5.4 利用事件冒泡机制 5.5.5 改变DOM样式的三种方式

附录A 写在规则前面的话 附录B 命名规则 附录C 分工安排 附录D 注释规则 附录E HTML规范 附录F CSS规范 附录G JavaScript规范

亚马逊链接

基本信息

名称: JavaScript高级程序设计(第2版)
作者信息: 作者: 尼古拉斯·泽卡斯(Nicholas C.Zakas) [ 中文 pdf ]

简单介绍

《JavaScript高级程序设计(第2版)》:JavaScript经典教程Amazon超级畅销书前端开发人员必备JavaScrpt的应用在广度和深度上日益扩大和加深,前端开发亟待掌握的JavaScrpt技能也越来越具有挑战性。这个新版本几乎全部更新、重写了上一版的内容,融入了作者近几年来奋战在前端开发一线的宝贵经验,是学习和提高JavaScrpt技能的必读经典。《JavaScript高级程序设计(第2版)》不仅全面深入地讲述了,JavaScript的基本概念,阑释了它特有的面向对象和继承的机制.还详尽讨论了JavaScrpt实现的各个组成部分。在以大量篇幅全景式剖析ECMAScript和DOM的过程中,各个级别的DOM规范在作者笔下纷至沓来,诸如事件模拟、XML解析、XPath查询等高级主题也讲得分外清楚。此外,错误处理与调试、Ajax与JSON,乃至客户端存储、未来的API等章节也都条理清晰、异彩纷呈。《JavaScript高级程序设计(第2版)》适合有一定编程经验的前端开发人员阅读,也可作为高校相关专业课程的教材。一幅浓墨重彩的语言画卷,一部推陈出新的技术名著

目录

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
第1章 JavaScript简介 1
1.1 JavaScript简史 1
1.2 JavaScript实现 2
1.2.1 ECMAScript 3
1.2.2 文档对象模型(DOM) 5
1.2.3 浏览器对象模型(BOM) 7
1.3 JavaScript版本 8
1.4 小结 8

第2章 在HTML中使用JavaScript 9 2.1 script元素 9 2.1.1 标签的位置 11 2.1.2 延迟脚本 11 2.1.3 在XHTML中的用法 12 2.1.4 不推荐使用的语法 13 2.1.5 嵌入代码与外部文件 13 2.2 文档模式 14 2.3 noscript元素 15 2.4 小结 16

第3章 基本概念 17 3.1 语法 17 3.1.1 区分大小写 17 3.1.2 标识符 17 3.1.3 注释 18 3.1.4 语句 18 3.2 关键字和保留字 18 3.3 变量 19 3.4 数据类型 20 3.4.1 typeof操作符 20 3.4.2 Undefined类型 21 3.4.3 Null类型 22 3.4.4 Boolean类型 22 3.4.5 Number类型 23 3.4.6 String类型 28 3.4.7 Object类型 30 3.5 操作符 31 3.5.1 一元操作符 31 3.5.2 位操作符 34 3.5.3 布尔操作符 38 3.5.4 乘性操作符 40 3.5.5 加性操作符 42 3.5.6 关系操作符 43 3.5.7 相等操作符 44 3.5.8 条件操作符 46 3.5.9 赋值操作符 46 3.5.10 逗号操作符 47 3.6 语句 47 3.6.1 if语句 47 3.6.2 do-while语句 48 3.6.3 while语句 48 3.6.4 for语句 48 3.6.5 for-in语句 49 3.6.6 label语句 50 3.6.7 break和continue语句 50 3.6.8 with语句 52 3.6.9 switch语句 52 3.7 函数 54 3.7.1 理解参数 55 3.7.2 没有重载 57 3.8 小结 57

第4章 变量、作用域和内存问题 59 4.1 基本类型和引用类型的值 59 4.1.1 动态属性 60 4.1.2 复制变量值 60 4.1.3 传递参数 62 4.1.4 检测类型 63 4.2 执行环境及作用域 64 4.2.1 延长作用域链 66 4.2.2 没有块级作用域 66 4.3 垃圾收集 69 4.3.1 标记清除 69 4.3.2 引用计数 69 4.3.3 性能问题 70 4.3.4 管理内存 71 4.4 小结 72

第5章 引用类型 73 5.1 Object类型 73 5.2 Array类型 75 5.2.1 转换方法 77 5.2.2 栈方法 78 5.2.3 队列方法 79 5.2.4 重排序方法 80 5.2.5 操作方法 81 5.3 Date类型 83 5.3.1 继承的方法 84 5.3.2 日期格式化方法 85 5.3.3 日期/时间组件方法 85 5.4 RegExp类型 86 5.4.1 RegExp实例属性 88 5.4.2 RegExp实例方法 89 5.4.3 RegExp构造函数属性 90 5.4.4 模式的局限性 92 5.5 Function类型 92 5.5.1 没有重载(深入理解) 93 5.5.2 函数声明与函数表达式 94 5.5.3 作为值的函数 94 5.5.4 函数内部属性 96 5.5.5 函数属性和方法 97 5.6 基本包装类型 99 5.6.1 Boolean类型 100 5.6.2 Number类型 101 5.6.3 String类型 102 5.7 内置对象 109 5.7.1 Global对象 109 5.7.2 Math对象 111 5.8 小结 114

第6章 面向对象的程序设计 115 6.1 创建对象 115 6.1.1 工厂模式 115 6.1.2 构造函数模式 116 6.1.3 原型模式 119 6.1.4 组合使用构造函数模式和原型模式 128 6.1.5 动态原型模式 129 6.1.6 寄生构造函数模式 129 6.1.7 稳妥构造函数模式 130 6.2 继承 131 6.2.1 原型链 131 6.2.2 借用构造函数 136 6.2.3 组合继承 137 6.2.4 原型式继承 138 6.2.5 寄生式继承 139 6.2.6 寄生组合式继承 139 6.3 小结 142

第7章 匿名函数 143 7.1 递归 144 7.2 闭包 144 7.2.1 闭包与变量 147 7.2.2 关于this对象 148 7.2.3 内存泄漏 149 7.3 模仿块级作用域 150 7.4 私有变量 152 7.4.1 静态私有变量 153 7.4.2 模块模式 154 7.4.3 增强的模块模式 156 7.5 小结 157

第8章 BOM 158 8.1 window对象 158 8.1.1 全局作用域 158 8.1.2 窗口关系及框架 159 8.1.3 窗口位置 161 8.1.4 窗口大小 162 8.1.5 导航和打开窗口 163 8.1.6 间歇调用和超时调用 166 8.1.7 系统对话框 168 8.2 location对象 169 8.2.1 查询字符串参数 170 8.2.2 位置操作 171 8.3 navigator对象 172 8.3.1 检测插件 173 8.3.2 注册处理程序 175 8.4 screen对象 176 8.5 history对象 177 8.6 小结 178

第9章 客户端检测 179 9.1 能力检测 179 9.2 怪癖检测 181 9.3 用户代理检测 181 9.3.1 用户代理字符串的历史 182 9.3.2 用户代理字符串检测技术 187 9.3.3 完整的代码 199 9.3.4 使用方法 202 9.4 小结 202

第10章 DOM 204 10.1 节点层次 204 10.1.1 Node类型 205 10.1.2 Document类型 210 10.1.3 Element类型 217 10.1.4 Text类型 225 10.1.5 Comment类型 228 10.1.6 CDATASection类型 228 10.1.7 DocumentType类型 229 10.1.8 DocumentFragment类型 229 10.1.9 Attr类型 230 10.2 DOM扩展 231 10.2.1 呈现模式 231 10.2.2 滚动 232 10.2.3 children属性 232 10.2.4 contains()方法 233 10.2.5 操作内容 234 10.3 DOM操作技术 239 10.3.1 动态脚本 239 10.3.2 动态样式 241 10.3.3 操作表格 242 10.3.4 使用NodeList 245 10.4 小结 245

第11章 DOM2和DOM3 247 11.1 DOM变化 247 11.1.1 针对XML命名空间的变化 248 11.1.2 其他方面的变化 250 11.2 样式 254 11.2.1 访问元素的样式 254 11.2.2 操作样式表 258 11.2.3 元素大小 261 11.3 遍历 267 11.3.1 NodeIterator 268 11.3.2 TreeWalker 271 11.4 范围 272 11.4.1 DOM中的范围 272 11.4.2 IE中的范围 279 11.5 小结 282

第12章 事件 283 12.1 事件流 283 12.1.1 事件冒泡 283 12.1.2 事件捕获 284 12.1.3 DOM事件流 285 12.2 事件处理程序(或事件侦听器) 285 12.2.1 HTML事件处理程序 286 12.2.2 DOM0级事件处理程序 286 12.2.3 DOM2级事件处理程序 287 12.2.4 IE事件处理程序 288 12.2.5 跨浏览器的事件处理程序 289 12.3 事件对象 290 12.3.1 DOM中的事件对象 291 12.3.2 IE中的事件对象 293 12.3.3 跨浏览器的事件对象 295 12.4 事件类型 296 12.4.1 UI事件 297 12.4.2 鼠标事件 297 12.4.3 键盘事件 303 12.4.4 HTML事件 307 12.4.5 变动事件 312 12.4.6 专有事件 316 12.4.7 移动Safari支持的事件 325 12.5 内存和性能 328 12.5.1 事件委托 328 12.5.2 移除事件处理程序 330 12.6 模拟事件 331 12.6.1 DOM中的事件模拟 331 12.6.2 IE中的事件模拟 335 12.7 小结 336

第13章 表单脚本 337 13.1 表单 337 13.1.1 提交表单 338 13.1.2 重置表单 338 13.1.3 表单字段 339 13.2 文本框脚本 343 13.2.1 选择文本 344 13.2.2 过滤输入 347 13.2.3 自动切换焦点 350 13.3 选择框脚本 351 13.3.1 选择选项 352 13.3.2 添加选项 354 13.3.3 移除选项 354 13.3.4 移动和重排选项 355 13.4 表单序列化 355 13.5 富文本编辑 357 13.5.1 操作富文本 358 13.5.2 富文本选区 359 13.5.3 表单与富文本 361 13.6 小结 361

第14章 错误处理与调试 363 14.1 浏览器错误报告 363 14.1.1 Internet Explorer 363 14.1.2 Firefox 364 14.1.3 Safari 366 14.1.4 Opera 367 14.1.5 Chrome 368 14.2 错误处理 369 14.2.1 try-catch语句 369 14.2.2 抛出错误 372 14.2.3 错误(error)事件 374 14.3 错误处理策略 375 14.3.1 常见的错误类型 375 14.3.2 区分致命错误和非致命错误 379 14.3.3 把错误记录到服务器 380 14.4 调试技术 381 14.4.1 将消息记录到控制台 381 14.4.2 将消息记录到当前页面 383 14.4.3 抛出错误 384 14.5 常用的IE错误 384 14.5.1 操作终止 384 14.5.2 无效字符 386 14.5.3 未找到成员 386 14.5.4 未知运行时错误 387 14.5.5 语法错误 387 14.5.6 系统无法找到指定资源 387 14.6 调试工具 388 14.6.1 IE中的调试器 388 14.6.2 Firebug 392 14.6.3 Drosera 396 14.6.4 Opera中的JavaScript调试器 398 14.6.5 其他调试工具 401 14.7 小结 401

第15章 JavaScript与XML 402 15.1 浏览器对XML DOM的支持 402 15.1.1 DOM2级核心 402 15.1.2 DOMParser类型 403 15.1.3 XMLSerializer类型 404 15.1.4 DOM3级加载和保存 404 15.1.5 IE对XML的支持 409 15.1.6 跨浏览器处理XML 412 15.2 浏览器对XPath的支持 414 15.2.1 DOM3级XPath 414 15.2.2 IE中的XPath 418 15.2.3 跨浏览器使用XPath 419 15.3 浏览器对XSLT的支持 421 15.3.1 IE中的XSLT 421 15.3.2 XSLTProcessor类型 425 15.3.3 跨浏览器使用XSLT 427 15.4 小结 428

第16章 E4X 429 16.1 E4X的类型 429 16.1.1 XML类型 429 16.1.2 XMLList类型 430 16.1.3 命名空间类型 431 16.1.4 QName类型 432 16.2 一般用法 432 16.2.1 访问特性 433 16.2.2 其他节点类型 434 16.2.3 查询 436 16.2.4 构建和操作XML 437 16.2.5 解析和序列化 439 16.2.6 命名空间 439 16.3 其他变化 441 16.4 全面启用E4X 442 16.5 小结 442

第17章 Ajax与JSON 443 17.1 XHR对象 443 17.1.1 XHR的用法 445 17.1.2 HTTP头部信息 446 17.1.3 GET请求 448 17.1.4 POST请求 448 17.1.5 浏览器差异 449 17.1.6 安全 451 17.2 跨域请求 452 17.2.1 XDomainRequest对象 452 17.2.2 跨域XHR 454 17.3 JSON 454 17.3.1 在Ajax中使用JSON 456 17.3.2 安全 458 17.4 小结 459

第18章 高级技巧 460 18.1 高级函数 460 18.1.1 作用域安全的构造函数 460 18.1.2 惰性载入函数 462 18.1.3 函数绑定 464 18.1.4 函数柯里化 465 18.2 高级定时器 467 18.2.1 重复的定时器 469 18.2.2 Yielding Processes 470 18.2.3 函数节流 472 18.3 自定义事件 474 18.4 拖放 476 18.4.1 修缮拖动功能 478 18.4.2 添加自定义事件 480 18.5 小结 482

第19章 客户端存储 483 19.1 cookie 483 19.1.1 限制 483 19.1.2 cookie的成分 484 19.1.3 JavaScript中的cookie 485 19.1.4 子cookie 487 19.1.5 关于cookie的思考 491 19.2 IE用户数据 491 19.3 DOM存储机制 492 19.3.1 存储类型 492 19.3.2 sessionStorage对象 493 19.3.3 globalStorage对象 494 19.3.4 localStorage对象 495 19.3.5 StorageItem类型 496 19.3.6 storage事件 496 19.3.7 限制 496 19.4 总结 497

第20章 最佳实践 498 20.1 可维护性 498 20.1.1 什么是可维护的代码 498 20.1.2 代码约定 498 20.2 松散耦合 501 20.3 性能 507 20.3.1 注意作用域 508 20.3.2 选择正确方法 509 20.3.3 最小化语句数 513 20.3.4 优化DOM交互 515 20.4 部署 517 20.4.1 构建过程 517 20.4.2 验证 518 20.4.3 压缩 520 20.5 小结 522

第21章 未来的API 523 21.1 选择器API 523 21.1.1 querySelector()方法 523 21.1.2 querySelectorAll()方法 524 21.1.3 现今和未来的支持情况 525 21.2 HTML5 525 21.2.1 字符集属性 525 21.2.2 类相关的增加 526 21.2.3 自定义数据特性 528 21.2.4 跨文档消息传递 528 21.2.5 媒体元素 529 21.2.6 canvas元素 532 21.2.7 离线支持 540 21.2.8 历史的改变 541 21.2.9 数据库存储 541 21.2.10 拖放操作 543 21.2.11 WebSocket类型 546 21.2.12 HTML5的未来 547 21.3 小结 547

第22章 JavaScript的未来 548 22.1 ECMAScript4/JavaScript2 548 22.1.1 JavaScript1.5 548 22.1.2 JavaScript1.6 550 22.1.3 JavaScript1.7 552 22.1.4 JavaScript1.8 557 22.1.5 JavaScript1.9 558 22.1.6 ECMAScript4提案 559 22.1.7 变量类型 559 22.1.8 函数 561 22.1.9 类型定义 563 22.1.10 类和接口 565 22.1.11 接口 569 22.1.12 继承 569 22.1.13 命名空间 571 22.1.14 包 572 22.1.15 语言上的其他变更 572 22.1.16 ECMAScript4的未来 577 22.2 ECMAScript3.1 577 22.2.1 对对象内部实现的变更 578 22.2.2 静态对象方法 578 22.2.3 本地的JSON支持 585 22.2.4 Decimal 586 22.2.5 用法子集 589 22.2.6 ECMAScript3.1的未来 590 22.3 小结 590 附录A JavaScript库 591 附录B JavaScript工具 595

亚马逊链接

基本信息

名称: 大巧不工 Web前端设计修炼之道
作者信息: 作者: 赖定清 [ 中文 pdf ]

简单介绍

《大巧不工:Web前端设计修炼之道》:全面探讨Web前端设计的方法、原则、技巧和最佳实践5大专业社区一致鼎力推荐!前端开发工程师、前端设计师、前端架构师和用户体验设计师等新兴职业的出现,为前端设计和开发领域注入了新的生命和活力。随着用户对应用的体验的要求越来越高,前端领域面临的挑战越来越大,问题也越来越突出。其中最突出的问题便是缺少复合型的前端人才。从知识体系上讲,复合型的前端人才需要掌握和了解的知识非常之多,甚至可以用“庞杂”二字来形容。这导致一名出色的前端开发人才需要很长的时间来成长,因此行业对此类人才的需求极其迫切,从业前景看好。作为一个没有太多Web前端开发和设计经验的程序员,我们如何才能投身于这个充满美好前景和想象空间的领域?如何修炼自己的内功才能让自己从不会到会,从合格到优秀,从优秀到卓越?《大巧不工:Web前端设计修炼之道》能在你修炼的过程中提供良好的指导与参考。如果你在思考下面这些问题,也许《大巧不工:Web前端设计修炼之道》就是你想要的!作为一名合格的Web前端开发工程师,究竟需要具备哪些技能和素质?为什么说如果要精通Web前端开发这一行,必须先精通十行?前端设计者如何才能正确地理解自己的用户?如何理解并实践以用户为中心的设计原则?原型设计应该注意哪些问题?如何更好地利用工具快速地进行原型设计?可用性设计的关键要素是什么?如何设计高可用性的页面元素(导航、表单、链接等)?“可用性”的首要原则是“别让我思考”,你的网站如何才能做到不让用户思考呢?可用性测试的5项目标是什么?如何通过可用性测试发现问题现象背后的本质?如何保持设计的一致性?一致性设计的三项原则是什么?如何理解”样式就是设计”这句话?有哪些样式技术是前端开发者和设计者必须掌握的?样式究竟有哪些功能?如何编写易于管理、维护和复用的、JavaScript代码?、JavaScript有哪些最佳实践?如何理解HTML文件、CSS文件和、JavaScript文件之间的关系?如何良好地组织这些文件从而让它们更易于管理、复用和维护?如何平衡网站的色彩?如何让你的网站设计简洁而美观?页面排版的艺术你知多少?Web前端设计领域有哪些经典的设计思维?如何才能掌握这些设计思维的本质?如何测试前端的性能?前端性能优化的基本原则是什么?如何进行页面内容的优化和服务器端的优化?如何利用SEO技术让你的网站更容易被发现?CSS3与HTML5将带来哪些全新的设计方式?Web3.0真的来了吗?Web3.0的先驱者们有哪些杰出的表现?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
赞誉
前言
致谢
第1章 Web前端开发ABC/1
1.1 Web大局观/2
1.1.1 混沌初开——Web的诞生/2
1.1.2 网络技术的领导者——W3C/4
1.1.3 不断优化的客户端技术/7
1.1.4 服务端技术的成熟/8
1.2 地位、曲线和使命/11
1.2.1 前端开发路漫漫/11
1.2.2 千军易得,一将难求/12
1.2.3 令人望而却步的学习曲线/14
1.2.4 前端开发人员如何自身定位/16
1.3 前端开发所需掌握的技术/17
1.4 前端开发常用的工具/25
1.4.1 设计类工具/25
1.4.2 原型类工具/26
1.4.3 调试类工具/27
1.4.4 辅助类工具/32
1.5 小结/33

第2章 打造前端设计的基石——交出你的原型稿/34 2.1 UCD——以用户为中心的设计原则/35 2.1.1 关注用户/36 2.1.2 用户调研/39 2.1.3 更含蓄的方式/42 2.2 交出第一份设计稿/46 2.2.1 为什么原型设计很重要/47 2.2.2 原型如何表现/48 2.2.3 做好原型产品的注意事项/56 2.3 让工具帮助你/57 2.3.1 创建用户模型/58 2.3.2 BalsamiqMockups设计概念图/59 2.3.3 AxureRP设计交互原型/60 2.3.4 更真实的表现/66 2.4 小结/71

第3章 从过去到未来——前端设计演变之路/72 3.1 最熟悉的陌生人/73 3.1.1 浏览器之争/73 3.1.2 性能对比/74 3.1.3 IEPKWeb标准/77 3.2 结构的变迁/83 3.2.1 表格噩梦/83 3.2.2 基于DIV和CSS的布局结构/86 3.3 不单纯是脚本/90 3.3.1 JavaScript的原貌/90 3.3.2 华丽的进化/92 3.3.3 AjaX不得不提/95 3.3.4 脚本框架的出现/96 3.4 接触未来(一)——初探HTML5/101 3.4.1 摘要/101 3.4.2 结构/102 3.4.3 Flash杀手Canvas?/105 3.4.4 设计一个布局结构文档/107 3.4.5 对表单的支持/109 3.5 接触未来(二)——CSS3的世界很精彩/110 3.5.1 选择器的变化/113 3.5.2 布局的变化/116 3.5.3 样式的变化/119 3.5.4 动画/120 3.6 小结/121

第4章 让你的设计深入人心——可用性设计/122 4.1 可用性原则/123 4.1.1 别让我思考/124 4.1.2 停止你的假设/129 4.1.3 针对扫描而设计/132 4.2 高可用性页面/136 4.2.1 导航之道/137 4.2.2 当链接变成云/145 4.2.3 设计可用的表单/147 4.2.4 拒绝写作艺术/153 4.3 可用性测试/156 4.3.1 如何测试/157 4.3.2 现象与本质/158 4.4 巧妙地应对错误/159 4.4.1 提前预防/162 4.4.2 设计有用的信息/165 4.4.3 人性化操作/169 4.5 系统一致性设计/170 4.5.1 规范设计/172 4.5.2 有始有终/172 4.6 小结/173

第5章 原型模型化/174 5.1 布局之道/175 …… 第6章 探索、品味、总结——经典设计思维 第7章 让你的设计更加完美——优化技巧和最佳实践 第8章 思考与展望——浅谈Web发展的未来

亚马逊链接

基本信息

名称: Python自然语言处理(影印版)
作者信息: 作者: 洛普(Edward Loper) [ 英文 pdf ]

简单介绍

《Python自然语言处理(影印版)》由东南大学出版社出版。

目录

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
Preface
1.Language Processing and Python
1.1 Computing with Language: Texts and Words
1.2 A Closer Look at Python: Texts as Lists of Words
1.3 Computing with Language: Simple Statistics
1.4 Back to Python: Making Decisions and Taking Control
1.5 Automatic Natural Language Understanding
1.6 Summary
1.7 Further Reading
1.8 Exercises

2.Accessing Text Corpora and Lexical Resources 2.1 Accessing Text Corpora 2.2 Conditional Frequency Distributions 2.3 More Python: Reusing Code 2.4 Lexical Resources 2.5 WordNet 2.6 Summary 2.7 Further Reading 2.8 Exercises

3.Processing Raw Text 3.1 Accessing Text from the Web and from Disk 3.2 Strings: Text Processing at the Lowest Level 3.3 Text Processing with Unicode 3.4 Regular Expressions for Detecting Word Patterns 3.5 Useful Applications of Regular Expressions 3.6 Normalizing Text 3.7 Regular Expressions for Tokenizing Text 3.8 Segmentation 3.9 Formatting: From Lists to Strings 3.10 Summary 3.11 Further Reading 3.12 Exercises

4.Writing Structured Programs 4.1 Back to the Basics 4.2 Sequences 4.3 Questions of Style 4.4 Functions: The Foundation of Structured Programming 4.5 Doing More with Functions 4.6 Program Development 4.7 Algorithm Design 4.8 A Sample of Python Libraries 4.9 Summary 4.10 Further Reading 4.11 Exercises

5.Categorizing andTagging Words 5.1 Using a Tagger 5.2 Tagged Corpora 5.3 Mapping Words to Properties Using Python Dictionaries 5.4 Automatic Tagging 5.5 N-Gram Tagging 5.6 Transformation-Based Tagging 5.7 How to Determine the Category of a Word 5.8 Summary 5.9 Further Reading 5.10 Exercises

6.Learning to Classify Text 6.1 Supervised Classification 6.2 Further Examples of Supervised Classification 6.3 Evaluation 6.4 Decision Trees 6.5 Naive Bayes Classifiers 6.6 Maximum Entropy Classifiers 6.7 Modeling Linguistic Patterns 6.8 Summary 6.9 Further Reading 6.10 Exercises

7.Extracting Information from Text 7.1 Information Extraction 7.2 Chunking 7.3 Developing and Evaluating Chunkers 7.4 Recursion in Linguistic Structure 7.5 Named Entity Recognition 7.6 Relation Extraction 7.7 Summary 7.8 Further Reading 7.9 Exercises

8.Analyzing Sentence Structure 8.1 Some Grammatical Dilemmas 8.2 What’s the Use of Syntax? 8.3 Context-Free Grammar 8.4 Parsing with Context-Free Grammar 8.5 Dependencies and Dependency Grammar 8.6 Grammar Development 8.7 Summary 8.8 Further Reading 8.9 Exercises

9.Building Feature-Based Grammars 9.1 Grammatical Features 9.2 Processing Feature Structures 9.3 Extending a Feature-Based Grammar 9.4 Summary 9.5 Further Reading 9.6 Exercises

10.Analyzing the Meaning of Sentences 10.1 Natural Language Understanding 10.2 Propositional Logic 10.3 First-Order Logic 10.4 The Semantics of English Sentences 10.5 Discourse Semantics 10.6 Summary 10.7 Further Reading 10.8 Exercises

11.Managing Linguistic Data 11.1 Corpus Structure: A Case Study 11.2 The Life Cycle of a Corpus 11.3 Acquiring Data 11.4 Working with XML 11.5 Working with Toolbox Data 11.6 Describing Language Resources Using OLAC Metadata 11.7 Summary 11.8 Further Reading 11.9 Exercises Afterword: The Language Challenge Bibliography NLTK Index General Index

亚马逊链接

基本信息

名称: 犀利开发 jQuery内核详解与实践
作者信息: 作者: 朱印宏 [ 中文 pdf ]

简单介绍

《犀利开发:jQuery内核详解与实践》:阿基米德说,给我一个支点,我能把地球撬起来。jQuery说,给你一个方法,你能让互联网炫目富有。顾名思义,jQuery融合了JavaScript+Query(查询)技术,汲取CSS+Xpath设计模式,让生涩的Java Script脚本变得敏捷而又犀利。掌握Queryg技术,就能够~JavaScript、DOM、CSS、Event、DHTML、Ajax、Form等技术之间游刃有余,让恼人的Web开发变得轻松而又生动。《犀利开发:jQuery内核详解与实践》从破解jQuery技术内核为切入点,由点入面,然后探析jQuery功能实现和开发,并比较Query技术与原生的JavaScript技术在实现方面的异同,及其执行效率之差异,真正帮助读者知其然,又能知其所以然。最后,通过一个综合案例让读者在实践中快速掌握Query开发。第一部破解jQuery核心技术的先锋图书,生动jQuery与JavaScript技术执行,效率和实现方法之异同,使用通俗易懂的语言深度刮忻iQuery框架设计模式和选择器实现原理潜心研究iQuery多年,耗时近一年,国内著名原创IT作者又一力作。CD-ROM:本书实例素材和源代码,CSS参考手册,jQuery参考手册,Ajax参考手册,JavaScript参考手册,HTML参考手册。

目录

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
第1章 jQuery起步
1.1 认识jQuery
1.1 JavaScnpt及其库
1.1.2 选用jQuery框架的理由~
1.2 jQuery初步体验
1.2.1 安装jQuery库
1.2.2 导入jQuery库
1.2 ,3编写jQuery代码
1.2.4 区分jQuery对象和DOM对象
1.2.5 jQuery对象和DOM对象的相互转换
1.2.6 ready事件和load事件比较
1.3 jQuery核心特性
1.3.1 jQuery构造函数
1.3.2 jQuery链式语法
1.3.3 jQuery选择器
1.3.4 jQuery扩展性

第2章 jQuery技术解密 2,1jQuery框架设计概述 2.1.1 设计目标 2.1.2 目标实现 2.2 jQuery原型技术分解 2.2.1 起源——原型继承 2.2.2 生命——返回实例 2.2.3 学步——分隔作用域 2.2.4 生长_跨域访问 2.2.5 成熟——选择器 2,2.6 延续——迭代器 2.2.7 延续——功能扩展 2.2.8 延续——参数处理 2.2.9 涅槃——名字空间 2.3 破解jQuery选择器接口 2,3.1 简单但很复杂的黑洞 2.3.2 盘根错节的逻辑关系 2.3.3 jQuery构造器 2.3.4 生成DOM元素 2.3.5 引用DOM元素 2.4 解析jQuery选择器引擎Sizzle 2,4.1 回顾CSS的选择器 2.4.2 解析jQuery选择器引擎的设计思路 2.4.3 选择器和过滤器 2.4.4 Sizzle引擎结构~ 2.4.5 Sizzle构造器 2.4.6 Sizzle选择器 2.4.7 Sizzle过滤器 2.4.8 jQuery选择器应用优化 2.5 类数组 2.5.1 定义类数组 2.5.2 操作类数组

第3章 高效选择的技巧与原理 3.1 选择器是什么 3.1.1 从CSS选择器说起 3.1.2 jQuery盗了谁的版 3.1.3 认识cssQuery选择器 3.1.4 使用cssQuery选择器 3.1.5 初步接触jQuery选择器 3.2 简单选择器 3.2.1 选择指定ID元素 3.2.2 选择指定类型元素 3.2.3 选择指定类元素 3.2.4 选择所有元素及其优化 3.2.5 选择多组元素及其实现 3.3 关系选择器 3.3.1 层级选择器 3.3.2 层级选择器的实现方法 3.3.3 子元素选择器 3.3.4 子元素选择器的实现方法 3.4 过滤选择器 3.4.1.定位过滤器 3.4.2 定位过滤器的实现方法 3.4.3 内容过滤器 3.4.4 内容过滤器的实现方法 3.4.5 可见过滤器 3.4.6 可见选择器的实现方法 3.5 属性选择器 3.5.1 使用属性选择器 3.5.2 属性选择器的实现方法 3.6 表单选择器 3.6.1 基本表单选择器 3.6.2 高级表单选择器 3.6.3 表单选择器的实现方法

第4章 文档对象的操作及其 高效实践 4.1 DOM标准 4.1.1 分解DOM 4.1.2 HTMLDOM 4.1.3 DOMCore 4.1.4 DOM文档树 4.2 创建节点 4.2.1 创建元素 4.2.2 创建文本 4.2.3 创建属性 4.3 插入元素 4.3.1 jQuery实现 4.3.2 JavaScript实现 4.3.3 自定义JavaScript扩展DOM功能函数 4.3.4.使用JavaScript自定义appendT00和prependTo()方法 4.3.5 使用IavaScript自定义 after()和before()方法 4.3.6 使用JavaScript自定义insertAfter()和insertBefore()方法 4.4 删除元素 4.4.1 jQuery实现 4.4 ,2JavaScript实现 4.4.3 使用IavaScript自定义empty()方法 4.5 复制元素 4.5.1 jQuery实现 4.5.2 JavaScript实现 4.6 替换元素 4.6.1 jQuery实现 4.6.2 IavaScript实现 4.6.3 使用IavaScript:自定义replaceWith()和replaceAll()方法 4.7 包裹元素 4.7.1 jQuery实现 4.7.2 使用IavaScript自定义wrap0、wrapAllCl和wraplnner(一)方法 4.8 操作属性 4.8.1 设置属性 4.8.2 获取属性 4.8.3 删除属性 4.9 操作类样式 4.9.1 追加样式 4.9.2 移出样式 4.9.3 切换样式 4.9.4 判断样式 4.1 0操作HTML、文本和值 4.1 0.1.读写HTML字符串 4.1 0.2 读写文本内容 4.1 0.3 读写表单值 4.1 1操作样式表 4.1 1.1 通用CSS样式读写方法 4.1 1.2 绝对偏移位置 4.1 1.3 相对偏移位置 4.1 1.4 扩展DOM操作函数 4.1 1.5 元素的宽和高 4.1 2元素遍历操作 4.1 2.1 jQuery实现的元素遍历方法 4.1 2.2 JavaScript.实现的元素遍历方法

第5章 事件封装机制与解析 5.1 事件模型 5.1.1 0级事件模型 5.1.2 事件模型中的Event对象 5.1.3 事件模型中的冒泡现象 5.1..4 事件流控制与默认事件动作 5.1.5 2级DOM标准事件模型 5.1.6 IE事件模型 5.2 jQuery事件模型 5.2.1 绑定事件 5.2.2 注销事件 5.2.3 jQuery事件模型中的Event对象 5.2.4 jQuery事件触发 5.2.5 jQuery事件切换 5.2.6 jQuery事件委派 5.2.7 jQuery事件命名空间 5.2.8 jQuery的多事件绑定 5.2.9 jQuery自定义事件 5.3 jQuery页面初始化 5.3.1 使用jQuery的ready0方法 5.3.2 ready事件的触发时机 5.3.3 初始化事件的多次调用 5.3.4 使用IavaScript自定义addLoadEvent()方法 5.4 使用IavaScript自定义jQuery事件方法 5.4.1 JavaScript与jQuery的执行效率比较 5.4.2 自定义ready()方法 5.4.3 目定义bind()方法 5.4.4 自定义one()方法

第6章 动画效果设计及其高效实践 6.1 直接显示和隐藏 6.1.1 jQuery实现显隐效果 6.1.2 JavaScript实现显隐效果 6.1.3 折叠效果 6.1.4 树形结构 6.1.5 Tab选项卡 6.1.6 显隐切换 6.2 滑动显示和隐藏 6.2.1 jQuery实现的滑动显隐效果 6.2.2 JavaScript实现的滑动显示效果 6.2.3 JavaScript实现的滑动隐藏效果 6.2.4 jQuery设计的滑动显隐切换 6.3 渐隐和渐显 6.3.1 jQuery实现的渐隐渐显效果 6.3.2 JavaScript实现的渐显效果 6.3.3 IavaScript实现的渐隐效果 6.4 自定义动画 6.4.1 jQuery自定义动画 6.4 ,2使用jQuery停止动画 6.4.3 使用jQuery关闭动画 6.4.4 使用lavaScript实现滚动动画

第7章 AjaX异步通信高效实践 7.1 Ajax应用准备 7.1.1 Ajax应用利弊分析 7.1.2 安装虚拟服务器 7.2 Ajax应用的第一个示例 7.2.1 jQuery实现 7.2.2 JavaScript实现 7.3 从JavaScript角度分析XMLHttpRequest对象 7.3.1 XMLHttpRequest对象成员和用法 7.3.2 建立异步连接 7.3.3 发送请求 7.3.4 发送GET请求 7.3.5 发送POST请求 7.3.6 跟踪响应状态 7.3.7 获取响应信息 7.4 从jQuery角度分析XMLHttpRequest对象 7.4.1 使用GET方式请求 7.4.2 使用POST方式请求 7.4.3 使用ajax()方法请求 7.4.4 跟踪响应状态 7.4.5 载入网页文件 7.4.6 预设Ajax选项 7.4.7 预处理请求的字符串

第8章 高效开发和使用插件 8.1 创建jQuery插件 8.1.1 jQuery插件的类型 8.1.2 解析jQuery插件机制 8.1.3 创建jQuery全局函数 8.1.4 使用jQuery.fn对象创建jQuery对象方法 8.1.5 使用extend()方法创建jQuery对象方法 8.1.6 创建自定义选择器 8.1.7 优化jQuery默认选择器 8.1.8 封装jQuery插件 …… 第9章 jQuery辅助工具 第10章 使用jQuery打造Ajax异步交互式动态网站

亚马逊链接

基本信息

名称: 与孩子一起学编程
作者信息: 作者: 桑德(Warren Sande) [ 中文 pdf ]

简单介绍

《与孩子一起学编程》:一本老少咸宜的编程入门奇书!一册在手,你完全可以带着自己的孩子,跟随Sande父子在轻松的氛围中熟悉那些编程概念。如内存、循环、输入和输出、数据结构和图形用户界面等。这些知识一点儿也不高深。听起来备感亲切。书中言语幽默风趣而不失真义。让学习过程充满乐趣。细心的作者还配上了孩子们都喜欢的可爱漫画和经过运行测试的程序示例,教你用最易编写和最易理解的Python语言。写出你梦想中的游戏程序。“Hello,world我来了!”编程乐趣无穷,起点就在脚下。请引导你的孩子走进这奇妙的世界。无论是中小学生还是其他初学者,都可以跟随《与孩子一起学编程》学习Python编程,并过渡到任何其他语言,重要的是你将学会思考问题和解决问题的方法。荣获Jolt生产效率大奖,亚马逊畅销图书,生动风趣,图文并茂。

目录

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
第1章 出发吧
1.1 安装Python
1.2 从IDLE启动Python
1.3 来点指令吧
1.4 与Python交互
1.5 该编程了
1.6 运行你的第一个程序
1.7 如果出问题
1.8 你的第二个程序

第2章 记住内存和变量 2.1 输入、处理和输出 2.2 名字 2.3 名字里是什么 2.4 数字和字符串 2.5 它们有多“可变” 2.6 全新的我

第3章 基本数学运算 3.1 四大基本运算 3.2 操作符 3.3 运算顺序 3.4 另外两个操作符 3.5 非常大和非常小

第4章 数据的类型 4.1 改变类型 4.2 得到更多信息:type() 4.3 类型转换错误 4.4 使用类型转换

第5章 输入 5.1 raw_input() 5.2 Print命令和逗号 5.3 输入数字 5.4 来自互联网的输入

第6章 GUI——图形用户界面 6.1 什么是GUI 6.2 第一个GUI 6.3 GUI输入 6.4 选择你的口味 6.5 再看猜数游戏 6.6 其他GUI组件

第7章 判断再判断 7.1 测试,测试 7.2 缩进 7.3 是不是有问题 7.4 其他类型的测试 7.5 如果测试为假会怎么样 7.6 测试多个条件 7.7 使用and 7.8 使用or 7.9 使用not

第8章 转圈圈 8.1 计数循环 8.2 使用计数循环 8.3 一条捷径——range() 8.4.风格问题——循环变量名 8.5 按步长计数 8.6 没有数字的计数 8.7 关于这个问题 8.8 跳出循环——break和continue

第9章 全都为了你——注释 9.1 增加注释 9.2 单行注释 9-3行末注释 9.4 多行注释 9.5 注释风格 9.6 注释掉

第10章 游戏时间到了

第11章 嵌囊与可变循环 11.1 嵌套循环 11.2 可变循环 11.3 可变嵌套循环 11.4 更多可变嵌套循环 11.5 使用嵌套循环

第12章 收集起来——列表 12.1 什么是列表 12.2 创建列表 12.3 向列表增加元素 12.4 这个点是什么 12.5 列表可以包含任何内容 12.6 从列表获取元素 12.7 列表“分片 12.8 修改元素 12.9 向列表增加元素的其他方法 12.10 从列表删除元素 12.11 搜索列表 12.12 循环处理列表 12.13 列表排序 12.14 可改变和不可改变 12.15 双重列表:数据表

第13章 函数 13.1 函数——积木 13.2 调用函数 13.3 向函数传递参数 13.4 有多个参数的函数 13.5 返回值的函数 13.6 变量作用域 13.7 强制为全局 13.8 关于变量命名的一点建议

第14章 对象 14.1 真实世界中的对象 14.2 Python中的对象 14.3 对象=属性+方法 14.4 这个点是什么 14.5 创建对象 14.6 一个示例类——Hot Dog 14.7 隐藏数据 14.8 多态和继承 14.9 未雨绸缪

第15章 模块 15.1 什么是模块 15.2 为什么使用模块 15.3 积木桶 15.4 如何创建模块 15.5 如何使用模块 15.6 命名空间 15.7 标准模块

第16章 图形 16.1 寻求帮助——Pygame 16.2 Pygame窗口 163在窗口中画图 16.4 单个像素 16.5 图像 16.6 动起来 16.7 动画 16.8 更流畅的动画 16.9 让球反弹 16.10 让球翻转

第17章 动画精灵和碰撞检测 17.1 动画精灵 17.2 嘣!碰撞检测 17.3 统计时间

第18章 一种新的输入——事件 18.1 事件 18.2 键盘事件 18.3 鼠标事件 18.4 定时器事件 18.5 另一个游戏PyPong

第19章 声音 19.1 从Pygame寻求更多帮助——mixer 19.2 制造声音与播放声音 19.3 播放声音 19.4 控制音量 19.5 重复音乐 19.6 为PyPong增加声音 19.7 更多声音 19.8 为PyPong增加音乐

第20章 更多GUI 20.1 使用Python Card 20.2 组件 20.3 让GUI做点事情 20.4 事件处理器的返回 20.5 移动按钮 20.6 更多有用的GUI 20.7 Temp GUI 20.8 菜单上是什么

第21章 打印格式化与字符串 21.1 换行 21.2 水平间隔——制表符 21.3 在字符串中插入变量 21.4 数字格式化 21.5 更多字符串处理

第22章 文件输入与输出 22.1 什么是文件 22.2 文件名 22.3 文件位置 22.4 打开文件 22.5 读文件 22.6 文本文件和二进制文件 22.7 写文件 22.8 在文件中保存内容:pickle 22.9 又到了游戏时间——Hangman

第23章 碰运气——随机性 23.1 什么是随机性 23.2 掷骰子 23.3 创建一副牌 23.4 Crazy Eights

第24章 计算机仿真 24.1 真实世界建模 24.2 LHnar Lander 24.3 跟踪时间 24.4 时间对象 24.5 把时间保存到文件 24.6 电子宠物

第25章 接下来呢 25.1 一般编程 25.2 Python 25.3 游戏编程与Pygame 25.4 其他Python模块 25.5 回顾 附录 变量命名规则 自测题答案

亚马逊链接

基本信息

名称: Python参考手册(第4版)
作者信息: 作者: David M.Beazley [ 中文 pdf ]

简单介绍

《Python参考手册(第4版)》:经典著作全面升级Python程序员案头必备涵盖Python 2和Python 3共有特性

目录

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
第一部分 Python语言
第1章 Python简介
1.1 运行Python
1.2 变量和算术表达式
1.3 条件语句
1.4 文件输入和输出
1.5 字符串
1.6 列表
1.7 元组
1.8 集合
1.9 字典
1.10 迭代与循环
1.11 函数
1.12 生成器
1.13协程
1.14 对象与类
1.15 异常
1.16 模块
1.17 获得帮助

第2章 词汇和语法约定 2.1 行结构和缩进 2.2 标识符和保留字 2.3 数字字面量 2.4.字符串字面量 2.5 容器 2.6 运算符、分隔符及特殊符号 2.7 文档字符串 2.8 装饰器 2.9 源代码编码

第3章 类型与对象 3.1 术语 3.2 对象的身份与类型 3.3 引用计数与垃圾收集 3.4 引用与复制 3.5 第一类对象 3.6 表示数据的内置类型 3.6.1 None类型 3.6.2 数字类型 3.6.3 序列类型 3.6.4 映射类型 3.6.5 集合类型 3.7 表示程序结构的内置类型 3.7.1 可调用类型 3.7.2 类、类型与实例 3.7.3 模块 3.8 解释器内部使用的内置类型 3.8.1 代码对象 3.8.2 帧对象 3.8.3 跟踪对象 3.8.4 生成器对象 3.8.5 切片对象 3.8.6 Ellipsis对象 3.9 对象行为与特殊方法 3.9.1 对象的创建与销毁 3.9.2 对象字符串表示 3.9.3 对象比较与排序 3.9.4 类型检查 3.9.5 属性访问 3.9.6 属性包装与描述符 3.9.7 序列与映射方法 3.9.8 迭代 3.9.9 数学操作 3.9.10 可调用接口 3.9.11 上下文管理协议 3.9.12 对象检查与dir()

第4章 运算符与表达式 4.1 数字操作 4.2 序列操作 4.3 字符串格式化 4.4 高级字符串格式化 4.5 字典操作 4.6 集合操作 4.7 增量赋值 4.8 属性(.)运算符 4.9 函数调用()运算符 4.10 转换函数 4.11 布尔表达式与真值 4.12 对象的比较与身份 4.13 运算优先级 4.14 条件表达式

第5章 程序结构与控制流 5.1 程序结构与执行 5.2 执行条件语句 5.3 循环与迭代 5.4 异常 5.4.1 内置异常 5.4.2 定义新异常 5.5 上下文管理器与with语句 5.6 断言与debug

第6章 函数与函数编程 6.1 函数 6.2 参数传递与返回值 6.3 作用域规则 6.4 函数对象与闭包 6.5 装饰器 6.6 生成器与yield 6.7 协程与yield表达式 6.8 使用生成器与协程 6.9 列表包含 6.10 生成器表达式 6.11 声明式编程 6.12 lambda运算符 6.13 递归 6.14 文档字符串 6.15 函数属性 6.16 eval()、exec()和compile()函数

第7章 类与面向对象编程 7.1 class语句 7.2 类实例 7.3 范围规则 7.4 继承 7.5 多态动态绑定和鸭子类型 7.6 静态方法和类方法 7.7 特性 7.8 描述符 7.9 数据封装和私有属性 7.10 对象内存管理 7.11 对象表示和属性绑定 7.12 slots 7.13 运算符重载 7.14 类型和类成员测试 7.15 抽象基类 7.16 元类 7.17 类装饰器

第8章 模块、包与分发 8.1 模块与import语句 8.2 从模块导入选定符号 8.3 以主程序的形式执行 8.4 模块搜索路径 8.5 模块加载和编译 8.6 模块重新加载和卸载 8.7 包 8.8 分发Python程序和库 8.9 安装第三方库

第9章 输入与输出 9.1 读取命令行选项 9.2 环境变量 9.3 文件和文件对象 9.4 标准输入、输出和错误 9.5 print语句 9.6 print()函数 9.7 文本输出中的变量插入 9.8 生成输出 9.9 Unicode字符串处理 9.10 UnicodeI/O 9.10.1 Unicode数据编码 9.10.2 Unicode字符特性 9.11 对象持久性与pickle模块

第10章 执行环境 10.1 解释器选项与环境 10.2 交互式会话 10.3 启动python应用程序 10.4 站点配置文件 10.5 用户站点包 10.6 启用新功能 10.7 程序终止

第11章 测试、调试、探查与调优 11.1 文档字符串和doctest模块 11.2 单元测试和unittest模块 11.3 Python调试器和pdb模块 11.3.1 调试器命令 11.3.2 从命令行进行调试 11.3.3 配置调试器 11.4 程序探查 11.5 调优与优化 11.5.1 进行计时测量 11.5.2 进行内存测量 11.5.3 反汇编 11.5.4 调优策略

第二部分 Python库 第12章 内置函数和异常 12.1 内置函数和类型 12.2 内置异常 12.2.1 异常基类 12.2.2 异常实例 12.2.3 预定义的异常类 12.3 内置警告 12.4 future_builtins

第13章 Python运行时服务 13.1 a七exit 13.2 copy 13.3 gc 13.4 inspect 13.5 marshal 13.6 pickle 13.7 SYS 13.7.1 变量 13.7.2 函数 13.8 traceback 13.9 types 13.10 warnings 13.11 weakref

第14章 数学运算 14.1 decimal 14.1.1 Decimal对象 14.1.2 Context对象 14.1.3 函数和常量 14.1.4 示例 14.2 fractions 14.3 math 14.4 numbers 14.5 random 14.5.1 种子和初始化 14.5.2 随机整数 14.5.3 随机序列 14.5.4 实值随机分布

第15章 数据结构、算法与代码简化 15.1 abc 15.2 array 15.3 bisect 15.4 collections 15.4.1 deque和defaultdict 15.4.2 命名元组 15.4.3 抽象基类 15.5 contextlib 15.6 functoos 15.7 heapq 15.8 itertools 15.9 operator

第16章 字符串和文本处理 16.1 odecs 16.1.1 低级codecs接口 16.1.2 I/O相关函数 16.1.3 有用的常量 16.1.4 标准编码 16.1.5 注意 16.2 re 16.2.1 模式语法 16.2.2 函数 16.2.3 正则表达式对象 16.2.4 匹配对象 16.2.5 示例 16.2.6 注意 16.3 string 16.3.1 常量 16.3.2 Formatter对象 16.3.3 Template字符串 16.3.4 实用工具函数 16.4 struct 16.4.1 打包和解包函数 16.4.2 Struct对象 16.4.3 格式编码 16.4.4 注意 16.5 unicodedata

第17章 Python数据库访问 17.1 关系数据库API规范 17.1.1 连接 17.1.2 Cursor 17.1.3 生成查询 17.1.4 类型对象 17.1.5 错误处理 17.1.6 多线程 17.1.7 将结果映射到字典中 17.1.8 数据库API扩展 17.2 sqlite3模块 17.2.1 模块级函数 17.2.2 连接对象 17.2 13游标和基本操作 17.3 DBM风格的数据库模块 17.4 shelve模块

第18章 文件和目录处理 18.1 bz2 18.2 filecmp 18.3 fnmatch 18.4 glob 18.5 gzip 18.6 Shutil 18.7 tarfile 18.7.1 异常 18.7.2 示例 18.8 tempfile 18.9 zipfile 18.10 z1ib

第19章 操作系统服务 19.1 Commands模块 19.2 ConfigParser、configparser模块 19.2.IconfigParser类 19.2.2 示例 19.2.3 注意 19.3 datetime模块 19.3.1 date对象 19.3.2 time对象 19.3.3 datetime对象 19.3.4 timedelta对象

…… 第20章 线程与并发性 第21章 网络编程和套接字 第22章 Internet应用程序编程 第23章 Web编程 第24章 Internet数据处理和编码 第25章 其他库模块

第三部分 扩展与嵌入 第26章 扩展与嵌入Python 附录 Python 3

亚马逊链接

基本信息

名称: Head First PHP & MySQL(中文版)
作者信息: 作者: 贝伊利(Lynn Beighley) [ 中文 pdf ]

简单介绍

《Head First PHP & MySQL(中文版)》:发现数据库驱动的动态网站背后的秘密,避免Web表单的尴尬遭遇,把所有关键语法直接载入大脑,关联PHP和MySQL代码,通过数千个练习巩固你的脚本知识。

目录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
引子
充满生机:静态页面赋予生命
如何连接在一起:连接My SQL
创建你自己的数据:创建与填充数据库
你的Web应用:现实的实际应用
如果数据库还不够:使用存储在文件中的数据
假想他们都在搜寻你:保证应用安全
还记得我吗?构建个性化Web应用
分享就是关爱:消除重复代码
收获数据:控制你的数据,世界在你手中
通过函数改善生活:串与定制函数
替换规则:正则表达式
绘制动态图像:数据可视化……以及更多!
与世界连接:合成与Web服务
(我们没有谈到的)十大主题:其他
搭建舞台:建立开发环境
还可以更多:扩展PHP

亚马逊链接