自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(2202)
  • 资源 (19)
  • 收藏
  • 关注

转载 Flink+Hudi 构架湖仓一体化解决方案

摘要:本文详细介绍了 Flink + Hudi 湖仓一体化方案的原型构建。主要内容为: Hudi 新架构与湖仓一体 最佳实践 Flink on Hudi Flink CDC 2.0 on Hudi Tips:FFA 2021 重磅开启,点击「阅读原文」即可报名~GitHub 地址欢迎大家给Flink点赞送 star~一、Hudi1. 简介Apache Hudi (发音为 “Hoodie”)在 DFS...

2021-10-18 13:32:01 1158

转载 MGR:MySQL官方发布的全新高可用解决方案

一、初识MGR相信很多人对MGR这个词比较陌生,其实MGR(全称MySQL Group Replication【MySQL 组复制】)是Oracle MySQL于2016年12月发布MySQL 5.7.17推出的一个全新高可用和高扩展的解决方案。具备以下特性: 高一致性,基于原生复制及Paxos协议的组复制技术,并以插件的方式提供,提供一致数据安全保证; 高容错性,只要不是大多数节点坏掉就可以继续工作,有自动检测机制,当不同节点产生资源争用冲突时,不会出现错误,按照先到者优..

2021-10-18 13:21:44 767

转载 一文搞懂 | Linux 同步管理

一文搞懂 | Linux 同步管理(下)RCU 解决了什么RCU 是读写锁的高性能版本,它的核心理念是读者访问的同时,写者可以更新访问对象的副本,但写者需要等待所有读者完成访问之后,才能删除老对象。读者没有任何同步开销,而写者的同步开销则取决于使用的写者间同步机制。RCU 适用于需要频繁的读取数据,而相应修改数据并不多的情景,例如在文件系统中,经常需要查找定位目录,而对目录的修改相对来说并不多,这就是 RCU 发挥作用的最佳场景。RCU 例子RCU 常用的接口如下图所示:API

2021-10-18 13:19:28 552

转载 正值冬天,给你的网站下个雪吧

https://mp.weixin.qq.com/s/t4ziv-yNK_8QRtSjrDl3YQ前言女朋友常逛的设计网站这两天页面上多了下雪的效果,于是问我我的网站能下雪吗,作为一个程序员我一般会说实现不了,但是作为男朋友,不能说不行。雪雪我们可以使用span标签和css的径向渐变简单意思一下:.snow{display:block;width:100px;height:100px;background-image:radial-grad...

2021-02-21 12:12:40 394

转载 一文带你掌握Linux字符设备架构

https://mp.weixin.qq.com/s/-jDfpJJaiMdy2nqrWisiZQ一、Linux设备分类Linux系统为了管理方便,将设备分成三种基本类型: 字符设备 块设备 网络设备 字符设备:字符(char)设备是个能够像字节流(类似文件)一样被访问的设备,由字符设备驱动程序来实现这种特性。字符设备驱动程序通常至少要实现open、close、read和write的系统调用。字符终端(/dev/console)和串口(/dev/ttyS0以及类

2021-02-21 12:06:09 335

转载 操作系统与存储:解析Linux内核全新异步IO引擎io_uring设计与实现

https://mp.weixin.qq.com/s/QshDG-nbmBcF1OBZbBFwjg作者:draculaqian,腾讯后台开发工程师引言存储场景中,我们对性能的要求非常高。在存储引擎底层的IO技术选型时,可能会有如下讨论关于IO的讨论。http://davmac.org/davpage/linux/async-io.htmlSo from the above documentation, it seems that Linux doesn't have a true asy

2021-02-21 11:59:24 701

转载 深入浅出前端本地储存

https://juejin.cn/post/6925311938419408904深入浅出前端本地储存引言2021 年,如果你的前端应用,需要在浏览器上保存数据,有三个主流方案:Cookie Web Storage (LocalStorage) IndexedDB这些方案就是如今应用最广、浏览器兼容性最高的三种前端储存方案今天这篇文章就聊一聊这三种方案的历史,优缺点,以及各自在今天的适用场景文章在后面还会提出一个全新的,基于 IndexedDB 的,更适合现代前端应用的前端本

2021-02-21 11:55:23 205

转载 三万字,Spark学习笔记

