go-goroutines/
Одной из проблем, которую авторы языка Go пытались решить, создавая его, было облегчение программирования надежных приложений под многоядерные системы. Для этого язык использует легковесные потоки, называемые горутины (goroutines), и каналы…
go-gkt-gui/
Для написания десктопных приложений на языке Go существует несколько библиотек-привязок к графическим тулкитам, таким как Gtk и Qt. Есть еще пара-тройка написанных собственно на Go GUI-библиотек, однако они пока еще…
go-rest-service/
В этой заметке я опишу реализацию простого REST API для телефонной книги, созданной в прошлый раз. Должен сразу оговориться, что интерфейс к базе данных был изменен. Во-первых, прошлая реализация была…
go-profiling/
Рантайм Go содержит встроенный профайлер, но по умолчанию он выключен. Существует несколько способов его эксплуатации, самый «низкоуровневый» — через библиотеку runtime/pprof . Russ Cox, один из главных разработчиков Go, разместил…
go-leader-election/
При разработке веб-приложений и всяких там бэкендов иногда возникает необходимость запустить кусок кода ровно на одном сервере, а не на всех. Типичный случай — это когда вам нужно запустить фоновую…
golang-codec/
В прошлых постах вы могли прочитать о том, как сериализовать объекты в языке C++, используя формат Protobuf , а также в языке Scala, используя Thrift . Была рассмотрена даже такая…
golang-jaeger/
Типичная проблема, возникающая при разработке распределенных систем, состоит в следующем. Допустим, пользователь посылает системе запрос, и запрос этот обрабатывался очень долго. При этом внутри системы запрос распался на запросы к нескольким…
golang-badger/
Badger — это реализация LSM tree на языке Go. Не будет преувеличением сказать, что это как RocksDB , только написанный с нуля на другом языке программирования. Библиотека основана на WiscKey…
golang-prometheus-metrics/
В рамках поста Устанавливаем связку из Prometheus и Grafana мы познакомились с Prometheus и разобрались с его настройкой. Теперь давайте выясним, как отправить в него каких-нибудь метрик из нашего собственного…
golang-unit-testing/
На первый взгляд, модульные тесты в Go пишутся очень просто . Создаем файл с именем пакет_test.go , в нем объявляем функции с именами TestЧтоТестируем , говорим go test , ну…