Вернувшись в очередной раз к Golang-программированию в свободное от жизни время, решил потратить его с пользой и написать серию статей по паттернам программирования на примере этого языка. Вдохновила меня на это другая работа - Шпаргалка по шаблонам проектирования. Всем советую ее, пользуюсь много лет - человек реально собрал все в одном месте - для тех кому нужно только вспомнить концепт. Надеюсь автор не обидится за то, что позаимствую картинки для общего блага.Сразу попрошу всех, кто найдет…
В Go 1.20 сделали возможность сбилдить приложение с флагом cover go build -cover после чего, если запустить такое приложение, то будет собираться статистика, показывающая, какие части кода были выполнены, а какие нет, и складываться в папочку, указанную в переменной окружения. Это, конечно, было сделано для интеграционных тестов, когда приложение запускается целиком в каких-то сценариях (а не через go test), но, вероятно, это можно попробовать использовать и по-другому: запустить такой бинарни…
А вы часто читаете реализацию стандартной библиотеки своего любимого языка?Меня зовут Константин Соколов, и мы с Сергеем Мачульскисом, моим коллегой из бэкенд-разработки в Positive Technologies хотим с вами поделиться вдохновением. Давайте вместе посмотрим на пакет context с последними обновлениями. На наш взгляд, он идеально выражает философию языка Go! Образцовый интерфейс, постоянное развитие пакета и использование самых распространенных приемов Go — все это говорит о том, что наш материал …
Занимаясь написанием статьи о Data Vault по разведению кроликов, возникла потребность сгенерировать много данных для ClickHouse. Все генераторы, что смотрел - так и не придумал как сделать 50ГБ данных быстро и эффективно с их помощью. Поэтому решил развлечься и субботний день провести со старым другом. Сразу скажу - я не занимаюсь разработкой на Golang. Это скорее хобби. Так что прошу не судить строго.Итак, задача:сгенерировать данные для Data Vault от точки N до текущего днясделать это в форм…
В этой статье мы рассмотрим пример простого HTTP-сервера, написанного на языке программирования Golang, который предоставляет информацию о контейнерах Docker.Ссылка на Githubhttps://github.com/sardor-wd/go-dockerИмпортыМы начинаем с импорта нескольких пакетов которые нам понадобятся, чтобы работать с Docker и HTTP. Это подобно тому, как вы берете инструменты для ремонта, прежде чем начать работу.package main import ( "context" "encoding/json" "fmt" "github.com/…
В данной статье представлен простой способ реализации микросервисной архитектуры с использованием Kafka, Golang и Docker.Если вы сразу хотите перейти к рабочему коду, вот ссылка на репозиторийОбщий процесс работыКлиент отправляет HTTP-запрос на первый микросервис (API Gateway), используя, например, Postman.API Gateway передает запрос в Kafka, откуда его принимает второй микросервис.Второй микросервис обрабатывает запрос и отправляет ответ обратно в Kafka.API Gateway извлекает ответ из Kafka и …
Rust против Go — тема, которая постоянно возникает, и о ней уже много написано. Частично это связано с тем, что разработчики ищут информацию, которая поможет им решить, какой язык использовать для своего следующего (веб) проекта.В конце концов, оба языка можно использовать для написания быстрых и надежных веб-сервисов. С другой стороны, их подходы к достижению этой цели совершенно разные, и трудно найти хорошее сравнение, которое было бы справедливо по отношению к обоим языкам. Этот пост — моя…
Исходный код программы надо визуализировать - отобразить в виде схем для лучшего понимания, изучения, осмысления, создания документации и др.Рисовать схемы вручную никто хочет - надо создавать их полностью автоматически.Предлагаю вниманию несколько инструментов для визуализации кода:Граф зависимостей модулей языка golang, с отображением директорий.Граф подключений к внешним сервисамПриложения для автоматического создания схемы таблиц и колонок в БД Postgres (ERD-diagram)Все инструменты бесплат…
Hello WorldКак-то появилась причина попробовать пописать на Go. На тот момент я знал, что это язык от Google, язык молодой, язык компилируемый, вроде как активноразвивающийся и с зарплатами выше средних. Неплохой набор.В первой попавшейся статье узнаем, что Go к тому же легкий в изучении. Интересно, сколько PHP-программистов стало PHP-программистами, потому что PHP легкий в изучении? И действительно, за пару вечеров можно уже неплохо ориентироваться в языке.Итак, ищем какой-нибудь golang roadm…