Go
19.5K subscribers
14 photos
143 links
// admin @denniselite
go func() { channel <- news }()
news := <-channel
fmt.Sprintf("%s", news)
Download Telegram
A presentation by Russ Cox in the MIT University: Go’s memory model

#development #memory_management

https://nil.csail.mit.edu/6.824/2016/notes/gomem.pdf
Here is a must-read article about memory management in the GoLang about the following important points:
- stack, heap and the data segment explanation;
- escape analysis;
- garbage collector;
And good performance optimization advices 😉

https://dougrichardson.org/2016/01/23/go-memory-allocations.html
Great article about the architecture inside of Golang microservice, based on the Bob's Clean Architecture Concept (https://8thlight.com/blog/uncle-bob/2012/08/13/the-clean-architecture.html)

Main points: Your GoLang microservice has 4 layers:
- Models, data structures, and their methods;
- Repository, the provider of DB operations and data management,
- Usecase for business logic implementation;
- Delivery, protocol, and algorithms for message handling (HTTP, gRPC, etc).

Each layer should be independent and be available for mocking, for internal communications between application layers.

An example project here: https://github.com/bxcodec/go-clean-arch

Full article on the Hackernoon website:
https://hackernoon.com/golang-clean-archithecture-efd6d7c43047
#development #microservices #architecture
Awesome news! GoLang team has just released go1.10rc1, a release candidate of the 1.10 version.

If you have installed Go and want to try go1.10rc1, you are able to test it using this tool:
https://godoc.org/golang.org/x/build/version/go1.10rc1

Download binary and source distributions:
https://golang.org/dl/#go1.10rc1

The draft release notes of the 1.10 version:
https://tip.golang.org/doc/go1.10

The link for discussions:
https://groups.google.com/forum/m/#!msg/golang-nuts/XlnXSk1r6Sw/5Q6UlVrZCAAJ
The time for fun 🙂 one of the Github users, Sau Sheong Chang (sausheong) ported and build the arcade video game calls ‘Space Invaders’ using GoLang and wrote step-by-step instructions to repeat it. Enjoy a good nostalgy post with code examples, source code, and demo =)

#development #examples

https://github.com/sausheong/invaders/blob/master/README.md

Source code here https://github.com/sausheong/invaders
New post about concurrency problems and solutions. Main points with examples:

- Blocking Channels;
- Blocking Channels Buffer;
- Wait Group (run multiple async tasks and wait for them execution);

#development #basics #algorithms

https://hackernoon.com/concurrency-how-it-can-help-you-and-how-you-can-use-golang-to-reach-it-easily-ae3e070b3d2c
Do you know the difference between “go build” and “go install” commands? Now I sure you will 🙂

#development #basics

https://pocketgophers.com/go-install-vs-go-build/
How can we track our microservice activity and monitor some processes inside of the service? The Prometheus can helps us in it: the next following article discovers an step-by-step flow for set up, configure and usage this excellent product:

#development #microservices #monitoring

https://www.google.ru/amp/s/blog.alexellis.io/prometheus-monitoring/amp/
GoLand 2018.1 EAP by the JelBrains company - new features and performance improvements has been announced!

#development #IDE

https://blog.jetbrains.com/go/2018/01/22/welcome-goland-2018-1-eap-better-inspections-completion-performance-and-more/
Very interesting article calls “From monoliths to microservices: an architectural strategy.” The structure of this post:

- Adopting Microservices;
- Microservices Architectural Patterns;
- Architectural & Implementation Considerations;
- Developer Productivity During Microservices Adoption;


#architecture #development #microservices

https://thenewstack.io/from-monolith-to-microservices
I hope everyone knows about the latest GoLang release 1.10. If it isn’t than here is an article with top interesting and important changes and improvements which have been released in a new version of GoLang. Fast reading about 8 mins 😉

#language #development #releases

https://medium.com/@thuc/whats-changes-in-golang-1-10-d3022fbade3c?source=linkShare-b636419a57de-1519654220
Simple and good for understanding tutorial about Golang’s channels. It can help beginners to meet with them and learn to use it without problems 🙂
Keys of the article:
- What is a channel, goals, and functions of it;
- Deadlocks and other problems;
- Channel ranging and closing. When, why and how?

#development #basics #language

https://guzalexander.com/2013/12/06/golang-channels-tutorial.html
A new post about concurrency and synchronization cases in GoLang. Michał Łowicki tells us about buffered channels and how it can help with some concurrency problems.

#development #manual


https://medium.com/golangspec/reusable-barriers-in-golang-156db1f75d0b