Feed aggregator

Kubernetes и FluxCD: Восстановление кластера с хранением состояния, дампов и секретов в S3

Habr.com - 1 hour 33 min ago

При проектировании инфраструктуры часто возникает задача поднять кластер «с чистого листа». Безусловно, Terraform и Ansible — это стандарт индустрии. Однако мне нужен был процесс быстрого получения готового кластера K8s, полностью независимый от локального окружения, чтобы запуск не требовал предварительной подготовки версий библиотек, интерпретаторов или наличия локальных файлов конфигурации.

В этой реализации я намеренно упростил работу с конфигурацией: параметры виртуальных машин (CPU, RAM, диски) описаны прямо в коде (см. config.go). Я решил, что проектирование гибкой системы внешних конфигов можно оставить на потом, чтобы на данном этапе не отвлекаться и сфокусироваться на главной задаче — отладке самого механизма восстановления и связности компонентов.

Я реализовал подход полной автоматизации с использованием технологий, которыми увлекаюсь. Суть проста: на машине CI-раннера нет ничего, кроме одного бинарного файла. Всё состояние кластера (IP-адреса, ID дисков), дампы баз данных и зашифрованные секреты хранятся в S3. Это позволяет восстановить кластер в исходное состояние даже после полного удаления, просто вытянув актуальное состояние из облачного хранилища.

В этой статье я поделюсь опытом создания кастомного CLI для подготовки инфраструктуры и использования FluxCD для развертывания приложений. А для проверки результата я использую Yandex Cloud Managed Kubernetes, чтобы запустить K6 Operator и дать внешнюю нагрузку в 1000 пользователей на восстановленные сервисы.

Читать далее

Аутентификация Open Id Connect на языке VBA

Habr.com - 2 hours 30 min ago

В статье рассмотрим методику анализа протокола аутентификации OpenIdConnect и самого популярного механизма авторизации – Authorization code flow, а также разработку приложения на языке VBA, осуществляющего за пользователя такую аутентификацию для последующего сбора данных из корпоративных систем. В статье есть код, который можно переиспользовать, но ввиду отличий в корпоративных инфраструктурах организаций, начать необходимо с анализа контекста организации, применяемых настроек протокола аутентификации.

Решая аналогичную проблему, у меня не получилось найти готовых решений ни на русском, ни на английском языке. Кроме Basic аутентификации на VBA, иной информации нет. Пришлось пройти путем экспериментов и потратить около 8 часов на изучение вопроса и воспроизведение протокола аутентификации OIDC на языке VBA. Надеюсь, информация в этой статье позволит сэкономить ваше время. Статья будет полезна как опытным разносторонним разработчикам с широким кругозором, а также начинающим специалистам по VBA без опыта web разработки. Те моменты, которые могут бы не интуитивны, особенно важны по тексту, заняли время на эксперименты, я выделю жирным. Сразу предупреждаю, что серебряной пули в статье нет, не проведя анализ вашего приложения, просто скопировать код и использовать не получится. Код потребует адаптации.

Читать далее

Как сделать открытку в стиле Love is из своего фото через нейросеть

Habr.com - 8 hours 4 min ago

Помнишь те самые вкладыши из жвачки? Маленькие картинки, на которых влюблённая пара делает что-то смешное или трогательное, а внизу написано «Love Is…». Они снова в тренде — только теперь их не нужно искать в пачках жевательной резинки. Их легко и быстро создаёт нейросеть. И сделать открытку в стиле Love Is из своего фото — это буквально несколько минут работы без VPN, без зарубежных карт и без сложных настроек. Всё это возможно благодаря StudyAi — платформе с 50+ моделями ИИ, которая работает в России. Если ты влюблён или влюблёна и хочешь сделать красивую персональную валентинку на 14 февраля — читай дальше.

❤️ Нейросеть для генерации фото в стиле Love is...

Читать далее

Работа с внешними устройствами в Linux

Habr.com - 8 hours 25 min ago

Всегда ли вы понимали как работать с устройствами в Linux?
Задавали себе вопрос "А что в пути забыли ссылки?"
Или хотели знать, как в Linux представлены USB-устроства на уровне системы?

