内容介绍
这是一部从工作原理和工程实践两个维度深入剖析JVM的著作,是计算机领域公认的经典,繁体版在台湾也颇受欢迎。
自2011年上市以来,前两个版本累计印刷36次,销量超过30万册,两家主要网络书店的评论近90000条,内容上近乎零差评,是原创计算机图书领域不可逾越的丰碑。
第3版在第2版的基础上做了重大修订,内容更丰富、实战性更强:根据新版JDK对内容进行了全方位的修订和升级,围绕新技术和生产实践新增逾10万字,包含近50%的全新内容,并对第2版中含糊、瑕疵和错误内容进行了修正。
全书一共13章,分为五大部分:
第一部分(第1章)走近Java
系统介绍了Java的技术体系、发展历程、虚拟机家族,以及动手编译JDK,了解这部分内容能对学习JVM提供良好的指引。
第二部分(第2~5章)自动内存管理
详细讲解了Java的内存区域与内存溢出、垃圾收集器与内存分配策略、虚拟机性能监控与故障排除等与自动内存管理相关的内容,以及10余个经典的性能优化案例和优化方法;
第三部分(第6~9章)虚拟机执行子系统
深入分析了虚拟机执行子系统,包括类文件结构、虚拟机类加载机制、虚拟机字节码执行引擎,以及多个类加载及其执行子系统的实战案例;
第四部分(第10~11章)程序编译与代码优化
详细讲解了程序的前、后端编译与优化,包括前端的易用性优化措施,如泛型、主动装箱拆箱、条件编译等的内容的深入分析;以及后端的性能优化措施,如虚拟机的热点探测方法、HotSpot 的即时编译器、提前编译器,以及各种常见的编译期优化技术;
第五部分(第12~13章)高效并发
主要讲解了Java实现高并发的原理,包括Java的内存模型、线程与协程,以及线程安全和锁优化。
全书以实战为导向,通过大量与实际生产环境相结合的案例分析和展示了解决各种Java技术难题的方案和技巧。
C语言的图书多如牛毛,但绝大多数都很单纯,无外乎语法、技巧或者实例。C语言的教与学,远不止语法和示例这么简单。语言是应用的工具,只能深入到历史和实际应用的土壤里,从现实中寻找这门计算机语言的定位,学习它的语法,认识它所能解决的现实问题。所以,这本书面向C语言的初学者,结合*新的C语言标准9899:2011,不但介绍了和C语言本身有关的各个方面:词法元素、类型、声明、函数、表达式、语句、预处理、标准库,更是以此为主线,融汇了大量的现实和应用场景,从计算机原理、程序设计、编译原理、操作系统接口、数据结构,等等。为了帮助读者更好地理解C语言、操作系统接口以及用C语言解决实际问题这三者之间的关系,本书还特意提供了一个关系型数据库的实例和一个WEB服务器编程的实例。本书的目标:a.基础。本书面向初学者,介绍C语言的基础知识,但有深度和高度;b.全面。依据C语言的*新标准,尽量涵盖它的所有内容;c.标准化。摒弃某些传统的概念、术语和不正确、不精确的阐述;d.新颖。正本清源,采用与传统图书不同的形式来讲解。比如,先介绍#include <stdio.h>是什么东西,怎么来的,有什么用,而不是象别的书一样,一上来就使用,而且对它的功能语焉不详。不单单是讲述C的语法,更深入到与之相关的各个方面,比如操作系统环境、编译器、数据库和WEB应用,通过各种互相结合的场景,让读者真正认识这门语言,真正掌握这门语言,不致于学了之后还是感到茫然。e.通俗易懂。不是指语言上的通俗化和口语化,而是真正地按照认知的规律和过程,由浅入深,由表及里,不但知其然,还要知其所以然。
在计算机发展的历史上,没有哪一种程序设计语言像C语言这样应用如此广泛。
《C程序设计语言(原书第2版·新版 典藏版)》原著即为C语言的设计者之一DennisM.Ritchie和著名的计算机科学家BrianW.Kernighan合著的一本介绍C语言的经典著作。我们现在见到的大量论述C语言程序设计的教材和专著均以此书为蓝本。原著第1版中介绍的C语言成为后来广泛使用的C语言版本——标准C的基础。人们熟知的“hello,world”程序就是由《C程序设计语言(原书第2版·新版 典藏版)》首次引入的,现在,这一程序已经成为所有程序设计语言入门的第一课。原著第2版根据1987年制定的ANSIC标准做了适当的修订,引入了新的语言形式,并增加了新的示例。通过简洁的描述、典型的示例,作者全面、系统、准确地讲述了C语言的各个特性以及程序设计的基本方法。对于计算机从业人员来说,《C程序设计语言(原书第2版·新版 典藏版)》是一本必读的程序设计语言方面的参考书。
《深入理解Java虚拟机:JVM高级特性与最佳实践(第2版)》内容简介:第1版两年内印刷近10次,4家网上书店的评论近4?000条,98%以上的评论全部为5星级的好评,是整个Java图书领域公认的经典著作和超级畅销书,繁体版在台湾也十分受欢迎。第2版在第1版的基础上做了很大的改进:根据最新的JDK 1.7对全书内容进行了全面的升级和补充;增加了大量处理各种常见JVM问题的技巧和最佳实践;增加了若干与生产环境相结合的实战案例;对第1版中的错误和不足之处的修正;等等。第2版不仅技术更新、内容更丰富,而且实战性更强。
《深入理解Java虚拟机:JVM高级特性与最佳实践(第2版)》共分为五大部分,围绕内存管理、执行子系统、程序编译与优化、高效并发等核心主题对JVM进行了全面而深入的分析,深刻揭示了JVM的工作原理。
第一部分从宏观的角度介绍了整个Java技术体系、Java和JVM的发展历程、模块化,以及JDK的编译,这对理解书中后面内容有重要帮助。
第二部分讲解了JVM的自动内存管理,包括虚拟机内存区域的划分原理以及各种内存溢出异常产生的原因;常见的垃圾收集算法以及垃圾收集器的特点和工作原理;常见虚拟机监控与故障处理工具的原理和使用方法。
第三部分分析了虚拟机的执行子系统,包括类文件结构、虚拟机类加载机制、虚拟机字节码执行引擎。
第四部分讲解了程序的编译与代码的优化,阐述了泛型、自动装箱拆箱、条件编译等语法糖的原理;讲解了虚拟机的热点探测方法、HotSpot的即时编译器、编译触发条件,以及如何从虚拟机外部观察和分析JIT编译的数据和结果;
第五部分探讨了Java实现高效并发的原理,包括JVM内存模型的结构和操作;原子性、可见性和有序性在Java内存模型中的体现;先行发生原则的规则和使用;线程在Java语言中的实现原理;虚拟机实现高效并发所做的一系列锁优化措施。
本书由Erlang之父Joe Armstrong编写,是毋庸置疑的经典著作。书中兼顾了顺序编程、并发编程和分布式编程,重点介绍如何编写并发和分布式的Erlang程序以及如何在多核CPU上自动加速程序,并深入地讨论了开发Erlang应用中至关重要的文件和网络编程、OTP、ETS和DETS等主题。第2版全新改写,反应了自第1版面世以来Erlang历经的所有变化,添加了大量针对初学者的内容,并在每章后都附上了练习题。
本书是畅销书《SQL基础教程》第2版,介绍了关系数据库以及用来操作关系数据库的SQL语言的使用方法。书中通过丰富的图示、大量示例程序和详实的操作步骤说明,让读者循序渐进地掌握SQL的基础知识和使用技巧,切实提高编程能力。每章结尾设置有练习题,帮助读者检验对各章内容的理解程度。另外,本书还将重要知识点总结为“法则”,方便读者随时查阅。第2版除了将示例程序更新为对应新版本的DB的SQL之外,还新增了一章,介绍如何从应用程序执行SQL。
本书是对以数据深度需求为中心的科学、研究以及针对计算和统计方法的参考书。本书共五章,每章介绍一到两个Python数据科学中的重点工具包。首先从IPython和Jupyter开始,它们提供了数据科学家需要的计算环境;第2章讲解能提供ndarray对象的NumPy,它可以用Python高效地存储和操作大型数组;第3章主要涉及提供DataFrame对象的Pandas,它可以用Python高效地存储和操作带标签的/列式数据;第4章的主角是Matplotlib,它为Python提供了许多数据可视化功能;第5章以Scikit-Learn为主,这个程序库为最重要的机器学习算法提供了高效整洁的Python版实现。
本书适合有编程背景,并打算将开源Python工具用作分析、操作、可视化以及学习数据的数据科学研究人员。
本书是《SQL基础教程》作者MICK为志在向中级进阶的数据库工程师编写的一本SQL技能提升指南。全书可分为两部分,第一部分介绍了SQL语言不同寻常的使用技巧,带领读者从SQL常见技术,比如CASE表达式、自连接、HAVING子句、外连接、关联子查询、EXISTS……去探索新发现。这部分不仅穿插讲解了这些技巧背后的逻辑和相关知识,而且辅以丰富的示例程序,旨在帮助读者提升编程水平;第二部分着重介绍关系数据库的发展史,把实践与理论结合起来,旨在帮助读者加深对关系数据库和SQL语言的理解。此外,每节末尾均设置有练习题,并在书末提供了解答,方便读者检验自己对书中知识点的掌握程度。
本书是JavaScript 超级畅销书的最新版。ECMAScript 5 和HTML5 在标准之争中双双胜出,使大量专有实现和客户端扩展正式进入规范,同时也为JavaScript 增添了很多适应未来发展的新特性。本书这一版除增加5 章全新内容外,其他章节也有较大幅度的增补和修订,新内容篇幅约占三分之一。全书从JavaScript 语言实现的各个组成部分——语言核心、DOM、BOM、事件模型讲起,深入浅出地探讨了面向对象编程、Ajax 与Comet 服务器端通信,HTML5 表单、媒体、Canvas(包括WebGL)及Web Workers、地理定位、跨文档传递消息、客户端存储(包括IndexedDB)等新API,还介绍了离线应用和与维护、性能、部署相关的最佳开发实践。本书附录展望了未来的API 和ECMAScript Harmony 规范。
本书适合有一定编程经验的Web 应用开发人员阅读,也可作为高校及社会实用技术培训相关专业课程的教材。
本书语言和版式活泼,内容讲解深入浅出,是难得的JavaScript入门书。本书内容涵盖JavaScript的基本知识以及对象、函数和浏览器文档对象模型等高阶主题。书中配备了大量有趣的实例、图示和练习,让读者轻轻松松掌握JavaScript。
本书示例丰富,图文并茂,以让人容易理解的方式阐释了算法,旨在帮助程序员在日常项目中更好地发挥算法的能量。书中的前三章将帮助你打下基础,带你学习二分查找、大O表示法、两种基本的数据结构以及递归等。余下的篇幅将主要介绍应用广泛的算法,具体内容包括:面对具体问题时的解决技巧,比如,何时采用贪婪算法或动态规划;散列表的应用;图算法;K最近邻算法。
《Python机器学习手册:从数据预处理到深度学习》采用基于任务的方式来介绍如何在机器学习中使用Python。书中有近200个独立的解决 方案,针对的都是数据科学家或机器学习工程师在构建模型时可能遇到的常见任务,涵盖从简 单的矩阵和向量运算到特征工程以及神经网络的构建。所有方案都提供了相关代码,读者可以 复制并粘贴这些代码,用在自己的程序中。
《Python机器学习手册:从数据预处理到深度学习》不是机器学习的入门书,适合熟悉机器学习理论和概念的读者阅读。你可以将本书作 为案头参考书,在机器学习的日常开发中遇到问题时,随时借鉴书中代码,快速解决问题。
本书不仅适合初级Web开发人员学习阅读,更是Python程序员用来学习高级Web开发技术的优秀参考书。
• 学习Flask应用的基本结构,编写示例应用;
• 使用必备的组件,包括模板、数据库、Web表单和电子邮件支持;
• 使用包和模块构建可伸缩的大型应用;
• 实现用户认证、角色和个人资料;
• 在博客网站中重用模板、分页显示列表以及使用富文本;
• 使用基于Flask的REST式API,在智能手机、平板电脑和其他第三方客户端上实现可用功能;
• 学习运行单元测试以及提升性能;
• 将Web应用部署到生产服务器。
本书是一本家长与孩子共同学习编程的入门书。作者是一对父子,他们以Python语言为例,详尽细致地介绍了Python如何安装、字符串和操作符等程序设计的基本概念,介绍了条件语句、函数、模块等进阶内容,最后讲解了用Python实现游戏编程。书中的语言生动活泼,叙述简单明了。 为了让学习者觉得编程有趣,本书编排了很多卡通人物及场景对话,让学习者在轻松愉快之中跨入计算机编程的大门。
第 2 版新增内容
首先,我们来说说第 2 版中有哪些内容没有改变,那就是我们决定在第 2 版中继续使用 Python 2,而不是转换到 Python 3。我们会在第 1 章解释其中的原因。
下面是第 2 版与第 1 版的不同之处
增加了一些说明,解释 Python 2 和 Python 3 的区别。
第 12 章增加了一节关于 Python 字典的内容。
在第 20 章的 GUI 编程部分,我们将不再被支持的 PythonCard 换成了应用更广泛的 PyQt。PyQt 也用在第 22 章的 Hangman 程序和第 24 章的电子宠物程序中。
增加了第 25 章,用来详细解释第 10 章中的 Skier 程序。
增加了第 26 章,讲述在简单的对战游戏中,如何编写一个有人工智
本书以软件工程师出身的创业者的角度,全面介绍了创业公司该如何打造产品、实现技术和建立团队,既是为创业者打造的一份实用入门指南,又适合所有程序员系统认识IT行业。书中内容分为三部分——技术、产品和团队,详细描绘创业的原始景象,具体内容包括:创业点子、产品设计、数据与营销、技术栈的选择、整洁的代码、软件交付、创业文化、招兵买马,等等。
市面上介绍Java的书有很多,但专注于Java性能的并不多,能游刃有余地展示Java性能优化难点的更是凤毛麟角,本书即是其中之一。通过使用JVM和Java平台,以及Java语言和应用程序接口,本书详尽讲解了Java性能调优的相关知识,帮助读者深入理解Java平台性能的各个方面,最终使程序如虎添翼。
通过阅读本书,你可以:
运用四个基本原则最大程度地提升性能测试的效果
使用JDK中自带的工具收集Java应用的性能数据
理解JIT编译器的优缺点
调优JVM垃圾收集器以减少对程序的影响
学习管理堆内存和JVM原生内存的方法
了解如何最大程度地优化Java线程及同步的性能
解决Java EE和Java SE应用程序接口的性能问题
改善Java驱动的数据库应用程序的性能
每个应用程序都会产生数据,包括日志消息、度量指标、用户活动记录、响应消息等。如何移动数据,几乎变得与数据本身一样重要。如果你是架构师、开发者或者产品工程师,同时也是Apache Kafka新手,那么这本实践指南将会帮助你成为流式平台上处理实时数据的专家。
本书由出身于LinkedIn的Kafka核心作者和一线技术人员共同执笔,详细介绍了如何部署Kafka集群、开发可靠的基于事件驱动的微服务,以及基于Kafka平台构建可伸缩的流式应用程序。通过详尽示例,你将会了解到Kafka的设计原则、可靠性保证、关键API,以及复制协议、控制器和存储层等架构细节。
● 了解发布和订阅消息模型以及该模型如何被应用在大数据生态系统中
● 学习使用Kafka生产者和消费者来生成消息和读取消息
● 了解Kafka保证可靠性数据传递的模式和场景需求
● 使用Kafka构建数据管道和应用程序的最佳实践
● 在生产环境中管理Kafka,包括监控、调优和维护
● 了解Kafka的关键度量指标
● 探索Kafka如何成为流式处理利器
本书全面讲解C#并发编程技术,侧重于.NET平台上较新、较实用的方法。全书分为几大部分:首先介绍几种并发编程技术,包括异步编程、并行编程、TPL数据流、响应式编程;然后阐述一些重要的知识点,包括测试技巧、互操作、取消并发、函数式编程与OOP、同步、调度;最后介绍了几个实用技巧。全书共包含70多个有配套源码的实用方法,可用于服务器程序、桌面程序和移动应用的开发。
本书适合具有.NET基础,希望学习最新并发编程技术的开发人员阅读。
本书基于MIT 编程思维培训讲义写成,主要目标在于帮助读者掌握并熟练使用各种计算技术,具备用计算思维解决现实问题的能力。书中以Python 3 为例,介绍了对中等规模程序的系统性组织、编写、调试,帮助读者深入理解计算复杂度,还讲解了有用的算法和问题简化技术,并探讨各类计算工具的使用。与本书第1版相比,第2版全面改写了后半部分,且书中所有示例代码都从Python 2 换成了Python 3。
本书适合对编程知之甚少但想要使用计算方法解决问题的读者。
服务器端JavaScript?没错。Node.js是一个JavaScript服务器,支持可伸缩的高性能Web应用。借助异步I/O,这个服务器可以同时做很多事情,能满足聊天、游戏和实时统计等应用的需求。并且既然是JavaScript,那你就可以全栈使用一种语言。
本书向读者展示了如何构建产品级应用,对关键概念的介绍清晰明了,贴近实际的例子,涵盖从安装到部署的各个环节,是一部讲解与实践并重的优秀著作。通过学习本书,读者将深入异步编程、数据存储、输出模板、读写文件系统,掌握创建TCP/IP服务器和命令行工具等非HTTP程序的技术。本书同样非常适合熟悉Rails、Django或PHP开发的读者阅读学习。
本书主要内容:
Node.js及其扩展的安装配置;
全面理解异步编程和事件循环;
学会开发微博、聊天和游戏等热门应用。
在第1版的基础之上,第2版介绍了Scala的最新语言特性,新添了模式匹配、推导式以及高级函数式编程等知识。通过本书,读者还能学会如何使用Scala命令行工具、第三方工具、库以及适用于编辑器和IDE的Scala相关插件。本书既适合Scala初学者入门,也适合经验丰富的Scala开发者进阶参考。
利用Scala简洁灵活的语法,提高编程效率。
深入学习函数式编程的基本技能和高级技能。
使用Scala函数式组合器,构造“杀手级”大数据应用。
使用Scala提供的trait类型实现mixin组合,使用模式匹配实现数据抽取功能。
学习Scala语言中复杂的类型系统,包括了函数式编程和面向对象编程中的概念。
深入学习包括Akka的Scala并发工具。
掌握如何开发丰富的领域特定语言。
掌握构建可扩展、健壮的Scala应用软件的良好设计技巧。
作为一本强调数据科学的图书,本书中出现的代码示例均保存在公开的Github仓库中。通过立即可启动的虚拟机,这些示例代码可以很容易地获得。该虚拟机中预装了一组IPython Notebook,为我们提供方便的交互式学习环境。
由谭浩强教授著、清华大学出版社出版的《C程序设计》经过近三十年一千多万读者的实践检验,被公认为学习C语言程序设计的教材。根据C语言的发展和计算机教学的需要,作者在《C程序设计(第四版)》的基础上进行了修订,使内容更加完善,更易于理解,更加切合教学需要。本书按照C语言的新标准C 99进行介绍,所有程序都符合C 99的规定,使编写程序更加规范;对C语言和程序设计的基本概念和要点讲解透彻、全面而深入;按照作者提出的“提出问题—解决问题—归纳分析”三部曲进行教学和组织教材;本书的每个例题都按以下几个步骤展开:提出任务—解题思路—编写程序—运行程序—程序分析—有关说明。符合读者认知规律,容易入门与提高。
本书内容先进,体系合理,概念清晰,讲解详尽,降低台阶,分散难点,例题丰富,深入浅出,文字流畅,通俗易懂,是初学者学习C语言程序设计的理想教材,既可作为高等学校各专业的正式教材,也适合读者自学。本书还配有辅助教材《C程序设计(第五版)学习辅导》。
在当前复杂的大规模系统场景下,好的应用程序性能比以往任何时候都更重要,但是获得这样的性能也更加困难。Linux由于其开源特性,已经具有一系列优化工具,只是这些工具散布在互联网上,工具的相关文档也很少,只有少数专家知道如何综合使用这些工具来解决实际问题。基于此,菲利普G.伊佐特著贺莲、龚奕利译的《Linux性能优化/Linux\Unix技术丛书》介绍了当前常用的Linux优化工具,展示了它们是如何行之有效地提升整体应用程序性能的。通过真实案例,向开发人员演示了怎样定位影响性能的源代码行,使系统管理人员和应用程序开发人员能够迅速深入系统瓶颈,实施解决方案。
通过阅读《Linux/Unix技术丛书:Linux性能优化》,你能够:
在不熟悉底层系统的情况下,快速识别系统瓶颈。
针对具体问题,找到并选择正确的性能工具。
深入理解系统性能及优化问题。
掌握优化系统CPU、用户CPU、内存、网络I/O和磁盘I/O的方法,并了解它们之间的关系。
掌握修复计算密集型(CPU-bound)、延迟敏感和I/O密集型(I/O—bound)的应用程序的方法,跟随案例轻松地配置自己的环境。
安装并使用Linux系统的高级全系统分析器——oprofile。
无论读者的技术背景如何,性能优化的新手都能通过学习《Linux/Unix技术丛书:Linux性能优化》,掌握一系列清晰实用的优化原则和策略,并获得丰富的Linux知识,解决Linux系统和应用程序的优化问题,增加商业价值并提高用户满意度。
本书将介绍如何使用Python编写网络爬虫程序获取互联网上的大数据。本书包括三部分内容:基础部分、进阶部分和项目实践。基础部分(第1~6章)主要介绍爬虫的三个步骤(获取网页、解析网页和存储数据),并通过诸多示例的讲解,让读者从基础内容开始系统性地学习爬虫技术,并在实践中提升Python爬虫水平。进阶部分(第7~12章)包括多线程的并发和并行爬虫、分布式爬虫、更换IP等,帮助读者进一步提升爬虫水平。项目实践部分(第13~16章)使用本书介绍的爬虫技术对几个真实的网站进行抓取,让读者能在读完本书后根据自己的需求写出爬虫程序。无论是否有编程基础,只要是对爬虫技术感兴趣的读者,本书就能带领读者从入门到进阶,再到实战,一步步了解爬虫,终写出自己的爬虫程序。
本书是专为有经验的C++软件的开发者、系统设计师、软件质量保证人员编写的。适合从事大型软件开发工作(如数据库、操作系统、编译程序和框架)的人员阅读。本书将高层设计概念与特定的C++编程细节结合起来,满足下面两个要求:1、一本面向对象设计的书,尤其侧重于C++编程语言实现方面。2、一本c++程序设计的书,描述如何使用C++编程语言来开发非常大型的系统。
作为认知科学的延伸,数据科学一方面应该越来越引起广大大数据工作者的重视,另一方面也要撩开自己的神秘面纱,以最为亲民的姿态和每位大数据工作者成为亲密无间的战友,为用科学的思维方式进行工作做好理论准备。《数据科学家养成手册》从众多先贤及科学家的轶事讲起,以逐步归纳和递进的脉络总结出科学及数据科学所应关注的要点,然后在生产的各个环节中对这些要点逐一进行讨论与落实,从更高、更广的视角回看科学及数据科学在各个生产环节的缩影。《数据科学家养成手册》并不以高深的数学理论研究作为目的,也不以某一种计算机语言编程作为主线脉络,而是在一个个看似孤立的故事与工程中不断拾遗,并试着从中悟出一些道理。
《数据科学家养成手册》适合大数据从业人员和对大数据相关知识感兴趣的人,初级和中级程序员、架构师及希望通过对数据的感知改进工作的人,产品经理、运营经理、数据分析师、数据库开发工程师等对数据分析工作敏感的人,以及所有对数据科学感兴趣并希望逐步深入了解数据科学知识体系的人阅读。
机器学习正在迅速改变我们的世界。我们几乎每天都会读到机器学习如何改变日常的生活。如果你在淘宝或者京东这样的电子商务网站购买商品,或者在爱奇艺或是腾讯视频这样的视频网站观看节目,甚至只是进行一次百度搜索,就已经触碰到了机器学习的应用。使用这些服务的用户会产生数据,这些数据会被收集,在进行预处理之后用来训练模型,而模型会通过这些数据来提供更好的用户体验。此外,目前还有很多使用机器学习技术的产品或服务即将在我们的生活当中普及,如能够解放双手的无人驾驶汽车、聪明伶俐的智能家居产品、善解人意的导购机器人等。可以说要想深入机器学习的应用开发当中,现在就是一个非常理想的时机。
本书内容涵盖了有监督学习、无监督学习、模型优化、自然语言处理等机器学习领域所必须掌握的知识,从内容结构上非常注重知识的实用性和可操作性。全书采用由浅入深、循序渐进的讲授方式,完全遵循和尊重初学者对机器学习知识的认知规律。本书适合有一定程序设计语言和算法基础的读者学习使用。
程序员是一种逻辑动物,只有当他们理解求职到底是一种什么行为以后,才能做出有意义的行动。
所以本书不讲职场、不灌鸡汤,从价值论开始,以独创的职业画布工具展开,从四大象限、九大方面为你讲解。
有果更有因、有理更有据,分析数据、简历模板、书写工具、技能树图一应俱全,实为程序员们应该人手一本的职业规划书。
〔简介〕
本书是一部独具特色的面向对象技术著作。书中结合代码示例生动透彻地讲述了面向对象思想的精髓,让读者真正学会以对象方式进行思考。本书共15章,在结构上可以分为两部分:第一部分包括第1~10章,探讨面向对象的基本概念,比如封装、多态、继承等;第二部分包括第11~15章,专注于将这些概念应用于一些通用的面向对象技术中,并结合了一些实用的应用程序。
本书内容精炼,示例简单明了,适合各层次面向对象开发人员阅读,也是高校相关专业面向对象课程的理想教学参考书。
〔译序〕
很多IT从业人员进入这个行业都是从学习一门编程语言开始的。对于编程,我们往往过于关注语言的语法细节,反而忽略了其背后的设计理念。面向对象的思考过程就是一个非常优秀的设计理念。它可以独立于语言存在。如果你熟练掌握了面向对象的思考过程,那么就可以轻松地在不同的面向对象的语言之间切换。
本书透彻地阐述了面向对象这一概念。作者Matt在书中反复强调学习面向对象的思考过程优于学习任何编程语言或工具。事实上,他也是这么做的。Matt阐述了面向对象的三要素:继承、封装、多态,并且自己加上了第四个要素:组合。关于组合,Matt不惜篇幅做了大量的讲解,并且列举了很多通俗易懂的例子,这也是本书的一大特色。
Matt也纠正了人们的一些普遍误解,比如面向对象的范式与面向过程的范式并不是完全对立的关系。而且在应用面向对象的设计和开发时,Matt也讲解了不少如何与遗留系统集成的技巧。同时,Matt也简要介绍了UML这个建模利器。为了不混淆重点,他把介绍UML的章节放置在很靠后的位置。因为他明白,先了解面向对象的各项概念是最重要的。
我虽然拥有多年的从业经验,但是再看本书时仍然有不少收获。其实自从我接触了函数式编程,就渐渐成为函数式编程的拥趸。我会时不时地“鼓吹”函数式编程范式的好处,顺便“贬低”一下面向对象编程。但同时我也有个疑问,既然函数式编程这么好,为什么这几年的发展只能算是波澜不惊,而没有掀起大风浪呢?读了本书之后,我似乎找到了答案。首先面向对象的思考过程更加符合大家对世界的直观感受,毕竟不是每个人都是数学家。函数式编程可以简化很多问题,但它并不能简化所有问题。其次是面向对象的编程范式和函数式编程的范式并不是完全对立的,正如作者讲过,面向过程的编程范式和面向对象的编程范式也不是完全对立的。比如目前流行的一些语言(Scala、Go等)都具备函数式的特点,也兼具面向对象的特点(只不过它们的面向对象的机制与传统的方式有所不同)。所以无论你喜欢哪种编程范式,了解彼此的不同之处是至关重要的。而本书则是了解面向对象范式的优秀书籍。
本书已经更新到了第4版。从本书长达10多年的跨度来看,面向对象范式经久不衰。Matt也适时地在新版中加入了一些新的主题,比如可移植数据、分布式系统、Web服务等。Matt不仅阐述了这些技术,还讲述了它们的前世今生。这样可以帮助读者更加充分地了解技术的演化之路。
无论你是否有面向对象编程的经验,本书都适合你作为面向对象思考的旅程开端。最后,希望本书能给大家带来超凡的阅读体验。
《JavaScript异步编程:设计快速响应的网络应用》讲述基本的异步处理技巧,包括PubSub、事件模式、Promises等,通过这些技巧,可以更好地应对大型Web应用程序的复杂性,交付快速响应的代码。理解了Javascript的异步模式可以让读者写出结构更合理、性能更出色、维护更方便的Javascript程序。
《JavaScript异步编程:设计快速响应的网络应用》适合JavaScript开发人员阅读。
本书包括Python程序设计的方方面面:首先从Python的安装开始,随后介绍了Python的基础知识和基本概念,包括列表、元组、字符串、字典以及各种语句;然后循序渐进地介绍了一些相对高级的主题,包括抽象、异常、魔法方法、属性、迭代器;此后探讨了如何将Python与数据库、网络、C语言等工具结合使用,从而发挥出Python的强大功能,同时介绍了Python程序测试、打包、发布等知识;最后,作者结合前面讲述的内容,按照实际项目开发的步骤向读者介绍了10个具有实际意义的Python项目的开发过程。
本书是一本C++代码优化指南。作者精选了他在近30年编程生涯中最频繁使用的技术和能够带来最大性能提升效果的技术,旨在让读者在提升C++程序的同时,思考软件优化之美。书中主要内容有:代码优化的意义和总原则,与优化有关的计算机硬件背景知识,能行分析方法及工具,优化字符串的使用,算法、查找和排序等等。
本书旨在帮你掌握Facebook的开源技术React,迅速建立富Web应用,构建组件并将其组织成可维护的大型应用程序。
解开Web应用开发之谜,从了解React基本原理开始。
* 设置React并编写第一个Hello World应用
* 创建并使用自定义React组件以及通用DOM组件
* 构建一个可以编辑、排序、搜索和导出内容的数据表格组件
* 使用JSX语法扩展作为调用函数的替代选择
* 设置一个帮你集中注意力于React上的简单构建过程
* 构建一个可以将数据存储在客户端的完整自定义应用
* 在应用规模增长时使用ESLint、Flow和Jest等工具检查并测试代码
* 使用Flux管理组件间的通信
本书结构明晰,示例丰富详实,是全面实用的Docker入门教程。作者全面介绍了Docker相关各种工具和平台,涵盖网络、镜像管理、配置以及包括Kubernetes和Mesos在内的编排和调度生态系统,对私有云和公有云上部署的应用程序都给出了丰富实用的解决方案和示例。本书适合运维人员、系统管理员和开发人员阅读。
本书介绍如何将各种TDD 最佳实践应用于Java 开发,主要内容包括:用Java 语言进行TDD 会用到的各种工具和框架,所需环境搭建;通过实际应用程序,展示TDD 优点及开发中应注意的主要问题;TDD是如何通过模拟内部和外部依赖来提升速度的;如何重构既有应用程序;详细介绍所有TDD 最佳实践。
本书倡导在计算机迅速发展、技术不断革新的今天,回归到计算机的基础知识上。通过探究计算机的本质,提升工程师对计算机的兴趣,在面对复杂的最新技术时,能够迅速掌握其要点并灵活运用。
本书以图配文,以计算机的三大原则为开端、相继介绍了计算机的结构、手工汇编、程序流程、算法、数据结构、面向对象编程、数据库、TCP/IP 网络、数据加密、XML、计算机系统开发以及SE 的相关知识。
图文并茂,通俗易懂,非常适合计算机爱好者和相关从业人员阅读。
《白话强化学习与PyTorch》以“平民”的起点,从“零”开始,基于PyTorch框架,介绍深度学习和强化学习的技术与技巧,逐层铺垫,营造良好的带入感和亲近感,把学习曲线拉平,使得没有学过微积分等高级理论的程序员一样能够读得懂、学得会。同时,本书配合漫画插图来调节阅读气氛,并对每个原理都进行了对比讲解和实例说明。
《白话强化学习与PyTorch》适合对深度学习和强化学习感兴趣的技术人员、希望对深度学习和强化学习进行入门了解的技术人员及深度学习和强化学习领域的初级从业人员阅读。
《跟老齐学Python:从入门到精通》是面向编程零基础读者的Python入门教程,内容涵盖了Python的基础知识和初步应用。以比较轻快的风格,向零基础的学习者介绍一门时下比较流行、并且用途比较广泛的编程语言,所以,《跟老齐学Python:从入门到精通》读起来不晦涩,并且在其中穿插了很多貌似与Python编程无关,但与学习者未来程序员职业生涯有关的内容。
《跟老齐学Python:从入门到精通》特别强调了学习和使用Python的基本方法,学习一种高级语言,掌握其各种规则是必要的,但学会“自省”方法更重要,这也是《跟老齐学Python:从入门到精通》所试图达到的“授人以鱼不如授人以渔”的目的。
《跟老齐学Python:从入门到精通》是面向初学者的读物,不是为开发者提供的开发手册,所以,它不是“又适用于中高级读者”的读物。
在现今的互联网公司中,产品线绵延复杂,安全防御体系无时无刻不在应对新的挑战。哪怕是拥有丰富工作经验的安全从业者,在面对层出不穷的攻击手段和海量日志数据时也会望洋兴叹。机器学习、深度学习是这些问题天然契合的解决方案,在数据量以指数级不断增长的未来,甚至有可能是唯一的出路。当AI遇到安全时,如何快速进化,本书给出了实战方案。 本书是《Web安全之机器学习入门》之后又一作品。本书首先介绍如何打造自己的深度学习工具箱,包括TensorFlow、TFLearn等深度学习库的安装以及使用方法。接着介绍卷积神经网络和循环神经网络这两大深度学习算法的基础知识。特别着重介绍在生产环境搭建深度学习平台需要使用的开源组件,包括Logstash、Kafka、Storm、Spark等。随后讲解了11个使用机器学习技术解决实际安全问题的案例,包括验证码识别、垃圾邮件识别、负面评论识别、骚扰短信识别、Linux后门检测、恶意操作行为检测、Webshell检测、智能扫描、DGA域名检测、恶意程序分类识别、反信用卡欺诈。本书针对每一个算法都给出了具体案例,理论结合实际,讲解清晰,文笔幽默,适合有信息安全基础知识的网络开发与运维技术人员参考,主要内容包括:
- 如何基于TensorFlow和TFLearn打造自己的深度学习工具箱。
- 如何基于Logstash、Kafka、Storm、Spark等打造深度学习的生产环境。
- 如何在MNIST数据集上实现验证码识别。
- 如何在安然数据集上实现垃圾邮件检测。
- 如何在IMDB数据集上实现负面评论识别。
- 如何在SMSSpamCollection数据集上实现骚扰短信识别。
- 如何在ADFA-LD数据集上实现Linux后门检测。
- 如何在SEA数据集上实现恶意操作行为检测。
- 如何在MIST数据集上实现恶意程序分类识别。
- 如何在Kaggle公开的数据集上实现信用卡欺诈检测。
- 如何在GitHub公开的数据集上实现Webshell检测,智能扫描和DGA域名检测。
我们都有一个共同的梦想——成为更棒的程序员,但是如何做?如何学习和精进自己的技术?如何做业务分析和架构设计?如何做技术管理?本书就广大程序员都很关注的问题提供一些思路和方法。
《程序员的三门课:技术精进、架构修炼、管理探秘》内容分为三大篇:第1篇介绍程序员的技能成长路径,介绍如何通过学习来加速成长,并讲解非常重要的业务分析和设计知识;第2篇详细介绍了架构修炼中的必备架构思维模式、架构设计过程,还通过真实案例剖析了架构设计的核心要素及关注点,以及如何通过架构设计来把控质量和风险;第3篇总结了做技术管理的诀窍,揭秘如何从准备做技术管理到实现自我管理再到实现团队管理。
《程序员的三门课:技术精进、架构修炼、管理探秘》适用于即将或者正在从事IT相关开发工作,却不知如何提升自己,希望通过适当的学习方法精进技术的初级程序员;也适用于具备一定架构设计经验,想进一步系统化提升架构设计能力的中级程序员;以及有一定技术积累,想从事技术管理却不知如何着手的高级程序员。
想深入应用手中的数据?还是想在上千份文件上重复同样的分析过程?没有编程经验的非程序员们如何能在最短的时间内学会用当今炙手可热的Python语言进行数据分析?
来自Facebook的数据专家Clinton Brownley可以帮您解决上述问题。在他的这本书里,读者将能掌握基本Python编程方法,学会编写出处理电子表格和数据库中的数据的脚本,并了解使用Python模块来解析文件、分组数据和生成统计量的方法。
学习基础语法,创建并运行自己的Python脚本
读取和解析CSV文件
读取多个Excel工作表和工作簿
执行数据库操作
搜索特定记录、分组数据和解析文本文件
建立统计图并绘图
生成描述性统计量并估计回归模型和分类模型
在Windows和Mac环境下按计划自动运行脚本
本书以Spring应用程序开发为中心,全面讲解如何运用Spring Boot提高效率,使应用程序的开发和管理更加轻松有趣。作者行文亲切流畅,以大量示例讲解了Spring Boot在各类情境中的应用,内容涵盖起步依赖、Spring Boot CLI、Groovy、Grails、Actuator。对于Spring Boot开发应用中较为繁琐的内容,附录奉上整理完毕的表格,一目了然,方便读者查阅。
本书共分8章。
首先讲解调试策略(第1章)、调试方法(第2章)以及调试时所用的工具与技巧(第3章),这些知识使我们能够应对各种软件故障及系统故障。
接下来讨论在调试工作的各个阶段所用到的具体技巧,也就是在使用调试器(第4章)、编写程序(第5章)、编译软件(第6章)以及运行系统(第7章)时所用到的调试技巧。
与多线程和并发有关的bug是很难寻找的,所以本书后专门用一章(第8章)来讲解特定的调试工具及调试技术,使大家能够找出这些bug。
在如今这个处处以数据驱动的世界中,机器学习正变得越来越大众化。它已经被广泛地应用于不同领域,如搜索引擎、机器人、无人驾驶汽车等。本书首先通过实用的案例介绍机器学习的基础知识,然后介绍一些稍微复杂的机器学习算法,例如支持向量机、极端随机森林、隐马尔可夫模型、条件随机场、深度神经网络,等等。
本书是为想用机器学习算法开发应用程序的Python 程序员准备的。它适合Python 初学者阅读,不过熟悉Python 编程方法对体验示例代码大有裨益。
本书以“PHP与MySQL高性能应用开发”为主题,选取了其中最为核心的最佳实践进行讲解,是一个有十余年PHP开发经验的老程序员的经验总结。首先从语言层面总结了PHP编程中的一些疑点和难点,然后重点讲解了PHP的缓冲、网络编程、缓存技术、命令行、调试、测试、用户验证策略、代码重构等知识;然后重点讲解了MySQL的驱动、存储引擎、性能优化、memcached、Sphinx全文搜索引擎等重要主题。
本书是Spring Boot领域的经典著作,从技术、实践和原理3个维度对Spring Boot进行了系统且深入的讲解。作者是Spring Boot领域的资深专家,有超过15年的IT行业从业经验。
技术维度
第一部分(1~5章),针对性地介绍了Spring Boot入门、数据库的使用和访问性能提升、界面设计、安全设计等重要技术知识,以实用性为主,旨在帮助读者快速掌握Spring Boot开发方法和精髓,尽快融入生产实践中。
实践维度
第二部分(6~9章),用生产环境中的实际案例讲解了如何使用Spring Boot开发分布式应用和云应用,以及如何用微服务构建高可用的服务平台,实践性极强。
原理维度
第三部分(10~12章),从源码层面着重分析了Spring Boot的程序加载、自动配置、数据管理、Spring Cloud的配置管理、发现服务和负载均衡服务等核心功能的实现原理,旨在帮助读者能更深刻地理解Spring Boot开发,掌握其精髓。
《S7-300/400PLC基础与案例精选》从基础和实用出发,涵盖的主要内容包括S7-300/400 PLC、变频器和组态软件。全书分两个部分:第一部分为入门学习,主要介绍S7-300/400 PLC的硬件和接线、STEP-7软件的使用、PLC的编程语言、编程方法与调试;第二部分为实例应用,包括PLC的通信、PLC在过程控制的应用、PLC在变频调速中的应用和上位机对PLC的监控。
《S7-300/400PLC基础与案例精选》内容丰富,重点突出,强调知识的实用性,几乎每章中都配有大量实用的例题,便于读者模仿学习,另外每章配有习题供读者练习。大部分实例都有详细的软件、硬件配置清单,并配有接线图和程序。
本书系统地介绍了嵌入式操作系统内核的原理、设计和实现。首先通过大量图表详细介绍了嵌入式操作系统的基本概念和原理。然后通过对各个内核功能的分析、设计和实现来加深读者对相关知识的理解。最后通过实际的应用程序来演示如何使用这些功能。从原理、设计、实现和使用的角度来阐明嵌入式操作系统的功能。本书可以作为高校本科生或非计算机专业的研究生嵌入式操作系统的教材,也可作为从事嵌入式系统开发工作的研究生、科研人员和企业开发人员的参考用书。
本书主要分为三个部分,基础篇、建模应用篇和Rattle篇。基础篇(第1~5章)介绍了有关R语言的安装与使用、R语言中的数据结构、常用操作和绘图功能等基础功能。建模应用篇(第6~10章)主要介绍了目前在数据挖掘中的常用的建模方法在R语言中的实现函数,并对输出结果进行了解释,有助于读者快速掌握应用R语言进行分析挖掘建模的方法。Rattle篇(第11章)介绍了一个R语言的图形界面工具。图书配套提供了程序代码及数据,读者可通过上机实验,快速掌握书中所介绍的R语言的使用方法。
本书以构建一个仿Instagram项目的实践案例贯穿全书,将所有知识点融入到实践当中,使大家真正理解和掌握如何通过XcodeSDK和Swift3.0语言来开发iOS应用程序。除了书中所涉及的程序代码以外,本书还配套推出了相应的UI设计视频,并通过二维码的形式供广大读者观看。全书共分37章。第1~10章的内容实现的是Instagram基本的功能。第11~18章实现个人用户和访客页面的相关功能。第19~25章实现的是个人配置页面及发布页面的功能。第26~32章实现了帖子评论功能。第33~37章实现了Instagram的集合页面,搜索及通知功能。各个部分的功能实现都基于由浅入深,循序渐进的原则,让广大读者在实践操作的过程中不知不觉的学习新方法,掌握新技能。
世界知名iOS开发专家详细讲解创建优秀iOS移动应用程序的技术细节,系统阐释如何高效开发iOS程序。
用直观的代码演示当前流行的编程技巧,为iOS开发者提供之有效的解决方案。
HipHop虚拟机(HHVM)和Hack语言这两项新的技术已经成功应用在Facebook网站上。那么我们又如何能从中获益呢?通过本书的学习,来自Facebook“Hack与HHVM”团队的核心成员Owen Yamauchi,将带你领略这久经考验的开源工具的魅力。
你将领略到Hack语言所特有的静态类型检查及其他新特性。正是这些特性将Hack和PHP有效区分。同时,你还可以学到HHVM的建立、配置、部署以及日常监测。对于已有PHP或其他编程语言开发经验的人来说,这是比较容易学习和掌握的。本书还将演示如何在已有的PHP项目或者新的类似项目上使用这些工具。
● 在保留PHP灵活快速开发能力的前提下,学习Hack语言如何提供静态类型检查功能。
● 学会利用Hack语言提供的新特性,写出类型更加安全的代码。
● 探索HHVM——一个全面兼容PHP并且实时编译的运行环境。
● 深入了解Hack语言的集合类型、异步函数,以及PHP的XHP
扩展。
● 了解Hack语言的设计原理,包括为什么它忽略了一些PHP特性。
● 使用Hack语言处理多任务,并安全地生成HTML。
● 学习使用Hack编程开发的相关工具,包括如何从PHP迁移到Hack语言。
“Hack语言的显著成功之处,不仅在于它优雅而具有的强有力的变量系统和并发模型,还在于它提供给现有的PHP程序一个‘更加具有想象空间并且可执行’的迭代迁移方案。Yamauchi对Hack语言及其运行环境(HHVM)的研究成果既清晰又专业。强烈推荐!”
——Ori Livneh
Wikimedia Foundation
首席性能工程师
【编辑推荐】
资深数据库管理专家30余年经验结晶,全面阐释数据库管理的各种技术问题与解决方法;
实战性强,包含大量典型数据管理分析经验,为快速掌握并灵活运用数据库管理技术提供最佳指导。
【名家推荐】
我已经不记得多少次向人推荐这本书了。这本书写得好,重要的是,它涵盖了成为一名高效DBA所需要知道的所有方面。
——Scott Ambler,敏捷数据方法的领导者
这是一本精心编写和组织的数据库管理实践的指南。不像一般的数据库理论或关系数据库理论书籍,这本书更直接地侧重于当今数据库专业人员进行数据库管理的理论与实践,并且没有太多迎合任何特定的产品实施。因此,数据库管理非常适合那些有兴趣研究DBA或类似但更具体的角色(如数据建模或数据库性能分析师)的职责的人。
——Sal Ricciardi,微软项目经理
Craig的特点之一是他的写作清晰、易读。任何技术类书籍的主要目的是在作者和读者之间传递信息,这一点Craig做得很棒。他希望读者学习,并且完整表达了自己的想法。
——Chris Foot,远程DBA专家和Oracle ACE
本书涉及DBA任务和职责的完整且全面的清单,从创建数据库环境到数据仓库管理,以及中间可能会发生的一切。
——Mike Tarrani,计算机顾问
我认为,每一名业务经理和IT经理都应该拥有这样一本书。
——Dan Hotka,独立顾问和Oracle ACE
Craig Mullins的这本书见解深刻。Mullins以卓越的洞察力清晰描述了现代企业中数据管理员和数据库管理员的角色以及他们的职责。
——Michael Tozer,作家及前美国海军军官
【内容简介】
本书是资深数据库管理专家30余年经验的结晶,通过大量的典型数据管理分析经验,全面而系统地讲解数据库管理的各种技术问题与解决方法,内容全面而深入,包括创建数据库环境、数据建模、规范化、设计、性能、数据完整性、合规性、治理、安全、备份/恢复、灾难规划、数据和存储管理、数据移动/分布、数据仓库、连接、元数据、工具等。
全书共24章:第1~2章介绍如何建立可用的企业数据库环境;第3~4章阐释如何制定合理的数据模型和数据库设计,并将其应用于企业生产;第5~6章介绍应用创新的数据库功能,如时态数据和多级安全,以及部署运行良好并能保护数据完整性的应用程序;第7~8章介绍管理所有形式的数据库相关的变更和数据的可用性问题;第9~12章涉及系统优化性能和可用性方面的问题;第13~15章涉及部署现代数据安全程序和切实可行的数据管理策略;第16~17章介绍数据库备份/恢复和业务连续性规划;第18章介绍数据和存储设备的管理;第19章介绍一些用于将数据从一个位置移动到另一个位置并且在多个位置对数据提供支持的主要工具;第20~22章介绍数据仓库、数据集市和其他分析处理系统的管理;第23章介绍如何选用DBA工具,以节约时间和成本。第24章介绍DBA经验法则,帮助企业招聘顶级DBA人才,创建DBA职位描述。
《百度智能小程序:AI赋能新机遇》是2019年9月清华大学出版社出版的图书,作者是罗曼。
《30天通过全国计算机等级考试:三级网络技术》由希赛教育等考学院组织编写,内容紧扣教育部考试中心新推出的考试大纲,通过对历年试题进行科学分析、研究、总结、提炼、编撰而成。《30天通过全国计算机等级考试:三级网络技术》主要内容包括应试指南、考点分析与同步训练、5套笔试全真模拟试卷及解析、机试指导、5套机试全真模拟试题及解析、2009年上半年、2009年下半年、2010年上半年、2010年下半年的真题解析。
基于历年试题,利用统计分析的方法,科学做出结论并预测以后的出题动向,是《30天通过全国计算机等级考试:三级网络技术》的一大特色。《30天通过全国计算机等级考试:三级网络技术》可以保证既不漏掉考试必需的知识点,又不加重考生备考负担,使考生轻松、愉快地掌握知识点并领悟三级网络技术考试的真谛。真可谓是“一书在手,过关无忧”。
机试方面,经过深入分析上机考试题库内容,《30天通过全国计算机等级考试:三级网络技术》精心组织了5套全真模拟试题,试题涉及历次考试内容的各个方面。
《30天通过全国计算机等级考试:三级网络技术》可以作为参加全国计算机等级考试——二级Visual FoxPro数据库程序设计考试的复习用书,也可作为学习数据库程序设计的参考书。
《计算机视觉与深度学习实战:以MATLAB、Python为工具》详细讲解了36个计算机视觉与深度学习实战案例(含可运行程序),涉及雾霾去噪、答题卡自动阅卷、肺部图像分割、小波数字水印、图像检索、人脸二维码识别、车牌定位及识别、霍夫曼图像压缩、手写数字识别、英文字符文本识别、眼前节组织提取、全景图像拼接、小波图像融合、基于语音识别的音频信号模拟灯控、路面裂缝检测识别、视频运动估计追踪、Simulink图像处理、胸片及肝脏分割、基于深度学习的汽车目标检测、基于计算机视觉的自动驾驶应用、基于深度学习的视觉场景识别、基于深度特征的以图搜画、基于CNN的字符识别、基于CNN的物体识别、基于CNN的图像矫正、基于LSTM的时间序列分析、基于深度学习的以图搜图技术、基于YOLO的智能交通目标检测等多项重要技术及应用,涵盖了数字图像处理中几乎所有的基本模块,并延伸到了深度学习理论及其应用方面。工欲善其事,必先利其器,本书对每个数字图像处理的知识点都提供了丰富、生动的案例素材,并以MATLAB、Python为工具详细讲解了实验的核心程序。通过对这些程序的阅读、理解和仿真运行,读者可以更加深刻地理解图像处理的内容,并且更加熟练地掌握计算机视觉及深度学习在不同实际领域中的用法。
《计算机视觉与深度学习实战:以MATLAB、Python为工具》以案例为基础,结构布局紧凑,内容深入浅出,实验简捷高效,适合计算机、信号通信和自动化等相关专业的教师、本科生、研究生,以及广大从事数字图像处理的工程研发人员阅读参考。
相信很多同行和笔者以前一样,阅读过很多操作系统理论方面的书籍,感觉它们所讲述的理论大同小异且比较容易理解,但是真要我们自己去动手开发和实现操作系统时,我们可能连操作系统的第一行代码该怎么写都不知道。为什久会这样?
因为操作系统是硬件平台上的第—层软件,若不了解硬件平台的细节,是不能实现操作系统的,所以本书一开始就选择了一款常用的硬件平台,并对其进行了详细描述,重点介绍了硬件平台上的实时时钟、定时器、串口、中断控制器、内存芯片、flash芯片、CPU、MMU等,然后介绍操作系统架构设计和开发环境与开发工具,尤其开发工具,详细了解开发工具会大大方便后面的开发工作并解决一些困惑,最后介绍了操作系统的初始化、HAL、内存管理、中断管理、设备管理、进程管理、文件系统、系统调用接口、应用程序库。对这些组件的介绍都是先明确这个组件要完成什久功能,达到什么要求。接着详述这个组件必须要关注的硬件的细节,然后把我们的想法和设计归纳成数据结构。最后编写完成这些功能的代码。
这些内容将奠定本书田晏作系统实践领域中里程碑式的地位。
《物联网实验教程》从实验的角度介绍物联网相关技术,针对物联网的感知与标识、通信与网络、接入与处理3个不同层面的技术,精心设计了21项实验,并提供了内容丰富的配套光盘(包括参考文档、实验源程序、实验环境及配置文档、实验手册等其他实验相关资料)《物联网实验教程》结合智能医疗、智能物流、环境监测等领域的应用场景,介绍了5个演示实验和7个应用系统,为读者进一步开发物联网应用解决方案提供思路。最后,针对物联网教学及研究实验室建设的实际需求,特别是不同专业或行业背景。提供了一些具体的参考建议,希望能够对广大读者从事相关工作起到借鉴作用。
《物联网实验教程》既可作为高等学校物联网工程、传感网工程等相关专业,以及无线通信、网络技术、电子、微电子、单片机、嵌入式系统等课程的实验教材,也可作为物联网应用系统工程开发人员的入门指导书。
本书系统介绍如何通过详尽的信息安全知识,保护无线系统免受瘫痪式的攻击,全面更新和囊括了当今已广泛使用和新兴的无线技术,揭示攻击者如何利用既有的或者定制的黑客工具来锁定、渗透并攻击系统,帮助读者更好地维护无线网络安全。全书共分为三部分,一部分专门讨论针对Wi-Fi的破解技术,第二部分主要介绍蓝牙网络的破解,第三部分介绍的是除了Wi-Fi协议和蓝牙协议之外,其他无所不在的网络无线技术及其所支持的网络。
装备一套针对无线网络攻击的利器工具包,熟练掌握黑客的武器。
有效地扫描Wi-Fi网络,列举和评估该网络上的所有客户端设备。
使用先进的无线攻击工具,包括:集众长于一身的Wifite工具、“框架类”的程序Scapy工具、WPA-PSK认证进行暴力破解Pyrit工具、开源的漏洞检测Metasploit工具、专攻ZigBee网络的KillerBee工具,以及黑客必备的Aircrack-ng工具套件。
通过“ARP欺骗”和数据包转发的Ettercap工具和“Wi-Fi小菠萝”破解并发起基于客户端的攻击。
使用GSM信号探测器Airprobe工具、GSM数据包捕获和解密工具Kraken、GSM加密数据破解工具Pytacle和实施“中间人”攻击的YateBTS工具入侵手机网络。
在目前广泛使用的基于WPA和WPA2认证加密的个人或企业安全方案的网络中,寻找和突破漏洞。
使用“骗子”AP接入点,通过虚假的软件升级传送远程访问控制软件。
在“传统蓝牙模式”和“低功耗蓝牙模式”的网络中,侦测传送的数据包。
通过“软件无线收发”工具捕获和评估专有的无线技术。
在使用ZigBee和Z-Wave网络技术连接的智能家居和工业办公室网络中,探索网络中存在的漏洞。
使用一台已被攻陷的Windows操作系统主机,使用内置的工具,对一个远程无线网络实施攻击。
《零点起步:嵌入式Linux编程入门与开发实例》共分15章,分别介绍了嵌入式系统基础、文本编辑器的使用、构建嵌入式Linux开发环境、Linux常用命令、编译与调试、图形界面应用程序开发、嵌入式文件系统与存储技术、Linux设备驱动程序开发、进程控制、线程控制、嵌入式车载终端的设计、嵌入式BOA服务器的构建、嵌入式VNC远程控制的实现、ARM Linux指纹门禁系统和基于ARM Linux的家庭安全监控系统设计。《零点起步:嵌入式Linux编程入门与开发实例》不仅有详细的理论基础知识介绍,还有大量的开发案例以供参考,可读性和实用性强,适合于没有或者缺乏嵌入式Linux程序设计经验的初学者作为嵌入式Linux C语言开发的自学教材,同时也适合于已掌握C语言基础并想学习嵌入式开发的读者。《零点起步:嵌入式Linux编程入门与开发实例》可作为各类学校的教学用书,也可作为工程技术人员的参考书。
本站基于Calibre构建,感谢开源界的力量。所有资源搜集于互联网,如有侵权请邮件联系。
Github | Docker | Library | Project
内容介绍
这是一部从工作原理和工程实践两个维度深入剖析JVM的著作,是计算机领域公认的经典,繁体版在台湾也颇受欢迎。
自2011年上市以来,前两个版本累计印刷36次,销量超过30万册,两家主要网络书店的评论近90000条,内容上近乎零差评,是原创计算机图书领域不可逾越的丰碑。
第3版在第2版的基础上做了重大修订,内容更丰富、实战性更强:根据新版JDK对内容进行了全方位的修订和升级,围绕新技术和生产实践新增逾10万字,包含近50%的全新内容,并对第2版中含糊、瑕疵和错误内容进行了修正。
全书一共13章,分为五大部分:
第一部分(第1章)走近Java
系统介绍了Java的技术体系、发展历程、虚拟机家族,以及动手编译JDK,了解这部分内容能对学习JVM提供良好的指引。
第二部分(第2~5章)自动内存管理
详细讲解了Java的内存区域与内存溢出、垃圾收集器与内存分配策略、虚拟机性能监控与故障排除等与自动内存管理相关的内容,以及10余个经典的性能优化案例和优化方法;
第三部分(第6~9章)虚拟机执行子系统
深入分析了虚拟机执行子系统,包括类文件结构、虚拟机类加载机制、虚拟机字节码执行引擎,以及多个类加载及其执行子系统的实战案例;
第四部分(第10~11章)程序编译与代码优化
详细讲解了程序的前、后端编译与优化,包括前端的易用性优化措施,如泛型、主动装箱拆箱、条件编译等的内容的深入分析;以及后端的性能优化措施,如虚拟机的热点探测方法、HotSpot 的即时编译器、提前编译器,以及各种常见的编译期优化技术;
第五部分(第12~13章)高效并发
主要讲解了Java实现高并发的原理,包括Java的内存模型、线程与协程,以及线程安全和锁优化。
全书以实战为导向,通过大量与实际生产环境相结合的案例分析和展示了解决各种Java技术难题的方案和技巧。