JAVA 的 WebService 支持
SOA(Service-Oriented Architecture)面向服务架构是一种思想,它将应用程序的不同功能单元
通过中立的契约(独立于硬件平台、操作系统和编程语言)联系起来,使得各种形式的功能
单元更好的集成。目前来说,WebService 是 SOA 的一种较好的实现方式,WebService 采用
HTTP 作为传输协议,SOAP(Simple Object Access Protocol)作为传输消息的格式。但
WebService 并不是完全符合 SOA 的概念,因为 SOAP 协议是 WebService 的特有协议,并
未符合 SOA 的传输协议透明化的要求。SOAP 是一种应用协议,早期应用于 RPC 的实现,
传输协议可以依赖于 HTTP、SMTP 等。
PSI probe ,原来的lambda_probe
tomcat性能监控工具,很方便,也很简单,比tomcat自带的后台管理号多了
之前的名称叫做lambda_probe.
配置方法:
http://zwtlong.iteye.com/blog/729949
系统虚拟化:原理与实现
系统虚拟化:原理与实现.pdf 中文影印版 清晰度较高 书很薄,讲的内容较浅,适合初学虚拟化的人. 页数:252
Java 自动获取本机IP、MAC地址
自己写的一个小工具,方便查看本机的IP和MAC地址,如果是笔记本,可以采集到两个MAC地址。
采用的技术是Eclipse 4 RCP,算是练手。程序打包时绑定了JRE,解压后就可以运行。
SQLite数据库文件查看器
.db文件查看器SQLiteSpy,绿色软件无需安装,可以查看.db 文件
Programming in Objective-C 4th Edition
目录
需要英语好一点的人看
Contents
1 Introduction 1
What You Will Learn from This Book
2
7
19 23
27
How This Book Is Organized Support 5 Acknowledgments 5 Preface to the Fourth Edition
2 Programming in Objective-C
3
6
7
Compiling and Running Programs Using Xcode 8
Using Terminal
Explanation of Your First Program Displaying the Values of Variables Summary 25
Exercises 25
3 Classes, Objects, and Methods
17
What Is an Object, Anyway? 27
Instances and Methods 28
An Objective-C Class for Working with Fractions 30 The @interface Section 33
Choosing Names 34
Class and Instance Methods 35
The @implementation Section 37
The program Section 39
Accessing Instance Variables and Data Encapsulation 45 Summary 49
Exercises 49
4 Data Types and Expressions 51
Data Types and Constants 51 Type int 51
Type float 52
Type char 52viii Contents
Qualifiers: long, long long, short, unsigned, and signed 53
Type id 54
Arithmetic Expressions 55
Operator Precedence 55
Integer Arithmetic and the Unary Minus Operator 58 The Modulus Operator 60
Integer and Floating-Point Conversions 61
The Type Cast Operator 63
Assignment Operators 64 A Calculator Class 65 Exercises 67
5 Program Looping 71
The for Statement 72 Keyboard Input 79 Nested for Loops 81 for Loop Variants 83
The while Statement 84 The do Statement 88
The break Statement 90 The continue Statement 90 Summary 91
Exercises 91
6 Making Decisions 93
The if Statement 93
The if-else Construct 98 Compound Relational Tests 100 Nested if Statements 103
The else if Construct 105
The switch Statement 114 Boolean Variables 117
The Conditional Operator 122 Exercises 124
7 More on Classes 127
Separate Interface and Implementation Files 127 Synthesized Accessor Methods 132
Accessing Properties Using the Dot Operator 134 Multiple Arguments to Methods 135
Methods Without Argument Names 137
Operations on Fractions 137 Local Variables 140
Method Arguments 141
The static Keyword 141
The self Keyword 145
Allocating and Returning Objects from Methods 146
Extending Class Definitions and the Interface File 148 Exercises 148
8 Inheritance 151
It All Begins at the Root 151 Finding the Right Method 155
Extension Through Inheritance: Adding New Methods 156 A Point Class and Object Allocation 160
The @class Directive 161
Classes Owning Their Objects 165
Overriding Methods 169
Which Method Is Selected? 171
Abstract Classes 173 Exercises 174
9 Polymorphism, Dynamic Typing,
and Dynamic Binding 177
Polymorphism: Same Name, Different Class 177 Dynamic Binding and the id Type 180
Compile Time Versus Runtime Checking 182 The id Data Type and Static Typing 183
Argument and Return Types with Dynamic Typing 184 Asking Questions About Classes 185
Exception Handling Using @try 189
Exercises 192
Contents ix
x Contents
10 More on Variables and Data Types 195
Initializing Objects 195 Scope Revisited 198
Directives for Controlling Instance Variable Scope 198
More on Properties, Synthesized Accessors, and Instance Variables 200
Global Variables
200 Static Variables 202
Enumerated Data Types 205
208
The typedef Statement Data Type Conversions
209 Conversion Rules 210
Bit Operators 211
The Bitwise AND Operator 212
The Bitwise Inclusive-OR Operator 213 The Bitwise Exclusive-OR Operator 214
The Ones Complement Operator The Left Shift Operator 216 The Right Shift Operator 216
Exercises 217
11 Categories and Protocols 219
Categories 219
Class Extensions 224
214
Some Notes About Categories 225 Protocols and Delegation 226
Delegation 229
Informal Protocols 229 Composite Objects 230 Exercises 231
12 The Preprocessor 233
The #define Statement 233
More Advanced Types of Definitions 235
The #import Statement 240 Conditional Compilation 241
The #ifdef, #endif, #else 241
The #if and #elif Preprocessor Statements 243 The #undef Statement 244
Exercises 245
13 Underlying C Language Features 247
Arrays 248
Initializing Array Elements 250 Character Arrays 251 Multidimensional Arrays 252
Functions 254
Arguments and Local Variables 255 Returning Function Results 257 Functions, Methods, and Arrays 261
Blocks 262 Structures 266
Initializing Structures 269
Structures Within Structures 270
Additional Details About Structures 272
Don’t Forget About Object-Oriented Programming! 273
Pointers 273
Pointers and Structures 277
Pointers, Methods, and Functions 279 Pointers and Arrays 280
Constant Character Strings and Pointers 286 Operations on Pointers 290
Pointers and Memory Addresses 292
They’re Not Objects! 293 Miscellaneous Language Features 293
Compound Literals 293
The goto Statement 294
The null Statement 294
The Comma Operator 294
The sizeof Operator 295 Command-Line Arguments 296
How Things Work 298
Fact #1: Instance Variables Are Stored in Structures 298
Fact #2: An Object Variable Is Really a Pointer 299
Fact #3: Methods Are Functions, and Message Expressions Are Function Calls 299
Fact #4: The id Type Is a Generic Pointer Type 299 Exercises 300
Contents xi
xii Contents
14 Introduction to the Foundation Framework 303
Foundation Documentation 303
15 Numbers, Strings, and Collections 307
Number Objects 307 String Objects 312
More on the NSLog Function 312
The description Method 313
Mutable Versus Immutable Objects 314 Mutable Strings 320
Array Objects 327
Making an Address Book 330 Sorting Arrays 347
Dictionary Objects 354 Enumerating a Dictionary 355
Set Objects 358 NSIndexSet 362
Exercises 365
16 Working with Files 369
Managing Files and Directories: NSFileManager 370 Working with the NSData Class 375
Working with Directories 376
Enumerating the Contents of a Directory 379
Working with Paths: NSPathUtilities.h 381
Common Methods for Working with Paths 383 Copying Files and Using the NSProcessInfo Class 386
Basic File Operations: NSFileHandle 390 The NSURL Class 395
The NSBundle Class 396
Exercises 397
17 Memory Management and Automatic Reference Counting 399
Automatic Garbage Collection 401 Manual Reference Counting 402
Object References and the Autorelease Pool 403
The Event Loop and Memory Allocation 405
Summary of Manual Memory Management Rules 407 Automatic Reference Counting (ARC) 408
Strong Variables 408
Weak Variables 409
@autoreleasepool Blocks 410
Method Names and Non-ARC Compiled Code 411
18 Copying Objects 413
The copy and mutableCopy Methods 413 Shallow Versus Deep Copying 416 Implementing the Protocol 418 Copying Objects in Setter and Getter Methods Exercises 423
19 Archiving 425
Archiving with XML Property Lists 425 Archiving with NSKeyedArchiver 427
Writing Encoding and Decoding Methods 429 Using NSData to Create Custom Archives 436 Using the Archiver to Copy Objects 439 Exercises 441
421
20 Introduction to Cocoa and Cocoa Touch
Framework Layers 443 Cocoa Touch 444
21 Writing iOS Applications 447
The iOS SDK 447
Your First iPhone Application 447
Creating a New iPhone Application Project Entering Your Code 452
Designing the Interface 455
443
449
An iPhone Fraction Calculator 461
Starting the New Fraction_Calculator Project 462 Defining the View Controller 464
Contents xiii
xiv Contents
The Fraction Class 469
A Calculator Class That Deals with Fractions 473 Designing the UI 474
Summary 475 Exercises 476
A Glossary 479
B Address Book Example Source Code 487
Index 493
Proxy 模式学习代码
Proxy 模式学习代码,包括静态代理,动态代理,cglib等
CSS 2.0 中文手册
CSS 2.0 中文手册,手册类资料,用于查询CSS各个属性,是样式表中文手册的PDF版,值得收藏
DIV +CSS 速成手册
DIV +CSS 速成教程,是把网页上的教程转载成pdf的,教程不错:
教程共分 5 节,其实就一点点内容,不过通过学习,一定能让你领会到 DIV+CSS 的精髓,不要嫌文字多,一个小时一定能让你学完,当然是针对熟悉网页制作 基础的朋友。
Object-C 基础教程源代码
《Object-C 基础教程》一部书的 源代码,Mark Dalrymple Scott Knaster编著
包含2-17章所有源代码
JDK1.4.2 绿色免安装包
JDK1.4.2 无需安装,解压后直接使用
Java.Web.Services.Up.and.Running.Feb.2009 PDF 版
Java.Web.Services.Up.and.Running, PDF 版本,附 sample 代码
数据库连接池的图解原理
数据库连接池的图解原理
一般情况下,在使用开发基于数据库的WEB程序时,传统的模式基本是按以下步骤:
1. 在主程序(如Servlet、Beans)中建立数据库连接。
2. 进行SQL操作,取出数据。
3. 断开数据库连接。
使用这种模式开发,存在很多问题。首先,我们要为每一次WEB请求
WebSphere MQ V6 Fundamentals
WebSphere MQ V6 Fundamentals
This book provides the level of technical detail about the IBM WebSphere MQ
product required for individuals to make informed application and infrastructure
design decisions prior to implementing a WebSphere MQ infrastructure or
beginning development of a WebSphere MQ application.
This publication is intended to be of use to a wide-range audience.
Chapters 1 to 4 provide an introduction to the concepts of the WebSphere MQ
product and the challenges for which it provides solutions.
Chapters 5 to 8 provide a broad summary of the technical concepts and
implementation details of building and accessing WebSphere MQ infrastructures.
Chapters 9 and 10 provide a hands-on introduction to the concepts described in
Chapters 1 to 8.
Chapters 11 and 12 provide further technical information to help secure a
WebSphere MQ infrastructure and troubleshoot any problems encountered.
The level of technical detail provided increases progressively through this book.
We cover a broad range of topics from across the WebSphere MQ product and
documentation.
精通 WebSphere MQ pdf 版
IBM WebSphere MQ 是一个优秀的消息中间件,它被广泛地应用于各种企业应用系统之
间的互连, 已经逐渐成为这方面的标准。本书从原理到实践全面系统地阐述了 IBM
WebSphere MQ 产品的安装、配置、管理、设计、编程等各个方面,同时也介绍了产品的扩
展功能和一些高级使用技巧。本书从功能上重点介绍了日志管理、死信处理、客户端、群集、
交易、触发、报告、事件、分段与分组、分发列表、发布订阅、数据转换、用户出口、安全
套接字、性能等等。
全书覆盖了 WebSphere MQ 产品的所有相关知识,全文共分18 章。第1-2 章为基础部
分,介绍了WebSphere MQ 产品的原理和简单的安装过程。第3-4 章为管理部分,介绍产品
的控制、管理及配置。第5-12 章为设计部分,介绍了应用设计中可能用到的各种产品高级
功能和使用技巧。第13-18 章为编程部分,讲解了各种编程模式和方法。
对于 WebSphere MQ 的初学者和使用者,可以从本书的第一和第二部分入手,通过深入
的原理剖析和详细的管理操作,相信能够帮助这部分读者入门与提高。即使对与MQ 无关
的人员,也能够在通读本书后对这类软件的设计思路和工作原理有一定的了解和启发。第三
部分和第四部分是本书的精华,介绍了大量的高级功能与技巧,内含了作者多年的经验积累
和实例模型,对于WebSphere MQ 设计和编程人员会有相当的吸引力,可以作为有一定经验
者的高级读物,也是相关开发人员必不可少的参考书。
本书注重实践,附有大量例程,帮助读者在实践中加深理解,也为相关设计和开发人员
提供了丰富的参考样例。所有例程都在WebSphere MQ 5.3 环境下经过测试,供读者参考。
全书语言生动并附有很多插图,易于理解。在专业相关的文字叙述上力求简捷,在内容与过
程的安排上则力争翔实,使得读者能够容易地自己动手实践。相信能帮助读者的WebSphere
MQ 水平有所提高,从入门到精通。
基于IBM WACs框架的快速开发企业软件
基于IBM WACs框架的快速开发企业软件
夏永琳1。胡小辉z
(1.中南林业科技大学计算机科学学院,湖南长沙410004;
2.北京亿赛通科技发展有限公司,北京100083)
摘要:文章首先详细介绍了IBM Websphere应用组件开发(websphere Application Component,WACs)的框架,描
述了WACs的背景、应用服务和构成,然后介绍了基于WACs的开发流程和处理流程。最后,指出WACs框架提供
可重用服务的组件可以使得用户将精力集中在应用系统的开发上,从而缩短软件开放周期、提高软件质量。
关键词:J2EE;框架;应用组件开发
中图分类号:TN957.52+9 文献标识码:A 文章编号:1006—8937(2008)09—0009—04
RTC 3 内部培训材料
RTC 3.0.1内部培训材料,讲解如何使用RTC3.0.1
测试驱动开发中文版 PDF
测试驱动开发中文版 PDF版本的,很清晰的
EMF Eclipse Modeling Framework 2nd Edition
Book EMF Eclipse Modeling Framework 2nd Edition
web bean官方手册(简体中文版+繁体中文版+英文原版)
最新的Java技术,最具发展前景的Java技术。
以hibernate,seam,jpa的设计而出名的gaven king再次创造奇迹。
Web Beans(JSR-299)规格为 Java EE 环境定义了一组简化应用程序开发的服务。Web Bean 针对于现有的 Java 组件类型(包含 JavaBeans 以及 Enterprise Java Beans)提供了增强的生命周期与互动模型(interaction model)。为了补充传统的 Java EE 程序撰写模型(Programming Model),Web Bean 服务提供了:
状态组件上的生命周期改善,并绑定至明确定义的 contexts、
一个用来进行 dependency injection(依赖注入)的 typesafe(类型安全列举)方式、
透过 event notification(事件通知)功能来进行的互动,以及
一个将 interceptors(拦截器)绑定至组件的较佳方式,以及一个称为 decorator(装饰器)的新型拦截器,它适用于解决商业上的相关问题。
依赖注入和 contextual 生命周期管理这两者组合起来可让一个不熟悉的 API 的用户无须过问下列问题:
这个物件的生命周期为何?
它一次能同时有几个客户端?
它是否为多执行绪(multithread)?
我能从哪里取得呢?
我是否需要明确地将它毁掉呢?
当我没有在直接使用它时,我应该将它的参照保留在哪里呢?
我该如何新增一个 indirection layer 来使这个对象在建置时的实做可呈多样化?
我该如何在其它对象之间共享这个对象?
Web Bean 只会指定它所依赖的 Web Bean 的类型和语意。它无须知道实际的生命周期、具体的实做、执行绪模型,或是任何它所依赖的 Web Bean 的其它客户端。更好的是,它所依赖的 Web Bean 的具体实做、生命周期和执行绪模型可根据建置的情况来改变,并且不影响到任何的客户端。
事件、拦截器以及装饰器可增强在此模型中所继承的 loose-coupling(松散结合性):
event notifications(事件通知)会 decouple producer 和 event consumer(事件用户),
interceptors(拦截器)可由商业逻辑去 decouple 技术问题,并且
decorators(装饰器)可将商业问题分为若干部分。
最重要的是,Web Bean 以一种 typesafe 的方式来提供了所有的这些功能。Web Bean 从不使用基于字符串的识别符号(identifier)来断定共同协作的对象如何相辅相成。虽然 XML 也是选项之一不过却很少被使用到。取而代之,Web Bean 使用了 Java 对象模型中可使用的 typing 信息并统合了一个称为 binding annotations(绑定标记)的新格式,它可将 Web Bean、它们的相依性、它们的拦截器和装饰器以及它们的事件用户联系在一起。
Web Bean 服务为通用的并且适用于下列位于 Java EE 环境中的组件类型:
所有 JavaBean、
所有 EJB,以及
所有 Servlet。
Web Bean 甚至提供了必要的整合点来让未来 Java EE 规格或是非标准架构所定义的其它类型组件能够利落地与 Web Bean 整合、有效利用 Web Bean 服务,并与任何其它类型的 Web Bean 进行互动。
Web Bean 受到了几个现有的 Java framework(包括 Seam、Guice 以及 Spring)的影响。不过,Web Bean 拥有它自己独特的特性:比 Seam 还要完善的 typesafe、比 Spring 更 stateful 而没有那么地以 XML 为中心,并且针对于网站和企业级的应用程序上的处理能力比 Guice 完善。
最重要的是,Web Bean 是一个能与 Java EE 以及可使用崁入式的 EJB Lite 的任何 Java SE 环境整合的 JCP 标准。
无人机测绘和检查公式汇集
公式名称 GSD(地面采样距离)
详细描述 图像中每个像素覆盖的地面量。 GSD 越低,图像的细节越高。
公式 GSD = Sensor Width * Working Distance / True Focal Length * Image Width
计算器(参数)
Sensor Width 12.8
Working Distance (Altitude or Distance) 50
True Focal Length 10.26
Image Width 5472
GSD (cm/pixel) 1.139951894
公式名称 真实焦距True Focal Length
详细描述 相机的真实焦距,而不是 35 毫米等效焦距
公式 True Focal Length = 35mm Equivalent Focal Length / Crop Factor
计算器(参数)
Focal Length (35mm equivalent) 35
SARGON data model for energy
SARGON 数据模型, Apache 基金会推荐的能源行业数据模型标准,提供 SARGON-智能能源领域本体,将 SAREF 扩展到:
-代表智能能源领域的横切领域特定信息,包括建筑和电网自动化结合在一起。
-由智能能源标准和物联网计划以及实际用例提供支持。
-涉及显式创建的类、属性和实例以覆盖建筑物和电网自动化领域
-扩大智能能源领域的 SAREF
-SARGON 包含智能电网和楼宇中的监控和保护用例自动化。
-通过研究能源领域的现有标准来收集本体要求
-SARGON 本体已经以 Web 应用程序的形式进行了演示
以语义方式提供和管理智能能源领域的物联网设备。
Smart Appliance REFerence (SAREF) 本体是共识的共享模型,促进智能应用领域现有资产的匹配。SAREF 提供构建块,允许不同的分离和重组
SAREF 是根据以下基本原则创建的:
重用和调整现有资产中定义的概念和关系
模块化允许根据不同的本体分离和重组本体
具体需求
允许本体进一步增长的可扩展性
可维护性,以促进识别和纠正缺陷的过程,适应新的
要
Centos 7 服务器Apache-ActiveMQ安装指南
虽然ActiveMQ目前已经不是开发时的主要消息中间件, 但是对于简单使用JMS的场景而言, ActiveMQ仍然是一个比较成熟、稳定的框架,可以供初学者、小微企业快速上手。
虽然Apache ActiveMQ目前有多种安装方式, 使用Docker 也可以快速获得本地测试环境,但是对于初学者而言, Docker 在提供方便性的同时, 也增加了Docker 技术的复杂性,对于初学者而言,并不能很好的聚焦于ActiveMQ本身。而且ActiveMQ虽然网络资源很多, 但是往往资料过于老旧,或者更多的集中于SpringBoot 和ActiveMQ的集成,对于如何把ActiveMQ安装和详细的端口配置,往往语焉不详, 对于Jetty Web管理端(admin)和具体的JMS 端口的用户密码配置,更是资料不够详细。有鉴于此,本文档可以指导用户逐步操作,只需要复制、粘贴即可,最终配置一个可以远程访问的ActiveMQ环境。
本文档提供了在CentOS7 中安装Apache ActiveMQ 5的操作指南,可以用来指导初级开发人员和企业运维人员搭建Apache MQ的开发、测试环境.
CentOS7 环境下Tomcat和Nginx 安全配置操作手册
本文档用来指导在CentOS 7 环境下,如何一步一步安装和配置JDK 1.8\Tomcat 8.5、Nginx2,并完成安全配置。 本文档适用于企业IT 人员操作,经过多次更新和验证,最后可以形成一个企业级的、完整、安全、Tomcat和Nginx 环境, 适用于生产环境。也可用于Java初学者配置部署环境。
内容有:
一、 安装JDK
1.1 目的
1.2 安装指南
1.2.1 下载JDK并卸载之前的OpenJDK
1.2.2 安装rpm包
1.2.3 查看系统默认java
二、 安装Tomcat
2.1 目的
2.1.1 创建Tomcat
2.1.2 安装Tomcat依赖
2.1.3 安装Tomcat
2.2 更改权限
2.2.1 配置Tomcat 服务自启动
2.3 Tomcat 性能优化
2.3.1 更改server.xml
2.3.2 配置默认应用
2.3.3 更改JVM
2.4 应用服务器安装和配置确认
SG-UAP应用开发——培训资料-内有15个PPT.zip
SG-UAP应用开发——培训资料-内有15个PPT, 包括:
1.应用系统统一开发平台(SG-UAP)V1.1培训_快速开发-UAP平台介绍
2.应用系统统一开发平台(SG-UAP)V1.1培训_快速开发-技术服务相关介绍
3.应用系统统一开发平台(SG-UAP)V1.1培训_快速开发-平台集成开发工具介绍
4.应用系统统一开发平台(SG-UAP)V1.1培训_快速开发-平台服务端应用开发
5.应用系统统一开发平台(SG-UAP)V1.1培训_快速开发-平台前端MX框架应用介绍.pptx
6.应用系统统一开发平台(SG-UAP)V1.1培训_快速开发-平台前端MX框架应用示例.pptx
7.应用系统统一开发平台(SG-UAP)V1 1培训_快速开发-统一权限.ppt
8.应用系统统一开发平台(SG-UAP)V1.1培训_快速开发-BPM.pptx
9.应用系统统一开发平台(SG-UAP)V1.1培训_快速开发-业务系统与权限集成开发.pptx
10.应用系统统一开发平台(SG-UAP)V1.1培训_快速开发-统一权限管理系统配置示例.pptx
11.应用系统统一开发平台(SG-UAP)V1.1培训_快速开发-工作流集成应用开发.pptx
12.应用系统统一开发平台(SG-UAP)V1.1培训_快速开发-BPM实例请假流程.pptx
13.应用系统统一开发平台(SG-UAP)V1.1培训_快速开发-任务调度.pptx
14.应用系统统一开发平台(SG-UAP)V1.1培训_快速开发-即席报表.pptx
15.应用系统统一开发平台(SG-UAP)V1.1培训_快速开发-综合开发实例.pptx
SG-UAP应用开发最佳实践之2_功能开发.pptx.zip
SG-UAP 应用开发 最佳实践 功能开发, 从最开始的模型驱动开发的原理开始, 一步一步教你怎么使用UAP 开发应用
Virtualbox 虚拟机镜像, 包含minikube 环境, 开箱即用
virtualbox虚拟机, 包含安装好的minikube 环境
minikube version: v1.17.0
kubectl version
kubectl version:
Client Version: version.Info{Major:"1", Minor:"20", GitVersion:"v1.20.2", GitCommit:"faecb196815e248d3ecfb03c680a4507229c2a56", GitTreeState:"clean", BuildDate:"2021-01-13T13:28:09Z", GoVersion:"go1.15.5", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"20", GitVersion:"v1.20.2", GitCommit:"faecb196815e248d3ecfb03c680a4507229c2a56", GitTreeState:"clean", BuildDate:"2021-01-13T13:20:00Z", GoVersion:"go1.15.5", Compiler:"gc", Platform:"linux/amd64"}
具体介绍参见:
https://www.toutiao.com/i6934337157574230539/
Kafka Streams in Action v8 MEAP 高清
Kafka Streams in Action 高清文字版 非扫描版
PART 1: GETTING STARTED WITH KAFKA STREAMS
1 Welcome to Kafka Streams
2 Kafka Quickly
PART 2: KAFKA STREAMS DEVELOPMENT
3 Developing Kafka Streams
4 Streams and State
5 The KTable API
6 The Processor API
PART 3: ADMINISTERING KAFKA STREAMS
7 Monitoring and Performance
8 Testing a Kafka Streaming Application
PART 4: ADVANCED CONCEPTS WITH KAFKA STREAMS
9 Advanced Applications with Kafka Streams
APPENDIXES:
A Additional Configuration Information
B Exactly Once Semantics
图解密码学
本书的结构
第一部分:密码
第 1 章“环游密码世界” 将对密码技术进行整体性的讲解。
第 2 章“历史上的密码” 将讲解一些在历史上扮演了重要角色的密码,并对密码的破译进
行思考。
第 3 章“对称密码(共享密钥密码)” 将讲解加密所使用的基本技术——对称密码(共享密
钥密码),包括长期以来被作为标准采用的 DES 算法以及最新的 AES 算法。
第 4 章“分组密码的模式” 将讲解对称密码中描述加密具体实现步骤的模式,内容包括
ECB、CBC、CFB、OFB、CTR 等各种模式,以及分组密码和流密码的相关知识。
第 5 章“公钥密码” 将讲解现代密码技术中最重要的部分——公钥密码。在讲解密钥配送
的相关问题之后,还会对 RSA 公钥加密算法进行实际计算。
第 6 章“混合密码系统” 将讲解通过将对称密码和公钥密码相结合来实现更安全的加密和
解密的方法。
第二部分:认证
第 7 章“单向散列函数” 将讲解能够产生消息指纹的单向散列函数。这一章将讲解单向散
列函数所具备的性质,并介绍 MD5、SHA-1、RIPEMD 等具体的单向散列函数。
第 8 章“消息认证码” 将讲解通过将对称密码与单向散列函数相结合来确认消息是否被正
确传送的技术。
第 9 章“数字签名” 将讲解采用公钥密码技术来进行认证的技术,这些技术能够防止伪装
和篡改。
第 10 章“证书” 将讲解用来表示公钥合法性的证书以及颁发证书的认证机关的相关知识,
同时还将讲解公钥基础架构(PKI)的机制。
第三部分:密钥、随机数和应用技术
第11章 “密钥” 将讲解管理密码中所使用的密钥的相关知识,并探讨我们日常使用的“口令”(password)。
第12章 “随机数” 将讲解用于在计算机上生成随机数的伪随机数生成器。伪随机数生成器在密钥的生成过程中发挥了重要的作用。这一章将讲解密码中所使用的随机数所具备的性质,并介绍使用对称密码和单向散列函数构建伪随机数生成器的方法,同时还会介绍在密码中使用线性同余法的危险性。
第13章 “PGP” 将讲解一种广泛使用的加密软件——Pretty Good Privacy(PGP)。PGP集成了多种重要的密码技术,如对称密码、公钥密码、单向散列函数、数字签名、密钥管理、随机数生成等。通过学习PGP的结构,我们就可以理解密码技术的组合方法。
第14章 “SSL/TLS” 将讲解Secure Socket Layer(SSL)和Transport Layer Security(TLS)。SSL/TLS是我们在Web上进行网上购物等操作时用来确保安全性的技术。
第15章 “密码技术与现实社会” 将对之前的章节中所讲解的密码技术进行梳理,并对密码技术在现实社会的安全方面所发挥的作用进行思考。
Bulletproof SSL and TLS,PDF , Ivan Ristic
Bulletproof SSL and TLS
by Ivan Ristić
Table of Contents
Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv
Scope and Audience xvi
Contents xvii
SSL versus TLS xix
SSL Labs xix
Online Resources xx
Feedback xxi
About the Author xxi
Acknowledgments xxi
1. SSL, TLS, and Cryptography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Transport Layer Security 1
Networking Layers 2
Protocol History 3
Cryptography 4
Building Blocks 5
Protocols 15
Attacking Cryptography 16
Measuring Strength 17
Man-in-the-Middle Attack 18
2. Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Record Protocol 24
Handshake Protocol 25
Full Handshake 26
Client Authentication 32
Session Resumption 34
Key Exchange 35
RSA Key Exchange 38
Diffie-Hellman Key Exchange 38
Elliptic Curve Diffie-Hellman Key Exchange 40
iii
Authentication 41
Encryption 42
Stream Encryption 42
Block Encryption 43
Authenticated Encryption 44
Renegotiation 45
Application Data Protocol 47
Alert Protocol 47
Connection Closure 47
Cryptographic Operations 48
Pseudorandom Function 48
Master Secret 48
Key Generation 49
Cipher Suites 49
Extensions 52
Application Layer Protocol Negotiation 53
Certificate Transparency 53
Elliptic Curve Capabilities 54
Heartbeat 55
Next Protocol Negotiation 56
Secure Renegotiation 57
Server Name Indication 57
Session Tickets 58
Signature Algorithms 59
OCSP Stapling 59
Protocol Limitations 60
Differences between Protocol Versions 60
SSL 3 60
TLS 1.0 61
TLS 1.1 61
TLS 1.2 61
3. Public-Key Infrastructure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Internet PKI 63
Standards 65
Certificates 66
Certificate Fields 67
Certificate Extensions 68
Certificate Chains 71
Relying Parties 72
iv
Certification Authorities 74
Certificate Lifecycle 74
Revocation 76
Weaknesses 76
Root Key Compromise 79
Ecosystem Measurements 80
Improvements 82
4. Attacks against PKI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
VeriSign Microsoft Code-Signing Certificate 87
Thawte login.live.com 88
StartCom Breach (2008) 89
CertStar (Comodo) Mozilla Certificate 89
RapidSSL Rogue CA Certificate 90
Chosen-Prefix Collision Attack 92
Construction of Colliding Certificates 92
Predicting the Prefix 94
What Happened Next 96
Comodo Resellers Breaches 96
StartCom Breach (2011) 98
DigiNotar 99
Public Discovery 99
Fall of a Certification Authority 99
Man-in-the-Middle Attacks 102
ComodoHacker Claims Responsibility 103
DigiCert Sdn. Bhd. 104
Flame 105
Flame against Windows Update 106
Flame against Windows Terminal Services 107
Flame against MD5 107
TURKTRUST 109
ANSSI 110
5. HTTP and Browser Issues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
Sidejacking 113
Cookie Stealing 115
Cookie Manipulation 116
Understanding HTTP Cookies 117
Cookie Manipulation Attacks 118
Impact 122
Mitigation 122
v
SSL Stripping 123
MITM Certificates 125
Certificate Warnings 126
Why So Many Invalid Certificates? 127
Effectiveness of Certificate Warnings 129
Click-Through Warnings versus Exceptions 130
Mitigation 131
Security Indicators 131
Mixed Content 133
Root Causes 134
Impact 136
Browser Treatment 136
Prevalence of Mixed Content 138
Mitigation 139
Extended Validation Certificates 140
Certificate Revocation 141
Inadequate Client-Side Support 141
Key Issues with Revocation-Checking Standards 142
Certificate Revocation Lists 143
Online Certificate Status Protocol 146
6. Implementation Issues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
Certificate Validation Flaws 152
Library and Platform Validation Failures 152
Application Validation Failures 155
Hostname Validation Issues 156
Random Number Generation 158
Netscape Navigator (1994) 158
Debian (2006) 159
Insufficient Entropy on Embedded Devices 160
Heartbleed 162
Impact 163
Mitigation 164
Protocol Downgrade Attacks 165
Rollback Protection in SSL 3 165
Interoperability Problems 167
Voluntary Protocol Downgrade 169
Rollback Protection in TLS 1.0 and Better 171
Attacking Voluntary Protocol Downgrade 172
Modern Rollback Defenses 172
vi
Truncation Attacks 173
Truncation Attack History 175
Cookie Cutting 175
Deployment Weaknesses 177
Virtual Host Confusion 177
TLS Session Cache Sharing 178
7. Protocol Attacks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
Insecure Renegotiation 181
Why Was Renegotiation Insecure? 182
Triggering the Weakness 183
Attacks against HTTP 184
Attacks against Other Protocols 187
Insecure Renegotiation Issues Introduced by Architecture 188
Impact 188
Mitigation 188
Discovery and Remediation Timeline 189
BEAST 191
How the Attack Works 191
Client-Side Mitigation 195
Server-Side Mitigation 197
History 198
Impact 199
Compression Side Channel Attacks 201
How the Compression Oracle Works 201
History of Attacks 203
CRIME 204
Mitigation of Attacks against TLS and SPDY 212
Mitigation of Attacks against HTTP Compression 213
Padding Oracle Attacks 214
What Is a Padding Oracle? 214
Attacks against TLS 215
Impact 216
Mitigation 217
RC4 Weaknesses 218
Key Scheduling Weaknesses 218
Early Single-Byte Biases 219
Biases across the First 256 Bytes 220
Double-Byte Biases 222
Mitigation: RC4 versus BEAST and Lucky 13 222
vii
Triple Handshake Attack 224
The Attack 224
Impact 229
Prerequisites 230
Mitigation 231
Bullrun 232
Dual Elliptic Curve Deterministic Random Bit Generator 232
8. Deployment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
Key 235
Key Algorithm 235
Key Size 236
Key Management 237
Certificate 238
Certificate Type 238
Certificate Hostnames 239
Certificate Sharing 239
Signature Algorithm 240
Certificate Chain 240
Revocation 241
Choosing the Right Certificate Authority 241
Protocol Configuration 243
Cipher Suite Configuration 244
Server cipher suite preference 244
Cipher Strength 244
Forward Secrecy 244
Performance 245
Interoperability 246
Server Configuration and Architecture 246
Shared Environments 246
Virtual Secure Hosting 247
Session Caching 247
Complex Architectures 248
Issue Mitigation 249
Renegotiation 249
BEAST (HTTP) 249
CRIME (HTTP) 250
Lucky 13 250
RC4 250
TIME and BREACH (HTTP) 251
viii
Triple Handshake Attack 252
Heartbleed 252
Pinning 253
HTTP 253
Making Full Use of Encryption 253
Cookie Security 254
Backend Certificate and Hostname Validation 254
HTTP Strict Transport Security 254
Content Security Policy 255
Protocol Downgrade Protection 255
9. Performance Optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
Latency and Connection Management 258
TCP Optimization 259
Connection Persistence 260
SPDY, HTTP 2.0, and Beyond 262
Content Delivery Networks 263
TLS Protocol Optimization 265
Key Exchange 265
Certificates 270
Revocation Checking 271
Session Resumption 272
Transport Overhead 273
Symmetric Encryption 275
TLS Record Buffering Latency 277
Interoperability 279
Hardware Acceleration 279
Denial of Service Attacks 280
Key Exchange and Encryption CPU Costs 281
Client-Initiated Renegotiation 282
Optimized TLS Denial of Service Attacks 282
10. HSTS, CSP, and Pinning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
HTTP Strict Transport Security 285
Configuring HSTS 286
Ensuring Hostname Coverage 287
Cookie Security 288
Attack Vectors 289
Robust Deployment Checklist 290
Browser Support 291
Privacy Implications 293
ix
Content Security Policy 293
Preventing Mixed Content Issues 294
Policy Testing 295
Reporting 295
Browser Support 296
Pinning 296
What to Pin? 297
Where to Pin? 299
Should You Use Pinning? 300
Pinning in Native Applications 300
Chrome Public Key Pinning 301
Microsoft Enhanced Mitigation Experience Toolkit 303
Public Key Pinning Extension for HTTP 303
DNS-Based Authentication of Named Entities (DANE) 305
Trust Assertions for Certificate Keys (TACK) 309
Certification Authority Authorization 310
11. OpenSSL Cookbook . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
Getting Started 314
Determine OpenSSL Version and Configuration 314
Building OpenSSL 315
Examine Available Commands 316
Building a Trust Store 318
Key and Certificate Management 319
Key Generation 320
Creating Certificate Signing Requests 323
Creating CSRs from Existing Certificates 325
Unattended CSR Generation 325
Signing Your Own Certificates 326
Creating Certificates Valid for Multiple Hostnames 326
Examining Certificates 327
Key and Certificate Conversion 330
Configuration 333
Cipher Suite Selection 333
Performance 345
Creating a Private Certification Authority 348
Features and Limitations 348
Creating a Root CA 349
Creating a Subordinate CA 355
12. Testing with OpenSSL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
x
Connecting to SSL Services 359
Testing Protocols that Upgrade to SSL 363
Using Different Handshake Formats 363
Extracting Remote Certificates 364
Testing Protocol Support 365
Testing Cipher Suite Support 366
Testing Servers that Require SNI 366
Testing Session Reuse 367
Checking OCSP Revocation 368
Testing OCSP Stapling 371
Checking CRL Revocation 371
Testing Renegotiation 373
Testing for the BEAST Vulnerability 375
Testing for Heartbleed 376
13. Configuring Apache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381
Installing Apache with Static OpenSSL 382
Enabling TLS 383
Configuring TLS Protocol 384
Configuring Keys and Certificates 385
Configuring Multiple Keys 386
Wildcard and Multisite Certificates 387
Virtual Secure Hosting 388
Reserving Default Sites for Error Messages 390
Forward Secrecy 391
OCSP Stapling 392
Configuring OCSP Stapling 392
Handling Errors 393
Using a Custom OCSP Responder 394
Configuring Ephemeral DH Key Exchange 394
TLS Session Management 395
Standalone Session Cache 395
Standalone Session Tickets 396
Distributed Session Caching 396
Distributed Session Tickets 398
Disabling Session Tickets 399
Client Authentication 400
Mitigating Protocol Issues 401
Insecure Renegotiation 402
BEAST 402
xi
CRIME 402
Deploying HTTP Strict Transport Security 403
Monitoring Session Cache Status 403
Logging Negotiated TLS Parameters 404
Advanced Logging with mod_sslhaf 406
14. Configuring Java and Tomcat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409
Java Cryptography Components 409
Strong and Unlimited Encryption 410
Provider Configuration 411
Features Overview 411
Protocol Vulnerabilities 412
Interoperability Issues 413
Tuning via Properties 414
Common Error Messages 417
Securing Java Web Applications 420
Common Keystore Operations 425
Tomcat 430
Configuring TLS Handling 434
JSSE Configuration 436
APR and OpenSSL Configuration 439
15. Configuring Microsoft Windows and IIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443
Schannel 443
Features Overview 443
Protocol Vulnerabilities 445
Interoperability Issues 446
Microsoft Root Certificate Program 448
Managing System Trust Stores 448
Importing a Trusted Certificate 449
Blacklisting Trusted Certificates 449
Disabling the Auto-Update of Root Certificates 449
Configuration 450
Schannel Configuration 450
Cipher Suite Configuration 452
Key and Signature Restrictions 454
Configuring Renegotiation 460
Configuring Session Caching 461
Monitoring Session Caching 462
FIPS 140-2 463
Third-Party Utilities 465
xii
Securing ASP.NET Web Applications 466
Enforcing SSL Usage 466
Securing Cookies 467
Securing Session Cookies and Forms Authentication 467
Deploying HTTP Strict Transport Security 468
Internet Information Server 469
Managing Keys and Certificates 470
16. Configuring Nginx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 477
Installing Nginx with Static OpenSSL 478
Enabling TLS 478
Configuring TLS Protocol 479
Configuring Keys and Certificates 479
Configuring Multiple Keys 480
Wildcard and Multisite Certificates 480
Virtual Secure Hosting 481
Reserving Default Sites for Error Messages 482
Forward Secrecy 483
OCSP Stapling 483
Configuring OCSP Stapling 484
Using a Custom OCSP Responder 485
Manual Configuration of OCSP Responses 485
Configuring Ephemeral DH Key Exchange 486
Configuring Ephemeral ECDH Key Exchange 487
TLS Session Management 488
Standalone Session Cache 488
Standalone Session Tickets 488
Distributed Session Cache 489
Distributed Session Tickets 489
Disabling Session Tickets 491
Client Authentication 491
Mitigating Protocol Issues 492
Insecure Renegotiation 492
BEAST 492
CRIME 493
Deploying HTTP Strict Transport Security 493
Tuning TLS Buffers 494
Logging 494
17. Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 497
算法导论 中文第三版 殷建平等译
算法方面经典的一本书。
算法导论(原书第3版)/ (美)科尔曼(Qmen, T.H.) 等著;殷建平等译.一北京:
机械工业出版社,2013.1 � (计算机科学丛书) ’ 书名原文:Introduction to Algorithms, Third Edition
I.算… u.①科… ②殷… m.电子计算机一算法理论 ]Y. TP301. 6
中国版本圉书馆cp数据核字(2012)第290499号
机械工业出版社(北京市西城区百万庄大街22号 邮政编码 100037)
责任编辑:王春华
微服务设计(中文完整版)[英] 纽曼(Sam Newman) 著;崔力强,张骏 译
本书全面介绍了微服务的建模、集成、测试、部署和监控,通过一个虚构的公司讲解了如何建立微服务架构。主要内容包括认识微服务在保证系统设计与组织目标统一上的重要性,学会把服务集成到已有系统中,采用递增手段拆分单块大型应用,通过持续集成部署微服务,等等。
google代码风格
Google Style Guides
Every major open-source project has its own style guide: a set of conventions (sometimes arbitrary) about how to write code for that project. It is much easier to understand a large codebase when all the code in it is in a consistent style.
“Style” covers a lot of ground, from “use camelCase for variable names” to “never use global variables” to “never use exceptions.” This project holds the style guidelines we use for Google code. If you are modifying a project that originated at Google, you may be pointed to this page to see the style guides that apply to that project.
Our C++ Style Guide, Objective-C Style Guide, Java Style Guide, Python Style Guide, R Style Guide, Shell Style Guide, HTML/CSS Style Guide, JavaScript Style Guide, AngularJS Style Guide, Common Lisp Style Guide, and Vimscript Style Guide are now available. We have also released cpplint, a tool to assist with style guide compliance, and google-c-style.el, an Emacs settings file for Google style.
走出大数据迷雾 --IBM 大数据
2014_10_22_1509_百知堂PPT走出大数据迷雾
“大数据实际上是未来的自然资源 - 它对我们这个时代的作用势必与蒸汽、电力和石油对工业时代的作用一样。”
— Virginia Rometty
目录:
IBM战略方向
IBM大数据战略
IBM大数据战略之3A5步
从大数据, 预测分析以及Watson中获取业务价值
IBM大数据-丰富的行业经验
C语言试题集
c语言考试题,适合学生期末考试和软件考试过级使用
后面附加试题答案。c语言考试题,适合学生期末考试和软件考试过级使用。
目录:
第一章 c语言概述
第二章 数据类型、运算符与表达式
第三章 最简单的C程序设计
第四章 逻辑运算和判断选取控制
4.1 选择题
4.2 填空题
4.3 编程题
。。。
Window Builder for Eclipse 3.6
WindowBuilder Pro for eclipse 3.6,用于Java可视化开发
循序渐进DB2.DBA系统管理、运维与应用案例-带完整书签
循序渐进DB2.DBA系统管理、运维与应用案例-
牛新庄循序渐进DB2DBA系统管理运维与应用案例 pdf
移动应用程序开发入门 企业团队开发移动应用程序项目指南
移动应用程序开发入门
企业团队开发移动应用程序项目指南
IBM 资深开发人员编写
Activiti工作流引擎简介
Activiti工作流引擎简介
1.俯瞰Activiti
2.Activiti开发之旅
3.Why Activiti?
4.Activiti的现状与未来
OmniGraffle 6.0.5 MacOSX
可供您绘制图表、树状结构图、流程图、页面编排等等。
您可以使用 OmniGraffle 来规划电影或戏剧剧本的情节走向、
绘制公司组织图,并显示完成一个专案所需的步骤。
OmniGraffle 在 OS X 上为您绘制图表、树状结构图、流程图、页面编排等等。 您还可以使用 OmniGraffle 来规划电影或戏剧剧本的情节走向、 绘制公司组织图,并显示完成一个专案所需的步骤。
文件 里 自带 serial , 无需破解, 亲自验证