Библиотека Go (Golang) разработчика
2.57K subscribers
252 photos
93 videos
29 files
327 links
Полезные материалы по всему, что может быть полезно Golang разработчику. По всем вопросам @evgenycarter
Download Telegram
Everyday-Go.pdf
2.6 MB
Everyday Golang - The Fast Track
Автор: Alex Ellis (2021)

Перед вами мини-книга от автора множества руководств по модульному тестированию в Go и других учебных материалов (книги Serverless For Everyone Else и курса Kubernetes on Raspberry Pi).
Everyday Golang — это ускоренный курс для изучения концепций и методов, которые вы можете применять в своей повседневной работе и проектах.
Материал книги представляет собой сборник практических примеров, уроков и техник для Go-разработчиков.

👉 @golang_lib
👍2
Media is too big
VIEW IN TELEGRAM
Как на самом деле устроен тип Map в Golang? | Golang под капотом

00:00 Вступление
00:24 Что такое Map?
00:55 Простая реализация - перебор
01:56 Как сделать лучше - разбиваем на бакеты
03:21 Хэш-функция - равномерное распределение по бакетам
05:08 Как реализовать Map без дженериков?
08:20 v = m[k]: во что на самом деле это скомпилируется?
09:25 Все преобразования операций с Map
10:27 Внутренняя структура Map
11:33 Low order bits (LOB) - выбор бакета
13:39 Структура бакета
15:31 Исходный код заголовка Map (hmap)
16:05 Исходный код поиска значения в Map (mapaccess1)
23:30 Переполнение бакета
24:47 Рост Map при заполнении
27:05 Эвакуация данных
28:02 Как избежать эвакуацию данных и ускорить программу - аллокация памяти
28:39 Почему нельзя взять указатель на элемент Map
29:26 Или можно..?
30:12 Порядох обхода мапы - почему он случайный?
31:47 Вывод функции fmt.Println() - почему он фиксированный?
33:14 Подводим итоги
33:45 Заключение

источник

👉 @golang_lib
👍3
Go, Allure и HTTP, или Как мило тестировать HTTP-сервисы на Go

Все мы привыкли к лёгкому написанию тестов на Python и Java — это основные языки автотестировщиков с богатым инструментарием утилит и всего, что упрощает жизнь. Что нужно для написания автотестов для HTTP-сервиса на Python или Java? Гугл, бутылочка крафта и два часа времени.

А как быть в случае с Go? Как раз на нём мы в большинстве случаев пишем микросервисы. И если тесты написаны на другом языке, разработчики не могут внести в них свой вклад или отревьюить их. Поэтому внутри Ozon активно развивается Go-сообщество QA, и этим ребятам тоже нужно тестировать HTTP-сервисы и проверять отчёты в Allure. Как настоящие сварщики мы подумали: «Если чего-то не хватает, нужно написать своё». Сказано — сделано: встречайте опенсорс-библиотеку CUTE в BDD-стиле, которая облегчает тяготы создания автотестов и упрощает переход на Go. Главные фичи: создание HTTP-тестов, возможность реализовывать проверки из коробки, Allure-отчёты и низкий порог входа.

https://habr.com/ru/companies/ozontech/articles/672678/

👉 @golang_lib
4
Построение конвейера CI для библиотеки Go с помощью Dagger

Я играю с Dagger уже несколько месяцев, используя его в различных проектах. В этом посте я поделюсь своим опытом использования Dagger для создания CI-конвейеров для библиотек Go.

https://sagikazarmark.hu/blog/dagger-go-library/

👉 @golang_lib
👍2
Generic Data Structures and Algorithm....pdf
11.2 MB
Generic Data Structures and Algorithms in Go: An Applied Approach Using Concurrency, Genericity and Heuristics
Автор: Richard Wiener (2022)

Расширьте свое понимание общих структур данных и алгоритмов и их применения с помощью Go и эффективного использования параллелизма. Эта книга подведет вас к следующему шагу, показав, как заставить ваши программы работать не только эффективно, но и корректно. Изучая многие структуры данных и связанные с ними алгоритмы и приложения, вы сосредоточитесь на компромиссах между скоростью и хранением данных, а также на преимуществах использования параллелизма, когда это необходимо.

👉 @golang_lib
👍2
Уроки по Golang - Advanced

REST API. Вебсервер.
REST API. Логирование
REST API. Конфигурация
REST API. MongoDB
REST API. MongoDB. Продолжение
REST API. Middleware. Обработка ошибок
Чистая Архитектура / Clean Architecture Часть 1
Чистая Архитектура / Clean Architecture Часть 2
Чистая Архитектура / Clean Architecture Часть 3
Работаем с PostgreSQL в Golang. Часть 1
Работаем с PostgreSQL в Golang. Часть 2
Работаем с PostgreSQL в Golang. Часть 3
Делаем сортировку для REST API. Используем PostgreSQL и Golang
Дженерики в Golang 1.18
Фильтрация в REST API на Golang и PostgreSQL
ДРУЖБА GOLANG И REACTJS! НАСТРАИВАЕМ CORS
gRPC + HTTP + Golang = КОДОГЕНЕРАЦИЯ

Все видео доступны на youtube

👉 @golang_lib
👍6
​The Algorithms - Go — Алгоритмы, реализованные на GoLang

Репозиторий представляет собой коллекцию имплементаций и демонстраций наиболее популярных алгоритмов, реализованных в Go.

https://github.com/TheAlgorithms/Go

👉 @golang_lib
👍3
Что читать Golang-разработчику. Семь главных книг: от Донована и Кернигана до МакДауэлл

Спрос на бэкенд-разработчиков — а Go неотделим от бэкенд-программирования — стабильно растет. У самого же Golang немало плюсов: простой, строгий, статически типизированный, он обладает развитой стандартной библиотекой и славится поддержкой параллельного и асинхронного программирования. При этом в Golang нет классов и нет поддержки наследования, что значительно повышает удобство поддержки кода. Благодаря этим и другим преимуществам Go в последние годы сохраняет статус популярного и перспективного языка.

https://habr.com/ru/companies/ncloudtech/articles/672906/

👉 @golang_lib
1