https://mp.weixin.qq.com/s/uoeyA09NacA5mzpKpX3neASpark 基础Spark特性Spark使用简练优雅的Scala语言编写,基于Scala提供了交互式编程体验,同时提供多种方便易用的API。Spark遵循“一个软件栈满足不同应用场景”的设计理念,逐渐形成了一套完整的生态系统(包括 Spark提供内存计算框架、SQL即席查询(Spark SQL)、流式计算(Spark Streaming)、机器学习(MLlib)、图计算(Graph X)等),S..

2021-02-21 11:50:48 620

转载 Golang源码学习:调度逻辑(三)工作线程的执行流程与调度循环

Golang源码学习:调度逻辑(三)工作线程的执行流程与调度循环本文内容主要分为三部分:main goroutine 的调度运行 非 main goroutine 的退出流程 工作线程的执行流程与调度循环。main goroutine 的调度运行#runtime·rt0_go中在调用完runtime.newproc创建main goroutine后,就调用了runtime.mstart。让我们来分析一下这个函数。mstart#mstart没什么太多工作,然后就调用了mstart1。

2020-05-27 23:06:07 668

转载 Linux操作系统分析 | 深入理解系统调用

Linux操作系统分析 | 深入理解系统调用实验要求1、找一个系统调用,系统调用号为学号最后2位相同的系统调用2、通过汇编指令触发该系统调用3、通过gdb跟踪该系统调用的内核处理过程4、重点阅读分析系统调用入口的保存现场、恢复现场和系统调用返回,以及重点关注系统调用过程中内核堆栈状态的变化实验环境及配置VMware® Workstation 15 ProUbuntu 16.04.3 LTS64位操作系统一、基本理论...

2020-05-27 22:54:50 736

转载 Kubernetes 完整二进制部署

Kubernetes 完整二进制部署目录1、基础环境 2、部署DNS 3、准备自签证书 4、部署Docker环境 5、私有仓库Harbor部署 6、部署Master节点 6.1、部署Etcd集群 6.2、部署kube-apiserver集群 6.2.1、创建cliient证书 6.2.2、签发kube-apiserver证书 6.2.3、kube-apise...

2020-04-17 15:33:34 442

转载 Kerberos认证原理简介

Kerberos认证原理简介1.1 What is Kerberos1.1.1 简单介绍  Kerberos是一个用于鉴定身份(authentication)的协议, 它采取对称密钥加密(symmetric-key cryptography),这意味着密钥不会在网络上传输。在Kerberos中,未加密的密码(unencrypted password)不会在网络上传输,因此攻击者无法通过嗅...

2020-04-05 18:58:51 1379

转载 Spark On Yarn的两种模式yarn-cluster和yarn-client深度剖析

Spark On Yarn的两种模式yarn-cluster和yarn-client深度剖析Spark On Yarn的优势每个Spark executor作为一个YARN容器(container)运行。Spark可以使得多个Tasks在同一个容器(container)里面运行1. Spark支持资源动态共享,运行于Yarn的框架都共享一个集中配置好的资源池2. 可以很方...

2020-04-05 18:31:03 1597 1

转载 字节跳动在 RocksDB 存储引擎上的改进实践

https://www.tuicool.com/wx/BFRRb2y本文选自“字节跳动基础架构实践”系列文章。“字节跳动基础架构实践”系列文章是由字节跳动基础架构部门各技术团队及专家倾力打造的技术干货内容,和大家分享团队在基础架构发展和演进过程中的实践经验与教训,与各位技术同学一起交流成长。RocksDB 是世界上最被广泛使用的存储引擎之一,字节跳动内部大量的数据库产品(如图数据库、N...

2020-03-23 23:14:19 1779

转载 Kafka体系架构详细分解

基本概念Kafka 体系架构Kafka 体系架构包括若干 Producer、若干 Broker、若干 Consumer,以及一个 ZooKeeper 集群。在 Kafka 中还有两个特别重要的概念—主题(Topic)与分区(Partition)。Kafka 中的消息以主题为单位进行归类,生产者负责将消息发送到特定的主题(发送到 Kafka 集群中的每一条消息都要指定一个主题),...

2020-03-08 23:24:45 453

转载 第三方so通过patchelf兼容低版本glibc

第三方so通过patchelf兼容低版本glibchttps://blog.csdn.net/qq_33873431/article/details/97751520?depth_1-utm_source=distribute.wap_relevant.none-task&utm_source=distribute.wap_relevant.none-task背景:第三方so依赖g...

