自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(2)
  • 资源 (333)
  • 收藏
  • 关注

原创 java操作文件夹,列出文件夹下的所有文件名

import java.io.File;public class FileNameOp {  public static int n=0; public static void fun(File file,String ext){  File f[]=file.listFiles();  if (f != null){   for (int i=0;i    fun

2012-10-30 09:13:17 816

原创 九把刀-北大演讲《人生就是不停的战斗》

九把刀首次大陆演讲时间:2011年11月5日地点:北京大学2教205主题:人生就是不停的战斗手打组:中财刘铮,魏文婷请尊重手打组作品,转载勿删除手打组。非常非常开心能够来北京大学演讲,我能表现出的最大的诚意就是,今天的演讲将是原汁原味非常忠于台湾版本的“人生就是不停的战斗”,还加了一段目前在台湾演讲一共讲了不到三次的“神的微笑”。希望我们今天晚上会有非常热血

2012-10-22 07:38:38 2780

【日本】图解服务器端网络架构 [日]宫田宽士 人民邮电出版社 曾薇薇.pdf

内容简介 · · · · · · 本书以图配文,详细说明了服务器端网络架构的基础技术和设计要点。基础设计是服务器端网络架构最重要的一个阶段。本书就立足于基础设计的设计细分项目,详细介绍各细分项目的相关技术和设计要点。全书共分为5章,分别讲述进行物理设计、逻辑设计、安全设计和负载均衡设计、高可用性设计以及管理设计时所必需的技术和设计要点。 作者简介 · · · · · · 作者简介: 宫田宽士 大学和研究生在读期间专攻地球环境科学。毕业后就职于某公司基础架构系统工程师部门,初来乍到即参与了一个思科设备的项目,由此决定向网络工程师的方向发展。在该项目中掌握了路由选择和交换技术,之后又通过大量的其他项目积累了丰富的经验,涉及领域包括金融、制造等多种行业,通过这些项目对网络技术有了全面的了解,包括数据安全和服务器负载均衡技术等,对网络技术的兴趣也愈发浓厚。能独立执行从设计到架构和测试的一系列网络架构业务,多年来日复一日,勤奋钻研至今。拥有CCIE和FF5CE认证。 译者简介: 曾薇薇 IBM管理顾问,从事SAP咨询实施和项目管理工作,有基础架构项目经验。海归,日语高级口译翻译,上海科技翻译学会会员。 目录 · · · · · · 第0章 本书的用法  1 0.1  网络架构的流程  2 0.1.1 网络架构分为六个阶段  2 0.1.1.1 需求定义  2 0.1.1.2 基础设计  2 0.1.1.3 详细设计  2 0.1.1.4 架构  3 0.1.1.5 测试  3 0.1.1.6 运行  3 0.1.2 网络架构的重点是基础设计  4 0.1.2.1 物理设计  5 0.1.2.2 逻辑设计  6 0.1.2.3 安全设计与负载均衡设计  7 0.1.2.4 高可用性设计  8 0.1.2.5 管理设计  9 第1章 物理设计  11 1.1  物理层的技术  12 1.1.1 物理层里有多种规格  12 1.1.1.1 规格整理好后物理层就会水落石出  13 1.1.1.2 双绞线电缆有两大要素——类和传输距离  15 1.1.1.3 光纤光缆是用玻璃制成的  25 1.2  物理设计  31 1.2.1 服务器端有两种结构类型  31 1.2.1.1 采用串联式结构管理起来更方便  32 1.2.1.2 采用单路并联式结构更容易扩展  33 1.2.2 选用设备时应参考考查项的最大值  36 1.2.2.1 应用程序不同吞吐率也就不同  37 1.2.2.2 新增连接数和并发连接数都要考虑  38 1.2.3 选择稳定可靠的 OS版本  39 不懂就问是捷径  39 1.2.4 根据实际配置和使用目的选择线缆  40 1.2.4.1 远距离传输选择光纤光缆  40 1.2.4.2 追求宽频带和高可靠性时选择光纤  41 1.2.4.3 通过大小分类决定使用哪种双绞线电缆  42 1.2.4.4 预先决定好使用线缆的颜色  43 1.2.5 端口的物理设计出乎意料地重要  44 1.2.5.1 必须统一规划连接到哪里  44 1.2.5.2 速率和双工、Auto MDI/MDI-X 的设置也要统一规划  44 1.2.6 巧妙地配置设备  45 1.2.6.1 将核心交换机和汇聚交换机置于中央部位  45 1.2.6.2 要考虑设备中空气吸入和排出的方向  48 1.2.6.3 从两套系统获取电源  49 1.2.6.4 切莫超过最大承重  51 第2章 逻辑设计  53 2.1  数据链路层的技术  54 2.1.1 数据链路层是物理层的帮手  54 用以太网标准进行成帧处理  55 2.1.2 数据链路层的关键在于 L2交换机的运作  61 2.1.2.1 交换 MAC地址  62 2.1.2.2 通过 VLAN将广播域分隔开  67 2.1.3 ARP 将逻辑和物理关联到一起  74 2.1.3.1 ARP 通过IP地址查询MAC地址  75 2.1.3.2 抓取 ARP包,观察它的写法  81 2.1.3.3 有几个特殊的 ARP  82 2.2  网络层的技术  85 2.2.1 网络是由网络层拼接起来的  85 2.2.1.1 添加 IP报头,进行分组化处理  86 2.2.1.2 IP 地址由32位构成  91 2.2.2 将网段连接起来  99 2.2.2.1 利用 IP地址进行路由选择  100 2.2.2.2 建立路由表  104 2.2.2.3 整理路由表  114 2.2.3 转换 IP地址  118 2.2.3.1 转换 IP地址  118 2.2.3.2 私网 IP地址  122 2.2.4 自动设置 IP地址的DHCP  123 2.2.4.1 DHCP 的消息部分中包含着诸多的信息  123 2.2.4.2 DHCP 的原理非常简单  125 2.2.4.3 对 DHCP报文作中继处理  126 2.2.5 用于故障排除的 ICMP  127 2.2.5.1 ICMP 的关键在于类型和代码  127 2.2.5.2 常见的类型和代码有四种组合  128 2.2.5.3 出现问题时先尝试用 ping去排除故障  130 2.3  逻辑设计  132 2.3.1 整理出所需的 VLAN  132 2.3.1.1 实际所需的 VLAN会因为诸多因素而变化  132 2.3.1.2 规定 VLAN的ID  138 2.3.2 在考虑数量增减的基础上分配 IP地址  140 2.3.2.1 IP 地址的估算数量应高于当前所需数量  140 2.3.2.2 按顺序排列网段,使之更容易汇总  142 2.3.2.3 必须统一规定从何处开始分配 IP地址  145 2.3.3 路由选择以简为上  145 2.3.3.1 考虑在路由选择中使用哪些协议  145 2.3.3.2 考虑采用哪种路由选择方法  146 2.3.3.3 将路径汇总以减少路径数量  150 2.3.4 NAT 要按入站和出站分别考虑  152 2.3.4.1 NAT 是在系统边界进行的  152 2.3.4.2 通过入站通信转换地址  152 2.3.4.3 通过出站通信转换地址  153 第3章 数据安全设计和负载均衡设计  155 3.1.1 通过端口号划分服务器进程  156 3.1.1.1 传输层使用 TCP和UDP两种协议  157 3.1.1.2 TCP 的工作原理比较复杂  164 3.1.1.3 MTU 和MSS的差异在于对象层不同  170 3.1.2 用防火墙守卫系统  173 3.1.2.1 基于连接进行控制  174 3.1.2.2 状态检测和包过滤之间的区别  177 3.1.2.3 防火墙在不断进步  179 3.1.3 通过负载均衡器分散服务器的负荷  184 3.1.3.1 目的 NAT是服务器负载均衡技术的基础  185 3.1.3.2 通过健康检查监控服务器的状态  189 3.1.3.3 熟练掌握可选功能  200 3.2  从会话层到应用层的技术  204 3.2.1 HTTP 支撑着互联网  204 3.2.1.1 HTTP/1.0 和HTTP/1.1的TCP连接用法大相径庭  204 3.2.1.2 HTTP 因请求和响应而得以成立  206 3.2.2 用 SSL保护数据  211 3.2.2.1 防止窃听、篡改和冒充  212 3.2.2.2 通过 SSL可以给各种各样的应用程序协议加密  215 3.2.2.3 SSL 使用混合加密方式进行加密  216 3.2.2.4 消息摘要是消息的概要  219 3.2.2.5 SSL 中执行着大量的处理  222 3.2.2.6 用客户端证书对客户端进行认证  230 3.2.3 用 FTP传输文件  233 3.2.3.1 主动模式使用特定的端口  234 3.2.3.2 被动模式改变使用的端口  236 3.2.3.3 FTP 就应该当作FTP去处理  239 3.2.4 用 DNS解析名称  240 3.2.4.1 用 UDP进行名称解析  241 3.2.4.2 用 TCP进行区域传输  242 3.3  数据安全设计与负载均衡设计  246 3.3.1 数据安全设计  246 3.3.1.1 整理出真正需要的通信  246 3.3.1.2 通过多级防御提高安全系数  250 3.3.1.3 默认启动的服务应控制在最小范围内  251 3.3.2 负载均衡设计  251 3.3.2.1 要高效地均衡负载  252 3.3.2.2 启用哪些可选功能  255 第4章 高可用性设计  257 4.1  冗余技术  258 4.1.1 物理层的冗余技术  258 4.1.1.1 将多条物理链路集结成一条逻辑链路  258 4.1.1.2 将多个物理网卡集结成一个逻辑网卡  263 4.1.1.3 将多台物理设备集结成一台逻辑设备  269 4.1.1.4 当上行链路中断时,让下行链路也随之中断  278 4.1.2 数据链路层的冗余技术  279 4.1.2.1 STP 的关键在于根网桥和阻塞端口  279 4.1.2.2 STP 有三种  286 4.1.2.3 同时启用多项可选功能  289 4.1.2.4 利用 BPDU切断桥接环路  290 4.1.3 网络层的冗余技术  292 4.1.3.1 FHRP  292 4.1.3.2 利用路由协议确保通往上层设备的路径  302 4.1.4 从传输层到应用层的冗余技术  304 4.1.4.1 防火墙的冗余技术  304 4.1.4.2 负载均衡器的冗余技术  310 4.2  高可用性设计  312 4.2.1 高可用性设计  312 4.2.1.1 串联式结构  312 4.2.1.2 单路并联式结构  316 4.2.2 理清通信流  320 4.2.2.1 串联式结构  320 4.2.2.2 单路并联式结构  332 第5章 管理设计  339 5.1  管理技术  340 5.1.1 用 NTP同步时间  340 NTP 的工作原理非常简单  340 5.1.2 用 SNMP检测故障  346 5.1.2.1 通过 SNMP管理器和SNMP代理交换信息  346 5.1.2.2 熟练掌握三种运作模式  347 5.1.2.3 限制源 IP地址  351 5.1.3 用 Syslog检测故障  352 Syslog 的工作原理非常简单  352 5.1.4 传递设备信息  355 5.1.4.1 CDP  355 5.1.4.2 LLDP  356 5.1.4.3 注意 CDP和LLDP的数据安全问题  357 5.2  管理设计  358 5.2.1 确定主机名  358 5.2.2 通过标签管理连接  358 5.2.2.1 线缆标签  358 5.2.2.2 本体标签  359 5.2.3 设计密码  359 5.2.4 管理设置信息  360 5.2.4.1 在备份设计中应定义时机、方式和保存地点  360 5.2.4.2 发生故障时执行恢复处理  361

2017-11-27

【日本】图解CIO工作指南(第4版)[日] 野村综合研究所系统咨询事业本部人民邮电出版社 周自恒 无广告版.pdf

内容简介 · · · · · · 《图解CIO工作指南(第4版)》是一本实务手册,系统介绍了企业运用IT手段提高竞争力所必需的管理方法和实践经验,主要面向CEO或CIO等企业管理人士。 《图解CIO工作指南(第4版)》分为三个部分。第1部分的主题为IT管理,着重阐述运用IT技术提高企业竞争力所必需的所有管理业务,具体包括制定作为企业方针的IT战略,以及统筹执行该战略时与IT相关的人力、物力、财力、风险等要素在内的一系列管理业务。本书介绍了很多实例以及在实务中的注意要点,旨在填补方法论与实践之间的空白。 第2部分的主题为IT架构,介绍了IT架构的思路、设计及管理的方法论。第3部分是第1、2部分的实践篇,针对全球化、 强化竞争力和业务创新三个经营课题,在前两部分的基础上,配合具体案例,解说如何运用IT解决这些课题。 作者简介 · · · · · · 作者简介: 野村综合研究所 Nomura Research Institute, Ltd. 日本最大的智囊机构,由日本第一家民间智库野村综合研究所和在系统集成领域享有盛誉的野村计算机系统公司合并成立。1993年开始在中国开展业务,2002年先后在上海和北京设立独资子公司,为在中国开展业务的跨国公司以及中国的本土企业提供战略咨询、业务咨询、业务实施支援服务,以及IT系统咨询和系统集成服务。系统咨询事业本部拥有多名经验丰富的咨询顾问,基于NRI集团多年来的实践经验,为顾客提供涵盖整个IT经营管理领域的服务。E-mail: [email protected]。 译者简介: 周自恒 IT、编程爱好者,初中时曾在NOI(国家信息学奥赛)天津赛区获一等奖,现就职于某管理咨询公司,任咨询顾问兼战略技术总监。译著有《大数据的冲击》、《代码的未来》、《30天自制操作系统》等。 李智慧 国际经济学硕士。现任职于野村综合研究所,是企业拓展海外业务、系统化构思和计划、IT采购、PMO、全球资源组合战略等领域的专家,具有国际项目管理专家(PMP)资质。 目录 · · · · · · 序章  1 CIO应统管的7大领域  2 CIO的定位与辅佐体制  4 对CIO的期待:创造新价值  6 第1部分 IT管理  9 第1章 IT战略  治理 1.1  IT战略的定位  10 1.2  IT战略的概要  12 1.3  IT战略的制定流程  14 1.4  IT战略制定与信息运用能力的强化  16 1.5  确立IT治理  18 1.6  确立IT治理所需的工作  20 1.7  IT治理的推进体制  22 1.8  IT战略与IT部门的评估  24 第2章 IT投资·成本管理 2.1  IT投资的特征与分类  26 2.2  IT投资相关职责与责任的明确化  28 2.3  通过IT 投资创造价值的过程  30 2.4  关于IT 投资评估  32 2.5  IT 投资组合计划的评估方法  34 2.6  个别IT 投资计划的评估方法  36 2.7  个别IT 投资成果的评估方法  38 2.8  IT 投资组合成果的评估方法  40 2.9  IT 成本的管理方法  42 2.10  IT 成本的分析方法  44 2.11  IT 成本的标杆分析  46 2.12  IT 成本合理化措施  48 2.13  对用户部门收费  50 2.14  IT 资产组合  52 专栏 CIO 到底是何方神圣?  54 专栏 什么才是正常的IT 支出?  55 第3章 IT 组织  人才 3.1  探讨有关运营IT 的组织和人才的课题  56 3.2  与IT 运营相关的内部协作体制  58 3.3  与IT 运营相关的IT 部门内部的职责划分  60 3.4  不同类型的IT 组织形态  62 3.5  作为“业务伙伴”的IT 部门  64 3.6  IT 部门的功能强化与组织、人才  66 3.7  企业所需要的IT 人才标准  68 3.8  IT 人才的获得、培养  70 3.9  IT 人才培养的“五大壁垒”  72 第4章 资源组织战略 4.1  资源组织战略的探讨步骤  74 4.2  外包商利用模式的探讨  76 4.3  外包中应注意的风险  78 4.4  外包开始前的准备流程  80 4.5  与外包商进行合同谈判时的注意点  82 4.6  服务水平管理的实践  84 4.7  外包服务期满后的应对措施  86 4.8  未来的外包商利用模式  88 专栏 IT 投资能够带来业绩增长吗?  90 专栏 IT 行业=3K ?  91 第5章 IT 服务管理 5.1  以业务部门的角度定义IT 服务  92 5.2  SLA、OLA 的制定与持续监控  94 5.3  容量与可用性的监控  96 5.4  供应商管理  98 5.5  提高系统改造的效率  100 5.6  系统故障应对  102 5.7  查明系统故障的原因并制定对策  104 5.8  IT 服务的组成信息的统一管理  106 5.9  利用云计算等外部服务时的服务运营  108 5.10  IT 服务的评估、改善和中止  110 第6章 IT 风险管理 6.1  IT 风险的分类  112 6.2  信息安全风险的应对机制  114 6.3  信息安全对策的种类  116 6.4  推进信息安全对策的基本思路  118 6.5  对集团子公司信息安全对策的支援  120 6.6  信息安全对策的趋势  122 6.7  IT 部门在制定业务连续性计划中的职责  124 6.8  业务恢复中系统层面的应对措施  126 6.9  东日本大地震所揭示的与业务连续性相关课题  128 专栏 在系统改善中运用群众智慧  130 专栏 如何有效利用智能手机和平板电脑  131 第2部分  IT 架构  133 第1章 IT 架构模型 1.1  何为IT 架构模型  134 1.2  IT 架构的决定方法  136 1.3  经营课题与IT 架构模型的对应关系  138 1.4  能够有效削减成本的IT 架构  140 1.5  支持全球化的IT 架构  142 1.6  提高竞争力的IT 架构  144 1.7  何为能够长期运用的IT 架构  146 第2章 IT 架构标准 2.1  IT 架构标准的必要性  148 2.2  通过EA 实现整体优化  150 2.3  业务架构(BA)的组成与管理  152 2.4  数据架构(DA)的标准化  154 2.5  应用架构(AA)的标准化  156 2.6  技术架构(TA)的标准化  158 2.7  实现整体优化的方法  160 2.8  整体优化的IT 工作实践  162 2.9  IT 架构师的培养  164 专栏 如何避免在IT 上失败  166 专栏 难以两全的品质和速度  167 第3章 “超上游工程”的推进方法 3.1  超上游工程与IT 架构设计  168 3.2  现状、课题分析及其手法  170 3.3  系统化构思的工作内容及注意事项  172 3.4  系统化计划的工作内容及注意事项  174 3.5  需求定义的工作内容及注意事项  176 3.6  IT 架构的设计流程  178 3.7  引入软件包产品时的注意事项  180 第4章 构成IT 架构的技术要素 4.1  主要的应用程序技术  182 4.2  商用软件包  184 4.3  数据仓库与商业智能  186 4.4  主数据管理  188 4.5  系统基础架构的技术趋势  190 4.6  支持云计算的系统基础架构技术  192 4.7  实现高速处理的系统基础架构技术  194 4.8  支持业务变化的系统开发技术  196 专栏 不要被流行词汇所迷惑!  198 专栏 云计算运用中的陷阱  199 第3部分 运用IT 带动企业成长  201 第1章 运用IT 支持企业全球化 1.1  CIO 应关注的全球化业务中的两大动向  202 1.2  适应市场和据点成长阶段的IT 管理  204 1.3  把握新兴国家市场的成长速度  206 1.4  开拓新兴国家时所应采用的IT 架构  208 1.5  实现全球协同效应的IT 蓝图  210 1.6  实现全球协同效应的IT 架构  212 1.7  实现全球协同效应的IT 管理  214 1.8  实现地域内有效的IT 管理  216 1.9  由地域统管组织提供IT 共享服务  218 1.10  IT 共享服务的实现步骤  220 1.11  IT 部门运营体制的全球化  222 1.12  全球化IT 人才的获得  224 第2章 运用IT 提高企业竞争力 2.1  运用IT 提高企业竞争力的关键点  226 2.2  强化客户接触点的IT 架构  228 2.3  多渠道联动中的注意事项  230 2.4  前台强化型架构的应用案例  232 2.5  明确能为企业带来竞争力的核心功能  234 2.6  嵌合型IT 架构的实现  236 2.7  水平划分型架构的应用案例  238 2.8  垂直划分型架构的应用案例  240 专栏 提高对“移动”和“社交”的敏感度  242 专栏 为什么信息共享难以推广  243 第3章 运用IT 实现企业创新 3.1  IT 创新的类型  244 3.2  IT 创新的实践案例  246 3.3  通过“设计思考”实现IT 创新  248 3.4  “设计思考”的应用案例  250 3.5  催生IT 创新的实验室  252 3.6  讨论实验室和实践实验室的建立  254 3.7  化身为创新型组织  256 专栏 向发祥于欧洲的“未来中心”学习  258 后记  260 译后记  262 执笔者一览  264 参考文献  268 索引  270

2017-11-27

gradle-4.3.1-all.zip

包括: 1.gradle-4.3.1-all.zip 2.gradle-4.3.1-all.zip.sha256 最新版 官方下载 SHA256:c5b67330a8a211539d713852c56a6a80fdea365d8902df92d1759d913d18fa2d

2017-11-27

【日本】图解性能优化 小田圭二 榑松谷仁 平山毅 冈田宪昌 苏祎 2017-1 P312彩色完整版.pdf

内容简介 · · · · · · 本书由有着丰富的系统开发和运维经验的Oracle高级顾问执笔,详细解说了系统性能的相关知识。从性能的概念讲起,由浅入深,全面介绍了性能分析的基础知识、实际系统的性能分析、性能调优、性能测试、虚拟化环境下的性能分析、云计算环境下的性能分析等内容。书中列举了丰富的实例,并结合直观的插图,向读者传授了有用的实战技巧。另外,因为系统性能和系统架构密切相关,所以读者在学习系统性能的过程中还能有效地学到系统架构的相关知识。 作者简介 · · · · · · 小田圭二 日本Oracle株式会社咨询部门经理。在解决性能问题方面有着丰富的经验,著有《图解OS、存储、网络:DB的内部机制》(絵で見てわかるOS/ストレージ/ネットワーク~データベースはこう使っている)、《图解Oracle的机制》(絵で見てわかるOracleの仕組み)等多部著作。 榑松谷仁 日本Oracle株式会社高级首席顾问。曾在Emprix公司(美国本部)就职,为SIer和一般企业提供压力测试、性能管理等方面的咨询服务。之后就职于日本Oracle株式会社,还负责为使用Java、WebLogic、Exalogic等中间件产品的客户提供咨询服务。 平山毅 在东京理科大学理工学部上学期间成为Sun Site用户,专业是计算机科学和统计学。曾在日本某大型互联网公司就职,目前在世界上最大的云计算供应商做架构师和咨询顾问,负责了多个大规模的国际性案件。喜欢的技术是Oracle、VCE、AWS。 冈田宪昌 曾在某IT公司做基础设施的设计、搭建和运维工作,后就职于日本Oracle株式会社,负责Oracle产品的设计和PM支持、DBA支持等。目前在某大型虚拟化软件供应商做咨询顾问和研发技术经理,负责为虚拟化基础设施和云计算的设计、运维等提供咨询服务。 目录 · · · · · · 第1章 性能的基础知识  1 1.1 学习性能所必需的知识  2 1.2 算法的优缺点与学习方法  4 1.2.1 什么是算法  4 1.2.2 算法的基础  5 1.2.3 学习算法的窍门  7 1.3 算法的应用实例及性能的差异  8 1.3.1 日常生活中算法的例子  8 1.3.2 对性能的影响程度  9 1.3.3 评价算法的指标  11 学习信息科学的重要性  13 1.4 响应与吞吐的区别  14 系统工程师学习编程的重要性  16 1.5 算法的具体例子  16 1.5.1 数组与循环处理  16 1.5.2 链表与循环处理  19 1.5.3 树与查找  21 1.5.4 散列算法  25 1.5.5 队列  28 1.5.6 栈  32 1.5.7 排序(快速排序)  34 1.5.8 缓存①(回写)  36 1.5.9 缓存②(直写)  38 DMBS是数据结构与算法的宝库  38 1.5.10 锁与性能  40 【高级篇】锁的机制是如何实现的  42 【高级篇】性能优劣不能只看正常情况  44 第2章 性能分析的基础  45 2.1 性能分析从测量开始  46 2.2 什么是必要的性能信息  46 2.2.1 “分段查找”原则  46 2.2.2 性能信息的3种类型  48 2.2.3 系统的模型与性能故障时的运作情况  50 2.2.4 数据的种类及分析的窍门  53 2.3 性能分析中的重要理论  54 2.3.1 等待队列理论的术语  55 2.3.2 计算等待队列的平均等待时间  56 2.3.3 使用率和等待队列的例子  57 2.3.4  实际上可以获取哪些信息  59 需要定期确认性能吗?  61 2.4 OS的命令  61 2.4.1  sar  62 2.4.2 vmstat  64 时间同步非常重要  66 2.4.3 ps  66 2.4.4 netstat  68 2.4.5 iostat  70 2.4.6 top  73 2.4.7 数据包转储(wireshark、tcpdump等)  74 2.4.8 pstack  76 2.4.9 系统调用(strace等)  78 2.4.10 Profiler  80 2.4.11 Windows环境  81 第3章 实际系统的性能分析  85 3.1 Web/AP服务器与Java/C应用程序  86 3.1.1 Web服务器的访问日志  86 3.1.2 应用程序、AP服务器的日志  87 3.2 DB服务器的性能测量  90 3.2.1 DBMS的性能测量的原理  90 3.2.2 性能分析告一段落  92 批处理的性能测量  93 3.3 存储性能分析的思路  94 3.3.1 存储的相关术语  94 3.3.2 存储性能分析的思路:重视IOPS  96 3.4 网络性能分析的思路  100 性能故障数据应该保存多久?  102 3.5 调查原因  102 3.5.1 初学者容易掉入的陷阱  103 3.5.2 应有的态度  106 获取各种性能信息的时间要吻合吗?  108 3.5.3 实际的调查流程  108 性能分析的理想工具  111 第4章 性能调优  113 4.1 性能与调优  114 4.1.1 现实中的性能  114 4.1.2 在现场要保持“大局观”  117 4.2 性能调优的准则  118 4.2.1 设定既不能太粗也不能太细,要刚刚好  119 4.2.2 调优要循序渐进  120 4.2.3 通过重复使用来提速  121 4.2.4 汇总处理(集中、Piggyback)  121 4.2.5 提高速度与实现并行  123 4.2.6 纵向扩展与横向扩展  124 4.2.7 局部性  124 编译器会与RDBMS走上同一条道路吗?  125 4.3 现场可以使用的技巧  126 4.3.1 省略循环,减少投接球  126 4.3.2 访问频率高的数据存放入键值存储或散列表中  127 4.3.3 访问频率高的数据放在使用位置附近  127 4.3.4 把同步变成异步  128 4.3.5 带宽控制  130 4.3.6 LRU算法  131 4.3.7 分割处理或者细化锁的粒度  131 4.3.8 使用不丢失的回写缓存  132 4.3.9 使用多层缓存  132 4.3.10 使用巨帧和高速网络  132 4.3.11 负载均衡、轮询  133 4.3.12 关联性、绑定、粘滞会话  134 4.3.13  写时复制  135 4.3.14 日志  136 4.3.15 压缩  137 4.3.16 乐观锁  137 4.3.17 列式数据库  138 4.3.18 服务器的性能设置中,初始值=最大值?  139 4.4 实际业务中碰到的性能问题  139 4.4.1 性能比较的参考数据  139 4.4.2 缓存命中率并不一定要高  140 4.4.3 存储的调优方针  141 4.4.4 虽然容量足够,但还是添加磁盘  141 4.4.5 从性能角度看文件分割  142 4.4.6  90百分位  143 4.4.7 读取与写入的比例  143 4.5 调优的例子  144 4.5.1 例1:2层循环中select语句的执行  144 4.5.2 例2:偶尔出现性能下降  147 等待队列的前面发生了什么?  149 第5章 性能测试  151 5.1 性能测试的概要  152 5.1.1  项目工程中的性能测试  152 5.1.2 不同职责的性能测试相关人员  153 5.2 常见的失败情况:9种反面模式  156 5.2.1 不能在期限内完成  156 5.2.2 性能很差!解决不了性能问题  157 5.2.3 由于没有考虑到环境差异而导致发生问题  158 5.2.4 压力场景设计不完备导致发生问题  159 5.2.5 没有考虑到缓冲、缓存的使用而导致发生问题  159 5.2.6 没有考虑到思考时间而导致发生问题  160 5.2.7 报告内容难以理解导致客户不能认同  162 5.2.8 客户因为存在不信任感而不能认同  163 5.2.9 测试很花时间  164 5.3 性能测试的种类  167 5.3.1 实施的周期  168 5.3.2 狭义的性能测试  169 5.3.3 临界测试(临界性能、回退性能、故障测试)  169 5.3.4 基础设施性能测试  174 5.3.5 应用程序单元性能测试  178 5.3.6 耐久测试  179 5.3.7 关联领域  180 5.4 项目工程中考虑的性能测试  181 5.4.1 需求定义  181 5.4.2 项目规划  186 5.4.3 【基本设计】选择系统  187 5.4.4 【基本设计】性能测试环境  188 5.4.5 【基本设计】其他与性能设计相关的事项  191 5.4.6 【性能测试设计】测试计划的细节  192 5.4.7 【性能测试设计】人员配备与联络体制  194 5.4.8 【基础设施集成测试】基础设施性能测试  195 5.4.9 【集成测试】多并发运行测试  197 5.4.10 【系统测试】压力测试、临界测试、耐久测试  197 5.4.11 【运维测试】性能监控测试、故障测试  198 5.4.12 【交付】性能测试结果的验收报告  198 5.4.13 【运维】初期运行确认  199 5.5 性能测试的课题与必要的技巧  200 5.5.1 性能预估能力  200 5.5.2 高效的反复实施能力  202 5.5.3 Oracle Application Testing Suite的使用效果  203 第6章 虚拟化环境下的性能  209 6.1 虚拟化与性能  210 6.2 虚拟化的概要  211 6.2.1 什么是服务器虚拟化  211 6.2.2 虚拟化的种类  212 硬件辅助虚拟化  214 6.3 服务器虚拟化的主要技术(过载使用)  215 6.3.1 CPU的虚拟化技术  215 6.3.2 内存的虚拟化技术  218 6.4 虚拟化环境下性能的相关知识与分析方法  225 6.4.1 性能分析的工具  225 6.4.2 CPU的性能管理  226 6.4.3 内存的性能管理  231 6.4.4 存储的性能管理  234 还没使用DRS吗?  237 6.4.5 网络的性能管理  240 延迟灵敏度功能  243 第7章 云计算环境下的性能  245 7.1 云计算环境下性能的相关知识  246 7.1.1 云计算环境下性能会变差吗  246 7.2 云计算与本地部署的差异  247 7.2.1 云计算的定义  248 7.2.2 从云计算的特点来看与本地部署环境的不同  248 云计算实现的终极全球化  251 7.2.3 云计算的实现形态  251 混合结构的成本管理就是使用实物期权实现的投资组合管理  252 7.2.4 从云计算的服务模式来看其与本地部署的差别  253 云计算环境中可以把盈亏平衡点图形化(独自SaaS提供的最优费用模型)  254 7.2.5 把握资源的变动因素与固定因素  254 7.3 云计算环境的内部结构与最佳应用程序架构  262 7.3.1 集中式?分布式?  262 7.3.2 紧耦合?松耦合?  264 7.3.3 SOAP?REST?  265 能够把握抽象化的云计算环境的美国人——图与想象的重要性  268 7.3.4 前端的分布式处理:网络的访问方法  269 7.3.5 后端的分布式处理:数据存储的知识(从ACID到BASE)  271 7.3.6 提高TCP通信的速度  272 7.3.7 提高对象存储的速度  272 7.3.8 C语言?Java语言?还是脚本语言?  273 7.3.9 云计算环境下高性能服务的架构  274 7.3.10 开放迁移与云计算迁移  277 7.3.11 推测云计算的内部结构  278 7.4 云计算环境下性能分析的方法  278 7.4.1 获得云计算环境的基准数据的价值与不断进化的性能值  278 性能领域是理科工程师的特权?  280 7.4.2 Web系统的基本分析方法  281 7.4.3 批处理系统的基本分析方法  282 7.4.4 云计算的自动扩展功能  283 7.4.5 解析云计算环境中的复杂信息的统计方法  284 7.5 云计算环境中开发阶段的思维方式  285 7.5.1 估算(基本设计)  286 7.5.2 性能测试(系统测试)  287 7.5.3 项目管理  287 云计算环境下,经营者也需要关注详细的性能数据吗?  288 7.6 云计算环境中运维阶段的思维方式  289 7.6.1 容量管理  289 阈值设置与系统安全系数、标准化的价值  290 7.6.2 故障发生时的降规模容量运维  292 7.6.3 生命周期与更新  293 云计算实现的DevOps中性能调优的高效化  294 参考文献  296 作者简介  297

2017-11-27

【日本】图解网络硬件 [日] 三轮贤一 人民邮电出版社 译者 盛荣 出版年 2014-7 页数 376 完整版.pdf

内容简介 · · · · · · 本书详细介绍了计算机网络硬件的相关知识,在对硬件设备、相关技术及规范进行详尽考据和整理的同时,侧重工程实践,重点讲述了在实际网络建设工程中真实使用的网络硬件设备及其相关背景知识,能够帮助读者深入理解计算机网络在工程实践中某些容易混淆的概念,如L3交换机和路由器等。 本书在讲解的同时,还辅以丰富的图例,使计算机网络设备的真实情况一目了然,同时深入浅出地介绍了原本复杂抽象的计算机网络术语,因此对于学习了计算机网络,想了解计算机网络设备真实情况的读者来说是不可或缺的参考资料,也可作为大学课程《计算机网络》的扩展读物。另外,本书介绍了大量非思科设备和数据通信领域的相关知识,因此对于学习CCNA、CCIE等的读者和从事相关工作的工程技术人员而言,也非常具有参考价值。 作者简介 · · · · · · 作者简介: 三轮贤一 硅谷网络设备公司日本分部资深系统工程师,主要向运营商、企业等机构提供网络硬件设备的咨询、组网架构、运营支持。著有《简单的计算机网络入门》《深入学习TCP/IP网络》等。 译者简介: 盛荣 曾就职于阿尔卡特朗讯、爱立信等公司,多年从事网络设备相关软件的开发与测试,热爱脚本语言与自动化测试。 目录 · · · · · · 第1章 网络硬件通用基础知识  1 01.01 网络的构成要素  2 01.01.01 网络有哪些构成要素  2 01.01.02 OSI参考模型复习  4 01.02 LAN和以太网  7 01.02.01 LAN的标准  7 01.02.02 以太网  10 01.03 以太网标准的数据处理  15 01.03.01 以太网上的数据  15 01.03.02 10BASE-T  16 01.03.03 100BASE-TX  17 01.03.04 1000BASE-T/1000BASE-TX  19 01.03.05 1000BASE-SX/LX  21 01.04 网络设备的构成要素  22 01.04.01 通用服务器与专用设备  22 01.04.02 分门别类的网络设备  23 01.04.03 CPU  24 01.04.04 存储设备  24 01.04.05 存储器  25 01.04.06 HDD/SSD  26 01.04.07 硬件芯片  28 01.04.08 接口  30 01.04.09 信号转换器  36 01.04.10 LED指示灯  38 01.04.11 操作系统(内核)  39 01.04.12 电源  40 01.04.13 PSE(电气用品安全法)  46 01.04.14 UPS  47 01.04.15 风扇  47 01.05 线缆与周边设备  50 01.05.01 双绞线缆  50 01.05.02 STP与UTP  50 01.05.03 光纤  51 01.05.04 机架  56 第2章 彻底理解L2交换机  61 02.01 中继器和网桥的不同点  62 02.01.01 什么是中继器  62 02.01.02 什么是网桥  62 02.01.03 共享式集线器  64 02.01.04 交换式集线器  65 02.01.05 学习MAC地址  66 02.01.06 使用交换机的优点  67 02.02 交换机是如何诞生的  68 02.02.01 以太网的历史  68 02.02.02 世界上最早的交换机  69 02.03 交换机中使用的数据帧及其传输方式  71 02.03.01 以太网数据帧的种类  71 02.03.02 交换机数据帧的传输方式  71 02.03.03 自适应交换  73 02.04 全双工和半双工  74 02.05 如何描述交换机的处理能力  76 02.06 交换机如何分类  77 02.06.01 按照交换机的功能分类  77 02.06.02 按照设备外形分类  78 02.06.03 根据用途分类  82 02.07 成为交换机性能指标的端口种类与数量  83 02.07.01 快速以太网(10/100)端口  84 02.07.02 千兆以太网端口(10/100/1000)端口  84 02.07.03 光纤专用端口(SFP/SFP+)  84 02.07.04 PoE端口  84 02.07.05 上行链路端口数  86 02.07.06 下行链路端口数  86 02.07.07 交换机堆叠  87 02.08 交换机搭载的其他功能  88 02.08.01 MAC地址数  88 02.08.02 巨型帧  88 02.08.03 生成树功能  89 02.08.04 链路聚合  96 02.08.05 VLAN  97 02.08.06 端口镜像  97 02.08.07 QoS优先级队列   98 02.08.08 MAC地址过滤  99 02.08.09 基于端口的认证  100 02.08.10 网络管理  102 02.09 交换机架构  112 02.09.01 网络控制器(LAN控制器)  113 02.09.02 PHY模块  113 02.09.03 MAC模块  115 02.09.04 AUI与MII  116 第3章 路由器和它庞大的功能  119 03.01 何为路由器  120 03.01.01 路由器的必要性  120 03.01.02 什么是路由选择  120 03.01.03 转发  121 03.01.04 路由器的功能  122 03.02 路由器是如何诞生的  123 03.02.01 世界上最早的商用路由器  124 03.02.02 路由器性能的进化  127 03.03 路由器的分类  128 03.03.01 路由器设备  128 03.03.02 根据性能分类  129 03.03.03 面向电信运营商的路由器产品分类  132 03.03.04 面向企业的路由器产品分类  133 03.04 路由器产品目录说明  137 03.05 IP路由选择的基础知识  139 03.05.01 IP地址管理  139 03.05.02 IP路由选择  144 03.05.03 路由表  145 03.05.04 最长匹配与默认网关  145 03.05.05 静态路由选择  147 03.05.06 动态路由选择  147 03.05.07 IP隧道与VPN   154 03.05.08 IP多播  158 03.06 了解路由器搭载的各种附加功能  161 03.06.01 路由器功能的分类  161 03.06.02 支持TCP/IP以外的协议簇  161 03.06.03 LAN交换  162 03.06.04 支持LAN以外的物理层和数据链路层协议  163 03.06.05 拨号接入  168 03.06.06 冗余  169 03.06.07 认证  174 03.06.08 QoS  175 03.06.09 虚拟路由器  180 03.07 用于管理路由器的各种功能  181 03.07.01 用户界面  181 03.07.02 日志  182 03.07.03 确认CPU使用率  183 03.07.04 告警  183 03.07.05 设置时间  184 03.07.06 故障排查  184 03.07.07 文件传输控制  185 03.07.08 其他工具包  185 03.08 路由器的架构  186 03.08.01 路由器的构成要素  186 03.08.02 启动路由器的流程  191 03.08.03 路由器的一般架构  192 03.08.04 路由器的内部冗余  198 03.09 设置操作系统时使用的命令和模式  201 03.09.01 初始化  201 03.09.02 通过CLI设置  202 03.09.03 保存设置的方法  204 03.09.04 恢复出厂设置的重置方法  204 第4章 理解L3交换机的性能与功能  207 04.01 何为L3交换机  208 04.01.01 L3交换机与路由器的不同  209 04.01.02 多层交换  213 04.02 L3交换机是如何诞生的  217 04.03 L3交换机的分类  219 04.03.01 根据形状和用途分类  219 04.03.02 根据性能分类  219 04.04 L3交换机搭载的特殊功能  221 04.04.01 L3交换机功能的分类  221 04.04.02 VLAN   222 04.04.03 VLAN环境中的数据流向  230 04.04.04 VLAN之间的路由选择  231 第5章 防火墙功能与防范威胁的对策  233 05.01 防火墙是怎样的网络硬件  234 05.02 防火墙是如何诞生的  235 05.03 防火墙如何分类  238 05.03.01 软件型防火墙  238 05.03.02 硬件型防火墙  241 05.04 防火墙技术类型  242 05.05 什么是防火墙的网络接口模式  244 05.06 防火墙能够预防的威胁  245 05.07 防火墙中搭载的各种功能  247 05.07.01 会话管理  247 05.07.02 分组结构解析  254 05.07.03 安全区域  256 05.07.04 安全策略  258 05.07.05 NAT  262 05.07.06 VPN  266 05.07.07 DoS防御  278 05.07.08 防范基于分组的攻击  281 05.07.09 基于内容的扫描  282 05.07.10 监视、报告功能  289 05.07.11 分组捕获  290 05.07.12 虚拟路由器  290 05.07.13 虚拟防火墙  291 05.08 决定防火墙性能的要素  291 05.08.01 同时在线会话数  291 05.08.02 NAT表数目  291 05.08.03 每秒新建的会话数目  292 05.09 同信息安全范畴相关的标准  292 05.09.01 ISCA  292 05.09.02 FIPS  293 05.09.03 ISO/IEC 15408(公共标准)   293 第6章 高速普及的无线LAN及其基础知识  295 06.01 无线LAN是如何诞生的?  296 06.02 理解无线LAN所需的基础知识  298 06.02.01 CSMA/CA  298 06.02.02 无线LAN的架构  298 06.02.03 无线LAN的拓扑结构  299 06.03 各种各样的无线LAN标准  301 06.03.01 IEEE 802.11  303 06.03.02 IEEE 802.11a  303 06.03.03 IEEE 802.11b  304 06.03.04 IEEE 802.11g  304 06.03.05 IEEE 802.11n  304 06.03.06 IEEE 802.11ac  305 06.03.07 IEEE 802.11ad  305 06.03.08 Wi-Fi  305 06.04 无线LAN搭载的各种功能  306 06.04.01 关联  306 06.04.02 接入点的接入控制  307 06.04.03 接入点的认证  309 06.04.04 无线LAN通信的加密  310 06.04.05 自治型接入点  313 06.04.06 集中管理型接入点  313 06.04.07 无线LAN的桥接  314 06.04.08 中继器连接  314 06.05 无线LAN通信速率与覆盖范围的要点  315 06.05.01 无线LAN的最大通信速率  315 06.05.02 覆盖范围  315 06.05.03 干涉  320 06.05.04 无线LAN信道  321 06.05.05 接入点的最大通信范围  324 06.06 无线LAN的接入点产品  326 06.06.01 产品规格书的阅读方法  326 06.06.02 无线LAN硬件的制造厂商  327 第7章 网络硬件设备的选购要点  329 07.01 选择产品的类别  330 07.02 基于功能需求汇总备选设备型号  331 07.03 网络硬件的采购流程  332 07.03.01 RFI与RFP  332 07.03.02 RFQ  334 07.04 根据性能选择产品的型号  335 07.04.01 收集同网络延迟相关的信息  335 07.04.02 网络设备产品性能的测量方法  338 07.04.03 交换机性能的考量方法  341 07.04.04 路由器性能的考量方法  344 07.04.05 防火墙性能的考量方法  344 07.04.06 无线LAN性能的考量方法  347 07.05 根据物理需求选择产品  349 07.05.01 交换机的选择  349 07.05.02 路由器的选择  352 07.05.03 防火墙产品的选择  353 07.06 确认网络设备的互操作性  353 07.07 高可用性的考量方法  354 07.08 价格相关的考量方法  355 07.08.01 端口单价  355 07.08.02 比特单价  356 07.08.03 学习成本  356 07.08.04 支持的费用  358 07.09 达到采购条件  359 07.09.01 绿色采购  359 07.09.02 符合RoHS要求  359 07.09.03 加密出口管理相关  360 07.10 售后支持相关的基础知识  360 07.10.01 网络硬件的维护  360 07.10.02 厂商保修  361 插图 参考/引用文献  363 照片出处和提供方  364

2017-11-27

【日本】图解设计模式 ,结城浩著;杨文轩译 ,P368 ,2017.01.pdf

内容简介 · · · · · · 原版连续畅销12年、重印25次! 194张图表 + Java示例代码 = 轻松理解GoF的23种设计模式 《程序员的数学》《数学女孩》作者结城浩又一力作 ◆图文并茂 194张图表(包括57张UML类图)穿插文中,帮助理解各设计模式 ◆通俗易懂 用浅显的语言逐一讲解23种设计模式,读完此书会发现GoF书不再晦涩难懂 ◆专业实用 编写了Java程序代码来实现设计模式,每章附带练习题和答案,用以熟练掌握设计 模式 ◆拓展进阶 必要时对Java语言的功能进行了补充说明,可加深对Java的理解。此外,如果了解C++语言,同样可以轻松理解本书内容 本书适合以下读者阅读 •对面向对象开发感兴趣的人 •对设计模式感兴趣的人(特别是阅读了GoF书但是觉得难以理解的人) •所有Java程序员(特别是对抽象类和接口的理解不充分的人) 本书以浅显易懂的语言逐一说明了GoF的23种设计模式。在讲解过程中,不仅搭配了丰富的图片,而且理论结合实例,用Java语言编写代码实现了设计模式的程序,让程序真正地运行起来,并提供了运用模式解决具体问题的练习题和答案。除此以外,本书在必要时还对Java语言的功能进行补充说明,以加深读者对Java的理解。 作者简介 · · · · · · 结城浩 生于1963年,日本资深技术作家和程序员。在编程语言、设计模式、数学、加密技术等领域,编写了很多深受欢迎的入门书。代表作有《数学女孩》系列、《程序员的数学》、《图解密码技术》等。 目录 · · · · · · 第1部分 适应设计模式  1 第1章 Iterator模式——一个一个遍历  1 1.1 Iterator模式  2 1.2 示例程序  2 Aggregate接口  3 Iterator接口  5 Book类  5 BookShelf类  5 BookShelfIteraotr类  6 Main类  7 1.3 Iterator模式中的登场角色  8 1.4 拓展思路的要点  9 不管实现如何变化,都可以使用Iterator  9 难以理解抽象类和接口  9 Aggregate和Iterator的对应  9 容易弄错“下一个”  10 还容易弄错“最后一个”  10 多个Iterator  10 迭代器的种类多种多样  10 不需要deleteIterator  10 1.5 相关的设计模式  11 1.6 本章所学知识  11 1.7 练习题  11 第2章 Adapter模式——加个“适配器”以便于复用  13 2.1 Adapter模式  14 2.2 示例程序(1)(使用继承的适配器)  14 Banner类  15 Print接口  16 PrintBanner类  16 Main类  16 2.3 示例程序(2)(使用委托的示例程序)  17 Print类  18 PrintBanner类  18 2.4 Adapter模式中的登场角色  18 2.5 拓展思路的要点  19 什么时候使用Adapter模式  19 如果没有现成的代码  20 版本升级与兼容性  20 功能完全不同的类  20 2.6 相关的设计模式  20 2.7 本章所学知识  21 2.8 练习题  21 第2部分 交给子类  23 第3章 Template Method模式——将具体处理交给子类  23 3.1 Template Method模式  24 什么是模板  24 什么是Template Method模式  24 3.2 示例程序  24 AbstractDisplay类  25 CharDisplay类  26 StringDisplay类  27 Main类  28 3.3 Template Method模式中的登场角色  28 3.4 拓展思路的要点  29 可以使逻辑处理通用化  29 父类与子类之间的协作  29 父类与子类的一致性  29 3.5 相关的设计模式  30 3.6 延伸阅读:类的层次与抽象类  30 父类对子类的要求  30 抽象类的意义  30 父类与子类之间的协作  31 3.7 本章所学知识  31 3.8 练习题  31 第4章 Factory Method模式——将实例的生成交给子类  33 4.1 Factory Method模式  34 4.2 示例程序  34 Product类  35 Factory类  35 IDCard类  36 IDCardFactory类  36 Main类  37 4.3 Factory Method模式中的登场角色  37 4.4 拓展思路的要点  39 框架与具体加工  39 生成实例——方法的三种实现方式  39 使用模式与开发人员之间的沟通  40 4.5 相关的设计模式  40 4.6 本章所学知识  41 4.7 练习题  41 第3部分 生成实例  43 第5章 Singleton模式——只有一个实例  43 5.1 Singleton模式  44 5.2 示例程序  44 Singleton类  44 Main类  45 5.3 Singleton模式中的登场角色  46 5.4 拓展思路的要点  46 为什么必须设置限制  46 何时生成这个唯一的实例  46 5.5 相关的设计模式  47 5.6 本章所学知识  47 5.7 练习题  47 第6章 Prototype模式——通过复制生成实例  49 6.1 Prototype模式  50 6.2 示例程序  50 Product接口  51 Manager类  52 MessageBox类  52 UnderlinePen类  53 Main类  54 6.3 Prototype模式中的登场角色  55 6.4 拓展思路的要点  56 不能根据类来生成实例吗  56 类名是束缚吗  56 6.5 相关的设计模式  57 6.6 延伸阅读:clone方法和java.lang.Clonable接口  57 Java语言的clone  57 clone方法是在哪里定义的  58 需要实现Cloneable的哪些方法  58 clone方法进行的是浅复制  58 6.7 本章所学知识  58 6.8 练习题  59 第7章 Builder模式——组装复杂的实例  61 7.1 Builder模式  62 7.2 示例程序  62 Builder类  63 Director类  63 TextBuilder类  64 HTMLBuilder类  65 Main类  65 7.3 Builder模式中的登场角色  67 7.4 相关的设计模式  69 7.5 拓展思路的要点  69 谁知道什么  69 设计时能够决定的事情和不能决定的事情  70 代码的阅读方法和修改方法  70 7.6 本章所学知识  70 7.7 练习题  70 第8章 Abstract Factory模式——将关联零件组装成产品  73 8.1 Abstract Factory模式  74 8.2 示例程序  74 抽象的零件:Item类  77 抽象的零件:Link类  78 抽象的零件:Tray类  78 抽象的产品:Page类  79 抽象的工厂:Factory类  79 使用工厂将零件组装称为产品:Main类  80 具体的工厂:ListFactory类  81 具体的零件:ListLink类  82 具体的零件:ListTray类  82 具体的产品:ListPage类  83 8.3 为示例程序增加其他工厂  84 具体的工厂:TableFactory类  85 具体的零件:TableLink类  86 具体的零件:TableTray类  86 具体的产品:TablePage类  87 8.4 Abstract Factory模式中的登场角色  87 8.5 拓展思路的要点  89 易于增加具体的工厂  89 难以增加新的零件  89 8.6 相关的设计模式  89 8.7 延伸阅读:各种生成实例的方法的介绍  90 8.8 本章所学知识  91 8.9 练习题  91 第4部分 分开考虑  93 第9章 Bridge模式——将类的功能层次结构与实现层次结构分离  93 9.1 Bridge模式  94 9.2 示例程序  95 类的功能层次结构:Display类  96 类的功能层次结构:CountDisplay类  97 类的实现层次结构:DisplayImpl类  97 类的实现层次结构:StringDisplayImpl类  98 Main类  98 9.3 Bridge模式中的登场角色  99 9.4 拓展思路的要点  100 分开后更容易扩展  100 继承是强关联,委托是弱关联  100 9.5 相关的设计模式  101 9.6 本章所学知识  101 9.7 练习题  102 第10章 Strategy模式——整体地替换算法  103 10.1 Strategy模式  104 10.2 示例程序  104 Hand类  105 Strategy接口  106 WinningStrategy类  106 ProbStrategy类  107 Player类  109 Main类  109 10.3 Strategy模式中的登场角色  111 10.4 拓展思路的要点  112 为什么需要特意编写Strategy角色  112 程序运行中也可以切换策略  112 10.5 相关的设计模式  113 10.6 本章所学知识  113 10.7 练习题  113 第5部分 一致性  117 第11章 Composite模式——容器与内容的一致性  117 11.1 Composite模式  118 11.2 示例程序  118 Entry类  119 File类  120 Directory类  121 FileTreatMentException类  122 Main类  122 11.3 Composite模式中的登场角色  124 11.4 拓展思路的要点  125 多个和单个的一致性  125 Add方法应该放在哪里  126 到处都存在递归结构  126 11.5 相关的设计模式  126 11.6 本章所学知识  127 11.7 练习题  127 第12章 Decorator模式——装饰边框与被装饰物的一致性  129 12.1 Decorator模式  130 12.2 示例程序  130 Display类  131 StringDisplay类  132 Border类  132 SideBorder类  133 FullBorder类  134 Main类  135 12.3 Decorator模式中的登场角色  136 12.4 拓展思路的要点  137 接口(API)的透明性  137 在不改变被装饰物的前提下增加功能  138 可以动态地增加功能  138 只需要一些装饰物即可添加许多功能  138 java.io包与Decorator模式  138 导致增加许多很小的类  139 12.5 相关的设计模式  139 12.6 延伸阅读:继承和委托中的一致性  140 继承——父类和子类的一致性  140 委托——自己和被委托对象的一致性  140 12.7 本章所学知识  142 12.8 练习题  142 第6部分 访问数据结构  145 第13章 Visitor模式——访问数据结构并处理数据  145 13.1 Visitor模式  146 13.2 示例程序  146 Visitor类  147 Element接口  148 Entry类  148 File类  148 Directory类  149 ListVisitor类  150 FileTreatmentException类  151 Main类  151 Visitor与Element之间的相互调用  152 13.3 Visitor模式中的登场角色  154 13.4 拓展思路的要点  155 双重分发  155 为什么要弄得这么复杂  155 开闭原则——对扩展开放,对修改关闭  155 易于增加ConcreteVisitor角色  156 难以增加ConcreteElement角色  156 Visitor工作所需的条件  156 13.5 相关的设计模式  157 13.6 本章所学知识  157 13.7 练习题  157 第14章 Chain of Responsibility模式——推卸责任  161 14.1 Chain of Responsibility模式  162 14.2 示例程序  162 Trouble类  163 Support类  163 NoSupport类  164 LimitSupport类  164 OddSupport类  165 SpecialSupport类  165 Main类  166 14.3 Chain of Responsibility模式中的登场角色  167 14.4 拓展思路的要点  168 弱化了发出请求的人和处理请求的人之间的关系  168 可以动态地改变职责链  168 专注于自己的工作  169 推卸请求会导致处理延迟吗  169 14.5 相关的设计模式  169 14.6 本章所学知识  169 14.7 练习题  169 第7部分 简单化  171 第15章 Facade模式——简单窗口  171 15.1 Facade模式  172 15.2 示例程序  172 Database类  173 HtmlWriter类  174 PageMaker类  175 Main类  176 15.3 Facade模式中的登场角色  176 15.4 拓展思路的要点  177 Facade角色到底做什么工作  177 递归地使用Facade模式  178 开发人员不愿意创建Facade角色的原因——心理原因  178 15.5 相关的设计模式  178 15.6 本章所学知识  178 15.7 练习题  179 第16章 Mediator模式——只有一个仲裁者  181 16.1 Mediator模式  182 16.2 示例程序  182 Mediator接口  185 Colleague接口  186 ColleagueButton类  186 ColleagueTextField类  187 ColleagueCheckbox类  188 LoginFrame类  188 Main类  191 16.3 Mediator模式中的登场角色  191 16.4 拓展思路的要点  192 当发生分散灾难时  192 通信线路的增加  193 哪些角色可以复用  193 16.5 相关的设计模式  193 16.6 本章所学知识  193 16.7 练习题  194 第8部分 管理状态  195 第17章 Observer模式——发送状态变化通知  195 17.1 Observer模式  196 17.2 示例程序  196 Observer接口  196 NumberGenerator类  197 RandomNumberGenerator类  198 DigitObserver类  198 GraphObserver类  199 Main类  199 17.3 Observer模式中的登场角色  200 17.4 拓展思路的要点  201 这里也出现了可替换性  201 Observer的顺序  202 当Observer的行为会对Subject产生影响时  202 传递更新信息的方式  202 从“观察”变为“通知”  203 Model/View/Controller(MVC)  203 17.5 延伸阅读:java.util.Observer接口  203 17.6 相关的设计模式  204 17.7 本章所学知识  204 17.8 练习题  204 第18章 Memento模式——保存对象状态  207 18.1 Memento模式  208 18.2 示例程序  208 Memento类  209 Gamer类  210 Main类  211 18.3 Memento模式中的登场角色  215 18.4 拓展思路的要点  216 两种接口(API)和可见性  216 需要多少个Memento  217 Memento的有效期限是多久  217 划分Caretaker角色和Originator角色的意义  217 18.5 相关的设计模式  218 18.6 本章所学知识  218 18.7 练习题  218 第19章 State模式——用类表示状态  221 19.1 State模式  222 19.2 示例程序  222 金库警报系统  222 不使用State模式的伪代码  223 使用了State模式的伪代码  224 State接口  226 DayState类  226 NightState类  227 Context接口  228 SafeFrame类  228 Main类  231 19.3 State模式中的登场角色  232 19.4 拓展思路的要点  233 分而治之  233 依赖于状态的处理  233 应当是谁来管理状态迁移  233 不会自相矛盾  234 易于增加新的状态  234 实例的多面性  235 19.5 相关的设计模式  235 19.6 本章所学知识  235 19.7 练习题  236 第9部分 避免浪费  237 第20章 Flyweight模式——共享对象,避免浪费  237 20.1 Flyweight模式  238 20.2 示例程序  238 BigChar类  240 BigCharFactory类  241 BigString类  242 Main类  244 20.3 Flyweight模式中的登场角色  244 20.4 拓展思路的要点  245 对多个地方产生影响  245 Intrinsic与Extrinsic  246 不要让被共享的实例被垃圾回收器回收了  246 内存之外的其他资源  247 20.5 相关的设计模式  247 20.6 本章所学知识  247 20.7 练习题  247 第21章 Proxy模式——只在必要时生成实例  249 21.1 Proxy模式  250 21.2 示例程序  250 Printer类  251 Printable接口  252 PrinterProxy类  253 Main类  254 21.3 Proxy模式中的登场角色  254 21.4 拓展思路的要点  255 使用代理人来提升处理速度  255 有必要划分代理人和本人吗  256 代理与委托  256 透明性  256 HTTP代理  256 各种Proxy模式  257 21.5 相关的设计模式  257 21.6 本章所学知识  257 21.7 练习题  257 第10部分 用类来表现  259 第22章 Command模式——命令也是类  259 22.1 Command模式  260 22.2 示例程序  260 Command接口  261 MacroCommand类  262 DrawCommand类  263 Drawable接口  263 DrawCanvas类  264 Main类  265 22.3 Command模式中的登场角色  268 22.4 拓展思路的要点  269 命令中应该包含哪些信息  269 保存历史记录  269 适配器  269 22.5 相关的设计模式  271 22.6 本章所学知识  272 22.7 练习题  272 第23章 Interpreter模式——语法规则也是类  273 23.1 Interpreter模式  274 23.2 迷你语言  274 迷你语言的命令  274 迷你语言程序示例  275 迷你语言的语法  278 终结符表达式与非终结符表达式  279 23.3 示例程序  279 Node类  281 ProgramNode类  281 CommandListNode类  282 CommandNode类  283 RepeatCommandNode类  284 PrimitiveCommandNode类  285 Context类  285 ParseException类  286 Main类  287 23.4 Interpreter模式中的登场角色  288 23.5 拓展思路的要点  289 还有其他哪些迷你语言  289 跳过标记还是读取标记  290 23.6 相关的设计模式  290 23.7 本章所学知识以及本书的结束语  290 23.8 练习题  290 附录  293 附录A 习题解答  294 附录B 示例程序的运行步骤  359 附录C GoF对设计模式的分类  361 附录D 设计模式Q&A  362 附录E 参考书籍  365

2017-11-27

【日本】图解密码技术(日)结城浩(著) 人民邮电出版社 2014-12-01 PDF电子书带详细书签目录 完整版.pdf

内容简介 · · · · · · 本书以图配文的形式,详细讲解了6种最重要的密码技术:对称密码、公钥密码、单向散列函数、消息认证码、数字签名和伪随机数生成器。 第一部分讲述了密码技术的历史沿革、对称密码、分组密码模式(包括ECB、CBC、CFB、OFB、CTR)、公钥、混合密码系统。第二部分重点介绍了认证方面的内容,涉及单向散列函数、消息认证码、数字签名、证书等。第三部分讲述了密钥、随机数、PGP、SSL/TLS 以及密码技术在现实生活中的应用。 作者简介 · · · · · · 结城浩(Hiroshi Yuki) 生于1963年,日本资深技术作家和程序员。在编程语言、设计模式、数学、加密技术等领域,编写了很多深受欢迎的入门书。代表作有《数学女孩》系列、《程序员的数学》等。 作者网站:http://www.hyuki.com/ 目录 · · · · · · 第1部分 密码  1 第1章 环游密码世界  3 1.1 本章学习的内容  4 1.2 密码  4 1.2.1 Alice与Bob  4 1.2.2 发送者、接收者和窃听者  4 1.2.3 加密与解密  6 1.2.4 密码保证了消息的机密性  7 1.2.5 破译  7 1.3 对称密码与公钥密码  8 1.3.1 密码算法  8 1.3.2 密钥  8 1.3.3 对称密码与公钥密码  9 1.3.4 混合密码系统  10 1.4 其他密码技术  10 1.4.1 单向散列函数  10 1.4.2 消息认证码  10 1.4.3 数字签名  11 1.4.4 伪随机数生成器  11 1.5 密码学家的工具箱  12 1.6 隐写术与数字水印  13 1.7 密码与信息安全常识  14 1.7.1 不要使用保密的密码算法  14 1.7.2 使用低强度的密码比不进行任何加密更危险  15 1.7.3 任何密码总有一天都会被破解  15 1.7.4 密码只是信息安全的一部分  16 1.8 本章小结  16 1.9 小测验的答案  17 第2章 历史上的密码——写一篇别人看不懂的文章  19 2.1 本章学习的内容  20 2.2 恺撒密码  20 2.2.1 什么是恺撒密码  21 2.2.2 恺撒密码的加密  21 2.2.3 恺撒密码的解密  22 2.2.4 用暴力破解来破译密码  23 2.3 简单替换密码  24 2.3.1 什么是简单替换密码  24 2.3.2 简单替换密码的加密  25 2.3.3 简单替换密码的解密  26 2.3.4 简单替换密码的密钥空间  26 2.3.5 用频率分析来破译密码  26 2.4 Enigma  31 2.4.1 什么是Enigma  31 2.4.2 用Enigma进行加密通信  31 2.4.3 Enigma的构造  32 2.4.4 Enigma的加密  34 2.4.5 每日密码与通信密码  36 2.4.6 避免通信错误  36 2.4.7 Enigma的解密  36 2.4.8 Enigma的弱点  38 2.4.9 Enigma的破译  38 2.5 思考  40 2.5.1 为什么要将密码算法和密钥分开呢  40 2.6 本章小结  41 2.7 小测验的答案  42 第3章 对称密码(共享密钥密码)——用相同的密钥进行加密和解密  45 3.1 炒鸡蛋与对称密码  46 3.2 本章学习的内容  46 3.3 从文字密码到比特序列密码  46 3.3.1 编码  46 3.3.2 XOR  47 3.4 一次性密码本——绝对不会被破译的密码  50 3.4.1 什么是一次性密码本  50 3.4.2 一次性密码本的加密  50 3.4.3 一次性密码本的解密  51 3.4.4 一次性密码本是无法破译的  51 3.4.5 一次性密码本为什么没有被使用  52 3.5 DES  53 3.5.1 什么是DES  53 3.5.2 加密和解密  54 3.5.3 DES的结构(Feistel网络)  54 3.6 三重DES  60 3.6.1 什么是三重DES  60 3.6.2 三重DES的加密  60 3.6.3 三重DES的解密  63 3.6.4 三重DES的现状  64 3.7 AES的选定过程  64 3.7.1 什么是AES  65 3.7.2 AES的选定过程  65 3.7.3 AES最终候选算法的确定与AES的最终确定    65 3.8 Rijndael  66 3.8.1 什么是Rijndael  66 3.8.2 Rijndael的加密和解密  66 3.8.3 Rijndael的破译  68 3.8.4 应该使用哪种对称密码呢  68 3.9 本章小结  70 3.10 小测验的答案  71 第4章 分组密码的模式——分组密码是如何迭代的  73 4.1 本章学习的内容  74 4.2 分组密码的模式  75 4.2.1 分组密码与流密码  75 4.2.2 什么是模式  75 4.2.3 明文分组与密文分组  76 4.2.4 主动攻击者Mallory  76 4.3 ECB模式  77 4.3.1 什么是ECB模式  77 4.3.2 ECB模式的特点  78 4.3.3 对ECB模式的攻击  78 4.4 CBC模式  80 4.4.1 什么是CBC模式  80 4.4.2 初始化向量  81 4.4.3 CBC模式的特点  82 4.4.4 对CBC模式的攻击  82 4.4.5 CBC的应用实例  84 4.5 CFB模式  85 4.5.1 什么是CFB模式  85 4.5.2 初始化向量  86 4.5.3 CFB模式与流密码  86 4.5.4 CFB模式的解密  87 4.5.5 对CFB模式的攻击  87 4.6 OFB模式  88 4.6.1 什么是OFB模式  88 4.6.2 初始化向量  89 4.6.3 CFB模式与OFB模式的对比  89 4.7 CTR模式  90 4.7.1 计数器的生成方法  92 4.7.2 OFB模式与CTR模式的对比  92 4.7.3 CTR模式的特点  92 4.7.4 错误与机密性  93 4.8 应该使用哪种模式呢  93 4.9 本章小结  94 4.10 小测验的答案  95 第5章 公钥密码——用公钥加密,用私钥解密  97 5.1 投币寄物柜的使用方法  98 5.2 本章学习的内容  98 5.3 密钥配送问题  98 5.3.1 什么是密钥配送问题  98 5.3.2 通过事先共享密钥来解决  100 5.3.3 通过密钥分配中心来解决  101 5.3.4 通过Diffie-Hellman密钥交换来解决密钥配送问题  102 5.3.5 通过公钥密码来解决密钥配送问题  102 5.4 公钥密码  103 5.4.1 什么是公钥密码  103 5.4.2 公钥密码的历史  104 5.4.3 公钥通信的流程  104 5.4.4 各种术语  106 5.4.5 公钥密码无法解决的问题  106 5.5 时钟运算  106 5.5.1 加法  107 5.5.2 减法  109 5.5.3 乘法  110 5.5.4 除法  110 5.5.5 乘方  114 5.5.6 对数  114 5.5.7 从时钟指针到RSA  115 5.6 RSA  116 5.6.1 什么是RSA  116 5.6.2 RSA加密  116 5.6.3 RSA解密  117 5.6.4 生成密钥对  118 5.6.5 具体实践一下吧  121 5.7 对RSA的攻击  124 5.7.1 通过密文来求得明文  124 5.7.2 通过暴力破解来找出D  124 5.7.3 通过E和N求出D  125 5.7.4 中间人攻击  126 5.8 其他公钥密码  128 5.8.1 ElGamal方式  128 5.8.2 Rabin方式  128 5.8.3 椭圆曲线密码  128 5.9 关于公钥密码的问答  128 5.9.1 公钥密码的机密性  129 5.9.2 公钥密码与对称密码的密钥长度  129 5.9.3 对称密码的未来  129 5.9.4 RSA与质数  130 5.9.5 RSA与质因数分解  130 5.9.6 RSA的长度  131 5.10 本章小结  132 5.11 小测验的答案  133 第6章 混合密码系统——用对称密码提高速度,用公钥密码保护会话密钥  135 6.1 混合动力汽车  136 6.2 本章学习的内容  136 6.3 混合密码系统  136 6.3.1 对称密码与公钥密码  136 6.3.2 混合密码系统  137 6.3.3 加密  138 6.3.4 解密  140 6.3.5 混合密码系统的具体例子  141 6.4 怎样才是高强度的混合密码系统  141 6.4.1 伪随机数生成器  141 6.4.2 对称密码  142 6.4.3 公钥密码  142 6.4.4 密钥长度的平衡  142 6.5 密码技术的组合  142 6.6 本章小结  143 6.7 小测验的答案  144 第2部分 认证 145 第7章 单向散列函数——获取消息的“指纹”  147 7.1 本章学习的内容  148 7.2 什么是单向散列函数  148 7.2.1 这个文件是不是真的呢  148 7.2.2 什么是单向散列函数  151 7.2.3 单向散列函数的性质  153 7.2.4 关于术语  156 7.3 单向散列函数的实际应用  157 7.3.1 检测软件是否被篡改  157 7.3.2 基于口令的加密  159 7.3.3 消息认证码  159 7.3.4 数字签名  159 7.3.5 伪随机数生成器  159 7.3.6 一次性口令  159 7.4 单向散列函数的具体例子  160 7.4.1 MD4、MD5  160 7.4.2 SHA-1、SHA-256、SHA-384、SHA-512  160 7.4.3 RIPEMD-160  160 7.4.4 AHS(Advanced Hash Standard)与SHA-3    161 7.5 单向散列函数SHA-1  161 7.5.1 整体流程  161 7.5.2 (1) SHA-1:填充  162 7.5.3 (2) SHA-1:计算W0~W79  164 7.5.4 (3) SHA-1:分组处理  165 7.5.5 (4) SHA-1:单步处理  167 7.6 对单向散列函数的攻击  168 7.6.1 暴力破解(攻击故事1)  168 7.6.2 生日攻击(攻击故事2)  170 7.7 单向散列函数无法解决的问题  172 7.8 本章小结  173 7.9 小测验的答案  173 第8章 消息认证码——消息被正确传送了吗  177 8.1 本章学习的内容  178 8.2 消息认证码  178 8.2.1 汇款请求是正确的吗  178 8.2.2 什么是消息认证码  179 8.2.3 消息认证码的使用步骤  180 8.2.4 消息认证码的密钥配送问题  180 8.3 消息认证码的应用实例  181 8.3.1 SWIFT  181 8.3.2 IPsec  181 8.3.3 SSL/TLS  182 8.4 消息认证码的实现方法  182 8.4.1 使用单向散列函数实现  182 8.4.2 使用分组密码实现  182 8.4.3 其他实现方法  182 8.5 HMAC的详细介绍  182 8.5.1 什么是HMAC  182 8.5.2 HMAC的步骤  183 8.6 对消息认证码的攻击  185 8.6.1 重放攻击  185 8.6.2 密钥推测攻击  187 8.7 消息认证码无法解决的问题  188 8.7.1 对第三方证明  188 8.7.2 防止否认  188 8.8 本章小结  189 8.9 小测验的答案  189 第9章 数字签名——消息到底是谁写的  191 9.1 羊妈妈的认证  192 9.2 本章学习的内容  192 9.3 数字签名  192 9.3.1 Alice的借条  192 9.3.2 从消息认证码到数字签名  193 9.3.3 签名的生成和验证  194 9.3.4 公钥密码与数字签名  195 9.4 数字签名的方法  197 9.4.1 直接对消息签名的方法  197 9.4.2 对消息的散列值签名的方法  199 9.5 对数字签名的疑问  202 9.5.1 密文为什么能作为签名使用  202 9.5.2 数字签名不能保证机密性吗  202 9.5.3 这种签名可以随意复制吗  203 9.5.4 消息内容会不会被任意修改  203 9.5.5 签名会不会被重复使用  204 9.5.6 删除签名也无法“作废合同”吗  204 9.5.7 如何防止否认  205 9.5.8 数字签名真的能够代替签名吗  205 9.6 数字签名的应用实例  206 9.6.1 安全信息公告  206 9.6.2 软件下载  207 9.6.3 公钥证书  208 9.6.4 SSL/TLS  208 9.7 通过RSA实现数字签名  208 9.7.1 用RSA生成签名  208 9.7.2 用RSA验证签名  209 9.7.3 具体实践一下吧  209 9.8 其他的数字签名  210 9.8.1 ElGamal方式  210 9.8.2 DSA  210 9.8.3 Rabin方式  211 9.9 对数字签名的攻击  211 9.9.1 中间人攻击  211 9.9.2 对单向散列函数的攻击  212 9.9.3 利用数字签名攻击公钥密码  212 9.9.4 其他攻击  213 9.10 各种密码技术的对比  213 9.10.1 消息认证码与数字签名  213 9.10.2 混合密码系统与对散列值签名  214 9.11 数字签名无法解决的问题  214 9.12 本章小结  215 9.13 小测验的答案  216 第10章 证书——为公钥加上数字签名  217 10.1 本章学习的内容  218 10.2 证书  218 10.2.1 什么是证书  218 10.2.2 证书的应用场景  218 10.3 实际生成一张证书  221 10.3.1 VeriSign的免费试用服务  221 10.3.2 生成证书  221 10.3.3 将证书从Web浏览器中导出  224 10.3.4 证书的内容  224 10.3.5 证书标准规范X.509  224 10.4 公钥基础设施(PKI)  228 10.4.1 什么是公钥基础设施  228 10.4.2 PKI的组成要素  228 10.4.3 认证机构的工作  230 10.4.4 证书的层级结构  231 10.4.5 各种各样的PKI  233 10.5 对证书的攻击  234 10.5.1 在公钥注册之前进行攻击  234 10.5.2 注册相似人名进行攻击  234 10.5.3 窃取认证机构的私钥进行攻击  235 10.5.4 攻击者伪装成认证机构进行攻击  235 10.5.5 钻CRL的空子进行攻击(1)  236 10.5.6 钻CRL的空子进行攻击(2)  237 10.6 关于证书的Q&A  238 10.6.1 为什么需要证书  238 10.6.2 通过自己的方法进行认证是不是更安全  239 10.6.3 为什么要相信认证机构  240 10.7 本章小结  241 10.8 小测验的答案  242 第3部分 密钥、随机数与应用技术 243 第11章 密钥——秘密的精华  245 11.1 本章学习的内容  246 11.2 什么是密钥  246 11.2.1 密钥就是一个巨大的数字  246 11.2.2 密钥与明文是等价的  248 11.2.3 密码算法与密钥  248 11.3 各种不同的密钥  248 11.3.1 对称密码的密钥与公钥密码的密钥  248 11.3.2 消息认证码的密钥与数字签名的密钥  249 11.3.3 用于确保机密性的密钥与用于认证的密钥  250 11.3.4 会话密钥与主密钥  251 11.3.5 用于加密内容的密钥与用于加密密钥的密钥    252 11.4 密钥的管理  252 11.4.1 生成密钥  252 11.4.2 配送密钥  253 11.4.3 更新密钥  253 11.4.4 保存密钥  254 11.4.5 作废密钥  256 11.5 Diffie-Hellman密钥交换  256 11.5.1 什么是Diffie-Hellman密钥交换  256 11.5.2 Diffie-Hellman密钥交换的步骤  257 11.5.3 Eve能计算出密钥吗  259 11.5.4 生成元的意义  259 11.5.5 具体实践一下  260 11.6 基于口令的密码(PBE)  262 11.6.1 什么是基于口令的密码  262 11.6.2 PBE加密  263 11.6.3 PBE解密  264 11.6.4 盐的作用  266 11.6.5 口令的作用  266 11.6.6 PBE的改良  267 11.7 如何生成安全的口令  268 11.7.1 使用只有自己才能知道的信息  268 11.7.2 将多个不同的口令分开使用  269 11.7.3 有效利用笔记  269 11.7.4 理解口令的局限性  269 11.8 本章小结  270 11.9 小测验的答案  271 第12章 随机数——不可预测性的源泉  273 12.1 骡子的锁匠铺  274 12.2 本章学习的内容  274 12.3 使用随机数的密码技术  274 12.3.1 随机数是干什么用的  274 12.4 随机数的性质  275 12.4.1 对随机数的性质进行分类  275 12.4.2 随机性  276 12.4.3 不可预测性  277 12.4.4 不可重现性  277 12.5 伪随机数生成器  278 12.5.1 伪随机数生成器的结构  278 12.6 具体的伪随机数生成器  280 12.6.1 杂乱的方法  280 12.6.2 线性同余法  280 12.6.3 单向散列函数法  283 12.6.4 密码法  286 12.6.5 ANSI X9.17  287 12.7 对伪随机数生成器的攻击  290 12.7.1 对种子进行攻击  290 12.7.2 对随机数池进行攻击  290 12.8 本章小结  290 12.9 小测验的答案  291 第13章 PGP ——密码技术的完美组合  293 13.1 本章学习的内容  294 13.2 PGP简介  294 13.2.1 什么是PGP  294 13.2.2 PGP的功能  295 13.3 生成密钥对  297 13.4 加密与解密  299 13.4.1 加密  299 13.4.2 解密  301 13.5 生成和验证数字签名  304 13.5.1 生成数字签名  304 13.5.2 验证数字签名  306 13.6 生成数字签名并加密以及解密并验证数字签名    309 13.6.1 生成数字签名并加密  309 13.6.2 解密并验证数字签名  309 13.7 信任网  313 13.7.1 公钥合法性  313 13.7.2 场景1:通过自己的数字签名进行确认  313 13.7.3 场景2:通过自己完全信任的人的数字签名进行确认  314 13.7.4 场景3:通过自己有限信任的多个人的数字签名进行确认  315 13.7.5 公钥合法性与所有者信任是不同的  316 13.7.6 所有者信任级别是因人而异的  316 13.8 本章小结  318 13.9 小测验的答案  318 第14章 SSL/TLS ——为了更安全的通信  321 14.1 本章学习的内容  322 14.2 什么是SSL/TLS  322 14.2.1 Alice在Bob书店买书  322 14.2.2 客户端与服务器  323 14.2.3 用SSL/TLS承载HTTP  324 14.2.4 SSL/TLS的工作  325 14.2.5 SSL/TLS也可以保护其他的协议  326 14.2.6 密码套件  326 14.2.7 SSL与TLS的区别  327 14.3 使用SSL/TLS进行通信  327 14.3.1 层次化的协议  327 14.3.2 1 TLS记录协议  329 14.3.3 2-1 握手协议  330 14.3.4 2-2 密码规格变更协议  336 14.3.5 2-3 警告协议  337 14.3.6 2-4 应用数据协议  337 14.3.7 主密码  337 14.3.8 TLS中使用的密码技术小结  338 14.4 对SSL/TLS的攻击  339 14.4.1 对各个密码技术的攻击  339 14.4.2 对伪随机数生成器的攻击  339 14.4.3 利用证书的时间差进行攻击  340 14.5 SSL/TLS用户的注意事项  340 14.5.1 不要误解证书的含义  340 14.5.2 密码通信之前的数据是不受保护的  340 14.5.3 密码通信之后的数据是不受保护的  340 14.6 本章小结  341 14.7 小测验的答案  342 第15章 密码技术与现实社会——我们生活在不完美的安全中  .343 15.1 本章学习的内容  344 15.2 密码技术小结  344 15.2.1 密码学家的工具箱  344 15.2.2 密码与认证  346 15.2.3 密码技术的框架化  346 15.2.4 密码技术与压缩技术  346 15.3 追寻完美的密码技术  348 15.3.1 量子密码  349 15.3.2 量子计算机  350 15.3.3 哪一种技术会率先进入实用领域  350 15.4 只有完美的密码,没有完美的人  350 15.4.1 理论是完美的,现实是残酷的  351 15.4.2 防御必须天衣无缝,攻击只需突破一点  351 15.4.3 攻击实例1:经过PGP加密的电子邮件  352 15.4.4 攻击实例2:用SSL/TLS加密的信用卡号  353 15.5 本章小结  354 附录 密码技术综合测验  355 参考文献  365

2017-11-27

【日本】图解TCPIP(第5版).[日] 竹下隆史,[日] 村山公保,[日] 荒井透,[日] 苅田幸雄 著;乌尼日其其格 译.扫描版.pdf

【日本】图解TCPIP(第5版).[日] 竹下隆史,[日] 村山公保,[日] 荒井透,[日] 苅田幸雄 著;乌尼日其其格 译.扫描版.pdf 编辑推荐      原版畅销36万册!   TCP/IP圣经级教材   268张图解轻松入门   这是一本图文并茂的网络管理技术书籍,旨在让广大读者理解TCP/IP的基本知识、掌握TCP/IP的基本技能。   《图解TCP/IP》中讲解了网络基础知识、TCP/IP基础知识、数据链路、IP协议、IP协议相关技术、TCP与UDP、路由协议、应用协议、网络安全等内容,引导读者了解和掌握TCP/IP,营造一个安全的、使用放心的网络环境。   《图解TCP/IP》适合计算机网络的开发、管理人员阅读,也可作为大专院校相关专业的教学参考书。 内容简介   《图灵程序设计丛书:图解TCP/IP(第5版)》是一本图文并茂的网络管理技术书籍,旨在让广大读者理解TCP/IP的基本知识、掌握TCP/IP的基本技能。   书中讲解了网络基础知识、TCP/IP基础知识、数据链路、IP协议、IP协议相关技术、TCP与UDP、路由协议、应用协议、网络安全等内容,引导读者了解和掌握TCP/IP,营造一个安全的、使用放心的网络环境。   《图灵程序设计丛书:图解TCP/IP(第5版)》适合计算机网络的开发、管理人员阅读,也可作为大专院校相关专业的教学参考书。 作者简介   竹下隆史,Net One Systems公司网络工程师。   村山公保,仓敷艺术科学大学产业科学技术学院信息学系教授。   荒井透,1958年生人。 Net One Systems公司网络工程师。   苅田幸雄,高能加速器研究所、计算科学中心研究员。   译者简介:   乌尼日其其格,Oracle中间件技术专家、技术顾问。精于问题诊断处理、擅长解决大型核心系统的性能故障,并拥有多项Oracle官方认证资质。

2017-11-25

HTTP权威指南扫描版带书签.pdf

内容简介 · · · · · · 超文本转移协议(Hypertext Transfer Protocol,HTTP)是在万维网上进行通信时所使用的协议方案。HTTP有很多应用,但最著名的是用于web浏览器和web服务器之间的双工通信。 HTTP起初是一个简单的协议,因此你可能会认为关于这个协议没有太多好 说的。但现在,你手上拿着的是却一本两磅重 的书。如果你对我们怎么会写出一本650页 的关于HTTP的书感到奇怪的话,可以去看一下目录。本书不仅仅是一本HTTP首部的参考手册;它是一本名副其实的web结构圣经。 本书中,我们尝试着将HTTP中一些互相关联且常被误解的规则梳理清楚,并编写了一系列基于各种主题的章节,对HTTP各方面的特性进行了介绍。纵观全书,我们对HTTP“为什么”这样做进行了详细的解释,而不仅仅停留在它是“怎么做”的。而且,为了节省大家寻找参考文献的时间,我们还对很多HTTP应用程序正常工作所必须的、重要的非HTTP技术进行了介绍。在组织得便于使用的附录中,可以找到按照字母排序的首部参考(这些首部构成了最常见的HTTP文本的基础)。我们希望这种概念性的设计有助于读者对HTTP的使用。 本书是为所有希望理解HTTP以及Web底层结构的人编写的。软硬件工程师也可以将本书作为HTTP及相关web技术的条理清楚的参考书使用。系统架构师和网络管理员可以通过本书更好地了解如何设计、实现并管理复杂的网络架构。性能工程师和分析人员可以从高速缓存和性能优化的相关章节中获益。市场营销和咨询专家可以通过概念的介绍更好地理解web技术的前景。 本书对一些常见的误解进行了说明,推荐了“各种使用诀窍”,提供了便捷的参考资料,并且对枯燥且令人费解的标准规范进行了可读性很强的介绍。在这本书里,我们对Web正常工作所必须且互相关联的技术进行了详细的介绍。 本书是很多对因特网技术充满热情的人经过大量工作写成的。希望对你有所帮助。 作者简介 · · · · · · David Gourley是Endeca的首席技术官(Chief Technology Officer),负责Endeca产品的研究及开发。Endeca开发的因特网及内部网络信息访问解决方案为企业级数据的导航及研究提供了一些新的方式。在到Endeca工作之前,David是Inktomi基础工程组的一员,他在那儿帮助开发了Inktomi的因特网搜索数据库,是Inktomi的Web缓存产品的主要开发者。 David在加州大学伯克利分校获得了计算机科学的学士学位,还拥有Web技术方面的几项专利。 Brian Totty最近出任了Inktomi公司(这是1996年他参与建立的一家公司)研发部副总裁,在公司中他负责Web缓存、流媒体及因特网搜索技术的研发工作。他曾是Silicon Graphics公司的一名科学家,他在那儿为高性能网络和超级计算机系统设计软件并对其进行优化。在那之前,他是苹果计算机公司高级技术组的一名工程师。 Brian在伊利诺伊大学Urbana-Champaign分校获得了计算机科学的博士学位,在MIT获得了计算机科学及电子工程的学士学位,在那里他获得了计算机系统研究的Organick奖。他还为加州大学扩展系统开发并讲授了一些屡获殊荣的因特网技术方面的课程。 Marjorie Sayer在Inktomi公司负责编写Web缓存方面的软件。在加州大学伯克利分校获得了数学硕士和博士学位之后,一直致力于数学课程的改革。从1990年开始致力于能量资源管理、并行系统软件、电话和网络方面的写作。 Sailu Reddy目前在Inktomi公司负责嵌入式的性能增强型HTTP 代理的开发。Sailu从事复杂软件系统的开发已经有12年了,从1995年开始深入Web架构的研发工作。他是Netscape第一台Web服务器、Web 代理产品,以及后面几代产品的核心工程师。他具备HTTP应用程序、数据压缩技术、数据库引擎以及合作管理等方面的技术经验。Sailu在亚里桑那大学获得了信息系统的硕士学位并握有Web技术方面的多项专利。 Anshu Aggarwal是Inktomi公司的工程总监。他领导着Inktomi公司Web缓存产品的协议处理工程组,从1997年就开始参与Inktomi的Web技术设计工作。Anshu在科罗拉多大学Boulder分校获得了计算机科学的硕士和博士学位,从事分布式多处理器的内存一致性技术研究。他还拥有电子工程的硕士和学士学位。Anshu撰写了多篇技术论文,还拥有两项专利。 目录 · · · · · · 目录 第一部分  HTTP:Web 的基础 第1章  HTTP 概述  3 1.1  HTTP——因特网的多媒体信使    4 1.2  Web 客户端和服务器 4 1.3  资源   5 1.3.1  媒体类型    6 1.3.2  URI    7 1.3.3  URL  7 1.3.4  URN  8 1.4  事务   9 1.4.1  方法  9 1.4.2  状态码    10 1.4.3  Web 页面中可以包含多个对象 10 1.5  报文  11 1.6  连接  13 1.6.1  TCP/IP    13 1.6.2  连接、IP 地址及端口号    14 1.6.3  使用Telnet 实例    16 1.7  协议版本  18 1.8  Web 的结构组件    19 1.8.1  代理    19 1.8.2  缓存    20 1.8.3  网关    20 1.8.4  隧道    21 1.8.5  Agent 代理    21 1.9  起始部分的结束语    22 1.10  更多信息  22 1.10.1  HTTP 协议信息 22 1.10.2  历史透视    23 1.10.3  其他万维网信息    23 第2章 URL 与资源    25 2.1  浏览因特网资源    26 2.2  URL 的语法    28 2.2.1  方案——使用什么协议    29 2.2.2  主机与端口    30 2.2.3  用户名和密码    30 2.2.4  路径    31 2.2.5  参数    31 2.2.6  查询字符串    32 2.2.7  片段    33 2.3  URL 快捷方式    34 2.3.1  相对URL 34 2.3.2  自动扩展URL 37 2.4  各种令人头疼的字符    38 2.4.1  URL 字符集 38 2.4.2  编码机制 38 2.4.3  字符限制 39 2.4.4  另外一点说明    40 2.5  方案的世界  40 2.6  未来展望  42 2.7  更多信息  44 第3章  HTTP 报文    45 3.1  报文流    46 3.1.1  报文流入源端服务器    46 3.1.2  报文向下游流动    47 3.2  报文的组成部分    47 3.2.1  报文的语法    48 3.2.2  起始行    50 3.2.3  首部    53 3.2.4  实体的主体部分    55 3.2.5  版本0.9 的报文    55 3.3  方法  56 3.3.1  安全方法 56 3.3.2  GET  56 3.3.3  HEAD    57 3.3.4  PUT  57 3.3.5  POST    58 3.3.6  TRACE    58 3.3.7  OPTIONS 60 3.3.8  DELETE    60 3.3.9  扩展方法 61 3.4  状态码    62 3.4.1  100 ~ 199——信息性状态码    62 3.4.2  200 ~ 299——成功状态码    63 3.4.3  300 ~ 399——重定向状态码    64 3.4.4  400 ~ 499——客户端错误状态码    68 3.4.5  500 ~ 599——服务器错误状态码    69 3.5  首部  70 3.5.1  通用首部 71 3.5.2  请求首部 72 3.5.3  响应首部 74 3.5.4  实体首部 75 3.6  更多信息  77 第4章  连接管理    79 4.1  TCP 连接    80 4.1.1  TCP 的可靠数据管道    80 4.1.2  TCP 流是分段的、由IP 分组传送 81 4.1.3  保持TCP 连接的正确运行    82 4.1.4  用TCP 套接字编程 84 4.2  对TCP 性能的考虑 85 4.2.1  HTTP 事务的时延    86 4.2.2  性能聚焦区域    87 4.2.3  TCP 连接的握手时延    87 4.2.4  延迟确认 88 4.2.5  TCP 慢启动    89 4.2.6  Nagle 算法与TCP_NODELAY    89 4.2.7  TIME_WAIT 累积与端口耗尽    90 4.3  HTTP 连接的处理    91 4.3.1  常被误解的Connection 首部 91 4.3.2  串行事务处理时延    92 4.4  并行连接  94 4.4.1  并行连接可能会提高页面的加载速度    94 4.4.2  并行连接不一定更快    95 4.4.3  并行连接可能让人“感觉”更快一些    95 4.5  持久连接  96 4.5.1  持久以及并行连接    96 4.5.2  HTTP/1.0+ keep-alive 连接    97 4.5.3  Keep-Alive 操作    98 4.5.4  Keep-Alive 选项    98 4.5.5  Keep-Alive 连接的限制和规则    99 4.5.6  Keep-Alive 和哑代理 100 4.5.7  插入Proxy-Connection 102 4.5.8  HTTP/1.1 持久连接    104 4.5.9  持久连接的限制和规则 104 4.6  管道化连接    105 4.7  关闭连接的奥秘 106 4.7.1 “ 任意”解除连接 106 4.7.2  Content-Length 及截尾操作    107 4.7.3  连接关闭容限、重试以及幂等性 107 4.7.4  正常关闭连接 108 4.8  更多信息  110 4.8.1  HTTP 连接 110 4.8.2  HTTP 性能问题 110 4.8.3  TCP/IP  111 第二部分  HTTP 结构 第5章  Web 服务器 115 5.1  各种形状和尺寸的Web 服务器 116 5.1.1  Web 服务器的实现 116 5.1.2  通用软件Web 服务器    117 5.1.3  Web 服务器设备 117 5.1.4  嵌入式Web 服务器    118 5.2  最小的Perl Web 服务器 118 5.3  实际的Web 服务器会做些什么 120 5.4  第一步——接受客户端连接 121 5.4.1  处理新连接 121 5.4.2  客户端主机名识别 122 5.4.3  通过ident 确定客户端用户 122 5.5  第二步——接收请求报文 123 5.5.1  报文的内部表示法 124 5.5.2  连接的输入/ 输出处理结构    125 5.6  第三步——处理请求 126 5.7  第四步——对资源的映射及访问    126 5.7.1  docroot    127 5.7.2  目录列表    129 5.7.3  动态内容资源的映射 130 5.7.4  服务器端包含项 131 5.7.5  访问控制    131 5.8  第五步——构建响应 131 5.8.1  响应实体    131 5.8.2  MIME 类型 132 5.8.3  重定向    133 5.9  第六步——发送响应 134 5.10  第七步——记录日志    134 5.11  更多信息  134 第6章  代理    135 6.1  Web 的中间实体 136 6.1.1  私有和共享代理 136 6.1.2  代理与网关的对比 137 6.2  为什么使用代理 138 6.3  代理会去往何处 143 6.3.1  代理服务器的部署 144 6.3.2  代理的层次结构 144 6.3.3  代理是如何获取流量的 147 6.4  客户端的代理设置 148 6.4.1  客户端的代理配置:手工配置    149 6.4.2  客户端代理配置:PAC 文件    149 6.4.3  客户端代理配置:WPAD    150 6.5  与代理请求有关的一些棘手问题    151 6.5.1  代理URI 与服务器URI 的不同    151 6.5.2  与虚拟主机一样的问题 152 6.5.3  拦截代理会收到部分URI 153 6.5.4  代理既可以处理代理请求,也可以处理服务器请求    154 6.5.5  转发过程中对URI 的修改 154 6.5.6  URI 的客户端自动扩展和主机名解析 155 6.5.7  没有代理时URI 的解析 155 6.5.8  有显式代理时URI 的解析 156 6.5.9  有拦截代理时URI 的解析 157 6.6  追踪报文  158 6.6.1  Via 首部 158 6.6.2  TRACE 方法    162 6.7  代理认证  164 6 | 目录 6.8  代理的互操作性 165 6.8.1  处理代理不支持的首部和方法    166 6.8.2  OPTIONS:发现对可选特性的支持 166 6.8.3  Allow 首部 167 6.9  更多信息  167 第7章  缓存    169 7.1  冗余的数据传输 170 7.2  带宽瓶颈  170 7.3  瞬间拥塞  171 7.4  距离时延  172 7.5  命中和未命中的 173 7.5.1  再验证    173 7.5.2  命中率    175 7.5.3  字节命中率 176 7.5.4  区分命中和未命中的情况    176 7.6  缓存的拓扑结构 177 7.6.1  私有缓存    177 7.6.2  公有代理缓存 177 7.6.3  代理缓存的层次结构 179 7.6.4  网状缓存、内容路由以及对等缓存    180 7.7  缓存的处理步骤 181 7.7.1  第一步——接收 181 7.7.2  第二步——解析 182 7.7.3  第三步——查找 182 7.7.4  第四步——新鲜度检测 182 7.7.5  第五步——创建响应 182 7.7.6  第六步——发送 183 7.7.7  第七步——日志 183 7.7.8  缓存处理流程图 183 7.8  保持副本的新鲜 183 7.8.1  文档过期    184 7.8.2  过期日期和使用期 185 7.8.3  服务器再验证 185 7.8.4  用条件方法进行再验证 186 7.8.5  If-Modified-Since:Date 再验证    187 7.8.6  If-None-Match:实体标签再验证    189 7.8.7  强弱验证器 190 7.8.8  什么时候应该使用实体标签和最近修改日期    190 7.9  控制缓存的能力 191 7.9.1  no-Store 与no-Cache 响应首部  191 7.9.2  max-age 响应首部    192 7.9.3  Expires 响应首部    192 7.9.4  must-revalidate 响应首部 192 7.9.5  试探性过期 193 7.9.6  客户端的新鲜度限制 194 7.9.7  注意事项    194 7.10  设置缓存控制    195 7.10.1  控制Apache 的HTTP 首部    195 7.10.2  通过HTTP-EQUIV 控制HTML 缓存    196 7.11  详细算法  197 7.11.1  使用期和新鲜生存期    198 7.11.2  使用期的计算    198 7.11.3  完整的使用期计算算法    201 7.11.4  新鲜生存期计算    202 7.11.5  完整的服务器——新鲜度算法    202 7.12  缓存和广告    204 7.12.1  发布广告者的两难处境    204 7.12.2  发布者的响应    204 7.12.3  日志迁移    205 7.12.4  命中计数和使用限制    205 7.13  更多信息  205 第8章  集成点:网关、隧道及中继    207 8.1  网关  208 8.2  协议网关  210 8.2.1  HTTP/*:服务器端Web 网关 211 8.2.2  HTTP/HTTPS:服务器端安全网关  212 8.2.3  HTTPS/HTTP 客户端安全加速器网关    212 8.3  资源网关  213 8.3.1  CGI 215 8.3.2  服务器扩展API 215 8.4  应用程序接口和Web 服务 216 8.5  隧道  217 8.5.1  用CONNECT 建立HTTP 隧道 217 8.5.2  数据隧道、定时及连接管理    219 8.5.3  SSL 隧道 219 8.5.4  SSL 隧道与HTTP/HTTPS 网关的对比 220 8.5.5  隧道认证    221 8.5.6  隧道的安全性考虑 221 8.6  中继  222 8.7  更多信息  224 第9章  Web 机器人 225 9.1  爬虫及爬行方式 226 9.1.1  从哪儿开始:根集 226 9.1.2  链接的提取以及相对链接的标准化    227 9.1.3  避免环路的出现 228 9.1.4  循环与复制 228 9.1.5  面包屑留下的痕迹 229 9.1.6  别名与机器人环路 230 9.1.7  规范化URL    230 9.1.8  文件系统连接环路 231 9.1.9  动态虚拟Web 空间    232 9.1.10  避免循环和重复    233 9.2  机器人的HTTP 236 9.2.1  识别请求首部 236 9.2.2  虚拟主机    236 9.2.3  条件请求    237 9.2.4  对响应的处理 238 9.2.5  User-Agent 导向 239 9.3  行为不当的机器人 239 9.4  拒绝机器人访问 240 9.4.1  拒绝机器人访问标准 241 9.4.2  Web 站点和robots.txt 文件 242 9.4.3  robots.txt 文件的格式 243 9.4.4  其他有关robots.txt 的知识 246 9.4.5  缓存和robots.txt 的过期    246 9.4.6  拒绝机器人访问的Perl 代码    246 9.4.7  HTML 的robot-control 元标签    249 9.5  机器人的规范    251 9.6  搜索引擎  254 9.6.1  大格局    255 9.6.2  现代搜索引擎结构 255 9.6.3  全文索引    255 9.6.4  发布查询请求 257 9.6.5  对结果进行排序,并提供查询结果    258 9.6.6  欺诈  258 9.7  更多信息  258 第10章  HTTP-NG    261 10.1  HTTP 发展中存在的问题 262 10.2  HTTP-NG 的活动 263 10.3  模块化及功能增强 263 10.4  分布式对象    264 10.5  第一层——报文传输    264 10.6  第二层——远程调用    265 10.7  第三层——Web 应用    265 10.8  WebMUX    265 10.9  二进制连接协议    266 10.10  当前的状态    267 10.11  更多信息    267 第三部分  识别、认证与安全 第11章  客户端识别与cookie 机制    271 11.1  个性化接触    272 11.2  HTTP 首部  273 11.3  客户端IP 地址 274 11.4  用户登录  275 11.5  胖URL  277 11.6  cookie    278 11.6.1  cookie 的类型 278 11.6.2  cookie 是如何工作的 279 11.6.3  cookie 罐:客户端的状态    280 11.6.4  不同站点使用不同的cookie 282 11.6.5  cookie 成分 283 11.6.6  cookies 版本0(Netscape)    284 11.6.7  cookies 版本1(RFC 2965) 285 11.6.8  cookie 与会话跟踪 288 11.6.9  cookie 与缓存 290 11.6.10  cookie、安全性和隐私    291 11.7  更多信息  292 第12章  基本认证机制 293 12.1  认证    294 12.1.1  HTTP 的质询/ 响应认证框架    294 12.1.2  认证协议与首部 295 12.1.3  安全域 296 12.2  基本认证  297 12.2.1  基本认证实例 298 12.2.2  Base-64 用户名/ 密码编码    298 12.2.3  代理认证 299 12.3  基本认证的安全缺陷    300 12.4  更多信息  301 第13章  摘要认证    303 13.1  摘要认证的改进    304 13.1.1  用摘要保护密码 304 13.1.2  单向摘要 306 13.1.3  用随机数防止重放攻击    307 13.1.4  摘要认证的握手机制 307 13.2  摘要的计算    308 13.2.1  摘要算法的输入数据 308 13.2.2  算法H(d) 和KD(s,d) 310 13.2.3  与安全性相关的数据(A1) 310 13.2.4  与报文有关的数据(A2) 310 13.2.5  摘要算法总述    311 13.2.6  摘要认证会话 312 13.2.7  预授权 312 13.2.8  随机数的选择 315 13.2.9  对称认证 315 13.3  增强保护质量    316 13.3.1  报文完整性保护 316 13.3.2  摘要认证首部 317 13.4  应该考虑的实际问题    317 13.4.1  多重质询 318 13.4.2  差错处理 318 13.4.3  保护空间 318 13.4.4  重写URI 319 13.4.5  缓存    319 13.5  安全性考虑    320 13.5.1  首部篡改 320 13.5.2  重放攻击 320 13.5.3  多重认证机制 320 13.5.4  词典攻击 321 13.5.5  恶意代理攻击和中间人攻击 321 13.5.6  选择明文攻击 321 13.5.7  存储密码 322 13.6  更多信息  322 第14章  安全HTTP 323 14.1  保护HTTP 的安全    324 14.2  数字加密  326 14.2.1  密码编制的机制与技巧    326 14.2.2  密码    327 14.2.3  密码机 328 14.2.4  使用了密钥的密码 328 14.2.5  数字密码 328 14.3  对称密钥加密技术    330 14.3.1  密钥长度与枚举攻击 330 14.3.2  建立共享密钥 332 14.4  公开密钥加密技术    332 14.4.1  RSA    333 14.4.2  混合加密系统和会话密钥    334 14.5  数字签名  334 14.6  数字证书  336 14.6.1  证书的主要内容 336 14.6.2  X.509 v3 证书 337 14.6.3  用证书对服务器进行认证    338 14.7  HTTPS——细节介绍    339 14.7.1  HTTPS 概述 339 14.7.2  HTTPS 方案 340 14.7.3  建立安全传输 341 14.7.4  SSL 握手 341 14.7.5  服务器证书 343 14.7.6  站点证书的有效性 344 14.7.7  虚拟主机与证书 345 14.8  HTTPS 客户端实例    345 14.8.1  OpenSSL 346 14.8.2  简单的HTTPS 客户端    347 14.8.3  执行OpenSSL 客户端    350 14.9  通过代理以隧道形式传输安全流量    351 14.10  更多信息    353 14.10.1  HTTP 安全性    353 14.10.2  SSL 与TLS 353 14.10.3  公开密钥基础设施 354 14.10.4  数字密码 354 第四部分  实体、编码和国际化 第15章  实体和编码 357 15.1  报文是箱子,实体是货物    359 15.2  Content-Length: 实体的大小 361 15.2.1  检测截尾 361 15.2.2  错误的Content-Length    362 15.2.3  Content-Length 与持久连接 362 15.2.4  内容编码 362 15.2.5  确定实体主体长度的规则    362 15.3  实体摘要  364 15.4  媒体类型和字符集    364 15.4.1  文本的字符编码 365 15.4.2  多部分媒体类型 365 15.4.3  多部分表格提交 366 15.4.4  多部分范围响应 367 15.5  内容编码  368 15.5.1  内容编码过程 368 15.5.2  内容编码类型 369 15.5.3  Accept-Encoding 首部    369 15.6  传输编码和分块编码    371 15.6.1  可靠传输 371 15.6.2  Transfer-Encoding 首部 372 15.6.3  分块编码 373 15.6.4  内容编码与传输编码的结合 375 15.6.5  传输编码的规则 375 15.7  随时间变化的实例    375 15.8  验证码和新鲜度    376 15.8.1  新鲜度 377 15.8.2  有条件的请求与验证码    378 15.9  范围请求  380 15.10  差异编码    382 15.11  更多信息    385 第16章  国际化    387 16.1  HTTP 对国际性内容的支持 388 16.2  字符集与HTTP    389 16.2.1  字符集是把字符转换为二进制码的编码  389 16.2.2  字符集和编码如何工作    390 16.2.3  字符集不对,字符就不对    391 16.2.4  标准化的MIME charset 值    391 16.2.5  Content-Type 首部和Charset 首部以及META 标志    393 16.2.6  Accept-Charset 首部    393 16.3  多语言字符编码入门    394 16.3.1  字符集术语 394 16.3.2  字符集的命名很糟糕 395 16.3.3  字符    396 16.3.4  字形、连笔以及表示形式    396 16.3.5  编码后的字符集 397 16.3.6  字符编码方案 399 16.4  语言标记与HTTP 402 16.4.1  Content-Language 首部    402 16.4.2  Accept-Language 首部    403 16.4.3  语言标记的类型 404 16.4.4  子标记 404 16.4.5  大小写 405 16.4.6  IANA 语言标记注册    405 16.4.7  第一个子标记——名字空间 405 16.4.8  第二个子标记——名字空间 406 16.4.9  其余子标记——名字空间    407 16.4.10  配置和语言有关的首选项    407 16.4.11  语言标记参考表    407 16.5  国际化的URI    408 16.5.1  全球性的可转抄能力与有意义的字符的较量    408 16.5.2  URI 字符集合 408 16.5.3  转义和反转义 409 16.5.4  转义国际化字符 409 16.5.5  URI 中的模态切换 410 16.6  其他需要考虑的地方    410 16.6.1  首部和不合规范的数据    410 16.6.2  日期    411 16.6.3  域名    411 16.7  更多信息  411 16.7.1  附录    411 16.7.2  互联网的国际化 411 16.7.3  国际标准 412 第17章  内容协商与转码 413 17.1  内容协商技术    414 17.2  客户端驱动的协商    415 17.3  服务器驱动的协商    415 17.3.1  内容协商首部集 416 17.3.2  内容协商首部中的质量值    417 17.3.3  随其他首部集而变化 417 17.3.4  Apache 中的内容协商 417 17.3.5  服务器端扩展 418 17.4  透明协商  419 17.4.1  进行缓存与备用候选 419 17.4.2  Vary 首部    420 17.5  转码    422 17.5.1  格式转换 422 17.5.2  信息综合 423 17.5.3  内容注入 423 17.5.4  转码与静态预生成的对比    423 17.6  下一步计划    424 17.7  更多信息  424 第五部分  内容发布与分发 第18章  Web 主机托管    429 18.1  主机托管服务    430 18.2  虚拟主机托管    431 18.2.1  虚拟服务器请求缺乏主机信息    432 18.2.2  设法让虚拟主机托管正常工作    433 18.2.3  HTTP/1.1 的Host 首部    437 18.3  使网站更可靠    438 18.3.1  镜像的服务器集群 438 18.3.2  内容分发网络 440 18.3.3  CDN 中的反向代理缓存 440 18.3.4  CDN 中的代理缓存    440 18.4  让网站更快    441 18.5  更多信息  441 第19章  发布系统    443 19.1  FrontPage 为支持发布而做的服务器扩展  444 19.1.1  FrontPage 服务器扩展    444 19.1.2  FrontPage 术语表    445 19.1.3  FrontPage 的RPC 协议    445 19.1.4  FrontPage 的安全模型    448 19.2  WebDAV 与协作写作    449 19.2.1  WebDAV 的方法 449 19.2.2  WebDAV 与XML    450 19.2.3  WebDAV 首部集 451 19.2.4  WebDAV 的锁定与防止覆写 452 19.2.5  LOCK 方法 453 19.2.6  UNLOCK 方法    456 19.2.7  属性和元数据 456 19.2.8  PROPFIND 方法 457 19.2.9  PROPPATCH 方法    459 19.2.10  集合与名字空间管理    460 19.2.11  MKCOL 方法 460 19.2.12  DELETE 方法    461 19.2.13  COPY 与MOVE 方法    462 19.2.14  增强的HTTP/1.1 方法    465 19.2.15  WebDAV 中的版本管理 466 19.2.16  WebDAV 的未来发展 466 19.3  更多信息  467 第20章  重定向与负载均衡    469 20.1  为什么要重定向    470 20.2  重定向到何地    471 20.3  重定向协议概览    471 20.4  通用的重定向方法    474 20.4.1  HTTP 重定向    474 20.4.2  DNS 重定向 475 20.4.3  任播寻址 480 20.4.4  IP MAC 转发    481 20.4.5  IP 地址转发 482 20.4.6  网元控制协议 484 20.5  代理的重定向方法    485 20.5.1  显式浏览器配置 485 20.5.2  代理自动配置 485 20.5.3  Web 代理自动发现协议    487 20.6  缓存重定向方法    492 20.7  因特网缓存协议    496 20.8  缓存阵列路由协议    497 20.9  超文本缓存协议    500 20.9.1  HTCP 认证    502 20.9.2  设置缓存策略 503 20.10  更多信息    504 第21章  日志记录与使用情况跟踪    505 21.1  记录内容  506 21.2  日志格式  507 21.2.1  常见日志格式 507 21.2.2  组合日志格式 508 21.2.3  网景扩展日志格式 509 21.2.4  网景扩展2 日志格式 510 21.2.5  Squid 代理日志格式    512 21.3  命中率测量    515 21.3.1  概述    515 21.3.2  Meter 首部 516 21.4  关于隐私的考虑    517 21.5  更多信息  518 第六部分  附  录 附录A  URI 方案  521 附录B  HTTP 状态码    529 附录C  HTTP 首部参考    533 附录D  MIME 类型    557 附录E  Base-64 编码    603 附录F  摘要认证    607 附录G  语言标记  615 附录H  MIME 字符集注册表 641 索引  661

2017-11-21

图解HTTP 黑白印刷 [(日)上野宣著][人民邮电出版社][2014.05][250页]扫描版带书签.pdf

 172张图解轻松入门;   从基础知识到全新动向,一本书掌握HTTP协议;   Web前端开发者必备,从基础知识到全新动向一网打尽。 《图灵程序设计丛书:图解HTTP》对互联网基盘——HTTP协议进行了全面系统的介绍。作者由HTTP协议的发展历史娓娓道来,严谨细致地剖析了HTTP协议的结构,列举诸多常见通信场景及实战案例,最后延伸到Web安全、全新技术动向等方面。《图解HTTP》的特色为在讲解的同时,辅以大量生动形象的通信图例,更好地帮助读者深刻理解HTTP通信过程中客户端与服务器之间的交互情况。读者可通过《图灵程序设计丛书:图解HTTP》快速了解并掌握HTTP协议的基础,前端工程师分析抓包数据,后端工程师实现REST API、实现自己的HTTP服务器等过程中所需的HTTP相关知识点本书均有介绍。   《图灵程序设计丛书:图解HTTP》适合Web开发工程师,以及对HTTP协议感兴趣的各层次读者。 上野·宣 ,OWASP 日本分会会长,TRICORDER株式会社董事长。   主要从事安全咨询、风险评估、信息安全教育等工作。著有《今晚我们一起学习邮件协议》(今夜わかるメールプロトコル)、《今晚我们一起学习TCP/IP》(今夜わかるTCP/IP)、《今晚我们一起学习HTTP》(今夜わかるHTTP)。担任The Tangled Web:A Guide to Securing Modern Web Application日文版的审校工作。      于均良(译者),上海交通大学硕士,高级软件工程师,马拉松跑者,四点网创始人。 目录 第1章 了解Web及网络基础 1.1 使用HTTP协议访问Web 1.2 HTTP的诞生 1.2.1 为知识共享而规划Web 1.2.2 Web成长时代 1.2.3 驻足不前的HTTP 1.3 网络基础TCP/IP 1.3.1 TCP/IP协议族 1.3.2 TCP/IP的分层管理 1.3.3 TCP/IP通信传输流 1.4 与HTTP关系密切的协议:IP、TCP和DNS 1.4.1 负责传输的IP协议 1.4.2 确保可靠性的TCP协议 1.5 负责域名解析的DNS服务 1.6 各种协议与HTTP协议的关系 1.7 URI和URL 1.7.1 统一资源标识符 1.7.2 URI格式 第2章 简单的HTTP协议 2.1 HTTP协议用于客户端和服务器端之间的通信 2.2 通过请求和响应的交换达成通信 2.3 HTTP是不保存状态的协议 2.4 请求URI定位资源 2.5 告知服务器意图的HTTP方法 2.6 使用方法下达命令 2.7 持久连接节省通信量 2.7.1 持久连接 2.7.2 管线化 2.8 使用Cookie的状态管理 第3章 HTTP报文内的HTTP信息 3.1 HTTP报文 3.2 请求报文及响应报文的结构 3.3 编码提升传输速率 3.3.1 报文主体和实体主体的差异 3.3.2 压缩传输的内容编码 3.3.3 分割发送的分块传输编码 3.4 发送多种数据的多部分对象集合 3.5 获取部分内容的范围请求 3.6 内容协商返回最合适的内容 第4章 返回结果的HTTP状态码 4.1 状态码告知从服务器端返回的请求结果 4.2 2XX成功 4.2.1 200 OK 4.2.2 204 No Content 4.2.3 206 Partial Content 4.3 3XX重定向 4.3.1 301 Moved Permanently 4.3.2 302 Found 4.3.3 303 See Other 4.3.4 304 Not Modified 4.3.5 307 Temporary Redirect 4.4 4XX客户端错误 4.4.1 400 Bad Request 4.4.2 401 Unauthorized 4.4.3 403 Forbidden 4.4.4 404 Not Found 4.5 5XX服务器错误 4.5.1 500 Internal Server Error 4.5.2 503 Service Unavailable 第5章 与HTTP协作的Web服务器 5.1 用单台虚拟主机实现多个域名 5.2 通信数据转发程序:代理、网关、隧道 5.2.1 代理 5.2.2 网关 5.2.3 隧道 5.3 保存资源的缓存 5.3.1 缓存的有效期限 5.3.2 客户端的缓存 第6章 HTTP首部 6.1 HTTP报文首部 6.2 HTTP首部字段 6.2.1 HTTP首部字段传递重要信息 6.2.2 HTTP首部字段结构 6.2.3 4种HTTP首部字段类型 6.2.4 HTTP/1.1首部字段一览 6.2.5 非HTTP/1.1首部字段 6.2.6 End-to-end首部和Hop-by-hop首部 6.3 HTTP/1.1通用首部字段 6.3.1 Cache-Control 6.3.2 Connection 6.3.3 Date 6.3.4 Pragma 6.3.5 Trailer 6.3.6 Transfer-Encoding 6.3.7 Upgrade 6.3.8 Via 6.3.9 Warning 6.4 请求首部字段 6.4.1 Accept 6.4.2 Accept-Charset 6.4.3 Accept-Encoding 6.4.4 Accept-Language 6.4.5 Authorization 6.4.6 Expect 6.4.7 From 6.4.8 Host 6.4.9 If-Match 6.4.10 If-Modified-Since 6.4.11 If-None-Match 6.4.12 If-Range 6.4.13 If-Unmodified-Since 6.4.14 Max-Forwards 6.4.15 Proxy-Authorization 6.4.16 Range 6.4.17 Referer 6.4.18 TE 6.4.19 User-Agent 6.5 响应首部字段 6.5.1 Accept-Ranges 6.5.2 Age 6.5.3 ETag 6.5.4 Location 6.5.5 Proxy-Authenticate 6.5.6 Retry-After 6.5.7 Server 6.5.8 Vary 6.5.9 WWW-Authenticate 6.6 实体首部字段 6.6.1 Allow 6.6.2 Content-Encoding 6.6.3 Content-Language 6.6.4 Content-Length 6.6.5 Content-Location 6.6.6 Content-MD 6.6.7 Content-Range 6.6.8 Content-Type 6.6.9 Expires 6.6.10 Last-Modified 6.7 为Cookie服务的首部字段 6.7.1 Set-Cookie 6.7.2 Cookie 6.8 其他首部字段 6.8.1 X-Frame-Options 6.8.2 X-XSS-Protection 6.8.3 DNT 6.8.4 P3P 第7章 确保Web安全的HTTPS 7.1 HTTP的缺点 7.1.1 通信使用明文可能会被窃听 7.1.2 不验证通信方的身份就可能遭遇伪装 7.1.3 无法证明报文完整性,可能已遭篡改 7.2 HTTP+加密+认证+完整性保护=HTTPS 7.2.1 HTTP加上加密处理和认证以及完整性保护后即是HTTPS 7.2.2 HTTPS是身披SSL外壳的HTTP 7.2.3 相互交换密钥的公开密钥加密技术 7.2.4 证明公开密钥正确性的证书 7.2.5 HTTPS的安全通信机制 第8章 确认访问用户身份的认证 8.1 何为认证 8.2 BASIC认证 8.3 DIGEST认证 8.4 SSL客户端认证 8.4.1 SSL客户端认证的认证步骤 8.4.2 SSL客户端认证采用双因素认证 8.4.3 SSL客户端认证必要的费用 8.5 基于表单认证 8.5.1 认证多半为基于表单认证 8.5.2 Session管理及Cookie应用 第9章 基于HTTP的功能追加协议 9.1 基于HTTP的协议 9.2 消除HTTP瓶颈的SPDY 9.2.1 HTTP的瓶颈 9.2.2 SPDY的设计与功能 9.2.3 SPDY消除Web瓶颈了吗 9.3 使用浏览器进行全双工通信的WebSocket 9.3.1 WebSocket的设计与功能 9.3.2 WebSocket协议 9.4 期盼已久的HTTP/2. 9.5 Web服务器管理文件的WebDAV 9.5.1 扩展HTTP/1.1的WebDAV 9.5.2 WebDAV内新增的方法及状态码 第10章 构建Web内容的技术 10.1 HTML 10.1.1 Web页面几乎全由HTML构建 10.1.2 HTML的版本 10.1.3 设计应用CSS 10.2 动态HTML 10.2.1 让Web页面动起来的动态HTML 10.2.2 更易控制HTML的DOM 10.3 Web应用 10.3.1 通过Web提供功能的Web应用 10.3.2 与Web服务器及程序协作的CGI 10.3.3 因Java而普及的Servlet 10.4 数据发布的格式及语言 10.4.1 可扩展标记语言 10.4.2 发布更新信息的RSS/Atom 10.4.3 JavaScript衍生的轻量级易用JSON 第11章 Web的攻击技术 11.1 针对Web的攻击技术 11.1.1 HTTP不具备必要的安全功能 11.1.2 在客户端即可篡改请求 11.1.3 针对Web应用的攻击模式 11.2 因输出值转义不完全引发的安全漏洞 11.2.1 跨站脚本攻击 11.2.2 SQL注入攻击 11.2.3 OS命令注入攻击 11.2.4 HTTP首部注入攻击 11.2.5 邮件首部注入攻击 11.2.6 目录遍历攻击 11.2.7 远程文件包含漏洞 11.3 因设置或设计上的缺陷引发的安全漏洞 11.3.1 强制浏览 11.3.2 不正确的错误消息处理 11.3.3 开放重定向 11.4 因会话管理疏忽引发的安全漏洞 11.4.1 会话劫持 11.4.2 会话固定攻击 11.4.3 跨站点请求伪造 11.5 其他安全漏洞 11.5.1 密码破解 11.5.2 点击劫持 11.5.3 DoS攻击 11.5.4 后门程序

2017-11-21

《图解HTTP》完整彩色(文字编排版本)超清晰带书签版 .pdf

编辑推荐   172张图解轻松入门;   从基础知识到全新动向,一本书掌握HTTP协议;   Web前端开发者必备,从基础知识到全新动向一网打尽。 内容简介   《图灵程序设计丛书:图解HTTP》对互联网基盘——HTTP协议进行了全面系统的介绍。作者由HTTP协议的发展历史娓娓道来,严谨细致地剖析了HTTP协议的结构,列举诸多常见通信场景及实战案例,最后延伸到Web安全、全新技术动向等方面。《图解HTTP》的特色为在讲解的同时,辅以大量生动形象的通信图例,更好地帮助读者深刻理解HTTP通信过程中客户端与服务器之间的交互情况。读者可通过《图灵程序设计丛书:图解HTTP》快速了解并掌握HTTP协议的基础,前端工程师分析抓包数据,后端工程师实现REST API、实现自己的HTTP服务器等过程中所需的HTTP相关知识点本书均有介绍。   《图灵程序设计丛书:图解HTTP》适合Web开发工程师,以及对HTTP协议感兴趣的各层次读者。 作者简介   上野·宣 ,OWASP 日本分会会长,TRICORDER株式会社董事长。   主要从事安全咨询、风险评估、信息安全教育等工作。著有《今晚我们一起学习邮件协议》(今夜わかるメールプロトコル)、《今晚我们一起学习TCP/IP》(今夜わかるTCP/IP)、《今晚我们一起学习HTTP》(今夜わかるHTTP)。担任The Tangled Web:A Guide to Securing Modern Web Application日文版的审校工作。      于均良(译者),上海交通大学硕士,高级软件工程师,马拉松跑者,四点网创始人。 目录 第1章 了解Web及网络基础 1.1 使用HTTP协议访问Web 1.2 HTTP的诞生 1.2.1 为知识共享而规划Web 1.2.2 Web成长时代 1.2.3 驻足不前的HTTP 1.3 网络基础TCP/IP 1.3.1 TCP/IP协议族 1.3.2 TCP/IP的分层管理 1.3.3 TCP/IP通信传输流 1.4 与HTTP关系密切的协议:IP、TCP和DNS 1.4.1 负责传输的IP协议 1.4.2 确保可靠性的TCP协议 1.5 负责域名解析的DNS服务 1.6 各种协议与HTTP协议的关系 1.7 URI和URL 1.7.1 统一资源标识符 1.7.2 URI格式 第2章 简单的HTTP协议 2.1 HTTP协议用于客户端和服务器端之间的通信 2.2 通过请求和响应的交换达成通信 2.3 HTTP是不保存状态的协议 2.4 请求URI定位资源 2.5 告知服务器意图的HTTP方法 2.6 使用方法下达命令 2.7 持久连接节省通信量 2.7.1 持久连接 2.7.2 管线化 2.8 使用Cookie的状态管理 第3章 HTTP报文内的HTTP信息 3.1 HTTP报文 3.2 请求报文及响应报文的结构 3.3 编码提升传输速率 3.3.1 报文主体和实体主体的差异 3.3.2 压缩传输的内容编码 3.3.3 分割发送的分块传输编码 3.4 发送多种数据的多部分对象集合 3.5 获取部分内容的范围请求 3.6 内容协商返回最合适的内容 第4章 返回结果的HTTP状态码 4.1 状态码告知从服务器端返回的请求结果 4.2 2XX成功 4.2.1 200 OK 4.2.2 204 No Content 4.2.3 206 Partial Content 4.3 3XX重定向 4.3.1 301 Moved Permanently 4.3.2 302 Found 4.3.3 303 See Other 4.3.4 304 Not Modified 4.3.5 307 Temporary Redirect 4.4 4XX客户端错误 4.4.1 400 Bad Request 4.4.2 401 Unauthorized 4.4.3 403 Forbidden 4.4.4 404 Not Found 4.5 5XX服务器错误 4.5.1 500 Internal Server Error 4.5.2 503 Service Unavailable 第5章 与HTTP协作的Web服务器 5.1 用单台虚拟主机实现多个域名 5.2 通信数据转发程序:代理、网关、隧道 5.2.1 代理 5.2.2 网关 5.2.3 隧道 5.3 保存资源的缓存 5.3.1 缓存的有效期限 5.3.2 客户端的缓存 第6章 HTTP首部 6.1 HTTP报文首部 6.2 HTTP首部字段 6.2.1 HTTP首部字段传递重要信息 6.2.2 HTTP首部字段结构 6.2.3 4种HTTP首部字段类型 6.2.4 HTTP/1.1首部字段一览 6.2.5 非HTTP/1.1首部字段 6.2.6 End-to-end首部和Hop-by-hop首部 6.3 HTTP/1.1通用首部字段 6.3.1 Cache-Control 6.3.2 Connection 6.3.3 Date 6.3.4 Pragma 6.3.5 Trailer 6.3.6 Transfer-Encoding 6.3.7 Upgrade 6.3.8 Via 6.3.9 Warning 6.4 请求首部字段 6.4.1 Accept 6.4.2 Accept-Charset 6.4.3 Accept-Encoding 6.4.4 Accept-Language 6.4.5 Authorization 6.4.6 Expect 6.4.7 From 6.4.8 Host 6.4.9 If-Match 6.4.10 If-Modified-Since 6.4.11 If-None-Match 6.4.12 If-Range 6.4.13 If-Unmodified-Since 6.4.14 Max-Forwards 6.4.15 Proxy-Authorization 6.4.16 Range 6.4.17 Referer 6.4.18 TE 6.4.19 User-Agent 6.5 响应首部字段 6.5.1 Accept-Ranges 6.5.2 Age 6.5.3 ETag 6.5.4 Location 6.5.5 Proxy-Authenticate 6.5.6 Retry-After 6.5.7 Server 6.5.8 Vary 6.5.9 WWW-Authenticate 6.6 实体首部字段 6.6.1 Allow 6.6.2 Content-Encoding 6.6.3 Content-Language 6.6.4 Content-Length 6.6.5 Content-Location 6.6.6 Content-MD 6.6.7 Content-Range 6.6.8 Content-Type 6.6.9 Expires 6.6.10 Last-Modified 6.7 为Cookie服务的首部字段 6.7.1 Set-Cookie 6.7.2 Cookie 6.8 其他首部字段 6.8.1 X-Frame-Options 6.8.2 X-XSS-Protection 6.8.3 DNT 6.8.4 P3P 第7章 确保Web安全的HTTPS 7.1 HTTP的缺点 7.1.1 通信使用明文可能会被窃听 7.1.2 不验证通信方的身份就可能遭遇伪装 7.1.3 无法证明报文完整性,可能已遭篡改 7.2 HTTP+加密+认证+完整性保护=HTTPS 7.2.1 HTTP加上加密处理和认证以及完整性保护后即是HTTPS 7.2.2 HTTPS是身披SSL外壳的HTTP 7.2.3 相互交换密钥的公开密钥加密技术 7.2.4 证明公开密钥正确性的证书 7.2.5 HTTPS的安全通信机制 第8章 确认访问用户身份的认证 8.1 何为认证 8.2 BASIC认证 8.3 DIGEST认证 8.4 SSL客户端认证 8.4.1 SSL客户端认证的认证步骤 8.4.2 SSL客户端认证采用双因素认证 8.4.3 SSL客户端认证必要的费用 8.5 基于表单认证 8.5.1 认证多半为基于表单认证 8.5.2 Session管理及Cookie应用 第9章 基于HTTP的功能追加协议 9.1 基于HTTP的协议 9.2 消除HTTP瓶颈的SPDY 9.2.1 HTTP的瓶颈 9.2.2 SPDY的设计与功能 9.2.3 SPDY消除Web瓶颈了吗 9.3 使用浏览器进行全双工通信的WebSocket 9.3.1 WebSocket的设计与功能 9.3.2 WebSocket协议 9.4 期盼已久的HTTP/2. 9.5 Web服务器管理文件的WebDAV 9.5.1 扩展HTTP/1.1的WebDAV 9.5.2 WebDAV内新增的方法及状态码 第10章 构建Web内容的技术 10.1 HTML 10.1.1 Web页面几乎全由HTML构建 10.1.2 HTML的版本 10.1.3 设计应用CSS 10.2 动态HTML 10.2.1 让Web页面动起来的动态HTML 10.2.2 更易控制HTML的DOM 10.3 Web应用 10.3.1 通过Web提供功能的Web应用 10.3.2 与Web服务器及程序协作的CGI 10.3.3 因Java而普及的Servlet 10.4 数据发布的格式及语言 10.4.1 可扩展标记语言 10.4.2 发布更新信息的RSS/Atom 10.4.3 JavaScript衍生的轻量级易用JSON 第11章 Web的攻击技术 11.1 针对Web的攻击技术 11.1.1 HTTP不具备必要的安全功能 11.1.2 在客户端即可篡改请求 11.1.3 针对Web应用的攻击模式 11.2 因输出值转义不完全引发的安全漏洞 11.2.1 跨站脚本攻击 11.2.2 SQL注入攻击 11.2.3 OS命令注入攻击 11.2.4 HTTP首部注入攻击 11.2.5 邮件首部注入攻击 11.2.6 目录遍历攻击 11.2.7 远程文件包含漏洞 11.3 因设置或设计上的缺陷引发的安全漏洞 11.3.1 强制浏览 11.3.2 不正确的错误消息处理 11.3.3 开放重定向 11.4 因会话管理疏忽引发的安全漏洞 11.4.1 会话劫持 11.4.2 会话固定攻击 11.4.3 跨站点请求伪造 11.5 其他安全漏洞 11.5.1 密码破解 11.5.2 点击劫持 11.5.3 DoS攻击 11.5.4 后门程序

2017-11-21

SoapUI-5.3.0.dmg

SoapUI-5.3.0.dmg SoapUI-5.3.0.dmg SoapUI-5.3.0.dmg

2017-11-20

SoapUI-x32-5.3.0.sh Linux 32位

SoapUI-x32-5.3.0.sh SoapUI-x32-5.3.0.sh SoapUI-x32-5.3.0.sh

2017-11-20

SoapUI-x64-5.3.0.sh Linux 64位

SoapUI-x64-5.3.0.sh Linux 64位 SoapUI-x64-5.3.0.sh Linux 64位 SoapUI-x64-5.3.0.sh Linux 64位

2017-11-20

SoapUI-x32-5.3.0.exe

SoapUI-x32-5.3.0.exe SoapUI-x32-5.3.0.exe SoapUI-x32-5.3.0.exe

2017-11-20

Python开发实战 BePROUD股份有限公司 人民邮电出版社.pdf

计算机书籍 《python开发实战》来自真正的开发现场,是beproud 公司众多极客在真实项目中的经验总结。 作者从python 的环境搭建讲起,介绍了web 应用开发方法、任务管理,以及评审、测试及高效部署、服务器调试等内容,尽可能网罗了python 开发流程中所涉及的方方面面。在这里,python 仅仅是一个载体,很多知识点在非python 下也适用,这也是本书最大的特色所在。 《python开发实战》适合有一定基础的python 开发者,以及使用php 或ruby 进行网页开发的读者阅读。 目录 《python开发实战》 第一部分 使用python开发 01 开始使用python  2 01.01 python环境搭建  2 01.01.01 安装apt软件包  2 01.01.02 easy_install 与pip  3 01.01.03 安装virtualenv  4 01.01.04 使用不同版本的python  9 01.02 mercurial环境搭建  12 01.02.01 mercurial的简介  12 01.02.02 mercurial的安装  12 01.02.03 代码库的建立  13 01.02.04 文件的操作  14 01.03 编辑器与方便的开发工具  17 01.03.01 编辑器  17 01.03.02 python开发小贴士  19 01.04 本章小结  22 02 开发web应用程序  23 02.01 了解web应用程序  23 02.01.01 什么是web应用程序  23 02.01.02 web应用程序与桌面应用程序的不同  24 02.01.03 web应用程序的机制  24 02.02 web应用程序开发的事前准备  27 02.02.01 关于flask  27 02.02.02 flask的安装  27 02.03 web应用程序的开发流程  28 02.04 明确需要开发的目标系统  28 02.04.01 留言簿应用程序的需求  28 02.04.02 明确必要的功能  29 02.04.03 明确页面的表现形式  29 02.05 页面设计  29 02.05.01 页面设计草图  30 02.05.02 设计html和css  30 02.06 后台功能的开发  35 02.06.01 保存评论数据  35 02.06.02 取出保存过的评论数据  36 02.06.03 使用模板引擎显示页面  37 02.06.04 准备评论的目标url地址  39 02.06.05 调整模板输出  40 02.07 功能验证  41 02.08 本章小结  42 第二部分 团队开发的周期和流程 03 准备团队开发环境  46 03.01 在公共服务器上建立用户、设置权限  46 03.01.01 用户与用户组的建立  46 03.01.02 sudoers  46 03.01.03 virtualenv  47 03.02 问题跟踪系统  47 03.02.01 trac  48 03.02.02 安装trac  48 03.03 版本控制系统  51 03.04 有利于团队开发的工具  52 03.04.01 skype  52 03.04.02 dropbox  53 03.04.03 google docs  54 03.05 本章小结  54 04 编写开发文档的准备  55 04.01 编写项目开发文档  55 04.01.01 在写文档时,我们不想做什么工作  55 04.01.02 愿意在什么样的条件下编写文档  57 04.02 sphinx的基础与安装  58 04.02.01 sphinx的安装  58 04.02.02 restructuredtext入门  60 04.02.03 使用sphinx编写结构化文档的流程  61 04.02.04 sphinx的扩展  66 04.03 引入sphinx后解决的问题与新的问题  67 04.03.01 采用纯文本,可使用一般的编辑器来写文档  67 04.03.02 内容与形式分离,不关注文档形式而专注于内容的编写  68 04.03.03 不仅仅是pdf,通过一个源可以输出多种格式  71 04.03.04 将文档分割成多个文件编辑,进行结构化处理  72 04.03.05 通过mercurial进行简单的版本控制  73 04.03.06 将api参考手册和对应程序协同管理  73 04.03.07 一般文档可通过web浏览器共享  76 04.03.08 sphinx引入后仍需探讨的问题  76 04.04 文档集合的创建与利用  77 04.04.01 什么是文档集合  78 04.04.02 项目中必不可少的文档列表  78 04.04.03 面向团队领导、经理  79 04.04.04 面向设计人员  80 04.04.05 面向开发人员  80 04.04.06 面向用户  81 04.05 本章小结  81 05 问题跟踪与评审  82 05.01 任务管理与ticket驱动开发  82 05.01.01 开始写代码……在这之前还是先创建一个ticket  82 05.01.02 创建和ticket编号一致的分支  83 05.01.03 让版本发布与分支对应  84 05.01.04 分支的合并  84 05.01.05 整理ticket信息  86 05.01.06 ticket 的分割  86 05.02 评审  87 05.02.01 为什么需要评审  87 05.02.02 作为被评审人:代码评审篇  87 05.02.03 作为被评审人:工作评审篇  88 05.02.04 作为评审人:代码评审篇  89 05.02.05 作为评审人:工作评审篇  92 05.03 本章小结  92 06 模块的分割设计与单元测试  93 06.01 模块分割设计方法  93 06.01.01 功能设计  93 06.01.02 web应用程序的构成组件  94 06.01.03 组件设计  96 06.01.04 模块与包  97 06.02 测试  99 06.02.01 测试的种类  99 06.02.02 编写单元测试  101 06.02.03 从单元测试中去除环境依赖  109 06.02.04 使用webtest进行功能测试  114 06.03 从测试来改善设计  118 06.04 迈向测试执行的自动化  120 06.04.01 测试环境的自动生成  120 06.04.02 可以反复执行的测试环境  121 06.05 本章小结  121 07 打包与自动建立环境  122 07.01 源代码打包与发布自动化  123 07.01.01 打包  123 07.01.02 程序包的自动化发布  127 07.01.03 向pypi注册程序包  128 07.01.04 向pypi上传程序包  128 07.01.05 书写程序包的使用说明  129 07.02 安装与环境关联库的介绍  131 07.02.01 distribute  132 07.02.02 pip  133 07.02.03 virtualenv  134 07.03 应用环境自动构建所必备的功能与工具  135 07.03.01 准备独立的python环境  135 07.03.02 python库的程序包化以及标准安装  136 07.03.03 锁定应用环境的程序包版本  136 07.03.04 整个环境可以离线安装  136 07.03.05 重建环境时可以复用缓存  137 07.03.06 使用编译好的二进制模块  138 07.03.07 当pypi宕机或高峰时,有备用服务器  138 07.04 自动应用环境构建  140 07.04.01 开始  140 07.04.02 构建初始环境  140 07.04.03 包含源代码的应用环境  141 07.04.04 在部署环境中的离线安装  143 07.04.05 安装部署需要二进制编译的程序包  144 07.05 公司内部共享专用库  144 07.05.01 在多个项目间共享代码的方法  145 07.05.02 自动建立非公开程序包的应用环境  149 07.06 本章小结  152 08 使用mercurial管理源代码  153 08.01 mercurial的代码库管理与配置  153 08.01.01 在服务器上设置unix用户与用户组  153 08.01.02 设置umask值  154 08.01.03 创建代码库  154 08.01.04 配置hgrc  155 08.01.05 使用配置后的代码库  155 08.01.06 使用hgweb作为简易的中央代码库  155 08.02 灵活使用钩子功能  156 08.02.01 钩子功能的设置方法  157 08.02.02 使用钩子脚本  157 08.02.03 钩子事件  157 08.02.04 钩子执行的时机  159 08.02.05 编写钩子脚本  161 08.03 分支操作  164 08.04 分支间的合并  165 08.04.01 没有冲突的合并  165 08.04.02 用文本编辑器消除合并冲突  167 08.04.03 合并的模式与冲突的种类  169 08.04.04 使用图形界面合并的方法  170 08.05 gui客户端  173 08.05.01 gui客户端的介绍  173 08.05.02 gui客户端的优点  176 08.05.03 gui客户端的缺点  179 08.05.04 hgwebcommit  180 08.06 考虑实际运用而产生的bp mercurial w/f  182 08.06.01 概要  182 08.06.02 背景  183 08.06.03 代码库的构成  183 08.06.04 源代码提交  184 08.06.05 设计师的提交操作  186 08.06.06 分支的合并  187 08.06.07 集成分支  188 08.07 本章小结  189 09 使用jenkins持续集成  192 09.01 什么是持续集成  192 09.01.01 关于持续集成  192 09.01.02 关于jenkins  194 09.02 jenkins的安装  194 09.02.01 安装java  194 09.02.02 安装jenkins主体程序  194 09.02.03 本章用到的jenkins插件  195 09.03 执行测试代码  195 09.03.01 简单测试代码的示例  195 09.03.02 注册作业  196 09.03.03 作业执行成功与失败  198 09.04 测试结果通过报表输出  199 09.04.01 安装nose  199 09.04.02 调用nosetests命令  199 09.04.03 为使用nose修改jenkins配置  200 09.05 展示代码覆盖率报告  201 09.05.01 coverage的安装  201 09.05.02 coverage命令的概述:分为“统计”和“输出”两步  201 09.05.03 通过nose执行coverage  201 09.05.04 读取代码覆盖率的报告  202 09.06 执行django测试  204 09.06.01 django模块的安装  204 09.06.02 django的安装  204 09.06.03 样本代码  205 09.06.04 jenkins的创建  208 09.06.05 “构建后处理”部分的配置  210 09.07 通过jenkins构建文档  212 09.07.01 sphinx的安装  212 09.07.02 配置jenkins作业的注册信息  212 09.07.03 sphinx的构建在出现告警时作业失败  213 09.07.04 查阅编译成果  214 09.07.05  使用task scanner plugin管理todo信息  215 09.07.06 task scanner plugin的配置示例  216 09.08 进一步灵活使用jenkins  216 09.08.01 便捷的功能  216 09.08.02 进一步的改善  218 09.09 本章小结  219 第三部分 服务的公开 10 自动构建和部署环境  222 10.01 安装与配置具有依赖关系的程序包  222 10.01.01 创建操作用户  223 10.01.02 列举必要的程序包  224 10.01.03 封闭环境的安装  226 10.01.04 应用程序的配置  228 10.01.05 环境验证  231 10.02 整理部署的操作步骤  231 10.02.01 赋予代码库访问权限  232 10.02.02 克隆源代码库  232 10.02.03 部署方法总结  232 10.03 使用fabric将操作步骤自动化  233 10.03.01 什么是fabric  233 10.03.02 安装与环境配置  233 10.03.03 编写简单的脚本  234 10.03.04 参考步骤说明书进行自动化  234 10.03.05 验证执行行为  238 10.03.06 添加注释  238 10.04 本章小结  239 11 改善应用程序的性能  240 11.01 web应用程序的性能  240 11.01.01 web应用遭遇大量请求时会如何  240 11.01.02 高负载时的对策  241 11.02 留言簿应用程序的性能测试  242 11.02.01 什么是应用程序的性能  242 11.02.02 apachebench的安装  242 11.02.03 使用apachebench检测性能  242 11.03 关于gunicorn  245 11.03.01 gunicorn的安装  245 11.03.02 使用gunicorn运行应用程序  245 11.04 关于nginx  247 11.04.01 nginx的安装  248 11.04.02 nginx的性能测试  248 11.05 使用nginx和gunicorn共同承载应用程序  250 11.05.01 gunicorn的配置  250 11.05.02 nginx的配置  251 11.05.03 测定nginx+gunicorn组合的性能  251 11.05.04 性能的比较  252 11.06 本章小结  253 12 google app engine  254 12.01 关于app engine  254 12.01.01 什么是app engine  254 12.01.02 app engine的优点  255 12.01.03 app engine平台的局限性  255 12.01.04 使用案例  256 12.02 app engine的主要功能  256 12.02.01 数据存储  256 12.02.02 自动扩展与负载分散  257 12.02.03 在app engine中的python运行环境  259 12.03 app engine的开发准备工作与步骤确认  260 12.03.01 获取账号并开发程序  260 12.03.02 创建sdk  263 12.03.03 开发简单的应用程序  264 12.03.04 部署  266 12.04 在app engine中开发flask的应用程序  267 12.04.01 使已有的应用程序运行  267 12.04.02 部署并运行  271 12.04.03 管理终端  272 12.05 调整:改善应用程序性能  274 12.05.01 根据appstats进行性能测试  274 12.05.02 使用多线程来处理  276 12.06 性能调优:减少计费额  277 12.06.01 与计费有关的配置  277 12.06.02 计费表  277 12.06.03 节约实例的数量  279 12.06.04 减少数据存储的操作  280 12.07 测试  282 12.07.01 在测试代码内使用api  282 12.07.02 测试的执行  284 12.07.03 在真实服务器上测试  285 12.08 本章小结  285 第四部分 加速开发的技术 13 测试是不可分割的一部分  288 13.01 认清测试现状  288 13.02 在开发的各个阶段引入测试工作  289 13.02.01 文档的测试(文档评审)  289 13.02.02 编写测试的方法(输入与输出)  292 13.02.03 测试的执行与测试阶段的轮换(把什么工作做到什么程度)  295 13.03 本章小结:对测试不要抱有恐惧  298 14 便捷地使用django  300 14.01 什么是django  300 14.01.01 django的安装  300 14.01.02 django的架构  300 14.01.03 django的文档  304 14.02 让数据库的集成更加方便  304 14.02.01 什么是数据库的集成  304 14.02.02 默认情况下django能做什么  304 14.02.03 对,就是它,使用south就能够做到  305 14.03 使用fixture replacement使测试更加方便  312 14.03.01 什么是测试配置器(fixture)  312 14.03.02 默认测试配置器的不便之处  314 14.03.03 使用factory_boy  315 14.04 使调试更加方便  318 14.05 本章小结  324 15 使用方便的python模块  325 15.01 简化日期计算的模块  325 15.01.01 日期计算的复杂之处  325 15.01.02 引入dateutil  327 15.02 简化模型映射的模块  329 15.02.01 必须进行模型映射的理由  329 15.02.02 映射规则的构造与复用  330 15.02.03 导入bpmappers模块  333 15.02.04 与django的联动  335 15.02.05 编写json api  336 15.03 判断字符的编码  337 15.04 rss阅读订阅的解析模块  339 15.04.01 导入feedparser模块  339 15.04.02 使用feedparser解析rss阅读订阅信息  339 15.05 图像处理模块  340 15.05.01 安装pil模块  340 15.05.02 转换图像格式  341 15.05.03 调整图像的尺寸  342 15.05.04 截取图像的某个部分  344 15.05.05 图像的过滤处理  345 15.06 数据的加密处理模块  346 15.06.01 pycrypto的安装  346 15.06.02 共同密钥的加密与解密  347 15.06.03 公开密钥方式的加密与解密  347 15.07 调用twitter的api模块  351 15.07.01 导入tweepy模块  351 15.07.02 应用程序的登录域和consumer key的获取  351 15.07.03 获得access token  354 15.07.04 调用twitterapi  354 15.07.05 开发使用twitter认证的应用程序  356 15.08 本章小结  361 附录a 建立virtualbox环境  362 附录b 建立操作系统环境  366

2017-11-20

spring-boot-reference 2.0 官方文档(英文)

包含: 1.spring-boot-reference.pdf 2.spring-boot-reference.epub 3.Spring Boot Reference Guide.html

2017-11-20

官网下载:Windows-KB841290-x86-ENU.zip

Windows-KB841290-x86-ENU.exe MD5值:58dc4df814685a165f58037499c89e76 --------------------------------------------------------- Version: 1.0 File Name: Windows-KB841290-x86-ENU.exe Date Published: 8/22/2012 File Size: 117 KB ---------------------------------------------------------- Microsoft (R) File Checksum Integrity Verifier V2.05 README file ================================================================ 1.What is File Checksum Integrity Verifier (FCIV)? 2.Features. 3.Syntax. 4.Database storage format. 5.Verification. 6.History. 1.What is fciv? --------------- Fciv is a command line utility that computes and verifies hashes of files. It computes a MD5 or SHA1 cryptographic hash of the content of the file. If the file is modified, the hash is different. With fciv, you can compute hashes of all your sensitive files. When you suspect that your system has been compromised, you can run a verification to determine which files have been modified. You can also schedule verifications regularily. 2.Features: ----------- - Hash algorithm: MD5 , SHA1 or both ( default MD5). - Display to screen or store hash and filename in a xml file. - Can recursively browse a directory ( ex fciv.exe c:\ -r ). - Exception list to specify files or directories that should not be computed. - Database listing. - hashes and signature verifications. - store filename with or without full path. 3.Syntax: --------- Usage: fciv.exe [Commands] Commands: ( Default -add ) -add : Compute hash and send to output (default screen). dir options: -r : recursive. -type : ex: -type *.exe. -exc file: list of directories that should not be computed. -wp : Without full path name. ( Default store full path) -bp : base path. The base path is removed from the path name of each entry -list : List entries in the database. -v : Verify hashes. : Option: -bp basepath. -? -h -help : Extended Help. Options: -md5 | -sha1 | -both : Specify hashtype, default md5. -xml db : Specify database format and name. To display the MD5 hash of a file, type fciv.exe filename Compute hashes: fciv.exe c:\mydir\myfile.dll fciv.exe c:\ -r -exc exceptions.txt -sha1 -xml dbsha.xml fciv.exe c:\mydir -type *.exe fciv.exe c:\mydir -wp -both -xml db.xml List hashes stored in database: fciv.exe -list -sha1 -xml db.xml Verifications: fciv.exe -v -sha1 -xml db.xml fciv.exe -v -bp c:\mydir -sha1 -xml db.xml 4.Database storage format: -------------------------- xml file. The hash is stored in base 64. <?xml version="1.0" encoding="utf-8"?> 5.Verification: --------------- You can build a hash database of your sensitive files and verify them regularily or when you suspect that your system has been compromised. It checks each entry stored in the db and verify that the checksum was not modified. 6. History: ----------- Fciv 1.2 : Added event log. Fciv 1.21: Fixed bad keyset error on some computers. Fciv 1.22: Added -type option. Support up to 10 masks. *.exe *.dll ... Fciv 2.0: xml as unique storage. Added -both option. Fciv 2.01: Exit with error code to allow detections of problem in a script. Fciv 2.02: Improved perfs. When both alg are specified, it's now done in one pass. Fciv 2.03: Added -wp and -bp options. Fciv now stores full path or relatives paths. Fciv 2.04: Removed several options to simplify it. Fciv 2.05: Added success message if the verification did not detect any errors.

2017-11-20

springsource-tool-suite-3.9.1.RELEASE-e4.7.1a-updatesite.zip

springsource tool suite-3.9.1.RELEASE e4.7.1a 针对eclipse:e4.7.1a版本 springsource-tool-suite-3.9.1.RELEASE-e4.7.1a-updatesite.zip springsource-tool-suite-3.9.1.RELEASE-e4.7.1a-updatesite.zip

2017-11-19

官网下载 springsource-tool-suite-3.9.1.RELEASE-e4.6.3-updatesite.zip

springsource-tool-suite-3.9.1.RELEASE-e4.6.3-updatesite.zip 官方下载:针对eclipse4.6.3

2017-11-19

Building-Applications-with-Spring-5-and-Vue-js-2-master.rar

Building-Applications-with-Spring-5-and-Vue_js-2-master.rar 作者: James J. Ye 出版社: Packt Publishing 副标题: Build a modern, full-stack web application using Spring Boot and Vuex 内容简介 Become efficient in both frontend and backend web development with Spring and Vue Key Features Connect application’s frontend and backend with Vue, Vuex, and Spring Boot Leverage the latest web standards to enhance code performance, readability, and cross-compatibility

2023-03-01

The Java Language Specification, Java SE 12 Edition.rar

The Java Language Specification, Java SE 12 Edition.rar java 12 规范

2019-07-27

The Java Language Specification, Java SE 11 Edition.rar

The Java Language Specification, Java SE 11 Edition.rar java 11 规范

2019-07-27

The Java Language Specification, Java SE 10 Edition.rar

The Java Language Specification, Java SE 10 Edition.rar java 10 规范

2019-07-27

The Java Language Specification, Java SE 9 Edition.rar

The Java Language Specification, Java SE 9 Edition.rar java9规范

2019-07-27

The Java Language Specification, Java SE 8 Edition.rar

The Java Language Specification, Java SE 8 Edition.rar java8 规范

2019-07-27

The Java Language Specification, Java SE 7 Edition.rar

The Java Language Specification, Java SE 7 Edition.rar java 7 规范

2019-07-27

The Java Language Specification, Java SE 6 Edition.rar

The Java Language Specification, Java SE 6 Edition.rar java 6 规范

2019-07-27

The Java® Virtual Machine Specification Java SE 12 Edition.rar

The Java® Virtual Machine Specification Java SE 12 Edition.rar JVM 12 规范

2019-07-26

The Java® Virtual Machine Specification Java SE 11 Edition.rar

The Java® Virtual Machine Specification Java SE 11 Edition.rar JVM11规范

2019-07-26

The Java® Virtual Machine Specification Java SE 10 Edition.rar

The Java® Virtual Machine Specification Java SE 10 Edition.rar JVM10规范

2019-07-26

The Java® Virtual Machine Specification Java SE 9 Edition.rar

The Java® Virtual Machine Specification Java SE 9 Edition.rar

2019-07-26

The Java® Virtual Machine Specification Java SE 8 Edition.rar

The Java® Virtual Machine Specification Java SE 8 Edition.pdf JVM8 JVM 8 规范

2019-07-26

The Java® Virtual Machine Specification Java SE 7 Edition.rar

The Java® Virtual Machine Specification Java SE 7 Edition.pdf JVM 规范 版本7

2019-07-26

HibernateValidatorJSR303的参考实现使用指南.pdf

HibernateValidatorJSR303的参考实现使用指南.pdf JSR 303 的参考实现 使用指南 由 Hardy Ferentschik和Gunnar Morling and thanks to Shaozhuang Liu 4.3.1.Final 版权 © 2009 - 2011 Red Hat, Inc. & Gunnar Morling June 20, 2011 序言 1. 开始入门 1.1. 第一个Maven项目 1.2. 添加约束 1.3. 校验约束 1.4. 更进一步 2. Validation step by step 2.1. 定义约束 2.1.1. 字段级(field level) 约束 2.1.2. 属性级别约束 2.1.3. 类级别约束 2.1.4. 约束继承 2.1.5. 对象图 2.2. 校验约束 2.2.1. 获取一个Validator的实例 2.2.2. Validator中的方法 2.2.3. ConstraintViolation 中的方法 2.2.4. 验证失败提示信息解析 2.3. 校验组 2.3.1. 校验组序列 2.3.2. 对一个类重定义其默认校验组 2.4. 内置的约束条件 2.4.1. Bean Validation constraints 2.4.2. Additional constraints 3. 创建自己的约束规则 3.1. 创建一个简单的约束条件 3.1.1. 约束标注 3.1.2. 约束校验器 3.1.3. 校验错误信息 3.1.4. 应用约束条件 3.2. 约束条件组合 4. XML configuration 4.1. validation.xml 4.2. 映射约束 5. Bootstrapping 5.1. Configuration 和 ValidatorFactory 5.2. ValidationProviderResolver 5.3. MessageInterpolator 5.3.1. ResourceBundleLocator 5.4. TraversableResolver 5.5. ConstraintValidatorFactory 6. Metadata API 6.1. BeanDescriptor 6.2. PropertyDescriptor 6.3. ElementDescriptor 6.4. ConstraintDescriptor 7. 与其他框架集成 7.1. OSGi 7.2. 与数据库集成校验 7.3. ORM集成 7.3.1. 基于Hibernate事件模型的校验 7.3.2. JPA 7.4. 展示层校验 8. Hibernate Validator Specifics 8.1. Public API 8.2. Fail fast mode 8.3. Method validation 8.3.1. Defining method-level constraints 8.3.2. Evaluating method-level constraints 8.3.3. Retrieving method-level constraint meta data 8.4. Programmatic constraint definition 8.5. Boolean composition for constraint composition 9. Annotation Processor 9.1. 前提条件 9.2. 特性 9.3. 配置项 9.4. 使用标注处理器 9.4.1. 命令行编译 9.4.2. IDE集成 9.5. 已知问题 10. 进一步阅读

2017-12-04

【美】Hadoop应用架构 [美] 马克·格洛沃 泰德·马拉斯卡乔纳森·西德曼著郭文超 译.pdf

内容简介   本书就使用Apache Hadoop端到端数据管理方案提供专业架构指导。其他书籍大多针对Hadoop生态系统中的软件,讲解较为单一的使用方法,而本书偏重实践,在架构的高度详细阐释诸多工具如何相互配合,搭建出打磨之后的完整应用。书中提供了诸多案例,易于理解,配有详细的代码解析,知识点一目了然。   为加强训练,本书后半部分提供了详细的案例,涵盖常见的Hadoop应用架构。无论是设计Hadoop应用,还是将Hadoop同现有数据基础架构集成,本书都可以提供详实的参考。 作者简介   Mark Grover,Apache Sentry项目管理委员会成员,《Hive编程指南》作者之一,曾参与Apache Hadoop、Apache Hive、Apache Sqoop以及Apache Flume等项目,并为Apache Bigtop项目和Apache Sentry(项目孵化中)项目贡献代码。   Ted Malaska,Cloudera公司的解决方案架构师,致力于帮助客户更好地掌握Hadoop及其生态系统。曾任美国金融业监管局(FINRA,Financial Industry Regulatory Authority)首席架构师,指导建设了包括网络应用、服务型架构以及大数据应用在内的大量解决方案。曾为Apache Flume、Apache Avro、YARN以及Apache Pig等项目贡献代码。   Jonathan Seidman,Cloudera公司的解决方案架构师,协助合作伙伴将的解决方案集成到Cloudera的软件栈中。芝加哥Hadoop用户组(Chicago Hadoop User Group)及芝加哥大数据(Chicago Big Data)的联合创始人、《Hadoop实战》技术编辑。曾任Orbiz Worldwide公司大数据团队技术主管,为繁忙的站点管理了承载海量数据的Hadoop集群。也曾多次在Hadoop及大数据专业会议上发言。   Gwen Shapira,Cloudera公司的解决方案架构师,知名博主,拥有15年从业经验,协助客户设计高扩展性的数据架构。曾任Pythian高级顾问、Oracle ACE主管以及NoCOUG董事会成员,活跃于诸多业内会议。 目录 Hadoop应用架构(郭文超) 进入审阅模式 序 前言 第一部分 考虑Hadoop应用的架构设计 第一章 Hadoop数据建模 第二章 Hadoop数据移动 第三章 Hadoop数据处理 第四章 常见Hadoop处理范式 第五章 Hadoop图处理 第六章 协调调度 第七章 Hadoop近实时处理 第二部分 案例研究 第八章 点击流分析 第九章 欺诈检测 第十章 数据仓库 附录 A Impala中的关联 索引 作者简介

2017-11-28

【美】系统架构-复杂系统的产品设计与开发 爱德华·克劳利 爱飞翔 2016-12-1 P469.pdf

内容简介 · · · · · · 本书由系统架构领域3位领军人物亲笔撰写,该领域资深专家Norman R. Augustine作序推荐,Amazon全五星评价。 全书共分四部分。 第一部分(第1~3章)的重点是引出系统架构。第1章通过一些范例来展示架构理念,指出良好的架构,并给出本书的概要;第2章列出进行系统分析必备的思路;第3章给出分析系统架构所用的思维模式。 第二部分(第4~8章)着重对架构进行分析。第4章讨论系统的形式;第5章讨论系统的功能;第6章讲解形式与功能之间的映射,并以此给出系统架构的定义;第7章研究如何从独立于解决方案的功能陈述中衍生出系统;第8章演示怎样把这些概念汇聚成一套架构。 第三部分(第9~13章)讲解如何为复杂的系统定义架构。第9章从任务和可交付成果这两方面来概述架构师的职责;第10章探讨如何把组织机构方面的接口当成在架构中减少歧义的契机;第11章讲述如何用系统化的方式来捕获利益相关者的需求,并把它们转换成系统目标;第12章提出一些能够帮助架构师更有创意地构思并选择概念的手段;第13章讲述在开发系统时管理复杂度的一些办法。 第四部分(第14~16章)探寻帮助架构师做决策的各种计算方法及工具所具备的潜力。第14章把系统架构的过程当成一种决策制定的过程来进行讲解;第15章讲解如何对架构权衡空间中的信息进行综合;第16章演示怎样把架构决策编码成一套模型,使计算机可以根据该模型自动生成权衡空间并对其进行探索。 作者简介 · · · · · · Edward Crawley是俄罗斯莫斯科斯科尔科沃科学与技术学院的校长,也是麻省理工学院航空航天学及工程系统学教授。他从麻省理工学院获得航空与航天专业的学士学位及硕士学位,并获得航空航天结构专业的博士学位。Crawley教授是美国航天航空学会及英国皇家航空学会的会员,也是瑞典皇家工程科学院、英国皇家工程学院、中国工程院及美国国家工程院的成员。 Bruce Cameron是咨询公司Technology Strategy Partners的创始人,也是MIT System Architecture Lab的董事。Cameron博士从多伦多大学获得学士学位,从麻省理工学院获得硕士学位。Cameron博士在麻省理工学院的斯隆管理学院及工程学院讲授系统架构与技术策略课程,是多伦多大学董事会的前成员。 Daniel Selva是康奈尔大学机械与航天工程系的副教授。他从加泰罗尼亚大学、法国国立高等航空航天学院及麻省理工学院获得电气工程与航空工程学位。Selva教授的研究重点是在设计活动的初期运用系统架构、知识工程与机器学习工具。他的研究成果运用于NASA的地球科学十年调查、Iridium GeoScan Program及NASA的跟踪与数据中继卫星系统等项目。在这些项目中,他利用架构分析技术来为系统架构师和管理者提供支持。 目录 · · · · · · 目录 系统架构原则 译者序 推荐序 前言 致谢 作者介绍 第一部分系统思维 第1章 系统架构简介……2 1.1 复杂系统的架构……2 1.2 良好架构的优势……2 1.3 学习目标……5 1.4 本书结构……6 1.5 参考资料……7 第2章 系统思维……8 2.1 简介……8 2.2 系统与涌现……8 2.2.1 系统……8 2.2.2 涌现……10 2.3 任务一:确定系统及其形式与功能……13 2.3.1 形式与功能……13 2.3.2 工具-过程-操作数:这是人类的标准思维模式吗……16 2.4 任务二:确定系统中的实体及其形式与功能……16 2.4.1 具备形式与功能的实体……17 2.4.2 确定如何将系统初步分解为恰当的实体……18 2.4.3 用整体思维找出系统中的潜在实体……19 2.4.4 集中注意力,找出系统中的重要实体……21 2.4.5 为实体创建抽象或从实体中发现抽象……22 2.4.6 定义系统的边界,并将其与外围环境隔开……24 2.5 任务三:确定实体之间的关系……25 2.5.1 关系的形式与功能……25 2.5.2 外部接口……28 2.6 任务四:涌现……28 2.6.1 涌现的重要性……28 2.6.2 系统故障……29 2.6.3 预测涌现物……30 2.6.4 涌现物依赖于实体及其关系……31 2.7 小结……32 2.8 参考资料……33 第3章 思考复杂的系统……34 3.1 简介……34 3.2 系统中的复杂度……34 3.2.1 复杂度……34 3.2.2 引入TeamXT这一范例系统……35 3.3 系统的分解……38 3.3.1 分解……38 3.3.2 体系……39 3.3.3 层级分解……39 3.3.4 简单的系统、复杂度适中的系统以及复杂的系统……41 3.3.5 原子部件……42 3.4 特殊的逻辑关系……43 3.4.1 类/实例关系……43 3.4.2 特化关系……43 3.4.3 递归……44 3.5 对复杂系统进行思索……44 3.5.1 自顶向下及自底向上式的思考……44 3.5.2 交替思考……45 3.6 架构展示工具:SysML与OPM……45 3.6.1 视图与投射……45 3.6.2 SysML……46 3.6.3 OPM……46 3.7 小结……49 3.8 参考资料……50 第二部分 系统架构的分析 第4章 形式……53 4.1 简介……53 4.2 架构中的形式……53 4.2.1 形式……53 4.2.2 用解析表示法来表现形式:对象……56 4.2.3 形式的分解……57 4.3 对架构中的形式进行分析……58 4.3.1 定义系统……58 4.3.2 确定形式实体……59 4.3.3 把泵作为复杂度适中的系统来分析……61 4.4 对架构中的形式关系进行分析……63 4.4.1 形式关系……63 4.4.2 空间/拓扑形式关系……65 4.4.3 用图和图表来展现形式关系:OPM……67 4.4.4 用表格及类似矩阵的视图来展现形式关系:DSM……70 4.4.5 连接性的形式关系……71 4.4.6 其他的形式关系……74 4.5 形式环境……75 4.5.1 伴生系统、整个产品系统及系统边界……75 4.5.2 使用情境……77 4.6 软件系统中的形式……77 4.6.1 软件系统:信息形式及其二元性……77 4.6.2 软件中的形式实体与形式关系……79 4.6.3 软件系统所在的整个产品系统、软件系统的边界及使用情境……81 4.7 小结……82 4.8 参考资料……82 第5章 功能……83 5.1 简介……83 5.2 架构中的功能……84 5.2.1 功能……84 5.2.2 把功能视为过程加操作数……84 5.2.3 用解析表示法来展现功能……85 5.3 分析对外展现的功能和价值……89 5.3.1 对外界展现的主要功能……89 5.3.2 与价值有关的操作数……90 5.4 对内部功能进行分析……93 5.4.1 内部功能……93 5.4.2 确定内部功能……94 5.5 分析功能交互及功能架构……97 5.5.1 功能交互与功能架构……97 5.5.2 确定功能交互……98 5.5.3 价值通路……100 5.5.4 涌现与细分……101 5.5.5 软件系统中的功能架构……102 5.6 与价值相关的次要外部功能及内部功能……105 5.7 小结……106 5.8 参考资料……107 第6章 系统架构……108 6.1 简介……108 6.2 系统架构:形式与功能……109 6.2.1 形式与功能之间的映射……109 6.2.2 确定形式与过程之间的映射……114 6.2.3 形式结构承载并展现功能交互……116 6.2.4 确定形式结构是如何承载功能和性能的……118 6.3 系统架构中的非理想因素、支持层及接口……119 6.3.1 系统架构中的非理想因素……119 6.3.2 系统架构中的支持功能及支持层……120 6.3.3 形式与功能中的系统接口……121 6.4 操作行为……123 6.4.1 操作者……124 6.4.2 行为……124 6.4.3 操作成本……126 6.5 用各种表示法来推究系统架构……127 6.5.1 能够对系统架构进行简化的几种方式……127 6.5.2 用投射法来表示系统的架构……128 6.5.3 把过程投射到对象……129 6.5.4 把过程和操作数投射到形式……130 6.6 小结……133 6.7 参考资料……134 第7章 与特定解决方案无关的功能和概念……135 7.1 简介……135 7.1.1 正向工程与更加复杂的系统……135 7.1.2 对与特定解决方案无关的功能和概念所做的介绍……136 7.2 确定与特定解决方案无关的功能……138 7.3 概念……140 7.3.1 作为一种观念的概念……140 7.3.2 对概念构想有所帮助的框架……142 7.3.3 构想概念时所应依循的步骤……144 7.3.4 为概念命名……145 7.3.5 对候选的概念进行整理……146 7.3.6 由更为广阔的概念所形成的体系……150 7.4 整体概念……152 7.5 操作概念与服务概念……156 7.6 小结……158 7.7 参考资料……159 第8章 从概念到架构……160 8.1 简介……160 8.2 研发系统之下第1级的架构……161 8.2.1 把概念扩展为功能架构……161 8.2.2 定义形式……162 8.2.3 把功能映射为形式……164 8.3 研发系统之下第2级的架构……166 8.3.1 第2级的功能意图以及对第2级所做的递归思考……166 8.3.2 研发第2级中的架构……166 8.4 家庭数据网络系统的第2级架构……170 8.5 为系统之下的第1级架构做模块化处理……173 8.6 小结……176 8.7 参考资料……177 第三部分 创建系统架构 第9章 架构师的角色……180 9.1 简介……180 9.2 歧义与架构师的角色……180 9.2.1 架构师的角色……180 9.2.2 减少歧义……182 9.2.3 架构师可以交付的成果……185 9.3 产品开发过程……186 9.3.1 各企业所使用的PDP之间的异同……187 9.3.2 通用的产品开发过程……191 9.4 小结……195 9.5 参考资料……199 第10章 上游和下游对系统架构的影响……200 10.1 简介……200 10.2 上游的影响因素:公司策略……201 10.3 上游的影响因素:营销……204 10.3.1 内向营销……205 10.4 上游的影响因素:法规及类似法规的因素……207 10.4.1 法规的来源……208 10.4.2 与法规类似的因素:可能出台的法规、标准和法律责任……209 10.5 上游的影响因素:技术融合……210 10.6 下游的影响因素:实现—编码、制造及供应链管理……212 10.7 下游的影响因素:操作……214 10.7.1 系统的登场与退场……215 10.7.2 偶发操作、应急操作与独立操作……216 10.8 下游的影响因素:DesignforX……216 10.9 下游的影响因素:产品与系统的演化、产品系列……218 10.9.1 复用与遗留元素……219 10.9.2 产品系列……220 10.9.3 平台与架构……221 10.10 产品论证:架构商业论证决策框架(ABCD)……224 10.11 小结……226 10.12 参考资料……229 第11章 将需求转换为目标……231 11.1 简介……231 11.2 确定受益者和利益相关者……232 11.2.1 受益者和利益相关者……232 11.2.2 确定受益者和利益相关者的需求……235 11.2.3 从交换中确定利益相关者及其需求……238 11.2.4 对利益相关者进行分组……240 11.3 描述需求的特征……242 11.3.1 从各种维度来描述利益相关者的需求……242 11.3.2 将利益相关者作为系统:间接的价值交付及利益相关者关系图……244 11.3.3 在各个利益相关者的需求之间排定优先次序……247 11.3.4 对排列各需求的优先次序所做的小结……251 11.4 把需求转换为目标……252 11.4.1 设定目标时所依据的标准……253 11.4.2 人类可以解决的目标:系统问题陈述……255 11.5 排列目标之间的优先次序……259 11.5.1 具备一致性与可达成性的目标……262 11.6 小结……263 11.7 参考资料……270 附:对利益相关者提出的系统需求所进行的特征分析……271 第12章 用创造力生成概念……272 12.1 简介……272 12.2 对概念进行创新……273 12.2.1 创新……273 12.2.2 无结构的创新……274 12.2.3 结构化的创新……274 12.2.4 确定概念……277 12.3 提出概念……278 12.4 扩充概念并提出概念片段……279 12.4.1 对推进功能进行扩充……279 12.4.2 混合动力车的另外7个内部功能所对应的概念片段……282 12.5 演化并完善整体概念……285 12.6 选出几个整体概念,做进一步的发展……288 12.7 小结……291 12.8 参考资料……295 第13章 把分解作为复杂度管理工具来使用……296 13.1 简介……296 13.2 理解复杂度……296 13.2.1 复杂度……296 13.2.2 复杂与难懂……299 13.2.3 必要的复杂度……301 13.3 管理复杂度……305 13.3.1 选定分解方式……305 13.3.2 模块化程度与分解……308 13.4 小结……312 13.5 参考资料……317 第四部分 作为决策的架构 第14章 作为决策制定过程的系统架构……321 14.1 简介……321 14.2 对阿波罗计划的架构决策问题进行公式化处理……322 14.2.1 做决策时可以考虑的经验法则……322 14.2.2 阿波罗计划的决策……323 14.2.3 约束及衡量指标……325 14.2.4 计算各种阿波罗架构的得分……327 14.3 决策与决策支持……328 14.4 决策支持系统的四项主要任务……330 14.5 基本的决策支持工具……331 14.5.1 形态矩阵……332 14.5.2 设计结构矩阵……332 14.5.3 决策树……334 14.6 为系统架构提供决策支持……338 14.7 小结……339 14.8 参考资料……340 第15章 探求架构的权衡空间……343 15.1 简介……343 15.2 权衡空间的基本知识……344 15.3 帕累托前沿……347 15.3.1 帕累托前沿与占优……347 15.3.2 GNC范例系统的帕累托前沿……348 15.3.3 模糊的帕累托前沿及其好处……351 15.3.4 在模糊的帕累托前沿上挖掘数据……352 15.3.5 帕累托前沿的运用机理……354 15.4 权衡空间的结构……355 15.5 敏感度分析……359 15.6 整理架构决策……364 15.6.1 对其他决策的影响……364 15.6.2 对衡量指标的影响……366 15.6.3 决策空间视图……367 15.6.4 对决策进行排序……368 15.6.5 对决策及其顺序的总结……370 15.7 小结……371 15.8 参考资料……372 第16章 系统架构优化问题的表述与求解……374 16.1 简介……374 16.2 对系统架构优化问题进行表述……375 16.3 NEOSS范例:NASA的地球观测卫星系统……379 16.4 系统架构决策中的模式……381 16.4.1 从程序化的决策到模式……382 16.4.2 DECISION-OPTION模式……383 16.4.3 DOWN-SELECTING模式……386 16.4.4 ASSIGNING模式……389 16.4.5 PARTITIONING模式……395 16.4.6 PERMUTING模式……399 16.4.7 CONNECTING模式……402 16.5 对大规模的系统架构问题进行表述……406 16.5.1 模式之间的重合……407 16.5.2 把问题分解为子问题……409 16.6 解决系统架构优化问题……410 16.6.1 介绍……410 16.6.2 全因子排列……411 16.6.3 启发式的架构优化算法……412 16.6.4 基于种群的通用启发式优化……413 16.6.5 生成初始种群……414 16.6.6 把某些固定的架构包含在初始种群中……415 16.6.7 通用的启发式和元启发式高效搜索……416 16.6.8 遗传算法中的启发式策略……416 16.6.9 用更多的启发式技术来强化遗传算法……418 16.7 小结……419 16.8 参考资料……420 附录A根据所选的架构集来计算衡量指标对决策的敏感度……423 附录B聚类算法及其在系统架构中的运用……425 附录C基于规则的系统及其在系统架构中的应用……430 附录D经典的组合优化问题……436 各章问题……441

2017-11-28

【日本】网络是怎样连接的 彩色版 [日]户根勤 ネットワークはなぜつながるのか 第2版 周自恒 2017-1-1 P336.pdf

内容简介 · · · · · · 本书以探索之旅的形式,从在浏览器中输入网址开始,一路追踪了到显示出网页内容为止的整个过程,以图配文,讲解了网络的全貌,并重点介绍了实际的网络设备和软件是如何工作的。目的是帮助读者理解网络的本质意义,理解实际的设备和软件,进而熟练运用网络技术。同时,专设了“网络术语其实很简单”专栏,以对话的形式介绍了一些网络术语的词源,颇为生动有趣。 本书图文并茂,通俗易懂,非常适合计算机、网络爱好者及相关从业人员阅读。 作者简介 · · · · · · 作者简介: 户根勤 早先从事软件开发,后进入网络行业。曾供职于日本网络设备厂商(外资企业)和国内网络集成商,从事产品开发和技术咨询等工作。在工作之余还进行演讲、写作等活动。1998年离开公司,开始以演讲、写作以及运营论坛为主业。 译者简介: 周自恒 资深技术图书译者、全栈程序员、自然科学爱好者。初中时曾获得信息学奥赛天津赛区一等奖,曾任某管理咨询公司战略技术总监。译有《图解CIO工作指南(第4版)》《大数据的冲击》《代码的未来》《30天自制操作系统》《图解密码技术》《家用游戏机简史》《有趣的二进制》等。 目录 · · · · · · 第1章 浏览器生成消息  1 ——探索浏览器内部 1.1 生成HTTP请求消息  5 1.1.1 探索之旅从输入网址开始  5 1.1.2 浏览器先要解析URL  7 1.1.3 省略文件名的情况  9 1.1.4 HTTP的基本思路  10 1.1.5 生成HTTP请求消息  14 1.1.6 发送请求后会收到响应  20 1.2 向DNS服务器查询Web服务器的IP地址  24 1.2.1 IP地址的基本知识  24 1.2.2 域名和IP地址并用的理由  28 1.2.3 Socket库提供查询IP地址的功能  30 1.2.4 通过解析器向DNS服务器发出查询  31 1.2.5 解析器的内部原理  32 1.3 全世界DNS服务器的大接力  35 1.3.1 DNS服务器的基本工作  35 1.3.2 域名的层次结构  38 1.3.3 寻找相应的DNS服务器并获取IP地址  40 1.3.4 通过缓存加快DNS服务器的响应  44 1.4 委托协议栈发送消息  45 1.4.1 数据收发操作概览  45 1.4.2 创建套接字阶段  48 1.4.3 连接阶段:把管道接上去  50 1.4.4 通信阶段:传递消息  52 1.4.5 断开阶段:收发数据结束  53 怪杰Resolver  55 第2章 用电信号传输TCP/IP数据  57 ——探索协议栈和网卡 2.1 创建套接字  61 2.1.1 协议栈的内部结构  61 2.1.2 套接字的实体就是通信控制信息  63 2.1.3 调用socket时的操作  66 2.2 连接服务器  68 2.2.1 连接是什么意思  68 2.2.2 负责保存控制信息的头部  70 2.2.3 连接操作的实际过程  73 2.3 收发数据  75 2.3.1 将HTTP请求消息交给协议栈  75 2.3.2 对较大的数据进行拆分  78 2.3.3 使用ACK号确认网络包已收到  79 2.3.4 根据网络包平均往返时间调整ACK号等待时间  83 2.3.5 使用窗口有效管理ACK号  84 2.3.6 ACK与窗口的合并  87 2.3.7 接收HTTP响应消息  89 2.4 从服务器断开并删除套接字  90 2.4.1 数据发送完毕后断开连接  90 2.4.2 删除套接字  92 2.4.3 数据收发操作小结  93 2.5 IP与以太网的包收发操作  95 2.5.1 包的基本知识  95 2.5.2 包收发操作概览  99 2.5.3 生成包含接收方IP地址的IP头部  102 2.5.4 生成以太网用的MAC头部  106 2.5.5 通过ARP查询目标路由器的MAC地址  108 2.5.6 以太网的基本知识  111 2.5.7 将IP包转换成电或光信号发送出去  114 2.5.8 给网络包再加3个控制数据  116 2.5.9 向集线器发送网络包  120 2.5.10 接收返回包  123 2.5.11 将服务器的响应包从IP传递给TCP  125 2.6 UDP协议的收发操作  128 2.6.1 不需要重发的数据用UDP发送更高效  128 2.6.2 控制用的短数据  129 2.6.3 音频和视频数据  130 插进Socket里的是灯泡还是程序  132 第3章 从网线到网络设备  135 ——探索集线器、交换机和路由器 3.1 信号在网线和集线器中传输  139 3.1.1 每个包都是独立传输的  139 3.1.2 防止网线中的信号衰减很重要  140 3.1.3 “双绞”是为了抑制噪声  141 3.1.4 集线器将信号发往所有线路  146 3.2 交换机的包转发操作  149 3.2.1 交换机根据地址表进行转发  149 3.2.2 MAC地址表的维护  153 3.2.3 特殊操作  154 3.2.4 全双工模式可以同时进行发送和接收  155 3.2.5 自动协商:确定最优的传输速率  156 3.2.6 交换机可同时执行多个转发操作  159 3.3 路由器的包转发操作  159 3.3.1 路由器的基本知识  159 3.3.2 路由表中的信息  162 3.3.3 路由器的包接收操作  166 3.3.4 查询路由表确定输出端口  166 3.3.5 找不到匹配路由时选择默认路由  168 3.3.6 包的有效期  169 3.3.7 通过分片功能拆分大网络包  170 3.3.8 路由器的发送操作和计算机相同  172 3.3.9 路由器与交换机的关系  173 3.4 路由器的附加功能  176 3.4.1 通过地址转换有效利用IP地址  176 3.4.2 地址转换的基本原理  178 3.4.3 改写端口号的原因  180 3.4.4 从互联网访问公司内网  181 3.4.5 路由器的包过滤功能  182 集线器和路由器,换个名字身价翻倍?  184 第4章 通过接入网进入互联网内部  187 ——探索接入网和网络运营商 4.1 ADSL接入网的结构和工作方式  191 4.1.1 互联网的基本结构和家庭、公司网络是相同的  191 4.1.2 连接用户与互联网的接入网  192 4.1.3 ADSL Modem将包拆分成信元  193 4.1.4 ADSL将信元“调制”成信号  197 4.1.5 ADSL通过使用多个波来提高速率  200 4.1.6 分离器的作用  201 4.1.7 从用户到电话局  203 4.1.8 噪声的干扰  204 4.1.9 通过DSLAM到达BAS  205 4.2 光纤接入网(FTTH)  206 4.2.1 光纤的基本知识  206 4.2.2 单模与多模  208 4.2.3 通过光纤分路来降低成本  213 4.3 接入网中使用的PPP和隧道  217 4.3.1 用户认证和配置下发  217 4.3.2 在以太网上传输PPP消息  219 4.3.3 通过隧道将网络包发送给运营商  223 4.3.4 接入网的整体工作过程  225 4.3.5 不分配IP地址的无编号端口  228 4.3.6 互联网接入路由器将私有地址转换成公有地址  228 4.3.7 除PPPoE之外的其他方式  230 4.4 网络运营商的内部  233 4.4.1 POP和NOC  233 4.4.2 室外通信线路的连接  236 4.5 跨越运营商的网络包  238 4.5.1 运营商之间的连接  238 4.5.2 运营商之间的路由信息交换  239 4.5.3 与公司网络中自动更新路由表机制的区别  241 4.5.4 IX的必要性  242 4.5.5 运营商如何通过IX互相连接  243 名字叫服务器,其实是路由器  246 第5章 服务器端的局域网中有什么玄机  249 5.1 Web服务器的部署地点  253 5.1.1 在公司里部署Web服务器  253 5.1.2 将Web服务器部署在数据中心  255 5.2 防火墙的结构和原理  256 5.2.1 主流的包过滤方式  256 5.2.2 如何设置包过滤的规则  256 5.2.3 通过端口号限定应用程序  260 5.2.4 通过控制位判断连接方向  260 5.2.5 从公司内网访问公开区域的规则  262 5.2.6 从外部无法访问公司内网  262 5.2.7 通过防火墙  263 5.2.8 防火墙无法抵御的攻击  264 5.3 通过将请求平均分配给多台服务器来平衡负载  265 5.3.1 性能不足时需要负载均衡  265 5.3.2 使用负载均衡器分配访问  266 5.4 使用缓存服务器分担负载  270 5.4.1 如何使用缓存服务器  270 5.4.2 缓存服务器通过更新时间管理内容  271 5.4.3 最原始的代理——正向代理  276 5.4.4 正向代理的改良版——反向代理  278 5.4.5 透明代理  279 5.5 内容分发服务  280 5.5.1 利用内容分发服务分担负载  280 5.5.2 如何找到最近的缓存服务器  282 5.5.3 通过重定向服务器分配访问目标  285 5.5.4 缓存的更新方法会影响性能  287 当通信线路变成局域网  291 第6章 请求到达Web服务器,响应返回浏览器  293 ——短短几秒的“漫长旅程”迎来终点 6.1 服务器概览  297 6.1.1 客户端与服务器的区别  297 6.1.2 服务器程序的结构  297 6.1.3 服务器端的套接字和端口号  299 6.2 服务器的接收操作  305 6.2.1 网卡将接收到的信号转换成数字信息  305 6.2.2 IP模块的接收操作  308 6.2.3 TCP模块如何处理连接包  309 6.2.4 TCP模块如何处理数据包  311 6.2.5 TCP模块的断开操作  312 6.3 Web服务器程序解释请求消息并作出响应  313 6.3.1 将请求的URI转换为实际的文件名  313 6.3.2 运行CGI程序  316 6.3.3 Web服务器的访问控制  319 6.3.4 返回响应消息  323 6.4 浏览器接收响应消息并显示内容  323 6.4.1 通过响应的数据类型判断其中的内容  323 6.4.2 浏览器显示网页内容!访问完成!  326 Gateway是通往异世界的入口  328 附录  330 后记  334 致谢  334 作者简介  335

2017-11-28

【日本】图解基础设施设计模式 [日]NTT DATA集团 人民邮电出版社 杨文轩 2015-5 P217.pdf

内容简介 · · · · · · 基础设施设计模式是指将基础设施技术者们创造出的设计方式概念化、抽象化,同时给其命名(模式名),总结其特点与注意事项而形成的集合体。目的是防止在基础设施开发中发生问题,提高基础设施的开发效率以及培养基础设施开发人才。 《图解基础设施设计模式》以基础设施构建中的需求定义阶段为基础,介绍了127个不依赖于任何特定产品,与非功能性需求实现策略、基础设施构成要素相关的常用设计模式(119个模式+8种类型)。在讲解时,还配以设计方式的示意图以及各个模式的对比,使人既能轻松理解设计方式的构造与特点,还能理解各模式之间的不同,最终作出最佳选择。 《图解基础设施设计模式》适合对基础设施缺乏经验的技术者(也包括应用程序开发者)、负责系统构建的项目经理、在企业的信息系统部门中对系统规划与引进具有决策权的人,以及负责评估和比较供应商提案和设计的人阅读。 作者简介 · · · · · · 杉原健郎(作者) 1998年入职NTT DATA集团。负责过多个大型核心业务IT系统的基础设施开发,深感横向推广基础设施开发技能的重要性。拥有PMP认证资格(2004~)。 吉田一幸(作者) 2008年入职NTT DATA集团。负责设计和构建面向金融和通信业务的大型IT系统的基础设施。2012年起开始整理基础设施设计模式,负责整理和研发基础设施设计方法论和基于设计模式的设计步骤。 岩崎贤治(作者) 2010年入职NTT DATA集团。入职后参与了安全系统的构建和运维,积累了丰富的经验,在ITIL和信息安全管理领域有独到的见解。2012年后负责确立和整理使用基础设施设计模式进行开发的设计步骤。 三浦广志(作者) 1995年入职NTT DATA集团。除了参与编写Web Site Expert #31(技术评论社)外,还译有《详解Linux内核 第1版》(O'Reilly日本)一书,为Linux内核等开源软件(OSS)开发做出了贡献。于2013年加入OpenStack。 吉田佐智男(作者) 1987年入职NTT DATA集团。早期参与了使用开放系统构建主干系统的项目。具有多个项目的成功经验与解决问题的经验,为了推广这些经验与积累的技巧,成为最早参与基础设施设计模式开发的人员。现在在NTT DATA基盘系统事业本部负责推进先进技术调查、技术战略决策。 杨文轩(译者) 华中科技大学硕士。2007年入职方正国际软件。先后参与过京瓷MFP、丸善MBIS系统开发,并且主导过讲谈社拼版系统、讲谈社广告系统的开发。擅长Web 2.0开发,有丰富的对日开发经验。 目录 · · · · · · 第1章 什么是基础设施设计模式 1.1 什么是基础设施 1.2 基础设施故障引发的后果 1.3 基础设施构建中哪个阶段最重要 1.4 需求定义的重要性与难点 1.5 非功能性需求等级 克服非功能性需求定义困难 的工具 1.6 基础设施设计模式 研究能够满足需求的设计方式的工具 1.7 本书的内容安排 第2章 可用性需求的实现策略 防止 系统宕机 2.1 可用性策略的基础 2.2 Web/AP服务器的高可用性设计方式 2.3 DB服务器的可用性设计方式 2.4 虚拟服务器冗余的设计方式 2.5 LAN的可用性设计方式 2.6 WAN的可用性设计方式 2.7 互联网连接的设计方式 2.8 数据备份的可用性设计方式 2.9 灾害应对策略的设计方式 2.10 总结 第3章 安全性需求的实现策略 保护系统不受威胁 3.1 安全性策略的基础 3.2 非法访问应对策略的设计方式 3.3 身份认证的设计方式 3.4 ID管理和维护的设计方式 3.5 信息泄露应对策略的设计方式 3.6 总结 第4章 性能与可扩展性需求的实现策略 防止 系统性能下降 4.1 性能与可扩展性策略的基础 4.2 可扩展性策略的设计方式 4.3 超负荷应对策略的设计方式 4.4 总结 第5章 运用与维护性需求的实现策略不放过系统故障 5.1 运用与维护性策略的基础 5.2 运用与维护体制的设计方式 5.3 构成管理的设计方式 5.4 系统监控的设计方式 5.5 任务管理的设计方式 5.6 时钟同步、杀毒软件更新的设计方式 5.7 总结 第6章 基础设施构成的设计方式 6.1 Web系统的网络构成的设计方式 6.2 存储设备构成的设计方式 6.3 报表生成的设计方式 6.4 报表输出的设计方式 6.5 报表基础设施配置的设计方式 6.6 数据使用和信息分析的设计方式 6.7 基础设施交互结构的设计方式 6.8 总结 第7章 使用云计算服务的实现策略 7.1 云服务中性能与可扩展性的设计方式 7.2 云服务中备份的可用性设计方式 7.3 云服务中虚拟服务器的可用性设计方式 7.4 总结 第8 章 基于模式的设计实践 8.1 基础设施构成的讨论步骤 8.2 地理信息系统 8.3 综合 DB系统 8.4 总结

2017-11-28

【日本】图解机器学习 杉山将 许永伟.pdf

内容简介 · · · · · · 本书用丰富的图示,从最小二乘法出发,对基于最小二乘法实现的各种机器学习算法进行了详细的介绍。第Ⅰ部分介绍了机器学习领域的概况;第Ⅱ部分和第Ⅲ部分分别介绍了各种有监督的回归算法和分类算法;第Ⅳ部分介绍了各种无监督学习算法;第Ⅴ部分介绍了机器学习领域中的新兴算法。书中大部分算法都有相应的MATLAB程序源代码,可以用来进行简单的测试。 本书适合所有对机器学习有兴趣的初学者阅读。 187张图解轻松入门 提供可执行的Matlab程序代码 覆盖机器学习中最经典、用途最广的算法 专业实用 东京大学教授、机器学习权威专家执笔,浓缩机器学习的关键知识点 图文并茂 187张图示帮助理解,详略得当,为读懂大部头开路。 角度新颖 基于最小二乘法讲解各种有监督学习的回归和分类算法,以及无监督学习算法。 实战导向 配有可执行的MATLAB程序代码,边学习边实践。 作者简介 · · · · · · 杉山将 1974年生于大阪。东京工业大学计算机工程学博士毕业,现为东京大学教授、日本国立信息学研究所客座教授。主要从事机器学习的理论研究和算法开发,以及在信号和图像处理等方面的应用。2011年获日本信息处理学会长尾真纪念特别奖。著有《统计机器学习》、Density Ratio Estimation in Machine Learning等。同时也是Pattern Recognition and Machine Learning日文版的译者之一。 许永伟 2009年赴东京大学攻读博士学位,现于东京大学空间信息科学研究所从事博士后研究(特任研究员)。主要研究方向为模式识别与机器学习、图像处理与计算机视觉,对数据挖掘、大数据和信息架构有浓厚兴趣。 目录 · · · · · · 第I部分 绪 论 第1章 什么是机器学习 2 1.1 学习的种类 2 1.2 机器学习任务的例子 4 1.3 机器学习的方法 8 第2章 学习模型 12 2.1 线性模型 12 2.2 核模型 15 2.3 层级模型 17 第II部分 有监督回归 第3章 最小二乘学习法 22 3.1 最小二乘学习法 22 3.2 最小二乘解的性质 25 3.3 大规模数据的学习算法 27 第4章带有约束条件的最小二乘法 31 4.1 部分空间约束的最小二乘学习法 31 4.2 l2 约束的最小二乘学习法 33 4.3 模型选择 37 第5章 稀疏学习 43 5.1 l1 约束的最小二乘学习法 43 5.2 l1 约束的最小二乘学习的求解方法 45 5.3 通过稀疏学习进行特征选择 50 5.4 lp约束的最小二乘学习法 51 5.5 l1+l2 约束的最小二乘学习法 52 第6章 鲁棒学习 55 6.1 l1 损失最小化学习 56 6.2 Huber损失最小化学习 58 6.3 图基损失最小化学习 63 6.4 l1 约束的Huber损失最小化学习 65 第III部分 有监督分类 第7章 基于最小二乘法的分类 70 7.1 最小二乘分类 70 7.2 0/1 损失和间隔 73 7.3 多类别的情形 76 第8章 支持向量机分类 80 8.1 间隔最大化分类 80 8.2 支持向量机分类器的求解方法 83 8.3 稀疏性 86 8.4 使用核映射的非线性模型 88 8.5 使用Hinge损失最小化学习来解释 90 8.6 使用Ramp损失的鲁棒学习 93 第9章 集成分类 98 9.1 剪枝分类 98 9.2 Bagging学习法 101 9.3 Boosting 学习法 105 第10章 概率分类法 112 10.1 Logistic回归 112 10.2 最小二乘概率分类 116 第11 章序列数据的分类 121 11.1 序列数据的模型化 122 11.2 条件随机场模型的学习 125 11.3 利用条件随机场模型对标签序列进行预测 128 第IV部分 无监督学习 第12章 异常检测 132 12.1 局部异常因子 132 12.2 支持向量机异常检测 135 12.3 基于密度比的异常检测 137 第13章 无监督降维 143 13.1 线性降维的原理 144 13.2 主成分分析 146 13.3 局部保持投影 148 13.4 核函数主成分分析 152 13.5 拉普拉斯特征映射 155 第14章 聚类 158 14.1 K均值聚类 158 14.2 核K均值聚类 160 14.3 谱聚类 161 14.4 调整参数的自动选取 163 第V部分 新兴机器学习算法 第15章 在线学习 170 15.1 被动攻击学习 170 15.2 适应正则化学习 176 第16章 半监督学习 181 16.1 灵活应用输入数据的流形构造 182 16.2 拉普拉斯正则化最小二乘学习的求解方法 183 16.3 拉普拉斯正则化的解释 186 第17章 监督降维 188 17.1 与分类问题相对应的判别分析 188 17.2 充分降维 195 第18章 迁移学习 197 18.1 协变量移位下的迁移学习 197 18.2 类别平衡变化下的迁移学习 204 第19章 多任务学习 212 19.1 使用最小二乘回归的多任务学习 212 19.2 使用最小二乘概率分类器的多任务学习 215 19.3 多次维输出函数的学习 216 第VI部分 结 语 第20章 总结与展望 222 参考文献 225

2017-11-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除