Fr. 65.00

AI-Assisted Coding - The Practical Guide for Software Development

Inglese · Tascabile

Pubblicazione il 06.08.2025

Descrizione

Ulteriori informazioni

Generative AI is transforming software development. Stay on the cutting edge with this guide to AI pair programming! Learn how to make the most of modern tools like ChatGPT and GitHub Copilot to improve your coding. Automate refactoring, debugging, and other tedious tasks, and use techniques such as prompt engineering and retrieval-augmented generation to get the code you need. Follow practical examples that show how you can program faster, more efficiently, and with fewer errors with the help of AI.

In this book, you'll learn about:

a. Hype versus Reality
Learn from expert developers to understand the possibilities (and pitfalls) of AI tools. With the help of practical code examples, see how to use AI helpers correctly to their full potential.

b. Assistants for All Tasks
This guide gives you an up-to-date overview of all aspects of AI-assisted coding: GitHub Copilot autocompletions, project bootstrapping with OpenHands, debugging and refactoring, application development, and more.

c. In the Cloud or Local?
Use OpenAI's API to integrate AI models directly into your own scripts and automations-or use local large language models (LLMs) to work independently of cloud services.

Highlights include:

1) Structured programming with AI
2) Debugging
3) Unit testing
4) Refactoring
5) Automatic document creation
6) Database development and design
7) Scripting and administration
8) Local large language models (LLMs)
9) Retrieval-augmented generation (RAG)
10) ChatGPT and GitHub Copilot
11) OpenHands
12) OpenAI API

Sommario

... Preface ... 17

... Local Execution of Language Models ... 17

... Coding with AI Support for Advanced Users ... 18

... AI Makes Mistakes and Hallucinates ... 19

... The Three Stages of Using AI ... 19

... There's No Getting around AI Tools ... 20

Part I ... Coding with AI Support ... 23

1 ... Introduction ... 25

1.1 ... Coding via Chat ... 25

1.2 ... The Art of Prompting ... 34

1.3 ... Code Wizards ... 41

1.4 ... Chat or Wizard? ... 52

1.5 ... Basic Principles of Large Language Models ... 53

2 ... Pair Programming ... 67

2.1 ... Structuring Code into Functions ... 68

2.2 ... Example: IBAN Validation ... 76

2.3 ... Object-Oriented Programming ... 83

2.4 ... Example: Quiz ... 91

2.5 ... Example: Solving Sudoku ... 97

3 ... Debugging ... 107

3.1 ... Web Applications ... 108

3.2 ... App Development ... 116

3.3 ... Developing on Raspberry Pi ... 119

3.4 ... Visual Studio and Visual Studio Code ... 122

3.5 ... Conclusion ... 125

4 ... Refactoring ... 127

4.1 ... Introduction to Refactoring ... 127

4.2 ... Refactoring Using AI Tools ... 128

4.3 ... Best Practices ... 141

4.4 ... Conclusion ... 142

5 ... Testing Software ... 145

5.1 ... Generating Test Data ... 146

5.2 ... AI-Supported Test Automation ... 149

5.3 ... Test-Driven Development with AI ... 155

5.4 ... Using Dependencies ... 161

5.5 ... Optimizing Tests ... 167

5.6 ... End-to-End Tests ... 174

5.7 ... Conclusion ... 178

6 ... Documenting Software ... 179

6.1 ... Challenges with Documentation ... 180

6.2 ... Inline Documentation ... 181

6.3 ... Function and Class Documentation ... 184

6.4 ... API Documentation ... 187

6.5 ... Outdated Documentation ... 191

6.6 ... Conclusion ... 194

7 ... Databases ... 195

7.1 ... Database Design ... 195

7.2 ... SQL Commands ... 205

7.3 ... Administration ... 213

7.4 ... Client Programming ... 219

8 ... Scripting and System Administration ... 221

8.1 ... Scripting ... 221

8.2 ... Example: Converting a Python Script to PHP Code ... 228

8.3 ... Regular Expressions ... 230

8.4 ... System Administration ... 234

8.5 ... Example: "wget" Script Plus "tmpfs" Configuration ... 240

8.6 ... Calling GitHub Copilot and ChatGPT in the Terminal ... 245

Part II ... Local Language Models and Advanced AI Tools ... 251

9 ... Executing Language Models Locally ... 253

9.1 ... Spoiled for Choice of Large Language Model ... 254

9.2 ... GPT4All ... 259

9.3 ... Ollama ... 262

9.4 ... Open WebUI for Ollama ... 267

9.5 ... Continue ... 275

9.6 ... Ollama API ... 277

9.7 ... Tabby ... 280

