展开全部

主编推荐语

AI时代程序员自救指南。

内容简介

本书是一本讲解如何用ChatGPT、Github Copilot X、Cursor等主流AIGC工具优化和提升软件开发全流程效率和质量的实战性著作。

全书以软件开发的流程位主线来组织内容,详细讲解了程序员、架构师、项目经理、产品经理、技术团队管理者们如何在技术方案构建、需求文档撰写、代码编写与注解、客户端开发、前端开发、后端开发、测试和调试、性能优化、疑难问题解决、产品设计、软件架构与设计、应试与面试12个主题充分发挥AIGC工具的潜能,在提高研发效率和质量的同时,提升自身的实力。

AIGC工具在软件研发12个主题的使用方法,全部以实战项目案例的方式展开讲解,有具体的工程化思路,也有可复用的提示词,还有对使用经验的总结和注意事项的提醒。只要跟着本书的案例实操一遍,就能顺利跃迁为AI时代的新程序员,与AI共同进化,成为不被AI淘汰的人。

目录

  • 版权信息
  • 前言
  • 第1章 AI智能化编程助手
  • 1.1 ChatGPT
  • 1.2 GitHub Copilot
  • 1.3 Cursor
  • 1.4 AutoGPT
  • 1.5 Bito
  • 1.6 Midjourney
  • 第2章 面向软件开发的提示工程
  • 2.1 写Prompt就是逐步明确需求的过程
  • 2.2 如何提问才能让ChatGPT更懂你
  • 2.3 让ChatGPT在每个环节都发挥作用
  • 2.4 提高ChatGPT的回答质量
  • 第3章 AI辅助编写技术文档
  • 3.1 技术文档概述
  • 3.2 架构设计文档
  • 3.3 技术方案文档
  • 3.4 技术标准文档
  • 3.5 总结
  • 第4章 AI辅助客户端编程
  • 4.1 AI辅助Android应用开发
  • 4.2 AI辅助iOS应用开发
  • 第5章 AI辅助前端编程
  • 5.1 AI辅助前端应用开发
  • 5.2 利用ChatGPT写代码
  • 5.3 利用ChatGPT在前端开发中快速生成Vue组件
  • 第6章 AI辅助后端编程
  • 6.1 AI辅助商城应用开发:用ChatGPT写简单的生鲜小超市项目
  • 6.2 快速生成接口文档
  • 第7章 AI辅助测试与调试
  • 7.1 AI辅助测试与调试应用案例
  • 7.2 如何让AI更好地辅助我们工作
  • 7.3 更多实践
  • 7.4 总结
  • 第8章 AI辅助应用性能优化
  • 8.1 发现性能问题
  • 8.2 编写高效的代码
  • 8.3 数据库优化
  • 8.4 网络传输优化
  • 8.5 异步处理
  • 8.6 内存管理
  • 第9章 AI辅助解决各种疑难杂症
  • 9.1 提升答题卡选项识别率
  • 9.2 解决程序性能问题
  • 9.3 解决图片锯齿问题
  • 9.4 警惕小众场景下的误导性回答
  • 第10章 AI辅助开发跑酷游戏
  • 10.1 游戏设计
  • 10.2 游戏架构设计
  • 10.3 代码实现
  • 10.4 AI对游戏研发的影响
  • 第11章 高阶Prompt与基于ChatGPT的产品应用开发
  • 11.1 英语陪聊教练
  • 11.2 利用ChatGPT自动输出当日新闻资讯
  • 11.3 利用UE创建数字人
  • 第12章 软件架构师如何使用AI技术提升工作效率
  • 12.1 架构师的类型
  • 12.2 软件架构师的工作职责
  • 12.3 AI辅助软件架构师实践
  • 第13章 AI辅助提升程序员求职、招聘与面试效率
  • 13.1 用ChatGPT理解面试题
  • 13.2 用ChatGPT出面试题
  • 13.3 让ChatGPT扮演面试官帮你查漏补缺
  • 后记
