Обновить

Разработка

Сначала показывать
Порог рейтинга

Как принять 4 проекта в курирование и не свихнуться?

TL;DR

Руководитель дал 4 новых проекта в архитектурный надзор. Держать всё в голове нереально. Изучил индустриальные практики и подготовил процесс приёмки совместно с Claude Code. Выложил в open-source. Буду рад feedback от вас и ваших агентов.

Как всё началось

Руководитель: "Вот тебе 4 проекта - принимай в работу."

Я: "Окей... А что там?"

Руководитель: "Узнаешь."

Контест:

  • 4 проекта

  • Где-то есть пересечение функциональности (где именно - неясно)

  • Команды разные, стек разный, зрелость разная

  • Держать всё это в голове - бесмысленно

Немного поглядел - стало понятно: нужен системный подход.

Что я сделал

1. Изучил индустриальные практики

Посмотрел, как это делают:

  • Futurice Project Handover Checklist

  • TOGAF Architecture Review

  • Harvard EA Checklist

  • Практики из книг (Software Architecture in Practice, Building Evolutionary Architectures)

2. Собрал процесс приёмки и аудита

Готовил совместно с Claude Code. Не в чистом виде, конечно с моей конфигурацией (на текущий момент это 3882 строк rules, skills and commands). Безусловно, вычитывал и редактировал.

Что получилось:

Процесс приёмки проекта

6 фаз:

  1. Инициация (получить вводную, доступы)

  2. Kickoff встреча (PM + Tech Lead)

  3. Сбор информации (документация, код, мониторинг)

  4. Аудит (анализ архитектуры)

  5. Решение о приёмке (принят/с оговорками/не принят)

  6. Онбординг в надзор (регулярные встречи, точки контроля)

Файлы:

Шаблоны аудита системы

Ручной аудит (12 разделов):

  • Структура системы (C4, bounded contexts)

  • Взаимодействие сервисов (sync/async, матрица зависимостей)

  • Паттерны и антипаттерны

  • Observability (метрики, логи, трейсинг, алерты)

  • Устойчивость (SPOF, graceful degradation, DR)

  • Безопасность

  • План улучшений

Автоматическая валидация (215 метрик):

  • Coupling и fan-out

  • Layer violations

  • God classes

  • Топологические метрики

Файлы:

На следующей неделе начинаю приёмку. Посмотрим как процесс сработает в реальности.

Если эксперимент удастся - расскажу подробнее о результатах, подводных камнях и корректировках процесса.

Вопрос к сообществу

Буду рад feedback от вас и ваших агентов:

  1. Процесс: Что лишнее? Чего не хватает?

  2. Чеклисты: Какие критичные пункты я упустил?

  3. Автоматизация: Используете ли инструменты для валидации архитектуры?

  4. Агенты: Если вы используете AI-агентов для аудита - какие задачи им даёте? Как проверяете результаты?

Open-source шаблоны:

С удовольствием улучшу на основе вашего опыта.

UPD: Если интересно как процесс сработал на практике - подписывайтесь, расскажу после завершения приёмки.
Поддержать меня: https://t.me/MikeShogin

Теги:
-4
Комментарии0

Навеяно сегодняшней статьёй «История: как Microsoft шесть раз отказывалась от виджетов, но потом возвращала их».

