自定义博客皮肤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)
  • 资源 (55)
  • 收藏
  • 关注

空空如也

Java NIO基础

nio 是New IO 的简称,在jdk1.4 里提供的新api 。Sun 官方标榜的特性如下: 为所有的原始类型提供(Buffer)缓存支持。字符集编码解码解决方案。 Channel :一个新的原始I/O 抽象。 支持锁和内存映射文件的文件访问接口。 提供多路(non-bloking) 非阻塞式的高伸缩性网络I/O 。

2015-04-08

Linux网络编程(事件驱动模式)

事件驱动为广大的程序员所熟悉,其最为人津津乐道的是在图形化界面编程中的应用; 事实上,在网络编程中事件驱动也被广泛使用,并大规模部署在高连接数高吞吐量的服务器 程序中,如 http 服务器程序、ftp 服务器程序等。相比于传统的网络编程方式,事件驱动 能够极大的降低资源占用,增大服务接待能力,并提高网络传输效率。 关于本文提及的服务器模型,搜索网络可以查阅到很多的实现代码,所以,本文将不拘 泥于源代码的陈列与分析,而侧重模型的介绍和比较。使用 libev 事件驱动库的服务器模型 将给出实现代码。 本文涉及到线程 / 时间图例,只为表明线程在各个 IO 上确实存在阻塞时延,但并不保 证时延比例的正确性和 IO 执行先后的正确性;另外,本文所提及到的接口也只是笔者熟悉 的 Unix/Linux 接口 ,并未推荐 Windows 接口 ,读者可以自行查阅对应的 Windows 接口 。

2015-04-05

深入Linux设备驱动程序内核机制

这是一本系统阐述Linux设备驱动程序技术内幕的专业书籍,它的侧重点不是讨论如何在Linux系统下编写设备驱动程序,而是要告诉读者隐藏在这些设备驱动程序背后的那些内核机制及原理。作者通过对Linux内核源码抽丝剥茧般的解读,再辅之以精心设计的大量图片,使读者在阅读完本书后对驱动程序前台所展现出来的那些行为特点变得豁然开朗。 本书涵盖了编写设备驱动程序所需要的几乎所有的内核设施,比如内核模块、中断处理、互斥与同步、内存分配、延迟操作、时间管理,以及新设备驱动模型等内容。为了避免读者迷失在某一技术细节的讨论当中,本书在一个比较高的层面上进行展开,以一种先框架再细节的结构安排极大地简化了读者的阅读与学习。 本书不仅适合那些在Linux系统下从事设备驱动程序开发的专业技术人员阅读,也同样适合有志于从事Linux设备驱动程序开发或对Linux设备驱动程序及Linux内核感兴趣的在校学生等阅读。对于没有任何Linux设备驱动程序开发经验的初学者,建议先阅读那些讨论“如何”在Linux系统下编写设备驱动程序的入门书籍,然后再阅读本书来理解“为什么”要以这样或者那样的方式来编写设备驱动程序。

2015-04-04

Linux内核设计与实现

《Linux内核设计与实现(原书第3版)》主要内容包括:进程管理、进程调度、时间管理和定时器、系统调用接口、内存寻址、内存管理和页缓存、VFS、内核同步以及调试技术等。同时《Linux内核设计与实现(原书第3版)》也涵盖了Linux 2.6内核中颇具特色的内容,包括CFS调度程序、抢占式内核、块I/O层以及I/O调度程序等。《Linux内核设计与实现(原书第3版)》采用理论与实践相结合的路线,能够带领读者快速走进Linux内核世界,真正开发内核代码。《Linux内核设计与实现(原书第3版)》适合作为高等院校操作系统课程的教材或参考书,也可供相关技术人员参考。 如果你是一名linux内核爱好者,本书的内容可以帮助你大显身手。如果你是一名普通程序员,本书的内容将会拓宽你的编程思路。如果你初次接触linux内核,本书则可以帮助你对内核各个核心子系统有一个整体把握。

2015-04-04

重构_改善既有代码的设计

《重构:改善既有代码的设计》清晰地揭示了重构的过程,解释了重构的原理和最佳实践方式,并给出了何时以及何地应该开始挖掘代码以求改善。书中给出了70多个可行的重构,每个重构都介绍了一种经过验证的代码变换手法的动机和技术。《重构:改善既有代码的设计》提出的重构准则将帮助你一次一小步地修改你的代码,从而减少了开发过程中的风险。   《重构:改善既有代码的设计》适合软件开发人员、项目管理人员等阅读,也可作为高等院校计算机及相关专业师生的参考读物。

2015-04-04

设计原本 软件结构

无论是软件开发、工程还是建筑,有效的设计都是工作的核心。但我们对设计过程真正知道多少?怎样进行有效的、优雅的设计?你将在本书中找到这些问题的答案。 Fred Brooks的这些新文章包含了各个行业设计者的特别领悟。Brooks精确地找到了所有设计项目中内在的不变量,揭示了进行优秀设计的过程和模式。通过与几十位优秀设计者的对话,包括他自己在几个设计领域的经验,Brooks指出,大胆的设计决定会产生更好的结果。

2015-04-04

C++编程艺术

本书揭示了C++程序员创建世界级软件的奥秘。程序设计大师Herbert Schildt通过将C++语言广泛应用于功能强大的编程任务中,全面展示了C++语言的多功能性,敏捷性,和艺术性。本书内容包括探索C++的功能,创建内存管理的垃圾回收器子系统,开发线程控制面板,建立译码器以扩展C++的功能,开发可断点续传的Internet文件下载工具,创建财务分析库,用基于AI的搜索技术探索人工智能,建立定制的STL容器,以及开发Mini C++解释程序。书中所有示例和项目的源代码都可以从www.osborne.com 上免费下载。

2015-04-04

互联网进化论

