You are on page 1of 9

Skip to content

Product

Solutions

Open Source

Pricing

Search

Sign in

Sign up

PacktPublishing

Hands-On-Software-Engineering-with-Golang

Public

Code

Issues

Pull requests

Actions

Security

Insights

PacktPublishing/Hands-On-Software-Engineering-with-Golang

2 branches

0 tags

Latest commit

@achilleasa

achilleasa Merge pull request #23 from PacktPublishing/dependabot/go_modules/git…


9e9ffc1

on Mar 7

Git stats

103 commits

Files

Type

Name

Latest commit message

Commit time

.github/workflows

Switch from travis-ci to github actions

4 months ago

Chapter04

ch4: add example for mocking interfaces using gomock

3 years ago

Chapter06

Update package dependencies and require Go 1.18

4 months ago

Chapter07

Fix lint errors (gofmt -s)

4 months ago

Chapter08

ch8: implement a PageRank calculator using the bspgraph package

3 years ago

Chapter09
ch9: implement facade for accessing a text indexer instance over gRPC

3 years ago

Chapter10

ch10: add instructions for setting up k8s and deploying the monolith

3 years ago

Chapter11

ch11: add instructions for deploying Links 'R' Us (microservice edition)

3 years ago

Chapter12

Refactor pagerank integration test to fix a potential data race

4 months ago

Chapter13/prom_http

ch13: add example for instrumenting Go code for capturing metrics

3 years ago

.gitignore

Add gitignore

3 years ago

Gopkg.lock

ch13: lock ch13 dependencies

3 years ago

Gopkg.toml

ch11: lock ch11 dependencies

3 years ago

LICENSE

Initial commit
4 years ago

Makefile

Switch from travis-ci to github actions

4 months ago

README.md

Update CI status badge link

4 months ago

go.mod

build(deps): bump github.com/prometheus/client_golang

2 months ago

go.sum

build(deps): bump github.com/prometheus/client_golang

2 months ago

README.md

Hands-on Software Engineering with Golang

License: MIT Go Report Card Build Status Coverage Report

This is the code repository for Hands-on Software Engineering with Golang, published by Packt.

Move beyond basic programming to design and build reliable software with clean code

What is this book about?

This book distills the industry’s best practices for writing lean Go code that is easy to test and maintain
and explores their practical application on Links ‘R’ US: an example project that crawls web-pages and
applies the PageRank algorithm to assign an importance score to each one.

This book covers the following exciting features:

Understand different stages of the software development life cycle and the role of a software engineer

Create APIs using gRPC and leverage the middleware offered by the gRPC ecosystem

Discover various approaches to managing package dependencies for your projects

Build an end-to-end project from scratch and explore different strategies for scaling it

Develop a graph processing system and extend it to run in a distributed manner

Deploy Go services on Kubernetes and monitor their health using Prometheus

If you feel this book is for you, get your copy today!

https://www.packtpub.com/

Instructions

All of the code is organized into folders labelled after the chapter they appear on. For example,
Chapter02 contains the source code for the second book chapter and so on.

The Makefile has been updated to manage dependencies via Go modules instead of the dep tool.
However, the dep tool will be used as a fall-back for old Go versions (that lack module support) or if the
GO111MODULE environment variable is set to off prior to running any of the Makefile targets.

Go 1.18+ is required for running the code/tests from the individual chapters. The latest version of Go for
your platform can be downloaded here.

We also provide a PDF file that has color images of the screenshots/diagrams used in this book. Click
here to download it.
Intended audience

This Golang programming book is for developers and software engineers looking to use Go to design and
build scalable distributed systems effectively. Knowledge of Go programming and basic networking
principles is required.

Related products

Hands-On System Programming with Go [Packt] [Amazon]

Go Programming Cookbook - Second Edition [Packt] [Amazon]

Get to Know the Author

Achilleas Anagnostopoulos has been writing code in a multitude of programming languages since the
mid 90s. His main interest lies in building scalable, microservice-based distributed systems where
components are interconnected via gRPC or message queues. Achilleas has over 4 years of experience
building production-grade systems using Go and occasionally enjoys pushing the language to its limits
through his experimental gopher-os project: a 64-bit kernel written entirely in Go. He is a former
member of the Juju team at Canonical, and has contributed to one of the largest open source Go code
bases in existence. He is currently working as an SRE at Google.

Suggestions and Feedback

Click here if you have any feedback or suggestions.

Download a free PDF

If you have already purchased a print or Kindle version of this book, you can get a DRM-free PDF version
at no cost.

Simply click on the link to claim your free PDF.

https://packt.link/free-ebook/9781838554491
About

Hands-On Software Engineering with Golang, published by Packt

Resources

Readme

License

MIT license

Stars

333 stars

Watchers

19 watching

Forks

117 forks

Report repository

Releases

No releases published

Packages

No packages published

Contributors 6

@achilleasa

@Packt-ITService

@packt-pradeeps

@packtutkarshr

@pathikritr
@dependabot[bot]

Languages

Go

94.1%

Makefile

4.4%

Dockerfile

1.4%

Shell

0.1%

Footer

© 2023 GitHub, Inc.

Footer navigation

Terms

Privacy

Security

Status

Docs

Contact GitHub

Pricing

API

Training
Blog

About

You might also like