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
Автор: 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
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
Все мы привыкли к лёгкому написанию тестов на 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
Я играю с Dagger уже несколько месяцев, используя его в различных проектах. В этом посте я поделюсь своим опытом использования Dagger для создания CI-конвейеров для библиотек Go.
https://sagikazarmark.hu/blog/dagger-go-library/
👉 @golang_lib
Márk Sági-Kazár
Building a CI pipeline for a Go library with Dagger
I’ve been playing with Dagger for months now using it in various projects.
In this post, I’ll share my experience with using Dagger to build CI pipelines for Go libraries.
In this post, I’ll share my experience with using Dagger to build CI pipelines for Go libraries.
👍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
Автор: 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
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
Репозиторий представляет собой коллекцию имплементаций и демонстраций наиболее популярных алгоритмов, реализованных в Go.
https://github.com/TheAlgorithms/Go
👉 @golang_lib
GitHub
GitHub - TheAlgorithms/Go: Algorithms and Data Structures implemented in Go for beginners, following best practices.
Algorithms and Data Structures implemented in Go for beginners, following best practices. - TheAlgorithms/Go
👍3
Что читать Golang-разработчику. Семь главных книг: от Донована и Кернигана до МакДауэлл
Спрос на бэкенд-разработчиков — а Go неотделим от бэкенд-программирования — стабильно растет. У самого же Golang немало плюсов: простой, строгий, статически типизированный, он обладает развитой стандартной библиотекой и славится поддержкой параллельного и асинхронного программирования. При этом в Golang нет классов и нет поддержки наследования, что значительно повышает удобство поддержки кода. Благодаря этим и другим преимуществам Go в последние годы сохраняет статус популярного и перспективного языка.
https://habr.com/ru/companies/ncloudtech/articles/672906/
👉 @golang_lib
Спрос на бэкенд-разработчиков — а Go неотделим от бэкенд-программирования — стабильно растет. У самого же Golang немало плюсов: простой, строгий, статически типизированный, он обладает развитой стандартной библиотекой и славится поддержкой параллельного и асинхронного программирования. При этом в Golang нет классов и нет поддержки наследования, что значительно повышает удобство поддержки кода. Благодаря этим и другим преимуществам Go в последние годы сохраняет статус популярного и перспективного языка.
https://habr.com/ru/companies/ncloudtech/articles/672906/
👉 @golang_lib
❤1