В этой статье я разбиаю как работать с внешними устройствами, для чего нужна директории /sys и /dev, как представлены в системе USB-устройства и cd-диски.

Читать далее

Цифровой тренер Павлова и Альцгеймер

Habr.com - 8 hours 41 min ago

Добро пожаловать в будущее, где болезнь — это не приговор, а повод купить очередной гаджет. Вы только посмотрите на этот документ! Университет Колорадо, при поддержке Пентагона (DARPA) и Национальных институтов здоровья (NIH), предлагает нам лечить рассеянный склероз и прочие тяжелейшие неврологические заболевания с помощью... наушника. Да-да, вы не ослышались.

Читать далее

Как восстановить репутацию стартапа после сбоя: пошаговый гайд

Habr.com - 9 hours 34 min ago

Главная ошибка фаундера – скрывать масштаб проблемы. Чтобы минимизировать репутационные риски, я, Петр Сухоруких, рекомендую алгоритм из 4 шагов:

Читать далее

SQL-запросы, которые убивают ваш прод: учимся ловить и лечить Deadlocks

Habr.com - 9 hours 44 min ago

Разбираемся с дедлоками в PostgreSQL: от причин возникновения на разных уровнях изоляции до методов лечения. Внутри — шпаргалка по pg_stat_activity и pg_locks для поиска блокирующих запросов, 4 золотых правила написания транзакций и готовый инструмент на Python для автоматического мониторинга базы. Минимум теории, максимум SQL-запросов, проверенных на реальном проде.

Читать далее

ИИнструменты 2.0: превращаем ад в заметках в рабочий инструмент

Habr.com - 9 hours 55 min ago

У нас было триста мемов в «Загрузках», две папки скачанных книг, 75 заметок, написанных впопыхах на коленке... Вроде гора всего полезного, для развития, а найти вообще НИ‑ЧЕ‑ГО НЕ‑ЛЬЗЯ.

Читать далее

Паттерн Transactional Outbox на примере двух микросервисов на java

Habr.com - 10 hours 46 min ago

Всем привет! В данной статье будет описан один из возможных вариантов реализации паттерна outbox transactional. План данной статьи такой. Вначале немного теории, а потом на примере двух микросервисов будет показала реализация данного паттерна с помощью debezium и kafka. Данная статья будет полезна для новичков, которые не встречались с данным паттерном.

Весь код микросервисов будет доступен по ссылкам.

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

Паттерн Outbox – используется в распределенных транзакциях, то есть в транзакциях, которые проходят и затрагивают несколько микровервисов, для обеспечения гарантированной доставки сообщения от одного микросервиса до другого. Данный паттерн используется там, где очень критично чтобы сообщение не потерялось, даже при сбоях в системе. Outbox паттерн получил распространение именно в микросервисной архитектуре, где нет возможности с помощью одной аннотации обеспечить транзакционность какого-то метода и возможный откат всей транзакции в рамках нескольких микросервисов.

Теперь перейдем к практике.

Допустим у нас имеется два микросервиса: order-servic, в котором клиент заказывает какой-то товар и bank-service, в котором происходит оплата за этот товар.

Весь код микросервисов будет доступен по ссылкам.

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

Для реализации этого паттерна я буду использовать debezium и kafka.

Читать далее

PostgreSQL 19: Часть 3 или Коммитфест 2025-11

Habr.com - Tue, 02/03/2026 - 23:52

Продолжаем цикл статей с обзором изменений 19 версии. Сегодня о ноябрьском коммитфесте 2025 года.

Самое интересное из предыдущих коммитфестов можно прочитать здесь: 2025-07, 2025-09.

Читать далее

Moltbot: 83 сценария использования open-source AI-агента

Habr.com - Tue, 02/03/2026 - 23:07

Бесплатный агент с 100K+ звёзд на GitHub, который реально выполняет задачи — не просто отвечает текстом.

Читать далее

Нужен ли преподаватель иностранного языка?

Habr.com - Tue, 02/03/2026 - 22:10