《互联网进化论》主要讲述了,通过互联网进化论的提出,作者将云计算,物联网、移动互联网与传统互联网有机地结合在一起。《互联网进化论》全方位地介绍了互联网的技术要点和商业模式,深入探讨了互联网的未来发展趋势。 书中提出互联网将沿着九条规律进化成与人类大脑相似的组织结构,同时互联网也将导致神经学在21世纪获得重大突破。作者详细阐述了人脑中也存在goolge、ip地址、微博、维基百科、路由系统的实证案例和实验设计方法。

2015-04-04

用C实现面向对象

面向对象无非就是封装继承和多态 封装:struct实现 继承:指针实现,就是把父类包含在结构体中。 多态:可以用指针实现。

2015-04-04

C++标准程序库.

C++中的标准程序库是类库和函数的集合,其使用核心语言写成。标准程序库提供若干泛型容器、函数对象、泛型字符串和流(包含交互和文件I/O),支持部分语言特性和常用的函数,如开平方根。C++标准程序库也吸收了ISO C90 C标准程序库。

2015-04-04

C++面向对象多线程编程

C++面向对象多线程编程

2015-04-04

Linux设备驱动开发详解第二版

本书是一本介绍Linux设备驱动开发理论、框架与实例的书,本书以Linux 2.6版本内核为蓝本,详细介绍自旋锁、信号量、完成量、中断顶/底半部、定时器、内存和I/O映射以及异步通知、阻塞I/O、非阻塞I/O等Linux设备驱动理论;字符设备、块设备、TTY设备、I2C设备、LCD设备、音频设备、USB设备、网络设备、PCI设备等Linux设备驱动的架构和框架中各个复杂数据架构和函数的关系,并讲解了大量Linux驱动开发的大量实例,使读者能够独立开发各类Linux设备驱动。   本书内容全面,实例丰富,操作性强,语言通俗易懂,适合广大Linux开发人员、嵌入式工程师参考使用。 目录 第1篇 Linux设备驱动入门  第1章 设备驱动概述   1.1 设备驱动的作用   1.2 无操作系统时的设备驱动   1.3 有操作系统时的设备驱动   1.4 Linux设备驱动    1.4.1 设备的分类及特点    1.4.2 Linux设备驱动与整个软硬件系统的关系    1.4.3 编写Linux设备驱动的技术基础    1.4.4 Linux设备驱动的学习方法   1.5 设备驱动的HelloWorld:LED驱动    1.5.1 无操作系统时的LED驱动    1.5.2 Linux系统下的LED驱动  第2章 驱动设计的硬件基础   2.1 处理器    2.1.1 通用处理器    2.1.2数字信号处理器   2.2 存储器   2.3 接口与总线    2.3.1 串口    2.3.2 I2C总线    2.3.3 USB    2.3.4 以太网接口    2.3.5 ISA总线    2.3.6 PCI和cPCI   2.4 CPLD和FPGA    2.5 原理图分析    2.5.1 原理图分析的内容    2.5.2 原理图的分析方法   2.6 硬件时序分析    2.6.1 时序分析的概念    2.6.2 典型硬件时序   2.7 仪器仪表使用    2.7.1 万用表    2.7.2 示波器    2.7.3 逻辑分析仪   2.8 总结  第3章 Linux内核及内核编程   3.1 Linux内核的发展与演变   3.2 Linux2.6内核的特点   3.3 Linux内核的组成    3.3.1 Linux内核源代码目录结构    3.3.2 Linux内核的组成部分    3.3.3 Linux内核空间与用户空间   3.4 Linux内核的编译及加载    3.4.1 Linux内核的编译    3.4.2 Kconfig和Makefile    3.4.3 Linux内核的引导   3.5 Linux下的C编程    3.5.1 Linux程序命名习惯    3.5.2 GNUC与ANSIC    3.5.3 do{}while(0)    3.5.4 goto   3.6 总结 第2篇 Linux设备驱动核心理论  第4章 Linux内核模块   4.1 Linux内核模块简介   4.2 Linux内核模块的程序结构   4.3 模块加载函数   4.4 模块卸载函数   4.5 模块参数   4.6 导出符号   4.7 模块声明与描述   4.8 模块的使用计数   4.9 模块的编译   4.10 模块与GPL   4.11 总结  第5章 Linux文件系统与设备文件系统   5.1 Linux文件操作    5.1.1 文件操作的相关系统调用    5.1.2 C库函数的文件操作   5.2 Linux文件系统    5.2.1 Linux文件系统目录结构    5.2.2 Linux文件系统与设备驱动   5.3 devfs设备文件系统   5.4 udev设备文件系统    5.4.1 udev与devfs的区别    5.4.2 sysfs文件系统与Linux设备模型    5.4.3 udev的组成    5.4.4 udev规则文件    5.4.5 创建和配置udev   5.5 总结  第6章 字符设备驱动   6.1 Linux字符设备驱动结构    6.1.1 cdev结构体    6.1.2 分配和释放设备号    6.1.3 file_operations结构体    6.1.4 Linux字符设备驱动的组成   6.2 globalmem虚拟设备实例描述   6.3 globalmem设备驱动    6.3.1 头文件、宏及设备结构体    6.3.2 加载与卸载设备驱动    6.3.3 读写函数    6.3.4 seek()函数    6.3.5 ioctl()函数    6.3.6 使用文件私有数据   6.4 globalmem驱动在用户空间的验证   6.5 总结  第7章 Linux设备驱动中的并发控制   7.1 并发与竞态   7.2 中断屏蔽   7.3 原子操作    7.3.1 整型原子操作    7.3.2 位原子操作   7.4 自旋锁    7.4.1 自旋锁的使用    7.4.2 读写自旋锁    7.4.3 顺序锁    7.4.4 读-拷贝-更新   7.5 信号量    7.5.1 信号量的使用    7.5.2 信号量用于同步    7.5.3 完成量用于同步    7.5.4 自旋锁vs信号量    7.5.5 读写信号量   7.6 互斥体   7.7 增加并发控制后的globalmem驱动   7.8 总结  第8章 Linux设备驱动中的阻塞与非阻塞I/O   8.1 阻塞与非阻塞I/O    8.1.1 等待队列    8.1.2 支持阻塞操作的globalfifo设备驱动    8.1.3 在用户空间验证globalfifo的读写   8.2 轮询操作    8.2.1 轮询的概念与作用    8.2.2 应用程序中的轮询编程    8.2.3 设备驱动中的轮询编程   8.3 支持轮询操作的globalfifo驱动    8.3.1 在globalfifo驱动中增加轮询操作    8.3.2 在用户空间验证globalfifo设备的轮询   8.4 总结  第9章 Linux设备驱动中的异步通知与异步I/O   9.1 异步通知的概念与作用   9.2 Linux异步通知编程    9.2.1 Linux信号    9.2.2 信号的接收    9.2.3 信号的释放   9.3 支持异步通知的globalfifo驱动    9.3.1 在globalfifo驱动中增加异步通知    9.3.2 在用户空间验证globalfifo的异步通知   9.4 Linux2.6异步I/O    9.4.1 AIO概念与GNUC库函数    9.4.2 使用信号作为AIO的通知    9.4.3 使用回调函数作为AIO的通知    9.4.4 AIO与设备驱动   9.5 总结  第10章 中断与时钟   10.1 中断与定时器   10.2 Linux中断处理程序架构   10.3 Linux中断编程    10.3.1 申请和释放中断    10.3.2 使能和屏蔽中断    10.3.3 底半部机制    10.3.4 实例:S3C2410实时钟中断   10.4 中断共享   10.5 内核定时器    10.5.1 内核定时器编程    10.5.2 实例:秒字符设备   10.6 内核延时    10.6.1 短延迟    10.6.2 长延迟    10.6.3 睡着延迟   10.7 总结  第11章 内存与I/O访问   11.1 CPU与内存和I/O    11.1.1 内存空间与I/O空间    11.1.2 内存管理单元MMU   11.2 Linux内存管理   11.3 内存存取    11.3.1 用户空间内存动态申请    11.3.2 内核空间内存动态申请    11.3.3 虚拟地址与物理地址关系   11.4 设备I/O端口和I/O内存的访问    11.4.1 LinuxI/O端口和I/O内存访问接口    11.4.2 申请与释放设备I/O端口和I/O内存    11.4.3 设备I/O端口和I/O内存访问流程    11.4.4 将设备地址映射到用户空间   11.5 I/O内存静态映射   11.6 DMA    11.6.1 DMA与Cache一致性    11.6.2 Linux下的DMA编程   11.7 总结  第12章 Linux字符设备驱动综合实例   12.1 按键的设备驱动    12.1.1 按键的硬件原理    12.1.2 按键驱动中的数据结构    12.1.3 按键驱动的模块加载和卸载函数    12.1.4 按键设备驱动中断、定时器处理程序    12.1.5 按键设备驱动的打开、释放函数    12.1.6 按键设备驱动读函数   12.2 触摸屏的设备驱动    12.2.1 触摸屏的硬件原理    12.2.2 触摸屏设备驱动中数据结构    12.2.3 触摸屏驱动中的硬件控制    12.2.4 触摸屏驱动模块加载和卸载函数    12.2.5 触摸屏驱动中断、定时器处理程序    12.2.6 触摸屏设备驱动的打开、释放函数    12.2.7 触摸屏设备驱动的读函数    12.2.8 触摸屏设备驱动的轮询与异步通知    12.2.9 Linux输入子系统    12.3 DSPHPI的设备驱动    12.3.1 HPI接口的硬件原理    12.3.2 HPI接口设备驱动中数据结构    12.3.3 HPI接口设备驱动的读写函数   12.4 NVRAM设备驱动    12.4.1 NVRAM设备驱动的数据结构    12.4.2 NVRAM设备驱动的模块加载与卸载函数    12.4.3 NVRAM设备驱动读写函数    12.4.4 NVRAM设备驱动的seek函数   12.5 看门狗设备驱动    12.5.1 看门狗硬件原理    12.5.2 看门狗驱动中的数据结构    12.5.3 看门狗驱动模块的加载和卸载函数    12.5.4 看门狗驱动探测和移除函数    12.5.5 看门狗驱动的挂起和恢复函数    12.5.6 看门狗驱动的打开和释放函数    12.5.7 看门狗驱动写函数   12.6 总结 第3篇 Linux设备驱动实例  第13章 Linux块设备驱动   13.1 块设备的I/O操作特点   13.2 Linux块设备驱动结构    13.2.1 block_device_operations结构体    13.2.2 gendisk结构体    13.2.3 request与bio结构体    13.2.4 块设备驱动注册与注销   13.3 Linux块设备驱动的模块加载与卸载   13.4 块设备的打开与释放   13.5 块设备驱动的ioctl函数   13.6 块设备驱动的I/O请求处理    13.6.1 使用请求队列    13.6.2 不使用请求队列   13.7 实例1:RamDisk驱动    13.7.1 RamDisk的硬件原理    13.7.2 RamDisk驱动模块的加载与卸载    13.7.3 RamDisk设备驱动block_device_operations及成员函数    13.7.4 RamDiskI/O请求处理   13.8 实例2:IDE硬盘设备驱动    13.8.1 IDE硬盘设备原理    13.8.2 IDE硬盘设备驱动的block_device_operations及成员函数    13.8.3 IDE硬盘设备驱动的I/O请求处理    13.8.4 在内核中增加对新系统IDE设备的支持   13.9 总结  第14章 Linux终端设备驱动   14.1 终端设备   14.2 终端设备驱动结构   14.3 终端设备驱动的初始化与释放    14.3.1 模块加载与卸载函数    14.3.2 打开与关闭函数   14.4 数据发送和接收   14.5 tty线路设置    14.5.1 线路设置用户空间接口    14.5.2 tty驱动的set_termios函数    14.5.3 tty驱动的tiocmget和tiocmset函数    14.5.4 tty驱动的ioctl函数   14.6 UART设备驱动   14.7 S3C2410UART的驱动实例    14.7.1 S3C2410串口硬件描述    14.7.2 S3C2410串口驱动的数据结构    14.7.3 S3C2410串口驱动的初始化与释放    14.7.4 S3C2410串口数据收发    14.7.5 S3C2410串口线路设置   14.8 总结  第15章 Linux的I2C核心、总线与设备驱动   15.1 Linux的I2C体系结构   15.2 LinuxI2C核心   15.3 LinuxI2C总线驱动    15.3.1 I2C适配器驱动加载与卸载    15.3.2 I2C总线通信方法   15.4 LinuxI2C设备驱动    15.4.1 LinuxI2C设备驱动的模块加载与卸载    15.4.2 LinuxI2C设备驱动的i2c_driver成员函数    15.4.3 LinuxI2C设备驱动的文件操作接口    15.4.4 Linux的i2c-dev.c文件分析   15.5 S3C2410I2C总线驱动实例    15.5.1 S3C2410I2C控制器硬件描述    15.5.2 S3C2410I2C总线驱动总体分析    15.5.3 S3C2410I2C适配器驱动的模块加载与卸载    15.5.4 S3C2410I2C总线通信方法   15.6 SAA7113H视频AD芯片的I2C设备驱动实例    15.6.1 SAA7113H视频AD芯片硬件描述    15.6.2 SAA7113H视频AD芯片驱动的模块加载与卸载    15.6.3 SAA7113H设备驱动的i2c_driver成员函数   15.7 总结  第16章 Linux网络设备驱动   16.1 Linux网络设备驱动的结构    16.1.1 网络协议接口层    16.1.2 网络设备接口层    16.1.3 设备驱动功能层    16.1.4 网络设备与媒介层   16.2 网络设备驱动的注册与注销   16.3 网络设备的初始化   16.4 网络设备的打开与释放   16.5 数据发送流程   16.6 数据接收流程   16.7 网络连接状态   16.8 参数设置和统计数据   16.9 CS8900网卡设备驱动实例    16.9.1 CS8900网卡硬件描述    16.9.2 CS8900网卡驱动设计分析    16.9.3 CS8900网卡注册、初始化与注销    16.9.4 CS8900网卡发送数据流程    16.9.5 CS8900网卡接收数据流程   16.10 总结  第17章 Linux音频设备驱动   17.1 数字音频设备   17.2 音频设备硬件接口    17.2.1 PCM接口    17.2.2 IIS接口    17.2.3 AC97接口   17.3 LinuxOSS音频设备驱动    17.3.1 OSS驱动的组成    17.3.2 mixer接口    17.3.3 dsp接口    17.3.4 OSS用户空间编程   17.4 LinuxALSA音频设备驱动    17.4.1 ALSA的组成    17.4.2 card和组件管理    17.4.3 PCM设备    17.4.4 控制接口    17.4.5 AC97API接口    17.4.6 ALSA用户空间编程   17.5 S3C2410+UDA1341OSS驱动实例    17.5.1 S3C2410与UDA1341接口硬件描述    17.5.2 注册dsp和mixer接口    17.5.3 mixer接口的I/O控制函数    17.5.4 dsp接口音频数据传输

