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

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

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

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

РКН: https://gosuslugi.ru/snet/67a4a8c2468
Download Telegram
Mihalis_Tsoukalos_Mastering_Go_Create_Golang_production_applications.pdf
8.1 MB
Mastering Go: Create Golang production applications using network libraries, concurrency, and advanced Go data structures (2018)

В книге подробно описаны основные функции, пакеты, а также типы и структуры данных, которые позволят читателю писать потокобезопасные, облачные и сетевые приложения. Большинство программистов на Go сталкиваются с трудностями интеграции своих проектов с production кодом. С Mastering Go автор показывает вам, как решить эту проблему.

Из книги вы научитесь:
– понимать варианты дизайна синтаксиса Golang;
– оптимизировать код Golang;
– оценивать модели параллелизма, доступные в Golang;
– понимать взаимодействия систем и сетевого кода;
– писать код на уровне сервера, который хорошо работает во всех средах;
– грамотно использовать типы данных и структуры данных Golang.
Mihalis_Tsoukalos_Mastering_Go_Create_Golang_production_applications.pdf
8.4 MB
Mastering Go: Create Golang production applications using network libraries, concurrency, machine learning, and advanced data structures (2019)

Второе издание книги включает в себя совершенно новую главу по машинному обучению в Go, в которой вы познакомитесь с методами фундаментальной статистики посредством простой регрессии и кластеризации, классификации, нейронных сетей и обнаружения аномалий. Другие главы расширены, чтобы охватить использование Go с Docker и Kubernetes, Git, WebAssembly, JSON и многим другим. Если вы серьезно относитесь к языку программирования Go, второе издание этой книги является важным руководством по экспертным методам.
Разбираемся с аспектами безопасности в Golang: https://prglb.ru/smc2
Если вы ещё не видели этот ресурс, то советуем обязательно уделить ему внимание: серия уроков по языку Go на русском от ребят из 4gophers

На нем вы найдёте как шпаргалки по языку и теоретические основы, так и основательные практические выкладки.

https://golangs.org
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.