🔥 Google выпустил Mangle — инструмент для декларативного логического программирования и работы с данными через правила.
Что это такое:
- Основан на языке Datalog, но расширяет его возможностями: агрегаты, функции, опциональная типизация.
- Можно объединять данные из разных источников и описывать связи правилами и рекурсией.
- Реализован на Go и работает как библиотека, которую легко встроить в приложение.
Зачем это нужно:
- Позволяет описывать вычисления не кодом «пошагово», а в виде правил.
- Подходит для задач со сложными связями: графы, зависимости, анализ версий, обработка свойств.
- Сохраняет баланс: простота декларативного подхода + реальная функциональность для практических кейсов.
Ограничения:
- Некоторые расширения ломают гарантии «чистого» Datalog (например, не всегда есть гарантия завершения вычислений).
- Проект пока развивается (версия 0.3.0), экосистема ещё небольшая.
Когда использовать:
- Для интеграции данных из разных источников (базы, API, файлы).
- Для анализа сложных структур вроде графов или систем зависимостей.
- Когда важна читаемость и поддерживаемость логики — правила легче поддерживать, чем запутанный код.
🔗 Репозиторий: https://github.com/google/mangle
Что это такое:
- Основан на языке Datalog, но расширяет его возможностями: агрегаты, функции, опциональная типизация.
- Можно объединять данные из разных источников и описывать связи правилами и рекурсией.
- Реализован на Go и работает как библиотека, которую легко встроить в приложение.
Зачем это нужно:
- Позволяет описывать вычисления не кодом «пошагово», а в виде правил.
- Подходит для задач со сложными связями: графы, зависимости, анализ версий, обработка свойств.
- Сохраняет баланс: простота декларативного подхода + реальная функциональность для практических кейсов.
Ограничения:
- Некоторые расширения ломают гарантии «чистого» Datalog (например, не всегда есть гарантия завершения вычислений).
- Проект пока развивается (версия 0.3.0), экосистема ещё небольшая.
Когда использовать:
- Для интеграции данных из разных источников (базы, API, файлы).
- Для анализа сложных структур вроде графов или систем зависимостей.
- Когда важна читаемость и поддерживаемость логики — правила легче поддерживать, чем запутанный код.
🔗 Репозиторий: https://github.com/google/mangle
👍3❤1🔥1🥰1🤔1
📌 В Go есть два разных способа собирать пути, и это важно понимать:
👉 Нужно указать путь к файлу на диске?
Используй
Он сам подставит правильные разделители:
-
-
👉 Нужно собрать путь со слешами, например для URL?
Используй
Он всегда будет использовать
⚠️ На Linux оба варианта могут выглядеть одинаково, но на Windows результат будет другим.
#golang #go #programming #backend
👉 Нужно указать путь к файлу на диске?
Используй
filepath.Join
из пакета path/filepath
. Он сам подставит правильные разделители:
-
/
на Linux и macOS -
\
на Windows 👉 Нужно собрать путь со слешами, например для URL?
Используй
path.Join
из пакета path
. Он всегда будет использовать
/
и работать одинаково на всех ОС. ⚠️ На Linux оба варианта могут выглядеть одинаково, но на Windows результат будет другим.
#golang #go #programming #backend
👍19❤2
Vercel, создатели Next.js, выложили большую коллекцию примеров и шаблонов для приложений.
Внутри куча полезного:
- простые стартеры, чтобы быстро запустить проект
- готовые архитектуры «как в проде»
- демки с лучшими практиками
Полезно и для быстрых экспериментов, и чтобы подсмотреть правильные решения.
Репозиторий постоянно пополняется, а лучшие наработки попадают в Vercel Templates с удобным поиском и фильтрацией.
👉 Отличный источник, чтобы копировать и развивиать проверенные идеи. 🚀
Внутри куча полезного:
- простые стартеры, чтобы быстро запустить проект
- готовые архитектуры «как в проде»
- демки с лучшими практиками
Полезно и для быстрых экспериментов, и чтобы подсмотреть правильные решения.
Репозиторий постоянно пополняется, а лучшие наработки попадают в Vercel Templates с удобным поиском и фильтрацией.
👉 Отличный источник, чтобы копировать и развивиать проверенные идеи. 🚀
❤4🌭1
🆕 На Stepik вышел курс — «Golang + SQLx: построение высоконагруженных сервисов с нуля до продакшена»
Уже пишете на Go и хотите разобраться, как строить быстрые и отказоустойчивые сервисы? Этот курс — именно то, что нужно, чтобы прокачать навыки работы с SQLx и backend-архитектурой.
• Полный путь от CRUD-операций до масштабируемых систем: транзакции, уровни изоляции, конкурентное программирование, балансировка нагрузки
• Оптимизация SQL: индексы, кэширование, профилирование запросов
• Масштабирование и администрирование сервисов: кластеры, отказоустойчивость, мониторинг и логирование
• Практика на реальных кейсах: проектируем API, отрабатываем ошибки, настраиваем CI/CD
• 150+ интерактивных заданий с автопроверкой — пишите код прямо в браузере, когда удобно
• Итоговый pet-project: к концу курса у вас будет готовый сервис уровня продакшн
🎓 Сертификат по завершении — добавьте его в резюме или профиль LinkedIn
🚀 Прокачайте Golang и SQLx с пользой и практикой. Начните уже сегодня и получите скидку 30%, которая действует в течение 48 часов.
👉 Пройти курс на Stepik
Уже пишете на Go и хотите разобраться, как строить быстрые и отказоустойчивые сервисы? Этот курс — именно то, что нужно, чтобы прокачать навыки работы с SQLx и backend-архитектурой.
• Полный путь от CRUD-операций до масштабируемых систем: транзакции, уровни изоляции, конкурентное программирование, балансировка нагрузки
• Оптимизация SQL: индексы, кэширование, профилирование запросов
• Масштабирование и администрирование сервисов: кластеры, отказоустойчивость, мониторинг и логирование
• Практика на реальных кейсах: проектируем API, отрабатываем ошибки, настраиваем CI/CD
• 150+ интерактивных заданий с автопроверкой — пишите код прямо в браузере, когда удобно
• Итоговый pet-project: к концу курса у вас будет готовый сервис уровня продакшн
🎓 Сертификат по завершении — добавьте его в резюме или профиль LinkedIn
🚀 Прокачайте Golang и SQLx с пользой и практикой. Начните уже сегодня и получите скидку 30%, которая действует в течение 48 часов.
👉 Пройти курс на Stepik
🔥3🥴3👍1👏1🤔1
@golang_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
This media is not supported in your browser
VIEW IN TELEGRAM
Городские сервисы Яндекса отправились в Tech Tour — встречайте в Казани и Нижнем Новгороде
15 и 22 ноября приглашаем на митапы о технологиях в Городских сервисах Яндекса — эксперты выступят с докладами, проведут кейслаб и вайбкодинг для backend-, ML- и DS-разработчиков.
📍В Казани расскажут о том, как в Маркете создали AI-ассистента внутри маркетплейса, разработали поиск лекарств в Еде и научились оптимизировать алгоритмы назначения и распределения исполнителей в Лавке.
📍А в Нижнем Новгороде поделятся, как создают сервис Турбо со скидками для пользователей и поддерживают консистентность данных в продукте.
Кроме докладов и практических активностей в каждом городе будут интерактивы, карьерные смолл-токи и нетворкинг.
📌 Казань, 15 ноября
📌 Нижний Новгород, 22 ноября
Сохраняйте даты и регистрируйтесь!
Мероприятие бесплатное. Количество мест ограничено — пожалуйста, дождитесь нашего подтверждения.
15 и 22 ноября приглашаем на митапы о технологиях в Городских сервисах Яндекса — эксперты выступят с докладами, проведут кейслаб и вайбкодинг для backend-, ML- и DS-разработчиков.
📍В Казани расскажут о том, как в Маркете создали AI-ассистента внутри маркетплейса, разработали поиск лекарств в Еде и научились оптимизировать алгоритмы назначения и распределения исполнителей в Лавке.
📍А в Нижнем Новгороде поделятся, как создают сервис Турбо со скидками для пользователей и поддерживают консистентность данных в продукте.
Кроме докладов и практических активностей в каждом городе будут интерактивы, карьерные смолл-токи и нетворкинг.
📌 Казань, 15 ноября
📌 Нижний Новгород, 22 ноября
Сохраняйте даты и регистрируйтесь!
Мероприятие бесплатное. Количество мест ограничено — пожалуйста, дождитесь нашего подтверждения.
🔧 go-update-lens — библиотека на Go для обновления «линз» (lens) и реактивного патчинга данных в структурах
📌 Что умеет:
- Позволяет динамически изменять вложенные структуры без полной перезаписи
- Поддерживает создание “линз” - функциональный подход к фокусировке на части данных
- Работает “in-place”, минимизируя копирование и сохраняя производительность
🌟 Почему это полезно:
- Упрощает работу с вложенными структурами, когда нужно изменить лишь часть
- Особенно удобно в приложениях с состоянием и реактивными моделями
- Помогает избежать boilerplate-кода для обновления вложенных полей
🔗 Репозиторий: https://github.com/PatchLens/go-update-lens
#golang #architecture #library #data #update_ops
📌 Что умеет:
- Позволяет динамически изменять вложенные структуры без полной перезаписи
- Поддерживает создание “линз” - функциональный подход к фокусировке на части данных
- Работает “in-place”, минимизируя копирование и сохраняя производительность
🌟 Почему это полезно:
- Упрощает работу с вложенными структурами, когда нужно изменить лишь часть
- Особенно удобно в приложениях с состоянием и реактивными моделями
- Помогает избежать boilerplate-кода для обновления вложенных полей
🔗 Репозиторий: https://github.com/PatchLens/go-update-lens
#golang #architecture #library #data #update_ops