В среде рок-музыкантов есть поверье: преподаватель не нужен, потому что в сети полно слитых видеокурсов. В реальности правильную постановку рук для игры на инструменте может дать только преподаватель, и эта правильная постановка важнее, чем навороченные пассажи. Рокеры возражают: «Блин, да весь смысл в том, чтобы сыграть то, что хочется! Какая разница, как у тебя руки стоят??»

Разница в том, что неправильная постановка рук (помимо быстрого уставания и травм) ограничивает твою технику. До какого-то предела ты звучишь как будто не хуже профессионалов, но: 1) чаще сбиваешься; 2) в какой-то момент упрёшься в стену и прогресс станет минимальным. Чтобы продвинуться дальше, придётся найти преподавателя и начать С НУЛЯ.

Настоящую скорость и качество работы с клавиатурой даёт только техника слепой печати. И сколько бы лет ты ни печатал до этого, начать придётся С НУЛЯ. Кто жалеет на это время, в итоге теряет больше. А нужно-то всего 3–4 недели, чтобы пальцы запомнили где какая клавиша и начали печатать вслепую! Да, поначалу медленнее (чем глядя на клавиатуру), но с каждым днём всё быстрее. И совсем скоро вслепую уже просто удобнее!

Московская студентка как-то пожаловалась мне: «Когда я задумываюсь о временах в английском, то начинаю путаться и вообще ничего сказать не могу. Без грамматики мне проще – для работы хватает. Мне практика нужна.» Ну да, не просто же так появляются слоганы: «Долой нудную грамматику! Чтобы говорить, нужно говорить».

Это похоже на известную ошибку выжившего: «чтобы уметь драться — надо драться». КПД работы с сильным тренером по боксу выше в разы, а рисков для здоровья в разы меньше. И сколько бы ты ни дрался до этого, начать придётся С НУЛЯ: тебя месяцами будут учить двигаться определённым образом. И только когда, наконец, поставят удар, станет понятно, зачем нужен тренер.

Сколько бы та студентка ни «практиковалась», звучать она будет как миллионы наших сограждан за рубежом. Ну то есть как для нас гастарбайтеры. Чтобы это исправить, придётся найти преподавателя и начать всё равно С НУЛЯ.

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

Читать далее

Кастомные uuid на базе дженерика

Habr.com - Tue, 02/03/2026 - 21:56

Уже более 6 лет я использую кастомные идентификаторы - одна из классных штук, за которые обожаю go. Они незаменимы в описании бизнес-логики - невозможно перепутать порядок идентификаторов. Все вызовы становятся типобезопасными и самодокументируемыми. И писать такой легкочитаемый код очень приятно. Применяю кастомные id очень широко - от парсинга http-запроса до слоя данных.

В статье подробно рассказываю:
«как было» раньше (и осталось для кадастровых номеров, например),
переход от кастомизации строк к скрепным uuid.UUID и варианты типизации,
немного запутаемся в важных условиях кастомизации,
скопипастим компактное и готовое решение
и бонусом посмотрим лаконичный синоним в коде.

Читать далее

[Перевод] Внедрение гибких методологий в сложные системы. Фреймворк пользовательских историй, дополненный принципом JTBD

Habr.com - Tue, 02/03/2026 - 21:55

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

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

Читать далее

Моушен-графика для разработчиков: Remotion, Skills, немного стиля и любой ИИ-агент

Habr.com - Tue, 02/03/2026 - 21:35

Если бы я хотел хайпануть, то сказал бы, что моушен-графика больше не требует отдельной профессии, лицензии на Adobe и многих лет обучения. Но я так говорить не буду. Скажу лишь, что если вы разработчик и умеете формулировать задачу, то сегодня вы можете собирать анимированные промо-ролики, описывая их кодом в вашей любимой IDE.

В этой статье я покажу:
– Зачем вообще разработчику лезть в моушен,
– Что такое Remotion и почему он «выстрелил» именно сейчас,
– Причём тут Skills,
– И какой результат реально можно получить за 30 минут времени и несколько тысяч токенов.

Погнали!

А знали ли вы, что в 2010 году, в России был журнал с Linux?

Habr.com - Tue, 02/03/2026 - 21:18

Внимание: Это полностью переписанный «ремастер» одной из моих старых статей. Данный материал подготовлен специально для юной аудитории Хабра, которая могла и не застать эту частичку Linux-истории :-)

