Библиотека Go (Golang) разработчика
2.57K subscribers
252 photos
93 videos
29 files
327 links
Полезные материалы по всему, что может быть полезно Golang разработчику. По всем вопросам @evgenycarter
Download Telegram
Рекомендуем к прочтению книгу Александра Бындю "Антихрупкость в IT"

Эта книга — результат многолетнего опыта построения IT-продуктов. И прежде всего она о том, как выстроить процессы разработки IT-систем таким образом, чтобы успевать вовремя подстроиться под любые изменения.

В её основе — описание работающих практик, примеры из реальных проектов, анализ ошибок и выводы. В книге собраны рекомендации для владельцев бизнеса и разработчиков. Первые приобретут систематизированные знания о том, как правильно взаимодействовать с IT, а вторые — как делать хорошо и не делать плохо.

Сайт издания

Ознакомиться с книгой
👍1
Making a game with Raylib

Making an Animal Crossing type game for beginners Part 1, Part 2, Part 3
Basic Animations with Go & Raylib Tutorial - Part 4
Idle Animation - Making a game with Go & Raylib Tutorial - Part 5
Basic Tile Mapping - Making a game with Go & Raylib Tutorial - Part 6
Advanced Tile Mapping - Making a game with Go & Raylib Tutorial - Part 7

Все видео доступны на youtube https://www.youtube.com/playlist?list=PLVotA8ycjnCsy30WQCwVU5RrZkt4lLgY5

👉 @golang_lib
Экспортируем модули из Go-сервиса: сотворение директории pkg

Чтобы поделиться кодом, нужно создать библиотеку и разместить её в самостоятельном репозитории. Но иногда возникает необходимость хранить библиотеку вместе с сервисом, который её использует. Среди Go-разработчиков существует мнение, что экспортируемые библиотеки стоит хранить в директории pkg.

История этой директории берёт начало со времён ранних релизов Go, когда модули стандартной библиотеки находились в $GOROOT/src/pkg. Впоследствии директория pkg была удалена, но многие проекты, такие как Kubernetes, повторили у себя данную файловую структуру. С тех пор pkg закрепилась в файловой структуре Go-проектов.

https://habr.com/ru/company/ozontech/blog/668254/

👉 @golang_lib
👍3
Использование graphQL+gRPC+Golang для создания микросервиса аренды велосипедов, с персистенцией на ArangoDB

https://dev.to/myk_okoth_ogodo/using-graphqlgrpcgolang-to-create-a-bike-rental-microservices-with-persistence-on-arangodb-2a6h

👉 @golang_lib
👍2
Media is too big
VIEW IN TELEGRAM
Самое полное интервью Golang Middle

0:00-01:34 Разница между C# и Go, что понравилось и не понравилось?
01:34-03:40 Какая задача на го последние полгода понравилась/порадовала?
03:40-05:06 Модели, структуры в Go и в C# сравнения
05:06-06:28 Рассуждения про дженерики
06:28-08:07 Интерфейсы в го, реализация
08:07-09:59 Кейс с интерфейсами
09:59-11:04 Что такое пустой интерфейс?
11:04-12:17 Типы. Что такое слайсы?
12:17-13:41 Кейс со слайсами, капасити
13:41-15:28 Когда мы передали слайс, что можем с ним дальше делать?
15:28-17:08 Насколько слайс безопасен?
17:08-18:37 Маппа, Хэш-таблица (отличия)
18:37-19:36 Какая в среднем сложность поиска по слайсы и по Маппе?
19:36-21:40 Насколько Маппа безопасна?
21:40-23:20 Объявления переменных, в чем разница?
23:20-25:30 Объявление слайсов
25:30-27:21 Мьютексы, какие используешь? Кейсы.
27:21-28:29 Каналы. Как он работает в го?
28:29-29:15 Насколько каналы безопасны?
29:15-31:00 Кейсы с закрытием канала
31:00-37:10 Select.default.Кейсы.
37:10-39:43 Буферизированные и не буферизированные каналы это
39:43-01:05:40 Анализ кода, задачи
01:05:49-01:10:58 Что такое горутины? Кейсы.
01:10:58-01:12:22 Scheduler, как работает планировщик?
01:12:22-01:16:40 Garbage collector C# и в Go
01:16:40-01:32:36 Кастомные ошибки. Задачи
01:32:36-01:36:09 Контекст, дочерние контексты
01:36:09-01:43:53 Тестирования. Как тестируешь? Какие тесты знаешь?
01:43:53-01:45:14 Профилировщики
01:45:14-01:50:15 Процессы в Linux. Как закончить процессы?
01:50:15-01:56:59 Какие бывают протоколы? Их применение.
01:56:59-02:00:50 Виды баз данных и в чём их различия?
02:00:50-02:04:20 Индексы. Что такое индекс? Как чистить? Кейсы
02:04:20-02:10:15 Что такое Транзакции, что означает сериализуемость?
02:10:15-02:14:15 Race conditions. Data Race
02:14:15-02:17:36 Message broker
02:17:36-02:50:15 System Design
02:50:15-02:56:13 Вопросы из чата.
02:56:13-03:03:20 Фидбэк собеседования с Сергеем
03:03:20-03:08:31 Менторская программа

источник

👉 @golang_lib
👍3
Паттерны в Golang

Паттерн Builder в Golang
Директор в паттерне Builder в Golang
Паттерн Стратегия в Golang

источник

👉 @golang_lib
👍2
Паттерны гонки данных в Go

Uber использует язык Golang (сокращенно Go) в качестве основного языка программирования для разработки микросервисов. Наш монорежим Go состоит примерно из 50 миллионов строк кода (и продолжает расти) и содержит около 2 100 уникальных сервисов Go (и продолжает расти).

https://www.uber.com/blog/data-race-patterns-in-go/

👉 @golang_lib
👍3
Go ebiten: разбираемся с рендерингом и позиционированием текста

Перед вами первая заметка на тему разработки игр на Go с использованием библиотеки ebiten (также известный как Ebitengine).

Сегодня мы будем разбираться, как выполняется позиционирование текста. Как центрировать его, менять межстрочный интервал и так далее. Официальная документация и примеры содержат почти всё необходимое, но чтобы свести всё воедино и понять все концепции можно потратить несколько вечеров. Я постараюсь сэкономить ваше время.

https://habr.com/ru/articles/671556/

👉 @golang_lib
👍4