Понятно, что Майкрософт просто хочет содрать с бедолаги, купившего (тем более, скачавшего) винды, 33 шкуры. И поэтому делает как бы виджеты, но они все должны вести туда, куда хочет Майкрософт. В Copilot, MSN и тому подобные места. Но давайте помечтаем, что могла бы сделать Майкрософт, если бы по-настоящему хотела сделать своим юзерам удобно.

  1. Виджет это приложение, точка Приложения бывают хорошие, годные и злые, вредные. Любое приложение может сломать ваш компьютер, украсть данные и деньги. Ответственность делится так: автор приложения прилагает все усилия, чтобы приложение не делало ничего плохого. Юзер прилагает все усилия, чтобы не ставить подозрительные приложения хрен пойми откуда. Если вам кажется, что это наивно, вспомните, что именно эта схема действует на PC прямо сейчас. На Github'е @dartraiden выложил драйвер (даже не простое приложение!), который позволяет использовать недорогие карты для майнинга вместо видеокарт (за 10-15% от цены последних) и написал: «Если вы мне не доверяете, вот инструкция, как собрать драйвер самому». Спасибо, но что-то не хочется )). Собирать драйвер самому. Я доверяю автору проекта! А ещё — авторам редактора Notepad++, браузера Firefox, файлового менеджера FAR (который почти в каждой сессии просит права админа, потому что я захожу им в системные папки) и многим другим авторам приложений.

  2. Любое приложение может зарегистрировать себя в качестве виджета. Такая технология у Майкрософт уже есть, и называется ActiveX. Она до сих прекрасно работает (в день, когда сломается ActiveX, я перейду на Линукс, потому что только старые приложения меня под виндой и держат).

    Суть технологии в том, что у вас есть файл .dll, который регистрируется стандартной командой regsvr32 в той папке, где лежит (при переносе в другую папку его надо перерегистрировать). Чтобы не заставлять пользователя вручную выполнять эту команду, её обычно выполняет инсталлятор. (Или просто сам вызывает регистрирующую функцию из этой .dll — ходил анекдот про авторов инсталлятора, которые «сделали ядро в новой версии на X килобайт меньше, включив в него облегчённую версию regsvr32», потому что не знали азов программирования под Windows).

    Этот файл просто создаёт маленькое окошко (говоря техническим языком, window handle), может быть написан на C или Rust, занимать килобайты и работать со скоростью света.

    Всё, что вам нужно — дополнительно записывать при регистрации идентификатор своего ActiveX-компонента в ветку реестра с виджетами.

    Чтобы было проще создавать виджеты на HTML/CSS/JS, Майкрософт мог бы добавить новый тип проекта в Visual Studio: HTML Widget. Он брал бы файлы .html/.css/.js, метаданные и запаковывал бы в ActiveX-компонент вместе с WebView2 (браузерным окном). И ваш виджет отображался бы при помощи Chromium, как это делает приложение (не виджет) Steam, но весил бы, в отличие от Steam, ровно столько, сколько весят картинки и текст.

    Разумеется, ничто не мешало бы создать виджет на C#, Qt, Delphi, на базе своей версии Chromium (как это делает Steam), на базе Gecko, на базе чего угодно.

  3. Будучи хозяйкой бала, Windows предлагала бы юзеру зарегистрированные виджеты перетаскивать из палитры виджетов в следующие места: а) рабочий стол, б) панель задач, в) меню «Пуск». Разумеется, любой виджет обязан был бы имплементировать помимо стандартных интерфейсов ActiveX-компонента специальный интерфейс IAmWidget и через него рассказывать о своих требованиях. Так что виджет, которому нужна минимальная площадь 512x512 пикселей, можно было бы создать только на рабочем столе.

  4. В каждом из этих мест виджет вписывался бы в стандартную сетку (на рабочем столе такая используется для выравнивания ярлыков, на панели задач — это квадратик ярлыка или прямоугольник приложения). Поместить другие элементы (ярлыки) в занятое место было бы нельзя.

Теги:
0
Комментарии0

Клиентский путь и деньги: как CJM поможет удержать клиента и сохранить выручку в 2026

Приглашаем на вебинар, на котором эксперты департамента e-commerce «КОРУС Консалтинг» расскажут, почему в 2026 исследование клиентского пути с помощью методики CJM становится необходимым базовым шагом для удержания b2b-клиентов и сохранения выручки бизнеса.

🗓 Когда: 18 февраля, в 16:00 по Москве

💜В программе:
1️⃣ Контекст рынка. Почему удержание b2b-клиентов становится одним из ключевых факторов роста в 2026
2️⃣ Методика CJM в основе клиентской лояльности. Почему при одинаковых условиях клиенты выбирают разные компании;
3️⃣ Кейсы. Как CJM позволила оптовым компаниям увеличить NPS до 95%, захватывать рынки с низкой цифровой зрелостью, переводить до 99% клиентов на онлайн-самообслуживание, увеличивать средний чек и маржинальность.
🔥 А в конце встречи в прямом эфире эксперты проведут чекап b2b-продаж и клиентского опыта вашего бизнеса и помогут сделать первый шаг к изменениям.
💝 Вебинар будет полезен:

