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

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

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

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

РКН: https://gosuslugi.ru/snet/67a4a8c2468
Download Telegram
Вакансии «Библиотеки программиста» — ждем вас в команде!

Мы постоянно растем и развиваемся, поэтому создали отдельную страницу, на которой будут размещены наши актуальные вакансии. Сейчас мы ищем:
👉контент-менеджеров для ведения телеграм-каналов

Подробности тут

Мы предлагаем частичную занятость и полностью удаленный формат работы — можно совмещать с основной и находиться в любом месте🌴

Ждем ваших откликов 👾
🔐Криптография в Go: AES-шифрование

Гайд от John Arundel, ментора и автора множества книг по Go:

1️⃣ AES в деталях
2️⃣ Реализация AES
3️⃣ AES-шифрование
Please open Telegram to view this post
VIEW IN TELEGRAM
Привет, друзья! 👋

Готовим статью «Лучшие шрифты для программирования» и хотим узнать ваше мнение! 🖥️
Поделитесь своим опытом: какой шрифт, на ваш взгляд, самый удобный для долгих сессий кодинга и почему? 💻🕰️

Ждем ваши ответы в комментариях! Самые интересные и полезные советы войдут в нашу статью. 📝💡
⚖️💻 5 признаков зависимости от программирования: как вернуть баланс в жизнь

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

🔗 Читать статью
🔥🛠️ TinyGo Playground — теперь с бОльшим количеством ресурсов

Вы еще не «трогали» TinyGo? TinyGo Playground позволяет вам писать код с симулированным оборудованием (например, светодиодами и т. д.) в вашем браузере.

И теперь он имеет в два раза больше ЦП и ОЗУ для вашего удовольствия от тестирования. Теперь он также может показывать оценки энергопотребления для вашего кода.

👉 Playground
👩‍💻 Go Singleflight растворяется в вашем коде, а не в вашей базе данных: продолжение серии статей Phuong Le про сложные аспекты Go на простых иллюстрациях

Пакет singleflight предоставляет механизм подавления дублирующихся вызовов функций. Он не является частью стандартной библиотеки, но поддерживается и развивается командой Go.

👉
Читать
👉
Другие статьи в серии:
• Go sync.Mutex: нормальный/starvation режим
• Go sync.WaitGroup и проблема выравнивания
• Go sync.Pool и механика, стоящая за ним
• Go sync.Cond, самый недооцененный механизм синхронизации
🏗 3 основных шаблона событийно-ориентированной архитектуры

Знание данных шаблонов позволяет:

✔️ Создавать слабосвязанные системы, в которых сбой одного компонента не приводит к полному отказу всей системы, а составные части приложения легче масштабировать и модифицировать.
✔️ Эффективно управлять асинхронными операциями и обрабатывать непредсказуемые события в системе.
✔️ Разрабатывать отзывчивые и эффективные приложения, обрабатывающие данные в реальном времени.
✔️ Создавать высоконагруженные системы, в которых требуется быстрая реакция на события.
✔️ Эффективно использовать современные технологии, например потоковую обработку данных и бессерверные вычисления.

1️⃣ Шаблон конкурирующих потребителей используется для эффективного распределения большого количества асинхронных сообщений между несколькими потребителями. Ключевой момент в этом шаблоне — необходимость обработки каждого сообщения только одним потребителем. Разные инструменты и платформы решают эту задачу по-своему:
2️⃣ Шаблон повторных попыток сообщений используется для обработки ошибок при работе с очередями сообщений. Этот шаблон позволяет создать надежную систему обработки транзакций, способную справляться с временными сбоями и обеспечивающую контролируемый процесс для работы с проблемными транзакциями, например, при обработке платежей.
3️⃣ Шаблон асинхронного запроса-ответа позволяет создавать масштабируемые и устойчивые к сбоям системы, где сервисы могут взаимодействовать асинхронно, не блокируя друг друга и сохраняя способность корректно обрабатывать ответы даже при изменении состояния системы между запросом и ответом.

👉 Подробнее читайте в нашей статье
👉 Зеркало
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Создание масштабируемой системы обработки заказов с использованием Temporal и Go

Temporal — фреймворк для написания длительных workflows на Go. В этом практическом руководстве из шести частей показано, как создать систему обработки заказов с помощью Go, Temporal, Gin, sqlc, PostgreSQL и Docker.

1️⃣ Setting Up the Foundation
2️⃣ Advanced Temporal Workflows
3️⃣ Advanced Database Operations
4️⃣ Monitoring and Alerting
5️⃣ Distributed Tracing and Logging
6️⃣ Production Readiness and Scalability
Please open Telegram to view this post
VIEW IN TELEGRAM
💻🔍💼 Кризис IT-рынка: как джуны и кадровый голод меняют правила игры

В условиях нехватки опытных специалистов и наплыва джунов, IT-компании вынуждены искать нестандартные подходы к найму. Рассмотрим основные тренды и стратегии адаптации рынка.

Читать статью

#почитать
🛠️ Реализация package-level логирования на Go с использованием подхода, аналогичного log4j, широко известного фреймворка для логирования в Java

Когда Go-команде (DoltHub) нужен логгер в стиле log4j с файловой конфигурацией для Go, она берет и пишет его с нуля. Под катом — подробный пошаговый гайд👇

🔗 Читать
Please open Telegram to view this post
VIEW IN TELEGRAM
⏱️ Работа со временем в Go

Время — один из самых сложных аспектов для работы в любом языке программирования. Go делает эту работу максимально простой.

Matt Boyle рассказывает обо всем, что вам нужно знать о работе со временем и о том, как писать тестируемый код при работе со временем.

👉 Читать
🔟🏩 ТОП-10 перспективных студий разработки: лучшие компании для вашего карьерного роста

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

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

🔗 Читать статью
🔗 Зеркало
👩‍💻 Sets в Go: использование типа map и сторонних пакетов

В Go нет нативного типа данных для sets, но мапы могут помочь вам реализовать свой собственный, а также такие пакеты, как golang-set. Go-разработчик Willem Schots показывает, как это делается.

👉 Читать
Please open Telegram to view this post
VIEW IN TELEGRAM
Привет, друзья! 👋

Мы хотим обсудить важную тему — токсичность в среде разработчиков и значимость поддержки и наставничества. Нам интересно узнать ваше мнение и опыт! Поделитесь своими мыслями, и самые полезные советы мы включим в нашу статью. Вот несколько вопросов для вас:

🤔 Приходилось ли вам сталкиваться с токсичными коллегами на работе? Как вы справлялись с этой ситуацией?

🌟 Какие качества вы считаете важными для хорошего наставника в IT-сфере?

💡 Какие советы вы бы дали тем, кто хочет создать более поддерживающую и позитивную рабочую атмосферу?

Спасибо за ваше участие! Ваши ответы помогут сделать рабочую среду лучше для всех. 🚀