自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(0)
  • 资源 (20)
  • 收藏
  • 关注

空空如也

Programming.in.Scala.3rd.Edition

Programming.in.Scala 第二版和第三版合集,作者 Martin Odersky / Lex Spoon / Bill Venners, 内容为全英文。 个人觉得写得不错,好过那本 Programming Scala (一词之差,封面是一只马来貘)

2017-11-22

大型网站技术架构:核心原理与案例分析

第1篇 概述 1 大型网站架构演化 2 1.1 大型网站软件系统的特点 3 1.2 大型网站架构演化发展历程 4 1.2.1 初始阶段的网站架构 4 1.2.2 应用服务和数据服务分离 4 1.2.3 使用缓存改善网站性能 5 1.2.4 使用应用服务器集群改善网站的并发处理能力 6 1.2.5 数据库读写分离 7 1.2.6 使用反向代理和CDN加速网站响应 8 1.2.7 使用分布式文件系统和分布式数据库系统 9 1.2.8 使用NoSQL和搜索引擎 10 1.2.9 业务拆分 11 1.2.10 分布式服务 11 1.3 大型网站架构演化的价值观 13 1.3.1 大型网站架构技术的核心价值是随网站所需灵活应对 13 1.3.2 驱动大型网站技术发展的主要力量是网站的业务发展 13 1.4 网站架构设计误区 14 1.4.1 一味追随大公司的解决方案 14 1.4.2 为了技术而技术 14 1.4.3 企图用技术解决所有问题 14 1.5 小结 15 2 大型网站架构模式 16 2.1 网站架构模式 16 2.1.1 分层 17 2.1.2 分割 18 2.1.3 分布式 18 2.1.4 集群 19 2.1.5 缓存 20 2.1.6 异步 20 2.1.7 冗余 21 2.1.8 自动化 22 2.1.9 安全 23 2.2 架构模式在新浪微博的应用 23 2.3 小结 25 3 大型网站核心架构要素 26 3.1 性能 27 3.2 可用性 28 3.3 伸缩性 29 3.4 扩展性 30 3.5 安全性 30 3.6 小结 31 第2篇 架构 4 瞬时响应:网站的高性能架构 34 4.1 网站性能测试 35 4.1.1 不同视角下的网站性能 35 4.1.2 性能测试指标 36 4.1.3 性能测试方法 39 4.1.4 性能测试报告 41 4.1.5 性能优化策略 41 4.2 Web前端性能优化 42 4.2.1 浏览器访问优化 42 4.2.2 CDN加速 43 4.2.3 反向代理 44 4.3 应用服务器性能优化 45 4.3.1 分布式缓存 45 4.3.2 异步操作 52 4.3.3 使用集群 53 4.3.4 代码优化 54 4.4 存储性能优化 58 4.4.1 机械硬盘vs. 固态硬盘 58 4.4.2 B+树vs. LSM树 59 4.4.3 RAID vs. HDFS 61 4.5 小结 64 5 万无一失:网站的高可用架构 66 5.1 网站可用性的度量与考核 67 5.1.1 网站可用性度量 67 5.1.2 网站可用性考核 67 5.2 高可用的网站架构 69 5.3 高可用的应用 71 5.3.1 通过负载均衡进行无状态服务的失效转移 72 5.3.2 应用服务器集群的Session管理 73 5.4 高可用的服务 76 5.5 高可用的数据 78 5.5.1 CAP原理 79 5.5.2 数据备份 82 5.5.3 失效转移 84 5.6 高可用网站的软件质量保证 85 5.6.1 网站发布 85 5.6.2 自动化测试 86 5.6.3 预发布验证 87 5.6.4 代码控制 88 5.6.5 自动化发布 90 5.6.6 灰度发布 91 5.7 网站运行监控 91 5.7.1 监控数据采集 92 5.7.2 监控管理 93 5.8 小结 94 6 永无止境:网站的伸缩性架构 95 6.1 网站架构的伸缩性设计 97 6.1.1 不同功能进行物理分离实现伸缩 97 6.1.2 单一功能通过集群规模实现伸缩 98 6.2 应用服务器集群的伸缩性设计 99 6.2.1 HTTP重定向负载均衡 100 6.2.2 DNS域名解析负载均衡 101 6.2.3 反向代理负载均衡 102 6.2.4 IP负载均衡 103 6.2.5 数据链路层负载均衡 104 6.2.6 负载均衡算法 105 6.3 分布式缓存集群的伸缩性设计 106 6.3.1 Memcached分布式缓存集群的访问模型 107 6.3.2 Memcached分布式缓存集群的伸缩性挑战 107 6.3.3 分布式缓存的一致性Hash算法 109 6.4 数据存储服务器集群的伸缩性设计 112 6.4.1 关系数据库集群的伸缩性设计 113 6.4.2 NoSQL数据库的伸缩性设计 117 6.5 小结 119 7 随需应变:网站的可扩展架构 121 7.1 构建可扩展的网站架构 122 7.2 利用分布式消息队列降低系统耦合性 123 7.2.1 事件驱动架构 123 7.2.2 分布式消息队列 124 7.3 利用分布式服务打造可复用的业务平台 126 7.3.1 Web Service与企业级分布式服务 128 7.3.2 大型网站分布式服务的需求与特点 129 7.3.3 分布式服务框架设计 130 7.4 可扩展的数据结构 131 7.5 利用开放平台建设网站生态圈 132 7.6 小结 134 8 固若金汤:网站的安全架构 135 8.1 道高一尺魔高一丈的网站应用攻击与防御 136 8.1.1 XSS攻击 136 8.1.2 注入攻击 138 8.1.3 CSRF攻击 139 8.1.4 其他攻击和漏洞 140 8.1.5 Web应用防火墙 141 8.1.6 网站安全漏洞扫描 142 8.2 信息加密技术及密钥安全管理 142 8.2.1 单向散列加密 143 8.2.2 对称加密 144 8.2.3 非对称加密 144 8.2.4 密钥安全管理 145 8.3 信息过滤与反垃圾 146 8.3.1 文本匹配 147 8.3.2 分类算法 148 8.3.3 黑名单 149 8.4 电子商务风险控制 150 8.4.1 风险 151 8.4.2 风控 151 8.5 小结 153 第3篇 案例 9 淘宝网的架构演化案例分析 156 9.1 淘宝网的业务发展历程 157 9.2 淘宝网技术架构演化 158 9.3 小结 162 10 维基百科的高性能架构设计分析 163 10.1 Wikipedia网站整体架构 163 10.2 Wikipedia性能优化策略 165 10.2.1 Wikipedia前端性能优化 165 10.2.2 Wikipedia服务端性能优化 166 10.2.3 Wikipedia后端性能优化 167 11 海量分布式存储系统Doris的高可用架构设计分析 169 11.1 分布式存储系统的高可用架构 170 11.2 不同故障情况下的高可用解决方案 171 11.2.1 分布式存储系统的故障分类 172 11.2.2 正常情况下系统访问结构 172 11.2.3 瞬时故障的高可用解决方案 173 11.2.4 临时故障的高可用解决方案 174 11.2.5 永久故障的高可用解决方案 175 12 网购秒杀系统架构设计案例分析 176 12.1 秒杀活动的技术挑战 177 12.2 秒杀系统的应对策略 177 12.3 秒杀系统架构设计 178 12.4 小结 182 13 大型网站典型故障案例分析 183 13.1 写日志也会引发故障 184 13.2 高并发访问数据库引发的故障 184 13.3 高并发情况下锁引发的故障 185 13.4 缓存引发的故障 185 13.5 应用启动不同步引发的故障 186 13.6 大文件读写独占磁盘引发的故障 186 13.7 滥用生产环境引发的故障 187 13.8 不规范的流程引发的故障 187 13.9 不好的编程习惯引发的故障 188 13.10 小结 188 第4篇 架构师 14 架构师领导艺术 190 14.1 关注人而不是产品 191 14.2 发掘人的优秀 191 14.3 共享美好蓝图 192 14.4 共同参与架构 193 14.5 学会妥协 194 14.6 成就他人 194 15 网站架构师职场攻略 196 15.1 发现问题,寻找突破 197 15.2 提出问题,寻求支持 199 15.3 解决问题,达成绩效 201 16 漫话网站架构师 203 16.1 按作用划分架构师 203 16.2 按效果划分架构师 204 16.3 按职责角色划分架构师 205 16.4 按关注层次划分架构师 205 16.5 按口碑划分架构师 206 16.6 非主流方式划分架构师 207 附录A 大型网站架构技术一览 208 附录B Web开发技术发展历程 215 后记 218

