软件与程序设计
-
架构解密吴治辉 著微服务、云原生、Kubernetes、Service Mesh是分布式领域的热点技术,它们并不是凭空出现的,一定继承了某些“前辈”的优点。我们不仅要了解这些技术,还要深入理解其发展脉络、原理等,才能游刃有余地将其用于现有的项目开发或老系统改造中。 本书总计9章。第1章讲解分布式的基础——网络,对国际互联网、NIO、AIO、网络传输中的对象序列化问题、HTTP的前世今生、TCP/IP、从CDN到SD-WAN等知识进行深入讲解。第2章讲解分布式系统的经典理论,涉及分布式系统的设计理念、一致性原理;ZooKeeper的使用场景;CAP理论的前世今生;BASE准则;分布式事务的原理。第3章从RPC开始,讲解分布式服务治理框架的起源与原理,并讲解ZeroC Ice的原理和微服务架构实战。第4~6章以专题形式讲解内存、分布式文件存储和分布式计算,对每个专题都讲解相关的重要理论、产品、开源项目及经验等。第7章深入讲解全文检索与消息队列中间件的原理及用法。第8章讲解以Kubernetes为代表的微服务架构解决了传统架构的哪些痛点;Service Mesh解决了微服务架构的哪些问题,以及如何理解它的原理和核心内容。第9章分享作者的架构实践经验。 不论你是有十几年研发经验及架构经验的IT老手,还是刚入门系统架构的IT新手,本书都能对你理解分布式架构和微服务架构大有助益。 -
互意纪毅 著本书提出了关于交互设计的新观点。交互设计是设定一种人与物之间的交流模式,在人和交互物之间创建有意义的个性化互动。交互设计的个性化语言是将复杂的交互内容通过语言系统帮助使用者构建个人与交互对象的个性化交互。本书旨在让交互设计者对交互设计有一个更深入的理解,尤其是对交互设计语言的认知与应用。书中详细描述了个性化交互语言的组成元素和基本结构,并通过对特定交互产品的解析来说明交互设计语言在实际交互设计中的应用。 -
ClickHouse原理解析与应用实践朱凯 著这是一本可帮助读者深度理解并全面掌握ClickHouse运行原理并进行实践开发的工具书,涵盖了ClickHouse的时代背景、发展历程、核心概念、基础功能、运行原理、实践指导等多个维度的内容,尤其是在ClickHouse最核心的部分——MergeTree表引擎与分布式方面,书中对其实现原理和应用技巧进行了详细解读。本书采用浅显易懂的语言+大量演示案例+大量示意图例的形式呈现,以求让读者在最短的时间内,以最舒服的方式,获得最核心的知识。本书的理论观点来自作者在OLAP领域10余年的工作思考与总结;功能与实操的素材来自作者在工作中对ClickHouse的深度应用与实践;原理解析部分的素材来自对大量专业文献的钻研与源码级的调试与解读。本书在逻辑上分为三大部分:第1~2章从宏观的角度出发,描述了时代背景、ClickHouse的发展历程及其核心特点。其中,对MOLAP、ROLAP和HOLAP三种架构形态的优缺点进行了详细解读,对ClickHouse的发展历程和架构形态进行了深度剖析,目的是帮助读者从根本上了解ClickHouse为什么具有这么高的性能。第3~5章从实践应用的角度出发,详细介绍了ClickHouse基础功能的使用方法和技巧,其中包括对数据库、数据表、视图、数据字典等重点功能的剖析和演示。第6~11章从原理的角度出发,解析了ClickHouse核心功能的运行机理。重点介绍了六大类数十种表引擎的主要特点与使用方法。其中对MergeTree的原理进行了深度解析,对它的基础数据结构、分区索引、一级索引、二级索引、压缩数据块、数据标记等重要概念进行了解读;对副本与分片的运行原理也进行了详细剖析;对它的基础数据结构、分布式DDL、分布式协同的核心操作过程等进行了解读。 -
高效自动化测试平台徐德晨,茹炳晟 著《高效自动化测试平台:设计与开发实战》从软件自动化测试的发展历史和趋势出发,作者总结了当前软件自动化测试的需求和挑战,比如: 1. 测试对象功能复杂化,被测对象的功能越来越多,越来越全面。 2. 迭代快速化,软件从设计到交付的时间周期越来越短。 3. 测试环境规模不断增加,被测试对象的系统规模越来越庞大。 在此基础上,本书以实战的方法,深入浅出地分析和介绍了一种模块化平台的设计方案来应对这些挑战,逐一介绍了每个模块的设计思路。这种自动化测试平台具有良好的测试用例的复用能力和功能的扩展能力,并且对于测试工程师用户来说有比较低的学习成本,能快速对测试用例开发进行上手。同时,该平台的设计能够很好的解决部署和执行问题,在CI/CD并且融入了数据驱动,事件驱动等先进的设计思想和理念。 本书还结合了当下软件企业比较重视的CI/CD流程,云端部署等热门话题, 介绍了如何将自动化测试平台集成到CI/CD的工作流程以及如何将测试平台进行云部署的转变。最后介绍了几个大型企业的经典案例。 除了设计思路和方案以外,本书会给出部分的代码实现(主要适用面向对象脚本语言Python)。 -
Java编程从入门到实践扶松柏,王洋 著本书循序渐进地讲解了Java语言的核心语法知识,并通过大量的实例讲解了各个知识点的具体用法,本书分为26章。第0~2章是Java的基础知识部分,包括学习本书必备的知识、Java开发基础、Java开发工具;第3~10章为核心语法部分,包括Java基础语法、条件语句、循环语句和跳转语句、数组、面向对象基础、面向对象编程进阶、构造器、多态和引用类型、内部类、匿名类和枚举类;第11~16章为Java开发进阶提高部分,包括集合、泛型、Java常用类库、异常处理、I/O文件处理和流处理;第17~23章为Java典型应用部分,包括JavaFX桌面程序开发基础、JavaFX图像、布局和组件、JavaFX事件处理、数据库编程、开发互联网程序、开发多线程Java程序、开发网络爬虫程序;第24~25章为综合实战部分,通过两个大型实例的实现过程,详细讲解了使用Java语言开发大数据挖掘和分析系统(网络爬虫+JSP+MySQL+大数据分析)和微信商城系统(SpringBoot+Vue+微信小程序)的过程。本书适合Java开发人员阅读,也适合计算机相关专业的师生阅读。 -
Dreamweaver+ASP动态网页设计从新手到高手徐洪峰 著随着Internet技术的不断提高,越来越多的人意识到了动态网页的重要性。动态网页的编写也逐渐替代静态页面的编写,成为当今站点的主流。《Dreamweaver+ASP动态网页设计从新手到高手/从新手到高手》全面、翔实地介绍了使用Dreamweaver+ASP进行动态网站开发的具体方法与步骤;从网站基础知识开始,由浅入深、循序渐进,引导读者从零开始,一步步了解、掌握动态网页制作和动态网站设计的全过程;详细介绍了Dreamweaver的使用方法、ASP动态网页编程技术及数据库的基本操作和典型动态模块的创建等。全书共分14章,主要内容包括动态网站建设基本流程,掌握网页制作工具Dreamweaver,用Photoshop设计网页图像,动态网页开发语言ASP基础与应用,使用SQL查询数据库中的数据,使用JavaScript创建特效网页,动态网页脚本语言VBScript,组建ASP动态网站的工作环境,设计制作新闻发布管理系统,设计制作留言系统,设计制作网上调查系统,设计制作搜索查询系统,设计制作会员注册管理系统,设计企业宣传网站。《Dreamweaver+ASP动态网页设计从新手到高手/从新手到高手》语言简洁,实例丰富,适合网页设计与制作人员、网站建设与开发人员、大中专院校相关专业师生、网页制作培训班学员、个人网站爱好者阅读。 -
精通Spring[印] 兰加·拉奥·卡拉南 著,石华耀,熊珅 译本书是使用Spring进行Java Web开发的指导手册,介绍了Spring Framework的演变——从解决可测试应用程序的问题到在云端构建分布式应用程序。本书介绍了Spring 5.0的新增功能,讲解如何使用Spring MVC构建应用程序,然后全面阐释如何使用Spring Framework构建并扩展微服务,以及如何开发和部署云应用程序。读者会了解应用程序架构的进化过程——从单体架构到围绕微服务构建的架构。此外,本书还介绍了Spring Boot的高级功能,并通过强大的示例演示这些功能。 -
Android从入门到精通明日科技 著《Android从入门到精通(微视频精编版)》从初、中级读者角度出发,通过通俗易懂的语言、丰富多彩的实例,详细介绍了使用Android要掌握的知识。全书分为3篇20章,包括走近Android,搭建Android开发环境,*个Android应用,用户界面设计基础,初级UI组件,中级UI组件,高级UI组件,基本程序单元Activity,Android应用核心Intent,Android事件处理和手势,Android应用的资源,消息、通知、广播与闹钟,Android中的动画,播放音频与视频,数据存储技术,Handler消息处理,Service应用,传感器,网络编程的应用和静待花开项目等内容。 -
敏捷整洁之道 回归本源罗伯特·C.马丁 著,申健,何强,罗涛 译本书是软件开发界的传奇人物罗伯特·C. 马丁(“鲍勃大叔”)对敏捷发展历程的回顾,对敏捷最初用意的重述,对敏捷价值观和原则的传达。本书首先概述敏捷的历史、敏捷的全貌;然后说明敏捷出现的缘由;接着讲解敏捷的业务实践、团队实践和技术实践,介绍成就敏捷的因素,还谈到敏捷转型中常见的问题与困难;最后提出软件匠艺理念。本书适合开发人员、测试人员、管理人员、项目经理、业务人员等软件行业从业者阅读。 -
C++ Primer Plus 第6版中文版习题解答史蒂芬·普拉达 著,曹良亮 编《C++ Primer Plus(第6版)中文版习题解答》是超级畅销书《C++ Primer Plus(第6版)中文版》的配套习题答案,针对书中的复习题和编程练习,给出了解题思路和答案。《C++ Primer Plus(第6版)中文版习题解答》共分为18章,每一章的主题与《C++ Primer Plus(第6版)中文版》完全一致。每章开篇采用思维导图的方式列出本章的知识点,然后对每章的重点内容进行了梳理总结,最后则对每章中的复习题和编程练习进行了分析并给出了解答思路,确保读者在彻底夯实理论知识的同时,进一步提升实际编程能力。作为《C++ Primer Plus(第6版)中文版》的配套参考书,《C++ Primer Plus(第6版)中文版习题解答》特别适合需要系统学习C++语言的初学者阅读,也适合打算巩固C++语言知识或者希望进一步提高编程技术的程序员阅读。
