Апскейлинг одного изображения через Real-ESRGAN обычно не вызывает особых проблем: выбираем модель, запускаем обработку и получаем результат. Но при работе с видео и большими наборами файлов быстро появляются дополнительные задачи: декодирование и сборка видео, очередь рендера, выбор видеокарты, обработка ошибок, восстановление прерванных заданий, зависимости вроде FFmpeg и понятный интерфейс для всего этого.
Мне хотелось получить обычное Windows-приложение, в которое можно перетащить видео, изображения или целую папку, выбрать параметры и оставить обработку выполняться без ручной работы с консольными командами.
Так появился UltraFrame AI — бесплатное приложение с открытым исходным кодом для пакетного апскейлинга видео и изображений с помощью Real-ESRGAN.
Читать далееОбнаружил что в скриптах сборки время от времени подвисает node-pre-gyp, который скачивает прекомпилированные бинарные библиотеки.
Начал выяснять откуда он их пытается скачать - оказывается, github.
Проверил github без VPN - оказывается, релизы с release-assets.githubusercontent.com не скачиваются. Причем из консоли еще скачиваются, из браузера не открываются. Вероятно, иногда и из консоли блокируется.
То есть частичная блокировка гитхаба все еще продолжается. Замечу, что он используется в огромном числе скриптов сборки огромного числа продуктов, и заменить его на зеркала централизовано нельзя, да и далеко не всегда известно, какой именно файл какая именно программа будет скачиваться.
Читать далееДля кого
Фаундерам и CMO SaaS и онлайн-сервисов, отвечающим за привлечение клиентов и понимающим, что больше половины заявок у них приходит из одного канала.
Кратко
Один канал даёт предсказуемую стоимость лида и понятную аналитику, пока он жив. Разбираю стратегию каналов SaaS на конкретном сценарии: что реально происходит с воронкой в первые недели после того, как канал пропадает, — блокировка кабинета, рост аукциона, смена алгоритма или уход ответственного специалиста. Когда концентрация на одном источнике трафика оправдана, а когда это уже риск для всего бизнеса. Как выбрать второй канал по циклу сделки, не размазать бюджет тонким слоем и в каком порядке подключать каналы, чтобы не сломать то, что уже приносит заявки.
На связи Дмитрий, управляющий партнёр Сайткрафт. За несколько лет через нашу команду прошло достаточно SaaS и онлайн-сервисов, чтобы увидеть одну и ту же историю по кругу. Бизнес растёт на одном канале привлечения клиентов, привыкает к его экономике, встраивает под него отдел продаж и аналитику, а потом канал исчезает. Причина обычно не в ошибке настройки кампании. Канал живёт по чужим правилам: чужому алгоритму, чужой политике модерации, чужому решению уйти с рынка. Весной 2022 года это почувствовал, кажется, весь российский digital-рынок разом: часть компаний в один день потеряла доступ к рекламным кабинетам, на которых держалась половина, а то и вся воронка. У кого-то это был Google Ads, у кого-то — Instagram и Facebook (компания Meta признана в России экстремистской организацией, её продукты запрещены). Кто-то за месяц перекинул бюджет на Директ и почти не заметил провала в выручке. У кого-то отдел продаж на два-три месяца остался без свежих лидов вообще. Разница была не в удаче, а в том, успели ли до этого выстроить второй канал.
Читать далееКак с помощью бесплатных инструментов Google создать систему анализа данных: от сбора ответов в форме до визуализации на сайте. В качестве примера разберем исследование туристических предпочтений и настроим автоматическую отправку письма при достижении цели.
Читать далееБольшинство ORM строятся вокруг естественного предположения: одной таблице соответствует одна entity. Это настолько привычно, что даже не обращаешь внимания.
Это не правило, но вокруг него проектируются почти все остальные механизмы: метаданные принадлежат классу, Unit of Work отслеживает экземпляры этого класса, миграции собираются из его описания, а объектная модель постепенно начинает повторять структуру базы данных.
Но часто в коде не требуется вся таблица, многие поля служат только конкретным процессам и ни читать, ни менять эти поля в других процессах не требуется. В статье посмотрим два подхода работы с сущностями. А также к чему я пришёл, попробовав сделать по‑другому.
Читать далееУ AI-агентов уже есть профессии: юрисконсульт, ведущий специалист по внешним коммуникациям, директор контроля работы AI. Это настоящие должности — с обязанностями и зоной ответственности. У некоторых даже с собственной придуманной биографией.
Все три (и еще несколько сотен похожих) произошли из одного и того же места. В октябре 2025-го Anthropic выпустила штуковину под названием skill: папка с инструкциями, которую модель открывает сама, когда задача из промпта совпадает с описанием внутри самого скила.
В переводе на русский — должностная инструкция в текстовом файле, в переводе на айтишный — мастер-промпт.
Но интересен здесь не только сам формат. Вокруг таких папок уже строится корпоративная инфраструктура: агентам назначают роли, выдают доступы и подключают их к рабочим системам. Крупные компании тратят деньги на внедрение, консультанты зарабатывают на настройке, а при появлении нового плагина падают акции всех компаний в целой отрасли.
В этом материале поговорим о том, зачем вообще одевать папку с инструкциями в костюм сотрудника, кому приносит деньги такая конструкция и как она влияет на бизнес и рынок труда.
Читать далееКогда инженеры осваивают Claude и другие AI-инструменты поодиночке, команде сложно быстро распространять рабочие приёмы и не повторять одни и те же ошибки. Общий чат для этого подходит плохо: советы быстро устаревают, теряются без контекста и редко показывают сам ход решения.
Быстрее адаптироваться к изменениям, разбирать реальные сценарии и лучше понимать собственную кодовую базу команде помогает регулярный обмен находками. Как его организовать? Давайте разбираться.
Docker и хранение данных: тома, bind mount, tmpfs и не только
Разбираемся, какие способы хранения данных есть в Docker, чем они отличаются друг от друга и что выбирать в реальных сценариях. В статье — тома, подключение хост-каталогов, tmpfs, нюансы docker compose, SELinux, volume-subpath, --volumes-from, драйверы хранения и бэкап томов на практике.
Читать далееЯ дизайнер и продакт, но как и многие из вас — последний год самостоятельно разрабатываю проекты с Claude Code. И, как многие, была уверена, что соблюдаю базовые правила безопасности.
API‑ключи никогда не лежали локально.
Не попадали в Git.
Не отправлялись в облако.
Были один раз сгенерированы и вручную прописаны непосредственно на сервере.
Именно поэтому произошедшее стало для меня полной неожиданностью.
За один час злоумышленники смогли потратить около $200, воспользовававшись моими API‑ключами Anthropic и Open AI.
Пишу это в первую очередь для тех, кто, как и я, собирает продукты быстро, с ИИ‑ассистентом, и не считает себя security‑инженером. Если вы вайбкодер — пусть эта статья станет вашим бесплатным экспресс‑курсом по безопасности.
Эта статья является прямым продолжением вот этой статьи про мой проект ServeHub-2, которое охватывает релиз 1.4.0 и отчасти 2.0.0, 2.1.0 (а также определенные подробности, которые не упоминались в прошлой статье). Здесь будут подробно объясняться моменты в том порядке, в котором они появлялись в проекте.
Также изначально планировалось в этой же статье рассказать про Go Wails установщик, но тогда она получается слишком большой, поэтому про это будет в следующей части.
Читать далееНа реальных кейсах рассказываем и показываем, как подобрать онлайн-тимбилдинг под конкретную HR-проблему.
Читать далееРассказав недавно историю про «Парк юрского периода», я захотел пересмотреть этот фильм снова. Наверно, я уже видел его раз десять. На этот раз я решил изучить все компьютеры и ПО из этого фильма.
Читать далееГалочка «TLS/SSL» стояла. Замочек «горел». А почта почти 20 лет уходила в сеть открытым текстом. Разберём, как это возможно, почему всплыло только сейчас и что с этим делать прямо сегодня.
Читать далееПривет, Хабр! Меня зовут Кира, я бизнес‑аналитик клиентского сервиса ITSM 365 и куратор командной базы знаний.
Наш продукт развивается с каждым годом, и вместе с ним растет количество клиентских обращений: их становится больше, а сами вопросы — сложнее. Если в 2015 году один бизнес-аналитик разбирал около 300 кейсов в год, то сегодня — около тысячи. При этом средняя оценка работы с обращениями остается на уровне 4,9+.
Очевидно, что чем больше людей подключается к работе, тем сложнее сохранять единый уровень экспертизы, быстрее вводить новичков в работу и не терять знания, накопленные командой. Поэтому нам нужно было сделать так, чтобы с увеличением команды росла не нагрузка на опытных специалистов, а объем знаний, доступных каждому сотруднику.
В этой статье расскажу, какие принципы и инструменты помогают нам переиспользовать знания, делать клиентов более самостоятельными и справляться с растущим количеством обращений без потери качества.
Читать далееОшибки в разработке неизбежны, но они помогают расти. Я Стас Иванкевич, техлид в команде разработки управляющего слоя Platform V DropApp в СберТехе. Наша команда придерживается простого принципа: не наступать на одни грабли дважды. Из каждой ошибки стараемся извлечь урок и больше её не повторять, а ещё лучше — учиться на ошибках других. Поэтому мы развиваем культуру открытого обсуждения ошибок и не закрываем глаза на возникающие сложности.
На первый взгляд, написание Kubernetes-операторов — технически сложная, но вполне понятная работа. Определил CRD, написал контроллер, настроил реконсиляцию — и вуаля, автоматизация работает. Но на практике ошибки могут быть не в коде, а в архитектуре, подходах и принятых допущениях — даже если основная логика реализована правильно.
Я уже рассказывал о подводных камнях и лучших практиках при разработке операторов Kubernetes: материал в трёх частях можно почитать тут, тут и тут. А в этой статье я собрал ошибки, которые часто встречались мне в реальных проектах при работе с Kubernetes-операторами. Расскажу, как мы их исправляли, какие выводы сделали и что теперь делаем иначе. Надеемся, наш опыт будет полезным для вас и поможет их не повторить.
Читать далееКак точечно гонять агента из подписки headless — не устроить абьюз и не снести сервер.
Точечные воркеры из подписки CLI — без превращения аккаунта в дешёвый «безлимитный API» и без сноса продакшена. Механика и числа с реального сервера; имена проектов убраны.
У многих AI-инструментов есть два способа оплаты. Первый — API: каждый запрос считается в токенах, счёт растёт с каждым вызовом. Второй — подписка на CLI(программа в терминале: Claude Code, Antigravity, Grok CLI и похожие). Платишь фиксировано, сидишь в терминале, агент читает файлы и правит код.
Проблема: подписка обычно заточена под человека за клавиатурой. А на сервере иногда нужны короткие задачи без диалога: запустил → получил ответ → вышел. Такой режим называют headless (без «головы», без интерактивного экрана): агент работает как скрипт, а не как собеседник.
Отсюда соблазн: «подписка уже оплачена — накрутим на неё всё подряд». Так делать не надо. У провайдеров в правилах (ToS — условия использования) подписка почти всегда про человека и официальный продукт, а не про то, чтобы заменить собой платный API для ботов и массовых скриптов. Нарушение бьёт по аккаунту: 403, suspension, иногда перманентный бан. Параллельно есть второй риск — агент с shell на сервере сносит файлы, если нет клетки.
Читать далееПредставьте... Вы позвонили в конкретную компанию. Поздоровались, пообщались, попрощались. А в течение следующего часа вам начинают названивать конкуренты с аналогичными предложениями. Ситуация не из приятных, согласитесь?
И в такой ситуации оказались наши клиенты. Они были недовольны и винили нас в сливе номеров. Мы тоже были недовольны, потому что не понимали, откуда эти номера утекают.
Версий было много, расследование длилось долго — проверяли всё подряд. Но настоящая причина скрывалась совсем не там, где мы думали...
А теперь обо всём по порядкуРассмотрим следующую задачу:Дан постоянный магнит некоторой формы и нужно получить аналитическое выражение для его магнитного поля B в трёхмерном пространстве.Разберём несколько случаев.Будем считать магнит однородным.
Читать далееОбрисуем: вы сильный лидер, в вашем подчинении 20, 50, 100+ человек. Вы запускаете продукты, которыми реально пользуются. Вытаскиваете проекты из такого болота, от которого у других случится тик всего тела. Вы объективно сильный кандидат, дорогой и мощный управленец. Но рынок труда слеп и карьерных предложений нет.
На вопрос: «А кто и что должен предложить?», отвечу «да, много чего!».
Более удобное кресло руководителя и масштабней проект, менторство, запись подкаста или выступление на конференции, запрос на консалтинг или трекинг, партнёрство и так далее!
Но в вашем LinkedIn* тишина (и мертвые с косами стоят), интересных вакансий - полторы штуки, нетворкинг не ладится. Тем временем коллеги с меньшим опытом получают карьерные предложения одно за одним. И вы думаете: «А что не так?»
Не так - видимость. Точнее, её отсутствие.
Разберем вопрос по косточкамВсегда задавал себе вопрос зачем мне в Debian: Libreoffice, pidgin, irc чаты и почему загрузочный образ весит аж 3 гигабайта. Вместо вычищения готовых образов мы сделаем радикальную вещь, свой дистрибутив Debian с нужным ПО без лишних программ.
В первой части статьи мы соберем свой собственный rootfs образ Debian stable без рекомендованых и мета-пакетов
Читать далее