2015-04-03

Linux多线程编程手册

linux多线程设计是指基于Linux操作系统下的多线程设计,包括多任务程序的设计,并发程序设计,网络程序设计,数据共享等。Linux系统下的多线程遵循POSIX线程接口,称为pthread。编写Linux下的多线程程序,需要使用头文件pthread.h,连接时需要使用库libpthread.a

2015-04-03

Linux系统下的多线程编程入门

linux多线程设计是指基于Linux操作系统下的多线程设计,包括多任务程序的设计,并发程序设计,网络程序设计,数据共享等。Linux系统下的多线程遵循POSIX线程接口,称为pthread。编写Linux下的多线程程序,需要使用头文件pthread.h,连接时需要使用库libpthread.a

2015-04-03

仿淘宝的B2C商城项目

仿淘宝的B2C商城项目,后台功能基本完善,前端展示简单,近期上线,求前端大神参与,立志完善成商业版,有意参与者请联系我:[email protected] 仿淘宝的B2C商城项目 一、项目介绍: 本项目使用SSH框架和MySQL数据库。实现Spring对Hibernate和Struts的整合。目前实现功能:(1)前台功能:用户注册、商品展示、购物车功能(商品进行添加、删除、修改、查看操作),订单提交。(2)后台功能:商品增删改查和订单管理。(3)商品搜索(搜索内容进行分词,提取关键字,模糊查询)。(4)QQ在线咨询功能。本项目基本实现完整的B2C网站的功能。 二、项目部署: 本项目使用Eclipse_EE + Tomcat7.0+ MySql5.6的开发环境。 1、安装 Eclipse_EE、Tomcat、MySql软件。 2、MySql数据库中创建shop数据库。 (1)CREATE DATABASE shop CHARACTER SET utf8 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT COLLATE utf8_general_ci ; (2)本项目中sql/shop.sql,执行shop.sql,SQL语句创建各种表单,和默认管理员用户 ,默认普通用户。管理员用户名:admin,密码:123.普通用户的用户名:throne212,密码 123. 3、本网站源码导入Eclipse中,网站就可以运行。 ../Shop/manager/index.jsp为后台管理界面。 三、网站近期上线 本人是电子科大的研究生,擅长网站后台开发,后台功能基本完善,前台页面展示简单,如果你感兴趣,就可以参与进来,立志完善成商业版,有意参与者请和我联系: 邮箱:[email protected] qq群:330242176

