程序员8月书讯

本月9本新书,有圣经级经典书升级版《Linux命令行与shell脚本编程大全(第3版)》,有系列书的中卷《你不知道的JavaScript(中卷)》,加其他3本技术书,1本设计入门书,3本主题独特的科普书,相信会带给你惊喜~

特别推荐 ○ Linux命令行与shell脚本编程大全(第3版)

这里写图片描述

作者: Richard Blum,Christine Bresnahan
译者: 门佳,武海峰
页数:620

● Linux命令行圣经,美国亚马逊五星推荐
● 新版针对Linux的新特性和实践,进行了全面更新
● 轻松全面掌握Linux命令行和shell脚本编程细节,实现Linux系统任务自动化

《Linux命令行与shell脚本编程大全(第3版)》是一本关于Linux命令行与shell脚本编程的全方位教程,主要包括四大部分:Linux命令行,shell脚本编程基础,高级shell脚本编程,如何创建实用的shell脚本。这版针对Linux系统的最新特性进行了全面更新,不仅涵盖了详尽的动手教程和现实世界中的实用信息,还提供了与所学内容相关的参考信息和背景资料。通过本书的学习,你将轻松写出自己的shell脚本。

特别推荐 ○ 你不知道的JavaScript(中卷)

这里写图片描述

作者:Kyle Simpson
译者:单业,姜南
页数:376

● 同系列上卷豆瓣评分9.4分,JS进阶必备参考书
● 中卷聚焦主题:类型、语法、异步、性能
● 深入挖掘JavaScript语言本质,打通JavaScript的任督二脉

你不知道的 JavaScript”系列丛书旨在介绍 JavaScript 的另一面,让你深入掌握 JavaScript的全部,特别是那些难点。该系列上卷《你不知道的JavaScript(上卷)》介绍了两个主题:“作用域和闭包”以及“this和对象原型”。《你不知道的JavaScript(中卷)》介绍了两个主题:“类型和语法”以及“异步和性能”。掌握了这些知识之后,无论什么技术、框架和流行词语,你都能轻松理解。

应对设计坏味实战指南 ○ 软件设计重构

这里写图片描述

作者:Girish Suryanarayana,Ganesh Samarthyam,Tushar Sharma
译者: 袁国忠
页数:224

● Martin Fowler经典著作《重构》的极佳补充
● 一本书帮你消除设计中的坏味,改善软件质量
● IBM软件工程首席科学家Grady Booch、Synctique公司联合创始人Stéphane Ducasse作序推荐

《软件设计重构》主要介绍25个软件架构坏味,它们在确定设计问题时的作用以及可用的重构方法,并结合图表和示例给出了详尽说明,旨在引领读者掌握代码易读、易修改的关键,让代码具备重构能力。另外,本书将何时应该重构、重构时遇到的一些常见问题穿插在了示例讲解中。

用R语言构建高质量软件的实用指南 ○ R包开发

这里写图片描述

作者:Hadley Wickham
译者:杨学辉
页数:180

● RStudio首席科学家、R社区最有影响力的开发者Hadley Wickham十几年经验总结
● 统计之都创始人谢益辉、统计之都理事会主席冯凌秉作序推荐
● 美亚4.6星评,R开发进阶必备

《R包开发》是一本开发理念与开发实例相结合的实用指南,主要内容包括:R包基础知识介绍,包的基本结构和可能形式,R代码,包的元数据,对象文档,长格式文档,数据,命名空间,编译过的代码,Git和GitHub,发布包,等等。其目的是教会你如何开发包,让你可以开发自己的包,而不只是使用别人的包,进而从R包的使用者蜕变成R包的开发者。

了解数据分析全貌 ○ Python数据分析实战

这里写图片描述

作者:Fabio Nelli
译者:杜春晓
页数:300

● 了解Python在信息处理、管理和检索方面的强大功能
● 学会如何利用Python及其衍生工具处理、分析数据
● 三个真实Python数据分析案例,将理论付诸实践

