本书是一本全面、深入解析与算法竞赛有关的数据结构、算法、代码的计算机教材。 本书包括十个专题: 基础数据结构、基本算法、搜索、高级数据结构、动态规划、数论和线性代数、组合数学、计算几何、字符串和图论。本书覆盖了绝大多数算法竞赛考点。 本书解析了算法竞赛考核的数据结构、算法; 组织了每个知识点的理论解析和经典例题; 给出了简洁、精要的模板代码; 通过明快清晰的文字、透彻的图解,实现了较好的易读性。 本书的读者对象是参加算法竞赛的中学生和大学生、准备面试IT企业算法题的求职者、需要提高算法能力的开发人员,以及对计算机算法有兴趣的广大科技工作者。
本书共8章,第1章概述AI(Artificial Intelligence,人工智能)系统,介绍机器学习的模型和分类,以及AI系统对测试工程师“提出”的新问题等;第2章介绍数据的处理过程,以及数据的分组方法,详细介绍依托测试数据的测试评价方法;第3章讲解模型中超参数相关的概念,以及关于模型性能的评估指标,并介绍了较为主流的模型的基准测试;第4章重点介绍AI系统的测试用例设计方法,以及传统软件测试方法在AI系统测试中的应用,同时也介绍ChatGPT类应用中SSE(Server-Sent Events)协议的接口测试和LangSmith在测试过程中的使用方法;第5章介绍AI道德的验证,这也是大模型涌现后绝大多数大模型专家所关注的内容,该章重点介绍大模型的“道德”内容及验证方法;第6章介绍提示词工程和软件测试,我们既要能够测试大模型的应用,也要能够充分利用大模型完成测试工作,该章
你知道你不想重新发明轮子,因此你指望设计模式能帮上忙 那些面对相同软件设计问题的人所学到的教训。有了设计模式,你就可以借助他人的实践和经验,把时间花在一些更有挑战性、更有趣的事情上。本书展示了重要的模式;何时使用、为什么使用这些模式;如何在自己的设计中应用这些模式;模式所基于的面向对象设计原则。无数开发人员通过这本书提升了面向对象设计技能,来加入他们的队伍吧。
本书分为软件基础入门与应用实例两大部分,全书共计17章节。1~11章节为软件基础入门,其内容以热仿真工作流程、建立模型、网格划分、求解计算、结果处理、优化设计和仿真模型校核为主。12~17章节为软件应用实例部分,其内容主要由BGA封装芯片、户外通信机柜、数据中心、智能手机、服务器六个应用实例组成。本书内容丰富、讲解详尽,在介绍FloTHERM软件的同时,也注重相关背景原理的阐述和软件实际应用的注意事项。其中软件基础内容多来自作者的多年积累和整理。仿真模型的校准作为热仿真分析的重中之重,本书中也进行了细致的阐述。应用实例内容涵盖软件不同的应用领域,对于软件使用者而言,具有很强的实际指导意义。本书可以作为电子设备热仿真工作者、热设计工程师和FloTHERM软件使用者的自学教材和参考书,同时也可以作为高等院校学
通过本书你将了解到如何使用、部署和维护Apache Spark开源集群计算框架。本书由Spark的创始人所撰写,重点介绍Spark*版本的新功能和新特点。本书将Spark功能分解为若干独立主题来进行全面介绍。 本书的主要内容有: 大数据技术和Spark概述。 通过实例学习DataFrame、SQL、Dataset等Spark的核心API。 了解Spark的低级API实现,包括RDD以及SQL和DataFrame的执行过程。 了解Spark如何在集群上运行。 Spark集群和应用程序的调试、监控、和调优。 学习Spark强大的流处理引擎 结构化流处理。 学习MLlib并了解如何应用它解决包括分类、推荐,以及其他多种实际问题。
探索软件的起源与演进,呈现软件发展史上的重要人物和事件。按软件的孕育、诞生、发展、改进、壮大过程分为六篇。 第一篇 潜龙勿用 追溯二进制数与中国文化的渊源、莱布尼茨发明二进制算术的动机和背景、穿孔卡片与二进制数的结合、穿孔卡片在自动提花机和自动计算中的应用、巴贝奇制作分析引擎的艰辛历程、世界上第一个计算机程序的诞生过程。 第二篇 见龙在田 1936年图灵机模型横空出世。世界各地的发明家陆续开始制作计算机,世界上第一台可编程计算机在德国诞生,第一台电子数字计算机ABC在美国诞生,随后为曼哈顿项目做出重要贡献的机械式通用计算机马克一号悄悄登场,第一台通用数字计算机ENIAC问世。冯?诺依曼完成在计算机历史上具有里程碑意义的《第一草稿》。 第三篇 终日乾乾 1945年图灵提出ACE提案,着手制造电子计算机,同时构
随着云服务、虚拟机、微服务的发展和普及,现在的软件开发任务对程序员的要求越来越高,除了会写代码,懂业务规则,程序员还必须清楚自己的代码是如何部署到云端或虚拟机上的,以及如何借助微服务缩短发布周期,提高部署效率。换句话说,现在的程序员必须掌握一定的DevOps知识。本书是全面系统地讲解了现代软件开发涉及的部署与运维基础知识(包括虚拟化、云、容器、平台安全、微服务、系统配置、布署流水线、灾难恢复等)、流程、常用工具,帮助读者快速胜任软件开发工作。
你可曾想过测试驱动开发的真正含义吗?你又曾想过高级顾问是如何运用*实践赚取高额钟点费的吗?或许,你正准备进行自动化的构建,使代码在版本控制之中,为软件进行重构,并将一些设计模式集成到你的软件系统之中。在你完成本书阅读之时,你将能跟踪工作量完成状况,解释开发团队中开发人员的编码能力与时间效率值,并且为项目反复进行需求、设计、开发与部署等工作。 我们认为你的时间宝贵,不应该浪费在努力理解新概念之中。利用*的认知科学与学习理论的研究成果,《Head First软件开发》采取专为大脑工作而设计的丰富视觉化风格,而不是令人昏昏欲睡的冗赘叙述。
ThinkPHP是一个免费开源、快速、简单、面向对象、轻量级的PHP开发框架,已经成长为国内最领先和最具影响力的Web应用开发框架,众多的典型案例可以表明它稳定用于商业以及门户级网站的开发。《ThinkPHP8高效构建Web应用》通过丰富的代码示例和详细的讲解,帮助读者快速上手ThinkPHP,高效构建Web应用。《ThinkPHP8高效构建Web应用》配套示例源码、作者答疑服务。 《ThinkPHP8高效构建Web应用》共分17章,由浅入深地讲解ThinkPHP应用开发方法,内容包括开发环境搭建、PHP 8新特性及其示例、MVC模式、ThinkPHP 8新特性、路由、控制器、数据库、模型、视图、异常管理与日志系统、命令行应用开发、Ubuntu服务器部署、多人博客系统开发、图书管理系统开发、论坛系统开发、微信小程序商城系统开发。 《ThinkPHP8高效构建Web应用》要求读者有PHP编程基础。本书适合ThinkPHP框架初学者、
本书是领域驱动设计方面的经典之作,修订版更是对之前出版的中文版进行了全面的修订和完善。 全书围绕着设计和开发实践,结合若干真实的项目案例,向读者阐述如何在真实的软件开发中应用领域驱动设计。书中给出了领域驱动设计的系统化方法,并将人们普遍接受的一些实践综合到一起,融入了作者的见解和经验,展现了一些可扩展的设计新实践、已验证过的技术以及便于应对复杂领域的软件项目开发的基本原则。
本书讲解了Python程序设计的基础知识,包括Python语言基础、函数与模块、常见数据结构、迭代器与生成器等,可作为高等学校计算机类专业和会计、经济、金融、心理学、统计等专业Python程序设计课程的教材。
《ANSYS ICEM CFD网格划分技术案例详解:视频教学版》通过大量工程案例由浅入深地介绍ICEM CFD网格划分的各种功能,重点讲解ICEM CFD进行网格划分,特别是结构化网格划分的方法。《ANSYS ICEM CFD网格划分技术案例详解:视频教学版》共分为12章,包括计算流体的基础理论与方法、创建几何模型、二维网格划分、三维网格划分、结构化网格划分、非结构网格划分、网格边界等功能的介绍,针对每个ICEM CFD可以解决的网格划分问题进行详细的讲解,并辅以相应的实例,使读者能够快速、熟练、深入地掌握ICEM CFD软件。 《ANSYS ICEM CFD网格划分技术案例详解:视频教学版》还提供了同步教学视频和上机练习素材文件,以方便读者更好地使用《ANSYS ICEM CFD网格划分技术案例详解:视频教学版》。 《ANSYS ICEM CFD网格划分技术案例详解:视频教学版》结构严谨,条理清晰,重点突出,非常适合
作为持续创新的动力源泉,设计思维是一种目标明确、体系清晰、以人为本的思维模式。本书共25章,由领先的行业专家和学者撰写,为个人和组织提供了在各种情境运用设计思维的工具、洞见和观点,包括新产品和服务的开发、新创企业、商业模式设计和流程改进。从本书中你将学到,以以人为本的创新方式深入挖掘客户的世界,以价值为基础,了解他们的需求;在以团队为基础的创新项目中*限度地发挥每个人的创意输出,在创新过程中的每个阶段提供支持和跨部门协作,在组织中的各个层面整合设计思维以解决*棘手的挑战。
本书详细地阐述了TMS320F28335DSP处理器内部各功能模块的硬件结构、工作原理、资源分配、功能特点以及应用等内容,同时每个模块都配了实验教程,方便学生掌握提高。 本书配套资料包括:书中所有实例例程、烧写软件工具、配套PPT、配套视频以及常用的调试工具软件,读者可以在研旭电气提供的ARMDSP技术交流论坛相关版块、或网站免费获取。 本书可作为DSP开发应用的入门级教材,也可作为其他层次DSP开发应用人员的参考手册。
这是一本访谈笔录,记录了当今个人魅力的15位软件先驱的编程生涯。包括DonaldKnuth、Jamie Zawinski、Joshua Bloch、Ken Thompson等在内的业界传奇人物,为我们讲述了 他们是怎么学习编程的,在编程过程中发现了什么以及他们对未来的看法,并对诸如应该如何设计软件等长久以来一直困扰很多程序员的问题谈了自己的观点。 本书适合所有程序员,也适合所有对计算机行业、对软件开发感兴趣的人。
Martin Fowler和本书另几位作者清楚揭示了重构过程,他们为面向对象软件开发所做的贡献,难以衡量。本书解释重构的原理(principles)和实践方式(best practices),并指出何时何地你应该开始挖掘你的代码以求改善。本书的核心是一份完整的重构名录(catalog of refactoring),其中每一项都介绍一种经过实证的代码变换手法(code transformation)的动机和技术。某些项目如Extract Method和Move Field看起来可能很浅显,但不要掉以轻心,因为理解这类技术正是有条不紊地进行重构的关键。本书所提的这些重构准则将帮助你一次一小步地修改你的代码,这就减少了过程中的风险。很快你就会把这些重构准则和其名称加入自己的开发词典中,并且朗朗上口。
本书讲述了一位IT经理临危受命,在未来董事的帮助和自己“三步工作法”理念的支撑下,最终挽救了一家具有悠久历史的汽车配件制造商的故事。小说揭示了管理现代IT组织与管理传统工厂的共通之处,让读者不仅能对如何管理IT组织心领神会,更重要的是将以完全不同于以往的视角来看待自己的工作环境。
《番茄工作法图解:简单易行的时间管理方法》介绍了时下流行的时间管理方法之一——番茄工作法。作者根据亲身运用番茄工作法的经历,以生动的语言,传神的图画,将番茄工作法的具体理论和实践呈现在读者面前。番茄工作法简约而不简单,本书亦然。在番茄工作法一个个短短的25分钟内,你收获的不仅仅是效率,还会有意想不到的成就感。《番茄工作法图解:简单易行的时间管理方法》适合所有志在提高工作效率的人员,尤其是软件工作人员和办公人员。