2020-02-29 14:43:05 924

转载 更改引用高版本glibc的程序到引用低版本的glibc

更改引用高版本glibc的程序到引用低版本的glibchttps://blog.csdn.net/Mr_HHH/article/details/831044851:问题背景描述在拥有高版本glibc的机器上编译分布式xgboost程序,结果在拥有低版本glibc版本的集群机器上无法运行,总是报错,显示缺少glibc_2.14,为了解决整个问题,google查阅了很多资料,大体给出了两种方...

2020-02-29 14:39:42 2202

转载 C 表达式中的汇编指令

https://www.cnblogs.com/shuqin/p/11851136.htmlasm 为 gcc 中的关键字,asm 表达式为在 C代码中嵌套汇编指令,该表达式只是单纯的替换出汇编代码,并不对汇编代码的含义进行解析。asm 表达式有两种形式,第二种asm-qualifiers包含了goto语句。第一种形式为常见的用法,AssemblerTemplate 和 Outp...

2019-11-13 21:26:05 457

转载 SpringSecurity原理剖析与权限系统设计

Spring Secutity和Apache Shiro是Java领域的两大主流开源安全框架,也是权限系统设计的主要技术选型。本文主要介绍Spring Secutity的实现原理,并基于Spring Secutity设计基于RBAC的权限系统。一、技术选型为何把Spring Secutity作为权限系统的技术选型,主要考虑了以下几个方面:数据鉴权的能力:Spring Secutity支...

2019-09-30 00:16:01 460

转载 kubernetes集群部署高可用Postgresql的Stolon方案

kubernetes集群部署高可用Postgresql的Stolon方案目录前言....前言本文选用Stolon的方式搭建Postgresql高可用方案,主要为Harbor提供高可用数据库,Harbor搭建可查看kubernetes搭建Harbor无坑及Harbor仓库同步,之后会提供redis高可用及Harbor高可用方案搭建方案比较几种postgresql高可用方案简单...

2019-09-19 00:20:33 2845

转载 Flink入门宝典(详细截图版)

Flink入门宝典(详细截图版)本文基于java构建Flink1.9版本入门程序,需要Maven 3.0.4 和 Java 8 以上版本。需要安装Netcat进行简单调试。这里简述安装过程,并使用IDEA进行开发一个简单流处理程序,本地调试或者提交到Flink上运行,Maven与JDK安装这里不做说明。一、Flink简介Flink诞生于欧洲的一个大数据研究项目StratoSp...

2019-09-19 00:17:58 185

转载 springboot+spring security+mybaits实现登录权限管理

springboot+spring security+mybaits实现登录权限管理版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/yangl1337905751/article/details/79741695序:本文采用springboot+spring securit...

2019-09-17 00:28:49 285

转载 SpringCloud学习笔记(1):Eureka注册中心

SpringCloud学习笔记(1):Eureka注册中心简介Eureka是Netflix开源的基于rest的服务治理方案,分为Server端和Client端,Server端为注册中心,其他微服务通过Client端连接Server端进行服务的注册和发现。项目介绍sc-parent,父模块 sc-provider,提供者模块 sc-eureka,注册中心 sc-consumer...

2019-09-17 00:10:57 178

转载 SpringCloud学习笔记(2):使用Ribbon负载均衡