展开全部

评分及书评

3.7
3个评分
  • 用户头像
    给这本书评了
    5.0
    用好 AI 工具提升效率

    有启发 6 句话 1. 生成的代码块及代码修改不一定是最优的,但是基本符合需求 2. 审美也成为设计师之间的主要差异。对于 AI 生成的结果,设计师必须具备敏锐的感知和辨别能力,能够快速发现与需求不符的地方。只有及时进行 Prompt 语句的修改,才能大大提高工作效率 3.ChatGPT 在很多环节都做了深度参与,包括讨论商业计划、构建产品 demo、指导后台架构,以及撰写商业计划书 4.ChatGPT 给了一个相对完善的框架,我们照着框架去撰写系统设计方案就不会遗漏内容。关于效率提升方案,ChatGPT 给出了 70% 的内容,我们只要在其上做修改和组织,节省了从头开始编写文档的时间 5. 虽然 ChatGPT 无法为你创建完整的软件架构或应用程序的所有代码,但通过将复杂数字问题拆分成更小、更具体的问题,可以更有效地利用 ChatGPT 为你提供实质性的帮助 6.Prompt 应用场景,实际范例包含辅助 iOS 应用开发辅助前端应用开发生成项目打包配置文件构建正则表达式辅助商城应用开发快速生成接口文档辅助测试编写高效的代码解释代码架构设计出面试题重点整理 1.AI 智能化编程的价值主要有:提高编程效率,AI 能够自动完成重复性工作,减少编写和调试代码的时间
    提高编程质量,AI 可以通过学习和分析大量代码,提供代码改进建议,避免常见错误和漏洞
    降低学习门槛,AI 可以为初学者提供自动补全、自动纠错等功能,帮助他们更快地入门编程
    推动创新,AI 可以生成新的代码和算法,帮助开发人员快速探索新的解决方案
    2.InstructGPT: InstructGPT GPT 模型的一个变体,专门用于执行特定的任务。InstructGPT 通过在预训练阶段引入指导性的指令,使模型能够执行特定的任务,如编写代码、回答问题等。它通过引入人类反馈的强化学习(RLHF)等新的训练方式,大幅提升了语言生成能力,并且展现出了思维链和逻辑推理等多种能力 3.ChatGPT 在软件开发中有如下应用场景代码自动生成
    代码优化
    学习新技能
    Bug 修复
    代码模板生成
    代码翻译
    问题解答 4.GitHub Copilot OpenAI Codex 提供支持,OpenAI Codex 是由人工智能研究实验室 OpenAI 创建的人工智能模型 5. 生成的代码块及代码修改不一定是最优的,但是基本符合需求 6. 审美也成为设计师之间的主要差异。对于 AI 生成的结果,设计师必须具备敏锐的感知和辨别能力,能够快速发现与需求不符的地方。只有及时进行 Prompt 语句的修改,才能大大提高工作效率 7. 写 Prompt 就是逐步明确需求的过程,把需求描述清晰也不是那么容易,即便是一个现成的简单页面,也会遗漏掉很多的细节。但是经过一轮轮的迭代和反馈后,你不仅能快速发现自己的疏漏,还能快速验证很多想法 8. 一个 token 平均是 4 个字符,大约是 0.75 个英文单词或 0.5 个汉字 9. 主流模型的 token 数量限制如下:GPT-3.5-turbo:4096 tokenGPT-3.5-turbo-16k 16 385 tokenGPT-4:8192 tokenGPT-4-32k:32 768 token10. 如果代码较长或者工程较大,你就不能直接丢给 ChatGPT,需要自己先进行任务拆解 11.8 个 OpenAI 推荐的最佳实践使用最新的模型
    在提示开始处放置说明,并使用 #或 """ 分隔说明和上下文
    尽可能详细地描述所需上下文、结果、长度、格式、风格等
    给出示例以说明需求:展示所需内容的示例,这样模型更容易理解
    先尝试让模型 0 样本生成,不行的话再给出少量样本试试,若还不行,再去做大量样本的训练
    在说明中使用清晰、精确的语言
    不要只说不要做什么,而要说该怎么做
    使用具体的词汇来帮助模型生成正确的代码 12.ChatGPT 在很多环节都做了深度参与,包括讨论商业计划、构建产品 demo、指导后台架构,以及撰写商业计划书 13. 通过巧妙使用负面约束,可以对回答进行限制,以避免不合理或不准确的输出。但需要注意,负面约束应该以温和的方式引入,避免对 ChatGPT 的回答能力造成过度限制,从而降低回答质量 14.ChatGPT 给了一个相对完善的框架,我们照着框架去撰写系统设计方案就不会遗漏内容。关于效率提升方案,ChatGPT 给出了 70% 的内容,我们只要在其上做修改和组织,节省了从头开始编写文档的时间 15. 虽然 ChatGPT 无法为你创建完整的软件架构或应用程序的所有代码,但通过将复杂数字问题拆分成更小、更具体的问题,可以更有效地利用 ChatGPT 为你提供实质性的帮助 16. 通过 AI 的帮助,它可以帮你了解编程语言的基础概念、语法结构,然后生成可直接运行的代码进行调试学习,效率非常高,中间产生的任何问题都可以求助于 AI,学习效率加倍 17. 提问规则如下:确定问题的范围和细节:在向 AI 提出问题之前,请确保已经明确了问题的范围和细节。这将有助于 AI 更好地理解问题,并提供更准确的答案使用明确的语言:使用简单、明确的语言提出问题,避免使用复杂的语言或专业术语,这样 AI 更容易理解提出的问题给出足够的上下文信息:在提问时,提供足够的上下文信息,让 AI 更好地理解问题的背景和相关信息确认 AI 的回答是否符合预期:在 AI 给出回答后,请仔细检查是否符合您的预期。如果不符合,可以尝试重新提问或更改问题的表述使用特定的指令和格式:有些 AI 模型可以通过特定的指令和格式来控制输出。例如,可以使用 “生成” 指令来指示 AI 生成特定类型的输出,或使用特定的格式来控制输出的结构和格式多次尝试:如果对 AI 的输出不满意,可以尝试多次提问,或使用不同的问题表述或指令来控制输出 18. 使用 AI 技术时,需要注意:AI 技术目前仍然存在一定的局限性,尤其是在复杂的软件测试场景下,AI 可能无法完全覆盖所有的测试需求 AI 输出的结果需要经过人工审核和校验,以确保其准确性和可靠性在使用 AI 技术时,需要注意保护测试数据的安全性和隐私性 AI 技术的使用需要结合实际情况进行调整和优化,以达到最佳的测试效果 19. Prompt 辅助 iOS 应用开发 SwiftUI 零基础学习 SwiftUI 的框架学习 SwiftUI 基础语法学习帮我解析一下关键词 20. Prompt 辅助前端应用开发 Vue3 中 setup 函数在源码哪个位置呢?请给出这部分关键源码,并对这个函数调用逻辑进行分析用 JavaScript 实现一个 LRU 缓存算法 21.Prompt 生成项目打包配置文件请给我一个完整的 webpack.config.js 配置文件 Nginx 配置文件,启动端口为 8088,代理到本地服务端口 3000,增加 HTTPS 配置 22.Prompt 构建正则表达式帮我写一个正则表达式:需要 8~16 位字符,同时包括数字、大小写字母和特殊字符,其中特殊字符最多不能超过 3 个,且需要在 "@#$*_-+=:,.?[]{}" 范围内,并给出对应的测试案例给我一个 JavaScript 的正则表达式,截取 n 位小数,能四舍五入,并给出测试过程 23.Prompt 前端开发中快速生成 Vue 组件请以前端专家的角色,给出一个 Vue 版本的模态框组件请在 Vue 版本的模态框组件中加入确定提交和取消提交逻辑请在确认提交的逻辑中加入请求后端接口的代码,取消提交则关闭模态框请把标题、内容部分设置为可以支持动态传值自定义请在弹出模态框时加入渐变动画效果 24.Prompt 辅助商城应用开发一个简易的生鲜小超市的整体框架思路和流程是怎样的?如果要开发以上功能,基于 Go+MySQL+Redis Mac 上进行开发商城需要安装什么软件或配置什么环境?接着上面,开发方案需要分几步?请给生鲜超市创建一张用户表,用来存储用户相关的数据实现注册的功能,用 Go 语言伪代码展示接着上面的步骤实现注册功能的验证联系上文写一个注册的 h5 页面用于展示交互实现首页浏览商品及详情的过程是怎么样的?分几个步骤?基于上文实现首页商品获取及展示实现一个购物车的功能模块需要哪些步骤?根据上面的步骤实现添加购物车功能,并以伪代码展示实现显示购物车模块,需要从刚才存储添加购物车模块的数据库中读取数据支付下单的流程用代码实现有哪些步骤?根据上面的步骤,并给出部分伪代码实现支付代码流程需要哪些步骤?根据上面提供的思路和代码示例实现一个支付回调接口用代码实现查看订单详情需要哪些步骤?在服务器配置 Go 环境需要哪些步骤?25.Prompt 快速生成接口文档 | entrustId|long | 业务 ID||projectName|string | 项目名称 ||cityName|string | 城市名称 ||autoEntrustNo|string | 业务编号 | 请帮我用表格生成接口文档 26.Prompt 辅助测试根据以上文档生成测试范围根据以上文档输出需求分析文档、测试建议、注意事项 27.Prompt 编写高效的代码你是一个资深的算法工程师,请优化这段代码的性能,并在关键步骤处添加注释,结果仅返回优化后的代码,不要增加其他的文字,代码如下:你是一个资深的后端开发工程师,请分析以下代码中存在的问题,罗列出来,并返回优化后的代码。注意仅返回问题,不要做过多的描述,代码如下:现在有一个学生表,表中大概有 100 万条男生记录,我需要通过分页查询到其中第 90 万条之后的男生记录,应该如何优化我的 SQL?我的 SQL 如下:select * from student where gender = 'male' limit 10offset 900000;我们有搭载 96GB 内存和 16 核 CPU MySQL 服务器,业务 QPS 在 3000 以上,写入量为每秒 1000 行左右,请给出合理的参数配置并解释为什么 28.Prompt 解释代码解释这个链接中的代码,并给出一个清晰的逻辑流程描述。https://raw.githubusercontent.com/startmartin/chatgpt_book/main/recognition.py29.Prompt 架构设计我要实现一个跑酷游戏,我可以采用哪些架构模式?基于事件通信的架构和 Actor 模式有差异吗?我要实现一个跑酷游戏,有 playerbackgroundplay buttoncoin 几个模块,以及一个 gameManager 控制器,帮我输出架构图 30.Prompt 出面试题怎么考查一个 3 年左右工作经验的前端开发人员?如何面试?对于检查候选人的技能水平这一项,可以给出一套面试题吗?现在你是 XX 公司的 C++ 面试官,我准备应聘 XX C++ 开发岗的程序员。你来向我提出面试问题,每次问一道题,然后等我回答,我回答后,你对我的回答做出评价,然后提出下一个问题。如果你准备好了,可以向我问第一道题

      转发
      评论

    出版方

    机械工业出版社

    机械工业出版社是全国优秀出版社,自1952年成立以来,坚持为科技、为教育服务,以向行业、向学校提供优质、权威的精神产品为宗旨,以“服务社会和人民群众需求,传播社会主义先进文化”为己任,产业结构不断完善,已由传统的图书出版向着图书、期刊、电子出版物、音像制品、电子商务一体化延伸,现已发展为多领域、多学科的大型综合性出版社,涉及机械、电工电子、汽车、计算机、经济管理、建筑、ELT、科普以及教材、教辅等领域。