含有"编程"标签的书籍

C语言非常道

C语言的图书多如牛毛,但绝大多数都很单纯,无外乎语法、技巧或者实例。C语言的教与学,远不止语法和示例这么简单。语言是应用的工具,只能深入到历史和实际应用的土壤里,从现实中寻找这门计算机语言的定位,学习它的语法,认识它所能解决的现实问题。所以,这本书面向C语言的初学者,结合*新的C语言标准9899:2011,不但介绍了和C语言本身有关的各个方面:词法元素、类型、声明、函数、表达式、语句、预处理、标准库,更是以此为主线,融汇了大量的现实和应用场景,从计算机原理、程序设计、编译原理、操作系统接口、数据结构,等等。为了帮助读者更好地理解C语言、操作系统接口以及用C语言解决实际问题这三者之间的关系,本书还特意提供了一个关系型数据库的实例和一个WEB服务器编程的实例。本书的目标:a.基础。本书面向初学者,介绍C语言的基础知识,但有深度和高度;b.全面。依据C语言的*新标准,尽量涵盖它的所有内容;c.标准化。摒弃某些传统的概念、术语和不正确、不精确的阐述;d.新颖。正本清源,采用与传统图书不同的形式来讲解。比如,先介绍#include <stdio.h>是什么东西,怎么来的,有什么用,而不是象别的书一样,一上来就使用,而且对它的功能语焉不详。不单单是讲述C的语法,更深入到与之相关的各个方面,比如操作系统环境、编译器、数据库和WEB应用,通过各种互相结合的场景,让读者真正认识这门语言,真正掌握这门语言,不致于学了之后还是感到茫然。e.通俗易懂。不是指语言上的通俗化和口语化,而是真正地按照认知的规律和过程,由浅入深,由表及里,不但知其然,还要知其所以然。

深入解析SAS

本书是国内市场目前唯一一本由SAS公司在中国的员工创作、全面系统地剖析SAS技术的著作。作者团队结合自身实际工作的经验体会和大量生动的实践案例,通俗易懂、循序渐进地对SAS的核心技术模块和架构体系进行了全方位的介绍、总结与分享,帮助读者深刻领会和掌握使用SAS进行数据挖掘与优化的专业知识,同时培养读者运用这些专业知识解决商业问题和实施商业项目的能力。

全书共28章,分为四个部分:SAS编程(第1-8章)系统介绍了运用SAS进行数据读入、处理和展现等内容,掌握这一部分内容可以满足大部分实际项目中数据处理的需要;SAS统计分析和时间序列预测 (第9—18章)全面介绍了多种常见统计方法的基本原理和利用SAS去实现的具体技术,包括描述性统计分析、参数估计与假设检验、方差分析、主成分分析与因子分析、聚类分析、判别分析、回归分析、时间序列分析等,并给出了相应的实践案例,从而让熟悉统计理论的读者有能力将其应用到实际中去;SAS优化建模(第19~24章)对于从事优化的读者来说,将是很好的帮助。这一部分主要介绍了运用SAS/O日建模,以及求解线性规划、混合整数规划问题的方法及实例,通过对常见的优化问题进行全面的阐述,帮助读者掌握优化思路和技巧;SAS商业应用(第25-28章)从项目实施角度探讨了如何设计满足安全性、高可用性和高性能需求的gAS应用,让读者领会解决实际问题的方法。

算法之美

《算法之美——隐匿在数据结构背后的原理(C++版)》围绕算法与数据结构这个话题,循序渐进、深入浅出地介绍了现代计算机技术中常用的40 余个经典算法,以及回溯法、分治法、贪婪法和动态规划等算法设计思想。在此过程中,《算法之美——隐匿在数据结构背后的原理(C++版)》也系统地讲解了链表(包括单向链表、单向循环链表和双向循环链表)、栈、队列(包括普通队列和优先级队列)、树(包括二叉树、哈夫曼树、堆、红黑树、AVL 树和字典树)、图、集合(包括不相交集)与字典等常用数据结构。同时,通过对22 个经典问题(包括约瑟夫环问题、汉诺塔问题、八皇后问题和骑士周游问题等)的讲解,逐步揭开隐匿在数据结构背后的算法原理,力图帮助读者夯实知识储备,激活思维技巧,并最终冲破阻碍编程能力提升的重重藩篱。

《算法之美——隐匿在数据结构背后的原理(C++版)》适合作为大专院校相关专业学生研习算法与数据结构知识的课外参考书。对有意参加信息学竞赛的读者,本书亦有很强的参考价值。此外,鉴于算法与数据结构在求职过程中常常被视为考察重点,所以就临近毕业的学生或其他欲从事IT 行业的求职者而言,阅读《算法之美——隐匿在数据结构背后的原理(C++版)》也将对面试备考大有裨益。

