本书是一本全面、深入解析与算法竞赛有关的数据结构、算法、代码的计算机教材。 本书包括十个专题: 基础数据结构、基本算法、搜索、高级数据结构、动态规划、数论和线性代数、组合数学、计算几何、字符串和图论。本书覆盖了绝大多数算法竞赛考点。 本书解析了算法竞赛考核的数据结构、算法; 组织了每个知识点的理论解析和经典例题; 给出了简洁、精要的模板代码; 通过明快清晰的文字、透彻的图解,实现了较好的易读性。 本书的读者对象是参加算法竞赛的中学生和大学生、准备面试IT企业算法题的求职者、需要提高算法能力的开发人员,以及对计算机算法有兴趣的广大科技工作者。
对于刚刚成为软件工程师的新手来说,知道如何编写代码只是成功了一半。你可能很快就会发现,学校并没有教授在现实世界中至关重要的技能和工作中必要的流程。本书恰恰填补了这一环节,它是作者十多年来在大型公司指导初级工程师工作的教程,涵盖软件工程的基础知识和best实践。 本书第1~2 章讲解当你在公司开启你的职业生涯时会发生什么;第3~11 章会扩展你的工作技能,教你如何使用现有代码库、解决和防止技术债、编写生产级软件、管理依赖关系、有效地测试、评审代码、交付软件、处理On-Call 时的事故和构建可演进的架构等;剩余章节涵盖管理能力和职业阶梯的提升等相关内容,例如敏捷计划、与管理者合作以及成长为资深工程师的必经之路。本书中非常重要的一部分内容是教你如何应对糟糕的管理,以及如何调整自己的节奏。 本书内容不仅
OpenCV是计算机视觉领域的开发者必须掌握的技术。本书针对 OpenCV 4.5进行编写,全面系统地介绍OpenCV 4.5的使用。书中重点介绍OpenCV 4.5相比之前的版本做出的重大修改。 本书共14章,主要内容包括OpenCV 4.5的基础知识、OpenCV开发环境搭建、OpenCV的模块架构、图像的读取与显示、核心模块CORE、图像处理模块基础、灰度变换和直方图修正、图像平滑、几何变换、图像分割、图像金字塔、图像形态学、图像边缘检测、视频加载与摄像头调用、摄像头视频录制以及OpenCV在机器学习方面的应用等,后给出一个停车场车牌识别系统的大案例。 本书适合计算机视觉与图像处理的开发人员、已有图像处理基础并想了解OpenCV 4.5新特性的开发人员阅读,也适合高等院校和培训机构计算机视觉与图像处理相关专业的师生作为教学参考书。
你知道你不想重新发明轮子,因此你指望设计模式能帮上忙 那些面对相同软件设计问题的人所学到的教训。有了设计模式,你就可以借助他人的实践和经验,把时间花在一些更有挑战性、更有趣的事情上。本书展示了重要的模式;何时使用、为什么使用这些模式;如何在自己的设计中应用这些模式;模式所基于的面向对象设计原则。无数开发人员通过这本书提升了面向对象设计技能,来加入他们的队伍吧。
本书分为软件基础入门与应用实例两大部分,全书共计17章节。1~11章节为软件基础入门,其内容以热仿真工作流程、建立模型、网格划分、求解计算、结果处理、优化设计和仿真模型校核为主。12~17章节为软件应用实例部分,其内容主要由BGA封装芯片、户外通信机柜、数据中心、智能手机、服务器六个应用实例组成。本书内容丰富、讲解详尽,在介绍FloTHERM软件的同时,也注重相关背景原理的阐述和软件实际应用的注意事项。其中软件基础内容多来自作者的多年积累和整理。仿真模型的校准作为热仿真分析的重中之重,本书中也进行了细致的阐述。应用实例内容涵盖软件不同的应用领域,对于软件使用者而言,具有很强的实际指导意义。本书可以作为电子设备热仿真工作者、热设计工程师和FloTHERM软件使用者的自学教材和参考书,同时也可以作为高等院校学
本书是系统架构领域标杆参考书的升级版,由业内资深专家萨姆 纽曼(Sam Newman)撰写。 过去10年,随着微服务的普及,大量组织从单体应用迁移到了微服务应用,分布式系统变得愈加精细化,然而,这个过程中也出现了一系列问题。本书深入探讨了构建、管理、扩展和演进微服务架构时需要考虑的方方面面。内容分为三部分:第一部分 基础 (第1章~第4章),详细阐述微服务背后的核心思想;第二部分 实现 (第5章~第13章),带你转向具体实现细节,通过各种技术和方法尽可能大程度地用好微服务;第三部分 人和组织 (第14章~第16章),具体阐述离开人和组织的支持,理念和技术将毫无意义。通过学习本书,你将深入了解对微服务的建模、集成、测试、部署和监控等方向新的解决方案。 第2版进行了全面更新:新增了微服务构建和部署、无服务器计算及云原生应
《大话软件工程 需求分析与软件设计》面向从事软件分析与设计相关工作的读者。《大话软件工程 需求分析与软件设计》的重点是在软件工程中增加了业务设计和应用设计的部分,提出了软件设计工程化的模式,支持进行定性、定量的软件项目管理,是一本实操型的软件工程工具书。全书共分为6篇22章,分别介绍了业务分析与设计的理论、需求工程的调研与分析方法、业务的分析与设计方法、应用设计方法、业务用例和应用用例的编写方法、需求和设计的配套模板、规格书标准等。 《大话软件工程 需求分析与软件设计》可作为软件工程师(包括需求、设计、开发、实施)、产品/项目经理、管理咨询师的实用工具书、培训机构的设计资格培训教材,以及普通高等院校管理信息专业、计算机专业学生学习软件设计方法的参考书。
本书以一个Kubernetes工程师的视角,全面系统地介绍Kubernetes常见的知识点、企业应用实践及运维管理方法。本书共分18章,第1、2章介绍如何快速搭建高可用的Kubernetes集群;第3~7章介绍Docker的基础和镜像的制作优化,以及Kubernetes的基础概念(Master、Node和Pod)、核心调度资源(Deployment、StatefulSet、DaemonSet、CronJob)、服务发布(Service和Ingress)和配置管理(ConfigMap和Secret)。第8~11章主要介绍Kubernetes的持久化存储、动态存储、CSI、高级调度(容忍、污点和亲和力)、服务质量、权限管理、Kubernetes资源配额管理。第12、13章主要介绍云原生存储、中间件容器化、Operator和Helm的使用。第14~16章主要介绍针对Kubernetes的日志收集(EFK)、监控告警(Prometheus和Grafana)、生产级服务发布Ingress的使用。第17章主要介绍基于Kubernetes、Jenkins、Harbor、GitLab等工具建设生产级的DevOps平台
本书分为两大部分,其中第一部分 基础篇 包括第1~11章,第二部分 进阶篇 包括第12~18章。Unity 3D初学者在学习第一部分后,完全可以制作出属于自己的游戏。但是能做出来不代表做得好,这里的 好 主要是指游戏性能高以及开发难度大。从商业游戏的角度来说,必须做到这两点,所以第二部分主要讲解Unity 3D的性能与原理。除第1章外,书中的每一章都包含丰富的示例和源代码,它们是非常宝贵的实战经验,可以直接应用在实际开发中。
《JSP Servlet Tomcat应用开发从零始学(第3版)》全面系统地介绍JSP Servlet Tomcat开发中涉及的相关技术要点和实战技巧。《JSP Servlet Tomcat应用开发从零始学(第3版)》内容讲解循序渐进,结合丰富的示例使零基础的读者能够熟练掌握JSP Servlet Tomcat的应用开发和部署。《JSP Servlet Tomcat应用开发从零始学(第3版)》配套示例代码、PPT课件、作者答疑服务。 《JSP Servlet Tomcat应用开发从零始学(第3版)》共17章。第1~7章为Java Web基础开发,内容包括搭建Java Web开发环境、JSP基础语法、JSP内置对象、Servlet技术、请求与响应、会话管理、Servlet进阶API、过滤器、监听器等;第8~15章为Java Web高级开发,内容包括MySQL 8数据库开发、JSP与Java Bean、EL标签、JSTL标签库、自定义标签、JDBC详解、XML概述、资源国际化等;第16~17章为Java Web实战,分别讲解两个典型的系统,即家校通门户网站(JSP
本书是软件开发与运维领域经典参考书新升级版,由DevOps领域几位先驱撰写。第2版根据新研究和best practice更新了内容,增加了大量新案例,方便大家在各行各业落地DevOps实践。 本书内容分为六部分,围绕 DevOps三要义 (流动、反馈、持续学习与探索)探讨DevOps的理论、原则和落地实践。第一部分介绍DevOps理论基础和关键主题,第二部分介绍如何寻找切入点并启动转型,第三部分介绍如何通过构建部署流水线来加速流动,第四部分讨论如何通过建立有效的生产环境监控发现和解决问题,第五部分探讨如何通过建立公正的文化促进持续学习与探索,第六部分介绍将安全与合规活动集成到日常工作。 本书适合所有互联网企业和传统企业从业者阅读。
本书深入探讨了构建自动驾驶汽车和机器人的全过程。作为刘少山博士的得意之作,本书不仅被国际电气和电子工程师协会计算机学会(IEEE Computer Society)推荐为无人驾驶国际标准教材,还涵盖了从基础硬件设备到通信、定位、感知、规划、控制、建图和边缘计算等一系列核心知识点。书中还以一个标准的自动驾驶样车为例,生动地展示了每个部分在整个系统中的关键作用。本书为广大的学生、研究者、工程师、教育工作者、行业从业者、技术爱好者,以及对未来技术发展感兴趣的公众提供了宝贵的知识和启示,对我国自动驾驶行业的快速发展也将产生深远的影响。无论您是从事自动驾驶、自动化、智能机器人、V2X、SLAM等领域的工程师,还是高等院校的相关专业师生,或者是对这一领域感兴趣的技术爱好者,本书都将为您提供宝贵的参考和指导。
《深入理解分布式共识算法》结合理论知识、算法模拟和源码解析,从多个维度详细剖析分布式共识算法的基本原理和应用实践,涵盖分布式共识算法的方方面面。同时《深入理解分布式共识算法》对共识算法开发中的重点和难点问题进行了重点讲解,并提供精心准备的练习题供读者巩固和提高所学的知识。另外,作者针对重点内容录制了教学视频,以帮助读者高效、直观地学习。 《深入理解分布式共识算法》共10章,分为4篇。第1篇分布式相关概念与定理,主要介绍集群、状态机和共识等相关概念,以及BASE和CAP理论等相关知识;第2篇常见分布式共识算法原理与实战,主要介绍二阶段提交(2PC)协议、三阶段提交(3PC)协议、Paxos、ZAB和Raft等相关知识;第3篇Paxos变种算法集合,主要介绍Paxos变种算法的发展历程,以及Fast Paxos和EPaxos等变种算法的相关知识;第4篇番
本书以宏晶科技公司STC8系列增强型51单片机作为讲述核心,深入浅出地介绍该系列单片机片内资源及应用,其内容可在STC8A、STC8F、STC8C、STC8G及STC8H等系列单片机中应用。本书以各种巧例解释相关原理,以资源组成构造学习脉络,选取主流开发工具构建开发环境,利用实战项目深化寄存器理解,注重 学 与 用 的结合,帮助读者朋友们快乐入门、进阶,筑牢基础,将相关理论知识应用到实际产品研发之中。 本书根据STC8系列单片机的资源脉络及初学者的学习需求,按照梯度设定22章,从内容组成上分为 无痛入门基础篇 和 片内资源进阶篇 。 无痛入门基础篇从第1章到第8章,主要讲解单片机的发展、学习方法、STC8系列单片机家族成员、软/硬件开发环境搭建及调试、I/O资源使用和配置、LED器件控制、A51和C51语言开发差异及特点、常见字符/点阵型液晶模块的驱动、独立按
"本书是一本面向网络安全初学者的入门和实战指南。本书以精心挑选出来的11台Vulnhub靶机为核心,全面分析并介绍了渗透测试的思路、流程以及在每个测试环节所涉及的主要知识点和操作方法。全书共分为4篇15章,前两篇主要介绍了渗透测试的流程、概念和方法,第3、4篇主要介绍了SQL注入、文件上传、文件包含这3种主流的Web安全漏洞。本书的**特色是理论与实战深入结合,尤其是在前两篇,都是通过对靶机实战从而引出了所要介绍的知识点。经过实践验证,这是一种对初学者比较友好的讲解方式,便于读者快速理解渗透测试的思路和流程。后两篇则是在此基础上的进阶,需要读者先从代码层面理解Web漏洞的产生原因,再进而通过对靶机实战掌握其应用方法。本书的读者对象包括网络安全爱好者、职业技能大赛和CTF比赛的参赛队员,以及希望通过实战项目提升技能
本书从实际应用出发,通过35个典型实例系统地介绍了组态软件MCGS的设计方法及其监控应用技术。全书分为两篇:入门基础篇包括组态软件概述,组态软件MCGS应用基础及初、高级应用实例;监控应用篇采用组态软件MCGS实现多个监控设备(包括三菱PLC、西门子PLC、远程I/O模块、PCI数据采集卡等)的模拟电压输入/输出、数字量输入/输出、温度监控等功能。设计实例由设计任务、线路连接、任务实现等部分组成,每个实例均提供详细的操作步骤。
《敏捷软件开发(珍藏版)》作为敏捷软件开发的里程碑之作,重点介绍了敏捷软件开发的原则、模式和实践。全书共6部分30章4个附录,以场景化方式阐述了什么敏捷软件开发的核心,强调了工程实践是敏捷软件开发的重要基石。本书的写作风格诙谐幽默,巧妙地通过通俗易懂和画面感十足的的表述漫画来帮助读者理解可能枯燥晦涩的专业技术要点。 《敏捷软件开发(珍藏版)》适合真正想要通过敏捷方式来提升软件开发技能以及及时交付软件价值的所有读者阅读和参考。
通过本书你将了解到如何使用、部署和维护Apache Spark开源集群计算框架。本书由Spark的创始人所撰写,重点介绍Spark*版本的新功能和新特点。本书将Spark功能分解为若干独立主题来进行全面介绍。 本书的主要内容有: 大数据技术和Spark概述。 通过实例学习DataFrame、SQL、Dataset等Spark的核心API。 了解Spark的低级API实现,包括RDD以及SQL和DataFrame的执行过程。 了解Spark如何在集群上运行。 Spark集群和应用程序的调试、监控、和调优。 学习Spark强大的流处理引擎 结构化流处理。 学习MLlib并了解如何应用它解决包括分类、推荐,以及其他多种实际问题。
本书从PLC基础入门和工程实践出发,涵盖内容包括电气控制基础、S7-1500 PLC编程技术及项目应用实践。电气控制部分包括常用低压电器的工作原理及选型、电气控制电路的分析与设计等;PLC编程技术以西门子S7-1500 PLC为主线,详细介绍了S7-1500 PLC的硬件结构和指令体系,同时还介绍了西门子人机界面的相关设计方法,重点讲解了西门子*TIA博途软件的使用,并将S7-1500 PLC系统的知识体系贯穿于PLC项目应用实践中。 本书可作为高等院校自动化、电气工程及其自动化、机器人工程、计算机科学与技术、机械设计制造及其自动化等相关专业的教材,也可作为工程技术人员培训及自学参考使用。
短短几年时间, Scrum 跃升为敏捷*方法,在全球各地得以普遍应用。针对如何用好、用巧这个看似简单的框架,本书以通俗易懂的语言、条理清晰的脉络阐述和提炼出 Scrum 的精髓。全书共 4 部分 23 章,阐述了七大核心概念: Scrum 框架,敏捷原则,冲刺,需求和用户故事,产品订单,估算与速率,技术债;五大角色:产品负责人, ScrumMaster ,开发团队, Scrum 团队结构,经理: Scrum 规划原则及四大规划活动:多层次规划、产品组合规划、产品规划和长期规划;冲刺四大活动:规划、执行、评审和回顾。 本书取自作者十多年的实践经验,对员工个体和管理层都具有重要的指导和参考意义,可以帮助企业导入 Scrum 方法实现敏捷转型,从而在动态的商业环境中以积极的心态拥抱变化,做出优秀、卓越的产品,成就创业、守业、常青基业。
本书立足实践,以通俗易懂的方式详细介绍深度学习的基础理论以及相关的必要知识,同时以实际动手操作的方式来引导读者入门人工智能深度学习。本书的读者只需具备Python语言基础知识,不需要有数学基础或者AI基础,按照本书的内容循序渐进地学习,即可快速上手深度学习。本书配套示例源码、PPT课件、数据集、开发环境与答疑服务。 本书共分13章,主要内容包括人工智能、机器学习和深度学习之间的关系、深度学习的环境搭建、深度学习的原理、深度学习框架TensorFlow和Keras、卷积神经网络相关知识、图像识别、情感分析、迁移学习、人脸识别、图像风格迁移、生成对抗网络等内容。本书从简单的常识出发来切入AI领域,打造平滑和兴奋的学习 体验。 本书作为零基础入门书,既适合希望了解深度学习、使用深度学习框架快速上手的初学者和技术人员阅读,
《高质量需求(英文限量版)》从软件需求领域中萃取出20 个核心的实践,覆盖需求过程六大环节:需求的计划、启发、分析、规范、验证和管理节。本书可以帮助团队在短时间内了解和发现更精准的需求,通过充分的沟通和协作来得到更好的解决方案,以更有利于实现持续价值交付的顺序实现更有价值的功能,让业务得以持续和增长。 《高质量需求(英文限量版)》尤其适合商业分析师、需求工程师、产品经理、产品负责人和开发人员阅读和参考,可以帮助他们合力打造出可持续增长的业务。
在软件领域,很少能有像《人月神话》一样具有深远影响力和不衰的著作。Brooks 博士为人们管理复杂项目提供了洞察力的见解,既有很多发人深省的观点,又有大量软件工程的实践。本书内容来自Brooks 博士在IBM 公司SYSTEM /360 家族和OS /360 中的项目管理经验,该项目堪称软件开发项目管理的典范。该书英文原版一经面世,即引起业内人士的强烈反响,后又译为德、法、日、俄、中、韩等多种文字,全球销售数百万册。确立了其在行业内的经典地位。 在《人月神话》次出版40 年后的今天,我们重新整理了Brooks 博士的经典内容,并将软件开发领域先行者们对《人月神话》中的实践及系统理论的使用经验和心得集结成册免费赠与大家共享,更使本书成为从业者的经典之一。 本书读者包括:软件开发人员、软件项目经理、系统分析师等IT 从业者。
本书是网易杭州研究院项目管理部十年来丰富的项目管理实践总结与干货分享。字字句句凝结了网易项目经理的甘与苦、汗与泪。全书围绕项目管理体系,从敏捷实践、项目立项、需求管理、沟通管理,到计划进度管理、风险管理,真实反映了网易面向互联网产品项目管理实战经验与心路历程。不论你是项目管理新手,还是资深项目经理,都可以从本书中获得启发与借鉴。