Блог инженера

History is written by its contributors

Quantum Computing Basics: кубиты и суперпозиция на Go

2025-10-20 время чтения 7 мин Quantum-Computing Golang Math Ilya Brin

Привет, бро! 👋

Пока все говорят про AI, настоящие гики уже изучают квантовые вычисления. Это не фантастика - это математика будущего, которая сломает всю современную криптографию.

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

Но как это работает? И можно ли симулировать квантовые вычисления на Go?

Разбираем кубиты, суперпозицию и квантовые гейты с практическими примерами на Go 🚀

Читать далее

GitHub Actions: продвинутые workflows для Go проектов

2025-10-11 время чтения 5 мин Devops Golang Ci-Cd Ilya Brin

Привет, бро! 👋

Ты всё ещё вручную запускаешь тесты перед каждым коммитом? Деплоишь в продакшн через SSH и молишься, чтобы ничего не сломалось?

GitHub Actions превращает репозиторий в автоматизированную машину: тесты, линтеры, сборка, деплой - всё без твоего участия.

Но большинство используют только базовые возможности. А ведь можно настроить матричные тесты, кеширование зависимостей, условные деплои и даже автоматические релизы.

Разбираем продвинутые паттерны GitHub Actions для Go проектов 🚀

Читать далее

mTLS в микросервисах: взаимная аутентификация

2025-10-03 время чтения 6 мин Security Ilya Brin

В обычном HTTPS только сервер доказывает свою подлинность сертификатом. Клиент остаётся анонимным. Но в микросервисах, где сервисы общаются друг с другом, нужно взаимное доверие. Для этого используется mTLS (mutual TLS).

Читать далее

Ад каналов в Go: как мы победили chan map[string]*map[int]chan struct{}

2025-05-14 время чтения 8 мин Golang Concurrency Refactoring Ilya Brin

Привет, гошник! 👋

Видел ли ты когда-нибудь код вроде chan map[string]*map[int]chan struct{}? Если да, то ты знаешь, что такое ад каналов.

Это история о том, как мы начали с простого, дошли до кошмара и нашли элегантное решение. Real-time система уведомлений, которая выросла от 100 пользователей до 100,000, и как мы рефакторили архитектуру каналов.

Спойлер: в итоге мы заменили весь этот ужас на 3 простых интерфейса и типизированные каналы 🚀

Читать далее

Test Doubles: mocks, stubs и dependency injection в Go

2025-05-09 время чтения 6 мин Golang Testing Quality-Assurance Ilya Brin

Привет, тестировщик! 👋

Твои тесты медленные, хрупкие и зависят от внешних сервисов? Каждый раз когда база данных недоступна, половина тестов падает?

Test Doubles - это твоё спасение. Вместо реальных зависимостей используй подделки: моки, стабы, фейки.

Разбираем, как правильно изолировать код для тестирования и писать быстрые, надёжные unit-тесты в Go 🚀

Читать далее

Linear Regression в Go: от нуля до production

2025-04-28 время чтения 7 мин Golang Machine-Learning Ilya Brin

Привет, Go-разработчик!

📊 Думаешь, машинное обучение — это только для Python-разработчиков? Хочешь добавить предсказательную аналитику в свой Go-сервис, но боишься математики?

Пока другие импортируют sklearn, ты узнаешь, как реализовать линейную регрессию на Go с нуля и довести до production-ready решения.

Читать далее

Система уведомлений: как синхронизировать миллионы устройств без боли

Привет, архитектор! 📱

Тебе нужно построить систему уведомлений, которая работает как у больших парней? Чтобы сообщения приходили мгновенно на все устройства пользователя, а сервер не падал от нагрузки?

Разберём, как спроектировать notification service, который выдержит миллионы пользователей и синхронизирует состояние между их устройствами.

Читать далее
Старые записи