• Собственникам и руководителям оптовых и дистрибьюторских компаний
• Коммерческим, digital- и e-commerce-директорам
• Руководителям продаж и сервиса в b2b-компаниях
• Директорам по маркетингу и цифровой трансформации

➡️ ЗАРЕГИСТРИРОВАТЬСЯ

Теги:
-1
Комментарии0

Как сломать языковой барьер в клиентском сервисе с помощью нейротехнологий?

Недавно мы в ЮMoney внедрили систему языкового перевода диалогов пользователей и службы поддержки. Она распознаёт 25 языков и автоматически работает как для запросов пользователей, так и для ответов поддержки. Пользователь пишет на родном языке — система мгновенно переводит сообщение на русский. Оператор отвечает на русском — пользователь сразу получает сообщение на родном языке.

Под капотом — довольно практичная архитектура. Язык определяется через FastText, обученный на реальных диалогах поддержки и 25 языках, с точностью около 99% и задержкой в миллисекунды. Перевод выполняют специализированные модели на базе NLLB с LoRA-адаптерами, дообученными именно на финтех-данных. Это позволяет корректно обрабатывать названия брендов, продуктов и финансовых терминов и не «ломать» смысл там, где универсальные модели часто ошибаются.

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

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

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

Рассказываем подробно об архитектуре машинного перевода в нашем блоге.

Теги:
0
Комментарии0

Что такое Portainer и зачем он нужен для управления Docker

Ранее мы уже разбирали базовые команды Docker и повседневную работу с контейнерами. Следующий логичный шаг — упростить управление окружениями и сделать его наглядным.

Сегодня поговорим о Portainer — графическом интерфейсе для управления Docker, Kubernetes и Podman. В новой статье показали, какие задачи он решает, в каких сценариях действительно полезен и чем отличается от работы через командную строку. Отдельно разобрали ключевые возможности: управление контейнерами и образами, просмотр логов и статистики, работу с сетями и томами, запуск приложений через docker-compose и готовые шаблоны.

Пошаговая инструкция по установке Portainer через Docker-контейнер и подсказки, с каких разделов удобнее начать работу — в базе знаний Рег.облака.

Теги:
+1
Комментарии0

Открытый проект Go Katas поможет освоить язык программирования прямо Go. В репозитории решения есть сборник сотен ежедневных упражнений, чтобы довести навыки кодинга на Go до автоматизма, изучить конкурентность и Context, отработать Graceful Shutdown, а также защиту от утечек воркеров и правильный Fan-Out. Есть множество упражнений на Zero-Allocation парсинг, работу в sync.Pool и шардированные мапы.

Теги:
0
Комментарии0

В соцсетях рассказали, как выявить сайт, который продаёт и сливает персональные данные — достаточно при регистрации написать в строке «Отчество» его название.

Теги:
+14
Комментарии12

Копипаста в Python редко выглядит как копипаста

В Python-проектах дублирование кода почти никогда не выглядит как «один файл скопировали в другой». Чаще это повторяющиеся структуры, контрольные потоки и оркестрационная логика, которые со временем начинают незаметно расползаться по коду.

Формально всё выглядит по-разному: другие имена, другие константы, чуть иной порядок.
Но архитектурно — это одно и то же решение, просто размноженное.

Я хочу рассказать про CodeClone — инструмент, который я написал для поиска именно такого дублирования. Он не сравнивает строки и токены, а работает на уровне **нормализованного Python AST и графов управления потоком (CFG).

Почему текстовые clone-detectors не работают

Большинство инструментов ищут дублирование через строки, токены или поверхностное сравнение AST. Это отлично ловит copy-paste, но почти бесполезно, когда код:

  • переименован,

  • отформатирован по-другому,

  • слегка отрефакторен,

  • но реализует один и тот же сценарий.

В реальных проектах это часто:

  • одинаковые цепочки валидации,

  • повторяющиеся request/handler пайплайны,

  • скопированная оркестрационная логика,

  • похожие try/except или match/case конструкции.

Идея: сравнивать структуру, а не текст

В CodeClone я пошёл другим путём:

  1. Код парсится в Python AST.

  2. AST нормализуется (имена, константы, аннотации убираются).

  3. Для каждой функции строится Control Flow Graph.

  4. Сравнивается структура CFG, а не исходный код.

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

Что именно ищется