2017-11-09

Source Insight 4.0.0086

Source Insight 4.0.0086,可注册, 安装方法见压缩包内安装说明

2017-10-29

64-bit Git for Windows Portable(ver2.13.2)

Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目, Portable 版本解压后即可使用。 2.13.2 版本发布于 2017-06-26

2017-08-12

64-bit Git for Windows Setup(ver2.13.2)

Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目

2017-08-12

CSS设计指南(第3版)

《CSS设计指南(第3版)》是一本面向初中级读者的经典设计指南。全书共分8章,前4章分别介绍了HTML标记和文档结构、CSS工作原理、定位元素、字体和文本,对规则、声明、层叠、特指度、选择符等基本概念进行了详细解读。随后4 章介绍了页面布局、界面组件,CSS3圆角、阴影、渐变、多背景等视觉设计技巧,最后还对如何实现最前沿的响应式设计进行了通俗易懂的演示。

2017-04-07

[Objective-c程序设计].杨正洪等.扫描版

《Objective-C程序设计》(作者杨正洪、郑齐心、李建国)通过大量的实例系统地介绍了Objective-C语言的基本概念、语法规则、框架、类库及开发环境。读者在阅读本书后,可以掌握Objective-C语言的基本内容,并进行实际的iPhone/iPad和Mac应用开发。   《Objective-C程序设计》共分成11章。前6章讲述Objective-C语言,包括数据类型、运算符、表达式、条件语句、循环语句、类、协议、继承、类别、编译预处理等内容。第7章到第10章讲述Objective-C的基础框架,以及文件操作、内存管理、数据保存等内容。第11章讲述了应用工具框架。第12、13章分别讲述了如何开发iPhone/iPad应用程序。第14章讲述了Objective-C++和访问Mysql数据库的编程知识。 第1章 启程.1 1.1 预备知识1 1.2 历史背景1 1.3 内容简介2 1.4 小结3 第2章 对C的扩展4 2.1 最简单的Objective-C程序4 2.2 解构HelloObjective-C程序7 2.2.1 #import7 2.2.2 NSLog()和@"字符串"8 2.3 布尔类型10 2.3.1 BOOL强大的实用功能11 2.3.2 比较13 2.4 小结14 第3章 面向对象编程基础知识15 3.1 间接15 3.1.1 变量与间接16 3.1.2 使用文件名的间接18 3.2 在面向对象的编程中使用间接24 3.2.1 过程式编程24 3.2.2 实现面向对象编程29 3.3 学习有关的术语33 3.4 Objective-C中的OOP34 3.4.1 @interface部分34 3.4.2 @implementation部分38 3.4.3 实例化对象40 3.4.4 扩展Shapes-Object41 3.5 小结43 第4章 继承45 4.1 为何使用继承45 4.2 继承语法48 4.3 继承的工作机制51 4.3.1 方法调度51 4.3.2 实例变量53 4.4 重写方法55 4.5 小结57 第5章 复合58 5.1 什么是复合58 5.1.1 Car程序58 5.1.2 自定义NSLog()59 5.2 存取方法62 5.2.1 设置发动机的属性64 5.2.2 设置轮胎的属性64 5.2.3 跟踪汽车的变化66 5.3 扩展CarParts程序67 5.4 复合还是继承68 5.5 小结69 第6章 源文件组织70 6.1 拆分接口和实现部分70 6.2 拆分Car程序73 6.3 使用跨文件依赖关系75 6.3.1 重新编译须知75 6.3.2 让汽车开动77 6.3.3 导入和继承79 6.4 小结80 第7章 深入了解Xcode82 7.1 改变公司名称82 7.2 使用编辑器的技巧与诀窍83 7.3 在Xcode的帮助下编写代码85 7.3.1 首行缩进85 7.3.2 代码自动完成85 7.3.3 括号匹配88 7.3.4 批量编辑88 7.3.5 代码导航91 7.3.6 emacs不是Mac程序91 7.3.7 任意搜索92 7.3.8 芝麻开门93 7.3.9 书签93 7.3.10 集中注意力94 7.3.11 开启导航条95 7.4 获取信息98 7.4.1 研究助手98 7.4.2 文档管理程序99 7.5 调试100 7.5.1 暴力调试100 7.5.2 Xcode的调试器100 7.5.3 精巧的调试符号101 7.5.4 开始调试101 7.5.5 检查程序104 7.5 备忘表105 7.6 小结106 第8章 FoundationKit快速教程107 8.1 一些有用的数据类型108 8.1.1 范围的作用108 8.1.2 几何数据类型108 8.2 字符串109 8.2.1 创建字符串109 8.2.2 类方法109 8.2.3 关于大小110 8.2.4 比较的策略110 8.2.5 不区分大小写的比较112 8.2.6 字符串内是否还包含别的字符串..112 8.3 可变性113 8.4 集合家族115 8.4.1 NSArray115 8.4.2 可变数组118 8.4.3 枚举“王国”119 8.4.4 快速枚举120 8.4.5 NSDictionary120 8.4.6 使用,但不要扩展122 8.5 各种数值122 8.5.1 NSNumber122 8.5.2 NSValue123 8.5.3 NSNull124 8.6 示例:查找文件124 8.7 小结128 第9章 内存管理129 9.1 对象生命周期129 9.1.1 引用计数130 9.1.2 对象所有权132 9.1.3 访问方法中的保留和释放133 9.2 自动释放134 9.2.1 所有对象全部入池135 9.2.2 自动释放池的销毁时间135 9.2.3 自动释放池的工作过程136 9.3 Cocoa内存管理规则138 9.3.1 临时对象138 9.3.2 拥有对象139 9.3.3 垃圾回收141 9.4 小结142 第10章 对象初始化143 10.1 分配对象143 10.2 初始化对象143 10.2.1 编写初始化方法144 10.2.2 初始化时做什么146 10.3 便利初始化函数146 10.4 更多部件改进147 10.4.1 Tire类的初始化147 10.4.2 更新main()函数149 10.4.3 清理Car类152 10.5 支持垃圾回收风格的Car类清理155 10.6 指定初始化函数156 10.6.1 子类化问题157 10.6.2 改进Tire类的初始化函数159 10.6.3 添加AllWeatherRadial类的初始化函数160 10.7 初始化函数规则160 10.8 小结161 第11章 特性162 11.1 修改特性值162 11.1.1 简化接口163 11.1.2 简化实现164 11.1.3 点表达式的妙用166 11.2 特性扩展167 11.2.1 名称的使用171 11.2.2 只读特性172 11.2.3 特性不是万能的173 11.3 小结173 第12章 类别175 12.1 创建类别175 12.1.1 声明类别175 12.1.2 实现类别176 12.1.3 类别的局限性178 12.1.4 类别的作用178 12.2 利用类别分散实现178 12.3 使用类别创建前向引用182 12.4 非正式协议和委托类别183 12.4.1 ITunesFinder项目184 12.4.2 委托和类别187 12.4.3 响应选择器187 12.4.4 选择器的其他应用188 12.5 小结189 第13章 协议190 13.1 正式协议190 13.1.1 声明协议190 13.1.2 采用协议191 13.1.3 实现协议192 13.2 复制192 13.2.1 复制Engine192 13.2.2 复制Tire194 13.2.3 复制Car196 13.2.4 协议和数据类型199 13.3 Objective-C2.0的新特性199 13.4 小结200 第14章 AppKit简介201 14.1 构建项目201 14.2 构建AppController@interface203 14.3 InterfaceBuilder203 14.4 布局用户界面205 14.5 连接207 14.5.1 连接输出口207 14.5.2 连接操作208 14.6 AppController实现210 14.7 小结212 第15章 文件加载与保存213 15.1 属性列表213 15.1.1 NSDate213 15.1.2 NSData214 15.1.3 写入和读取属性列表215 15.2 编码对象216 15.3 小结221 第16章 键/值编码222 16.1 入门项目222 16.2 KVC简介224 16.3 路径225 16.4 整体操作226 16.4.1 中途小憩227 16.4.2 流畅地运算231 16.5 批处理233 16.6 nil仍然可用234 16.7 处理未定义的键235 16.8 小结236 第17章 NSPredicate237 17.1 创建谓词237 17.2 燃料过滤器239 17.3 格式说明符240 17.4 运算符241 17.4.1 比较和逻辑运算符242 17.4.2 数组运算符243 17.5 SELF足够了243 17.6 字符串运算符245 17.7 LIKE运算符245 17.8 小结246