2015-04-03

Hadoop实战-陆嘉恒

《Hadoop实战》是一本系统且极具实践指导意义的hadoop工具书和参考书。内容全面,对hadoop整个技术体系进行了全面的讲解,不仅包括hdfs和mapreduce这两大核心内容,而且还包括hive、hbase、mahout、pig、zookeeper、avro、chukwa等与hadoop相关的子项目的内容。实战性强,为各个知识点精心设计了大量经典的小案例,易于理解,可操作性强。 全书一共18章:第1章全面介绍了hadoop的概念、优势、项目结构、体系结构,以及它与分布式计算的关系;第2章详细讲解了hadoop集群的安装和配置,以及常用的日志分析技巧;第3章分析了hadoop在yahoo!、ebay、facebook和百度的应用案例,以及hadoop平台上海量数据的排序;第4-7章深入地讲解了mapreduce计算模型、mapreduce应用的开发方法、mapreduce的工作机制,同时还列出了多个mapreduce的应用案例,涉及单词计数、数据去重、排序、单表关联和多表关联等内容;第8-11章全面地阐述了hadoop的i/o操作、hdfs的原理与基本操作,以及hadoop的各种管理操作,如集群的维护等;第12-17章详细而系统地讲解了hive、hbase、mahout、pig、zookeeper、avro、chukwa等所有与hadoop相关的子项目的原理及使用,以及这些子项目与hadoop的整合使用;第18章以实例的方式讲解了常用hadoop插件的使用和hadoop插件的开发。 《Hadoop实战》既适合没有hadoop基础的初学者系统地学习,又适合有一定hadoop基础但是缺乏实践经验的读者实践和参考。