Функциональные клоны (Type-2)

  • Функции и методы с одинаковой структурой управления:

  • if/else, циклы, try/except, with, match/case (Python 3.10+).

  • Инструмент устойчив к переименованию, форматированию и type hints.

Блочные клоны (Type-3-lite)

  • Повторяющиеся блоки внутри функций: guard-clauses, проверки, orchestration-фрагменты. Используется скользящее окно по CFG-нормализованным инструкциям с жёсткими фильтрами, чтобы снизить шум.

Почему инструмент намеренно консервативный

Один из принципов проекта:

Лучше пропустить клон, чем показать ложный.

CodeClone не использует ML, вероятностные коэффициенты или эвристические скоринги.
Если клон найден — его можно объяснить и воспроизвести. Это важно при использовании в CI.

Baseline и CI

В живых проектах дубликаты уже есть, поэтому CodeClone работает в baseline-режиме:

codeclone . --update-baseline

Baseline коммитится в репозиторий, а в CI используется:

codeclone . --fail-on-new

Существующие дубликаты допускаются, новые — запрещены.
Это работает как архитектурный регресс-чек.

Про Python-версии

AST в Python не полностью стабилен между версиями интерпретатора. Поэтому версия Python фиксируется в baseline и должна совпадать при проверке. Это сделано ради детерминизма и честности результатов.

Итог

CodeClone не заменяет линтеры или type-checkers. Он полезен, если проект живёт долго, код растёт, и хочется вовремя замечать архитектурное дублирование, а не разбираться с его последствиями позже.

Исходники

GitHub: https://github.com/orenlab/codeclone
PyPI: https://pypi.org/project/codeclone/

Теги:
+3
Комментарии1

Прокачать ответы ChatGPT можно одним словом — лайфхаком поделились на Reddir. Пользователь начал писать на неудачные ответы чат-бота слово «средне» (mid), после чего ИИ начинает паниковать и переделывает задачу. Также подойдет слово «скучно», «кринж» и «говоришь как NPC» (boring, cringe, basic, npc). Вот вам и промпт-инженеринг.

Теги:
+1
Комментарии0

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

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

А? Ничего не щелкает?

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

Естественно, облака, в отличие от пуховиков, специально никто не раздувает. Нет такого, что кто-то с утра пришел и заявляет — а давайте сегодня сожжем весь бюджет. Просто тут включили какой-то сервис. Там — логи оставили в горячем сторадже. Здесь забыли выключить dev-окружение. Ну, и бэкапы, конечно, куда без них.

То есть с виду-то все выглядит очень безобидно. Но через пару месяцев смотришь на счет и не понимаешь, как он вообще таким стал. В общем, самонадутие в чистом виде. Только не мемное, а финансовое.

Тут-то и нужен FinOps. Только так можно понять, что реально работает, а что просто лежит мертвым грузом. И хорошо еще, если соответствующий инструментарий уже есть. А если нет? Для таких случаев есть FinOps Radar — бесплатный инструмент, который позволит экономить до 30%.

А, если не ясно, как действовать, приходите к нам в комьюнити. Тут мы как раз обсуждаем такие вещи, делимся болью и ищем выходы из разных ситуаций с реальными цифрами и фейспалмами.

В общем, лучше разобраться сейчас, чем потом сидеть и думать, почему у вас все снова самонадулось.

Теги:
-4
Комментарии1

Привет, Хабр!

Хотел написать небольшой пост по причинам провалов проектов 1С. Но погрузился в тему, что люди пишут, и вижу, что получится неплохая статья. А пока собрал основные причины - мои, от ИИ и из Сети, и получил список. Дополняйте в комментариях. Потом в статье рассмотрю подробнее.

Как избежать?
Как избежать?

Сначала главные причины:

  • Критичные изменения (смена руководства и т.д.)

  • Отсутствие команды Заказчика, либо её невовлечённось, саботаж, отсутствие времени

  • Неконтролируемая волна хотелок (НВХ)

  • Неготовность к изменениям - внутренним и внешним

  • Неправильный выбор подрядчика, чрезмерное доверие или недоверие.

Ещё причины, вытекающие из основных

  • Непредоставление информации Заказчиком.

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

  • Отсутствие технического планирования (железо)

  • Чрезмерно сжатые сроки

  • Не хватает денег

  • Неотлаженные бизнес-процессы

  • Проблемы с данными