2014-04-01

Debugging Tools for Windows(WinDbg) 6.12.2.633

WinDbg是微软开发的免费源码级调试工具。 Windbg可以用于Kernel模式调试和用户模式调试,还可以调试Dump文件。

2011-09-18

PKI(Public Key Infrastructure ) 公钥基础设施

PKI(Public Key Infrastructure ) 即"公钥基础设施",是一种遵循既定标准的密钥管理平台,它能够为所有网络应用提供加密和数字签名等密码服务及所必需的密钥和证书管理体系,简单来说,PKI就是利用公钥理论和技术建立的提供安全服务的基础设施。PKI技术是信息安全技术的核心,也是电子商务的关键和基础技术。    PKI的基础技术包括加密、数字签名、数据完整性机制、数字信封、双重数字签名等。

2010-11-14

802.1ag协议详解

802.1ag是IEEE提出的一个用于Carrier Ethernet网络中进行错误管理的一个标准,即Connectivity Fault Management(CFM)。 它提供了如下5项功能: n路径发现(Path discovery) n故障检测(Fault detection) n故障确认和定位(Fault verification and isolation) n故障通知(Fault notification) n故障恢复(Fault recovery) 其中最后一项故障恢复要联合其它协议(STP)一起来执行,不在802.1ag讨论范围之内 由于CFM的概念来自于传统电信网络,所以其协议设计理念和里面的很多技术,都来自于SDH。

