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

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

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

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

РКН: https://gosuslugi.ru/snet/67a4a8c2468
Download Telegram
#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.me/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
«Лаборатория Касперского» открывает набор на стажировку SafeBoard. Это отличная возможность бодро начать карьеру в IT еще до окончания вуза — успей подать заявку.

Главное о стажировке:
• Проходит в московском офисе и открыта для студентов любых ВУЗов и курсов;
• Совместима с учебой — гибкий график 20 часов в неделю. Можно и больше, если есть желание и возможность: до 35 часов — в учебное время, до 40 часов — летом.
• Длится год;
• Оплачивается (а еще стажерам ежемесячно компенсируют расходы на питание, предоставляют бесплатный unlim-доступ к спортзалу и ко всем открытым мероприятиям).

Набор ведется на направления:
• Разработка (С++);
• Разработка (C#/Python/Go);
• Разработка (Scala/Java/Python/Go);
• Тестирование (Python/ручное);
• Системный анализ;
• Системное администрирование;
• Mobile;
• Data Science;
• Анализ вредоносного ПО;
• Пентест.

Лучшие участники получат приглашение на работу.

Подать заявку: https://kas.pr/iuh5
Noti — инструмент, предназначенный для отслеживания процесса и запуска уведомлений.

https://proglib.io/w/a46790a6
Шпаргалка по инструментам для повышения производительности Go.

https://proglib.io/w/662b9991
#tip

Пакет http имеет полезную вспомогательную функцию Error, которую можно использовать для ответа на запрос с указанным сообщением об ошибке и кодом HTTP.