-
分类:数据库 语言:简体中文 大小:未知 发布时间:13-05-02
内容简介:《可视化数据》是一本关于计算信息设计的书籍。从如何获取原始数据开始,到如何理解原始数据,《可视化数据》都给出了非常详尽的介绍。《可视化数据》使用由作者开发的开源编程环境Processing编程,它非常简单易用。对于熟悉使用Java的程序员来说,《可视化数据》后面的章节还介绍了如何将Processing和Java结合使用。《可视化数据》是写给那些拥有一个数据集合,好奇如何探索它,并且考虑如何交流这些数据的人们的。随着我们处理越来越多的信息,需要可视化数据的人们的数量增长的非常迅速。更重要的是,读者已经超越了某些可视化领域的专家。通过让更大范围的人们都接触到可视化思想,我们在接下来的几十年中应该可以看到一些真正让人惊叹的事情。内容截图: 前言第1章 可视化数据的七个阶段1.1 为什么数据显示需要计划1.2 一个例子1.3 相互影响和联合1.4 原则1.5 综述第2章 Processing入门2.1 Processing的草图功能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 清理桌子(过滤和挖掘)4.3 一个简单的图表(表述和修饰)4.4 为当前数据集合贴上标签(修饰和交互)4.5 绘制坐标轴(修饰)4.6 选择一个合适的表述(表述和修饰)4.7 通过鼠标滚动强调数据点(交互)4.8 连接数据的方法(修饰)4.9 标签面板一样的文本标签(交互)4.10 数据集合之间插值(交互)4.11 结束时间序列第5章 连接和关连5.1 改变数据源5.2 问题描述5.3 预处理5.4 使用预处理过的数据(获取,分析,过滤,挖掘)5.5 显示结果(表述)5.6 回到问题本身(修饰)5.7 复杂排序:将收入作为判断胜局的依据5.8 转移到多个日期(交互).5.9 平滑交互(修饰)5.10 实施时的考虑因素(获取,分析,过滤)第6章 散点地图6.1 预处理6.2 载入数据(获取和分析)6.3 用邮政编码绘制散点图(挖掘和表述)6.4 在输入的时候突出显示(优化和交互)6.5 显示目前已选择的点(优化)6.6 逐渐地将点变暗和变亮(优化)6.7 放大(交互)6.8 改变缩放时的点的画法(优化)6.9 部署的问题(获取和优化)6.10 下面的步骤第7章 树、层次结构和递归7.1 用递归来构建一个目录树7.2 用队列来异步的加载(交互)7.3 树图的简介7.4 哪些文件占据了最多的空间7.5 查阅文件夹的内容(交互)7.6 提高树图的显示(修饰)7.7 快速浏览文件(交互)7.8 下面的步骤第8章 网络和图8.1 简单的图的演示示例8.2 一个更加复杂的图8.3 解决网络问题8.4 高级图例8.5 挖掘更多信息第9章 获取数据9.1 哪里能找到数据9.2 从互联网上获取数据的工具9.3 用Processing定位使用的文件9.4 载入文本数据9.5 处理文件和文件夹9.6 列出一个文件夹中的文件9.7 异步图像下载9.8 以OpenStream()为桥联系Java9.9 处理字节数组9.10 高级网页技术9.11 使用数据库9.12 处理大量文件第10章 分析数据10.1 努力程度10.2 收集线索的工具10.3 文本是最好的10.4 文本标注语言10.5 正则表达式(regexps)10.6 语法和BNF范式10.7 压缩的数据10.8 向量和几何10.9 二进制数据格式10.10 高级侦查工作第11章 结合Processing和Java11.1 编程模式11.2 附加的源文件(Tabs)11.3 预处理程序11.4 API结构11.5 将PApplet嵌入到Java应用程序中11.6 在Processing的sketch程序中使用Java代码11.7 使用库11.8 用processing.core的源代码编译参考书目索引 ...
-
分类:编程开发 语言:简体中文 大小:未知 发布时间:13-05-02
内容简介:《程序员实用算法》重点关注的是实用、立即可用的代码,并且广泛讨论了可移植性和特定于实现的细节。《程序员实用算法》作者介绍了一些有用但很少被讨论的算法,它们可用于语音查找、日期和时间例程(直到公元1年)、B树和索引文件、数据压缩、任意精度的算术、校验和与数据验证,并且还最全面地介绍了查找例程、排序算法和数据结构。 《程序员实用算法》结构清晰,示例丰富,可作为广大程序员的参考用书。内容截图: 译者序前言致谢第1章 绪论1.1 评估算法1.2 修改算法1.2.1 主要的优化:I/O1.2.2 主要的优化:函数调用1.3 资源和参考资料第2章 基本数据结构2.1 链表2.1.1 双向链表2.1.2 链表的其他特征2.2 栈和队列2.2.1 栈的特征2.2.2 队列的特征第3章 散列3.1 散列的概念3.2 散列函数3.3 冲突解决方法3.3.1 线性再散列法3.3.2 非线性再散列法3.3.3 外部拉链法3.4 性能问题3.5 资源和参考资料第4章 查找4.1 查找的特征4.1.1 准备时间4.1.2 运行时间4.1.3 回溯的需要4.2 蛮力查找4.3 Boyer?Moore查找4.3.1 启发式方法#1:跳过字符4.3.2 启发式方法#2:重复模式4.4 多字符串查找4.5 用于正则表达式的字符串查找:grep4.6 近似字符串匹配技术4.7 语音比较:Soundex算法4.8 Metaphone:现代的Soundex4.9 选择技术4.10 资源和参考资料4.10.1 通用参考资料4.10.2 Boyer?Moore4.10.3 多字符串查找4.10.4 正则表达式查找4.10.5 近似字符串匹配4.10.6 Soundex算法和Metaphone算法第5章 排序5.1 排序的基本特征5.1.1 稳定性5.1.2 对哨兵的需求5.1.3 对链表进行排序的能力5.1.4 输入的阶的相关性5.1.5 对额外存储空间的需求5.1.6 内部排序技术与外部排序技术5.2 排序模型5.2.1 冒泡排序5.2.2 插入排序5.2.3 希尔排序5.2.4 快速排序5.2.5 堆排序5.3 对链表进行插入排序5.4 对链表进行快速排序5.5 对多个键进行排序——不稳定排序的修正方法5.6 网络排序5.7 小结:选择一种排序算法5.8 资源和参考资料第6章 树6.1 二叉树6.1.1 树查找6.1.2 节点插入6.1.3 节点删除6.1.4 二叉查找树的性能6.1.5 AVL树6.2 红黑树6.3 伸展树6.4 B树6.4.1 保持B树平衡6.4.2 实现B树算法6.4.3 B树实现的代码6.5 可以看见森林吗6.6 资源和参考资料第7章 日期和时间7.1 日期例程的库7.2 时间例程7.3 用于日期和时间数据的格式7.4 最后的提醒7.5 资源和参考资料第8章 任意精度的算术8.1 构建计算器8.2表示数字8.3 计算8.4 加法8.5 减法8.6 乘法8.7 除法8.8 关于计算器要注意的最后几点8.9 用于计算平方根的牛顿算法8.10 分期付款表8.11 资源和参考资料第9章 数据压缩9.1 行程编码9.2 霍夫曼压缩9.2.1 代码9.2.2 其他问题9.3 滑动窗口压缩9.4 基于字典的压缩(LZW)9.4.1 LZW算法的伪代码9.4.2 LZW压缩的实现9.4.3 填满字典9.5 使用哪种压缩方法9.6 资源和参考资料第10章 数据完整性和验证10.1 简单的校验和10.2 加权校验和10.3 循环冗余校验10.3.1 CRC?CCITT10.3.2 CRC?1610.3.3 CRC?3210.4 资源和参考资料 ...
-
分类:平面设计 语言:简体中文 大小:未知 发布时间:13-05-02
简介内容提要锐艺视觉编著的《PHOTOSHOP抠图秘技大全(附光盘全彩图解版)》主要介绍Photoshop在抠图过程中所用到的工具、命令及专业的方法和技巧。《PHOTOSHOP抠图秘技大全(附光盘全彩图解版)》共分10章,内容包括第1章进入Photoshop世界、第2章掌握抠图必备的软件知识、第3章掌握基本的抠图技法、第4章快速去除图像的背景、第5章掌握精准的抠图技巧、第6章高级通道抠图技法、第7章蒙版与便捷抠图技法、第8章轻松优化图像、第9章图像合成的魅力和第10章图像的商业应用。通过大量精美的实例展示了Photoshop强大的图像处理和色彩调节功能。内容截图 第一章 进入Photoshop世界认识Photoshop CS5(001~003)初识Photoshop CS5Photoshop的主要应用领域认识Photoshop CS5工作界面掌握Photoshop CS5工作界面的布局Photoshop cs5专业用语常用术语大集合Photoshop cs5工作环境(004~009)灵活应用Photoshop CS5面板组合与拆分面板认识工具箱掌握工具箱的基本操作切换屏幕显示模式根据画面随意调整屏幕显示模式提升Photoshop运行速度通过暂存盘提高电脑运行速度自定义工作界面根据自己的喜好调整工作界面巧妙查看图像放大或缩小图像以便于查看第二章 掌握抠图必备的软件认识文件格式与颜色模式(010~013)了解文件存储格式了解不同的文件格式了解图像的分辨率了解像素与分辨率的关系打开与存储文件打开与存储文件的多种方法了解色彩模式了解不同色彩模式间的区别图像的基本操作(014~022)调整画布大小随意改变图像画布的大小快速预览图像使用Mini Bridge浏览图像批量处理图像使用Bridge批量重命名图像裁剪图像使用工具与命令裁剪图像恢复对图像的操作使用“历史”面板恢复图像指定的状态应用辅助工具结合缩放工具与抓手工具查看图像调整图像的方向使用“图像旋转”命令旋转图像随意变换图像通过“自由变换”命令调整图像利用旋转工具旋转田像使用旋转图像工具任意旋转图像图像的输出与上传图像的像素与输出了解图像像素与输出的关系上传图像将照片上传到网络第三章 掌握基本的抠图技法基本选区抠图工具应用矩形选框工具抠圈利用矩形选框工具抠取方形图像应用椭圆选框工具抠图利用椭圆选框工具抠取圆形图像应用套亲工具抠图利用套索工具随意抠取图像应用多边形套索工具抠图利用多边形套索工具抠取建筑物应用磁性套索工具抠图利用磁性套索工具抠取背景复杂的图像应用快速选择工具抠图第四章 快速去除图像的背景第五章 掌握精准的抠图技巧第六章 高级通道抠图技法第七章 蒙版与便捷抠图技法第八章 轻松优化图像第九章 图像合成的魅力第十章 图像的商业应用 ...
-
分类:编程开发 语言:简体中文 大小:未知 发布时间:13-05-02
内容推荐随着多核处理器的普及,使用并发成为构建高性能应用程序的关键。Java 5以及6在开发并发程序取得了显著的进步,提高了Java虚拟机的性能,提高了并发类的可伸缩性,并加入了丰富的新并发构建块。在本书中,这些便利工具的创造者不仅解释了它们究竟如何工作、如何使用,同时,还阐释了创造它们的原因,及其背后的设计模式。 本书既能够成为读者的理论支持,又可以作为构建可靠的,可伸缩的,可维护的并发程序的技术支持。本书并不仅仅提供并发API的清单及其机制,本书还提供了设计原则,模式和思想模型,使我们能够更好地构建正确的,性能良好的并发程序。本书的读者是那些具有一定Java编程经验的程序员、希望了解Java SE 5,6在线程技术上的改进和新特性的程序员,以及Java和并发编程的爱好者。内容截图 代码清单序第1章 介绍1.1 并发的(非常)简短历史1.2 线程的优点1.3 线程的风险1.4 线程无处不在第1部分 基础第2章 线程安全2.1 什么是线程安全性2.2 原子性2.3 锁2.4 用锁来保护状态2.5 活跃度与性能第3章 共享对象3.1 可见性3.2 发布和逸出3.3 线程封闭3.4 不可变性3.5 安全发布第4章 组合对象4.1 设计线程安全的类4.2 实例限制4.3 委托线程安全4.4 向已有的线程安全类添加功能4.5 同步策略的文档化第5章 构建块5.1 同步容器5.2 发容器5.3 阻塞队列和生产者一消费者模式5.4 阻塞和可中断的方法5.5 Synchronizer5.6 为计算结果建立高效、可伸缩的高速缓存第2部分 构建并发应用程序第6章 任务执行6.1 在线程中执行任务6.2 Executor 框架6.3 寻找可强化的并行性第7章 取消和关闭7.1 任务取消7.2 停止基于线程的服务7.3 处理反常的线程终止7.4 JVM关闭第8章 应用线程池8.1 任务与执行策略问的隐性耦合8.2 定制线程池的大小8.3 配置ThreadPoolExecutor8.4 扩展ThreadPoolExecutor8.5 并行递归算法第9章 GUI应用程序9.1 为什么GUI是单线程化的9.2 短期的GUI任务9.3 耗时GUI任务9.4 共享数据模型9.5 其他形式的单线程子系统第3部分 活跃度,性能和测试第10章 避免活跃度危险第11章 性能和可伸缩性第12章 测试并发程序第4部分 高级主题第13章 显示锁第14章 构建自定义的同步工具第15章 原子变量与非阻塞同步机制第16章 Java存储模型附录A 同步Annotation参考文献索引 ...
-
分类:C/C++ 语言:简体中文 大小:未知 发布时间:13-05-02
内容简介: ·涵盖c++国际标准 ·从基础知识到高级特性,全面讲解c++语言 ·结合语言的内在技术、技巧和数百个示例 ·包括标准模版库(stl) ·程序设计大师herbert schildt多年开发、教学经验的总结 本书是程序设计大师herbert schildt多年开发、教学经验的总结,以实践证明行之有效的方法让您快速精通c++语言。 本书以最易于教学的编排和大量附有细致注解的典型程序示例,从基础知识到最新的高级特性,全面讲解了c++语言。通过本书,读者可以了解c++及c++程序的一般形式,并逐步掌握c++语言的核心内容,包括控制语句、运算符、变量、类和对象、异常处理、模板、名称空间、运行时类型id和标准模板库等,还能学习到用于.net编程的扩展关键字。全书内容秉承herbert一贯的写作风格:简洁、清晰、精准。 本书为c++编程入门读物,面向没有编程经验的程序设计及c++语言的初学者,适合作为高等院校计算机专业相关课程教材,也可为广大编程爱好者深入学习c++及其他面向对象语言打下坚实的基础。 内容截图: 第1章 c++的发展历程 11.1 c++的起源 11.1.1 c的诞生 11.1.2 对c++的需求 31.1.3 c++的诞生 31.2 c++的发展 41.3 什么是面向对象程序设计 51.3.1 封装 51.3.2 多态 51.3.3 继承 61.3.4 c++实现oop 61.3.5 c++与java和c# 6第2章 c++概览 82.1 第一个c++程序 82.1.1 键入程序 92.1.2 编译程序 92.1.3 运行程序 92.1.4 逐行解释 102.2 处理语法错误 122.3 第二个c++程序 12.2.4 一个更实际的例子 132.5 一种新的数据类型 142.6 快速回顾 152.7 函数 152.8 函数的参数 162.8.1 函数返回值 182.8.2 函数main() 192.8.3 c++函数的通用形式 192.9 输出选项 202.10 两个简单的命令 202.10.1 if 语句 202.10.2 for 循环 212.11 代码块 222.12 分号与定位 232.13 缩进编排 242.14 c++中的关键字 242.15 c++的标识符 252.16 标准c++库 25第3章 基本数据类型 263.1 变量的声明 273.1.1 局部变量 273.1.2 形式参数 283.1.3 全局变量 283.2 类型修饰符 293.3 字面量 323.3.1 十六进制与八进制的字面量 333.3.2 字符串字面量 333.3.3 字符转义序列 343.4 变量的初始化 343.5 运算符 363.5.1 算术运算符 363.5.2 增量运算与减量运算 373.5.3 关系运算符与逻辑运算符 383.6 表达式 413.6.1 表达式中的类型转换 413.6.2 bool类型的转换 413.6.3 强制转换 423.6.4 空格与圆括号 43第4章 程序控制语句 444.1 if 语句 444.1.1 条件表达式 454.1.2 嵌套 if 语句 464.1.3 if-else-if 梯状结构 474.2 for 循环 484.2.1 for循环的变形 494.2.2 省略循环组成部分 504.2.3 无限循环 514.2.4 延时循环 514.3 switch语句 514.4 while 循环 544.5 do-while循环 554.6 使用continue 564.7 用break跳出循环 574.8 嵌套循环 584.9 使用goto语句 584.10 综合应用 59第5章 数组和字符串 615.1 一维数组 615.2 字符串 645.3 字符串库函数 665.3.1 strcpy 665.3.2 strcat 675.3.3 strcmp 675.3.4 strlen 685.3.5 使用空字符作为终止符 695.4 二维数组 705.5 多维数组 715.6 数组初始化 725.7 字符串数组 75第6章 指针 796.1 什么是指针 796.2 指针运算符 806.2.1 基本类型的重要性 816.2.2 通过指针赋值 826.3 指针表达式 826.3.1 指针的数学运算 836.3.2 指针的比较运算 846.4 指针和数组 846.4.1 对指针使用下标 866.4.2 指针和数组可否互换 876.5 指针与字符串字面量 876.6 指针比较的示例 886.7 指针数组 896.8 空指针约定 916.9 多重间接 916.10 指针带来的问题 936.10.1 未初始化的指针 936.10.2 无效的指针比较运算 936.10.3 忘记复位指针 94第7章 函数,第一部分:基础知识 967.1 函数的作用域准则 967.1.1 局部变量 967.1.2 形式参数 1017.1.3 全局变量 1017.2 传递指针和数组 1027.2.1 用指针调用函数 1037.2.2 用数组调用函数 1047.2.3 传递字符串 1067.3 argc和argv:函数main()的参数 1077.4 return语句 1107.4.1 从函数中返回 1107.4.2 返回值 1117.4.3 void 函数 1127.4.4 返回指针的函数 1137.5 函数原型 1147.6 头文件:进一步的学习 1157.7 递归 116第8章 函数,第二部分:引用,重载和默认参数 1198.1 两种参数传递的方法 1198.1.1 c++如何传递参数 1198.1.2 用指针实现引用调用 1208.2 引用参数 1218.2.1 返回引用 1238.2.2 创建有界数组 1268.2.3 独立引用 1278.2.4 使用引用的一些限制 1278.3 函数的重载 1288.4 函数的默认参数 1308.4.1 默认参数与重载 1328.4.2 正确使用默认参数值 1338.5 函数重载与歧义性 133第9章 更多的数据类型与运算符 1369.1 限定符const和volatile 1369.1.1 const 1369.1.2 volatile 1389.2 存储类型限定符 1399.2.1 auto 1399.2.2 extern 1399.2.3 static变量 1419.2.4 register变量 1439.3 枚举 1459.4 typedef 1489.5 更多运算符 1489.6 按位运算符 1489.6.1 与、或、异或和非 1499.6.2 移位运算符 1529.7 运算符? 1539.8 复合赋值运算 1549.9 逗号运算符 1559.10 多重赋值运算 1559.11 使用sizeof 1569.12 使用new和delete进行动态分配 1569.12.1 对动态分配的内存进行初始化 1589.12.2 分配数组的内存 1599.13 优先级综述 161第10章 结构与联合 16210.1 结构 16210.1.1 访问结构成员 16410.1.2 结构数组 16410.1.3 一个简单的库存信息示例程序 16510.1.4 传递结构参数 17010.1.5 结构的赋值 17010.1.6 结构指针与箭头运算符 17110.1.7 结构的引用 17410.1.8 在结构中的数组和结构 17510.1.9 位域 17610.2 联合 17810.3 用sizeof来保证可移植性 18210.4 转入面向对象程序设计 182第11章 类 18411.1 类的基本概念 18411.2 进一步学习类的成员访问 18711.3 构造函数和析构函数 18911.3.1 参数化构造函数 19111.3.2 另一种初始化方法 19411.4 类与结构的关系 19511.5 联合与类 19711.6 内联函数 19711.7 对象数组 20011.8 对象指针 20211.9 对象引用 203第12章 类的深入学习 20412.1 友员函数 20412.2 重载构造函数 20712.3 动态初始化 20812.4 对象赋值 21012.5 将对象传递给函数 21112.5.1 构造函数、析构函数和对象传递 21212.5.2 传递对象时一个潜在的问题 21312.6 返回对象 21512.7 创建和使用复制构造函数 21712.7.1 复制构造函数与参数 21812.7.2 复制构造函数与初始化 21912.7.3 在返回对象时使用复制构造函数 22012.8 关键字this 222第13章 运算符的重载 22313.1 使用成员函数重载运算符 22313.1.1 使用成员函数重载一元运算符 22513.1.2 运算符重载的技巧与限制 23013.2 非成员运算符函数 23013.3 深入学习赋值运算符 23613.4 重载[ ] 23913.5 重载( ) 24113.6 重载其他的运算符 24213.7 运算符重载的另一个示例 243第14章 继承 24714.1 继承的介绍 24714.2 基类的访问控制 24914.3 使用保护成员 25114.4 多重继承 25514.5 构造函数、析构函数和继承 25614.5.1 何时执行构造函数和析构函数 25614.5.2 将参数传递给基类构造函数 25814.6 授权访问 26114.7 虚基类 263第15章 虚函数与多态 26715.1 指向派生类型的指针 26715.2 虚函数 26915.2.1 虚函数的继承 27115.2.2 为什么需要虚函数 27315.2.3 虚函数的简单应用 27315.2.4 纯虚函数与抽象类 27615.3 早绑定与晚绑定 278第16章 模板 27916.1 通用函数 27916.2 显式重载通用函数 28116.2.1 重载函数模板 28316.2.2 模板函数使用标准参数 28316.2.3 通用函数的限制 28416.3 通用类 28516.3.1 使用两个通用数据类型的示例 28716.3.2 创建一个通用数组类 28816.3.3 在通用类中使用标准类型的参数 28916.3.4 模板类使用默认参数 29016.3.5 类的显式特例化 292第17章 异常处理 29317.1 异常处理的基础 29317.1.1 异常类 29717.1.2 使用多个catch语句 29817.2 异常处理的选项 29917.2.1 捕获所有的异常 29917.2.2 对函数中抛出异常的限制 30117.2.3 再次抛出异常 30217.3 处理运算符new抛出的异常 30317.4 重载new和delete 305第18章 c++的i/o系统 30918.1 旧式和现代c++的i/o系统 30918.2 c++流 30918.3 c++中的流类型 31018.4 重载i/o运算符 31118.4.1 创建插入符 31218.4.2 使用友员函数重载插入符 31318.4.3 重载提取符 31418.5 格式化i/o 31618.5.1 使用ios的成员函数来格式化数据的i/o 31618.5.2 使用i/o操控符 31918.5.3 创建你自己的操控符函数 32118.6 文件i/o 32318.6.1 打开和关闭一个文件 32318.6.2 文本文件的读与写 32418.6.3 无格式的二进制i/o 32518.6.4 数据块的读写 32718.6.5 检测eof 32818.6.6 文件比较的示例程序 32818.7 其他的二进制i/o函数 33018.8 随机访问 33118.9 检测i/o状态 33318.10 定制的i/o与文件 334第19章 运行时类型识别与强制转换运算符 33619.1 运行时类型识别(rtti) 33619.1.1 运行时类型识别的简单应用 33919.1.2 typeid可以应用于模板类 34119.2 强制转换运算符 34319.2.1 dynamic_cast 34419.2.2 const_cast 34819.2.3 static_cast 34919.2.4 reinterpret_cast 349第20章 名字空间和其他高级主题 35120.1 名字空间 35120.1.1 名字空间的基本概念 35120.1.2 using 35420.1.3 匿名名字空间 35520.2 std名字空间 35620.3 函数指针 35720.4 类的静态成员 36120.5 const成员函数和mutable 36220.6 显式构造函数 36320.7 成员初始化语法 36520.8 关键字asm 36720.9 链接指定 36720.10 成员指针运算符.*和-]* 36820.11 创建转换函数 370第21章 标准模板库 37221.1 stl概览 37221.2 容器类 37421.3 vector 37521.3.1 使用迭代器访问vector 37921.3.2 在vector中插入和删除元素 38021.3.3 在vector中保存对象 38121.4 list 38421.4.1 list排序 38721.4.2 list合并 38821.4.3 在list中存储对象 38921.5 map 39121.6 算法 39521.6.1 统计 39721.6.2 删除和替换元素 39821.6.3 反序 40021.6.4 序列的变形 40021.6.5 探讨其他的算法 40121.7 string类 40121.7.1 string的一些成员函数 40421.7.2 将字符串放入其他容器中 40721.8 关于stl的最后思考 408第22章 c++预处理器 40922.1 #define 40922.2 #error 41222.3 #include 41222.4 条件编译指令 41322.4.1 #if,#else,#elif和#endif 41322.4.2 #ifdef与#ifndef 41522.4.3 #undef 41522.4.4 使用defined 41622.5 #line 41622.6 #pragma 41722.7 预处理器运算符#和## 41722.8 预定义的宏 41822.9 最后的思考 419附录a 基于c的i/o 420a.1 c的i/o系统使用流 420a.2 函数printf()和scanf() 421a.3 c的文件系统 426a.4 fseek()与随机访问i/o 432a.5 fprintf()和fscanf() 433a.6 删除文件 433附录b 使用旧的c++编译器 434附录c .net对c++的受控扩展 436c.1 .net中的扩展关键字 436c.2 扩展预处理指令 438c.3 属性attribute 438c.4 编译受控c++代码 438 ...
-
分类:操作系统 语言:简体中文 大小:未知 发布时间:13-05-02
编辑推荐《UNIX/Linux 系统管理技术手册(第4版)》的几位作者是分别来自学术界、企业界以及职业培训领域的Linux/UNIX系统管理专家,这使得《UNIX/Linux 系统管理技术手册(第4版)》从第一版开始,即成为全面、深入而且颇富实用性的Linux系统管理权威参考书。《UNIX/Linux 系统管理技术手册(第4版)》延续了《Linux系统管理技术手册(第2版)》以及《UNIX系统管理技术手册(第3版)》的讲解风格,以当前主流的5种Linux发行版本(Red Hat ES、SUSE、Debian、Fedora Core和Ubuntu)为例,把Linux系统管理技术分为3部分分别介绍。作者简介作者:(美国)内梅特(Evi Nemeth) (美国)Garth Snyder (美国)Trent R.Hein (美国)Ben Whaley 译者:张辉 Evi Nemeth,(sailingevi@gmail tom)已经从科罗拉多大学计算机科学系教师的岗位上退休民。她现在正坐在自己1.2米长的帆船Wonderland号上邀游太平洋呢。这是她写的最后一版——当船停泊在人间天堂里的时候,用只有30波特的GPRS收发电子邮件,是无法跟上最新系统管理技术的步伐了。 第一部分 基本管理技术 1第1章 从何处入手 21.1 系统管理员的基本任务 31.1.1 账号管理 31.1.2 增删硬件 31.1.3 执行备份 31.1.4 安装和更新软件 31.1.5 监视系统 41.1.6 故障诊断 41.1.7 维护本地文档 41.1.8 时刻警惕系统安全 41.1.9 救火 41.2 读者的知识背景 41.3 UNIX和Linux之间的摩擦 51.4 Linux的发行版本 71.5 本书使用的示例系统 81.5.1 用作示例的Linux发行版本 81.5.2 用作示例的UNIX发行版本 91.6 特定于系统的管理工具 101.7 表示法和印刷约定 101.8 单位 111.9 手册页和其他联机文档 121.9.1 手册页的组织 121.9.2 man:读取手册页 131.9.3 手册页的保存 141.9.4 GNUTexinfo 141.10 其他的权威文档 141.10.1 针对系统的专门指南 141.10.2 针对软件包的专门文档 151.10.3 书籍 151.10.4 RFC和其他Internet文档 161.10.5 LDP 161.11 其他的信息资源 161.12 查找和安装软件的途径 171.12.1 判断软件是否已经安装 181.12.2 增加新软件 181.12.3 从源代码编译软件 201.13 重压下的系统管理员 211.14 推荐读物 211.15 习题 23第2章 脚本和shell 242.1 shell的基础知识 252.1.1 编辑命令 252.1.2 管道和重定向 252.1.3 变量和引用 272.1.4 常见的过滤命令 272.2 bash脚本编程 302.2.1 从命令到脚本 312.2.2 输入和输出 322.2.3 命令行参数和函数 332.2.4 变量的作用域 342.2.5 控制流程 352.2.6 循环 362.2.7 数组和算术运算 382.3 正则表达式 392.3.1 匹配过程 402.3.2 普通字符 402.3.3 特殊字符 402.3.4 正则表达式的例子 412.3.5 捕获 422.3.6 贪心、懒惰和灾难性的回溯 432.4 Perl编程 442.4.1 变量和数组 452.4.2 数组和字符串文字 452.4.3 函数调用 462.4.4 表达式里的类型转换 462.4.5 字符串表达式和变量 462.4.6 哈希 462.4.7 引用和自动生成 482.4.8 Perl语言里的正则表达式 482.4.9 输入和输出 492.4.10 控制流程 502.4.11 接受和确认输入 512.4.12 Perl用作过滤器 522.4.13 Perl的附加模块 532.5 Python脚本编程 542.5.1 Python快速入门 542.5.2 对象、字符串、数、列表、字典、元组和文件 562.5.3 确认输入的例子 572.5.4 循环 582.6 脚本编程的最佳实践 592.7 推荐读物 60Shell基础知识和bash脚本编程 60正则表达式 60Perl脚本编程 60Python脚本编程 612.8 习题 61第3章 引导和关机 623.1 引导 623.1.1 恢复模式下引导进入shell 633.1.2 引导过程的步骤 633.1.3 初始化内核 633.1.4 配置硬件 643.1.5 创建内核进程 643.1.6 操作员干预(仅限恢复模式) 643.1.7 执行启动脚本 653.1.8 引导进程完成 653.2 引导PC 653.3 GRUB:全面统一的引导加载程序 663.3.1 内核选项 673.3.2 多重引导 683.4 引导进入单用户模式 683.4.1 用GRUB引导单用户模式 683.4.2 SPARC上的单用户模式 693.4.3 HP-UX的单用户模式 693.4.4 AIX的单用户模式 703.5 启动脚本 703.5.1 init及其运行级 703.5.2 启动脚本概述 713.5.3 Red Hat启动脚本 733.5.4 SUSE的启动脚本 743.5.5 Ubuntu的启动脚本和Upstart守护进程 753.5.6 HP-UX的启动脚本 753.5.7 AIX的启动 763.6 引导Solaris 773.6.1 Solaris的SMF 773.6.2 崭新的世界:用SMF引导系统 793.7 重新引导和关机 793.7.1 shutdown:停止系统的妥善方式 793.7.2 halt和reboot:关闭系统的更简单方式 803.8 习题 80第4章 访问控制和超级权限 824.1 传统的UNIX访问控制 824.1.1 文件系统的访问控制 834.1.2 进程的所有权 834.1.3 root账号 844.1.4 setuid和setgid执行方式 844.2 现代的访问控制 854.2.1 基于角色的访问控制 854.2.2 SELinux:增强安全性的Linux 864.2.3 POSIX能力(Linux) 864.2.4 PAM:可插入式身份验证模块 874.2.5 Kerberos:第三方的加密验证 874.2.6 访问控制列表 874.3 实际中的访问控制 874.3.1 选择root的口令 884.3.2 登录进入root账号 894.3.3 su:替换用户身份 894.3.4 sudo:受限的su 894.3.5 口令保险柜和口令代管 924.4 root之外的其他伪用户 924.5 习题 93第5章 进程控制 945.1 进程的组成部分 945.1.1 PID:进程的ID号 955.1.2 PPID:父PID 955.1.3 UID和EUID:真实的和有效的用户ID 955.1.4 GID和EGID:真实的和有效的组ID 965.1.5 谦让度 965.1.6 控制终端 965.2 进程的生命周期 965.3 信号 975.4 kill: 发送信号 995.5 进程的状态 1005.6 nice和renice:影响调度优先级 1015.7 ps:监视进程 1025.8 用top、prstat和topas动态监视进程 1055.9 /proc文件系统 1055.10 strace、truss和tusc:追踪信号和系统调用 1075.11 失控进程 1085.12 推荐读物 1085.13 习题 109第6章 文件系统 1106.1 路径名称 1116.1.1 绝对路径和相对路径 1116.1.2 文件名中的空白 1126.2 挂载和卸载文件系统 1126.3 文件树的组织 1146.4 文件类型 1166.4.1 普通文件 1176.4.2 目录 1176.4.3 字符设备文件和块设备文件 1186.4.4 本地域套接口 1186.4.5 有名管道 1196.4.6 符号链接 1196.5 文件属性 1196.5.1 权限位 1206.5.2 setuid和setgid位 1206.5.3 粘附位 1216.5.4 ls:列出和查看文件 1216.5.5 chmod:改变权限 1226.5.6 chown和chgrp:改变归属关系和组 1236.5.7 umask:分配默认的权限 1246.5.8 Linux上的额外标志 1246.6 访问控制列表 1256.6.1 UNIX ACL简史 1266.6.2 ACL的实现 1266.6.3 系统支持的ACL 1276.6.4 POSIX的ACL 1276.6.5 NFSv4的ACL 1306.7 习题 134第7章 添加新用户 1367.1 /etc/passwd文件 1377.1.1 登录名 1387.1.2 加密的口令 1397.1.3 UID号 1407.1.4 默认的GID号 1417.1.5 GECOS字段 1417.1.6 主目录 1427.1.7 登录shell 1427.2 /etc/shadow和/etc/security/passwd文件 1427.3 /etc/group文件 1457.4 添加用户:基本步骤 1467.4.1 编辑passwd和group文件 1467.4.2 设置口令 1477.4.3 创建主目录并安装启动文件 1477.4.4 设置权限和所属关系 1487.4.5 设置邮件主目录 1487.4.6 配置角色和管理特权 1487.4.7 收尾步骤 1487.5 用useradd添加用户 1497.5.1 Ubuntu上的useradd 1507.5.2 SUSE上的useradd 1507.5.3 Red Hat上的useradd 1517.5.4 Solaris上的useradd 1517.5.5 HP-UX上的useradd 1527.5.6 AIX的useradd 1527.5.7 useradd举例 1547.6 用newusers成批添加用户(Linux) 1547.7 删除用户 1557.8 禁止登录 1567.9 用系统的专门工具管理用户 1577.10 用PAM降低风险 1577.11 集中管理账号 1577.11.1 LDAP和Active Directory 1587.11.2 单一登录系统 1587.11.3 身份管理系统 1587.12 推荐读物 1597.13 习题 159第8章 存储 1618.1 只想加一块硬盘! 1618.1.1 Linux的做法 1628.1.2 Solaris的做法 1628.1.3 HP-UX的做法 1638.1.4 AIX的做法 1638.2 存储硬件 1648.2.1 硬盘 1648.2.2 固态盘 1658.3 存储硬件接口 1668.3.1 PATA接口 1678.3.2 SATA接口 1688.3.3 并行SCSI 1688.3.4 串行SCSI 1708.3.5 SCSI和SATA的比较 1708.4 层层剖析:存储上的软件 1718.5 硬盘的安装和底层管理 1738.5.1 在硬件层面上的安装核实 1738.5.2 磁盘设备文件 1738.5.3 格式化和坏块管理 1768.5.4 ATA安全擦除 1768.5.5 hdparm:设置磁盘和接口参数(Linux) 1778.5.6 使用SMART监视磁盘 1798.6 磁盘分区 1798.6.1 传统的分区方式 1808.6.2 Windows的分区 1818.6.3 GPT:GUID分区表 1828.6.4 Linux的分区 1838.6.5 Solaris的分区 1838.6.6 HP-UX的分区 1838.7 RAID:廉价磁盘冗余阵列 1838.7.1 软硬RAID对比 1848.7.2 RAID的级别 1848.7.3 硬盘故障恢复 1868.7.4 RAID 5的缺点 1868.7.5 mdadm:Linux上的软RAID 1878.8 逻辑卷管理 1898.8.1 LVM的实现 1908.8.2 Linux的逻辑卷管理 1918.8.3 HP-UX的逻辑卷管理 1948.8.4 AIX的逻辑卷管理 1968.10 文件系统 1978.9.1 Linux文件系统:ext家族的文件系统 1978.9.2 HP-UX文件系统 1988.9.3 AIX的JFS2文件系统 1988.9.4 文件系统的术语 1998.9.5 文件系统的多态性 1998.9.6 mkfs:格式化文件系统 2008.9.7 fsck:检查和修复文件系统 2008.9.8 挂载文件系统 2018.9.9 设置自动挂载 2018.9.10 挂载USB设备 2038.9.11 启用交换分区 2048.10 ZFS:解决所有存储问题 2048.10.1 ZFS体系结构 2058.10.2 举例:Solaris磁盘分区 2058.10.3 文件系统和属性 2068.10.4 属性继承 2078.10.5 每个用户一个文件系统 2088.10.6 快照和克隆 2088.10.7 原始卷 2098.10.8 通过NFS、CIFS和iSCSI共享文件系统 2098.10.9 存储池管理 2108.11 存储区域网络 2118.11.1 SAN网络 2128.11.2 iSCSI:SCSI over IP 2138.11.3 从iSCSI卷引导 2148.11.4 iSCSI的厂商特性 2148.12 习题 216第9章 周期性进程 2189.1 cron:按时间表执行命令 2189.2 crontab文件的格式 2199.3 crontab管理 2209.4 Linux及其Vixie-CRON的扩展 2219.5 cron的常见用途 2229.5.1 简单的提醒功能 2229.5.2 清理文件系统 2239.5.3 配置文件的网络分布 2249.5.4 循环日志文件 2249.6 习题 224第10章 备份 22510.1 备份基本原理 22610.1.1 从中心位置执行所有的备份 22610.1.2 给备份介质加卷标 22610.1.3 选择合理的备份间隔 22610.1.4 仔细选择文件系统 22710.1.5 在单一介质上做日常转储 22710.1.6 异地保存介质 22710.1.7 保护备份 22810.1.8 备份期间限制活动 22810.1.9 查验介质 22810.1.10 发掘介质的寿命 22910.1.11 为备份而设计数据 22910.1.12 做最坏的准备 23010.2 备份设备和介质 23010.2.1 光盘:CD-R/RW、DVD±R/RW、DVD-RAM和蓝光 23110.2.2 便携和移动硬盘 23110.2.3 磁带概述 23110.2.4 小型磁带机:8mm磁带和DDS/DAT 23210.2.5 DLT和S-DLT 23210.2.6 AIT和SAIT 23210.2.7 VXA和VXA-X 23310.2.8 LTO 23310.2.9 自动选带机、自动换带机以及磁带库 23310.2.10 硬盘 23310.2.11 因特网和云备份服务 23410.2.12 介质类型小结 23410.2.13 设备选型 23510.3 节省空间和时间与增量备份 23510.3.1 简单的计划 23610.3.2 适中的计划 23610.4 用dump建立备份机制 23610.4.1 转储文件系统 23710.4.2 用restore从转储中恢复 23910.4.3 恢复整个文件系统 24110.4.4 恢复到新硬盘上 24210.5 为系统升级而执行转储和恢复 24210.6 使用其他存档程序 24210.6.1 tar: 给文件打包 24210.6.2 dd:处理位流 24310.6.3 ZFS的备份 24410.7 使用同一卷磁带上的多个文件 24410.8 Bacula 24510.8.1 Bacula的模型 24610.8.2 设置Bacula 24610.8.3 安装数据库和Bacula的守护进程 24710.8.4 配置Bacula的守护进程 24710.8.5 公共的配置段 24810.8.6 bacular-dir.conf:配置控制文件 24910.8.7 bacula-sd.conf:配置存储守护进程 25210.8.8 bconsole.conf:配置控制台 25310.8.9 安装和配置客户端的文件守护进程 25310.8.10 启动Bacula的守护进程 25310.8.11 向存储池添加介质 25410.8.12 执行一次手工备份 25410.8.13 执行一次恢复工作 25410.8.14 给Windows客户机做备份 25710.8.15 监视和调试Bacula的配置 25710.8.16 Bacula的技巧和窍门 25810.8.17Bacula的替代工具 25810.9 商用备份产品 25910.9.1 ADSM/TSM 25910.9.2 VeritasNetBackup 25910.9.3 EMCNetWorker 26010.9.4 其他选择 26010.10 推荐读物 26010.11 习题 260第11章 系统日志与日志文件 26211.1 日志文件的位置 26311.1.1 不用管理的文件 26411.1.2 厂商特有的文件 26511.2 syslog:系统事件的日志程序 26611.2.1 syslog的体系结构 26611.2.2 配置syslogd 26711.2.3 配置文件举例 26911.2.4 调试syslog 27111.2.5 syslog的其他替代方案 27111.2.6 Linux内核和引导时刻日志 27211.3 AIX:日志记录和出错处理 27311.3.1 AIX的syslog配置 27411.4 logrotate: 管理日志文件 27511.5 分析日志文件 27611.6 日志记录的策略 27711.7 习题 278第12章 软件安装和管理 28012.1 安装Linux和OpenSolaris 28012.1.1 从网络引导PC 28112.1.2 为Linux设置PXE 28112.1.3 非PC的网络引导 28212.1.4 Kickstart:RHEL的自动安装程序 28212.1.5 AutoYaST:SUSE的自动安装工具 28412.1.6 用Ubuntu的安装程序自动安装 28512.2 安装Solaris 28612.2.1 使用JumpStart网络安装 28712.2.2 使用自动安装程序进行网络安装 29012.3 安装HP-UX 29112.3.1 用Ignite-UX自动安装 29312.4 使用NIM安装AIX 29312.5 软件包管理 29412.6 Linux的高级软件包管理系统 29512.6.1 rpm:管理RPM软件包 29512.6.2 dpkg:管理Debian的软件包 29612.7 Linux的高级软件包管理系统 29712.7.1 软件包的库 29812.7.2 RHN:Red Hat网络 29912.7.3 APT:高级软件包工具 29912.7.4 配置apt-get 30012.7.5 /etc/apt/sources.list文件的例子 30112.7.6 创建本地的库镜像 30112.7.7 自动执行apt-get 30212.7.8 yum:管理RPM的发布 30212.7.9 Zypper:SUSE的软件包管理 30312.8 UNIX的软件包管理 30412.8.1 Solaris软件包 30412.8.2 HP-UX软件包 30512.8.3 AIX的软件管理 30712.9 版本控制 30712.9.1创建备份文件 30712.9.2 正规的版本控制系统 30812.9.3 Subversion 30912.9.4 Git 31012.10 软件的本地化和配置 31312.10.1 本地化的组织 31312.10.2 测试 31412.10.3 本地编译软件 31412.10.4 发布本地软件 31512.11 配置管理工具 31512.11.1 cfengine:计算机免疫系统 31612.11.2 LCFG:大规模配置系统 31612.11.3 Template Tree 2:cfengine的帮手 31612.11.4 DMTF/CIM:公共信息模型 31712.12 通过NFS共享软件 31712.12.1 软件包的名字空间 31812.12.2 依赖关系的管理 31812.12.3 封装脚本 31912.13 推荐读物 31912.14 习题 320第13章 驱动程序和内核 32113.1 内核的适应性 32213.2 驱动程序和设备文件 32213.2.1 设备文件和设备号 32313.2.2 创建设备文件 32413.2.3 设备的命名约定 32413.2.4 自定义内核和可加载模块 32513.3 配置Linux内核 32513.3.1 调整Linux内核参数 32513.3.2 构造Linux内核 32713.3.3 内核没问题就不要改它 32713.3.4 配置内核选项 32713.3.5 构建Linux内核的二进制文件 32813.3.6 添加Linux设备驱动程序 32913.4 配置Solaris内核 33013.4.1 Solaris内核区 33013.4.2 用/etc/system配置内核 33113.4.3 添加一个Solaris设备驱动程序 33213.4.4 调试Solaris的配置 33213.5 配置HP-UX内核 33313.6 管理AIX内核 33413.6.1 ODM 33413.6.2 内核调配 33513.7 可加载内核模块 33613.7.1 Linux的可加载内核模块 33613.7.2 Solaris的可加载内核模块 33713.8 Linux udev的意义和作用 33813.8.1 Linux sysfs:设备对外的窗口 33913.8.2 用udevadm浏览设备 33913.8.3 构造规则和固定不变的名字 34013.9 推荐读物 34313.10 习题 343第二部分 网络管理技术 345第14章 TCP/IP网络 34614.1 TCP/IP和Internet 34614.1.1 Internet的运行管理 34714.1.2 网络的标准和文献 34714.2 连网技术概述 34814.2.1 IPv4和IPv6 34914.2.2 分组和封装 34914.2.3 以太网组帧 35014.2.4 最大传输单位(MTU) 35014.3 分组地址 35114.3.1 硬件(MAC)地址 35114.3.2 IP地址 35214.3.3 主机名“地址” 35214.3.4 端口 35214.3.5 地址类型 35314.4 IP地址详解 35314.4.1 IPv4地址分类 35314.4.2 子网 35414.4.3 计算子网的技巧和工具 35514.4.4 CIDR:无类域间路由 35614.4.5 地址分配 35614.4.6 私用地址和NAT 35714.4.7 IPv6地址 35814.5 路由选择 35914.5.1 路由表 36014.5.2 ICMP重定向 36114.6 ARP:地址解析协议 36114.7 DHCP:动态主机配置协议 36214.7.1 DHCP软件 36314.7.2 DHCP的工作方式 36314.7.3 ISC的DHCP服务器 36314.8 安全问题 36514.8.1 IP转发 36514.8.2 ICMP重定向 36514.8.3 源路由 36514.8.4 广播ping和其他形式的定向广播 36514.8.5 IP欺骗 36614.8.6 基于主机的防火墙 36614.8.7 虚拟私用网络 36714.9 PPP:点对点协议 36714.10 基本的网络配置 36814.10.1 分配主机名和IP地址 36814.10.2 ifconfig:配置网络接口 36914.10.3 网络硬件参数 37114.10.4 route:配置静态路由 37114.10.5 配置DNS 37314.11 特定于系统的网络配置 37314.12 Linux连网 37414.12.1 NetworkManager 37414.12.2 Debian和Ubuntu的网络配置 37514.12.3 SUSE的网络配置 37514.12.4 Red Hat的网络配置 37614.12.5 Linux的网络硬件配置选项 37714.12.6 Linux的TCP/IP配置选项 37814.12.7 有关安全的内核变量 38014.12.8 Linux的NAT和包过滤 38114.13 Solaris连网 38114.13.1 基本网络配置 38114.13.2 网络配置举例 38314.13.3 DHCP的配置 38414.13.4 ndd:调整TCP/IP和接口 38414.13.5 安全 38514.13.6 防火墙和过滤机制 38614.13.7 NAT 38614.13.8 Solaris连网的特别之处 38714.14 HP-UX连网 38714.14.1 基本网络配置 38714.14.2 网络配置举例 38814.14.3 DHCP的配置 38914.14.4 动态的重新配置和调整 39014.14.5 安全、防火墙、过滤和NAT 39014.15 AIX连网 39114.15.1 no:管理AIX的网络可配参数 39214.16 推荐读物 39314.17 习题 394第15章 路由选择 39515.1 近观包转发 39615.2 路由守护进程和路由协议 39815.2.1 距离向量协议 39815.2.2 链路状态协议 39915.2.3 代价度量 39915.2.4 内部协议和外部协议 40015.3 路由协议巡礼 40015.3.1 RIP和RIPng:路由信息协议 40015.3.2 OSPF:开放最短路径优先 40115.3.4 EIGRP:增强内部网关路由协议 40115.3.5 IS-IS:ISO的“标准” 40215.3.6 RDP和NDP 40215.3.7 BGP:边界网关协议 40215.4 路由策略的选择标准 40215.5 路由守护进程 40315.5.1 routed:过时的RIP实现 40415.5.2 gated:第一代的多协议路由守护进程 40415.5.3 Quagga:主流的路由守护进程 40415.5.4 ramd:HP-UX的多协议路由系统 40515.5.5 XORP:计算机里的路由器 40515.5.6 各操作系统的特性 40515.6 思科路由器 40615.7 推荐读物 40815.8 习题 409第16章 网络硬件 41016.1 以太网:连网技术中的瑞士军刀 41116.1.1 以太网的工作方式 41216.1.2 以太网拓扑结构 41216.1.3 无屏蔽双绞线 41216.1.4 光纤 41416.1.5 连接和扩展以太网 41516.1.6 自动协商 41616.1.7 以太网供电 41616.1.8 巨大帧 41716.2 无线:流动人士的LAN 41716.2.1 无线网络的安全 41816.2.2 无线交换机和轻量级AP 41916.3 DSL和CM:最后一英里 41916.4 网络测试和调试 42016.5 建筑物布线 42016.5.1 UTP电缆的选择 42016.5.2 到办公室的连接 42116.5.3 布线标准 42116.6 网络设计问题 42216.6.1 网络结构与建筑物结构 42216.6.2 扩展 42216.6.3 拥塞 42316.6.4 维护和建档 42316.7 管理问题 42316.8 推荐的厂商 42416.8.1 电缆和连接器 42416.8.2 测试仪器 42416.8.3 路由器/交换机 42416.9 推荐读物 42416.10 习题 425第17章 DNS:域名系统 42617.1 谁需要DNS 42717.1.1 管理DNS 42717.2 DNS的工作原理 42817.2.1 资源记录 42817.2.2 授权 42917.2.3 缓存和效率 43017.2.4 多重响应 43017.3 DNS速成 43017.3.1 向DNS添加新机器 43117.3.2 配置DNS客户机 43317.4 域名服务器 43517.4.1 权威与仅缓存服务器 43517.4.2 递归和非递归服务器 43617.5 DNS名字空间 43717.5.1 注册二级域名 43817.5.2 创建子域 43817.6 设计DNS环境 43817.6.1 名字空间管理 43917.6.2 权威服务器 43917.6.3 缓存服务器 44017.6.4 硬件要求 44017.6.5 安全 44117.6.6 总结 44117.7 DNS的新特性 44217.8 DNS数据库 44317.8.1 区文件中的命令 44417.8.2 资源记录 44417.8.3 SOA记录 44717.8.4 NS记录 44817.8.5 A记录 44917.8.6 PTR记录 44917.8.7 MX记录 45017.8.8 CNAME记录 45117.8.9 巧用CNAME 45217.8.10 SRV记录 45317.8.11 TXT记录 45417.8.12 IPv6资源记录 45417.8.13 SPF记录 45517.8.14 DKIM和ADSP记录 45717.8.15 SSHFP资源记录 45917.8.16 粘合记录:区之间的链接 46017.9 BIND软件 46117.9.1 判定版本 46117.9.2 BIND的组成 46317.9.3 配置文件 46317.9.4 include语句 46517.9.5 options语句 46517.9.6 acl语句 47017.9.7 (TSIG)key语句 47117.9.8 trusted-keys语句 47117.9.9 server语句 47117.9.10 masters语句 47217.9.11 logging语句 47217.9.12 statistics-channels语句 47317.9.13 zone语句 47317.9.14 rndc的controls语句 47517.9.15 分离式DNS和view语句 47617.10 BIND配置举例 47817.10.1 localhost区 47817.10.2 一家小型的安全公司 47917.10.3 ISC 48117.11 NSD/Unbound软件 48217.11.1 安装和配置NSD 48317.11.2 运行nsd 48817.11.3 安装和配置Unbound 48817.12 更新区文件 49417.12.1 区传送 49417.12.2 BIND的动态更新 49517.13 安全问题 49717.13.1 再谈BIND访问控制列表 49817.13.2 开放的解析器 49917.13.3 在监管环境下运行 49917.13.4 使用TSIG和TKEY保障服务器与服务器之间通信的安全 50017.13.5 为BIND设置TSIG 50017.13.6 NSD里的TSIG 50217.13.7 DNSSEC 50217.13.8 DNSSEC策略 50517.13.9 DNSSEC资源记录 50517.13.10 启用DNSSEC 50617.13.11 生成密钥对 50717.13.12 区签名 50917.13.13 DNSSEC信任链 51017.13.14 DLV:域旁路认证 51117.13.15 DNSSEC密钥延期 51217.13.16 DNSSEC工具 51317.13.17 调试DNSSEC 51517.14 微软和DNS 51617.15 测试和调试 51617.15.1 BIND的日志功能 51617.15.2 NSD/Unbound的日志功能 52117.15.3 域名服务器的控制程序 52117.15.4 域名服务器统计 52317.15.5 用dig进行调试 52417.15.6 残缺授权 52517.15.7 其他DNS检查工具 52617.15.8 性能问题 52717.16 各操作系统的特定信息 52717.16.1 Linux 52817.16.2 Solaris 53017.16.3 HP-UX 53017.16.4 AIX 53117.17 推荐读物 53217.17.1 邮递列表和新闻组 53217.17.2 书籍和其他文档 53217.17.3 网上资源 53317.17.4 RFC 53317.18 习题 534第18章 网络文件系统 53518.1 NFS概述 53518.1.1 状态问题 53518.1.2 性能问题 53618.1.3 安全 53618.2 NFS的方法 53618.2.1 NFS协议的版本和历史 53718.2.2 传输协议 53718.2.3 状态 53718.2.4 文件系统导出 53818.2.5 文件上锁机制 53818.2.6 安全问题 53918.2.7 NFSv4的标识映射 54018.2.8 root访问与nobody账号 54118.2.9 NFSv4的性能考虑 54118.2.10 磁盘配额 54118.3 服务器端NFS 54218.3.1 share命令和dfstab文件(Solaris/HP-UX) 54318.3.2 exportfs命令和exports文件(Linux/AIX) 54418.3.3 在AIX上导出文件系统 54418.3.4 在Linux上导出文件系统 54518.3.5 nfsd:提供文件服务 54718.4 客户端NFS 54818.4.1 在启动时挂载远程文件系统 55018.4.2 端口安全限制 55018.5 NFSv4的标识映射 55118.6 nfsstat:转储NFS统计信息 55118.7 专用NFS文件服务器 55218.8 自动挂载 55218.8.1 间接映射文件 55318.8.2 直接映射文件 55418.8.3 主控映射文件 55418.8.4 可执行的映射文件 55418.8.5 自动挂载的可见性 55518.8.6 重复的文件系统和自动挂载 55518.8.7 自动的automount(除Linux之外其他系统上的NFSv3) 55618.8.8 Linux的特定信息 55618.9 推荐读物 55718.10 习题 557第19章 共享系统文件 55819.1 共享什么 55919.2 把文件复制到各处 55919.2.1 NFS的选项 55919.2.2 “推”系统和“拉”系统 56019.2.3 rdist:推文件 56019.2.4 rsync:更安全地传输文件 56219.2.5 拉文件 56419.3 LDAP:轻量级目录访问协议 56419.3.1 LDAP数据的结构 56519.3.2 LDAP的特点 56619.3.3 LDAP的文档和规范 56719.3.4 OpenLDAP:传统的开源LDAP 56719.3.5 389 Directory Server:另一种开源LDAP服务器 56819.3.6 用LDAP代替/etc/passwd和/etc/group 56819.3.7 LDAP查询 56919.3.8 LDAP和安全 57019.4 NIS:网络信息服务 57019.4.1 NIS模型 57119.4.2 理解NIS的工作方式 57119.4.3 NIS的安全 57219.5 确定管理信息源的优先级 57319.5.1 nscd:缓存查找的结果 57419.6 推荐读物 57419.7 习题 574第20章 电子邮件 57620.1 邮件系统 57720.1.1 用户代理 57720.1.2 提交代理 57820.1.3 传输代理 57920.1.4 本地投递代理 57920.1.5 消息库 57920.1.6 访问代理 58020.1.7 内容太多,时间太少 58020.2 剖析邮件消息 58020.2.1 阅读邮件信头 58120.3 SMTP协议 58220.3.1 EHLO 58320.3.2 SMTP出错代码 58320.3.3 SMTP身份验证 58420.4 邮件系统的设计 58520.4.1 使用邮件服务器 58520.5 邮件别名 58720.5.1 从文件中获取别名 58920.5.2 发邮件给文件 58920.5.3 发邮件给程序 59020.5.4 别名举例 59020.5.5 散列的别名数据库 59020.5.6 邮递列表和实现清单的软件 59020.5.7 维护邮递列表的软件包 59120.6 内容扫描:垃圾邮件和恶意软件 59120.6.1 垃圾邮件 59220.6.2 伪造邮件 59220.6.3 消息隐私 59320.6.4 垃圾邮件过滤 59320.6.5 何时过滤 59320.6.6 灰名单技术/DCC 59420.6.7 SpamAssassin 59420.6.8 黑名单 59520.6.9 白名单 59520.6.10 邮件过滤库 59620.6.11 SPF和Sender ID 59620.6.12 DomainKeys、DKIM和ADSP 59620.6.13 MTA特有的反垃圾邮件功能 59720.6.14 MailScanner 59720.6.15 amavisd-new 59720.6.16 测试MTA的扫描效力 60020.7 电子邮件配置 60020.8 sendmail 60120.8.1 开关文件 60220.8.2 运行模式 60320.8.3 邮件队列 60420.9 配置sendmail 60420.9.1 m4预处理器 60520.9.2 sendmail的配置 60520.9.3 从.mc样板文件构建配置文件 60620.10 sendmail基本配置原语 60720.10.1 表和数据库 60720.10.2 通用宏和功能 60820.10.3 客户端选项 61220.10.4 配置选项 61220.10.5 sendmail中处理垃圾邮件的功能 61420.10.6 sendmail中的milter配置 61620.10.7 amavisd和sendmail的连接 61720.11 安全与sendmail 61820.11.1 所有权 61820.11.2 权限 61920.11.3 向文件和程序更安全地发邮件 62020.11.4 隐私选项 62020.11.5 运行一个chroot过的sendmail(真正严格的要求) 62120.11.6 拒绝服务攻击 62220.11.7 SASL:简单的身份验证和安全层 62220.11.8 TLS:传输层安全 62220.12 sendmail的性能 62320.12.1 投递方式 62320.12.2 队列分组和信封分割 62320.12.3 队列运行器 62320.12.4 控制平均负载 62420.12.5 队列中无法投递的消息 62420.12.6 内核调优 62520.13 sendmail测试和调试 62620.13.1 队列监视 62620.13.2 日志机制 62720.14 Exim 62720.14.1 安装Exim 62820.14.2 Exim的启动脚本 62920.14.3 Exim的工具 63020.14.4 Exim的配置语言 63120.14.5 Exim的配置文件 63120.14.6 全局的配置选项 63220.14.7 ACL 63320.14.8 ACL内容扫描 63620.14.9 身份验证器 63720.14.10 路由 63820.14.11 传输 64020.14.12 重试配置 64120.14.13 重写配置 64120.14.14 本地扫描功能 64220.14.15 amavisd和Exim的连接 64220.14.16 日志机制 64220.14.17 调试机制 64320.15 Postfix邮件系统 64420.15.1 Postfix的体系结构 64420.15.2 安全 64520.15.3 Postfix命令和文档 64520.15.4 配置Postfix 64620.15.5 虚拟域 64920.15.6 访问控制 65120.15.7 反垃圾邮件和病毒 65320.15.8 用amavisd做内容过滤 65420.15.9 调试 65620.16 DKIM配置 65720.16.1 DKIM:域密钥身份识别邮件 65720.16.2 DKIM邮件过滤 65820.16.3 在amavisd-new中配置DKIM 66020.16.4 sendmail中的DKIM 66020.16.5 Exim中的DKIM 66120.16.6 Postfix中的DKIM 66320.17 综合的电子邮件解决方案 66320.18 推荐读物 66420.19 习题 665第21章 网络管理和调试 66821.1 网络故障的检测 66921.2 ping:检查主机是否正常 67021.3 SmokePing:ping的累计统计 67121.4 traceroute:跟踪IP包 67221.5 netstat:获得网络统计信息 67421.5.1 检查接口的配置信息 67421.5.2 监视网络连接的状态 67621.5.3 标识正在监听的网络服务 67721.5.4 检查路由表 67721.5.5 查看各种网络协议运行的统计信息 67821.6 检查工作接口的活动 67921.7 包嗅探器 68021.7.1 tcpdump:业界标准的包嗅探器 68021.7.2 Wireshark和TShark:增强型的tcpdump 68121.8 ICSI Netslyzr 68221.9 网络管理协议 68321.10 SNMP:简单网络管理协议 68421.10.1 SNMP的组织结构 68421.10.2 SNMP协议的操作 68521.10.3 RMON:远程监视MIB 68621.11 NET-SNMP代理程序 68621.12 网络管理应用程序 68721.12.1 NET-SNMP工具 68721.12.2 SNMP数据的采集和绘图 68821.12.3 Nagios:基于事件的SNMP和服务监视工具 68921.12.4 终极网络监测软件包:仍在寻觅 69021.12.5 商业管理平台 69021.13 NetFlow:面向连接的监视 69121.13.1 用nfdump和Nfsen监测NetFlow数据 69121.13.2 在思科路由器上配置NetFlow 69321.14 推荐读物 69321.15 习题 694第22章 安全 69622.1 UNIX安全吗? 69722.2 安全性是如何受损害的 69822.2.1 社交工程 69822.2.2 软件漏洞 69822.2.3 配置错误 69922.3 安全的技巧和思想 69922.3.1 补丁 70022.3.2 不必要的服务 70022.3.3 远程的事件日志 70122.3.4 备份 70122.3.5 病毒和蠕虫 70122.3.6 特洛伊木马 70222.3.7 隐匿木马 70222.3.8 包过滤 70222.3.9 口令 70222.3.10 警惕性 70322.3.11 普遍原则 70322.4 口令和用户账号 70322.4.1 口令时限 70422.4.2 组登录名和共享登录名 70422.4.3 用户的shell 70422.4.4 获得root权限的办法 70422.5 PAM:验证奇才 70522.5.1 系统对PAM的支持 70522.5.2 配置PAM 70622.5.3 Linux上详细配置举例 70822.6 setuid程序 70922.7 有效使用chroot 70922.8 加强安全的工具 71022.8.1 nmap:网络端口扫描程序 71022.8.2 Nessus:下一代的网络扫描程序 71122.8.3 John the Ripper:找出不安全的口令 71222.8.4 hosts_acces:主机访问控制 71222.8.5 Bro:可编程的网络入侵检测系统 71322.8.6 Snort:流行的网络入侵检测系统 71322.8.7 OSSEC:基于主机的入侵检测 71422.9 强制访问控制(MAC) 71622.9.1 SELinux 71722.10 加密的安全工具 71822.10.1 Kerberos:用于网络安全的统一方法 71822.10.2 PGP:很好的私密性 71922.10.3 SSH:安全的shell 71922.10.4 Stunnel 72222.11 防火墙 72322.11.1 包过滤防火墙 72422.11.2 如何过滤服务 72422.11.3 状态检查防火墙 72522.11.4 防火墙保险吗 72522.12 Linux的防火墙功能 72522.12.1 规则、链和表 72622.12.2 规则目标 72622.12.3 设置iptables防火墙 72622.12.4 一个完整的例子 72722.13 UNIX系统的IPFilter 72922.14 VPN 73122.14.1 IPSec隧道 73122.14.2 VPN就够了吗 73222.15 认证和标准 73222.15.1 认证 73322.15.2 安全标准 73322.16 安全信息的来源 73522.16.1 CERT:卡耐基梅隆大学的注册服务商标 73522.16.2 SecurityFocus.com网站和BugTraq邮递列表 73522.16.3 施耐德的安全博客 73522.16.4 SANS:系统管理、网络和安全协会 73622.16.5 厂商特有的安全资源 73622.16.6 其他邮递列表和网站 73722.17 如何对付站点攻击 73722.18 推荐读物 73822.19 习题 739第23章 Web主机托管 74123.1 Web主机托管的基本知识 74123.1.1 Web上资源的位置 74223.1.2 统一资源定位符 74223.1.3 HTTP工作原理 74323.1.4 即时生成内容 74323.1.5 应用服务器 74423.1.6 负载均衡 74523.2 HTTP服务程序的安装 74623.2.1 选择服务器软件 74623.2.2 安装Apache 74723.2.3 配置Apache 74823.2.4 运行Apache 74923.2.5 分析日志文件 74923.2.6 高性能主机托管的静态内容优化 74923.3 虚拟接口 75023.3.1 使用基于名字的虚拟主机 75023.3.2 配置虚拟接口 75023.3.3 告诉Apache有关虚拟接口的信息 75323.4 SSL 75323.4.1 产生签发证书的请求 75423.4.2 配置Apache使用SSL 75523.5 缓存和代理服务程序 75523.5.1 Squid缓存和代理服务器 75623.5.2 设置Squid 75623.5.3 Apache的反向代理 75723.6 超越上限 75823.6.1 云计算 75823.6.2 主机代管 75823.6.3 内容分发网络 75923.7 习题 759第三部分 其他管理技术 761第24章 虚拟化技术 76224.1 虚拟技术的种类 76324.1.1 全虚拟化 76324.1.2 半虚拟化 76424.1.3 操作系统级虚拟化 76424.1.4 原生虚拟化 76524.1.5 云计算 76524.1.6 动态迁移 76624.1.7 虚拟化技术比较 76624.2 虚拟化技术的好处 76624.3 实施方案 76724.4 Linux虚拟化 76824.4.1 Xen简介 76824.4.2 Xen基础知识 76824.4.3 用virt-install安装Xen的guest系统 76924.4.4 Xen动态迁移 77024.4.5 KVM 77124.4.6 KVM的安装和使用 77224.5 Solaris的zone和container 77324.6 AIX的WPAR 77624.7 HP-UX的IVM 77724.7.1 创建和安装虚拟机 77724.8 VMWARE 77824.9 亚马逊的AWS 77924.10 推荐读物 78224.11 习题 782第25章 X窗口系统 78425.1 X显示管理器 78625.2 运行一个X应用程序 78725.2.1 环境变量DISPLAY 78725.2.2 客户机身份验证 78825.2.3 用SSH转发X连接 78925.3 配置X服务器 79025.3.1 Device段 79125.3.2 Monitor段 79225.3.3 Screen段 79225.3.4 InputDevice段 79325.3.5 ServerLayout段 79425.3.6 xrandr:X服务器的配置工具 79425.3.7 内核模式设定 79525.4 故障排查和调试 79525.4.1 X的特殊键盘组合 79525.4.2 X服务器出问题 79625.5 桌面环境简述 79725.5.1 KDE 79825.5.2 GNOME 79825.5.3 KDE和GNOME谁更好 79925.6 推荐读物 79925.7 习题 799第26章 打印 80026.1 打印系统的体系结构 80126.1.1 主要的打印系统 80126.1.2 打印 80126.2 CUPS的打印 80226.2.1 打印系统的界面 80226.2.2 打印队列 80326.2.3 多台打印机和打印队列 80326.2.4 打印机实例 80326.2.5 网络打印 80426.2.6 过滤器 80426.2.7 CUPS服务器的管理 80526.2.8 设置网络打印服务器 80626.2.9 自动配置打印机 80626.2.10 配置网络打印机 80726.2.11 打印机的配置举例 80726.2.12 设置打印机的类 80726.2.13 关闭服务 80826.2.14 其他配置工作 80826.3 桌面打印环境 80926.3.1 kprinter:打印文档 81026.3.2 Konqueror和打印 81026.4 SystemⅤ的打印 81126.4.1 概述 81126.4.2 打印目的地及打印类 81226.4.3 lp简述 81226.4.4 lpsched与lpshut:启动和停止打印 81226.4.5 lpadmin:配置打印环境 81326.4.6 lpadmin举例 81526.4.7 lpstat:获取状态信息 81526.4.8 cancel:删除打印作业 81626.4.9 accept和reject:控制假脱机处理 81626.4.10 enable和disable:控制打印 81626.4.11 lpmove:转移作业 81726.4.12 接口程序 81726.4.13 lp系统混乱状况的处理方法 81826.5 BSD和AIX的打印 81826.5.1 BSD打印系统的体系结构概述 81826.5.2 控制打印环境 81926.5.3 lpd:假脱机打印程序 82026.5.4 lpr:提交打印作业 82026.5.5 lpq:查看打印队列 82026.5.6 lprm:删除打印作业 82026.5.7 lpc:管理性修改 82126.5.8 /etc/printcap文件 82326.5.9 printcap变量 82326.6 漫长和奇特的历程 82626.6.1 打印的历史和打印系统的出现 82626.6.2 打印机的多样性 82726.7 常用的打印软件 82826.8 打印机的语言 82926.8.1 PostScript 82926.8.2 PCL 82926.8.3 PDF 83026.8.4 XPS 83026.8.5 PJL 83026.8.6 打印机驱动程序及其对PDL的处理 83126.9 PPD文件 83226.10 纸型 83326.11 实际使用打印机的问题 83426.11.1 打印机的选择 83426.11.2 GDI打印机 83426.11.3 双面打印 83526.11.4 其他打印机配件 83526.11.5 串口和并口打印机 83526.11.6 网络打印机 83626.11.7 给打印机的其他建议 83626.12 故障排查的技巧 83826.12.1 重启打印守护进程 83826.12.2 日志 83926.12.3 直接打印的问题 83926.12.4 网络打印的问题 83926.12.5 发行版本特有的问题 84026.13 推荐读物 84026.14 习题 841第27章 数据中心基础 84227.1 数据中心的可靠性级别 84327.2 冷却 84427.2.1 电子设备 84427.2.2 照明设备 84527.2.3 操作人员 84527.2.4 总的热负荷 84527.2.5 冷热通道 84527.2.6 湿度 84627.2.7 环境监视 84727.3 供电 84727.3.1 机架的供电要求 84727.3.2 kVA和kW 84827.3.3 远程控制 84927.4 机架 84927.5 工具 84927.6 推荐读物 85027.7 习题 850第28章 绿色IT 85228.1 绿色IT的兴起 85328.2 绿色IT的生态金字塔 85428.3 绿色IT策略:数据中心 85428.3.1 应用合并 85528.3.2 服务器合并 85628.3.3 SAN存储 85628.3.4 服务器虚拟化 85628.3.5 随用随开的服务器 85728.3.6 细粒度使用和容量规划 85728.3.7 优化能源的服务器配置 85728.3.8 云计算 85828.3.9 免费冷却 85928.3.10 数据中心的高效冷却 85928.3.11 停运时的降级模式 85928.3.12 延长设备寿命 85928.3.13 数据中心的较高温度 86028.3.14 低功率设备 86028.4 绿色IT策略:用户空间 86028.5 绿色IT的朋友 86228.6 习题 862第29章 性能分析 86329.1 做什么可以提高性能 86429.2 影响性能的因素 86529.3 如何分析性能问题 86629.4 系统性能检查 86729.4.1 盘点硬件 86729.4.2 收集性能数据 86929.4.3 CPU使用情况分析 87029.4.4 系统如何管理内存 87129.4.5 内存使用情况分析 87329.4.6 磁盘I/O分析 87429.4.7 xdd:分析磁盘子系统的性能 87629.4.8 sar:连续采集和报告统计信息 87629.4.9 nmon和nmon_analyser:AIX上的监视工具 87629.4.10 选择Linux的I/O调度器 87729.4.11 oprofile:详细剖析Linux系统 87729.5 求助!系统为何越来越慢 87729.6 推荐读物 87929.7 习题 879第30章 同Windows协作 88130.1 从Windows登录到UNIX系统 88130.2 远程桌面访问 88230.2.1 在Windows计算机上运行X服务器 88230.2.2 VNC:虚拟网络计算 88330.2.3 Windows RDP:远程桌面协议 88330.3 运行Windows和类似Windows的应用 88430.3.1 双重引导,为何不该用 88430.3.2 微软Office的替代软件 88530.4 在Windows上使用命令行工具 88530.5 Windows遵守电子邮件和Web标准 88530.6 通过Samba和CIFS共享文件 88630.6.1 Samba:UNIX的CIFS服务器 88630.6.2 Samba的安装 88730.6.3 文件名编码 88830.6.4 用户身份验证 88830.6.5 基本的文件共享 88930.6.6 用户组共享 88930.6.7 用微软的DFS做透明重定向 89030.6.8 smbclient:简单的CIFS客户端 89130.6.9 Linux的客户端对CIFS的支持 89130.7 用Samba共享打印机 89230.7.1 从Windows安装打印机驱动程序 89330.7.2 从命令行安装打印机驱动程序 89430.8 调试Samba 89430.9 Active Directory身份验证 89630.9.1 准备好集成AD 89630.9.2 配置Kerberos 89730.9.3 Samba作为Active Directory的域成员 89830.9.4 配置PAM 89930.9.5 winbind的备选方案 90030.10 推荐读物 90030.11 习题 901第31章 串行设备和串行终端 90231.1 RS-232C标准 90331.2 备选连接器 90531.2.1 DB-9连接器 90531.2.2 RJ-45连接器 90531.3 硬载波和软载波 90631.4 硬流控 90631.5 串行设备文件 90731.6 setserial:把串口参数通知给驱动程序 90831.7 伪终端 90931.8 硬件终端的配置 90931.8.1 登录过程 90931.8.2 /etc/ttytype文件 91031.8.3 /etc/gettytab文件 91131.8.4 /etc/gettydefs文件 91131.8.5 /etc/inittab文件 91131.8.6 Linux上的getty配置 91331.8.7 Ubuntu的Upstart 91331.8.8 Solaris和sacadm 91431.9 特殊字符和终端驱动程序 91431.10 stty:设置终端的选项 91531.11 tset:自动设置选项 91631.12 僵住的终端 91631.13 调试串行线 91731.14 连接到串行设备的控制台 91731.15 习题 918第32章 管理、政策与政治 91932.1 IT的目标 91932.1.1 预算和支出 92032.1.2 IT政策 92032.1.3 SLA 92132.2 IT职能机构的组成 92432.2.1 基础:工单和任务管理系统 92432.2.2 工单系统的常见功能 92532.2.3 工单的所有权 92532.2.4 用户对工单系统的接受程度 92632.2.5 工单系统举例 92632.2.6 工单分派 92732.2.7 IT内部的技能培养 92732.2.8 时间管理 92832.3 咨询组 92832.3.1 服务范围 92832.3.2 咨询可用性 92932.3.3 咨询上瘾 92932.4 企业构架师 92932.4.1 过程可再现 92932.4.2 留下记录 93032.4.3 认可文档的重要性 93032.4.4 定制和编程 93032.4.5 保持系统干净整洁 93032.5 运行组 93032.5.1 瞄准最短停机时间 93132.5.2 依靠文档 93132.5.3 重用或淘汰老硬件 93132.5.4 维护本地文档 93232.5.5 保持环境独立 93432.5.6 自动化 93432.6 管理的职能 93532.6.1 领导 93532.6.2 人事管理 93632.6.3 聘用 93632.6.4 解聘 93732.6.5 人事管理的机制 93732.6.6 质量控制 93732.6.7 管理但别管闲事 93832.6.8 社区关系 93832.6.9 管理上级 93932.6.10 采购 93932.6.11 化解矛盾 94032.7 政策和规程 94132.7.1 政策和规程之间的区别 94132.7.2 政策的最佳实践 94232.7.3 规程 94232.8 灾难恢复 94332.8.1 风险评估 94332.8.2 灾难管理 94432.8.3 处理灾难的人员准备 94532.8.4 电源和HVAC 94532.8.5 互联网连接的冗余性 94632.8.6 安全事件 94632.9 合规:规章与标准 94732.9.1 ITIL:信息技术基础设施库 94932.9.2 NIST:国家标准和技术研究所 94932.10 法律问题(美国) 94932.10.1 隐私 95032.10.2 落实政策 95032.10.3 控制=义务 95132.10.4 软件许可证 95132.11 组织、会议及其他资源 95232.12 推荐读物 95332.13 习题 953附录A 系统管理简史 955附录B 为AIX辩护 962 ...
-
分类:操作系统 语言:简体中文 大小:未知 发布时间:13-05-02
内容简介:《Windows应用程序捆绑核心编程》所介绍的内容与计算机防护技术相关。《Windows应用程序捆绑核心编程》基于作者在计算机编程方面的多年实践经验,对当今国际上最新的应用程序间的通信、挂钩、捆绑技术作了较为具体、系统的归纳和总结,并给出了大量的实例。《Windows应用程序捆绑核心编程》中很多的技术还没有公开,属于底层热门技术,所给出的很多程序代码可以直接用于商业软件的制作。内容截图: 第1章 再谈计算机内存访问1.1 引言1.2 内存管理概述1.3 虚拟内存访问1.4 文件的内存映射1.5 深入认识指针的真正含义1.6 本章小结参考文献第2章 再谈PE文件结构2.1 引言2.2 PE文件格式概述2.3 PE文件结构2.4 如何获取PE文件中的OEP2.5 PE文件中的资源2.6 一个修改PE可执行文件2.7 本章小结参考文献第3章 进程之间通信概述及初级技术3.1 引言3.2 进程通信概述3.3 使用自定义消息通信3.4 使用WM_COPYDATA消息通信3.5 使用内存读写函数和内存3.6 使用动态链接库通信3.7 使用Windows剪贴板通信3.8 使用动态数据交换(DDE)通信3.9 本章小结参考文献第4章 使用消息管道、邮槽和套接字通信4.1 引言4.2 如何用命名管道进行进程间通信4.3 如何用邮槽进行进程间通信4.4 如何用Windows套接字进行进程间通信4.5 本章小结参考文献第5章 使用LPC和RPC通信5.1 引言5.2 接口定义语言(IDL)简介5.3 使用本地过程调用(LPC)通信5.4 使用远程过程调用(RPC)通信5.5 本章小结参考文献第6章 使用组件模型通信6.1 引言6.2 COM/DCOM模型概述6.3 使用组件对象模型(COM/DCOM)通信6.4 本章小结参考文献第7章 进程的创建、控制和隐藏7.1 引言7.2 常见的几种创建进程的方法7.3 如何获得进程句柄7.4 如何实现当前进程的枚举7.5 如何终止进程7.6 如何隐藏进程(注入代码)7.7 本章小结参考文献第8章 应用程序的静态挂钩8.1 引言8.2 使用C/C++语言提取可执行程序代码8.3 如何对PE文件加壳8.4 如何实现文件脱壳8.5 本章小结参考文献第9章 应用程序的动态挂钩9.1 动态挂钩概述9.2 使用Windows钩子函数挂钩……第10章 数据的编码和解码实例第11章 可执行文件的捆绑和分离第12章 可执行文件的分割和合并第13章 多线程下载和断点续传第14章 带附件的电子邮件发送剖析第15章 特洛伊木马与反木马技术参考文献 ...
-
分类:网络应用 语言:简体中文 大小:未知 发布时间:13-05-02
内容简介:《网络安全入门与提高:Windows内核安全编程从入门到实践》详细介绍了Windows平台下的内核安全编程知识。首先简单介绍了驱动编程的基本方法;然后详细介绍了Windows各个系统组件的工作原理,如文件系统、网络系统自上而下的执行流程。同时还介绍了各个组件涉及的安全问题,如文件隐藏、键盘记录等,并通过工程项目让读者从代码层级了解这些信息安全问题及解决方法;最后介绍了驱动编程本身的安全问题,如安全编码的注意事项和脆弱代码的检测手段。另外《网络安全入门与提高:Windows内核安全编程从入门到实践》还介绍了简单的调试和逆向技术,帮助解决开发过程中遇到的技术难题。通过阅读本书,可以帮助读者更深层次的了解内核态下的信息安全知识。内容截图: 第一部分 基础篇第1章 前置要求与环境搭建1.1 驱动编程的语言1.2 开发环境搭建1.2.1 Visual Studio 2005/2008的安装与配置1.2.2 WDK的安装与配置1.2.3 VisualDDK的安装与配置1.3 常用工具介绍第2章 内核编程基础知识2.1 Windows主要系统组件2.1.1 对象管理器2.1.2 内存管理器2.1.3 进程和线程管理器2.1.4 I/O管理器2.1.5 PnP管理器2.1.6 电源管理器2.1.7 配置管理器2.1.8 安全引用监视器2.2 常见名词解释2.2.1 内核名词2.2.2 文件名词2.2.3 网络名词2.3 常见内核数据结构2.3.1 驱动框架常见数据结构2.3.2 进程与线程数据结构2.3.3 存储系统数据结构2.3.4 网络数据结构2.3.5 其他一些常见的数据结构第3章 基本编程方法3.1 简单的NT式驱动模型3.1.1 驱动模型的选择3.1.2 NT式驱动程序基本结构3.1.3 编译驱动程序3.1.4 加载驱动及查看输出信息3.2 应用层与内核的通信方法3.2.1 访问数据的I/O方式3.2.2 读写驱动程序3.2.3 发送I/O控制码3.2.4 内存共享3.3 同步技术3.3.1 事件对象3.3.2 信号灯对象3.3.3 互斥体对象3.3.4 定时器对象3.3.5 自旋锁3.3.6 回调对象3.3.7 原子操作3.4 IRP处理3.4.1 简单的IRP流动图3.4.2 IRP的创建3.4.3 IRP的发送3.4.4 为IRP设置完成函数3.4.5 IRP的完成3.4.6 多种典型的 IRP处理示例3.5 字符串操作3.5.1 STRING、ANSI_STRING和UNICODE_STRING3.5.2 初始化和销毁3.5.3 复制和添加3.5.4 比较3.5.5 转换3.6 内存管理3.6.1 分配系统空间内存3.6.2 运行时库管理函数3.6.3 使用内核栈3.6.4 使用Lookaside快速链表3.6.5 访问用户空间内存3.6.6 内存区对象和视图3.6.7 MDL的使用3.7 注册表编程3.7.1 注册表对象管理函数3.7.2 注册表运行时库函数3.7.3 注册表调用过滤3.8 文件编程3.8.1 打开文件句柄3.8.2 执行相关文件操作3.9 其他3.9.1 本地系统服务函数的Nt和Zw版本3.9.2 NTSTATUS返回值3.9.3 双向链表的使用3.9.4 异常处理第二部分 提升篇第4章 进程4.1 进程监控实现原理4.2 Windows 7系统下的进程监控软件实例4.2.1 内核模块程序实现4.2.2 用户模式程序实现4.3 安装与使用第5章 磁盘5.1 存储驱动体系结构5.2 设备树示例5.3 diskperf磁盘过滤驱动5.3.1 diskperf介绍5.3.2 diskperf的过滤框架5.3.3 diskperf的PnP支持5.3.4 diskperf的硬盘访问监控和性能数据捕获5.3.5 diskperf的电源支持5.3.6 diskperf的安装与测试第6章 键盘6.1 原理跟踪6.1.1 自下而上的过程6.1.2 自上而下的过程6.2 几种常见的键盘记录行为6.2.1 应用层的消息钩子6.2.2 键盘过滤驱动6.2.3 键盘类驱动的分发函数Hook6.2.4 DKOM技术6.2.5 其他方法6.3 反键盘记录6.3.1 实现原理6.3.2 反键盘记录示例第7章 文件7.1 原理跟踪7.1.1 Windows存储栈7.1.2 不涉及缓存的数据存储7.1.3 涉及缓存的数据存储7.2 简单的文件隐藏7.2.1 文件隐藏的原理7.2.2 文件隐藏的实现7.3 scanner扫描程序7.3.1 过滤管理器与微过滤驱动概念7.3.2 使用过滤管理模型的优势7.3.3 微过滤驱动的加载和卸载7.3.4 用户模式和内核模式的交互7.3.5 scanner介绍7.3.6 scanner驱动程序7.3.7 scanner应用层程序7.3.8 scanner的安装与使用第8章 网络8.1 原理跟踪8.2 NDIS协议驱动8.2.1 DriverEntry8.2.2 绑定8.2.3 数据发送8.2.4 数据接收8.2.5 数据流动总结8.3 OPEN_BLOCK的展示8.3.1 原理知识8.3.2 相关代码第三部分 辅助篇第9章 安全编码9.1 蓝屏的概念9.2 创建可靠的驱动程序9.2.1 验证设备对象9.2.2 使用安全字符串9.2.3 验证对象句柄9.2.4 支持多CPU9.2.5 确认驱动状态9.2.6 IRP安全检查9.3 使用驱动验证程序9.3.1 驱动验证程序的测试选项9.3.2 使用驱动验证程序第10章 调试与逆向10.1 静态调试10.1.1 静态调试驱动程序10.1.2 静态调试应用程序10.2 动态调试10.2.1 双机调试的基本方法10.2.2 WinDbg的常用命令10.2.3 WinDbg的使用技巧10.3 逆向与调试相结合10.3.1 示例 ...
-
分类:å¹³é¢è®¾è®¡ 语言:简体中文 大小:未知 发布时间:13-05-02
简介: 内容æè¦ã€ŠPhotoshop三ä½å¯†ç 》由马震春ã€çŽ‹æ ‹åˆåŠ›ç¼–è‘—ï¼Œä¸»è¦ä»‹ç»Photoshop Extended(å³Photoshop扩展版)çš„3D功能。 《Photoshop三ä½å¯†ç 》对3D功能的基本使用方法进行了全é¢å‰–æžï¼Œå¯¹å®žé™…应用进行了é‡ç‚¹è®²è§£ã€‚主è¦ä»ŽåŸºæœ¬åŠŸèƒ½ã€ç°åº¦ã€å‡¸çº¹åŠåˆæˆ4ä¸ªæ–¹é¢æ¥é˜è¿°ã€‚详细介ç»äº†å¦‚何使用Photoshopçš„æ“ä½œæ–¹å¼æ¥åˆ›å»ºã€è½¬æ¢3D物体,控制3D物体外形ã€ä¿®æ”¹3D贴图ã€è°ƒæ•´ç¯å…‰æŠ•å½±ï¼Œä»¥åŠæœ€ç»ˆåˆæˆç‰ã€‚力求让读者能够全é¢äº†è§£3D功能,准确把æ¡3D功能的使用技巧,并能够将3D功能应用到实际工作ä¸ï¼Œä½¿å…¶æˆä¸ºå·¥ä½œä¸çš„好帮手。 由于Photoshop 3D功能有很多ä¸åŒäºŽå¹³é¢é¢†åŸŸçš„æ¦‚念åŠåˆ¶ä½œæ–¹æ³•,比如渲染ã€ç¯å…‰ç‰ã€‚å› æ¤ä¸ºäº†è®©è¯»è€…更好地掌æ¡è¿™äº›åŠŸèƒ½ï¼Œæœ¬ä¹¦åœ¨æ¡ˆä¾‹çš„æŒ‘é€‰åŠåˆ¶ä½œè¿‡ç¨‹ä¸Šï¼Œå€¾å‘于用Photoshop+3D功能的模å¼ï¼Œå³å°†3D功能更多地èžå…¥Photoshopä¸ï¼Œè¿™ä¹Ÿæ˜¯æœ¬ä¹¦çš„精髓所在。 æœ¬ä¹¦é€‚åˆæœ‰ä¸€å®šPhotoshop基础的爱好者ã€å¹³é¢è®¾è®¡å¸ˆã€äº’动多媒体设计师åŠä»Žäº‹æ•°å—艺术的读者阅读。内容截图 第1ç« åŸºç¡€ç¯‡1.1 注æ„事项1.2 基本æ“作1.2.1 下拉èœå•1.2.2 图层颿¿1.2.3 3D颿¿1.2.4 3D工具1.2.5 综åˆåº”用(3D工具+3Dç½‘æ ¼å·¥å…·+åæ ‡è½´)1.2.6 å°ç»“第2ç« ç»†èŠ‚ç¯‡2.1 3D明信片2.2 从图层新建形状2.3 从ç°åº¦æ–°å»ºç½‘æ ¼2.4 利用ç°åº¦æŽ§åˆ¶ç½‘æ ¼å¤–å½¢2.5 ç°åº¦çƒä½“2.6 三维体积2.7 凸纹物体2.8 æ‹†åˆ†å‡¸çº¹ç½‘æ ¼2.9 弯曲凸纹2.10 膨胀凸纹2.11 内部约æŸåŠŸèƒ½(凸纹)2.12 消失点创建三维图层2.13 导入导出三维物体2.14 åˆå¹¶ä¸‰ç»´å›¾å±‚2.15 å¤šé‡æŠ•å½±(ç¯å…‰)2.16 智能对象2.17 ä¸é€æ˜Žè´´å›¾(æè´¨)第3ç« ç°åº¦ç¯‡3.1 ç –å—æ–‡å—3.1.1 制作三维åŒé¢ç½‘æ ¼3.1.2 修改漫射贴图3.1.3 更改渲染设置3.1.4 设置ç¯å…‰3.1.5 改å˜è¡¨é¢æ–‡å—颜色3.1.6 创建投影3.1.7 功能延伸——制作倒影3.2 钉忍¡å…·3.2.1 制作身体部分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.3.5 æ·»åŠ ç¯å…‰3.3.6 制作纸片文å—“3â€3.3.7 整体调整3.3.8 创建纸片文å—选区3.3.9 绘制彩色线æ¡ç¬¬4ç« å‡¸çº¹ç¯‡4.1 拆分凸纹——海报“4â€4.1.1 创建凸纹物体4.1.2 æ‹†åˆ†ç½‘æ ¼4.1.3 组åˆä¸‰ç»´åœºæ™¯4.1.4 æœ€ç»ˆåˆæˆ4.2 人物模型4.2.1 导入三维物体4.2.2 创建凸纹物体4.2.3 制作帽å和头å‘4.2.4 制作凹凸效果4.2.5 æœ€ç»ˆåˆæˆ4.2.6 åŠŸèƒ½æ‹“å±•â€”â€”é«˜åˆ†è¾¨çŽ‡åˆæˆç¬¬5ç« åˆæˆç¯‡5.1 街舞者5.1.1 分离背景5.1.2 创建三维模型5.1.3 åˆå¹¶ä¸‰ç»´å›¾å±‚5.1.4 æœ€ç»ˆåˆæˆ5.1.5 功能拓展——快速修改5.2 模特5.2.1 转æ¢äººç‰©ä¸º3D明信片5.2.2 使用消失点创建三维背景5.2.3 创建三维模型5.2.4 创建三维场景5.2.5 创建ç¯å…‰åпЕ影5.2.6 æœ€ç»ˆåˆæˆ5.3 光影效果5.3.1 创建三维图层5.3.2 åˆå¹¶3D图层5.3.3 制作投影效果5.3.4 æœ€ç»ˆåˆæˆ ...
-
分类:科普 语言:简体中文 大小:未知 发布时间:13-05-02
内容简介:从地球到宇宙,从自然到历史,从科学到艺术,在这许许多多的领域中,无不丰在着这样或那样的“未解之谜”。人类和的科学知识,社会的文明成就,几乎都是在探索和解答种种未知事物中创造和发展。昨天的“未解之谜”,今天已经不再神秘;今天“未解之谜”,相信也早晚会揭开谜底。彩图版《世界未解之谜》一书正是基于这种认识编写而成的。本书在内容上囊括了宇宙、地理、自然、历史、人物、人体以及艺术等领域,采用图文并藏的新颖体例,精收世界上最著名,最奇妙的未解之谜1000余则,配以珍贵罕异的相关图片2000余张,为读者展现出一幅幅极具想象力、极具神秘感、极具挑战性的未知世界的情景。虽然人类文明现已高度发达,但人类身处的大千世界仍给我们留下了种种扑朔迷离的未解之谜,向我们提出了如何认知世界和怎样应对挑战的重要课题。期待所有对世界未解之谜感兴趣的人,尤其是广大青少年能通过本书拓展视野,开启心智,在思考与探索中走向未来。 内容截图: 世界未解之迷 上 宇宙魔法·大地谜团·自然之谜·史前探秘宇宙魔法外星人隐居地球之谜形态各异的天外来客UFO的特异功能UFO真的着陆了吗美军秘密基地中的飞碟人俄罗斯科学家们的研究二战中身份不明的部队巨型飞蝶戏弄美、英空军麦田怪圈之谜华盛顿遭遇UFO入侵飞碟跟踪地球飞机本德事件探索外星人基地是UFO击沉的“泰坦尼克”号吗不明潜水飞行物……世界未解之迷 中 古文明之谜·历史悬案·名人奇案世界未解之迷 下 宝藏之谜·人类之谜·艺术之谜 ...