Также нашёл и такие "причины", о них в статье планирую специальный комментарий:
Внедрение без обследования
Отсутствие или изменение целей
Неправильно выбранная проектная методология
Незаинтересованность руководства Заказчика

Буду благодарен всем, пополнившим коллекцию.

Теги:
-4
Комментарии5

Кожаным вход запрещён! Что будет дальше с Moltbook?

Разбирая новости и сам проект, анализирую куда всё повернётся. Поделюсь взглядом — он может не оправдаться, воспринимайте это как мой сон.

Обогатятся лишь соратники-основатели. У сервиса своя крипта — впереди байки о «удачливых спекулянтах», стартовавших из развалюхи в глухом городишке, а ныне облюбовавших клочок рая в Карибском море.

Вполне вероятно: Трамп с Маском напишут о ней в соцсетях, взвинтив цену до нескольких десятков миллиардов. Окрестят «гениальным чудом» и «будущим уже сегодня».

Занятнее — впереди. Конкуренты адаптируют концепцию, опубликовав «собственные» версии. Назвав инновационными разработками, но под капотом это лишь перелицованный клон.

Развязка — типичная для крипты: взлёт на ажиотаже («эх, зря не вложился раньше!»). Влиятельные фигуры продадут активы взятые на старте — и моментальный спад.

Биография Мэтта Шлихта спорная. Доступные данные напоминают кейс Элизабет Холмс: от триумфа к краху.

P.S. Поддержать можно подпиской на телегам канал "Инфобез", рассказываю просто про информационную безопасность.

Теги:
-2
Комментарии0

QUBO как демонстрация разницы между математиком и инженером

QUBO (Quadratic unconstrained binary optimization) это метод поиска оптимального решения. В основе метода формулирование задачи в виде матрицы Q. Решение задачи - бинарный вектор x. Упрощено метод решения можно представить так:

xT * Q * x -> min

Суть решения задачи - определить такой бинарный вектор, при котором "энергия" минимальна. Код, который напишет математик, будет выглядеть примерно так:

int[] x = new int[size];
//...
for (int i = 0; i < size; i++)
{
    for (int j = 0; j < size; j++)
    {
        // Вычисление значения целевой функции: x^T * Q * x
        energy += x[i] * Q[i, j] * x[j];
    }
}

Это прямое выражение математической модели. Но инженер должен учесть постановку задачи (бинарный вектор) и знать, что исполнять код будет реальный компьютер с ограниченными ресурсами. А значит написать его иначе:

BitVector32 x = new();
//...			
for (var row = 0; row < size; row++)
{
    for (var column = 0; column < size; column++)
    {
        if (x[row] && x[column])
        {
            energy += Q[row, column];
        }
    }
}

Пример крайне простой, а потому наглядный. Спросите у LLM :-) В общем, математика и программирование - это не одно и то же.

Теги:
-1
Комментарии4

Ближайшие события

Сооснователь LinkedIn Рид Хоффман заявил, что искусственный интеллект радикально меняет баланс сил в бизнесе и позволяет небольшим командам конкурировать с крупными организациями: «15 человек с ИИ могут конкурировать со 150 без него», поскольку технология существенно расширяет возможности сотрудников».

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

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

Хоффман привёл пример использования ИИ-инструментов Codex и Claude Code для разработки переводчика на французский язык. ИИ-агент также предложил настроить переводческие пайплайны ещё для 68 языков. «То, что раньше было слишком дорогим или масштабным проектом, теперь можно легко начать прототипировать», — подчеркнул он.

Теги:
0
Комментарии0

Желтая майка лидера: о соревновании технологий, мастерстве и границах творчества.

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

Мое знакомство с AI началось буквально два-три месяца назад, и оно практически сразу стало перекликаться и пересекаться с реальной фотографией. В этом параллельном пути двух разных технологий для меня кроется особый, захватывающий интерес. Изначально, по неопытности, я решил, что смогу творить, используя AI, и это будет полная аналогия настоящей фотографии. Достаточно быстро я понял, что это не так. По крайней мере, на сегодняшний день.