9.8 ... Conclusion ... 282

10 ... Automated Code Processing ... 285

10.1 ... OpenAI API ... 286

10.2 ... Ollama API ... 297

10.3 ... Groq API ... 299

10.4 ... Example: Automated Commenting of Code ... 301

10.5 ... Example: From Python 2 to Python 3 ... 308

11 ... Level 3 Tools: OpenHands and Aider ... 313

11.1 ... OpenHands ... 314

11.2 ... Using OpenHands ... 320

11.3 ... Aider ... 323

11.4 ... Using Aider ... 328

12 ... Retrieval-Augmented Generation and Text-to-SQL ... 337

12.1 ... RAG Quick Start ... 338

12.2 ... The Viel-Falter (Many Butterflies) Project ... 341

12.3 ... Loading Documents ... 343

12.4 ... Creating an Index ... 345

12.5 ... Vector Store Databases ... 348

12.6 ... RAG Queries ... 351

12.7 ... Text-to-SQL ... 355

13 ... Risks and Outlook ... 367

13.1 ... Issues and Limitations of Using AI Tools ... 367

13.2 ... Exemplary AI Failure ... 370

13.3 ... Ethical Issues ... 381

13.4 ... Conclusions and Outlook ... 384

... The Authors ... 389

... Index ... 391

Info autore

Michael Kofler is a programmer and one of the most successful and versatile computing authors in the German-speaking world. His current topics include AI, Linux, Docker, Git, hacking and security, Raspberry Pi, and the programming languages Swift, Java, Python, and Kotlin. Michael also teaches at the Joanneum University of Applied Sciences in Kapfenberg, Austria.Bernd Öggl is an experienced system administrator and programmer. He enjoys experimenting with new technologies and works with AI in software development using GitHub Copilot. He is particularly interested in local large language models (LLMs) and advancements such as OpenHands and retrieval-augmented generation (RAG).Sebastian Springer is a JavaScript engineer at MaibornWolff. In addition to developing and designing both client-side and server-side JavaScript applications, he focuses on imparting knowledge. He inspires enthusiasm for professional development with JavaScript as a lecturer for JavaScript, a speaker at numerous conferences, and an author. Sebastian was previously a team leader at Mayflower GmbH, a premier web development agency in Germany. He was responsible for project and team management, architecture, and customer care for companies such as Nintendo Europe and Siemens.

Riassunto

Generative AI is transforming software development. Stay on the cutting edge with this guide to AI pair programming! Learn how to make the most of modern tools like ChatGPT and GitHub Copilot to improve your coding. Automate refactoring, debugging, and other tedious tasks, and use techniques such as prompt engineering and retrieval-augmented generation to get the code you need. Follow practical examples that show how you can program faster, more efficiently, and with fewer errors with the help of AI.

In this book, you’ll learn about:

a. Hype versus Reality
Learn from expert developers to understand the possibilities (and pitfalls) of AI tools. With the help of practical code examples, see how to use AI helpers correctly to their full potential.

b. Assistants for All Tasks
This guide gives you an up-to-date overview of all aspects of AI-assisted coding: GitHub Copilot autocompletions, project bootstrapping with OpenHands, debugging and refactoring, application development, and more.

c. In the Cloud or Local?
Use OpenAI’s API to integrate AI models directly into your own scripts and automations—or use local large language models (LLMs) to work independently of cloud services.

Highlights include:

1) Structured programming with AI
2) Debugging
3) Unit testing
4) Refactoring
5) Automatic document creation
6) Database development and design
7) Scripting and administration
8) Local large language models (LLMs)
9) Retrieval-augmented generation (RAG)
10) ChatGPT and GitHub Copilot
11) OpenHands
12) OpenAI API

Dettagli sul prodotto

Autori Michael Kofler, Bernd Öggl, Sebastian Springer
Editore Rheinwerk Verlag
 
Lingue Inglese
Formato Tascabile
Pubblicazione 06.08.2025
 
EAN 9781493226931
ISBN 978-1-4932-2693-1
Pagine 395
Categorie Scienze naturali, medicina, informatica, tecnica > Informatica, EDP > Linguaggi di programmazione

Englisch, Artificial Intelligence (AI), AI assistants, pair programmers

Recensioni dei clienti

Per questo articolo non c'è ancora nessuna recensione. Scrivi la prima recensione e aiuta gli altri utenti a scegliere.

Scrivi una recensione

Top o flop? Scrivi la tua recensione.

Per i messaggi a CeDe.ch si prega di utilizzare il modulo di contatto.

I campi contrassegnati da * sono obbligatori.

Inviando questo modulo si accetta la nostra dichiarazione protezione dati.