《Python数据分析实战》展示了如何利用Python 语言的强大功能,以最小的编程代价进行数据的提取、处理和分析,主要内容包括:数据分析和Python 的基本介绍,NumPy 库,pandas 库,如何使用pandas 读写和提取数据,用matplotlib 库和scikit-learn 库分别实现数据可视化和机器学习,以实例演示如何从原始数据获得信息、D3 库嵌入和手写体数字的识别。

菜鸟的平面设计入门 ○ 人人都是设计师

这里写图片描述

作者: Rebecca Hagen,Kim Golombisky
译者:王沛
页数:236

● 内容丰富,囊括设计师必须掌握的一切基础知识
● 340幅全彩插图 + 案例分析,看图轻松学设计
● 大量实用设计技巧 + 源于实践的专业建议

《人人都是设计师》是一本为没有艺术背景的普通人所写的平面设计指导书,作者通过图文并茂的典型案例讲解了设计的主要原则和规则,主要内容有:什么是设计,设计前的调查研究和头脑风暴,设计的元素和原理,版式的有效原则和13条规则,为什么需要网格,布局、字体和色彩的选用原则,如何使用照片、插图和信息图,多媒体组件,网页的输出和印刷输出等。

日本东京大学通识讲座辑录3 ○ 纯情篇

这里写图片描述

作者:东京大学教养学部
译者:张琳
页数:208

● 日本图书馆推荐读物
● 东京大学“自由七艺”通识教育

《东京大学通识讲座3:纯情篇》内容包括解读人类多元语言、文化意义,传授外语学习经验与技巧,揭秘印加文明,分析机械与音乐关系,探秘夸克层级的微观世界等。讲座以形象生动、通俗易懂的语言阐释有趣的主题与专业知识,保留了不同老师与听众的互动问答现场场景,用最具魅力的对话形式与互动气氛展现求知的乐趣。

“东京大学通识讲座”系列是日本东京大学通识讲座辑录,讲座打破文理界限,正确引导求知者知识与素养的回归。该系列还有《东京大学通识讲座:贯通篇》,《东京大学通识讲座2:热血篇》。

一本写给大人的恐龙书 ○ 我心爱的雷龙

这里写图片描述

作者:Brian Switek
译者:邢立达,李锐媛
页数:220

● 青年古生物学者邢立达翻译,中科院古脊椎动物与古人类研究所古生物学家徐星推荐
● 展示恐龙研究最新进展,集知识性、趣味性和消遣性为一体
● 重新唤起你对恐龙的热爱,附赠陈瑜绘制精美海报

《我心爱的雷龙:一本写给大人的恐龙书》将带领大家一览恐龙研究的最新进展,通过最新的发现和技术进步一窥恐龙生活的诸多奥秘,比如恐龙的性生活、恐龙的社会性、恐龙的羽毛、恐龙的病痛,以及最重要的,恐龙的崛起和灭亡。

重新发现世界的十一次探险 ○ 北野武的伟大旅程

这里写图片描述

作者:北野武
译者:逸宁
页数:280

● 带领读者探秘地图未知禁区,展开科学世界大冒险
● 日本殿堂级导演北野武与众多科学家、探险家演绎
● 毒舌妙语讲解科学知识 / 谈笑风生间得新知新解 / 体验语言与知识的双重魅力

《北野武的伟大旅程:重新发现世界的十一次探险》为日本著名导演北野武先生与日本各领域一线研究者、科学家的“知识大冒险”,全书以逆向行走人类“大迁徙”路线为线索,在风趣幽默的文字冒险中,与读者一起触碰深海巨大的乌贼、寻觅亚洲腹地神秘植物、造访白蚁的地下王国、探秘宇宙的隐匿结构,用科学与知识的视角,重新认识自然与世界。

阅读原文

阅读更多

程序员补课之旅 8月10日

08-11