Однако это не ослабляет моего интереса. AI — всего лишь инструмент высокого уровня. Как и камера в руках — тоже просто инструмент. Результат, которого я добиваюсь с помощью своего мастерства, знаний и опыта — это всегда сумма факторов, где инструмент значит много, но далеко не всё. Я постоянно сравниваю глобальные возможности нейросетей и свои локальные навыки. Это соревнование, в котором нет постоянного лидера: «желтая майка» постоянно переходит из рук в руки.

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

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

Я получил и продолжаю получать сотни, если не тысячи восторженных комментариев и лайков. И только три или четыре человека написали: «Это же AI, зачем это здесь?». Это говорит о двух вещах. Во-первых, творчество есть творчество. Любуясь результатом, нам не особенно важно, как мастер его добился: водил кистью по полотну или просто вылил ведро краски на холст (утрирую).

Во-вторых, генерация изображения в сочетании с коррекцией в Photoshop сделали картинку настолько реалистичной, что большинство людей даже не задумались о ее происхождении, приняв за обычную фотографию. Я потратил на эту работу два рабочих дня: замысел, написание prompts, генерации, затем Photoshop, доводка, коррекция, многочисленные варианты и исправления. Этого не видно на конечном изображении — оно просто «вкусно» выглядит. Но для меня это безусловное творчество, а не просто нажатие кнопки «Generate».

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

Поэтому остается просто творить. AI — это инструмент, который позволяет фантазировать, мечтать и создавать, практически не имея границ. Генеративная фотография — отдельный вид искусства, использующий современные, запредельные технологии, которые лишь обогащают наши возможности. «Черный квадрат» Малевича по сравнению с этим — просто результат неудачной генерации из-за неверного выбора text encoder. Шутка... :)

Теги:
-4
Комментарии10

Дайджест Рег.облака за январь

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

Запустили сетевые диски в облаке

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

Выпустили исследование по GPU Bare Metal

Мы также подготовили исследование о рынке выделенных GPU-серверов (Bare Metal) и спросе на dedicated-серверы с видеокартами для AI, ML и VDI-сценариев. Если работаете с высокопроизводительными нагрузками — рекомендуем заглянуть в раздел dedicated GPU на сайте Рег.облака.

Обновили линейку выделенных CPU

Мы снизили цены на тарифы «Выделенные CPU». Обновилась стоимость за ядро процессора — теперь пользователи могут точнее планировать бюджеты для сервисов с предсказуемой нагрузкой и длительным временем работы. Выбрать тариф можно в личном кабинете Рег.облака.

Добавили резервное копирование для dedicated-серверов

Пользователи Рег.облака теперь могут протестировать услугу резервного копирования для выделенных серверов. Бэкапы можно настраивать и управлять ими напрямую через интерфейс облака — без сторонних инструментов и ручной настройки. Протестировать бэкапы можно в личном кабинете.

Обновили блог Рег.облака

Мы доработали раздел авторов в блоге: переработали дизайн разводящей страницы и добавили поиск. Читать и находить технические материалы стало удобнее — заходите, если давно не заглядывали.

Поделились кейсами

В январе мы проверили, как open-source LLM ведут себя в реальном сценарии автоматизации юридических документов — на примере эксперимента Рег.облака и Raft. В материале — архитектура решения, инфраструктурные ограничения и выводы для ML- и data-команд.

И это только начало нового продуктивного рабочего года!  Дальше — больше обновлений, релизов и прикладных материалов. Спасибо, что следите за развитием Рег.облака.

Теги:
+2
Комментарии0

Аппаратный PTP на Zynq, но есть нюанс

При работе с Zynq 7000 часто встаёт вопрос: можно ли использовать встроенный PTP в GEM для IEEE 1588 timestamping? На первый взгляд — да, контроллер имеет поддержку. Но есть нюанс ...

В UG585 написано про архитектурное ограничение: таймстемпы PTP-событий хранятся в non-latching регистре — новый пакет просто перезаписывает старое значение. На практике это значит, что при высокой нагрузке процессор не успевает прочитать значение до перезаписи, и timestamp становится ненадёжным.

Актуально, если у вас строгие требования к точности PTP или высокий трафик. Стандартное решение — выносить TSU в PL или брать внешний PHY с нормальной поддержкой IEEE 1588. GEM остаётся просто интерфейсом.

Получается, что в PS у Zynq аппаратного PTP как бы и нет? Или я что-то неправильно понимаю?