SpringCloud学习笔记(2):使用Ribbon负载均衡简介Spring Cloud Ribbon是基于Netflix Ribbon实现的一套客户端负载均衡工具,在注册中心对Ribbon客户端进行注册后,Ribbon可以基于某种负载均衡算法,如轮询(默认)、随机、加权轮询、加权随机等自动帮助服务消费者调用接口。项目介绍sc-parent,父模块(请参照SpringCloud学...

2019-09-17 00:10:05 146

转载 SpringCloud学习笔记(3):使用Feign实现声明式服务调用

SpringCloud学习笔记(3):使用Feign实现声明式服务调用简介Feign是一个声明式的Web Service客户端,它简化了Web服务客户端的编写操作,相对于Ribbon+RestTemplate的方式,开发者只需通过简单的接口和注解来调用HTTP API。它支持Spring MVC注解和JAX-RS注解,还支持可插拔式的编码器和解码器。整合了Eureka,Ribbon和Hys...

2019-09-17 00:09:16 196

转载 前后端分类状态下SpringSecurity的玩法

前后端分类状态下SpringSecurity的玩法前后端分离状态下,后端SpringSecurity该如何变动呢? 如何变动取决于前后端分离状态下,前后端交互的特点,纯json交互,闲言少叙,上干货主配置类#Copy@Configuration @EnableWebSecurity @EnableGlobalMethodSecurity(prePostEnabled = ...

2019-09-16 23:57:14 149

转载 最佳内存缓存框架Caffeine

最佳内存缓存框架CaffeineCaffeine是一种高性能的缓存库,是基于Java 8的最佳(最优)缓存框架。Cache(缓存),基于Google Guava,Caffeine提供一个内存缓存,大大改善了设计Guava's cache 和 ConcurrentLinkedHashMap 的体验。1 LoadingCache<Key, Graph> graphs = Ca...

2019-09-16 23:51:37 503

转载 (三)Linux paging_init解析

(三)Linux paging_init解析背景Read the fucking source code!--By 鲁迅 A picture is worth a thousand words.--By 高尔基说明:Kernel版本:4.14 ARM64处理器,Contex-A53,双核 使用工具:Source Insight 3.5, Visio1. 介绍从(二)L...

2019-09-16 23:50:35 181

转载 (四)Linux内存模型之Sparse Memory Model

(四)Linux内存模型之Sparse Memory Model背景Read the fucking source code!--By 鲁迅 A picture is worth a thousand words.--By 高尔基说明:Kernel版本:4.14 ARM64处理器,Contex-A53,双核 使用工具:Source Insight 3.5, Visio1....

2019-09-16 23:49:24 294

转载 spring事务在实际项目开发中的使用

https://www.cnblogs.com/enchaolee/p/11384004.html 一, 事务的一些基础知识简单回顾一下,讲的不是很深入,网上博客很多。 1,关于事务的四大特性:原子性、隔离性、一致性、持久性 本文不再赘述; 2,事务的隔离级别:读未提交,读已提交,可重复读,串行化(这里应该深入了解各个级别会出现什么问题,比如脏读,不可重复读,幻读) ...

2019-09-10 23:55:37 395

转载 GNU大型项目构建和覆盖率生成(第一篇)

https://www.cnblogs.com/baowee/p/11491854.html目录0. 序言 1. 项目描述 2. 项目构建 2.1 编译规则 2.2 构建过程 3. 覆盖率分析0. 序言在开始正文之前,请允许我先说明一下本文的目的和写作的动机,好让读者不惑。我们知道,在Linux环境中,很多软件的组织都遵循GNU软件标准。不论是自己开发GNU软件还...

2019-09-10 22:23:27 232

转载 spark 源码分析之十八 -- Spark存储体系剖析

目录总述 SecurityManager 概述 类结构 成员变量 核心方法 总结 BlockManagerMaster 概述 类结构 成员变量 ShuffleClient 类说明 核心方法 BlockTransferService 类说明 核心方法 ManagedBuffer的三个子类 NettyBlockTransfer...

2019-07-24 00:54:30 362

转载 redis 发布与订阅原理分析

https://www.cnblogs.com/chenhaoyu/p/11225116.html前言:用了redis也有一段时间了,但是发布与订阅的使用频率也不高,趁着这次空闲,深究下redis的发布与订阅模式。一、订阅频道和信息发布功能说明:Redis 的 SUBSCRIBE 命令可以让客户端订阅任意数量的频道, 每当有新信息发送到被订阅的频道时, 信息就会被发送给所有订阅...

2019-07-22 23:22:05 211

转载 精通并发与 Netty (一)如何使用

https://www.cnblogs.com/paulwang92115/p/11123519.html精通并发与 NettyNetty 是一个异步的,事件驱动的网络通信框架,用于高性能的基于协议的客户端和服务端的开发。异步指的是会立即返回,并不知道到底发送过去没有,成功没有,一般都会使用监听器来监听返回。事件驱动是指开发者只需要关注事件对应的回调方法即可,比如 channel ...

2019-07-03 01:31:56 382 1

转载 Linux中,Tomcat 怎么承载高并发(深入Tcp参数 backlog)

https://www.cnblogs.com/grey-wolf/p/10999342.html阅读目录一、前言 二、翻译正文 1、两种实现方式 2、BSD 的选择 3、Linux 的选择 4、linux实现中, accept 队列满了怎么办 5、问题延伸 4、Stevens老爷子的建议 三、译文的测试验证 1、服务端程序 2、客户端程...

2019-06-11 23:20:30 531

转载 JavaScript 原型的实际应用之实现一个 jQuery

https://www.cnblogs.com/dora-zc/p/10904919.html我们平时使用jQuery大概是这样:let $p = $('p');$p.css('fontSize', '40px');我们生成jQuery实例对象后,就可以使用原型上的css(), html()等方法,这就体现了原型继承:由构造函数生成的实例对象,可以继承构造函数的原型对象上的属性和方...

2019-05-23 00:21:20 237

转载 前端之CSS2

https://www.cnblogs.com/yifchan/p/html-1-3.htmlCSS盒子模型CSS盒子模型介绍盒子模型解释元素在页面中显示成一个方块,类似一个盒子,CSS盒子模型就是使用现实中盒子来做比喻,帮助我们设置元素对应的样式。盒子模型示意图如下:把元素叫做盒子,设置对应的样式分别为:盒子的边框(border)、盒子内的内容和边框之间的间距(pad...

2019-05-20 01:02:49 238

转载 MapReduce Shuffle 和 Spark Shuffle 原理概述

https://www.cnblogs.com/xiaodf/p/10650921.htmlShuffle简介Shuffle的本意是洗牌、混洗的意思,把一组有规则的数据尽量打乱成无规则的数据。而在MapReduce中,Shuffle更像是洗牌的逆过程,指的是将map端的无规则输出按指定的规则“打乱”成具有一定规则的数据,以便reduce端接收处理。其在MapReduce中所处的工作阶段是m...

2019-05-11 14:52:05 532

转载 EventBus 使用/架构/源码分析

https://www.cnblogs.com/NeilZhang/p/10815698.htmlEventBus是针对Android优化的发布-订阅事件总线,简化了Android组件间的通信。EventBus以其简单易懂、优雅、开销小等优点而备受欢迎。github 地址:https://github.com/greenrobot/EventBus1. 使用1.1 gradle...

2019-05-05 21:05:02 299

转载 大数据技术之_19_Spark学习_06_Spark 源码解析 + Spark 通信架构、脚本解析、standalone 模式启动、提交流程 + Spark Shuffle 过程 + Spark 内存

https://www.cnblogs.com/chenmingjun/p/10803261.html文章目录第1章 Spark 整体概述 1.1 整体概念 1.2 RDD 抽象 1.3 计算抽象 1.4 集群模式 1.5 RPC 网络通信抽象 1.6 启动 Standalone 集群 1.7 核心组件 1.8 核心组件交互流程 1.9 Block 管理...

2019-05-04 22:50:35 2174 1

Go语言编程

这本书从整体的写作风格来说,会以介绍 Go 语言特性为主,示例则尽量采用作者平常的实践,而不是一个没有太大实际意义的语法示范样例。 本书作者背景极强,许式伟为原金山WPS首席架构师、曾是盛大创新院研究员,目前是国内Go语言实践圈子公认的Go语言专家。参与本书写作的几位作者都是实际用Go语言开发的项目的开发人员,有较强的实战经验。 这本书面向的读者是所有打算用Go语言的开发者,主要包括目前使用C、C++、Java、C#的开发人员,甚至一些Python、PHP开发人员也可能转为 Go 程序员。

2015-10-06

30天自制操作系统 PDF 扫描版

30天自制操作系统 PDF 扫描版 好书不解释!

2013-07-10

C++标准程序库_带书签版本

这本包含最新资料的完整书籍,反映出被ANSI/ISO C++语言标准规格书纳入的C++标准程序库的最新组成。更明确地说,这本书将焦点放在标准模板库身上,检验其中的容器、迭代器、仿函数和算法。读者还可以找到特殊容、字串、数值类别、国际化议题、IOStream。每一个元素都有深刻的呈现,包括其介绍、设计、运用实例、细部解说、陷阱、意想不到的危险,以及相关类别和函数的精确樯记式和定义式。

2013-06-25

Effective.C++

C++ 进阶图书。 C++ 开放必看。 C++大神 Scoot Mayers的大作。 PDF高清扫描带书签版。

2013-06-09

无懈可击的web设计

目录   第1章 灵活的文字   1.1 常见的方法   1.2 权衡我们的选择   1.3 无懈可击的方法   1.4 为什么说它是无懈可击的   1.5 有了灵活基础后的操作   1.6 结合使用关键字和百分比值   1.7 本章小结   第2章 可伸缩的导航栏   2.1 常见的方法   2.2 为什么这样做不是无懈可击的   2.3 无懈可击的方法   2.4 为什么这样做是无懈可击的   2.5 其他示例   2.6 本章小结   第3章 可扩展的行   3.1 常见的方法   3.2 为什么这样做不是无懈可击的   3.3 无懈可击的方法   3.4 为什么这样做是无懈可击的   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 本章小结   第6章 页面在缺失图片或CSS的情况下仍然易读   6.1 常见的方法   6.2 为什么这样做不是无懈可击的   6.3 无懈可击的方法   6.4 为什么这样做是无懈可击的   6.5 有或者没有样式   6.6 无懈可击的工具   6.7 本章小结   第7章 可转换的表格   7.1 常见的方法   7.2 为什么这样做不是无懈可击的   7.3 无懈可击的方法   7.4 为什么这样做是无懈可击的   7.5 本章小结   第8章 流动的布局   8.1 常见的方法   8.2 为什么这样做不是无懈可击的   8.3 无懈可击的方法   8.4 为什么这样做是无懈可击的   8.5 本章小结   第9章 构成一个整体   9.1 目标   9.2 为什么这样做是无懈可击的   9.3 构建过程   9.4 针对IE的CSS调整   9.5 本章小结

2012-10-27

[五笔打字与输入技巧六日速成].甘登岱.扫描版.pdf

五笔速成,有兴趣的朋友可以看看。 第1日 我要运指如飞 第2日 掌握五笔精髓——字根 第3日 练就五笔神功——汉字输入 第4日 给你一个加速度 第5日 掌握汉字输入技巧 第6日 学习98版五笔字型输入法 附录1 五笔字型单字编码表 附录2 86版五笔字型词汇编码表

2012-10-27

[编程珠玑].Jon.Bentley.扫描版.pdf

本书是计算机科学方面的经典名著。书的内容围绕程序设计人员面对的一系列实际问题展开。作者Jon Bentley 以其独有的洞察力和创造力,引导读者理解这些问题并学会解决方法,而这些正是程序员实际编程生涯中至关重要的。本书的特色是通过一些精心设计的有趣而又颇具指导意义的程序,对实用程序设计技巧及基本设计原则进行了透彻而睿智的描述,为复杂的编程问题提供了清晰而完备的解决思路。本书对各个层次的程序员都具有很高的阅读价值。.   多年以来,当程序员们推选出最心爱的计算机图书时,《编程珠玑》总是位列前列。正如自然界里珍珠出自细沙对牡蛎的磨砺,计算机科学大师Jon Bentley以其独有的洞察力和创造力,从磨砺程序员的实际问题中凝结出一篇篇不朽的编程“珠玑”,成为世界计算机界名刊《ACM通讯》历史上最受欢迎的专栏,最终结集为两部不朽的计算机科学经典名著,影响和激励着一代又一代程序员和计算机科学工作者。本书为第一卷,主要讨论计算机科学中最本质的问题:如何正确选择和高效地实现算法。..   在书中,作者选取许多具有典型意义的复杂编程和算法问题,生动描绘了历史上众大师们在探索解决方案中发生的轶事、走过的弯路和不断精益求精的历程,引导读者像真正的程序员和软件工程师那样富于创新性地思考,并透彻阐述和总结了许多独特而精妙的设计原则、思考和解决问题的方法以及实用程序设计技巧。解决方案的代码均以C/C++语言编写,不仅有趣,而且有很大的实战示范意义。每章后所附习题极具挑战性和启发性,书末给出了简洁的解答。

2012-09-16

[Objective-C基础教程].Mark.Dalrymple.&.Scott.Knaster.扫描版.pdf

Objective-C是扩展C的面向对象编程语言,也是iPhone开发用到的主要语言。本书结合理论知识与示例程序,全面而系统地讲述Objective-C编程的相关内容,包括Objective-C在C的基础上引入的特性和Cocoa工具包的功能及其中的框架,以及继承、复合、源文件组织等众多重要的面向对象编程技术。附录中还介绍了如何从其他语言过渡到Objective-C。

2012-09-16

java 编程艺术

内容简介 本书揭示了Java程序员如何创建高质量软件的奥秘。Herbert Schildt 和James Holmes两位编程大师通过将Java应用于某些有趣、实用的计算机问题和编程任务中,全面展示了Java语言的强大功能、敏捷性、多样性和艺术性。本书各章内容分别涉及到Java精髓、递归下降的表达式解析器、用Java实现语言解释器、用Java创建下载管理器、用Java实现E-mail客户端和Internet搜索、用Java修饰HTML、显示统计图表、金融应用中的Applet和Servlet、基于AI的问题求解等,每章给出的示例代码都可以直接运行,无需修改,而且读者可以从www.osborne.com站点上免费下载这些代码。本书是亚马逊网站上的五星级图书,相信读者能够通过研读本书大大提高自己的Java开发能力。本书代码示例易懂有趣,设计思想独特,定会使您受益匪浅! 目录 第1章 Java精髓 1 1.1 简单数据类型和对象:完美的平衡 2 1.2 通过垃圾回收实现内存管理 3 1.3 完美的简单多线程模型 3 1.4 完全集成的异常机制 4 1.5 对多态性支持的改进 5 1.6 通过字节码保证可移植性和安全性 5 1.7 丰富的Java API 6 1.8 Applet 7 1.9 继续变革 7 第2章 递归下降的表达式解析器 9 2.1 表达式 10 2.2 解析表达式 11 2.3 表达式的解析 11 2.4 表达式的分解 13 2.5 一个简单的表达式解析器 16 2.6 向解析器中添加变量 24 2.7 递归下降解析器中的语法检查 34 2.8 计算器Applet 34 2.9 一些尝试 37 第3章 使用Java实现语言解释器 38 3.1 解释何种计算机语言 39 3.2 解释器概述 40 3.3 Small BASIC解释器 41 3.4 Small BASIC表达式解析器 61 3.4.1 Small BASIC的表达式 61 3.4.2 Small BASIC的标识符 62 3.5 解释器 66 3.5.1 InterpreterException类 67 3.5.2 SBasic构造函数 67 3.5.3 关键字 68 3.5.4 run()方法 70 3.5.5 sbInterp()方法 71 3.5.6 赋值 72 3.5.7 PRINT语句 73 3.5.8 INPUT语句 75 3.5.9 GOTO语句 76 3.5.10 IF语句 78 3.5.11 FOR循环 79 3.5.12 GOSUB 82 3.5.13 END语句 83 3.6 Small BASIC的使用 83 3.7 对解释器进行增强和扩展 86 3.8 创建自己的计算机语言 86 第4章 使用Java创建下载管理器 88 4.1 深入理解Internet下载流程 89 4.2 下载管理器概述 89 4.3 Download类 90 4.3.1 Download类的变量 94 4.3.2 Download类的构造函数 94 4.3.3 download()方法 95 4.3.4 run()方法 95 4.3.5 stateChanged()方法 99 4.3.6 Action和Accessor方法 99 4.4 ProgressRenderer类 99 4.5 DownloadsTableModel类 100 4.5.1 addDownload()方法 103 4.5.2 clearDownload()方法 103 4.5.3 getColumnClass()方法 103 4.5.4 getValueAt()方法 104 4.5.5 update()方法 104 4.6 DownloadManager类 105 4.6.1 DownloadManager类的变量 111 4.6.2 DownloadManager类的构造函数 111 4.6.3 verifyUrl()方法 111 4.6.4 tableSelectionChanged()方法 112 4.6.5 updateButtons()方法 113 4.6.6 动作事件的处理 114 4.7 编译并运行下载管理器 114 4.8 改进下载管理器 115 第5章 用Java实现E-mail客户端 116 5.1 E-mail内幕 117 5.1.1 POP3 117 5.1.2 IMAP 117 5.1.3 SMTP 118 5.1.4 发送和接收E-mail的一般过程 118 5.2 JavaMail API 118 5.3 一个简单的E-mail客户端 120 5.3.1 ConnectDialog类 121 5.3.2 DownloadingDialog类 126 5.3.3 MessageDialog类 128 5.3.4 MessagesTableModel类 135 5.3.5 EmailClient类 139 5.4 编译并运行E-mail客户端 156 5.5 对基本E-mail客户端的扩展 157 第6章 使用Java搜索Internet 158 6.1 Web搜索程序基础 159 6.2 遵守Robot协议 160 6.3 Search Crawler概述 161 6.4 SearchCrawler类 162 6.4.1 SearchCrawler类的变量 179 6.4.2 SearchCrawler类的构造函数 179 6.4.3 actionSearch()方法 180 6.4.4 search()方法 182 6.4.5 showError()方法 185 6.4.6 updateStats()方法 185 6.4.7 addMatch()方法 186 6.4.8 verifyUrl()方法 187 6.4.9 isRobotAllowed()方法 188 6.4.10 downloadPage()方法 190 6.4.11 removeWwwFromUrl()方法 191 6.4.12 retrieveLinks()方法 192 6.4.13 searchStringMatches()方法 198 6.4.14 crawl()方法 199 6.5 Web搜索程序的编译与运行 202 6.6 对Web搜索程序的思考 203 第7章 使用Java提交HTML 205 7.1 使用JEditorPane提交HTML 206 7.2 处理超链接事件 206 7.3 编写Mini Web浏览器 207 7.3.1 MiniBrowser类 208 7.3.2 MiniBrowser类的变量 213 7.3.3 MiniBrowser类的构造函数 214 7.3.4 actionBack()方法 214 7.3.5 actionForward()方法 215 7.3.6 actionGo()方法 215 7.3.7 showError()方法 216 7.3.8 verifyUrl()方法 216 7.3.9 showPage()方法 217 7.3.10 updateButtons()方法 218 7.3.11 hyperlinkUpdate()方法 219 7.4 Mini Web浏览器的编译与运行 220 7.5 HTML提交程序的应用前景 221 第8章 统计. 图表与Java 222 8.1 样本. 总体. 分布与变量 223 8.2 基本统计值 223 8.2.1 平均数 224 8.2.2 中位数 224 8.2.3 众数 225 8.3 方差和标准差 227 8.4 回归方程式 228 8.5 Stats类的完整代码 232 8.6 绘图数据 235 8.6.1 数据的缩放 236 8.6.2 Graphs类 236 8.6.3 Graphs类的final变量和实例变量 241 8.6.4 Graphs类的构造函数 242 8.6.5 paint()方法 244 8.6.6 bargraph()方法 247 8.6.7 scatter()方法 247 8.6.8 regplot()方法 248 8.7 一个统计表的应用 248 8.7.1 StatsWin类的构造函数 253 8.7.2 itemStateChanged()事件处理器 254 8.7.3 actionPerformed()方法 255 8.7.4 shutdown()方法 255 8.7.5 createMenu()方法 255 8.7.6 DataWin类 255 8.7.7 联合使用 256 8.8 创建一个简单的统计Applet 258 8.9 一点尝试 260 第9章 金融应用中的Applet和Servlet 261 9.1 计算贷款的定期还款额 262 9.1.1 RegPay的成员 266 9.1.2 init()方法 266 9.1.3 actionPerformed()方法 269 9.1.4 paint()方法 269 9.1.5 compute()方法 270 9.2 计算投资的长期收益 270 9.3 计算达到某项长期收益目标所需的投资本金 274 9.4 计算达到某项期望年金所需的初始投资 278 9.5 根据给定投资计算年金的最大值 282 9.6 计算某项贷款的账户余额 286 9.7 创建用于金融类计算的Servlet 290 9.7.1 使用Tomcat 291 9.7.2 测试Servlet 291 9.7.3 把RegPay转换成Servlet 292 9.7.4 RegPayS程序 292 9.8 一些尝试 296 第10章 基于AI的问题求解 297 10.1 表示法和相关术语 298 10.2 组合爆炸问题 299 10.3 搜索技术 300 10.4 问题的描述 301 10.5 FlightInfo类 303 10.6 深度优先搜索 304 10.7 广度优先搜索 313 10.8 添加启发信息 316 10.8.1 爬山搜索 317 10.8.2 爬山搜索的分析 322 10.8.3 最小代价搜索 323 10.8.4 最小代价搜索的分析 324 10.9 查找多个解 324 10.9.1 路径删除 325 10.9.2 节点删除 326 10.10 查找最优解 331 10.11 回到丢失钥匙的例子 336

2012-09-16

[模式识别].(希腊)西奥多里蒂斯.清晰版.djvu

[模式识别].(希腊)西奥多里蒂斯.清晰版.djvu 模式识别领域非常不错的一本教材

2012-09-08

[机器人学的几何基础].(英国)Selig.清晰版

一本很牛的书,哪怕只看懂此书的皮毛也会有巨大的收获

2012-08-03

空空如也

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

TA关注的人

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