Блог

  • Полный рефакторинг моего pet-проекта

    Полный рефакторинг моего pet-проекта

    Да, у меня есть pet-project, который может уже и столько pet, раз работает с 2018 и им пользуются по сей день. Это проект Meetto — система автоматизации для общепита, в основном это система онлайн-бронирования, но есть и функционал по электронному меню, ведению складских остатков и прочего.

    Суть в чем — проект изначально был написан на моих тогда еще не столь хрустящих коленках, и в качестве основы реализации был выбран serverless подход — взял Angular, на котором тогда начинал писать код на работе, подключил его к Google Firebase и понеслось.

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

    Проект висел, не лез в карман, раз в несколько месяцев вносил мелкие правки и им пользовались 6-7 заведений на момент начала 2026. Google достаточно глубоко пророс в проект — момимо realtime database в нем использовалась и аутентификация, и хранилище изображений в s3 bucket.

    Пусть проект и совсем маленький, но на фоне слухов о штрафах за ПДн, решил я все таки сползать с Гугла, ибо если есть вероятность проблем, то лучше этот риск заранее митигировать. Подумал, что пора переходить на self-hosted Postges, свою аутентификацию и какой-нибудь S3 storage.

    А тут, как вы знаете, уже настала эпоха «ИИ из каждого чайника»… И вот мой целомудренный проект, которого не касалась рука вайбкодера, сдался — сначала лег под бесплатные модели, которые захлебывались от длины контекста и не всегда вывозили правки, но все же у них это как-то получалось.

    А потом я подключил deepseek v4 pro. Этот пост не является его рекламой — но хочу сказать, что в первый день рефакторинга — диспик запилил мне несколько рабочих сервисов на бэкенде и внес правки во фронт по цене поездки на китайском метро (около 4 юаней).

    ЧЕТЫРЕ, Карл!

    Рефакторинг продолжается — думаю что в скором времени будет выпущена обновленная Meetto v2 с бэкендом и шлюзами. Если однажды будет не лень и кому-то пригодится, закину на Хабр статейку об этом приключении.

  • Вопрос знатокам

    Вопрос знатокам

    Вопрос с черным ящиком — одна из самых старых традиций клуба «Что? Где? Когда?». На неделе приключилась рабочая история, которая напомнила мне эту самую традицию.

    Очередной релиз — всё протестировано, QA и PO дали своё добро на внедрение — релиз покатился в заранее запланированное время, поды с новой версией сервиса прекрасно раскатываются на кластере, ошибок в логах не наблюдается. Все, казалось бы, рады…

    Но фактически сервис не работает, как ожидается.

    Вопрос знатокам — «Что же в чёрном ящике?»

    (далее…)
  • Kubernetes-мистика по субботам

    Kubernetes-мистика по субботам

    Надеюсь я не назову так отдельную рубрику.

    В сегодняшний выходной день произошла одна веселая ситуация. Это одновременно пиздец весело с точки зрения наблюдателя за пивком и пиздец больно с точки зрения devops-инженера. Учитывая субботу, весеннее солнце за окном и интересную корейскую дораму, которая была прервана.

    Представьте себе — время в районе 12:00 — новый образ контейнера выкачивается из registry успешно, деплой сервиса проходит как ожидается, поды стартуют и все замечательно.

    Время в районе 13:00 — начинают, значит, катить второй, совершенно независимый от первого сервис — но при попытке выкачать образ контейнера и docker registry вылетает event с 403й ошибкой. Падает и падает ошибка. Под не стартует — ImagePullBackOff…

    Как так, ведь вот только недавно выкатался первый раз успешно? Как оказалось, мы наткнулись на мину — после запуска деплоя первого сервиса случилась авторотация пароля от учетной записи, которая ходит в docker registry. И НИ ОДИН новый сервис теперь не хочет выкатываться.

    То ли первый деплой послужил триггером, то ли так великолепно вписались в TTL для пароля… Так великолепно, что на поиск причины убили часа 3 — обивали пороги нескольких дежурок, звонили-писали коллегам и еще затем часа полтора на способы обновления пароля из vault в ServiceAccount в неймспейсе.

    (далее…)
  • Привет, мир! v2.0

    Привет, мир! v2.0

    Добро пожаловать в мою очередную (а точнее, вторую) попытку вести полноценный standalone-блог.

    Мой первый блог был на сайте diablog.ru в 2008-2014, если будет не лень, восстановлю его из веб-архива, благо домен удалось вернуть 🙂

    Ой. Я ж не представился — меня зовут Юрий Вайланд. Я любитель всякого рода автоматизации, в айти уже кучу лет с начала 2000-х. Прошел длинный путь от веб-мастера, сооснователя студии веб-дизайна в Балаково / основателя онлайн секс-шопа / frontend-разработчика / стартапера до DevOps-специалиста в корпорации.

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

    Присоединяйтесь, будет интересно. Также мои материалы можно почитать на Хабре, в Telegram и на VC. В отличие от соцсетей, в блоге будет более свободный формат контента — от мелких заметок до лонгридов. Периодичность — по настроению.