Go Design Patterns.pdf

(4387 KB) Pobierz
Go Design Patterns
Learn idiomatic, efficient, clean, and extensible Go design and
concurrency patterns by using TDD
Mario Castro Contreras
BIRMINGHAM - MUMBAI
Go Design Patterns
Copyright © 2017 Packt Publishing
All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or
transmitted in any form or by any means, without the prior written permission of the
publisher, except in the case of brief quotations embedded in critical articles or reviews.
Every effort has been made in the preparation of this book to ensure the accuracy of the
information presented. However, the information contained in this book is sold without
warranty, either express or implied. Neither the author, nor Packt Publishing, and its
dealers and distributors will be held liable for any damages caused or alleged to be caused
directly or indirectly by this book.
Packt Publishing has endeavored to provide trademark information about all of the
companies and products mentioned in this book by the appropriate use of capitals.
However, Packt Publishing cannot guarantee the accuracy of this information.
First published: February 2017
Production reference: 1170217
Published by Packt Publishing Ltd.
Livery Place
35 Livery Street
Birmingham
B3 2PB, UK.
ISBN 978-1-78646-620-4
www.packtpub.com
Credits
Author
Mario Castro Contreras
Reviewer
Shiju Varghese
Commissioning Editor
Kunal Parikh
Acquisition Editor
Chaitanya Nair
Content Development Editor
Zeeyan Pinheiro
Technical Editor
Pavan Ramchandani
 
Copy Editor
Safis Editing
Project Coordinator
Izzat Contractor
Proofreader
Safis Editing
Indexer
Mariammal Chettiyar
Graphics
Abhinash Sahu
Production Coordinator
Deepika Naik
About the Author
Mario Castro Contreras
is a software engineer who has specialized in distributed systems
and big data solutions. He works as a site reliability engineer, and now he is focused on
containerized solutions and apps using most of Google Cloud suite; especially, Kubernetes.
He has a wide experience in systems and solutions integration, and he has written many
scalable and reliable 12 factor apps using Go and Docker. He has designed Big Data
architectures for financial services and media, and he has written data processing pipelines
using event-driven architectures written purely in Go. He is also very active in the open
source community, and you can find him on his GitHub account with the username
sayden.
In the past, he has also written mobile applications and backends in Java.
Mario is passionate about programming languages, and he found the best balance between
fun and productivity in Go; however, recently, he enjoys writing in Rust and embedded
systems in C. He is also passionate about road cycling and winter sports.
I'd like to express my deep gratitude to my parents for supporting me in my journey
through computers since I was 8. To Urszula, Tyrion and Tesla for their daily support and
for being with me in the long nights writing this book.
I'd like to thank Chaitanya, for her guidance at the beginning of the book, Zeeyan, for his
patience and help on every chapter, and Pavan, for the help and explanations. But also to
all the reviewers, especially to Shiju, and the entire team at Packt that made this book
possible.
Zgłoś jeśli naruszono regulamin