2002-8-10rn 今天特别的兴奋,起床也起得特别的早。在走之前我把电脑开了,那当然是rnrn为了做服务器,我不知道我开学后能不能够这样做,因为家里的一些因素。不过rnrn只要能为大家服务我已经很开心了,而且也一种强激的幸福感,这种幸福并不是rnrn一般的家庭幸福。我为坚持做下去的,我也常常问一些网友关于这件事,他们都rnrn说只有你自己可以就行了,他们都支持我坚持做下去。好吧,说远了离题了,我rnrn说说今天的补课吧。rn 今天的课程也令我吃了一惊,是讲数据结构里的树。为什么队列和堆栈都没rnrn有讲就直接讲树呢?会不会太快了一点,而且我们刚放完假有些人都没有集中精rnrn神到课堂来。不过我会相信老师的选择的,应该有他的理由。那么就来讲讲树的rnrn一些基本概念,大家都知道树是数据结构里的非线性结构之一,和之前说的链表rnrn是完全不同的,链表就只有前驱和后继结点,但树就不是了,他可以有很多的结rnrn点,称为分支结点,而且他的分支结点又可以有分支结点。因为树接触到的概念rnrn太多了,只好自己看一下书才行。树运用得很广范,像我们操作系统里文件管理rnrn就是了,多级的目录。二级目录就像树的子树,而且子树里可能还有很多的子树rnrn,越往下就越多级。rn 我们来试试定义一个树的结构,一般树都分得很随意,所有我们这里也随便rnrn画一个树来说一下。看图第十三天图一,我们看到圆圈就代表一个结点,而且最rnrn顶的那个就是根结点,往下的就是子结点。子结点的上一个就是父结点,同一级rnrn的结点左右都是为兄弟结点。我们按照这样的结构定义一个,如下:rn struct treern rn int data;rn struct tree *next; /*右兄弟结点*/rn struct tree *pre; /*左兄弟结点*/rn struct tree *up; /*父结点*/rn struct tree *down; /*子结点*/rn ;rn下面来看看如何建立一棵树。rn struct tree *p,*r;rn r=(struct tree *)malloc(sizeof(struct tree)); /*建立根结点空间*/rn r->data=3; /*根结点赋值*/rn r->next=r->pre=r->up=NULL;rn p=(struct tree *)malloc(sizeof(struct tree)); /*建立第二个结点*/rn r->down=p; /*根结点的子结点连向新的子结点*/rn p->data=5; /*子结点赋值*/rn p->pre=NULL;rn p->next=(struct tree *)malloc(sizeof(struct tree));rn p->next->data=2;rn p->next->pre=p;rn :rn :rn :rn 因为结点多而无规律性,所有这种建立方法是不能采用的,现在只是拿出来rnrn研究一下一棵树是如何建立起来的。rnrn 现在说说另一种树“二叉树”。因为二叉树与一般的树结构比较,二叉树在rnrn结构上更规范和更有确定性,因此,应用也比树更为广泛。二叉树与树不同,首rnrn先二叉树可以为空,空的二叉树没有结点;另外,在二叉树中,结点的子树是有rnrn序的,分左、右两棵子二叉树。rn 二叉树又是如何建立的呢?这里很简单,因为二叉树有其规律性,下面请看rn typedef struct bnodern rn int data;rn struct bnode *left,*right;rn btree;rn rn void creat(btree *b)rn rn int x;rn btree *s;rn b=NULL;rn dorn rn scanf("%d",&x);rn s=(btree *)malloc(sizeof(btree));rn s->data=x;rn s->left=s->right=NULL;rn insert(b,s);rn rn rnrn void insert(btree *b,btree *s)rn rn if(b==NULL) b=s;rn else if(s-data==b->data) return();rn else if(s-datadata) insert(b->left,s);rn else if(s-data>b->data) insert(b->right,s);rn rn这条程序不单只建立了一个树,而且还给排好了序(左小右大)。输入相应的数rnrn值看看结果,如图第十三天图二。rn 今天也就是这些了,还有得就是要多看些递归的程序,因为树的建立和操作rnrn离不开递归。还有的就是大家做做如下一题,就是已知有一个无序的二叉树,让rnrn我们用中序遍历排列成由大到小的程序。大家一齐起吧,写好发答案到我的论坛rnrn上http://zhgpa.vicp.net或者E-mail:zhgpa@sohu.com多谢大家支持。

没有更多推荐了,返回首页