Habr. Подборка статей по Go
2023
[2023-01-31] Bittorrent с нуля на Go
[2023-01-19] Что такое фаззинг и зачем он нужен?
[2023-01-19] Fuzzing-тесты в Go после v1.18: знакомство и практика
[2023-06-30] Эффективная работа с битами при помощи Go
[2023-01-13] Эволюция кода: путь к лучшему дизайну
[2023-01-11] Go 1.20 и арена памяти
2022
[2022-07-14] Как мы себя обманываем, только бы продолжать пользоваться Golang
[2022-05-27] Go против Rust — производительность вне конкуренции
[2022-06-13] Возрождение простых сайтов. Статика, 0kB JS, ничего лишнего
[2022-07-18] Предотвращаем утечки памяти в Go, ч. 2. Особенности рантайма
[2022-09-06] Как Go выполняет встраивание
[2022-07-12] Предотвращаем утечки памяти в Go, ч. 1. Ошибки бизнес-логики
[2022-01-17] Делаем асинхронность асинхронной, разбираемся в планировщике Go, ругаем Linux
[2022-11-16] Как сделать программу на Go быстрее на 42%, изменив один символ
[2022-06-30] Что Go грядущий нам готовит? Разбираем долгожданный релиз 1.19
[2022-04-09] Дженерики могут замедлить ваш код на Go
[2022-06-22] Go, Allure и HTTP, или Как мило тестировать HTTP-сервисы на Go
[2022-03-06] Собеседование Golang разработчика (теоретические вопросы), Часть I
[2022-11-23] Полезные ресурсы для погружения в Go: выбор сотрудников Selectel
[2022-10-12] Как запускать SQL в Go с максимальным комфортом
[2022-08-30] Как и почему перешли с Python на Go в основном сервисе рекомендаций Авито
[2022-07-02] Имплементируем WebSocket протокол на Go
[2022-04-01] Вопросы и ответы для собеседования Go-разработчика
[2022-08-26] Есть ли жизнь на Go после C#?
[2022-11-24] Рассматриваем под лупой отладчик Delve для Go-разработчиков
[2022-11-14] Пишем обёртку для API Токийской фондовой биржи на Golang
[2022-12-12] Hashmap(map) по версии Golang вместе с реализацией на дженериках
[2022-04-13] Изменения функции append в Go 1.18
2021
[2021-10-17] Перестаньте врать себе. Я middle, а вам нужен senior
[2021-02-25] Почему язык Go стал стандартом для DevOps-инженеров
[2021-11-22] Доводим распределённые действия до конца с использованием простейшего паттерна Saga
[2021-08-19] Как в восемь раз уменьшить количество DNS-запросов в Go
[2021-05-14] Самописный антиспам-сервис Gotoh, или как мы боролись за «белизну» IP-адресов
[2021-12-28] Почему я перешёл с Python на Go: choose your fighter
[2021-06-02] Дженерики в языке Go
[2021-10-18] Go и MySQL: настраиваем пул соединений
[2021-05-28] Разработка REST-серверов на Go. Часть 1: стандартная библиотека
[2021-08-25] Я сделал StackOverflow из IT-чатов Telegram
[2021-06-17] Разработка REST-серверов на Go. Часть 3: использование веб-фреймворка Gin
[2021-09-05] Сборка собственного RPM-пакета, содержащего простую Go-программу
[2021-01-27] Оптимизация микросервиса на Go на живом примере
[2021-12-01] Микрооптимизация кода на Go на примере простого веб-сервиса
[2021-02-01] Популярные задачи для собеседований бэкенд-разработчиков на Go и их решения
[2021-04-13] Go: распространенные антипаттерны
[2021-06-29] gRPCurl — curl для gRPC-серверов
2020
[2020-06-26] Ozon go school: Как не нужно проводить отбор
[2020-10-02] Коллеги, вы меня огорчаете
[2020-01-25] Почему Rust лидирует в TechEmpower Framework Benchmark
[2020-04-30] Я перехожу на JavaScript
[2020-09-22] eBPF: современные возможности интроспекции в Linux, или Ядро больше не черный ящик
[2020-05-23] GO Scheduler: теперь не кооперативный?
[2020-11-25] Масштабируем WebSocket соединения на Go
[2020-04-14] Унифицируй это: как Lamoda делает единообразными свои Go сервисы
[2020-09-14] Пишем движок полнотекстового поиска на Go
[2020-11-05] Оптимизация работы с PostgreSQL в Go: от 50 до 5000 RPS
[2020-10-29] Система под контролем: как автоматизировать интеграционные тесты
[2020-10-27] Go Channels Internals
[2020-04-15] Модифицирующий MQTT Proxy
[2020-05-15] Go, Vue и 3 дня на разработку: система реального времени для мониторинга пациентов
[2020-12-11] Оптимизация размера Go-бинарника
[2020-08-04] Go-swagger как основа взаимодействия микросервисов
[2020-04-03] Отладка высоконагруженных Golang-приложений или как мы искали проблему в Kubernetes, которой не было
[2020-11-24] Внедряем кросс-платформенные пуш-уведомления: дополнительные возможности
2019
[2019-09-19] Sampler. Консольная утилита для визуализации результата любых shell команд
[2019-07-25] Модели дженериков и метапрограммирования: Go, Rust, Swift, D и другие
[2019-07-24] Какой язык — D, Go или Rust имеет лучшие перспективы заменить C и почему?
[2019-05-16] Bitmap-индексы в Go: поиск на дикой скорости
[2019-09-30] Сложность простоты
[2019-09-26] Внутренности Go: оборачиваем переменные цикла в замыкании
[2019-08-01] Как работать с Postgres в Go: практики, особенности, нюансы
[2019-11-18] Пишем на Go простой балансировщик
[2019-10-07] Зачем нужны дженерики в Go?
[2019-10-29] Работа с ошибками в Go 1.13
[2019-03-16] Beego — это уже не Go
[2019-02-26] Практичный Go: советы по написанию поддерживаемых программ в реальном мире
[2019-09-17] Как не ошибиться с конкурентностью в Go
[2019-01-27] Изучая go: пишем p2p мессенджер со сквозным шифрованием
[2019-02-05] Дефективное встраивание функций в Go
[2019-06-15] Шпаргалка по структурам данных в Go
[2019-02-12] Повышаем информативность ошибок в Go – github.com/ztrue/tracerr
[2019-03-13] Наша проблема c зависимостями
[2019-08-09] Разбираемся с интерфейсами в Go
[2019-10-08] Как мы пересадили всю команду на другой язык за один день (на самом деле нет)
[2019-09-17] Правда ли, что GOPATH и GOROOT больше не нужны?
[2019-08-09] Продуктовая разработка на Go: история одного проекта
[2019-27-27] Как писать Go-пакеты
[2019-06-04] Wasmer: самая быстрая Go-библиотека для выполнения WebAssembly-кода
[2019-11-26] Профилирование кода Go-проекта и решение проблемы с выделением памяти
[2019-12-29] ELFийские трюки в Go
[2019-05-14] LLVM с точки зрения Go
[2019-03-21] Изучаем Go: подборка видеозаписей докладов
[2019-03-07] Механизмы выделения памяти в Go
[2019-07-25] Golang: специфические вопросы производительности
2018
[2018-11-21] Передача данных через анимированные QR на Gomobile и GopherJS
[2018-04-20] Go: Хороший, плохой, злой
[2018-08-05] Крестики-нолики на DNS
[2018-07-04] Рефакторинг программы на Go: ускорение в 23 раза
[2018-12-26] За что я не люблю Go
[2018-12-25] RoadRunner: PHP не создан, чтобы умирать, или Golang спешит на помощь
[2018-04-04] Знакомство с гео-библиотекой S2 от Google и примеры использования
[2018-12-20] Если вы подумываете начать писать на Go, то вот что вам следует знать
[2018-07-12] Centrifugo v2 — будущее сервера real-time сообщений и библиотека для Go
[2018-12-26] Безликий код убьет программирование, и ничего мы с этим не сделаем
[2018-09-02] Обработка ошибок в Go 2
[2018-09-06] bytes.Buffer в Go: оптимизации, которые не работают
[2018-08-13] Знакомство с Go, часть 2: пишем граббер изображений с балансировщиком и извращениями
[2018-06-03] Изучаем многопоточное программирование в Go по картинкам
[2018-06-30] Компилятор Go: язык описания правил SSA оптимизаций
[2018-02-19] Самый медленный способ ускорить программу на Go
[2018-11-10] Контроль консистентности кода в Go
[2018-06-05] Как готовить mysql binlog с go
[2018-08-27] Введение в систему модулей Go
[2018-06-07] Статический анализ в Go: как мы экономим время при проверке кода
[2018-02-20] GCCGO против «стандартной» реализации
2017
[2017-09-19] Go быстрее Rust, Mail.Ru Group сделала замеры
[2017-12-10] Почему дизайн Go плох для умных программистов
[2017-06-28] Миллион WebSocket и Go
[2017-12-07] Отладка злого бага в рантайме Go
[2017-06-19] Архитектура и алгоритмы индексации аудиозаписей ВКонтакте
[2017-05-16] Сервисы на Go: как мы их пишем и поддерживаем
[2017-03-30] Что я изменил бы в Go
[2017-01-03] Современный подход к сборке мусора
[2017-10-29] Как новичок в Go контрибьютил
[2017-05-10] Лекции Техносферы: Программирование на Go
[2017-03-23] Профилирование и оптимизация веб-приложений на Go
[2017-12-28] Обзор реализаций округления в Go
[2017-07-10] Инструменты для разработчика Go: знакомимся с лейблами профайлера
[2017-05-15] Логирование, интерфейсы и аллокации в Go
[2017-03-21] Вызов функций Go из других языков
[2017-02-28] История одного толстого бинарника
[2017-01-17] Создание кастомных Go-профилей с помощью pprof. Запоминаем стеки
[2017-09-04] Создатель Node.js: «Для серверов я не могу представить другой язык кроме Go»
[2017-10-07] Полное руководство по написанию утилиты для Go
[2017-11-28] Как Discord каждый день изменяет размер 150 млн картинок с помощью Go и C++
[2017-09-07] RustGo: вызов Rust из Go с почти нулевым оверхедом
[2017-10-03] Зачем в Go амперсанд и звёздочка (& и *)?
[2017-07-03] Многопользовательская игра на Go через telnet
[2017-04-03] Как не наступать на грабли в Go
2016
[2016-04-15] Dcoin на IOS… и Катя. Финал
[2016-01-31] Визуализация concurrency в Go с WebGL
[2016-12-13] Спроси backend-разработчиков Badoo. Часть 1. Платформа
[2016-12-21] Архитектура ассемблера Go
[2016-10-09] 50 оттенков Go: ловушки, подводные камни и распространённые ошибки новичков
[2016-05-17]Лучшие практики Go, шесть лет в деле
[2016-06-29] Go глазами java программиста
[2016-05-27] Профилирование и оптимизация программ на Go
[2016-08-19] Безопасное использование языка Go в веб-программировании
[2016-07-13] Путь Go: как ускорялась сборка мусора
[2016-02-26] Go с точки зрения PHP программиста
[2016-08-02] Разбираемся в Go: пакет io
[2016-08-18] Как устроены каналы в Go
2015
[2015-10-08] Перевод: Один год с Go
[2015-02-25] Компилятор Go переписан на Go
[2015-06-06] Разработка OS на Go+asm. Part 0x00, Part 0x01
[2015-02-02] Кросс-компиляция в Go
[2015-01-26] Главное преимущество Go
[2015-06-17] Почему Go и Rust не враги, а друзья
[2015-10-23] С чего начать новичку в Go
[2015-06-19] Организация «чистого» завершения приложений на Go
[2015-09-29] Разработка менеджера закачек на GO
[2015-06-10] gb — менеджмент зависимостей для Go
[2015-11-20] Интервью: Брайан Керниган и Алан Донован
[2015-07-08] Обработка 1 миллиона запросов в минуту c Go
2014
[2014-09-14] Опыт применения Go в продакшене Яндекса
[2014-07-14] О плюсах и минусах Go
[2014-07-05] TJ Holowaychuk: Прощай Node.js
[2014-04-15] Язык Go для начинающих
[2014-06-12] Является ли Go языком ООП?
[2014-01-13] Повторное использование кода в Go на примере
[2014-03-13] Используем nginx, docker, skydns и skydock для обновления кода на лету (zero-downtime deployment)
2013
[2013-03-14] Как мы перешли с 30 серверов на 2: Go
[2013-02-27] Протокол Railgun для сжатия трафика
[2013-10-15] Знакомство с Go — пишем граббер веб страниц с многопоточностью и блудницами
[2013-09-27] Go: Два года в продакшне
[2013-08-24] Написание своего Web-приложения на Go
[2013-01-27] Объектно-дезориентированный язык
2012
[2012-04-05] Go for IT. Часть первая
[2012-04-21] TCP/IP proxy на Go
[2012-04-18] Goblog: Самодельный статический движок для блога на Go