驯服烂代码

Kent Beck、Martin Fowler、Michael C. Feathers、Robert C. Martin、Joshua Kerievsky、Gerard Meszaros等大师们的传世著作为如何提升编程技艺和代码质量提供了思想和原则上的指导,本书则为实践和融合这些思想、原则提供了过程和方法上指导。本书通过编程操练的方式讲述了如何用TDD(测试驱动开发)的方法来驯服烂代码,通过结对编程的对话形式展示了驯服烂代码的完整过程,将驯服烂代码所需要的思想、态度、习惯、方法和技艺完全融入编程操练实践中,是目前最具实践指导意义的驯服烂代码的著作。

全书共20章,分为四个部分:第一部分(第1~10章)首先通过测试后行和测试先行两种方法完成了一个名为“码农酒店”(世界时钟)的编程操练题目,然后对这两种方法进行对比,引出了烂代码的概念,读者能非常直观看出哪一种方法更容易写出烂代码。第二部分(第11~15章)通过一个名为Trivia(答题闯关游戏)的经典编程操练题目详细讲述了驯服一段烂代码的过程,首先讲解了代码腐臭的识别和记录,然后讲解了如何通过一系列的重构来清除这些腐臭。第三部分(第16~18章)通过三个编程操练题目详述了编写真正的单元测试的过程,首先讲解了用提取接口的办法编写Stub来进行单元测试,以及用子类化并覆写方法的办法编写Mock来进行单元测试,然后讲解了如何将被测类与文件系统之间的这种不适用于单元测试的耦合,转化为被测类与字符串之间这种适合与单元测试的耦合。第四部分(第19~20章)总结了驯服烂代码的步骤及方法,首先讲解了TDD开发方法的一种实现:I-EPP-TR方法,该方法中的全面重构的概念对传统的重构概念进行了扩展,然后讨论了如何才能将前面所讨论的良好的编程方法形成习惯并固化下来。

面向对象的思考过程(原书第4版)

〔简介〕

本书是一部独具特色的面向对象技术著作。书中结合代码示例生动透彻地讲述了面向对象思想的精髓,让读者真正学会以对象方式进行思考。本书共15章,在结构上可以分为两部分:第一部分包括第1~10章,探讨面向对象的基本概念,比如封装、多态、继承等;第二部分包括第11~15章,专注于将这些概念应用于一些通用的面向对象技术中,并结合了一些实用的应用程序。

本书内容精炼,示例简单明了,适合各层次面向对象开发人员阅读,也是高校相关专业面向对象课程的理想教学参考书。

〔译序〕

很多IT从业人员进入这个行业都是从学习一门编程语言开始的。对于编程,我们往往过于关注语言的语法细节,反而忽略了其背后的设计理念。面向对象的思考过程就是一个非常优秀的设计理念。它可以独立于语言存在。如果你熟练掌握了面向对象的思考过程,那么就可以轻松地在不同的面向对象的语言之间切换。

本书透彻地阐述了面向对象这一概念。作者Matt在书中反复强调学习面向对象的思考过程优于学习任何编程语言或工具。事实上,他也是这么做的。Matt阐述了面向对象的三要素:继承、封装、多态,并且自己加上了第四个要素:组合。关于组合,Matt不惜篇幅做了大量的讲解,并且列举了很多通俗易懂的例子,这也是本书的一大特色。

Matt也纠正了人们的一些普遍误解,比如面向对象的范式与面向过程的范式并不是完全对立的关系。而且在应用面向对象的设计和开发时,Matt也讲解了不少如何与遗留系统集成的技巧。同时,Matt也简要介绍了UML这个建模利器。为了不混淆重点,他把介绍UML的章节放置在很靠后的位置。因为他明白,先了解面向对象的各项概念是最重要的。

我虽然拥有多年的从业经验,但是再看本书时仍然有不少收获。其实自从我接触了函数式编程,就渐渐成为函数式编程的拥趸。我会时不时地“鼓吹”函数式编程范式的好处,顺便“贬低”一下面向对象编程。但同时我也有个疑问,既然函数式编程这么好,为什么这几年的发展只能算是波澜不惊,而没有掀起大风浪呢?读了本书之后,我似乎找到了答案。首先面向对象的思考过程更加符合大家对世界的直观感受,毕竟不是每个人都是数学家。函数式编程可以简化很多问题,但它并不能简化所有问题。其次是面向对象的编程范式和函数式编程的范式并不是完全对立的,正如作者讲过,面向过程的编程范式和面向对象的编程范式也不是完全对立的。比如目前流行的一些语言(Scala、Go等)都具备函数式的特点,也兼具面向对象的特点(只不过它们的面向对象的机制与传统的方式有所不同)。所以无论你喜欢哪种编程范式,了解彼此的不同之处是至关重要的。而本书则是了解面向对象范式的优秀书籍。