2015-04-03

storm入门.

Storm入门终于翻译完了。首先感谢并发编程网同意本人在网站上首发本书译文,同时还要感谢并发编程网的各位大牛们的耐心帮助。这是本人翻译的第一本书,其中必有各种不足请诸位读者朋友不吝斧正。 译完此书之后,我已经忘记了是如何知道的Storm这个工具了。本人读过的所有技术书籍大部分都是在地铁上完成的,现在已经成了习惯。最近发现自己有一阵子没有看书,那个时候大数据已经相当火热,我就想找一些讲大数据分析的书来读一读,虽然一直没有机会接触大数据的工作,不过做一些技术储备也是好的。于是上谷歌和亚马逊用“大数据”、“实时分析”这类关键词搜索相关的技术文章和书籍。然后就知道了Storm,可惜一直没有找到中文的相关内容,只找到这一本《Getting Started with Storm》。可惜本人英文词汇量实在太少,书买来之后一直束之高阁,后来突发奇想我为什么不利用业余时间把这本书翻译了呢?于是由本人完成的《Getting Started with Storm》在并发编程网面世了。在本人之前已有人在CSDN上完成了本书除附录以外的全部翻译,并且有了PDF版。不过既然已经开始就不忍中途放弃了,所以一直坚持把本书译完。再次感谢并发编程网的朋友们的支持。

2015-04-03

事务处理概念与技术

《事务处理:概念与技术》列举了大量成功的商业和研究系统的实例,此外,列出了许多事务处理算法的可编译的C代码片段。本书对于那些对实现分布式系统或客户-服务器结构感兴趣的人来说,是值得一读的。 事务处理广泛地应用于数据库和操作系统领域,并在现代计算机系统中监控、控制和更新信息。本书向读者展示了大型的、分布的、异构的计算机系统是如何进行可靠工作的。作者使用事务作为基本概念,说明了在有限的资金和风险下如何构建高性能的高可用性应用。书中还详细阐述了各种可能发生的问题,以及解决这些问题的实际可用的技术。本书列举了大量成功的商业和研究系统的实例,此外,列出了许多事务处理算法的可编译的C代码片段。本书对于那些对实现分布式系统或客户-服务器结构感兴趣的人来说,是值得一读的。 本书适合作为高校的教科书,也可作为计算机专业人员的参考书

2015-04-03

第二版 分布式系统原理与范型 中文

本书是Tanenbaum先生对所著的《分布式操作系统》的升级更新,是分布式系统的权威教材。全书分为两部分:原理和范型。第一部分详细讨论了分布式系统的原理、概念和技术,其中包括通信、进程、命名、同步、一致性和复制、容错以及安全。第二部分给出了一些实际的分布式系统:基于对象的分布式系统、分布式文件系统、基于文档的分布式系统以及基于协作的分布式系统,介绍了一些实际系统的设计思想和实现技术。全书结构清晰,内容全面经典,系统性与先进性并茂。

2015-04-03

Java正则表达.

和字符串模式-替换方面富有弹性。在Unix世界里,正则表达式几乎没有什么限制,可肯定的是,它应用非常之广泛。   正则表达式的引擎已被许多普通的Unix工具所实现,包括grep,awk,vi和Emacs等。此外,许多使用比较广泛的脚本语言也支持正则表达式,比如Python,Tcl,JavaScript,以及最著名的Perl。   我很早以前就是个Perl方面的黑客,如果你和我一样话,你也会非常依赖你手边的这些强大的text-munging工具。近几年来,像其他程序开发者一样,我也越来越关注Java的开发。   Java作为一种开发语言,有许多值得推荐的地方,但是它一直以来没有自带对正则表达式的支持。直到最近,借助于第三方的类库,Java开始支持正则表达式,但这些第三方的类库都不一致、兼容性差,而且维护代码起来很糟糕。这个缺点,对我选择Java作为首要的开发工具来说,一直是个巨大的顾虑之处。

2015-04-02

learn-pyspark

PySpark 提供的类编辑 pyspark.SparkConf pyspark.SparkConf 类提供了对一个 Spark 应用程序配置的操作方法。用于将各种Spark参数设置为键值对。 pyspark.SparkContext pyspark.SparkContext 类提供了应用与 Spark 交互的主入口点,表示应用与 Spark 集群的连接,基于这个连接,应用可以在该集群上创建 RDD 和 广播变量 (pyspark.Broadcast) pyspark.SparkFiles SparkFiles 只包含类方法,开发者不应创建 SparkFiles 类的实例[2] 。 pyspark.RDD 这个类是为 PySpark 操作 RDD

2017-08-10

Python机器学习-预测分析核心算法

