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

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

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

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

РКН: https://gosuslugi.ru/snet/67a4a8c2468
Download Telegram
Golang имеет сильную поддержку параллелизма. Начиная с самого языка (goroutines, channels) и заканчивая конструкциями в стандартной библиотеке (WaitGroup, Mutex), язык пытается облегчить разработчику написание параллельных программ. В статье автор разбирается с некоторыми из них, создавая программу, которая раскручивает три разных HTTP-сервера и позволяет изящно отключаться, когда программа получает сигнал SIGTERM.

https://prglb.ru/2a2d2
1_Быстрый_запуск_микросервиса_на.pdf
1.4 MB
Доклад Николая Муляра (AirPush) о быстром запуске микросервиса. В своем практическом докладе автор делится опытом создания шаблона Go микросервиса, рассказывает о проблемах, которые привели его команду к данному шаблону, чтобы уберечь других разработчиков от повторения ошибок.
Пишем элементарную базу данных с нуля на Go

На основе материалов статьи вы сможете создать парсер для выполнения простых запросов (CREATE, INSERT и SELECT). Затем вы создадите внутреннюю память, поддерживающую типы TEXT и INT, и напишете базовый REPL.

https://proglib.io/w/59a96433
Продолжим тему, связанную с базами данных, и рассмотрим, как правильно использовать PostgreSQL вместе с Go. Автор статьи показывает, как начать работу с Object Relational Mapper в Go, рассматривает пример настройки базы данных PostgreSQL и приводит практические примеры по соединению с БД, выгрузке данных и др.

https://proglib.io/w/39997659
Есть много разных книг и статей о том, как писать хороший код на ходу, но не так много, как эффективно отлаживать код. Поэтому смотрим доклад Андрея Солдатенко с FOSDEM 2020 и учимся продвинутым техникам отладки приложений на языке Go.

https://proglib.io/w/fa3236cc
​​Пишем roguelike (генерируемые случайным образом уровни, пошаговость и необратимость смерти персонажа) игру на Go под названием «Jumpdrive»

Это космическая фантастика 70-х годов о пилоте, который разбил свой разведывательный корабль на острове чужой планеты. Для автора создание игры является, по всей видимости, пет-проектом, а вам может принести практическую пользу.

https://proglib.io/w/905fcd8a
Плейлист с видеоуроками исключительно практических сторон Golang, в котором вы увидите следующие темы: RESTful API на Go, Go Based AWS Lambda, тестирование в Go, Go MySQL, Go API на основе ORM, вебсокеты в Go, Goroutine, Go WebAssembly, Protocol Buffers в Go, безопасность Go REST APIs с помощью JSON Web Tokens, Каналы в Go, Go sync.WaitGroup, разработка системы мониторинга YouTube в режиме реального времени с помощью Go, докеризация приложения на Go и деплой в DigitalOcean, безопасность приложений на языке Go и многое другое.

https://proglib.io/w/3f2511ae
Если вы боитесь, что ваш заработок пострадает из-за карантина, участвуйте в онлайн-марафоне от GeekBrains. За 14 дней вы выберете другую востребованную профессию. Вас ждут:

23 бесплатных вебинара по программированию, дизайну, маркетингу и управлению.
Инсайды от экспертов из Mail ru Group, Wikium, Альфа-Банка и других компаний-лидеров рынка.
Заряд мотивации: вы поймете, что начать карьеру можно в любом возрасте, с любым бэкграундом.
Шанс выиграть бесплатное обучение.

Успейте зарегистрироваться и выбрать новую профессию мечты!
Учимся искать Goroutines во время отладки

Goroutines являются неотъемлемой частью большинства Golang программ, но использование множества процедур делает программу более трудной для отладки. На основе материалов статьи вы научитесь маркировать goroutines с пользовательскими данными, что является одной из последних функций GoLand 2020.1.

https://proglib.io/w/45dd448c
​​Состояние гонки в Golang

Состояние гонки (Race conditions) или гонка даных (Data race) является ошибкой проектирования многопоточной системы или приложения, при которой работа системы или приложения зависит от того, в каком порядке выполняются части кода. Подобная ошибка может привести к ошибочным и загадочным сбоям, чем благополучно пользуются злоумышленники для получения доступа к системе или приложению. Несмотря на то, что механизмы конкурентности Go упрощают написание чистого конкурентного кода, они не предотвращают состояние гонки. В данном случае требуется осторожность, усердие и тестирование, а инструменты автоматизации поиска могут помочь.

Начиная с версии 1.1 Go включает в себя детектор гонки, инструмент для определения состояний гонки в коде Go. В настоящее время он доступен для систем Linux, OS X и Windows с 64-разрядными процессорами x86.

О гонках данных простыми словами можно почитать здесь. Учимся использовать детектор гонки данных с помощью данных статей (1 и 2).
В мультифункциональной команде, создающей приложение под Kubernetes, разработчику стоит знать основы Kubernetes. Возможности и ограничения Кубернетес диктуют архитектуру приложения. К тому же разработчикам иногда приходится самим деплоить приложение, настраивать мониторинг, вплоть до создания окружений.
Понимание того, как эксплуатируется приложение, превращает разработчика в инженера.

7 апреля стартует цикл из 19 бесплатных вебинаров от Слёрма по основам Kubernetes. Для прохождения достаточно знать Linux.
Вебинары идут 1-2 раза в неделю в 20:00 по Москве.

Регистрация: https://proglib.io/w/4227fda6
Репозиторий содержит коллекцию из 100+ популярных проблем (задач) с портала LeetCode, решенных на языке Go. Каждая задача включает соответствующую ссылку с условием задания и решение, покрытое тестами.

https://proglib.io/w/75bf65eb
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