liveBook · Manning

What you will learn in AI-Powered Developer: Build software with ChatGPT and Copilot

Build software with ChatGPT and Copilot

by Nathan B. Crocker

Chapter by chapter

Chapter 1: Understanding large language models

1.1 Accelerating your development · 1.2 A developer’s introduction to LLMs · 1.3 When to use and when to avoid generative AI · 1.4 Summary

What you learn in chapter 1 →

Chapter 2: Getting started with large language models

2.1 A foray into ChatGPT · 2.1.1 Navigating nuances with GPT-4 · 2.1.2 Charting paths with GPT-3.5 · 2.1.3 Navigating the AI seas: From the shores of GPT-3.5 to the horizons of GPT-4 · 2.2 Let Copilot take control · 2.3 Let CodeWhisperer speak loudly · 2.4 Comparing ChatGPT, Copilot, and CodeWhisperer · 2.5 Summary

What you learn in chapter 2 →

Chapter 3: Designing software with ChatGPT

3.1 Introducing our project, the information technology asset management system · 3.2 Asking ChatGPT to help with our system design · 3.3 Documenting your architecture · 3.4 Summary

What you learn in chapter 3 →

Chapter 4: Building software with GitHub Copilot

4.1 Laying the foundation · 4.1.1 Expressing our domain model · 4.1.2 Favoring immutability · 4.1.3 Decorating our favorite classes · 4.1.4 Adapting a strategy for depreciation · 4.2 Weaving patterns, patterns, patterns · 4.2.1 Paying a visit to our department · 4.2.2 Creating objects in a factory (pattern) · 4.2.3 Instructing the system on how to build · 4.2.4 Observing changes · 4.3 Plugging in ports and adapters · 4.3.1 Hexagonal architecture in review · 4.3.2 Driving our application · 4.3.3 Accessing our data and persisting our changes · 4.3.4 Centralizing (and externalizing) our data access · 4.4 Summary

What you learn in chapter 4 →

Chapter 5: Managing data with GitHub Copilot and Copilot Chat

5.1 Amassing our dataset · 5.2 Monitoring our assets in real time with Kafka · 5.3 Analyzing, learning, and tracking with Apache Spark · 5.4 Summary

What you learn in chapter 5 →

Chapter 6: Testing, assessing, and explaining with large language models

6.1 Testing, testing … one, two, three types · 6.1.1 Unit testing · 6.1.2 Integration testing · 6.1.3 Behavior testing · 6.2 Assessing quality · 6.3 Hunting for bugs · 6.4 Covering code · 6.5 Transliterating code—from code to descriptions · 6.6 Translating from one language to another · 6.7 Summary

What you learn in chapter 6 →

Chapter 7: Coding infrastructure and managing deployments

7.1 Building a Docker image and “deploying” it locally · 7.2 Standing up infrastructure by copiloting Terraform · 7.3 Moving a Docker image around (the hard way) · 7.4 Moving a Docker image around (the easy way) · 7.5 Deploying our application onto AWS Elastic Kubernetes Service · 7.6 Setting up a continuous integration/continuous deployment pipeline in GitHub Actions · 7.7 Summary

What you learn in chapter 7 →

Chapter 8: Secure application development with ChatGPT

8.1 Modeling threats with ChatGPT · 8.1.1 Why it matters in today’s development landscape · 8.1.2 How ChatGPT can aid in threat modeling · 8.1.3 Case study: Simulating threat modeling with ChatGPT · 8.2 Scrutinizing application design and identifying potential vulnerabilities · 8.2.1 Evaluating design problems · 8.2.2 Recognizing common vulnerabilities · 8.3 Applying security best practices · 8.3.1 Setting the security mindset · 8.3.2 Continuous security testing · 8.4 Encrypting data at rest and transit · 8.4.1 The importance of data encryption · 8.4.2 Data encryption at rest · 8.4.3 Data encryption in transit · 8.5 Summary

What you learn in chapter 8 →

Chapter 9: GPT-ing on the go

9.1 Motivating theory · 9.2 Hosting your own LLM · 9.2.1 Baselining with ChatGPT · 9.2.2 Asking Llama 2 to spit out an answer · 9.2.3 Democratizing answers with GPT-4All · 9.3 Summary

What you learn in chapter 9 →

Concepts explained in this book

These guides are generated from the text of Manning books by Manning's knowledge graph and link to the sections they draw on. The full books are available on liveBook and at manning.com.