软件与程序设计
-
算法入门之西游漫记叶鹏、沈晓恬、刘子新 著本书将编程算法原理与西游故事情节完美融合,用幽默风趣的文字,深入浅出的讲解,让读者在轻松的阅读氛围中掌握排序算法、贪心算法、分治算法、动态规划法、回溯法等常用的算法,形成系统的算法思维。书中每种算法都含有若干子算法,每个子算法均以实例给出,详细拆解其核心算法,并给出实现代码。每一章后还有番外篇,以日记填空形式起到练习巩固的效果。 -
代替VBA!用Python轻松实现Excel编程童大谦在数据分析方面,Python实际上已经远远超越VBA,因为使用Pyhton提供的数据处理函数和模块就可以实现很多功能,既快速、可靠又简便。本书结合OpenPyXl、win32com、xlwings和pandas等Python包全面介绍使用Python实现Excel脚本开发的各种可能性,涉及的内容包括:Python语言基础、Python文件操作、Excel对象模型、Excel图形绘制、Excel图表绘制、字典在Excel中的应用、正则表达式在Excel中的应用、使用Pandas包提高数据处理效率、使用Matplotlib包绘图、Python与Excel VBA混合编程等。本书适合任何对Excel Python脚本开发感兴趣的朋友阅读,可以是有编程需求的职场办公人员、数据分析人员、大学生、科研人员和程序员等。 -
Go黑帽子 渗透测试编程之道[美]汤姆·斯蒂尔 (Tom Steele) 克里斯·帕顿(Chris Patten),丹·科特曼(Dan Kottmann) 著,贾玉彬 朱钱杭 译学习内容:如何开发用于你自己安全项目的高性能工具。如何创建与远程API交互的可用工具。如何抓取任意HTML数据。如何使用Go的标准包net/http构建HTTP服务器。如何编写自己的DNS服务器和代理。如何使用DNS隧道建立一个C2通道以突破限制性网络。如何创建漏洞模糊器(fuzzer)以发现应用程序的安全漏洞。如何使用插件和扩展使产品可以面向未来。如何构建RC2对称密钥暴力破解工具。 如何在(PNG)图像中植入数据。准备好扩展你的安全工具库了吗? 那我们出发(Go)吧! -
Go语言精进之路白明Go入门容易,精进难,如何才能像Go开发团队那样写出符合Go思维和语言惯例的高质量代码呢?本书将从编程思维和实践技巧2个维度给出答案,帮助你在Go进阶的路上事半功倍。编程思维层面只有真正领悟了一门语言的设计哲学和编程思维,并能将之用于实践,才算精通了这门语言。本书从Go语言设计者的视角对Go背后的设计哲学和编程思想进行了梳理和分析,指引读者体会那些看似随意实则经过深思熟虑的设计背后的秘密。实践技巧层面实践技巧源于对Go开发团队和Go社区开发的高质量代码的阅读、挖掘和归纳,从项目结构、代码风格、语法及其实现、接口、并发、同步、错误与异常处理、测试与调试、性能优化、标准库、第三方库、工具链、Z佳实践、工程实践等多个方面给出了改善Go代码质量、写出符合 Go 思维和惯例的代码的有效实践。全书的内容覆盖如下10个大类,共66个主题,字字珠玑,句句箴言。(1)Go语言的一切(2)项目结构、代码风格与标识符命名(3)声明、类型、语句与控制结构(4)函数与方法(5)接口(6)并发编程(7)错误处理(8)测试、性能剖析与调试(9)标准库、反射与cgo(10)工具链与工程实践学完这本书,你将拥有和 Go专家一样的编程思维,写出符合Go惯例和风格的高质量代码,从众多 Go 初学者中脱颖而出,快速实现从Go新手到专家的转变! -
零基础学Python网络爬虫案例实战全流程详解王宇韬 吴子湛 等网络爬虫是当今获取数据不可或缺的重要手段。本书讲解了Python 爬虫的基础知识和技能,帮助零基础的读者快速入门并熟练使用爬虫。全书共8 章。第1 章讲解Python 开发环境的安装与配置以及Python 的基础语法知识。第2 章讲解如何运用Requests 库和Selenium 库获取网页源代码。第3 章讲解如何运用正则表达式和BeautifulSoup 库解析和提取数据。第4 章深入讲解Selenium 库在商业实战中的进阶应用。第5 章讲解爬虫数据的处理与可视化。第6 章讲解爬虫数据结构化神器pandas 库,以及如何通过Python 在MySQL 数据库中读写数据。第7 章讲解如何运用多线程和多进程技术提高爬虫效率。第8 章讲解如何运用IP 代理应对网站的反爬机制。本书对于编程新手来说非常友好,从Python 基础到爬虫原理再到实战应用,循序渐进地帮助读者打好基础。对于有一定Python 爬虫基础的读者,本书也针对实战中常见的疑点和难点提供了解决技巧。 -
算法训练营陈小玉本书以海量图解的形式,详细讲解常用的数据结构与算法,又融入大量的竞赛实例和解题技巧。通过对本书的学习,读者可掌握12种初级数据结构、15种常用STL函数、10种二叉树和图的应用,以及8种搜索技术,并领悟不同的数据结构和算法的精髓,熟练应用各种算法解决实际问题。 本书总计9章。第1章讲解C语言基础,包括语法、函数、递归和数组;第2章讲解算法入门知识,包括算法复杂度计算、贪心算法、分治算法和STL应用;第3章讲解线性表的应用,包括顺序表、单链表、双向链表、循环链表和静态链表;第4章讲解栈和队列的应用,包括顺序栈、链栈、顺序队列和链队列;第5章讲解树的应用,包括树的存储、二叉树遍历与还原、哈夫曼编码;第6章讲解图论基础,包括图的存储、图的遍历和图的连通性;第7章讲解图的应用,包括短路径、小生成树、拓扑排序和关键路径;第8章讲解查找算法,包括哈希表、字符串模式匹配、二叉查找树和平衡二叉树;第9章讲解搜索技术,包括二分搜索、深度优先搜索、广度优先搜索和启发式搜索。 本书面向对算法感兴趣的读者,无论是想扎实内功或参加算法竞赛的学生,还是想进入名企的学生、求职者,抑或是想提升技术的在职人员,都可以参考本书。若读者想学习数据结构与算法方面的进阶知识,则可参考《算法训练营:海量图解 竞赛刷题(进阶篇)》。 -
Go语言定制指南柴树杉 史斌 丁尔男Go 语言语法树是 Go 语言源文件的另一种语义等价的表现形式,Go 语言自带的go fmt 和 go doc等命令都是建立在 Go 语言语法树基础之上的分析工具。本书从Go 语言语法树出发,重新审视Go 语言源文件,阐述定制Go 语言的核心技术。书中通过对 go/ast、go/ssa 等包的分析,-步步深入Go 语言核心,后简要介绍 LLVM,读者可以结合 IIVM 和 Go 语言语法树按需定制,创造一个语法与 Go 语言语法头似的简单的编程语言及与其对应的编译器,达到掌握自制编程语言和编译器的目的。 本书面向已经熟练掌握 Go 语言并在进行项目开发的程序员,也适合想深入了解 Go 语言底层运行机制的程序员阅读,同时可作为对编程语言/编译器有兴趣并想进行实际项目实践的程序员的参考书。 -
C语言程序设计 现代方法[美]K.N.金(K.N.King)时至今日,C语言仍然是计算机领域的通用语言之一,但今天的C语言已经和初的时候大不相同了。本书主要目的就是通过一种“现代方法”来介绍C语言,书中强调标准C,强调软件工程,不再强调“手工优化”。第2版修订版中不仅有C99中的新特性,还与时俱进地增加了C11和C18中的内容。本书分为C语言的基础特性、C语言的高级特性、C语言标准库和参考资料4个部分。每章末尾的“问与答”部分给出一系列与该章内容相关的问题及答案,此外还包含适量的习题。本书是C开发人员的理想参考书,在国外也被众多大学作为C语言课程的教材。 -
On Java 中文版 进阶卷[美]布鲁斯·埃克尔(Bruce Eckel)本书内容主要是对《On Java 中文版 基础卷》的拓展延伸,重点讲解 Java 的高级特性、并发、设计模式等相关进阶知识,对一些和开发密切相关的底层操作(如 I/O 系统、底层并发、数据压缩等)进行深入探讨,同时针对基础卷的重点章节进行了补充说明(如第 3 章增补了一些关于集合的高级特性)。在附录中,作者给出了 67 条关于低级程序设计和编写代码的建议,并分享了自己成为程序员的一些经验之谈。本书适合有一定项目开发经验的 Java 程序员阅读。 -
Python语言及其应用[美]比尔·卢巴诺维奇(Bill Lubanovic)本书分为上、下两大部分,共计22章。部分(第1~11章)由浅入深地介绍Python的基础知识,包括变量、数值、条件语句、文本字符串、循环语句、元组、列表、字典、集合、函数、对象、类、模块、库,等等。掌握这些基础知识将为运用Python奠定牢固的基础。第二部分(第12~22章)介绍Python的应用,所涉及的领域包括Web应用、数据库、网络和机器学习。你将学会用Python处理时间、进行网络通信、完成数据科学任务等,还会了解并发的相关知识。