《 Python机器学习——预测分析核心算法 》从算法和Python 语言实现的角度,帮助读者认识机器学习。 专注于两类核心的“算法族”,即惩罚线性回归和集成方法,并通过代码实例来 展示所讨论的算法的使用原则。全书共分为7 章,详细讨论了预测模型的两类核心算法、预测模型的构建、惩罚线性回归和集成方法的具体应用和实现。

2017-08-08

C++并发实践

本书是一本基于C++11新标准的并发和多线程编程深度指南。从std::thread、std::mutex、std::future和std::async等基础类的使用,到内存模型和原子操作、基于锁和无锁数据结构的构建,再扩展到并行算法、线程管理,最后还介绍了多线程代码的测试工作。本书的附录部分还对C++11新语言特性中与多线程相关的项目进行了简要的介绍,并提供了C++11线程库的完整参考。 本书适合于需要深入了解C++多线程开发的读者,以及使用C++进行各类软件开发的开发人员、测试人员。对于使用第三方线程库的读者,也可以从本书后面的章节中了解到相关的指引和技巧。同时,本书还可以作为C++11线程库的参考工具书。

2015-06-04

STL源码剖析源码带注解

学习编程的人都知道,阅读、剖析名家代码乃是提高水平的捷径。源码之前,了无秘密。大师们的缜密思维、经验结晶、技术思路、独到风格,都原原本本体现在源码之中。在你仔细推敲之中,迷惑不解之时,恍然大悟之际,你的经验、思维、视野、知识乃至技术品位都会获得快速的成长。 本书所呈现的源码,使你踏上了基度山岛。源码之前了无秘密,你将看到vector的实现、list的实现、heap的实现、deque的实现、Red Black tree的实现、hash table的实现、set/map的实现;你将看到各种算法(排序、查找、排列组合、数据移动与复制技术)的实现;你甚至能够看到底层的memory pook和高阶抽象的traits机制的实现。

2015-05-29

STL源码剖析中文简体版

学习编程的人都知道,阅读、剖析名家代码乃是提高水平的捷径。源码之前,了无秘密。大师们的缜密思维、经验结晶、技术思路、独到风格,都原原本本体现在源码之中。在你仔细推敲之中,迷惑不解之时,恍然大悟之际,你的经验、思维、视野、知识乃至技术品位都会获得快速的成长。 本书所呈现的源码,使你踏上了基度山岛。源码之前了无秘密,你将看到vector的实现、list的实现、heap的实现、deque的实现、Red Black tree的实现、hash table的实现、set/map的实现;你将看到各种算法(排序、查找、排列组合、数据移动与复制技术)的实现;你甚至能够看到底层的memory pook和高阶抽象的traits机制的实现。

2015-05-29

数据库设计解决方案入门经典

本书向读者提供了许多实用的方法和工具,用来设计高效、可靠和安全的数据库。本书作者RodStephens详细讲解了应该如何组织数据库以便在不降低性能的前提下确保数据完整性,为开发各种数据库应用程序提供了坚实的基础。书中提到的方法和技术适刚厂各种数据库环境,包括Oracle、Microsoft Access、SQL Server和MySQL。通过学习本书,读者将会了解优秀数据库设计的基本过程并最终掌握实际设计数据库的方法。 本书主要内容 ·如何确定满足用户需求的数据库要求 ·使用各种建模技术构建数据模型的方法,包括实体关系模型、用户界面模型和语义对象模型 ·了解不同类型的数据库的技巧,包括关系数据库、FlatFiles、电子表格、XML和对象数据库 ·如何优化和调整设计以便改善数据库的性能 ·理解良好的应用程序设计和数据库设计之间关联的技术 ·设计灵活、健壮的数据库方法以适应业务变化和发展 ·便于维护和技术支持的设计方法 ·避免常见的数据库设计错误的方法

2015-04-23

java消息服务

Java 消息服务(Java Message Service,JMS)应用程序接口是一个Java 平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。Java 消息服务是一个与具体平台无关的 API,绝大多数 MOM 提供商都对 JMS 提供支持。 Java 消息服务的规范包括两种消息模式,点对点和发布者/订阅者。许多提供商支持这一通用框架因此,程序员可以在他们的分布式软件中实现面向消息的操作,这些操作将具有不同面向消息中间件产品的可移植性。 Java 消息服务支持同步和异步的消息处理,在某些场景下,异步消息是必要的;在其他场景下,异步消息比同步消息操作更加便利。 Java 消息服务支持面向事件的方法接收消息,事件驱动的程序设计现在被广泛认为是一种富有成效的程序设计范例,程序员们都相当熟悉。 在应用系统开发时,Java 消息服务可以推迟选择面对消息中间件产品,也可以在不同的面对消息中间件切换。

2015-04-22

设计模式-可复用面向对象软件的基础

这本书结合设计实作例从面向对象的设计中精选出23个设计模式,总结了面向对象设计中最有价值的经验,并且用简洁可复用的形式表达出来。书中分类描述了一组设计良好、表达清楚的软件设计模式,这些模式在实用环境下特别有用。此书适合大学计算机专业的学生、研究生及相关人员参考。 书中涉及的设计模式并不描述新的或未经证实的设计,只收录了那些在不同系统中多次使用过的成功设计。

2015-04-17

C++编程思想

《c++编程思想》是由Bruce Eckel编写的一本书籍。本书的内容、讲授方法,选用例子和跟随的练习,别具特色。作者Bruce Eckel不是按传统的方法讲解C++的概念和编程方法,而是根据他自己过去学习C++的亲身体会,根据他在多年教学实践中发现的问题,用一些非常简单的例子和简练的叙述,阐明了在学习C++中特别容易混淆的概念。

2015-04-17

C++标准程序库

C++标准程序库

2015-04-17

STL源码剖析

