Экспортируем модули из Go-сервиса: сотворение директории pkg
Чтобы поделиться кодом, нужно создать библиотеку и разместить её в самостоятельном репозитории. Но иногда возникает необходимость хранить библиотеку вместе с сервисом, который её использует. Среди Go-разработчиков существует мнение, что экспортируемые библиотеки стоит хранить в директории pkg.
История этой директории берёт начало со времён ранних релизов Go, когда модули стандартной библиотеки находились в $GOROOT/src/pkg. Впоследствии директория pkg была удалена, но многие проекты, такие как Kubernetes, повторили у себя данную файловую структуру. С тех пор pkg закрепилась в файловой структуре Go-проектов.
https://habr.com/ru/company/ozontech/blog/668254/
👉 @golang_lib
Чтобы поделиться кодом, нужно создать библиотеку и разместить её в самостоятельном репозитории. Но иногда возникает необходимость хранить библиотеку вместе с сервисом, который её использует. Среди Go-разработчиков существует мнение, что экспортируемые библиотеки стоит хранить в директории pkg.
История этой директории берёт начало со времён ранних релизов Go, когда модули стандартной библиотеки находились в $GOROOT/src/pkg. Впоследствии директория pkg была удалена, но многие проекты, такие как Kubernetes, повторили у себя данную файловую структуру. С тех пор pkg закрепилась в файловой структуре Go-проектов.
https://habr.com/ru/company/ozontech/blog/668254/
👉 @golang_lib
👍3
The Go Programming Language and Environment
https://cacm.acm.org/magazines/2022/5/260357-the-go-programming-language-and-environment/fulltext
👉 @golang_lib
https://cacm.acm.org/magazines/2022/5/260357-the-go-programming-language-and-environment/fulltext
👉 @golang_lib
Использование 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
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
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
How to Achieve Dynamic SQL Query With Go
https://betterprogramming.pub/dynamic-sql-query-with-go-8aeedaa02907
👉 @golang_lib
https://betterprogramming.pub/dynamic-sql-query-with-go-8aeedaa02907
👉 @golang_lib
Building Event-Driven Distributed Systems in Go with gRPC, NATS JetStream and CockroachDB
https://shijuvar.medium.com/building-event-driven-distributed-systems-in-go-with-grpc-nats-jetstream-and-cockroachdb-c4b899c8636d
👉 @golang_lib
https://shijuvar.medium.com/building-event-driven-distributed-systems-in-go-with-grpc-nats-jetstream-and-cockroachdb-c4b899c8636d
👉 @golang_lib
Medium
Building Event-Driven Distributed Systems in Go with gRPC, NATS JetStream and CockroachDB
In this post, I will give an overview about how to write event-driven distributed systems in Go, with gRPC, NATS JetStream and CockroachDB…
Паттерны в Golang
Паттерн Builder в Golang
Директор в паттерне Builder в Golang
Паттерн Стратегия в Golang
источник
👉 @golang_lib
Паттерн 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
Uber использует язык Golang (сокращенно Go) в качестве основного языка программирования для разработки микросервисов. Наш монорежим Go состоит примерно из 50 миллионов строк кода (и продолжает расти) и содержит около 2 100 уникальных сервисов Go (и продолжает расти).
https://www.uber.com/blog/data-race-patterns-in-go/
👉 @golang_lib
👍3
Using Golang stdlib interfaces
https://eltonminetto.dev/en/post/2022-06-07-using-go-interfaces/
👉 @golang_lib
https://eltonminetto.dev/en/post/2022-06-07-using-go-interfaces/
👉 @golang_lib
My name is Elton 👋
Using Golang stdlib interfaces
In this post, I’ll show you how to use two of the most exciting features of the Go language: its standard library (the stdlib in the title) and its interfaces.
Go is famous for providing a lot of functionality, thanks to its powerful standard library. Covering…
Go is famous for providing a lot of functionality, thanks to its powerful standard library. Covering…
👍1
Go ebiten: разбираемся с рендерингом и позиционированием текста
Перед вами первая заметка на тему разработки игр на Go с использованием библиотеки ebiten (также известный как Ebitengine).
Сегодня мы будем разбираться, как выполняется позиционирование текста. Как центрировать его, менять межстрочный интервал и так далее. Официальная документация и примеры содержат почти всё необходимое, но чтобы свести всё воедино и понять все концепции можно потратить несколько вечеров. Я постараюсь сэкономить ваше время.
https://habr.com/ru/articles/671556/
👉 @golang_lib
Перед вами первая заметка на тему разработки игр на Go с использованием библиотеки ebiten (также известный как Ebitengine).
Сегодня мы будем разбираться, как выполняется позиционирование текста. Как центрировать его, менять межстрочный интервал и так далее. Официальная документация и примеры содержат почти всё необходимое, но чтобы свести всё воедино и понять все концепции можно потратить несколько вечеров. Я постараюсь сэкономить ваше время.
https://habr.com/ru/articles/671556/
👉 @golang_lib
👍4
Go и SQL: Проблемы с существующими библиотеками (и лучшее решение)
Знакомьтесь, KSQL - библиотека, которую я написал для решения проблем Golang и SQL
За годы работы с Golang я пришел к выводу, что работа с SQL еще не является хорошо решенной проблемой. Имеющиеся библиотеки просто не удобны в использовании, и существует слишком много способов прострелить себе ногу.
Чтобы проиллюстрировать это, я попытаюсь описать в этой статье все эти проблемы в деталях, а затем кратко представить решение, которое я придумал для решения этих проблем: написанную мной библиотеку под названием KSQL.
https://betterprogramming.pub/golang-sql-problems-with-existing-libraries-145a037261b8
👉 @golang_lib
Знакомьтесь, KSQL - библиотека, которую я написал для решения проблем Golang и SQL
За годы работы с Golang я пришел к выводу, что работа с SQL еще не является хорошо решенной проблемой. Имеющиеся библиотеки просто не удобны в использовании, и существует слишком много способов прострелить себе ногу.
Чтобы проиллюстрировать это, я попытаюсь описать в этой статье все эти проблемы в деталях, а затем кратко представить решение, которое я придумал для решения этих проблем: написанную мной библиотеку под названием KSQL.
https://betterprogramming.pub/golang-sql-problems-with-existing-libraries-145a037261b8
👉 @golang_lib
👍2
Network_Programming_with_Go_Learn_to_Code_Secure_and_Reliable_Network.pdf
3.9 MB
Modern DevOps Practices: Implement and secure DevOps in the public cloud with cutting-edge tools, tips, tricks, and techniques
Автор: Gaurav Agarwal (2021)
Сетевое программирование с помощью Go научит вас, как писать чистое и безопасное сетевое программное обеспечение с помощью GO
Книга предназначена для разработчиков, готовых начать использовать Go для написания безопасного, читаемого кода для работы с сетевым стеком.
В первых главах закладывается фундамент в области создания сетей и маршрутизации трафика, на котором строится остальная часть книги. Вы примените эти знания на практике, поскольку автор Адам Вудбек проведет вас через главные темы, которые описывают взаимодействие с использованием TCP, UDP, сокетов Unix и других функций, обеспечивающих надежную передачу данных.
👉 @golang_lib
Автор: Gaurav Agarwal (2021)
Сетевое программирование с помощью Go научит вас, как писать чистое и безопасное сетевое программное обеспечение с помощью GO
Книга предназначена для разработчиков, готовых начать использовать Go для написания безопасного, читаемого кода для работы с сетевым стеком.
В первых главах закладывается фундамент в области создания сетей и маршрутизации трафика, на котором строится остальная часть книги. Вы примените эти знания на практике, поскольку автор Адам Вудбек проведет вас через главные темы, которые описывают взаимодействие с использованием TCP, UDP, сокетов Unix и других функций, обеспечивающих надежную передачу данных.
👉 @golang_lib
👍2❤1
Go programming language The Ultimate.pdf
494.4 KB
Go programming language: The Ultimate Beginner's Guide to Learn Go Programming Step by Step
Автор: John Bach (2021)
За последние несколько лет вы часто слышали о новом языке программирования, который появился в Google под названием Go, в этой книге мы попытаемся определить этот язык, его преимущества, недостатки и то, что отличает его от других
👉 @golang_lib
Автор: John Bach (2021)
За последние несколько лет вы часто слышали о новом языке программирования, который появился в Google под названием Go, в этой книге мы попытаемся определить этот язык, его преимущества, недостатки и то, что отличает его от других
👉 @golang_lib
👍3❤1👎1
Для тех, кто программирует на Go!
Golang-разработчиков с опытом от трех лет приглашают на Go Weekend Offer в Тинькофф. Все этапы интервью можно будет пройти за выходные. А еще вы познакомитесь с командой и спросите обо всем, что вас интересует.
В Тинькофф нет бюрократии, много интересных проектов и прозрачная система карьерного роста. А работать можно в гибридном режиме в офисах в 22 городах России или в Казахстане, Беларуси и Армении.
И главное: Go Weekend Offer состоится 3 и 4 июня. Но подать заявку надо до 31 мая. Регистрируйтесь
Golang-разработчиков с опытом от трех лет приглашают на Go Weekend Offer в Тинькофф. Все этапы интервью можно будет пройти за выходные. А еще вы познакомитесь с командой и спросите обо всем, что вас интересует.
В Тинькофф нет бюрократии, много интересных проектов и прозрачная система карьерного роста. А работать можно в гибридном режиме в офисах в 22 городах России или в Казахстане, Беларуси и Армении.
И главное: Go Weekend Offer состоится 3 и 4 июня. Но подать заявку надо до 31 мая. Регистрируйтесь
👍2
Media is too big
VIEW IN TELEGRAM
HTTPLoot
Автоматизированный инструмент, который может одновременно ползать, заполнять формы, вызывать страницы ошибок/отладки и "выуживать" секреты из клиентского кода сайтов.
https://github.com/redhuntlabs/httploot
👉 @golang_lib
Автоматизированный инструмент, который может одновременно ползать, заполнять формы, вызывать страницы ошибок/отладки и "выуживать" секреты из клиентского кода сайтов.
https://github.com/redhuntlabs/httploot
👉 @golang_lib
👍2
Alex Edwards - Let's Go Further (2021).pdf
7.7 MB
Advanced patterns for building APIs and web applications in Go
Edwards Alex (2021)
Let's Go Further поможет вам расширить и углубить свои знания о Go - выйдя за рамки основ и пройдя через продвинутые паттерны для разработки, управления и развертывания API и веб-приложений.
Он опирается на многие концепции, которые были представлены в Let's Go, и рассказывает о создании RESTful JSON API от начала до конца - от начальной настройки проекта до развертывания в производстве.
Это дает нам возможность рассмотреть важные темы в контексте полного, работающего приложения - включая миграцию SQL, CORS-запросы, авторизацию на основе разрешений, управление фоновыми задачами, отчетность по метрикам, автоматизацию этапов сборки и развертывания и многое другое.
Если вам понравился курс Let's Go, этот курс должен вам понравиться и стать идеальным следующим шагом в освоении Go.
👉 @golang_lib
Edwards Alex (2021)
Let's Go Further поможет вам расширить и углубить свои знания о Go - выйдя за рамки основ и пройдя через продвинутые паттерны для разработки, управления и развертывания API и веб-приложений.
Он опирается на многие концепции, которые были представлены в Let's Go, и рассказывает о создании RESTful JSON API от начала до конца - от начальной настройки проекта до развертывания в производстве.
Это дает нам возможность рассмотреть важные темы в контексте полного, работающего приложения - включая миграцию SQL, CORS-запросы, авторизацию на основе разрешений, управление фоновыми задачами, отчетность по метрикам, автоматизацию этапов сборки и развертывания и многое другое.
Если вам понравился курс Let's Go, этот курс должен вам понравиться и стать идеальным следующим шагом в освоении Go.
👉 @golang_lib
👍4
Concurrency, Race Conditions and Concurrency Control
https://sayedalesawy.hashnode.dev/concurrency-race-conditions-and-concurrency-control
👉 @golang_lib
https://sayedalesawy.hashnode.dev/concurrency-race-conditions-and-concurrency-control
👉 @golang_lib