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

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

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

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

РКН: https://gosuslugi.ru/snet/67a4a8c2468
Download Telegram
🔥 Фундаментальное и практическое руководство по эффективному изучению и постепенному созданию блокчейна с нуля на Go + gRPC

Любите вы блокчейн или ненавидите, ваша точка зрения остается мнением до тех пор, пока вы не узнаете, как он работает.

И как только вы получите эти знания (например, с помощью этого руководства), ваша точка зрения, вероятно, отойдет от любви или ненависти и остановится где-то посередине.

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

👉 GitHub
Корутины: stackful 🆚 stackless

В статье корутины рассматриваются как общий концепт, без привязки к конкретному языку. Вы узнаете об основных различиях между stackless и stackful корутинами: чем они отличаются, какие у них плюсы/минусы и многое другое.

👉 Читать
This media is not supported in your browser
VIEW IN TELEGRAM
🪄 Магия генератора Go-кода: краткое руководство по началу работы

Существует не так много руководств по генерации кода Go, что вдохновило автора на создание проекта, который генерирует функции-обёртки для методов заданного типа.

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

👉 Читать
💬 А вы отдыхаете на выходных?

Ну это такие дни в течение недели, когда другие люди не работают, а отдыхают, то есть дают возможность организму/психике самовосстановиться.

👍 — да, только этим и занимаюсь
🤔 — нет, доделываю «хвосты» по работе
💯 — не работаю, но занимаюсь пет-проектами
🤩 — свой вариант (напишу в комментариях)

#интерактив
Кстати, несмотря на то, что канал time.Timer является буферизованным каналом с емкостью 1 элемент, проверка cap (timer.C) все равно вернет 0:

package main

import (
"fmt"
"time"
)

func main() {
t := time.NewTimer(0)
fmt.Println(cap(t.C))
}


👉 Подробнее
📊🚀 Почему все говорят о Kafka?

Хочешь узнать, как обрабатывать миллионы событий в секунду и почему такие гиганты, как Netflix и Uber, без ума от Kafka? Давай разберемся, как этот инструмент может превратить поток данных в золотую жилу для твоего проекта.

Читать статью
⚡️Разыгрываем флагманский смартфон

«Библиотека программиста» разыгрывает один из трех смартфонов на выбор:
🔹Samsung Galaxy S24 Ultra на 1 ТБ
🔹Xiaomi 14 Ultra на 512 ГБ
🔹iPhone 16 Pro Max на 512 ГБ

🔥 А еще 99 участников розыгрыша получат скидку 50% на наш курс Базовые модели ML и приложения!
Промокод будет действителен до 20 ноября.

Условия просты:
→ подписаться на Библиотека нейротекста
→ подписаться на Библиотека нейрозвука
→ подписаться на Библиотека нейрокартинок
→ нажать на кнопку «Участвовать» под этим постом

Итоги появятся 30 октября в 20:00 по московскому времени в нашем канале Библиотека программиста. Затем мы свяжемся с победителем, который сам выберет смартфон. Тем, кто получит промокод, мы вышлем его в течение недели после окончания розыгрыша.

⚠️ Убедитесь, что вам можно написать в личные сообщения или следите за результатами — если мы не сможем с вами связаться, то не сможем и отправить приз. Доставить мы можем только в города России и Беларуси.
🔥 Паттерны многопоточности в Go

Статья-шпаргалка по ключевым паттернам многопоточности:

Future/Promise — асинхронный запрос на выполнение задачи, не блокирующий основной поток.
Generator — простой и удобный способ создания потока данных. С его помощью можно запускать горутину, которая генерирует значения и передает их через канал.
Pipeline — мощный паттерн, позволяющий разбить задачу на несколько этапов обработки данных, организуя плавный поток через горутины.
Fan-in и Fan-out — fan-out помогает распараллелить выполнение одной задачи на несколько горутин, а fan-in помогает собрать результаты этих горутин в один поток данных.
Semaphore — инструмент для контроля числа одновременно выполняемых горутин, защищающий от перегрузок системы.
Worker Pool — организует набор горутин для параллельной обработки задач, что особенно полезно для оптимизации производительности.
Обработка ошибок в горутинах — паттерн, помогающий корректно и безопасно обрабатывать ошибки, возникающие в горутинах, через каналы.
🚀 Оптимизация и визуализация параллелизма тестов: почему больше ядер не ускоряют ваши тесты Go

