Go
19.5K subscribers
14 photos
143 links
// admin @denniselite
go func() { channel <- news }()
news := <-channel
fmt.Sprintf("%s", news)
Download Telegram
Tips, tricks and good advices about a memory management in GoLang in the “Allocation Efficiency in High-Performance Go Services” article by the Segment company. You’ll know:
- best way to use pointers in code;
- memory allocation complexity in heap and stack;
- Slice memory-optimisation tricks;
- and more 😉

https://segment.com/blog/allocation-efficiency-in-high-performance-go-services/
Are you a beginner in GoLang? Then it requires your attention 🙂.
Good and simple for understanding article about microservice-based API development; just simple and work solution with code examples and couple of advices

#development #microservices #architecture #practice

https://medium.com/@thedevsaddam/build-restful-api-service-in-golang-using-gin-gonic-framework-85b1a6e176f3?source=linkShare-b636419a57de-1516910445
GoLang 1.10 Release notes has been added!

Go 1.10 is not yet released. These are work-in-progress release notes. Go 1.10 is expected to be released in February 2018.

This release:
- caching of built packages;
- adds caching of successful test results;
- runs vet automatically during tests;
- permits passing string values directly between Go and C using cgo.

#golang #news #releases
See more:
https://tip.golang.org/doc/go1.10
Everybody use dependencies and third-party packages but what is the best way to use it? GopherAcademy helps to understand best practice for the vendor folder organization. Of course, code examples and theory points are included 🙂

#development #basics #manual

https://blog.gopheracademy.com/advent-2015/vendor-folder/
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