Refine home

This commit is contained in:
Teiva Harsanyi 2022-09-14 20:46:35 +02:00
parent 66b5298254
commit 96546e9847
No known key found for this signature in database
GPG key ID: 421EF65C3FD2F93C
3 changed files with 41 additions and 92 deletions

View file

@ -1,12 +1,26 @@
# 📖 100 Go Mistakes and How to Avoid Them # 100 Go Mistakes and How to Avoid Them
Source code and community space of [100 Go Mistakes and How to Avoid Them](https://www.manning.com/books/100-go-mistakes-and-how-to-avoid-them) published by Manning in October 2022 ([about the book](https://github.com/teivah/100-go-mistakes/blob/master/about.md)). Made by [@teivah](https://twitter.com/teivah). Source code and community space of 📖 [100 Go Mistakes and How to Avoid Them](https://www.manning.com/books/100-go-mistakes-and-how-to-avoid-them) published by Manning in October 2022. Made by [@teivah](https://twitter.com/teivah).
![](cover.png) ![](cover.png)
100 Go Mistakes and How to Avoid Them shows you how to replace common programming problems in Go with idiomatic, expressive code. In it, youll explore dozens of interesting examples and case studies as you learn to spot mistakes that might appear in your own applications.
> This should be the required reading for all Golang developers before they touch code in Production... It's the Golang equivalent of the legendary 'Effective Java' by Joshua Bloch.
Neeraj Shah
> "This unique book teaches you good habits by helping you identify bad ones. Harsanyi's writing style is engaging, the examples relevant, and his insights useful. I thought it was a great read, and I think you will too."
Thad Meyer
> "Not having this will be the 101st mistake a Go programmer could make."
Anupam Sengupta
## Common Go Mistakes ## Common Go Mistakes
🌎 This section contains the 100 mistakes in the book. However, it's also a section open to the community. If you believe that a mistake should be added, please create a [community mistake issue](https://github.com/teivah/100-go-mistakes/issues/new?assignees=&labels=community+mistake&template=community_mistake.md&title=). You can check the community propositions [here](https://github.com/teivah/100-go-mistakes/issues?q=is%3Aopen+is%3Aissue+label%3A%22community+mistake%22) and vote using the 👍 or the 👎 reactions on the issue itself. If an issue reaches a consensus, it will be added to the corresponding section below. This section contains a summary of the 100 mistakes in the book. Meanwhile, it's also a section open to the community. If you believe that a mistake should be added, please create a [community mistake issue](https://github.com/teivah/100-go-mistakes/issues/new?assignees=&labels=community+mistake&template=community_mistake.md&title=).
* [Code and Project Organization](#code-and-project-organization) * [Code and Project Organization](#code-and-project-organization)
* [Data Types](#data-types) * [Data Types](#data-types)
@ -532,3 +546,19 @@ Understanding how to tune the GC can lead to multiple benefits such as handling
#### Not understanding the impacts of running Go in Docker and Kubernetes (#100) #### Not understanding the impacts of running Go in Docker and Kubernetes (#100)
To help avoid CPU throttling when deployed in Docker and Kubernetes, keep in mind that Go isnt CFS-aware. To help avoid CPU throttling when deployed in Docker and Kubernetes, keep in mind that Go isnt CFS-aware.
## Inside Cover
![](inside-cover.jpg)
## About the Author
Teiva Harsanyi is a senior software engineer at Docker. He worked in various domains, including insurance, transportation, and safety-critical industries like air traffic management. He is passionate about Go and how to design and implement reliable applications.
## Resources
* How to make mistakes in Go (Go Time - episode #190)
* [Episode](https://changelog.com/gotime/190)
* [Spotify](https://open.spotify.com/episode/0K1DImrxHCy6E7zVY4AxMZ?si=akroInsPQ1mM5B5V2tHLUw&dl_branch=1)
* 8LU - 100% Test Coverage: [YouTube](https://youtu.be/V3FBDav6wgQ?t=1210)

View file

@ -1,81 +0,0 @@
# About the Book: 100 Go Mistakes and How to Avoid Them
https://www.manning.com/books/100-go-mistakes-and-how-to-avoid-them (-35% with the code **au35har**)
Spot errors in your Go code you didnt even know you were making and boost your productivity by avoiding common mistakes and pitfalls.
![](inside-cover.jpg)
_100 Go Mistakes and How to Avoid Them_ shows you how to:
* Dodge the most common mistakes made by Go developers
* Structure and organize your Go application
* Handle data and control structures efficiently
* Deal with errors in an idiomatic manner
* Improve your concurrency skills
* Optimize your code
* Make your application production-ready and improve testing quality
_100 Go Mistakes and How to Avoid Them_ puts a spotlight on common errors in Go code you might not even know youre making. Youll explore key areas of the language such as concurrency, testing, data structures, and more—and learn how to avoid and fix mistakes in your own projects. As you go, youll navigate the tricky bits of handling JSON data and HTTP services, discover best practices for Go code organization, and learn how to use slices efficiently.
## About the Technology
Understanding mistakes is the best way to improve the quality of your code. This unique book examines 100 bugs and inefficiencies common to Go applications, along with tips and techniques to avoid making them in your own projects.
## About the Book
_100 Go Mistakes and How to Avoid Them_ shows you how to replace common programming problems in Go with idiomatic, expressive code. In it, youll explore dozens of interesting examples and case studies as you learn to spot mistakes that might appear in your own applications. Expert author Teiva Harsanyi organizes the error avoidance techniques into convenient categories, ranging from types and strings to concurrency and testing.
## Table of Contents
1. Go: Simple to learn but hard to master
2. Code and project organization
3. Data types
4. Control structures
5. Strings
6. Functions and methods
7. Error management
8. Concurrency: Foundations
9. Concurrency: Practice
10. Standard library
11. Testing
12. Optimizations
## About the Reader
For developers proficient with Go programming and syntax.
## About the Author
Teiva Harsanyi is a senior software engineer at Docker. He worked in various domains, including insurance, transportation, and safety-critical industries like air traffic management. He is passionate about Go and how to design and implement reliable applications.
## Quotes
> "This should be the required reading for all Golang developers before they touch code in Production... It's the Golang equivalent of the legendary 'Effective Java' by Joshua Bloch."
Neeraj Shah
> "This unique book teaches you good habits by helping you identify bad ones. Harsanyi's writing style is engaging, the examples relevant, and his insights useful. I thought it was a great read, and I think you will too."
Thad Meyer
> "Learning from mistakes is proven as one of the best ways to learn a subject. This book helps you do just that by demonstrating the most common mistakes people make coming to Go, why most people make them and the proper way to solve the problems."
Ryan Huber
> "This book explains many subtleties of the Go programming language that may cause errors and provides the reader with advice on how to deal with these situations. The precise explanations and real world examples make it a great addition for those learning Go programming language or looking to advance their mastery of the language."
Borko Djurkovic
> "Not having this will be the 101st mistake a Go programmer could make."
Anupam Sengupta
## Resources
* How to make mistakes in Go (Go Time - episode #190)
* [Episode](https://changelog.com/gotime/190)
* [Spotify](https://open.spotify.com/episode/0K1DImrxHCy6E7zVY4AxMZ?si=akroInsPQ1mM5B5V2tHLUw&dl_branch=1)
* 8LU - 100% Test Coverage: [YouTube](https://youtu.be/V3FBDav6wgQ?t=1210)

BIN
cover.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 371 KiB

After

Width:  |  Height:  |  Size: 402 KiB