新書推薦:

《
无人机航拍酷炫运镜119招:从构图、拍摄到剪辑
》
售價:HK$
96.8

《
慢思考,快心流:深度开发大脑潜能的思维方式(一本精准的天才训练手册,一套超凡的心流打造功法。精进领航人小务虚脑洞再开,助你开发大脑无限潜能)
》
售價:HK$
63.8

《
《长河落日耀金戈——中国古代北方少数民族征战史例 》(以十场战争解读千年边塞历史,再现“铁马冰河入梦来”的热血豪迈)
》
售價:HK$
41.8

《
瀛波志(大都会南部边缘的乌夜与拂晓,社幻小说家的机械奇趣宇宙志。一部百科全书式小说,陆源将中文重新淬炼了一遍)
》
售價:HK$
107.8

《
黑暗时代的哲学家(哲学版的《人类群星闪耀时》,面对历史的洪流,哲学何为?)
》
售價:HK$
85.8

《
国魂 : 甲午( 全三册)
》
售價:HK$
178.2

《
我想当数学家
》
售價:HK$
153.8

《
产业变局与四个“铁三角”(精准锚定产业演进方向,高效挖掘变局创新机遇)
》
售價:HK$
63.8
|
編輯推薦: |
在本书中,资深软件开发人员兼GitHub社区杰出贡献者Kurt Dowswell进行了实用且实操性的讨论,介绍如何使用GitHub基于人工智能的编码助手Copilot来加速你的编码过程。在这本书中,你将了解到Copilot的功能如何突破你以往在VS Code中使用TabNine等自动补全工具时对编程可能性的认知界限。这本书深入探讨了GitHub这款最新的开创性编程工具,带你全面了解Copilot的各个相关方面,从安装和配置的入门操作,到使用最受欢迎的功能、与该工具进行交互、使用商业功能,以及学习如何使用Copilot企业版。你甚至还会学到如何根据规格说明进行编程、修复运行时和编译错误,以及编写单元测试、集成测试和端到端测试。对于从业程序员、开发人员和软件工程师来说,本书是一本不容错过的案头参考书。对于正在学习的程序员和其他IT从业者而言,本书也是扩展技能集、拓宽和加深编程知识的重要资源 。
|
內容簡介: |
本书是一本了解和掌握GitHub Copilot及AI编程的实用参考书。全书共分为四部分:第一部分是GitHub Copilot入门知识,介绍基本概念、安装配置及试用方法;第二部分是GitHub Copilot的功能实战,包括代码补全的实际使用、与GitHub Copilot的对话及高效编程技巧;第三部分是GitHub Copilot的实际应用技巧,涉及学习新语言、编写单元测试、诊断与修复错误、代码重构、增强代码安全性、处理复杂的CI/CD流程、优化开发环境以及通用转换;第四部分是GitHub Copilot的高阶应用,包括如何负责任地使用GitHub Copilot,如何将它融入软件开发全生命周期,以及商业版与企业版的额外控制和安全特性等。本书适合程序员、软件开发人员和软件工程师阅读。
|
關於作者: |
库尔特·道斯韦尔(Kurt Dowswell)资深软件架构师,拥有超过13年为美国国防部提供企业级软件解决方案的经验。他是最早使用GitHub Copilot的开发者之一,也是GitHub的“社区杰出贡献者”,向全球开发者社区推广这款人工智能编码工具。
|
目錄:
|
Contents 目 录 译者序前言第一部分 GitHub Copilot入门第1章 GitHub Copilot简介21.1 为什么需要GitHub Copilot21.2 创建GitHub账户31.3 获取GitHub Copilot许可31.4 安装IDE插件31.4.1 下载Visual Studio Code41.4.2 安装GitHub Copilot插件41.4.3 在IDE中配置Copilot51.4.4 安装Node.js71.5 试运行Copilot71.5.1 准备工作81.5.2 探索Copilot81.6 结语121.7 参考文献12第2章 深入理解GitHub Copilot132.1 揭秘GitHub Copilot背后的AI 技术132.2 理解安全、隐私与数据处理142.2.1 消息传输142.2.2 数据存储142.2.3 安全增强152.3 了解版权保护152.4 探索GitHub Copilot信任中心162.5 结语172.6 参考文献17第二部分 GitHub Copilot功能实战第3章 探索代码补全203.1 代码补全功能简介203.2 使用Copilot进行代码补全213.2.1 预备知识213.2.2 文件命名213.2.3 顶层注释213.2.4 使用有意义的名称233.2.5 撰写明确注释243.2.6 引用打开的标签页263.3 探索工具栏与面板273.3.1 深入解析补全工具栏273.3.2 探索补全面板283.4 调整Copilot设置283.4.1 inlineSuggestCount303.4.2 length303.4.3 listCount303.5 利用键盘快捷键313.5.1 聚焦GitHub Copilot视图313.5.2 建议终端命令323.5.3 触发内联建议323.5.4 切换到下一条面板建议323.5.5 切换到上一条面板建议323.5.6 打开补全面板323.6 结语33第4章 与GitHub Copilot对话344.1 探索Copilot Chat344.1.1 侧边栏对话344.1.2 充分利用编辑器视图对话354.1.3 将对话拓展至新窗口354.1.4 引导对话走向正确方向374.1.5 运用内联对话374.1.6 探索快速对话374.2 使用Copilot Chat定义提示工程404.2.1 基础知识414.2.2 在对话中获取上下文424.3 精准掌控对话444.3.1 使用@workspace进行查询444.3.2 与@vscode互动524.3.3 利用@terminal学习544.4 结语54第三部分 GitHub Copilot的实际应用第5章 学习一门新的编程语言585.1 学习语言导论585.2 搭建开发环境595.2.1 准备工作595.2.2 安装指南595.3 学习基础知识615.3.1 准备工作615.3.2 学习C#615.4 创建控制台应用程序625.4.1 准备工作625.4.2 创建C#控制台应用程序625.5 阐释代码645.6 添加新代码665.7 学习测试675.7.1 通过选择创建上下文705.7.2 通过标签创建上下文705.7.3 运行测试715.8 结语725.9 参考文献73第6章 编写测试746.1 创建示例项目746.2 为现有代码添加单元测试756.2.1 以注释驱动单元测试的创建756.2.2 使用内联对话生成测试786.3 探索行为驱动开发806.4 结语85第7章 诊断与修复错误867.1 创建示例项目867.2 修正语法错误877.3 解决运行时异常897.4 处理终端错误927.5 结语95第8章 助力代码重构968.1 Copilot代码重构简介968.2 创建示例项目978.3 重构重复代码988.3.1 添加单元测试988.3.2 重构重复的错误处理代码1028.4 重构验证器1048.4.1 添加单元测试1048.4.2 提取验证代码至函数1058.5 重构不当变量名1088.6 代码文档与注释1098.6.1 方法文档1108.6.2 项目文档1108.7 结语113第9章 增强代码安全性1149.1 代码安全详解1149.2 创建示例项目1159.3 探索代码安全1169.3.1 使用HTTPS1179.3.2 实现验证1179.3.3 总结1199.4 发现和修复安全隐患1199.4.1 修复弱密码哈希1199.4.2 修复SQL注入1219.5 结语122第10章 加速DevSecOps实践12310.1 DevSecOps详解12310.2 简化容器12410.2.1 创建容器12410.2.2 部署容器12610.2.3 实施安全管控12610.3 自动化基础设施即代码12710.3.1 创建基础设施即代码12710.3.2 使用Terraform部署代码12910.3.3 实施安全控制措施13010.4 优化CI/CD流程13110.4.1 创建CI流水线13110.4.2 增设安全扫描13310.4.3 创建CD流水线13410.5 结语136第11章 优化开发环境13711.1 增强Visual Studio13711.1.1 准备工作13711.1.2 安装GitHub Copilot扩展13811.1.3 探索代码补全13911.1.4 与Copilot对话14111.2 强化Azure Data Studio14311.2.1 准备工作14311.2.2 安装GitHub Copilot扩展14311.2.3 创建数据库模式14411.2.4 插入测试数据14511.2.5 进行查询14611.3 助力JetBrains IntelliJ IDEA14711.3.1 准备工作14811.3.2 安装GitHub Copilot扩展14811.3.3 探索代码补全15011.3.4 与Copilot对话15111.4 增强Neovim15211.4.1 准备工作15211.4.2 安装GitHub Copilot扩展15211.4.3 探索代码自动补全15311.5 在GitHub命令行界面中使用 Copilot 15611.5.1 准备工作15611.5.2 安装GitHub Copilot扩展15611.5.3 获取Copilot代码提示15611.5.4 使用Copilot解释命令15911.5.5 为Copilot设置别名15911.6 结语16011.7 参考文献160第12章 通用转换16112.1 将自然语言转换为编程语言16112.2 JavaScript组件转换16312.3 CSS样式简化16512.4 非类型语言增强类型支持16912.5 框架与库之间的转换17012.5.1 Pandas转Polars17112.5.2 Express.js转Koa.js17312.6 面向对象语言的转换17512.7 数据库迁移17612.8 CI/CD平台迁移17912.9 遗留系统现代化18112.10 结语18412.11 参考文献185第四部分 GitHub Copilot的核心见解与高阶应用第13章 GitHub Copilot的AI 伦理见解与责任18813.1 负责任的AI简介18813.2 GitHub Copilot实施负责任 的AI探析18913.2.1 公平性18913.2.2 可靠性和安全性19113.2.3 隐私和保障19113.2.4 包容性19313.2.5 透明度19313.2.6 问责制19413.2.7 深入探索19513.3 负责任的AI编程19513.4 结语19613.5 参考文献196第14章 GitHub Copilot助力 软件开发生命周期19714.1 软件开发生命周期简介19714.1.1 需求19814.1.2 设计19814.1.3 编码19814.1.4 测试19814.1.5 部署19814.1.6 维护19814.2 AI在软件开发生命周期中的 应用评估19814.3 AI在软件开发生命周期中的 集成层级详解19914.3.1 第0级:不存在20014.3.2 第1级:初始20014.3.3 第2级:已管理20114.3.4 第3级:已定义20114.3.5 第4级:量化管理20214.3.6 第5级:优化20214.3.7 总结20314.4 GitHub Copilot在软件开发 生命周期中的应用展示20314.4.1 示例场景详解20414.4.2 需求收集20414.4.3 优化待办事项列表20614.4.4 使用Copilot进行规划20914.4.5 使用Copilot进行编程21014.4.6 使用Copilot进行测试21114.4.7 使用Copilot进行部署21314.5 应对挑战:AI应用与就业前景21414.6 结语21514.7 参考文献215第15章 探索GitHub Copilot 商业版与企业版21615.1 Copilot商业版与企业版简介21615.1.1 基础功能详解21715.1.2 Copilot商业版21815.1.3 Copilot企业版21915.2 在GitHub.com与Copilot交互21915.2.1 洞悉代码库概况22015.2.2 向Copilot咨询通用编程 问题22215.3 索引代码库以增强Copilot的 理解力22415.3.1 示例项目详解22415.3.2 检索增强生成技术简介22415.3.3 为代码库创建索引22515.3.4 代码库相关问题咨询22515.4 利用知识库获取更优答案22815.4.1 创建知识库22815.4.2 总结23315.5 借助Copilot Chat处理代码库 文件23415.5.1 使用Copilot解释代码23415.5.2 获取Copilot的改进建议23615.5.3 为当前线程附加上下文23615.6 借助Copilot增强拉取请求23815.6.1 了解拉取请求任务24015.6.2 借助Copilot进行代码修改24115.6.3 向功能分支提交变更24415.6.4 借助Copilot概括拉取请求24515.7 管理GitHub Copilot24715.7.1 管理访问权限24715.7.2 管理策略24715.7.3 内容屏蔽24815.7.4 审查审计日志24915.8 展望未来25015.8.1 用必应搜索增强结果25015.8.2 使用微调模型定制Copilot25115.8.3 Copilot Workspace增强 Copilot25115.9 结语25115.10 参考文献251本书结语253附录 扩展学习资源254术语表258
|
內容試閱:
|
The Translator’s Words 译者序 过去的半年,我有幸深入体验GitHub Copilot,并参与了这一工具在Thoughtworks内部项目中的学习和使用推广。在这一过程中,我首次通过GitHub Copilot的强大功能深切领略到了AI辅助编程的魅力,甚至打消了此前的诸多顾虑。GitHub Copilot宛如一位与我合作多年的程序员同事,每当我写下一个开头,完成一个操作或者提出一个问题时,它总能准确地理解我的意图,并讯速给出回应,无论是代码片段还是下一步的建议。恍惚之间,我松开键盘,不禁忆起了当年在Thoughtworks北京办公室的那段编程时光以及许多老朋友。机缘巧合之下,我接到了本书的翻译任务,这让我感到无比荣幸。能够以译者的身份,将高级软件开发工程师和GitHub社区贡献者Kurt Dowswell的精彩著作呈现给中文读者,我深感自豪。我们都清晰地看到,人工智能正逐步改变我们开展编程工作的方式,各类AI工具如雨后春笋般涌现。在众多工具之中,GitHub Copilot无疑是最为耀眼的一个,赢得了广泛的社区好评。本书应运而生,目的是帮助读者在AI 2.0时代全面了解并高效利用这个强大的AI编程助手,从而在这个快速变化的技术环境中与时俱进,始终保持个人和组织的卓越性。本书分为四部分,涵盖了GitHub Copilot从基础到高级的多方面内容,包括从基本的代码补全、学习新语言、编写测试、重构代码、调试诊断以及处理复杂的CI/CD流程,到如何将它融入软件开发的全周期中,如何协助确保代码安全以及如何负责任地使用等内容,其中:第一部分是GitHub Copilot的入门知识,介绍基本概念、安装配置及试运行方法等;第二部分是GitHub Copilot的功能实战,包括代码补全的实际使用、与Copilot的对话及高效编程技巧;第三部分是GitHub Copilot的实际应用技巧,涉及学习新语言、编写单元测试、诊断和修复错误、代码重构、增强代码安全性、通用转换以及处理复杂的CI/CD流程;第四部分是GitHub Copilot的核心见解与高阶应用,包括如何负责任地使用、如何将它融入软件开发全生命周期,以及商业版和企业版的额外控制和安全特性等。本书是一本了解和掌握GitHub Copilot及AI编程的实用参考书。作者在书中提供了丰富的示例和实用技巧,无论是编程新手还是经验丰富的开发者,都能跟随书中示例进行练习,轻松上手GitHub Copilot,体验这种高效、智能的编程交互方式的实际效果。或许你也会像我一样重新审视AI编程,打消顾虑。此外,本书也适合那些希望在组织中采纳和推广GitHub Copilot的团队阅读。在第四部分,作者分析了在企业中采纳GitHub Copilot需要考虑的各个方面。尤其是第14章提出的AI在企业软件开发生命周期的集成成熟度评估层级,从最初级的无流程状态(0级)到最高级的组织优化AI工具实施(5级),为在组织中实施和评估提供了宝贵的视角。随着人工智能技术的不断进步,像GitHub Copilot这样的AI驱动编程工具正在为软件开发带来新的机遇和挑战。因此,理解和掌握这些新技术,将是每位程序员和每个软件开发组织面临的重要课题。在此,衷心感谢作者Kurt Dowswell以及所有参与本书出版的团队成员。希望本书能为大家在编程中提供帮助和启发,让我们一同迎接AI驱动的未来。禚娴静Preface 前 言 欢迎阅读本书,这是一本关于GitHub Copilot的全面使用指南。随着编程的演进,开发工具和技术需要适应日益复杂的项目和更高效的开发需求。GitHub Copilot的出现代表了代码编写方式的重大变革,它将成为软件从业者未来编程过程中的得力助手。GitHub Copilot不仅是一种工具,它还在重塑结对编程的概念。传统的结对编程需要两名程序员在同一个工作站共同协作以编写更好的代码,而GitHub Copilot则是随时在线的AI编程搭档,能够提供代码建议、调试协助,甚至自主编写代码块。本书着重介绍GitHub Copilot在软件开发中的实际应用。从设置开发环境到提升代码安全和加速DevSecOps实践等高级话题,每章都通过深入探讨具体的案例进行分析,为你在实际工作中充分利用这一强大工具提供指导和帮助。读者可从本书官网(https://www.wiley.com/go/programminggithubcopilot)获取部分章节的入门项目代码文件,从而在阅读本书的同时跟随书中的实例进行操作。无论是资深的开发者还是刚起步的初学者,本书都将帮助你快速且全面地掌握GitHub Copilot的功能,提升编程技能,学习新的语言,重构代码等。致谢本书的创作离不开众多人的指导、支持和鼓励。首先感谢Kenyon Brown对我的信任,给予我完成本书的机会。衷心感谢Satish Gowrishankar的详细计划、组织和时间把控。他的监督使整个过程顺利且高效。深深感谢Janet Wehner协调内容并精准引导本书出版的每一步。特别感谢T. J. Corrigan提供宝贵的专业知识,并对技术方面进行细致的审阅。最后,我要感谢我的妻子Paige Lord-Dowswell。她的鼓励、洞见和智慧在我完成本书的过程中功不可没。Kurt Dowswell
|
|