Если интересуешься DSP-алгоритмами, бенчмарками и гайдами для Zynq – заходи в DSP labs.

Теги:
+2
Комментарии0

MiniFilter и Protector/Rejector (ObCallback) в одном драйвере с управлением через C#

В продолжение этого поста.

Предлагаю вашему внимаю мою поделку основанную на MiniFilter, ObCallback и Avalonia

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

C# код для управления драйвером:

using System;
using System.Diagnostics;
using Avalonia.Controls;
using Avalonia.Interactivity;
using Avalonia.Threading;
using SharpMiniFilter.Driver.MiniFilter;
using SharpMiniFilter.Driver.Protector;

namespace SharpMiniFilter.Protected;

public partial class MainWindow : Window
{
    private bool allowClose = false;
    
    public MainWindow()
    {
        InitializeComponent();
        this.Closing += (sender, args) =>
        {
            args.Cancel = !allowClose;

            if (!args.Cancel)
            {
                ProtectorClient.ReplaceProtectList(Array.Empty<string>());
                ProtectorClient.ReplaceRejectList(Array.Empty<string>());
                MiniFilterClient.CloseConnection();
                MiniFilterClient.DriverFilter -= DriverClientOnDriverFilter;
            }
        };
        
        MiniFilterClient.DriverFilter += DriverClientOnDriverFilter;
        
        if (MiniFilterClient.Connect())
        {
            ProtectorClient.ReplaceProtectList(new[] { $"PID:{Process.GetCurrentProcess().Id}" });
            ProtectorClient.ReplaceRejectList(new[] {  "*cmd.exe" });
            
            Log_TextBox.Text += "Added current process to protection list." + Environment.NewLine;
            Log_TextBox.Text += "Added cmd.exe to reject list." + Environment.NewLine;
        }
        else
        {
            Log_TextBox.Text += "Connection to driver failed." + Environment.NewLine;
            MiniFilterClient.DriverFilter -= DriverClientOnDriverFilter;
        }
    }

    private void DriverClientOnDriverFilter(MinifilterEventArgs e)
    {
        Dispatcher.UIThread.Invoke(() =>
        {
            if (e.Path.Contains("test.txt"))
            {
                if (!Process.GetProcessById((int)e.ProcessId).ProcessName.ToLower().Contains("notepad"))
                {
                    e.SetHandled(true);
                    Log_TextBox.Text += "Minifilter: test.txt blocked" + Environment.NewLine;
                }
                else
                {
                    e.SetHandled(false);
                    Log_TextBox.Text += "Minifilter: test.txt not blocked for notepad.exe" + Environment.NewLine;
                }
            }
        });
    }

    private void Button_OnClick(object? sender, RoutedEventArgs e)
    {
        allowClose = true;
        this.Close();
    }
}

Бонусом - создание .cab файла для отправки в Microsoft на сертификацию при Release сборке.

Ссылка на репозиторий.

P.S. Если вам будет интересно, а у меня силы и карма - то расскажу, что там и как в отдельной статье. А теперь и ответ на всех мучающий вопрос: "Почему пингвин пошёл в горы?"

Теги:
0
Комментарии2

xAI выпустила нейросетевую модель Grok Imagine 1.0 для генерации видео длиной до 10 секунд с поддержкой разрешения 720p. Релиз объединяет наработки предыдущего генератора изображений Aurora с новыми возможностями анимации. Разработчики отмечают, что нейросеть точнее следует текстовым промптам, создаёт более проработанные кадры и лучше справляется с плавностью движений по сравнению с предшественницей. В Grok Imagine 1.0 также доработали аудиосоставляющую: фоновая музыка теперь «идеально синхронизируется» со сценой, а эмоциональный спектр персонажей стал шире. Для доступа к максимальным настройкам качества и длительности пользователям потребуется оформить платную подписку.

Теги:
+2
Комментарии0

Открытый проект 8mb.local — Self‑Hosted GPU Video Compressor умеет сжимать видео любых размеров в десятки раз. Нужный размер пользователь выбирает сам, а компрессор подстроится. По возможности сохраняет качество. Можно выбрать кодек, битрейт и даже обрезать видос во встроенном редакторе. Всё работает локально.

Теги:
+1
Комментарии0
1
23 ...