Вы, вероятно, знаете о t.Parallel() для параллельного запуска тестов, но знали ли вы, что иногда это может замедлить тесты? Robert Laszczak рассматривает некоторые инструменты и тактики, помогающие визуализировать и оптимизировать тесты + когда стоит запускать их параллельно.

👉 Читать гайд
🧪 Чем заменить Postman: 5 отличных инструментов для разработки API

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

👉Читаем здесь
🎃 Приглашаем на вебинар перед Хэллоуином: «Нужна ли математика на собеседованиях?» 🧙‍♀️

Темные тучи сгущаются, и в воздухе витает мистическая атмосфера... Готовы ли вы окунуться в мир загадочной математики и раскрыть тайны успешного собеседования? Тогда ждем вас 28 октября в 20:00! 🕸
https://proglib.io/w/c64dc12c

Что вас ждет в эту зловещую ночь:

💀 Ошибаться не страшно: узнаем, как неудачные проекты и опыт «в стол» превращают джуниоров в сеньоров. Расскажем истории о том, как ошибки закаляют и помогают достигать вершин мастерства.

🧛 Собеседования без подготовки? Обсудим, возможно ли пройти через испытания рекрутеров без специальной подготовки или это путь в лабиринт с привидениями.

🧙 Теория и практика — зелье успеха:

• Выбор метрики оценки модели: какую метрику показать бизнесу, чтобы не столкнуться с гневом нечисти? Разберемся в разнице между MAPE и WAPE и когда какую применять.

• Трансформация распределений: как превратить логнормальное распределение в нормальное без волшебной палочки? Поговорим о том, зачем это нужно и как обойтись изменением функции потерь вместо магических превращений.

🦇 Бонус для смельчаков: раскроем секреты тестирования в маркетинге, которые помогут не заблудиться в темном лесу конкурентного рынка.

Не упустите шанс провести вечер в компании единомышленников, погрузиться в атмосферу Хэллоуина и получить ценные знания!

🕯 Записывайтесь на вебинар и готовьтесь к мистическим открытиям!
https://proglib.io/w/c64dc12c👻
🔥 Phuong Le представил очередную занимательную серию статей про I/O в Go:

▪️ Go I/O Readers, Writers и Data
▪️ Go I/O Closer, Seeker, WriterTo и ReaderFrom
🎨🔙🔚 Паттерн «Бэкенд для фронтенда»: преимущества, недостатки и лучшие практики для реализации

Если ты хочешь стать настоящим мастером API, тебе нужно знать о паттерне BFF. В этой статье рассказываем, как создавать управляемую архитектуру с использованием BFF, избегая избыточной сложности и головной боли при поддержке.

👉 Читать статью
👉 Зеркало
🔥 Опытный разработчик Родион Горковенко за свои 15+ лет опыта прошел больше 100 собеседований — и почти четверть из них в этом году по Go.

Под катом он делится наблюдениями и мыслями, которые могут помочь другим в поиске работы или в рекрутинге.

👉 Читать
🛠️ Бенчмаркинг и тестирование производительности в Go

Насколько быстр ваш код? Тесты расскажут вам об этом. К счастью, в Go есть бенчмаркинг, интегрированный в toolchain, наряду с тестированием. Вот руководство по бенчмаркингу для новичков в Go👇

🔗 Читать
🤼 Генеративно-состязательная нейросеть: ваша первая GAN-модель на PyTorch

Подробная инструкция построения генеративно-состязательных нейросетей (GAN) на примере двух моделей, реализованных с помощью фреймворка глубокого обучения PyTorch в нашей статье. 👇

🔗 Статья

У нас есть курс как для начинающих программистов, так и для тех, кто уже шарит:
🔵 Алгоритмы и структуры данных
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Какая одна из самых холиварных тем в жизни программистов? Конечно, связанная с собесами, офферами и вот этим всем.

Ниже — история про то, как начинающий гофер отказался от оффера на стажировку в Sber Devices. Прочитайте, уже более 170 комментариев👇

🔗 Читать
🔥 Просто напоминаем, что в Awesome Go почти 3000 категоризированных ресурсов по языку и экосистеме 🫶

Неизменно полезный ресурс, который продолжает получать частые обновления (почти безостановочно) и который стоит посетить/добавить в закладки.

👉 Сайт & GitHub