2010-11-14

展讯 SC6600R Development User Guide

SC6600R软件架构,对于客户采用不同的NAND+SDRAM的平台,其间的差别被独立出来,使得客户可以不用修改内核,仅仅通过配置能够快速的应用到不同的产品中。客户的配置部分就作为系统功能的一个延伸。这些不同点一般是存储空间的大小以及相关时序寄存器不同产品对应不同的配置。

2010-10-24

展讯MMI 模块的接口说明(2)

本文档描述了展讯MMI中模块的接口说明,包括提供给外部模块的接口和内部使用的公共函数的说明,第二部分,共两部分.

2010-10-24

展讯MMI 模块的接口说明(1)

本文档描述了展讯MMI中模块的接口说明,包括提供给外部模块的接口和内部使用的公共函数的说明,第一部分。

2010-08-02

postfix-2.7.0及设置资料

postfix是Wietse Venema在IBM的GPL协议之下开发的MTA(邮件传输代理)软件。下面一段话摘自postfix的官方站点(http://www.postfix.org):“postfix是Wietse Venema想要为使用最广泛的sendmail提供替代品的一个尝试。在Internet世界中,大部分的电子邮件都是通过sendmail来投递的,大约有100万用户使用sendmail,每天投递上亿封邮件。这真实一个让人吃惊的数字。Postfix试图更快、更容易管理、更安全,同时还与sendmail保持足够的兼容性。”

2010-05-24

wireshark-win32-1.2.7.part01

Wireshark(前称Ethereal)是一个网络封包分析软件。网络封包分析软件的功能是截取网络封包,并尽可能显示出最为详细的网络封包资料。

2010-04-02

wireshark-win32-1.2.7.part02

网络数据包分析工具,网络工程师必备利器!!!!!

2010-04-02

空空如也

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

TA关注的人

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