本书已经更新到了第4版。从本书长达10多年的跨度来看,面向对象范式经久不衰。Matt也适时地在新版中加入了一些新的主题,比如可移植数据、分布式系统、Web服务等。Matt不仅阐述了这些技术,还讲述了它们的前世今生。这样可以帮助读者更加充分地了解技术的演化之路。

无论你是否有面向对象编程的经验,本书都适合你作为面向对象思考的旅程开端。最后,希望本书能给大家带来超凡的阅读体验。

HBase企业应用开发实战

本书特色:

国内资深Hadoop技术专家实践经验结晶,完全从企业实际生产环境和需求出发,旨在帮助企业真正解决大数据的落地问题;

系统介绍HBase的功能使用、框架设计、基本原理和高级特性;详细讲解使用HBase设计大型数据应用系统的实践方法和技巧;深刻总结系统运维、监控和性能调优的最佳实践。

本书强调HBase在企业的实际应用,立足于企业的实际生产环境,旨在帮助企业切实解决大数据技术如何落地的问题。三位作者都是奋战在中国大数据技术一线的实践派专家,本书是他们实践经验的结晶。

本书内容在三个维度上具有重要特色:功能维度,从HBase的安装配置、参数设置,到数据模型、表结构设计、客户端使用、高级特性,本书做了系统且详尽的介绍;实战维度,不仅通过3个典型的应用案例详细讲解了如何使用HBase设计大型的数据应用系统,而且还结合实际生产系统讲解了HBase的集群运维、监控和性能调优;理论维度,则深入分析了HBase、框架设计、模式设计和基本原理。可谓是理论与实践完美结合,深度与广度兼备!

【名家推荐】

本书作者在Hadoop开发和运维领域工作近4年,积累了丰富的经验,同时也对Hadoop技术人员在学习过程中可能会遇到的问题有一定的了解,在此基础上写了这本书。从如何用好HBase出发,首先介绍设计原理和应用场景,让读者了解HBase适合什么场景不适合什么场景,然后再介绍应用编程、性能优化和生产环境中的运维经验,可谓由浅入深,循序渐进,值得推荐!

—— 查礼 博士

中国大数据技术大会(原Hadoop in China)主席,中国计算机学会大数据专家委员会委员,中科院计算所副研究员

近几年,大数据和开源越来越受到各行各业的关注,而作为大数据中不可替代的重中之重,Hadoop及其周边生态,也逐渐从互联网公司向传统行业过渡。本书的几位作者都是在Hadoop与大数据领域深入工作多年的践行者,既有丰富的理论知识,又有多年工作的实战经验。本书着重介绍了HBase的工作原理和设计架构,同时在实际工作的应用场景上亦着墨很重,大数据的神秘不仅仅在于具体的技术细节,更多的是由于它是个新生事物,很多人并不很清楚大数据的技术架构应如何设计,应用场景如何,而我这几位好友结合自己在实际工作中的宝贵经验,通过撰写本书为广大爱好者解答了这一难题。本书是不可多得的理论与实践完美结合的技术书籍。

—— 向磊 phphiveadmin作者,汉云数衍创始人

大数据的概念已经逐渐深入人心,从互联网行业到传统行业,已经掀起一股“数据驱动商业价值”的热潮。大数据需要落地,需要开源技术来驱动新一轮的变革,而HBase作为大数据落地过程中的神兵利器,已经一次又一次证明了其巨大价值。本书不同于其他HBase的翻译版书籍,由来自国内互联网最前沿的实战派资深人士撰写而成,融合了自身的实战经验,更契合中国企业应用HBase技术的实情。本书由浅入深,结合理论阐述与案例剖析,如同一壶香茶,值得细细品咂。

—— 数盟社区 致力于为推崇“数据价值”的企业及个人打造最好的数据科学交流平台

算法交易:制胜策略与原理

