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

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

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

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

РКН: https://gosuslugi.ru/snet/67a4a8c2468
Download Telegram
Juan Christian, 17-летний индонезийский программист-самоучка, написал клон Twitter с помощью Go + Vue 3 + Vite + TailwindCSS + PostgreSQL + Redis. Проект разработан исключительно в образовательных целях и включает лишь основные компоненты Twitter. Как вам?

https://proglib.io/w/1ec97fb2
#tip

В VSCode есть команда, позволяющая генерировать модульные тесты для файла Go. К нему можно получить доступ, используя «Cmd + Shift + P» и набрав «Generate Unit Tests For File». Для работы данной функции требуется наличие пакета gotests.
#proglib_contest

Go-Callvis — это инструмент, помогающий визуализировать график вызовов программы Go с помощью интерактивного представления.

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

https://proglib.io/w/3be4aba8
#proglib_contest

10 лучших книг по Go

Книги по языку Go с лучшими оценками читателей. Расставлены в порядке возрастания сложности, обобщены указанные читателями преимущества и недостатки.

https://proglib.io/w/7be51898
#proglib_contest

Как работает пул буферов: реализация на Go

Bruno Calza, бразильский инженер-программист в Arquivei, глубоко погрузился в изучение того, как базы данных эффективно перемещают данные на диск и с него.

В данной статье он начинает с обзора того, как данные структурированы на диске, затем объясняет принцип работы диспетчера пула буферов и представляет реализацию на Go.

https://proglib.io/w/6c1f98f8
Подходит к концу эпический конкурс на самый интересный контент в телеграм-каналах Библиотеки программиста. Посты собирают всё больше откликов — спасибо за ваши старания!

У всех, кто хотел поучаствовать, остался последний шанс побороться за 20 000 ₽ в каждом из каналов: @progbook, @proglibrary, @pyproglib, @frontendproglib, @javaproglib, @dsproglib, @phpproglib, @cppproglib, @mobileproglib, @goproglib, @csharpproglib, @devopsslib, @testerlib, @hackproglib. Общий призовой фонд 280 000 ₽.

До полуночи примем последние посты — в некоторых каналах шансы на победу всё ещё высокие. Лайфхак: эти каналы нетрудно вычислить по хэштегу #proglib_contest 😉.

Напоминаем, как участвовать: пишем анонс до 700 знаков к любой актуальной айтишной статье 2020-21 годов или рецензию книги для @progbook. Отправляем получившийся текст и название канала боту @proglib_contest_bot. Чей пост в канале наберёт больше откликов, тот и выиграл.

Через три дня подведем итоги и огласим список победителей. Юридическая информация: https://proglib.io/best-post-contest.
🏃 Параллельное программирование в Go

Изучаем основы параллельного программирования в Go, а также пытаемся разобраться на примерах, почему конкурентность в Go – это не совсем параллелизм.

https://proglib.io/sh/OQI6kqYltE
ВТБ ищет специалиста на поцизицю — Сlient Journey Expert
Банк взамен гарантирует конкурентную зарплату, топовую мед.страховку и постоянное профессиональное обучение.
Что нужно делать?
• формировать общее видение продукта, строить аналитику;
• исследовать рынок и оцифровывать потребности клиентов;
• предлагать улучшения бизнес-процессов;
• знать все современные методы исследования рынка;
• иметь навыки работы с аналитическими инструментами (Visio, Business Studio, Miro)
Подробное описание вакансии – по ссылке: https://www.vtbcareer.com/vacancy/789085/.
Практика обнаружения утечек горутин с помощью Semgrep — open source инструмента статического анализа, который использует определяемые пользователем шаблоны для поиска проблем в коде.

https://proglib.io/w/8b2bb9ce
Go-getter — это библиотека, предназначенная для загрузки файлов или каталогов из различных источников с использованием URL-адреса в качестве основной формы ввода.

Библиотека позволяет загружать файлы из различных источников (пути к файлам, Git, HTTP, Mercurial и т. д.) с использованием одной строки в качестве входных данных. Это избавляет разработчика от необходимости знать, как выполнять загрузку из различных источников.

https://proglib.io/w/0370f589
Знакомство с errgroup — пакетом, обеспечивающим синхронизацию, обработку ошибок и отмену контекста для групп горутин, работающих над подзадачами.

Другими словами, вы можете использовать этот пакет в сценариях, где обычно используется sync.WaitGroup, но он также заботится о передаче контекста подзадачам и автоматической обработке ошибок.

https://proglib.io/w/ff9dc3d2
👍1
Pogreb — пакет, реализующий встроенное key-value хранилище, предназначенное для рабочих нагрузок с большим количеством операций чтения.

756 ⭐️

https://proglib.io/w/d47329b6
Пришло время подвести итоги конкурса на лучший контент #proglib_contest. Искренне благодарим всех, кто принял активное участие, без вашей поддержки конкурс бы не получился.

Победителем канала @goproglib становится автор поста — барабанная дробь 🥁https://t.iss.one/goproglib/1666.

Победитель определен по количеству лайков под постом среди других конкурсных сообщений. За победный пост автор получает 20 000 ₽. В ближайшее время мы свяжемся с победителем и отправим приз — оставайтесь на связи.

Спасибо, что читаете нас!
Будущее функционального программирования в Go 1.18 с дженериками

Ожидается, что с выходом Go 1.18 в начале 2022 года в язык будут добавлены дженерики, которые позволят реализовать на Go новые виды решений функционального программирования.

Автор статьи освещает вопросы функционального программировании, делает обзор современного ландшафта функционального программирования на Go и рассказывает о функциях, запланированных в Go 1.18, и о том, как они могут обеспечить функциональное программирование.

https://proglib.io/w/0b1bbf28
Использование определенного языка в многочисленных проектах в течение длительного периода времени позволяет делать ошибки, исправлять их, осознавать, что это все еще не лучший способ реализации, исправлять их снова и в целом становиться лучше.

Автор статьи в течение нескольких лет работал с Go и в статье как раз обсуждает некоторые из ошибок и уроки, которые он извлек, пытаясь исправить их в будущих проектах.

https://proglib.io/w/98fe31e0
Зачем в вашем веб-приложении может понадобиться отменить запрос к базе данных? На ум приходят два сценария:

1. Когда запрос выполняется намного дольше, чем ожидалось.
2. Когда клиент неожиданно уходит до завершения запроса.

О том, как управлять тайм-аутом базы данных, как отменить запросы к базе данных в веб-приложении, о каких поведенческих особенностях и крайних случаях важно знать, расскажет статья.

https://proglib.io/w/83344de1