学习编程的人都知道,阅读、剖析名家代码乃是提高水平的捷径。源码之前,了无秘密。大师们的缜密思维、经验结晶、技术思路、独到风格,都原原本本体现在源码之中。在你仔细推敲之中,迷惑不解之时,恍然大悟之际,你的经验、思维、视野、知识乃至技术品位都会获得快速的成长。 本书所呈现的源码,使你踏上了基度山岛。源码之前了无秘密,你将看到vector的实现、list的实现、heap的实现、deque的实现、Red Black tree的实现、hash table的实现、set/map的实现;你将看到各种算法(排序、查找、排列组合、数据移动与复制技术)的实现;你甚至能够看到底层的memory pook和高阶抽象的traits机制的实现。

2015-04-17

Java编程思想第4版

本书赢得了全球程序员的广泛赞誉,即使是最晦涩的概念,在BruceEckel的文字亲和力和小而直接的编程示例面前也会化解于无形。从Java的基础语法到最高级特性(深入的面向对象概念、多线程、自动项目构建、单元测试和调试等),本书都能逐步指导你轻松掌握。 从本书获得的各项大奖以及来自世界各地的读者评论中,不难看出这是一本经典之作。本书的作者拥有多年教学经验,对C、C++以及Java语言都有独到、深入的见解,以通俗易懂及小而直接的示例解释了一个个晦涩抽象的概念。本书共22章,包括操作符、控制执行流程、访问权限控制、复用类、多态、接口、通过异常处理错误、字符串、泛型、数组、容器深入研究、JavaI/O系统、枚举类型、并发以及图形化用户界面等内容。这些丰富的内容,包含了Java语言基础语法以及高级特性,适合各个层次的Java程序员阅读,同时也是高等院校讲授面向对象程序设计语言以及Java语言的绝佳教材和参考书。 第4版特点: 适合初学者与专业人员的经典的面向对象叙述方式,为更新的Java SE5/6增加了新的示例和章节。 ? 测验框架显示程序输出。 ?设计模式贯穿于众多示例中:适配器、桥接器、职责链、命令、装饰器、外观、工厂方法、享元、点名、数据传输对象、空对象、代理、单例、状态、策略、模板方法以及访问者。 ? 为数据传输引入了XML,为用户界面引入了SWT和Flash。 ? 重新撰写了有关并发的章节,有助于读者掌握线程的相关知识。 ? 专门为第4版以及Java SE5/6重写了700多个编译文件中的500多个程序。 ? 支持网站包含了所有源代码、带注解的解决方案指南、网络日志以及多媒体学习资料。 ? 覆盖了所有基础知识,同时论述了高级特性。 ? 详细地阐述了面向对象原理。 ? 在线可获得Java讲座CD,其中包含Bruce Eckel的全部多媒体讲座。 在www.MindView.net网站上可以观看现场讲座、咨询和评论。 专门为第4版以及Java SE5/6重写了700多个编译文件中的500多个程序。 支持网站包含了所有源代码、带注解的解决方案指南、网络日志以及多媒体学习资料。 覆盖了所有基础知识,同时论述了高级特性。 详细地阐述了面向对象原理。 在线可获得Java讲座CD,其中包含Bruce Eckel的全部多媒体讲座。 在www.MindView.net网站上可以观看现场讲座、咨询和评论。 作者简介 BruceEckel是MindView公司(www.MindView.net)的总裁,该公司向客户提供软件咨询和培训。他是C++标准委员会拥有表决权的成员之一,拥有应用物理学学士和计算机工程硕士学位。除本书外,他还是《C++编程思想》的作者,并与人合著了《C++编程思想第2卷》

2015-04-16

SQL语言艺术

《SQL语言艺术》,电子工业出版社出版图书。Stephane资深SQL专家Faroult倾力打造,软件架构设计》作者温昱最新译作,巧妙借鉴《孙子兵法》的智慧结晶。传授25年的SQL性能与调校经验,深入探讨9种常见查询方案及其性能。 书 名SQL语言艺术 作 者(美)法禾,(美)罗伯森 译 者温昱,靳向阳 ISBN9787121058349 类 别图书 >> 计算机/网络 >> 数据库 >>SQL 页 数349 定 价¥58.00 出版社电子工业出版社 出版时间2008-3-1 装 帧平装 开 本16开

2015-04-11

SQL应用重构

当数据库的性能达不到预期时,该怎么办呢?在用昂贵的硬件升级的力、法来解决这一问题之前,请拿起这本书。《SQL应用重构》将教你如何发现和评估需要重构的代码,理解重构和性能之间至关重要的关系。如果你的应用陷入了困境,那么《SQL应用重构》将能帮你使它重新加快速度。 在《SQL应用重构》中你将学习到: ·判断你是否(以及在哪里)可以得到性能的提升。 ·应用快速修复的方法,例如在存储函数和过程中限制对数据库的调用。 ·改写SQL语句以提高数据访问的效率。 ·重构任务,例如用存储过程代替应用代码,用全面的SQL语句代替重复的过程化语句。 ·增加并行以重构流程。 ·使用模式扩展、常规视图、物化视图、分区等来重构设计。

2015-04-11

MySQL技术内幕_InnoDB存储引擎

《MySQL技术内幕:InnoDB存储引擎》是国内目前唯一的一本关于InnoDB的著作,由资深MySQL专家亲自执笔,中外数据库专家联袂推荐,权威性毋庸置疑。内容深入,从源代码的角度深度解析了InnoDB的体系结构、实现原理、工作机制,并给出了大量最佳实践,能帮助你系统而深入地掌握InnoDB,更重要的是,它能为你设计和管理高性能、高可用的数据库系统提供绝佳的指导。

2015-04-11

mysql_stored_procedure_programming