本书是一本引人入胜、信息量大、覆盖各类交易策略的图书。无论个人投资者,还是机构投资者,都可以借鉴和使用其中的策略。本书中的策略大致可分为均值回归系统和动量系统两大类。书中不仅介绍了如何使用每种类别的交易策略,更解释了各种策略之所以有效的原因。本书始终以简单、线性的交易策略为重心,因为复杂的交易策略容易受到过度拟合及数据窥探的侵害。数学和软件是算法交易的两条腿。本书用到了一定程度的数学知识,使其对各种金融概念的讨论更加清晰准确。另外,书中还加入了很多使用MATLAB代码编程的说明性示例,这些示例可以在本书的网站上下载。总体而言,本书涉及的主要内容包括:

选择正确的自动执行平台及回测平台,以减少或消除算法交易策略中易犯的错误;

交易均值回归的投资组合的简单技能(线性、布林带、卡尔曼滤波)以及在这些测试和策略中使用什么数据形式(实际价格、对数价格、或是比例)更好;

交易股票、ETF、外汇及进行期货跨期套利、跨市套利等所用的均值回归策略;

股票及期货的动量的四大推动力,以及可以提取时间序列及横截面动量的策略;

基于高频交易、委托单动向、杠杆ETF、新闻事件和情绪的新型动量策略;

基于凯利公式的风险及资金管理,加入了作者个人风险管理的经验。

后台开发:核心技术与应用实践

因为后台开发所需要的技术广泛而坚深,要成为一名后台开发工程师门槛很高,所以相关人才比较紧缺。作者是在腾讯工作多年的后台开发工程师,不仅技术精湛,而且在处理大量实际业务的过程中积累了丰富的开发经验。在这本书中,她不仅首次为后台开发工程师勾勒出了完整的知识能力体系结构图,而且还对后台开发工程师所需要掌握的大量复杂的技术知识进行了提炼、剥离和整合,专注于成为一名后台开发工程师所需掌握的核心技术、开发工具和实践方法,大幅度降低后台开发工程师的学习曲线。本书的内容获得了来自腾讯、Facebook、微软、阿里、百度的多位资深技术专家的高度认可。

全书一共13章,在逻辑上分为六大部分:

第一部分(第1~3章)介绍了编程语言方面的知识,包括常用语法、类与常用STL的使用。

第二部分(第4~5章)介绍了编译原理和调试方法相关的知识,编译原理包括编译与链接的具体过程、Makefile的编写、目标文件的内容与处理目标文件相关工具的使用,调试方法主要介绍了strace、gdb、top、ps与valgrind工具的使用等。

第三部分(第6~8章)介绍了网络相关的知识,包括TCP协议的关键知识点和TCP server的实现,网络IO模型和select、poll与epoll三个重要函数的使用,还有ping、tcpdump、netstat和lsof这四个网络分析工具的使用。

第四部分(第9~11章)主要是多线程、进程和进程间通信相关的知识,包括多线程的使用、多线程的同步和重入问题,进程方面有父子进程、僵死进程、守护进程和进程间通讯的方式。

第五部分(第12章)主要是HTTP协议的介绍与使用、CGI的设计原理、实现和FASTCGI的简单介绍。

第六部分(第13章)通过常用类库JsonCPP和Protobuf的使用,演示如何使用第三方库。

电工从入门到精通

本书采用全彩色图解的形式,以电工行业的工作要求和规范作为依据,全面系统地介绍了电工的相关知识。通过对内容的学习,电工初学者不仅可以轻松入门掌握电工的基础知识,而且还可以深入掌握电工相关技能,并在工作中熟练应用,*终成为一名合格的电工技术人员。

本书内容包括:电工基础入门、电子元器件、常用电器元件、电工识图、电工计算、电工工具和电工仪表、电动机、导线的加工和连接、电工安全与触电急救、电工焊接技能、电工布线与设备安装技能、电工检测技能、电动机的拆卸与检修技能、供配电线路及检修调试技能、照明控制线路及检修调试技能、电动机控制线路及检修调试技能、变频器技术、变频器的使用与调试、PLC技术和PLC编程语言与PLC系统的安装及调试等。

本书对电工知识的讲解全面详细,理论和实践操作相结合,内容由浅入深,语言通俗易懂,全书内容彩色图解,层次分明,重点突出,非常方便读者学习。

本书采用微视频讲解互动的全新教学模式,在内页重要知识点相关图文的旁边附印了二维码。读者只要用手机扫描书中相关知识点的二维码,即可在手机上实时浏览对应的教学视频,视频内容与图书涉及的知识完全匹配,复杂难懂的图文知识通过相关专家的语言讲解,帮助读者轻松领会,这不仅进一步方便了学习,而且还大大提升了本书内容的学习价值。

本书可供电工学习使用,也可供职业院校、培训学校相关专业的师生学习使用。

Hack与HHVM权威指南

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

首席性能工程师

Github | Docker | Library | Project