Нет, глаза вас не обманывают: не про Linux, а на Linux! 16 лет назад, в 2009 году, чипсетов для медиаплееров на рынке стало настолько много, что китайские чипмейкеры начали продавать их за копейки. Буквально за пару долларов можно было купить процессор, который включал в себя производительное ARM-ядро, аппаратные декодеры аудио и видео, ЦАП/АЦП и другие периферийные модули...

Читать далее

Gemini «не доступен в вашем регионе»? Полный гайд по обходу блокировок нейронки в 2026 году: DNS, IPv6

Habr.com - Tue, 02/03/2026 - 21:12

Google Gemini окончательно перестала заводиться через «просто VPN». Ты можешь поднять VLESS с самым чистым IP в Нидерландах, но нейронка всё равно выдаст заглушку.

Я собрал все советы которые смог выяснить, которая оживляет Gemini даже на самых проблемных провайдерах

Читать далее

Как мы искали «Луну-9»

Habr.com - Tue, 02/03/2026 - 21:05

Ровно 60 лет назад, 3 февраля 1966 года советский космический аппарат «Луна-9» совершил первую в истории человечества мягкую посадку на Луну. И только сейчас мы можем точно узнать, где именно он находится на Луне.

18+ НАСТОЯЩИЙ МАТЕРИАЛ (ИНФОРМАЦИЯ) ПРОИЗВЕДЕН, РАСПРОСТРАНЕН И (ИЛИ) НАПРАВЛЕН ИНОСТРАННЫМ АГЕНТОМ ЕГОРОВЫМ ВИТАЛИЕМ ЮРЬЕВИЧЕМ ЛИБО КАСАЕТСЯ ДЕЯТЕЛЬНОСТИ ИНОСТРАННОГО АГЕНТА ЕГОРОВА ВИТАЛИЯ ЮРЬЕВИЧА

Сразу после посадки «Луны-9» в советской прессе были опубликованы координаты места высадки, и сейчас их можно найти в Википедии и других источниках. Но тогда в прессе не уточняли, что это лишь центр области, в которой действительно произошла посадка, а точное местоположение аппарата тогда было невозможно установить, так же, как и рассмотреть его в телескопы с Земли или со спутников.

Зачем вообще искать «Луну-9», которая уже 60 лет не подает признаков жизни?

Для планетологии это может быть полезно как средство сравнения снимков поверхности Луны из космоса и на месте. Можно оценить, насколько верны были исследования 60-70-х на основе данных с «Луны-9». Для истории — это археологический памятник, свидетель зари космонавтики. Для меня, как энтузиаста космонавтики, это возможность прикоснуться к истории, о которой я читал ещё в детстве. С точки зрения популяризации космонавтики, это способ показать современные достижения науки и техники, которые позволяют простому пользователю интернета, не выходя из дома, провести своё собственное исследование в космосе.

Прямой поиск на Луне космических аппаратов разных стран стал возможен только после запуска американского лунного спутника NASA LRO в 2009 году. Его камера высокого разрешения NAC LROC отсняла почти всю поверхность Луны с разрешением 0,5-1 м на пиксель, а местами и до 0,35 м на пиксель. С её помощью были осмотрены следы американских астронавтов и найдены советские «Луноходы», обнаружены американские зонды Surveyor и советские станции серии «Луна», начиная с «Луны-16». 

Читать далее

Алгоритм обиды. Часть #02

Habr.com - Tue, 02/03/2026 - 20:51

Начало - Алгоритм обиды. Часть #01

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

Читать далее

Метод наименьших квадратов Гаусса с весовыми коэффициентами отклонений

Habr.com - Tue, 02/03/2026 - 20:36

В моей практике метод наименьших квадратов Гаусса используется в двух случаях.

Когда производится измерение, для корректировки полученной величины.

Когда необходимо задать ток или напряжение, для вычисления требуемого значения кода, заносимого в ЦАП (цифро-аналоговый преобразователь).

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

Моя идея – это ввести весовые коэффициенты отклонений в формулу критерия Гаусса.

Читать далее

Who's online

There are currently 0 users and 6 guests online.
Syndicate content