The implementation of stored procedures in MySQL 5.0 a hugemilestone -- one that is expected to lead to widespread enterprise adoption ofthe already extremely popular MySQL database. If you are serious aboutbuilding the web-based database applications of the future, you need toget up to speed quickly on how stored procedures work -- and how tobuild them the right way. This book, destined to be the bible of storedprocedure development, is a resource that no real MySQL programmer canafford to do without. In the decade since MySQL burst on the scene, it has become thedominant open source database, with capabilities and performancerivaling those of commercial RDBMS offerings like Oracle and SQLServer. Along with Linux and PHP, MySQL is at the heart of millions ofapplications. And now, with support for stored procedures, functions,and triggers in MySQL 5.0, MySQL offers the programming power neededfor true enterprise use. MySQL's new procedural language has a straightforward syntax, making iteasy to write simple programs. But it's not so easy to write secure,easily maintained, high-performance, and bug-free programs. Few in theMySQL world have substantial experience yet with stored procedures, butGuy Harrison and Steven Feuerstein have decades of combined expertise. In MySQL Stored Procedure Programming, they putthat hard-won experience to good use. Packed with code examples and coveringeverything from language basics to application building to advancedtuning and best practices, this highly readable book is the one-stopguide to MySQL development. It consists of four major sections: MySQL stored programming fundamentals -- tutorial, basicstatements, SQL in stored programs, and error handling Building MySQL stored programs -- transaction handling,built-in functions, stored functions, and triggers MySQL stored programs in applications -- using storedprograms with PHP, Java, Perl, Python, and .NET (C# and VB.NET) Optimizing MySQL stored programs -- security, basic andadvanced SQL tuning, optimizing stored program code, and programmingbest practices A companion web site contains many thousands of lines of code, that youcan put to use immediately. Guy Harrison is Chief Architect of Database Solutions at Quest Softwareand a frequent speaker and writer on MySQL topics. Steven Feuerstein isthe author of Oracle PL/SQL Programming, the classic reference for Oracle stored programming for more than ten years. Both have decades of experience as database developers, and between them they have authored a dozen books.

2015-04-11

Learning MySQL Step By Step

何登成 网易——杭州研究院; 工作领域 数据库引擎/分布式数据库/分布式KV 技术领域 数据库/分布式/并发编程/性能优化 开始,我想把MySQL中我所了解的源码文件,一个个拿出来分析。但是转头一想,这不太切实际! 因此,此分享的内容改为:总结我个人在过去几年内学习MySQL,开发自己的引擎的一些经验,走过的一些路,希望对大家有所帮助;

2015-04-11

Linux系统网络编程

第21章 Linux系统网络编程 本章介绍 L i n u x系统网络编程的内容,如套接口的概念与使用、网络编程的结构等。 21.1 什么是套接口 简单地说,套接口就是一种使用 U N I X系统中的文件描述符和系统进程通信的一种方法。 因为在U N I X系统中,所有的 I / O操作都是通过读写文件描述符而产生的。文件描述符就是 一个和打开的文件相关连的整数。但文件可以是一个网络连接、一个 F I F O、一个管道、一个 终端、一个真正存储在磁盘上的文件或者 U N I X系统中的任何其他的东西。所以,如果你希望 通过I n t e r n e t和其他的程序进行通信,你只有通过文件描述符。 使用系统调用 s o c k e t ( ),你可以得到 s o c k e t ( )描述符。然后你可以使用 send() 和 r e c v ( )调用而 与其他的程序通信。你也可以使用一般的文件操作来调用 read() 和 w r i t e ( )而与其他的程序进行 通信,但send() 和 r e c v ( )调用可以提供一种更好的数据通信的控制手段。下面我们讨论 I n t e r n e t 套接口的使用方法。

2015-04-05

Linux网络编程一步一步学

#Socket简介 是一个编程接口 是一种特殊的文件描述符(everything in Unix is a file) 并不仅限于TCPIP协议 面向连接(Transmission Control Protocol - TCPIP) 无连接(User Datagram Protocol-UDP 和 Inter-Network Packet Exchange-IPX) #Socket类型 流式套接字(SOCK_STREAM) 提供了一个面向连接,可靠的数据传输服务,数据无差错,无重复的发送且 按发送顺序接收。内设置流量控制,避免数据流淹没慢的接收方。数据被看作是 字节流,无长度限制 数据报套接字(SOCK_DGRAM) 提供无连接服务。数据包以独立数据包的形式被发送,不提供无差错保证, 数据可能丢失或重复,顺序发送,可能乱序接收 原始套接字(SOCK_RAW) 可以对较低层次协议如IP,ICMP直接访问 #IP地址 IP地址是Internet中主机的标识 Internet中的主机要与别的机器通信必须具有一个IP地址 IP地址为32位(IPV4)或者128位(IPV6) 每个数据包都必须携带目的IP地址和源IP地址,路由器依靠此信息为数据包 选择路由 表示形式:常用点分形式,如202.38.64.10,最后都会转换为一个32位的无符号 整数。 #IP地址的转换 inet_aton() 将strptr所指的字符串转换成32位的网络字节序二进制值 int inet_aton(const char *strptr, struct in_addr *addrptr); inet_addr() 功能同上,返回转换后的地址 in_addr_t inet_addr(const char *strptr); inet_ntoa() 将32位网络字节序二进制地址转换成点分十进制的字符串。 char *inet_ntoa(struct in_addr inaddr); #端口号 为了区分一台主机接收到的数据包应该转交给哪个进程来进行处理,使用端口号 来区分 TCP端口号与UDP端口号独立(协议不同可以使用同一个端口) 三无组:协议,IP,端口 端口号一般由IANA(Internet Assigned Numbers Authority)管理 众所周知端口:1~1023(1~255之间为众所周知端口,256~1023端口通常由 UNIX系统占用 已登记端口:1024~49151 动态或私有端口:49152~65535

2015-04-05

Linux网络编程1

inuxLinux 编译平台支持。 gcc 下的 Linux 要实习本文的示例,需要 定义定义定义定义 SocketSocketSocketSocket 是一种文件描 , 是建立在传输层之上为应用开发人员提供的网络数据传输的接口 socket 的 整型 ,该函数返回一个 Socket() — 也具有一个类似于打开文件的函数调用 Socket 述符。 实现的。 描述符 Socket 描述符,随后的连接建立数据传输等操作都是通过该 Socket

2015-04-05

空空如也

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

TA关注的人

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