无闻Go语言视频教程
Google出品的GO语言,最近有火起来的趋势。据众大神说,GO语言弥补了C和C++还其他语言的缺陷,颇有白富美的感觉。
网络上搜索了一番,发现【吾爱】上并没有GO语言的视频下载,其他站点也很少提供GO语言的视频教学。
51CTO、网易云课堂、土豆有”无闻“主讲的教程,好一阵搜索终于在”无闻“的Github找到了百度云的下载链接,整理了一番,贡献给大家。
********************** 该视频堪称精典,望共同进步。**********************
【详细列表】
一、Go编程基础
│ 【Go编程基础】01Go开发环境搭建
│ 【Go编程基础】02Go基础知识
│ 【Go编程基础】03类型与变量
│ 【Go编程基础】04常量与运算符
│ 【Go编程基础】05控制语句
│ 【Go编程基础】06数组array
│ 【Go编程基础】07切片slice
│ 【Go编程基础】08map
│ 【Go编程基础】09函数function
│ 【Go编程基础】10结构struct
│ 【Go编程基础】11方法method
│ 【Go编程基础】12接口interface
│ 【Go编程基础】13反射reflection
│ 【Go编程基础】14并发concurrency
│ 【Go编程基础】15项目与坑
二、Go Web基础
│ 【Go Web基础】01博客项目设计
│ 【Go Web基础】02初窥 Web 开发
│ 【Go Web基础】03模板用法讲解
│ 【Go Web基础】04登录及分类管理
│ 【Go Web基础】05文章的添加与删除
│ 【Go Web基础】06评论与分类显示
│ 【Go Web基础】07为文章添加标签
│ 【Go Web基础】08文章附件上传
│ 【Go Web基础】09国际化支持
│ 【Go Web基础】10自建 HTTP 中间件
│ 【Go Web基础】11简易的 RPC 实现
│ 【Go Web基础】12Go Web 扩展学习
三、名库讲解
│ 【Go 名库讲解】00课程学习指南
│ 【Go 名库讲解】01goconfig 使用解析
│ 【Go 名库讲解】02xorm常见用法指导&高级用法讲解
│ 【Go 名库讲解】03goconvey优雅的单元测试
│ 【Go 名库讲解】04macaron初识Macaron&核心服务的使用&自定义服务
Python进阶_文字版
Python基础分《Python入门》和《Python进阶》两门课程,《Python进阶》是第二门课程,学习该课程前,请先学习《Python入门》,效果会更好。《Python进阶》课程详细介绍Python强大的函数式编程和面向对象编程,掌握Python高级程序设计的方法。
深入理解Python中文版-啄木鸟_文字版
List 是 Python 中使用最频繁的数据类型。如果您对 list 仅有的经验就是在 Visual Basic 中的数组或 Powerbuilder 中的数据存储,那么就打起精神学习 Python 的 list 吧。 Note: Python v s. Perl : l ist Python 的 list 如同 Perl 中的数组。在 Perl 中,用来保存数组的变量总是以 @ 字符开始;在 Python 中,变量可以任意取名,并且 Python 在内部会记录下其 数据类型。
笨办法学python第二版文字版
笨办法学python 第二版,完全实例教程,通过58个案例帮你深入学习Python编程
python核心笔记_文字版
前言 ............................................................................................................................................. 4
【关于 Python】..................................................................................................................... 4
【关于《Python 核心编程》(第二版)】 ......................................................................... 5
【关于本文档】 ..................................................................................................................... 5
【关于作者】 ......................................................................................................................... 5
【致谢】 ................................................................................................................................. 5
第一部分:Python 核心............................................................................................................. 6
第一章 欢迎来到 Python 世界 ............................................................................................... 6
第二章 快速入门 .................................................................................................................... 8
第三章 Python 基础 .............................................................................................................. 10
第四章 Python 对象 .............................................................................................................. 12
第五章 数字 .......................................................................................................................... 14
第六章 序列:字符串、列表和元组 .................................................................................. 16
第七章 映射和集合类型 ...................................................................................................... 18
第八章 条件和循环 .............................................................................................................. 20
第九章 文件和输入输出 ...................................................................................................... 22
第十章 错误和异常 .............................................................................................................. 23
第十一章 函数和函数式编程 .............................................................................................. 25
第十二章 模块 ...................................................................................................................... 27
第十三章 面向对象编程 ...................................................................................................... 29
第十四章 执行环境 .............................................................................................................. 32
第 2 部分 高级主题 .................................................................................................................. 34
第十五章 正则表达式 .......................................................................................................... 34
第十六章 网络编程 .............................................................................................................. 37
第十七章 网络客户端编程 .................................................................................................. 39
第十八章 多线程编程 .......................................................................................................... 40
第十九章 图形用户界面编程 .............................................................................................. 42
第二十章 Web 编程.............................................................................................................. 44
Page -3-
第二十一章 数据库编程 ...................................................................................................... 48
第二十二章 扩展 Python ...................................................................................................... 50
第二十三章 其他话题 .......................................................................................................... 51
Redis入门指南_第2版_高清版
《Redis入门指南》是2013年人民邮电出版社出版的图书,作者是李子骅。该书是一本Redis的入门指导书籍,以通俗易懂的方式介绍了Redis基础与实践方面的知识,包括历史与特性、在开发和生产环境中部署运行Redis、数据类型与命令、使用Redis实现队列、事务、复制、管道、持久化、优化Redis存储空间等内容,并采用任务驱动的方式介绍了PHP、Ruby、Python和Node.js这4种语言的Redis客户端库的使用方法。
Spark核心技术与高级应用_文字版
Spark核心技术与高级应用是Spark领域少有的专注于核心原理与深度应用的著作,由科大讯飞和百分点科技的4位大数据专家撰写。不仅细致介绍了Spark的程序开发、编程模型、作业执行解析等基础知识,而且还深度讲解了Spark SQL、Spark ML、Spark Streaming等大量内部模块和周边模块的原理与使用。除此之外,还从管理和性能优化的角度对Spark进行了深入探索。
本书分为四大部分,共计20章:
基础篇(第1~10章),详细说明什么是Spark、Spark的重要扩展、Spark的部署和运行、Spark程序开发、Spark编程模型,以及Spark作业执行解析。通过阅读本篇,读者可以构建更加清晰的Spark基础知识体系,进一步加深对大数据核心技术的理解。
实战篇(第11~14章),本书重点篇章,重点讲解Spark SQL与DataFrame、Spark Streaming、Spark MLlib与Spark ML、GraphX,以及基于以上内容在大数据分析、系统资源统计、LR模型、二级邻居关系图获取方面的实例。通过体察本篇的内容,读者可以掌握如何在实践中应用Spark,优化自身的应用场景,完善相应的解决方案。
高级篇(第15~18章),深入讲解Spark调度管理、存储管理、监控管理、性能调优。本篇的内容,为合理利用资源、有效进行资源监控、保障运行环境的稳定、平台性能调优、推进企业级的大数据平台管理提供了参考依据。
扩展篇(第19~20章),介绍Jobserver和Tachyon在Spark上的使用情况。通过本篇,延续基础、实战、高级等环节,并进一步扩展,更好地管理好Job、更有效地利用内存,为读者拓展出更深入、更全面的思路。
为了让读者从更高的角度认识与应用大数据,从《道德经》和《庄子》各精选10句,引导大家以老庄哲学的思考方式来认识大数据的内涵。本书不只是一本技术书,更是一本大数据哲学的思考之作。
Spark大数据分析实战_文字版
作为一个通用大数据计算框架,Spark广泛应用于多种典型大数据分析场景。
通过这本书,你将了解到:Spark的机制与生态系统,Spark算法分析与应用,典型的数据分析场景,Spark在日志分析、情感分析、协同过滤、个性化推荐、社交网络分析、搜索、文本分析等场景的应用,Spnrk与其他开源工具及系统的集成。
Spark已经在全球范围内被广泛使用,无沦是微软、Intel、阿里巴巴、百度、腾讯等国际互联网巨头,还是一些初创公司,都在使用Spark。本书作者结合实战经验,编写了这本书。本书抽象出典型数据分析应用场景,适当简化,只进行主干介绍,讲解Spark应用开发、数据分析算法,并结合其他开源系统与组件,勾勒出数据分析流水线全貌。
大数据存储—MongoDB实战指南-高清版
《大数据存储MongoDB实战指南》从学习与实践者的视角出发,本着通俗精简、注重实践、突出精髓的原则,精准剖析了MongoDB的诸多概念和要点。全书共分4个部分,分别从基础知识、深入理解MongoDB、监控与管理MongoDB和应用实践几个维度详细地介绍了MongoDB的特点及应用实例。
Docker实战_第1期文本版
编辑推荐
适读人群 :网络开发人员
*威作者:具有十多年虚拟化研究经验,国内首批研究Docker容器技术的专家,Docker开源项目贡献者
快速入门:透过简单的理论讲解,带你进入Docker的世界
步骤详细:手把手教你配置方法,为你量身定制自己的Docker
内容丰富:揭露镜像制作过程,教你搭建镜像仓库
内容简介
自从2013年3月Docker 0.1版本发布以来,以其为代表的容器技术发展也走上了快车道,Docker容器在很大程度上改变了软件的架构设计、开发和运维部署方式,也给早些年就提出的微服务架构模式插上了快速起飞的翅膀。本书由Docker社区**人Jeff Nickoloff编写,共分为三部分,**部分(1~6章)重点介绍Docker容器的资源隔离和权限控制及基础理论,第二部分(7~10章)详细解释了如何打包制作镜像以及各种镜像分发基础设施的建设,*后一部分(11~12章)聚焦于Docker容器的组合操作也就是多容器和多主机环境的管理。本书图文并茂,结合基本原理和具体案例给大家提供了多个不错的实战机会。 作为目前*炙手可热的容器技术类图书,本书适用于互联网、云计算及企业级软件开发、架构、测试及运维人员快速上手熟悉Docker容器,搭建以Docker为核心的基础设施,并在生产环境中快速部署应用以及管理容器集群。
作者简介
胡震,上海凡用信息科技有限公司CTO,长夜公司首席架构师,DockOne社区优秀翻译。
杨润青,90后博士僧,研究方向是网络和信息安全。
黄帅(Henry Huang),目前就职于趋势科技,负责集群运维开发和维护工作,所在项目从2011年使用AWS服务至今,积累一定的AWS运维经验。
Jeff Nickoloff会建立大规模的服务站,写关于技术的文字,并帮助人们实现他们的产品目标。他曾在****.com、Limelight网络和亚利桑那州立大学做这些事情。2014年离开***,他创办了一家咨询公司,专注于为财富100强的企业和创业公司提供工具、培训和*佳实践。
Apache Ant 教程 - 极客学院
Ant 是一个 Apache 基金会下的跨平台的基于 Java 语言开发的构件工具。在我们详细了解 Apache Ant 之前,
让我们来讲解为什么构建工具是需要最先了解的。
Erlang 教程中文版 - 极客学院
Erlang 是一种多用途编程语言,主要用于开发并发和分布式系统。它最初是一种专有的编程语言,Ericsson 使
用它来开发电话和通信应用程序。
本教程目的是告诉你如何快速高效地学习 Erlang 语言。教程中只讲述了 Erlang 的一些简单语法形式,而没有包
括所有复杂难懂的语法形式。此外,语法极大简化后的部分都使用 *manual* 标识出来了。
python工具-Sikuli调研分享-李俊薇
Sikuli(在墨西哥维乔印第安人的语言里是”上帝之眼”的意思)是由美国麻省理工学院开发的一种最新编程技术,使得编程人员可以使用截图替代代码,从而简化代码的编写流程。从它研究方向上看,是一种编程技术,但是该技术还可以用于进行大规模的程序测试,脚本程序编写使用的是python语言。
编程而非录制
一般的工具是录制脚本,而sikuli不存在录制的问题,它需要自己手动编写程序来完成测试。
资料来源:http://eladies.sina.com.cn/news/2010/0121/1426963046.shtml
Golang 无闻Go语言视频教程
借用 Asta谢 在《Go Web编程》一书中的话,出本套教程并不代表我自身的能力有多强,而是我愿意将自己在学习过程中积累到的知识分享给大家,并结合自己遇到的一些坑爹经历来讲解如何处理各种奇葩问题,从而更好地帮助广大的和潜在的Go语言爱好者。
Lua 资料下载
LUA 全套帮助解释,里面详细介绍LUA用法和LUA相关方面的用法,可以很好的帮助我们更好的用LUA,是不可多得的LUA帮助文档
Kafka分布式消息系统实战(与Java+Scala+Hadoop+Storm集成)
1.课程研发环境
Kafka的版本:kafka_2.9.2-0.8.1.1.tgz和kafka_2.11-0.10.0.0.tgz
开发工具: Linux;Eclipse;Scala IDE
2.内容简介
Kafka是分布式的消息队列,作为云计算服务的基石,它广泛的应用在实时数据流方面,是实时数据处理的数据中枢,广泛应用在很多互联网企业,例如:linkedin,facebook,腾讯,百度,阿里等。实时数据流是现在互联网公司、甚至拥有大规模数据的传统企业的主要模式, 实时数据(Real-time Activity Data)就是那些非交易,不需要秒级响应的数据, 但在后续的分析中产生极大作用,例如个性化推荐、运营服务监控、精细化营销、报表等 。
白盒测试的六种方法--高清
白盒测试作为测试人员常用的一种测试方法,越来越受到测试工程师的重视。白盒测试并不是简单的按照代码设计用例,而是需要根据不同的测试需求,结合不同的测试对象,使用适合的方法进行测试。因为对于不同复杂度的代码逻辑,可以衍生出许多种执行路径,只有适当的测试方法,才能帮助我们从代码的迷雾森林中找到正确的方向。本文介绍六种白盒子测试方法:语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖。
Robot基础使用手册 -- 高清
Rational Robot可开发三种测试脚本:用于功能测试的GUI脚本、用于性能测试的VU以及VB脚本
QTP调用外部动态库的方法
QTP调用外部动态库的方法,高清,很实用。
LoadRunner使用手册
LoadRunner 是一种适用于各种体系架构的自动负载测试工具,它能预测系统行为并优
化系统性能。LoadRunner 的测试对象是整个企业的系统,它通过模拟实际用户的操作行为
和实行实时性能监测,来帮助您更快的查找和发现问题。此外,LoadRunner 能支持广范的
协议和技术,为您的特殊环境提供特殊的解决方案。
【文字版】Head+First+Python_中文版
内容简介 · · · · · ·
你想过可以通过一本书就学会Python吗?《Head First Python(中文版)》超越枯燥的语法和甩法手册,通过一种独特的方法教你学习这种语言。你会迅速掌握Python的基础知识,然后转向持久存储、异常处理、Web开发、SQLite、数据加工和lGoogle App Engine。你还将学习如何为Android编写移动应用,这都要归功于Python为你赋予的强大能力。本书会提供充分并且完备的学习体验,帮助你成为一名真正的Python程序员。 作者巴里觉得你的时间相当宝贵,不应当过多地花费在与新概念的纠缠之中。通过应用认知科学和学习理论的最新研究成果,《Head First Python(中文版)》可以让你投入一个需要多感官参与的学习体验,这本书采用丰富直观的形式使你的大脑真正开动起来,而不是长篇累牍地说教,让你昏昏欲睡。
作者简介 · · · · · ·
Paul Barry最近发现他的编程生涯已近四分之一个世纪,这个事实着实让人有些震惊。在此期间,Paul使用过多种不同的编程语言编写程序,他在两个大洲的两个国家生活并工作过,并且娶妻生子,如今已经有3个孩子(当然……实际上孩子们都是他妻子在悉心照顾,不过Paul确实在他们身边),另外他还攻读了计算机的学士和硕士学位,编写或合作编写了另外3本书,还为《LinuxJournal》(他是这家杂志的特约编辑)撰写了大量技术文章。
目录 · · · · · ·
引子
1 初识Python:人人都爱列表
2 共享你的代码:函数模块
3 文件与异常:处理错误
4 持久存储:数据保存到文件
5 推导数据:处理数据!
6 定制数据对象:打包代码与数据
7 Web开发:集成在一起
8 移动应用开发:小设备
9 管理你的数据:处理输入
10 扩展你的Web应用:来真格的
11 处理复杂性:数据加工
I 其他:(我们没有谈到的)十大问题
索引
O+DAY安全_软件漏洞分析技术
内容简介 · · · · · ·
本书分为4篇17章,系统全面地介绍了Windows平台缓冲区溢出漏洞的分析、检测与防护。第一篇为常用工具和基础知识的介绍;第二篇从攻击者的视角出发,揭秘了攻击者利用漏洞的常用伎俩,了解这些知识对进行计算机应急响应和提高软件产品安全性至关重要;第三篇在第二篇的基础上,从安全专家的角度介绍了漏洞分析和计算机应急响应方面的知识;第四篇则站在软件工程师的角度讲述如何在开发、测试等软件生命周期的各个环节中加入安全因素,以增强软件产品的安全性。
作者简介 · · · · · ·
王清,网络ID:failwest,于西安交通大学先后获得计算机科学与技术学士学位、系统工程专业硕士学位。曾工作于教育部下一代互联网与网络安全重点实验室,研究兴趣涉及蠕虫建模、高级IDS算法、网站安全、代码审计、漏洞分析、病毒分析、逆向工程等领域。现就职于Symantec产品安全部,从事软件攻击测试,系统安全性审计,安全咨询等工作。
目录 · · · · · ·
第1篇 基础知识
第1章 漏洞概述
1.1 bug与漏洞
1.2 几个令人困惑的安全问题
1.3 漏洞挖掘、漏洞分析、漏洞利用
1.4 漏洞的公布与0 day响应
第2章 二进制文件概述
2.1 PE文件格式
2.2 虚拟内存
2.3 PE文件与虚拟内存之间的映射
第3章 必备工具
3.1 OllyDbg简介
3.2 SoftICE简介
3.3 WinDbg 简介
3.4 IDA Pro简介
3.5 二进制编辑器
3.6 虚拟机简介
3.7 Crack二进制文件
第2篇 漏洞利用
第4章 栈溢出利用
4.1 系统栈的工作原理
4.1.1 内存的不同用途
4.1.2 栈与系统栈
4.1.3 函数调用时发生了什么
4.1.4 寄存器与函数栈帧
4.1.5 函数调用约定与相关指令
4.2 修改邻接变量
4.2.1 修改邻接变量的原理
4.2.2 突破密码验证程序
4.3 修改函数返回地址
4.3.1 返回地址与程序流程
4.3.2 控制程序的执行流程
4.4 代码植入
4.4.1 代码植入的原理
4.4.2 向进程中植入代码
第5章 开发shellcode的艺术
5.1 shellcode概述
5.1.1 shellcode与exploit
5.1.2 shellcode需要解决的问题
5.2 定位shellcode
5.2.1 栈帧移位与jmp esp
5.2.2 获取“跳板”的地址
5.2.3 使用“跳板”定位的exploit
5.3 缓冲区的组织
5.3.1 缓冲区的组成
5.3.2 抬高栈顶保护shellcode
5.3.3 使用其他跳转指令
5.3.4 不使用跳转指令
5.3.5 函数返回地址移位
5.4 开发通用的shellcode
5.4.1 定位API的原理
5.4.2 shellcode的加载与调试
5.4.3 动态定位API地址的shellcode
5.5 shellcode编码技术
5.5.1 为什么要对shellcode编码
5.5.2 会“变形”的shellcode
5.6 为shellcode“减肥”
5.6.1 shellcode瘦身大法
5.6.2 选择恰当的hash算法
5.6.3 191个字节的bindshell
第6章 堆溢出利用
6.1 堆的工作原理
6.1.1 Windows堆的历史
6.1.2 堆与栈的区别
6.1.3 堆的数据结构与管理策略
6.2 在堆中漫游
6.2.1 堆分配函数之间的调用关系
6.2.2 堆的调试方法
6.2.3 识别堆表
6.2.4 堆块的分配
6.2.5 堆块的释放
6.2.6 堆块的合并
6.3 堆溢出利用(上)——DWORD SHOOT
6.3.1 链表“拆卸”中的问题
6.3.2 在调试中体会“DWORD SHOOT”
6.4 堆溢出利用(下)——代码植入
6.4.1 DWORD SHOOT的利用方法
6.4.2 狙击P.E.B中RtlEnterCritical-Section()的函数指针
6.4.3 堆溢出利用的注意事项
第7章 Windows异常处理机制深入浅出
7.1 S.E.H概述
7.2 在栈溢出中利用S.E.H
7.3 在堆溢出中利用S.E.H
7.4 挖掘Windows异常处理
7.4.1 不同级别的S.E.H
7.4.2 线程的异常处理
7.4.3 进程的异常处理
7.4.4 系统默认的异常处理U.E.F
7.4.5 异常处理流程的总结
7.5 V.E.H简介
第8章 高级内存攻击技术
8.1 狙击异常处理机制
8.1.1 攻击V.E.H链表的头节点
8.1.2 攻击TEB中的S.E.H头节点
8.1.3 攻击U.E.F
8.1.4 攻击PEB中的函数指针
8.2 “off by one”的利用
8.3 攻击C++的虚函数
8.4 Heap Spray:堆与栈的协同攻击
第9章 揭秘Windows安全机制
9.1 Service Pack 2简介
9.2 百密一疏的S.E.H验证
9.3 栈中的较量
9.3.1 .net中的GS安全编译选项
9.3.2 GS机制面临的挑战
9.4 重重保护下的堆
9.5 硬件方面的安全措施
第10章 用MetaSploit开发Exploit
10.1 漏洞测试平台MSF 简介
10.2 入侵Windows系统
10.2.1 漏洞简介
10.2.2 图形界面的漏洞测试
10.2.3 console界面的漏洞测试
10.3 利用MSF制作shellcode
10.4 用MSF扫描“跳板”
10.5 Ruby语言简介
10.6 “傻瓜式”Exploit开发
10.7 用MSF发布POC
第11章 其他漏洞利用技术
11.1 格式化串漏洞
11.1.1 printf中的缺陷
11.1.2 用printf读取内存数据
11.1.3 用printf向内存写数据
11.1.4 格式化串漏洞的检测与防范
11.2 SQL注入攻击
11.2.1 SQL注入原理
11.2.2 攻击PHP+MySQL网站
11.2.3 攻击ASP+SQL Server网站
11.2.4 注入攻击的检测与防范
11.3 XSS攻击
11.3.1 脚本能够“跨站”的原因
11.3.2 XSS Reflection攻击场景
11.3.3 Stored XSS攻击场景
11.3.4 攻击案例回顾:XSS蠕虫
11.3.5 XSS的检测与防范
第3篇 漏洞分析
第12章 漏洞分析技术概述
12.1 漏洞分析的方法
12.2 用“白眉”在PE中漫步
12.2.1 指令追踪技术与Paimei
12.2.2 Paimei的安装
12.2.3 使用PE Stalker
12.2.4 迅速定位特定功能对应的代码
12.3 补丁比较
第13章 MS06-040分析:系统入侵与蠕虫
13.1 MS06-040简介
13.2 漏洞分析
13.2.1 动态调试
13.2.2 静态分析
13.3 远程Exploit
13.3.1 RPC编程简介
13.3.2 实现远程exploit
13.3.3 改进exploit
13.3.4 MS06-040与蠕虫
第14章 MS06-055分析:揭秘“网马”
14.1 MS06-055简介
14.1.1 矢量标记语言(VML)简介
14.1.2 O day安全响应纪实
14.2 漏洞分析
14.3 漏洞利用
14.3.1 实践Heap Spray技术
14.3.2 网页木马攻击
第15章 MS07-060分析:Word文档中的阴谋
15.1 MS07-060简介
15.2 POC分析
第4篇 漏洞挖掘与软件安全性测试
第16章 漏洞挖掘技术浅谈
16.1 漏洞挖掘概述
16.2 Fuzz文件格式
16.2.1 File Fuzz简介
16.2.2 用Paimei实践File Fuzz
16.3 Fuzz网络协议
16.3.1 协议测试简介
16.3.2 SPIKE的Fuzz原理
16.3.3 SPIKE的Hello World
16.3.4 定义Block
16.3.5 生成Fuzz用例
16.4 Fuzz ActiveX
16.5 静态代码审计
第17章 安全的软件生命周期
17.1 Threat Modeling
17.2 编写安全的代码
17.3 产品安全性测试
17.4 漏洞管理与应急响应
参考文献
【文字版】Windows环境下32位汇编语言程序设计_第2版
Windows环境下32位汇编语言是一种全新的编程语言。它使用与C++语言相同的API接口,不仅可以开发出大型的软件,而且是了解操作系统运行细节的最佳方式。
《Windows环境下32位汇编语言程序设计(典藏版)》从编写应用程序的角度,从“Hello,World!”这个简单的例子开始到编写多线程、注册表和网络通信等复杂的程序,通过70多个实例逐步深入Windows环境下32位汇编语言编程的方方面面。
作者罗云彬拥有10余年汇编语言编程经验,本书是作者多年来编程工作的总结,适合于欲通过Windows环境下32汇编语言编写Windows程序的读者。
目录
《Windows环境下32位汇编语言程序设计(典藏版)》 目录
基础篇
第1章 背景知识 1
第2章 准备编程环境 21
第3章 使用MASM 47
初级篇
第4章 第一个窗口程序 90
第5章 使用资源 121
第6章 定时器和Windows时间 185
第7章 图形操作 193
界面篇
第8章 通用对话框 245
第9章 通用控件 262
系统篇
第10章 内存管理和文件操作 330
第11章 动态链接库和钩子 388
第12章 多线程 422
第13章 过程控制 454
第14章 异常处理 508
应用篇
第15章 注册表和INI文件 527
第16章 WinSock接口和网络编程 560
第17章 PE文件 626
第18章 ODBC数据库编程 694
【文字版】Windows用户态程序高效排错
第1章比工具、技巧和经验都重要的是你的思考——从四个风格迥异的案例说起
1.1绝望的性能问题:ADO NET2.0竟然比1.0要慢
1.1.1问题描述
1.1.2悲观和绝望
1.1.3换位思考
1.1.4排错
1.1.5结论和收获
1.1.6题外话和相关讨论
Safehandle的更多讨论
平衡、取舍、双赢和RFC1925
Profiler的下载地址和相关资源
1.2不可思议:一个API同时打开了两个文件
1.2.1问题描述
1.2.2第一印象
1.2.3深入分析
1.2.4革命尚未成功
1.2.5结论
1.2.6题外话和相关讨论
MSDN是最值得信赖的吗
你敢说CPU坏了
DWORD和文件长度
程序输出0xcdcdcdcd,想到了什么
1.3简单的问题最棘手:稀疏平常的ASP NETSessionLost问题
1.3.1问题描述
1.3.2制定策略
1.3.3具体操作和结论
1.3.4题外话和相关讨论
排查sessionlost的经验
1.4本可以做得更好:SharePoint中文界面变英文
1.4.1问题描述
1.4.2排错步骤
1.4.3错过的线索
第2章汇编、异常、内存、同步和调试器——重要的知识点和神兵利器
2.1排错的工具:调试器Windbg
2.1.1调试器的功能:检查代码和资料,保存dump文件,断点控制程序的执行
2.1.2符号文件(Symbolfile),把二进制和源代码对应起来
2.1.3一个简单的上手程序
2.1.4用InternetExplorer来操练调试器的基本命令
vertarget检查进程概况
!peb显示ProcessEnvironmentBlock
lmvm检查模块的加载信息
.reload/!sym加载符号文件
lmf列出当前进程中加载的所有模块
r,d,e寄存器,内存的检查和修改
!address显示内存页信息
S搜索内存
!runaway检查线程的CPU消耗
~切换目标线程
k,kb,kp,kv,kn检查callstack
u反汇编
x查找符号的二进制地址
dds对应二进制地址的符号
2.1.5检查程序资料的小例子
.frame在栈中切换以便检查局部变量
dt格式化显示资料
2.1.6用Windbg控制程序进行实时调试(LiveDebug)
WtWatchandTrace,跟踪执行的强大命令
断点和条件断点(conditionbreakpoint),高效地控制观测目标
伪寄存器,帮助保存调试的中间信息
StepOut的实现
2.1.7远程调试(Remotedebug)
2.1.8如何通过Windbg命令行让中文魔兽争霸运行在英文系统上
2.1.9Dump文件
2.1.10CDB、NTSD和重定向到KernelDebugging
2.1.11DebuggerExtension,扩展Windbg的功能
2.2读懂机器的语言:汇编,CPU执行指令的最小单元
2.2.1需要用汇编来排错的常见情况
案例分析:用汇编读懂VC编译器的优化
问题描述
我的分析
案例分析:VC2003编译器的bug、debug模式正常,release模式会崩溃
例子程序
跟踪汇编指令来分析
案例分析:臭名昭著的DLLHell如何导致ASP NET出现ServerUnavailable
2.2.2题外话和相关讨论
Release比Debug快吗
2.3理解操作系统对程序的反馈:异常(Exception)和通知(DebugEvent)
2.3.1异常(Exception)的方方面面和一篇字字珠玑的文章
案例分析:如何让C++像C#一样打印出函数调用栈(callstack)
2.3.2Adplus,抓取dump的方便工具
案例分析:华生医生(Dr.Watson)在什么情况下不能记录Dump文件
问题描述
背景知识
问题分析
新的做法
问题解决了,可是为什么华生医生(Dr.Watson)抓不到dump呢
2.3.3通知(DebugEvent)是操作系统跟调试器交流的一种方法
案例分析:VB6的版本问题
2.3.4题外话和相关讨论
错过第一现场后还从dump中分析出线索吗
Adplus,天天都用的工具
未处理异常发生后的主动退出
如何调试UnhandledExceptionFilter
2.4平坦内存空间中的层次结构:Heap和Stack
2.4.1Heap是对平坦空间的高效管理和利用
2.4.2PageHeap,调试Heap问题的工具
简单例子的多种情况
Heap上的内存泄漏和内存碎片
2.4.3Stackoverrun/corruption
2.4.4题外话和相关讨论
PageHeap的/unaligned参数
Heaptrace,系统帮你记录下每次Heap的操作
为何才分配了300MB内存,就报告Outofmemory
2.5找准排查问题的对应层次
2.5.1从C运行库看层次
2.5.2简单的_CRTDBG_MAP_ALLOC定义就可以让内存泄漏无可遁形
2.5.3BSTRCache,建立在Heap之上的COM字符串内存管理
2.5.4题外话和相关讨论
CRTDebugHeap一定对Debug有帮助吗
C++中new操作符的尴尬
2.6理清多个线程对资源的竞争:同步和锁
2.6.1句柄泄漏、死锁和线程争用,三个典型问题
句柄泄漏(HandleLeak)
死锁(Deadlock)
线程争用(contention)
2.6.2Windbg中的对应排错
!handle检查句柄信息
!htrace检查操作句柄的历史记录
!cs列出CriticalSection的详细信息
排查CriticalSectionleak(OrphanCriticalSection)
Invalidhandleexception
案例分析:ArrayList.Add的时候发生IndexOutOfRangeException
问题描述
这个异常不简单
具体操作
结论
2.7调试和设计
2.7.1一位热心朋友的提问
案例分析:反被聪明误
第3章.NETFramework的原理和SOS调试——剖析CLR程序和CLR本身
3.1MetaData、JIT、GC和Exception的关键点
3.1.1MetaData(元资料)和引擎初始化
3.1.2JIT动态编译
3.1.3GC内存管理
3.1.4ExceptionHandling异常处理
3.2用Windbg探索CLR的实现
3.2.1开源的CLR实现:Rotor
3.2.2对一个Helloworld的WinForm程序庖丁解牛
mscoree!_CorExeMainCLR引擎的入口
EEStartupHelper重要的引擎初始化函数
mscorwks!SystemDomain::ExecuteMainMethod执行托管代码的入口
CallDescr/MakeJitWorkerJit引擎发动的地方
NtUserWaitMessage托管程序完成加载
gc_heap::allocate_more_space/GCHeap::GarbageCollect通过GC管理内存的分配和 释放
AppDomain,ThreadPool,Exception,StackWalk,Security都是有趣的话题
3.3通过SOS快捷方便地调试托管程序
3.3.1CLR让托管程序的调试变得非常简单
3.3.2SOS的命令介绍
3.4用简单的程序演示SOS的常见操作
3.4.1.loadSOS加载SOS到Windbg
3.4.2!dumpheap统计托管内存使用信息
3.4.3!do显示托管对象的详细信息
3.4.4!gcroot查找托管对象的引用关系
案例分析:ASP NETHighCPU和更多的CLR命令演示
!threads查看托管线程
!tp查看线程池和CPU占用率
!SyncBlk查看托管线程的lock
!ip2md映像内存地址到托管函数名
!savemodule保存模块到本地以便用reflector分析
著名的blog:Ifbrokenitis,fixityoushould
3.5题外话和相关讨论
3.5.1ReleaseCOMObject释放COM对象时候的两难困境
3.5.2PInvoke应该Pin住内存防止崩溃
3.5.3Pin住内存又会导致内存碎片
3.5.4臭名昭著的mixedDLLloadingdeadlock
3.5.5有趣且有用的练习和更多的资料
第4章崩溃,性能和资源泄漏——分享一些经验
4.1排错开始前的准备工作
4.1.1用正确的态度对待问题
4.1.2用简单的提问缩小排错的范围
4.1.3通过MPSREPORT获取系统的详细信息
4.1.4通过简单的Dump分析获取基本信息
4.2崩溃(Crash)
4.2.1崩溃的万千种不同死相
4.2.2准确获取Dump
Adplus:最容易上手的dump脚本
华生医生(drWatson)
通过ImageFileExecutionOptions让调试器随目标程序一起启动
COM+和ASP NET的dump获取需要特殊配置
4.2.3crashdump中需要重点关注的信息
案例分析:VC程序的崩溃
问题描述
MessageBox嵌套调用
从源代码中发现的疑点
从This指针找崩溃的根源
结论
4.2.4小结和更多的资源
4.2.5题外话和相关讨论
HeapCorruption
StackCorruption
4.3性能(Performance)
4.3.1“你真牛,不如你再给我缩短10秒吧!”不是想要多快就能调到多快
4.3.2性能调优的步骤,CPU利用率是关键
4.3.3无所不知的性能监视器
使用性能监视器的基本步骤
重要的计数器
案例分析:博客园的性能问题
案例分析:堵塞在SqlCommand.ExecuteReader上就一定在等sql吗
问题背景
案例分析:堵塞在Assembly.Load上的deadlock
问题背景
案例分析:196个线程织成的一张网
问题背景
小结
4.3.4用Profiler精确定位性能瓶颈
案例分析:DataTable中foreach和forloop性能差了50%
问题背景
4.3.5题外话和相关讨论
Taskmanager跟performancemonitor的差别
性能监视器的超级用法
C++跟C#到底谁快
没有profiler怎么办
4.4资源泄漏(ResourceLeak)
4.4.1资源泄漏分轻重缓急
4.4.2内存泄漏排错的基本步骤
泄漏了什么,谁分配的,为什么无法释放
定位泄漏内存的类型和增长趋势
区分managedheapleak和nativeleak
案例分析:IE7的内存泄漏
问题描述
重现问题和基本分析
用传统的Pageheap+UMDH找到问题根源
方便强大的IISDiagnostics工具
结论
分析IISDiag
4.4.3托管内存泄漏
案例分析:objectchain让排错简单明了
问题背景
案例分析:一个bt的案例
碎片的其他原因
4.4.4句柄泄漏(HandleLeak)
4.4.5题外话和相关讨论
GDILeak
Desktopheapissue
产品经理数据分析手册
《产品经理数据分析手册》系统总结了 GrowingIO 创业以来在产品数据分析方面的经验,是第一本系统介绍产品数据分析能力体系的电子书。
跟阿铭学linux_第二版
第1章 前言
第2章 关于Linux的历史
第3章 对Linux系统管理员的建议
要安装什么版本的Linux操作系统
图形界面还是命令窗口
养成安全严谨的习惯
第4章 安装Linux操作系统
安装虚拟机
下载Linux操作系统镜像文件
安装CentOS (图形化安装)
安装CentOS (文本模式安装)
第5章 初步认识Linux
CentOS6是如何启动的
图形界面与命令行界面切换
学会使用快捷键
学会查询帮助文档 — man
Linux 系统目录结构
如何正确关机、重启
忘记root密码怎么办
使用系统安装盘的救援模式
第6章 Linux系统的远程登陆
下载Putty
给你的Linux配置IP
用putty登陆你的Linux
使用密钥认证机制远程登录Linux
第7章 Linux文件与目录管理
绝对路径和相对路径
环境变量PATH
几个和文档相关的命令
文件的所属主以及所属组
linux文件属性
更改文件的权限
在linux下搜一个文件
linux的文件系统简介
linux文件类型
Linux的链接文件
第8章 Linux系统用户及用户组管理
认识/etc/passwd和/etc/shadow
新增/删除用户和用户组
chfn 更改用户的finger (不常用)
创建/修改一个用户的密码
用户身份切换
使用密码记录工具keepass来保存密码
第9章 Linux磁盘管理
查看磁盘或者目录的容量
磁盘的分区和格式化
格式化磁盘分区
挂载/卸载磁盘
建立一个swap文件增加虚拟内存
磁盘配额
第10章 文本编辑工具vim
第11章 文档的压缩与打包
gzip压缩工具
bzip2压缩工具
tar压缩工具
第12章 安装RPM包或者安装源码包
RPM工具
yum工具
使用本地的光盘来制作一个yum源
利用yum工具下载一个rpm包
安装源码包
第13章 学习 shell脚本之前的基础知识
什么是shell
变量
系统环境变量与个人环境变量的配置文件
linux shell中的特殊符号
第14章 正则表达式
grep / egrep
sed工具的使用
awk工具的使用
第15章 shell脚本
shell脚本的基本结构以及如何执行
shell脚本中的变量
shell脚本中的逻辑判断
shell脚本中的循环
shell脚本中的函数
shll脚本练习题
第16章 linux系统日常管理
监控系统的状态
Linux网络相关
Linux的防火墙
linux系统的任务计划
linux的系统服务管理
linux下的数据备份工具rsync
linux系统日志
xargs与exec
screen工具介绍
第17章 LAMP环境搭建
安装MySQL
安装Apache
安装PHP
apache结合php
测试LAMP是否成功
第18章 LNMP环境搭建
安装MySQL
安装php
安装nginx
测试是否解析php文件
第19章 学会使用简单的MySQL操作
更改mysql数据库root的密码
连接数据库
一些基本的MySQL操作命令
一些常用的sql
mysql数据库的备份与恢复
第20章 NFS服务配置
服务端配置NFS
客户端上挂载nfs
第21章 配置FTP服务
安装pure-ftpd
配置pure-ftpd
测试pure-ftpd
第22章 配置Squid服务
Squid是什么
搭建Squid正向代理
搭建Squid反向代理
第23章 配置Tomcat
安装tomcat
配置tomcat
测试tomcat
第24章 配置Samba服务器
samba配置文件smb.conf
samba实践
第25章 MySQL replication(主从)配置
配置mysql服务
配置replication
测试主从
结语
【文字版】七天精通SvrKit_Server
SvrKit Sever 是基于SvrKit 框架编写的应用服务器。SvrKit Server 使用TCP 或UDP 连接来传输数据,数据
包中的内容使用修改版的Protobuf 协议。下图表示了基本的微信后台的服务架构。其中蓝色部分(逻辑应用服务
器)是本教程所要教授实现的部分。其中如果WerServer 和AppServer 都调用的是本部门的服务,则可以不走Broker服务器。
实战Nginx_取代Apache的高性能Web服务器
目录:
第1章 Nginx简介基本介绍
1.1 常用的Web服务器简介 3
1.1.1 Apache服务器 3
1.1.2 Lighttpd 服务器 3
1.1.3 Tomcat 服务器 4
1.1.4 IBM WebSphere 服务器 4
1.1.5 Microsoft IIS 4
1.2 Nginx简介 4
1.3 选择Nginx的理由 5
1.3.1 它可以高并发连接 5
1.3.2 内存消耗少 7
1.3.3 配置文件非常简单 8
1.3.4 成本低廉 8
1.3.5 支持Rewrite重写规则 9
1.3.6 内置的健康检查功能 9
1.3.7 节省带宽 9
1.3.8 稳定性高 9
1.3.9 支持热部署 9
1.4 Nginx与Apache、Lighttpd的综合对 比 9
第2章 Nginx服务器的安装与配置 11
2.1 安装Nginx服务器所需要的系统资源 11
2.2 Nginx的下载 12
2.3 Nginx的安装 12
2.3.1 Nginx在Windows环境下的安 装 13
2.3.2 Nginx在Linux环境下的安装 13
2.4 Nginx的启动、停止、平滑重启 16
2.4.1 Nginx的启动 17
2.4.2 Nginx的停止 17
2.5 Nginx的平滑重启 18
2.6 Nginx的信号控制 18
2.7 Nginx的平滑升级 19
第3章 Nginx的基本配置与优 化 21
3.1 Nginx的完整配置示例 21
3.2 Nginx的虚拟主机配置 23
3.2.1 什么是虚拟主机 23
3.2.2 配置基于IP的虚拟主机 24
3.2.3 配置基于域名的虚拟主 机 27
3.3 Nginx的日志文件配置与切割 29
3.3.1 用log_format指令设置日志格式 29
3.3.2 用access_log指令指定日志文件存放路径 30
3.3.3 Nginx日志文件的切割 32
3.4 Nginx的压缩输出配置 33
3.5 Nginx的自动列目录配置 35
3.6 Nginx的浏览器本地缓 存设置 36
第4章 Nginx与PHP(FastCGI)的安装、配置与优化 38
4.1 获取相关开源程 序 39
4.2 安装PHP 5.2.10(FastCGI模式) 42
4.3 安装Nginx 0.8.15 52
4.4 配置开机自动启动Nginx + PHP 55
4.5 优化Linux内核参数 55
4.6 在不停止 Nginx服务的情况下平滑变更Nginx配置 56
4.7 编写每天定时切割Nginx日志的脚本 56
第5 章 Nginx与JSP、ASP.NET、Perl的安装与配置 59
5.1 Nginx与JSP(Tomcat)在Linux上的安 装、配置 59
5.2.1 Tomcat和JDK的安装 60
5.1.2 Nginx与Tomcat的配置 61
5.2 Nginx与ASP.NET(Mono+FastCGI)在Linux上的安装、配置 63
5.2.1 Mono的安 装 63
5.2.2 Nginx与ASP.NET(Mono+FastCGI)的配置 64
5.3 Nginx与 Perl(FastCGI)在Linux上的安装、配置 67
5.3.1 Perl(FastCGI)的安装 67
5.3.2 Nginx与Perl(FastCGI)的配置 70
第6章 Nginx HTTP负载均衡和反向代理的配置与优化 73
6.1 什么是负载均衡和反向代理 73
6.1.1 负载均衡 73
6.1.2 反向代理 73
6.2 常见的Web负载均衡方法 74
6.2.1 用户手动选择方式 74
6.2.2 DNS轮询方式 75
6.2.3 四/七层负载均衡设备 77
6.2.4 多线多地区智能DNS解析与 混合负载均衡方式 81
6.3 Nginx负载均衡与反向代理的配置实例 83
6.3.1 完整的Nginx反向代理示 例如代码6-3所示 83
6.3.2 Nginx负载均衡与反向代理实现动、静态网页分离 86
6.4 Nginx负载 均衡的HTTP Upstream 模块 88
6.4.1 ip_hash指令 89
6.4.2 server指 令 89
6.4.3 upstream 指令 90
6.4.4 upstream相关变量 90
6.5 Nginx负载均衡服务器的双机高可用 91
第7章 Nginx的Rewrite规则编写实例 99
7.1 什么是Nginx的Rewrite规则 99
7.2 Nginx Rewrite规则相关指令 99
7.2.1 break指令 100
7.2.2 if 指令 100
7.2.3 return 指令 101
7.2.4 rewrite 指令 104
7.2.5 set 指令 106
7.2.6 uninitialized_variable_warn 指令 106
7.2.7 Nginx Rewrite可以用到的全局变量 106
7.3 PCRE正则表达式语法 107
7.4 Nginx的Rewrite 规则编写实例 109
7.5 Nginx与Apache的Rewrite规则实例对比 112
7.5.1 简单的 Nginx与Apache Rewrite重写规则 112
7.5.2 允许指定的域名访问本站,其他域名一律跳转到http://www.aaa.com 113
7.5.3 URL重写与反向代理同时进行 114
7.5.4 指定URL之外的URL进行Rewrite跳转 114
7.5.5 域名前缀作为重写规则变量的示例 115
第8章 Nginx模块开发 117
8.1 Nginx模块概述 117
8.2 Nginx模块编写实践 119
8.2.1 Hello World模块编写与安装 119
8.2.2 Hello World模块分析 121
第9章 Nginx的 Web缓存服务与新浪网的开源NCACHE模块 127
9.1 什么是Web缓存? 127
9.2 Nginx的Web 缓存服务 128
9.2.1 proxy_cache相关指令集 128
9.2.2 proxy_cache完整示 例 130
9.2.3 fastcgi_cache相关指令集 131
9.3 新浪网开源软件项目——基于Nginx的 NCache网页缓存系统 135
9.3.1 NCACHE模块的安装 136
9.3.2 NCACHE配置文件编 写 136
9.3.3 NCACHE的管理维护 138
9.3.4 NCACHE后端内容源服务器设置 139
第10章 Nginx在国内知名网站中的应用案例 141
10.1 Nginx反向代理与负载均衡类网站应用案例 142
10.1.1 Nginx负载均衡在新浪播客中的应用 142
10.1.2 Nginx负载均衡在金山逍遥网中的应用 146
10.2 Nginx+PHP类网站应用案例 152
10.2.1 Nginx+PHP 在金山逍遥网CMS发布系统中的应用 152
10.2.2 Nginx+PHP 在某分类信息网站中的应用 154
第11章 Nginx的非典型应用实例 171
11.1 用HTTPS(SSL)构建一个安全的Nginx Web服务器 171
11.1.1 自行颁发不受浏览器信任的SSL证书 171
11.1.2 向CA机构申请颁发受浏览器信任的SSL证书 174
11.2 采用Nginx搭建FLV视频服务器 176
11.2.1 采用Nginx的Flv Stream模块搭建HTTP下载方式的FLV视频服务器 176
11.2.2 采用Nginx实现FMS/Red5流媒体视频服务器的 负载均衡 177
11.3 Nginx+PHP+MySQL在小内存VPS服务器上的优化 179
11.3.1 增加 swap交换文件 180
11.3.2 Nginx的主配置文件(nginx.conf)优化 180
11.3.3 PHP(FastCGI)的配置优化 182
11.3.4 MySQL 5.1 配置优化 182
11.4 采用Nginx搭建正向代理服务器 184
第12章 Nginx的核心模块 185
12.1 主模 块指令 185
12.1.1 daemon 指令 185
12.1.2 env 指令 186
12.1.3 debug_points 指令 186
12.1.4 error_log 指令 186
12.1.5 log_not_found 指令 187
12.1.6 include 指令 188
12.1.7 lock_file 指令 188
12.1.8 master_process 指令 188
12.1.9 pid 指令 189
12.1.10 ssl_engine 指令 189
12.1.11 timer_resolution 指令 189
12.1.12 try_files 指令 189
12.1.13 user 指令 191
12.1.14 worker_cpu_affinity 指令 191
12.1.15 worker_priority 指令 192
12.1.16 worker_processes 指令 192
12.1.17 worker_rlimit_core 指令 193
12.1.18 worker_rlimit_nofile 指令 193
12.1.18 worker_rlimit_sigpending 指令 193
12.1.19 working_directory 指令 193
12.2 主模块变量 193
12.3 事件模块 指令 194
12.3.1 accept_mutex指令 194
12.3.2 accept_mutex_delay 指令 194
12.3.3 debug_connection 指令 194
12.3.4 use 指令 195
12.3.5 worker_connections 指令 195
第13章 Nginx的标准HTTP模块 197
13.1 HTTP的核心模块 197
13.1.1 alias 指令 197
13.1.2 client_body_in_file_only 指令 198
13.1.3 client_body_in_single_buffer 指令 198
13.1.4 client_body_buffer_size 指令 198
13.1.5 client_body_temp_path 指令 198
13.1.6 client_body_timeout 指令 199
13.1.7 client_header_buffer_size 指令 199
13.1.8 client_header_timeout 指令 199
13.1.9 client_max_body_size 指令 199
13.1.10 default_type 指令 200
13.1.11 directio 指令 200
13.1.12 error_page 指令 201
13.1.13 if_modified_since 指令 201
13.1.14 index 指令 202
13.1.14 internal 指令 202
13.1.15 keepalive_timeout 指令 203
13.1.16 keepalive_requests 指令 203
13.1.17 large_client_header_buffers 指令 204
13.1.18 limit_except 指令 204
13.1.19 limit_rate 指令 204
13.1.20 limit_rate_after 指令 205
13.1.21 listen 指令 205
13.1.22 location 指令 206
13.1.24 log_not_found 指令 207
13.1.25 log_subrequest 指令 207
13.1.26 msie_padding 指令 208
13.1.27 msie_refresh 指令 208
13.1.28 open_file_cache 指令 208
13.1.29 open_file_cache_errors 指令 209
13.1.30 open_file_cache_min_uses 指令 209
13.1.31 open_file_cache_valid 指令 209
13.1.32 optimize_server_names 指令 209
13.1.33 port_in_redirect指 令 210
13.1.34 recursive_error_pages指令 210
13.1.35 resolver 指令 210
13.1.36 resolver_timeout指令 210
13.1.37 root指令 211
13.1.38 satisfy_any指令 211
13.1.39 send_timeout指令 211
13.1.40 sendfile指令 211
13.1.41 server指令 212
13.1.42 server_name指令 212
13.1.43 server_name_in_redirect指令 214
13.1.44 server_names_hash_max_size指令 214
13.1.45 server_names_hash_bucket_size指令 214
13.1.46 server_tokens指令 215
13.1.47 tcp_nodelay指令 215
13.1.48 tcp_nopush指令 215
13.1.49 try_files指令 215
13.1.50 types指令 216
13.1.51 HTTP核心模块中可以使用的变量 216
13.2 HTTP Upstream模块 219
13.3 Http Access 模块 219
13.3.1 allow 指令 219
13.3.2 deny 指令 219
13.4 HTTP Auth Basic 模块 220
13.4.1 auth_basic 指令 220
13.4.2 auth_basic_user_file 221
13.5 Http Autoindex 模块 221
13.5.1 autoindex 指令 221
13.5.2 autoindex_exact_size 指令 222
13.5.3 autoindex_localtime 指令 222
13.6 Http Browser 模块 222
13.6.1 ancient_browser 指令 223
13.6.2 ancient_browser_value 指令 223
13.6.3 modern_browser 指令 223
13.6.4 modern_browser_value 指令 225
13.7 Http Charset 模块 226
13.7.1 charset 指令 226
13.7.2 charset_map 指令 226
13.7.3 override_charset 指令 228
13.7.4 source_charset 指令 228
13.8 Http Empty Gif 模块 228
13.8.1 empty_gif 指令 228
13.9 Http Fcgi 模块 228
13.9.1 fastcgi_buffers 指令 229
13.9.2 fastcgi_buffer_size 指令 230
13.9.3 fastcgi_cache 指令 230
13.9.4 fastcgi_cache_key 指令 230
13.9.5 fastcgi_cache_methods 指令 230
13.9.6 fastcgi_index 指令 231
13.9.7 fastcgi_hide_header 指令 231
13.9.8 fastcgi_ignore_client_abort 指令 231
13.9.9 fastcgi_intercept_errors 指令 231
13.9.10 fastcgi_max_temp_file_size 指令 232
13.9.11 fastcgi_param 指令 232
13.9.12 fastcgi_pass 指令 233
13.9.13 fastcgi_pass_header 指令 234
13.9.14 fastcgi_read_timeout 指令 234
13.9.15 fastcgi_redirect_errors 指令 234
13.9.16 fastcgi_split_path_info 指令 234
13.10 Geo 模块 235
13.10.1 geo指令 236
13.11 Gzip 模块 237
13.11.1 gzip指令 238
13.11.2 gzip_buffers指令 238
13.11.3 gzip_comp_level指令 239
13.11.4 gzip_min_length指令 239
13.11.5 gzip_http_version指令 239
13.11.6 gzip_proxied指令 240
13.11.7 gzip_types指令 240
13.12 Http Headers模块 241
13.12.1 add_header指令 242
13.12.2 expires指令 242
13.13 Http Index模块 243
13.13.1 index指令 243
13.14 Http Referer模块 243
13.14.1 valid_referers指令 244
13.15 Http Limit Zone模块 244
13.15.1 limit_zone指令 245
13.15.2 limit_conn指令 245
13.16 Http Limit Req模块 246
13.16.1 limit_req_zone指令 246
13.16.2 limit_req指令 247
13.17 Http Log模块 248
13.17.1 access_log指令 248
13.17.2 log_format指令 249
13.17.3 log_format_combined指令 249
13.17.4 open_log_file_cache指 令 250
13.18 Http Map模块 250
13.18.1 map指令 251
13.18.2 map_hash_max_size指令 252
13.18.3 map_hash_bucket_size指 令 252
13.19 Http Memcached模块 252
13.19.1 memcached_pass指 令 254
13.19.2 memcached_connect_timeout指令 255
13.19.3 memcached_read_timeout指令 255
13.19.4 memcached_send_timeout指令 255
13.19.5 memcached_buffer_size指令 256
13.19.6 memcached_next_upstream指令 256
13.19.7 Http Memcached模块中的变量 256
13.19.8 第三方的Memcached模块 256
13.20 Http Proxy模块 257
13.20.1 proxy_buffer_size指令 257
13.20.2 proxy_buffering指令 257
13.20.3 proxy_buffers指令 258
13.20.4 proxy_busy_buffers_size指令 258
13.20.5 proxy_cache相关指令 集 259
13.20.6 proxy_connect_timeout指令 259
13.20.7 proxy_headers_hash_bucket_size指令 259
13.20.8 proxy_headers_hash_max_size指令 259
13.20.9 proxy_hide_header指令 260
13.20.10 proxy_ignore_client_abort指令 260
13.20.11 proxy_ignore_headers指令 260
13.20.12 proxy_intercept_errors指令 261
13.20.13 proxy_max_temp_file_size指令 261
13.20.14 proxy_method指 令 261
13.20.15 proxy_next_upstream指令 262
13.20.16 proxy_pass指令 263
13.20.17 proxy_pass_header指令 264
13.20.18 proxy_pass_request_body指令 265
13.20.19 proxy_pass_request_headers指令 265
13.20.20 proxy_redirect指令 265
13.20.21 proxy_read_timeout指令 266
13.20.22 proxy_redirect_errors指令 267
13.20.23 proxy_send_lowat指 令 267
13.20.24 proxy_send_timeout指令 267
13.20.25 proxy_set_body指令 268
13.20.26 proxy_set_header指令 268
13.20.27 proxy_store指令 269
13.20.28 proxy_store_access指令 270
13.20.29 proxy_temp_file_write_size指令 271
13.20.30 proxy_temp_path指令 271
13.20.31 proxy_upstream_fail_timeout指令 271
13.20.32 proxy_upstream_max_fails指令 271
13.20.33 Http Proxy模块的变量 272
13.21 Http Rewrite模块 272
13.22 Http SSI模块 272
13.22.1 ssi指令 273
13.22.2 ssi_silent_errors指 令 273
13.22.3 ssi_types指令 273
13.22.4 ssi_value_length指 令 274
13.22.5 SSI命令 274
13.22.6 SSI变量 276
13.27 Http Userid模块 277
13.27.1 userid指令 277
13.27.2 userid_domain指令 277
13.27.3 userid_expires指令 278
13.27.4 userid_name指令 278
13.27.5 userid_p3p指令 278
13.27.6 userid_path指令 279
13.27.6 userid_service指令 279
第14章 Nginx的其他HTTP模块 280
14.1 Http Addition模块 280
14.1.1 add_before_body 281
14.1.2 add_after_body 281
14.1.3 addition_types 281
14.2 Embedded Perl模块 281
14.2.1 perl 指令 283
14.2.2 perl_modules 指令 283
14.2.3 perl_require 指令 283
14.2.4 perl_set 指令 283
14.2.5 从SSI调用Perl脚本 284
14.3 Flv Stream模块 286
14.3 flv 指令 287
14.4 Http Gzip Static模块 287
14.4.1 gzip_static 指令 287
14.4.2 gzip_http_version 指令 287
14.4.3 gzip_proxied 指令 288
14.5 Http Random Index模块 288
14.5.1 random_index 指令 288
14.6 Http Geo IP模块 288
14.6.1 geoip_country 指令 289
14.6.2 geoip_city 模块 289
14.7 Http RealIp模块 290
14.7.1 set_real_ip_from 指令 290
14.7.2 real_ip_header 指令 291
14.8 Http SSL模块 291
14.8.1 在多个server{......}虚拟主机中使用通配符SSL证 书 294
14.8.2 ssl 指令 294
14.8.3 ssl_certificate 指令 294
14.8.4 ssl_certificate_key 指令 295
14.8.5 ssl_client_certificate 指令 295
14.8.6 ssl_dhparam 指令 295
14.8.7 ssl_ciphers 指令 295
14.8.8 ssl_crl 指令 296
14.8.9 ssl_prefer_server_ciphers 指令 296
14.8.10 ssl_protocols 指令 296
14.8.11 ssl_verify_client 指令 296
14.8.12 ssl_verify_depth 指令 296
14.8.13 ssl_session_cache 指令 297
14.8.14 ssl_session_timeout 指令 297
14.8.15 ssl_engine 指令 298
14.9 Http Stub Status模块 298
14.9.1 stub_status 指令 299
14.10 Http Sub模块 299
14.10.1 sub_filter 指令 300
14.10.2 sub_filter_once 指令 300
14.10.3 sub_filter_types 指令 300
14.11 Http Dav模块 300
14.11.1 dav_access 指令 301
14.11.2 dav_methods 指令 301
14.11.3 create_full_put_path 指令 301
14.12 Google Perftools模块 302
14.12.1 google_perftools_profiles 指令 302
14.13 Http XSLT模块 302
14.13.1 xslt_entities 指令 303
14.13.2 xslt_stylesheet 指令 303
14.13.3 xslt_types 指令 304
14.14 Http Secure Link模块 304
14.14.1 secure_link_secret 指令 304
14.14.2 $secure_link 变量 305
14.15 Http Image Filter模块 306
14.15.1 image_filter 306
14.15.2 image_filter_buffer 306
14.15.3 image_filter_jpeg_quality 307
14.15.4 image_filter_transparency 307
学习Nginx_HTTP_Server中文版
内容简介编辑
《学习Nginx HTTP Server中文版》是Nginx新手管理员和资深管理员的理想读物。对于初学者,可从中学习如何以快速而安全的方式安装Nginx并对各个模块进行配置。对于有经验的管理员,它提供了不同视角的解决方案。书中提供Nginx所有模块和指令的完整参考,解释了如何用Nginx取代现有服务器,如何将Nginx配置为现有服务器的前端系统。完成本书的阅读后,读者能够轻松实现Nginx服务器,提升Web应用的速度。[1]
作者简介编辑
Clement Nedelcu 出生并成长于法国,在英国、法国和中国的大学接受过教育。他曾在中国江苏科学技术大学担任计算机教师。他同时兼任法国企业的技术顾问,他精通Web和.NET开发以及Linux服务器管理。自2005年以来,他在业余时间一直管理着一个大型的网站,最终领略到Nginx的好处,由此开博讨论Nginx,由此有了本书……
目录编辑
前言
第1章 准备工作环境
设置终端仿真器
查找并下载putty
建立会话
使用putty和shell
基本的shell命令
文件和目录管理
用户和组管理
程序和进程
了解linux文件系统
目录结构
特殊文件和设备
文件和inode
ext3文件系统
文件处理
系统管理工具
以超级管理员身份运行
命令
系统检查和维护
软件包
文件和权限
小结
第2章 下载和安装nginx
准备先决条件
gcc——gnu编译器集合
pcre库
zlib库
openssl
下载nginx
网站和资源
版本分支
功能
下载并解压
配置选项
容易的方法
路径选项
先决条件选项
模块选项
杂项
配置举例
普通的http和https服务器
建立配置的问题
编译和安装
控制nginx服务
守护进程和服务
用户和组
nginx命令行开关项
启动和停止守护进程
测试配置文件
其他开关选项
添加nginx作为系统服务
system v脚本
什么是init脚本?
为nginx建立init脚本
安装nginx的init脚本
小结
第3章 nginx的基本配置
配置文件的语法
配置指令
组织和包含
指令块
高级语言规则
基本模块指令
什么是基本模块?
nginx进程结构
核心模块指令
events模块
configuration模块
适合你需求的配置文件
理解默认的配置文件
必要的调整
适当选择硬件
测试服务器
建立测试服务器
性能测试
平滑升级nginx
小结
第4章 http配置
http核心模块
区段的结构
模块指令
套接字和主机的配置.
路径和文档
客户端请求
mime类型
限制和约束
文件处理和缓存
其他指令
模块变量
请求头
响应头
nginx产生的变量
location区段
location修饰符
查找顺序和优先级
小结
第5章 模块配置
rewrite模块
正则表达式
内部请求
条件结构
指令
通用重写规则
ssi模块
模块指令和变量
ssi命令
其他模块
站点访问和日志记录
限制和约束
内容和编码
与访问者相关的模块
ssl和安全
其他杂项模块
第三方模块
小结
第6章 nginx与php、python
fastcgi入门
理解web服务的机制
cgi通用网关接口
fastcgi
主要指令
fastcgl缓存
upstream块
nginx+php
结构
php-fpm
设置php和php-fpm
nginx配置
nginx与python
django
设置python和django
nginx的配置文件
小结
第7章 nginx和apache
nginx作为反向代理
理解问题根源
反向代理机制
优势和劣势
nginx代理模块
主要指令
配置apache和nginx
重新配置apache
配置nginx
高级配置
其他步骤
转发正确的ip地址
ssl问题及解决方案
服务器面板控制问题
小结
第8章从apaghe到ngifix
nginx对apache
特征
灵活性和团队
性能
使用
结论
移植apache配置
指令
模块
虚拟主机和配置部分
htaccess文件
重写规则
一般意见
wordpress
mediawiki
vbulletin
小结
附录a 指令索引
附录b 模块参考
附录c 疑难解答[1]
[大话处理器——处理器基础知识读本].万木杨.扫描版
处理器是IT、通信、电子产业的基石,没有处理器,信息产业大厦就如同建立在沙滩之上。本书是一本图文并茂、生动幽默的处理器科普读本,全书行文风趣幽默,用类比来解释晦涩的技术,用图画来代替枯燥的文字。本着科技以人为本的理念,本书除了技术外,还介绍了大量人物和公司的故事,供大家闲读。
第1章漫游计算机世界,介绍了计算机的前世今生,以及计算机的五脏六腑、七经八脉。第2~5章从外到内,介绍了处理器的外表和内心结构,处理器的核心技术尽在于此。第6章向软件人员介绍了怎样编写高效代码,处理器的客户就是程序员,程序员在处理器上开发程序,不了解处理器怎么好意思,而对处理器了解得越深,编写出来的代码执行效率就越高。第7章介绍了一大堆的处理器公司,现在的人们攒电脑,以后的人们说不定就能攒处理器了。第8章走进处理器的内“芯”世界,介绍处理器芯片是怎么设计与制造出来的。
本书的主要读者是IT、通信、电子、半导体行业的从业人员以及学生。喜欢技术的看技术,不喜欢技术的看故事。
[大话物联网].郎为民.高清文字版
本书是一本关于物联网的基础知识读物,内容涉及物联网的各个领域,从物联网的产生背景、概念、特点、现实与困境,到物联网的感知层、网络层和应用层,再到科技奥运、科技世博、麦德龙的未来商店等多个物联网应用案例,始终紧紧围绕物联网发展前沿的热点问题,依据物联网相关技术的最新标准,介绍了物联网基础理论和应用实践的最新成果。
大话重构 - 郎为民
本书运用大量源于实践的示例,从编码、设计、组织、架构、测试、评估、应对需求变更等方面,深入而多角度地讲述了我们应该如何重构,建设性地提出了高效可行的重构七步。读完本书,实践重构不再卡壳,需求变更不再纠结。全面领悟重构之美,遗留系统不再是梦魇,自动化测试原来可以这样做。本书帮助程序员告别劣质代码步入精妙设计,让遗留系统的维护者逐步改善原有设计,指导重构实践者走出困惑步步坚定。同时,也为管理者加强软件质量的管理与监督,提供了好的方法与思路。
大话云计算-郎为民
《大话云计算》是一本关于云计算的幽默科普读物,内容涉及云计算的方方面面。从云计算的产生背景、发展历史、基本概念、关键技术,到云计算的困境、未来、应用领域,再到国内外云计算的发展现状。本书始终紧紧围绕着云计算发展前沿的热点问题,比较全面、通俗地介绍了云计算的基础理论和应用实践的最新成果。 《大话云计算》使用大量的漫画、故事、笑话、网络流行语、相声小品台词等生动风趣的语言,采取比喻、夸张、排比、拟人等多种表现手法,以独特的视角深入浅出地为大家解读了云计算的特点、原理和应用,通过大量实例和漫画式插图来帮助读者理解晦涩、枯燥的技术,向读者诠释了云计算技术的巨大魅力,为初学者打开了一扇深入学习云计算技术的大门。 《大话云计算》可作为需要了解云计算基本知识的各级政府公务员、企业管理者、科研人员和高等院校师生的参考书,也可供对云计算感兴趣的读者阅读。
Go语言编程_许式伟_完整版_高清
本书首先引领读者快速浏览 Go 语言的全貌,迅速消除读者对这门语言的陌生感,然后循序渐进地介绍
了 Go 语言的面向过程和面向对象的编程语法,其中穿插了一些与其他主流语言的比较以让读者理解 Go 语
言的设计动机,接着探讨了 Go 语言最为重要的并行编程方法,之后介绍了网络编程、工程管理、安全编程、
开发工具等非语法相关但非常重要的内容,最后为一系列关于 Go 语言的文章,可以帮助读者更深入了解这
门全新的语言。
本书适合所有层次的开发者阅读。
Go语言·云动力 高清
Go语言是由谷歌的Rob Pike、Ken Thompson和Robert Griesemer共同设计开发的一种新型程序设计语言。2012年Go l的推出,代表着Go语言的稳定成熟,也正式宣告Go走人了主流语言的行列。《Go语言鄠动力》是Go语言程序设计入门书,介绍了Go语言的基础知识,包括静态类型、流程控制、函数、动态类型、面向对象、并发编程等内容,以及同其他C类语言相比,Go所具备的全新特性。同时,《Go语言鄠动力》还介绍了Go语言在云计算中的应用。
云计算时代,对编程语言的要求也越来越高,而现有编程语言都无法满足大规模网络应用的需求,更无法同时满足程序员高效编译、高效执行和轻松编程的要求。2007年,Go语言应运而生。它面向Web和多核计算,强调速度,并引入了高效、低延迟的垃圾回收算法,同时精简了类型,摒弃了危险的指针运算。所有这些特点,都使得Go既容易学习,也便使用,无论是要解决手边的小问题,还是要集体完成大项目,Go都是合适的通用语言。
本书作者是将Go语言在国内传播的第一人,对Go的编译器、运行器和各种包有深入研究,目前已正式成为Go语言的Contributor。本书是他这几年研究心血之结晶,旨在为读者了解Go语言、掌握Go语言提供专业的入门指导。
书中内容共分为9章,全面介绍了Go语言的基础知识,以及Go语言在云计算中的应用。作者还提供了70多个完整的示例程序,方便读者边学边练,加深记忆。通过轻松简洁的介绍,读者定能顺利进入Go语言的世界。
GO语言学习辅导v5 高清
Golang 是一个以类 BSD 讲可収布癿程序开収诧言,官斱提供有两个编译器 gc Go
编译器呾 gccgo 编译器,其中 gccgo 编译器是 GNU C 编译器癿一部分,而 gc 编译器
比较成熟幵丏它迚行了更多癿测试,本文所使用癿是 gc 编译器安装一个以二迚刢包収布癿 Go 版本。
Go_语言学习代码示例 高清
go语言是一个开源的语言。专为简单,迅速的编译可靠的软件而设计。本例具有操作介绍和注释,你可以直接看第一个例子或者通过下面的列表。
Go 学习笔记 高清
雨痕写的Go语言学习笔记 第四版 , 非常使用精彩. 好好学习,天天向上!
lua OpenResty 最佳实践 极客学院
在 2012 年的时候,我(作者)加入到奇虎 360 公司,为新的产品做技术选型。由于之前一直混迹在 Python 圈子
里面,也接触过 Nginx c 模块的高性能开发,一直想找到一个兼备 Python 快速开发和 Nginx c 模块高性能的产
品。看到 OpenResty 后,有发现新大陆的感觉。
于是我在新产品里面力推 OpenResty ,团队里面几乎没有人支持,经过几轮性能测试,虽然轻松击败所有的其
他方案,但是其他开发人员并不愿意参与到基于 OpenResty 这个“陌生”框架的开发中来。于是我一个人开始
了 OpenResty 之旅,刚开始经历了各种技术挑战,庆幸有详细的文档,以及春哥和邮件列表里面热情的帮
助,我成了团队里面 bug 最少和几乎不用加班的同学。
2014 年,团队进来了一批新鲜血液,他们都很有技术品味,先后都选择 OpenResty 来作为技术方向。我不再
是一个人在战斗,而另外一个新问题摆在团队面前,如何保证大家都能写出高质量的代码,都能对 OpenResty
有深入的了解?知识的沉淀和升华,成为一个迫在眉睫的问题。
我们选择把这几年的一些浅薄甚至可能是错误的实践,通过 Gitbook 的方式公开出来,一方面有利于团队自身的
技术积累,另一方面,也能让更多的高手一起加入,让 OpenResty 的使用变得更加简单,更多的应用到服务端
开发中,毕竟人生苦短,少一些加班,多一些陪家人。
这本书的定位是最佳实践,并不会对 OpenResty 做基础的介绍。想了解基础的同学,请不要看书,而是马上安
装 OpenResty ,把官方网站的 Presentations 浏览和实践几遍。
希望你能 enjoy OpenResty 之旅!
SBT 项目构建工具 - 极客学院
SBT 是一个灵活强大的项目构建工具,相比其他构建工具用起来会发现简洁简洁,但是从功能上看一点都逊色于
其他构建工具。
如果你已经熟悉SBT使用,可以直接去看 配置文件 .sbt () 、 配置作用域 () 和配置参数的方法 () 相关章节,不过
建议还是按照快速入门章节顺序阅读,这样可以理解SBT的相关概念。