Библиотека Go-разработчика | Golang
23.1K subscribers
1.82K photos
39 videos
87 files
4.22K links
Все самое полезное для Go-разработчика в одном канале.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/32d20779

Для обратной связи: @proglibrary_feeedback_bot

РКН: https://gosuslugi.ru/snet/67a4a8c2468
Download Telegram
The-Go-Security-Checklist.pdf
709.2 KB
Сборник лучших практик, которые помогут вам лучше понять приоритеты безопасности при разработке на Golang.
Почему вы не смотрите курсы? Что вам в них не нравится?
Логирование в Golang: выбор системы и ее использование

Язык Go имеет встроенные функции, которые облегчают разработчикам реализацию логирования. Сторонние разработчики также создали дополнительные инструменты для упрощения логирования. Давайте разберемся, какая разница между ними и какой вариант предпочтительнее выбрать.

https://proglib.io/w/273f74dd
Golang с точки зрения программиста на C

Автор статьи делится мнением, что чем больше вы экспериментируете с Go, тем меньше он будет ощущаться как компилируемый язык (C или C++), и тем больше он будет ощущаться как интерпретируемый язык (Python или Ruby).

https://proglib.io/w/77908202
Пишем простую командную оболочку на Go

В статье описан процесс разработки простой оболочки для UNIX-подобных операционных систем на языке Go, и она займет всего около 60 строк кода.

https://proglib.io/w/80f1e402
​​Помните пост о TinyGo? Тут подробно описан процесс запуска Golang в браузере с помощью WebAssembly и TinyGo в рамках реализации игры в шахматы: https://proglib.io/w/aafc6df4
productiongo.pdf
1.3 MB
Production Go
Build modern, production-ready systems in Go (2018)

Автор(ы): Herman Schaaf и Shawn Smith

Целью книги является предоставление знаний для написания готового к работе сервиса на Go. Это означает не только написание первоначальной реализации, но и надежное развертывание, а также мониторинг ее производительности.

Книга предназначена для аудитории, которая разбирается в основных темах информатики и практике разработки программного обеспечения. Она охватывает все важные аспекты работы production-системы, включая такие сложные темы, как профилирование использования памяти Go-программой, развертывание и мониторинг приложений, написанных на Go, написание идиоматических тестов и многое другое.
Качественная подборка статей о тестировании приложений на языке Go, в которой вы увидите не какие-то абстрактные вещи и доводы, что тестирование — это полезно, а реальные примеры написания тестов под прикладные задачи.

https://proglib.io/w/84df9c82
Статическая компиляция программ на Go

Go создает статические двоичные файлы по умолчанию, если только вы не используете cgo для вызова кода C, в этом случае он создаст динамически связанную библиотеку. Оказывается, что использование cgo является более распространенным явлением, чем предполагают многие, поскольку пакеты os/user и net по умолчанию используют cgo, поэтому при импорте одного (прямого или косвенного) получится нестатический двоичный файл.

https://proglib.io/w/6907fb2b
Во время самоизоляции многие работодатели наконец-то признали, что удалённые работники вполне эффективны. Пути назад нет — бизнес идёт туда, где ему выгодно, и скоро всё меньше рабочих мест будут требовать физического присутствия работника в офисе.

Мы предлагаем встретить эти перемены во всеоружии. С 14 по 16 апреля GeekBrains проводит серию бесплатных вебинаров «Все об удалёнке: как работать эффективно и зарабатывать»

Рассмотрим весь путь фрилансера: от принятия решения и выбора биржи, до навыков удалённого делегирования задач и организации работы команды. Пройдёмся по наиболее часто задаваемым вопросам, осветим неочевидные аспекты и проблемы работы из дома.

Переходите по ссылке, чтобы узнать больше и записаться: https://proglib.io/w/b6edc487
Серия статей о реализации алгоритма Raft (алгоритм для решения задач консенсуса в сети ненадёжных вычислений, используется в Kubernetes) на языке Go:

Introduction
Elections
Commands and log replication
Persistence and optimizations
Gops — это диагностический инструмент от Google, который предназначен для отображения и диагностики процессов Go, которые в данный момент выполняются в вашей системе. Расширенные функции, такие как создание отчетов о статистике памяти, отображение трассировки стека, получение профилей pprof и трассировок выполнения, доступны с помощью диагностического агента gops.

Статья: https://proglib.io/w/5bb4c168
Репозиторий: https://proglib.io/w/ecb55f82
Разбираемся с интернированием строк в Go (метод хранения только одной копии каждого отдельного строкового значения, которое должно быть неизменным): https://proglib.io/w/ea0e6a63
Правильный ответ: 0 1 2 | 0 0 0

В первом случае (A, B, C) у нас базовый пример, когда константа увеличивается от 0 на единицу, а в одной строке все константы получат одинаковые значения (D, E, F).

Обратите внимание, что в примере используется предварительно объявленный идентификатор iota, который представляет последовательные не типизированные целочисленные константы. Go компилятор запускает iota от 0 и увеличивается на единицу для каждой следующей константы. Значение определяется во время компиляции, а не времени выполнения.

Резюмируем:
– ключевое слово iota представляет последовательные целочисленные константы;
– оно обнуляется каждый раз, когда const появляется в исходном коде;
– оно увеличивается после каждой спецификации const.