Обновить

Разработка

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

Сколько я плачу за AI инструменты и как они у меня взаимосвязаны

Claude — мой основной AI инструмент уже как 9 месяцев — Плачу за него 100$

Состоит из Claude Desktop, Claude Code UI и Claude Code CLI

Если хочу работать в приятном UI с текстом → Claude Desktop
Если работаю локально с кодом → Claude Code CLI
Если хочу поправить код с телефона → Claude Code UI

Коротко что все это такое
• Claude Desktop — как чат GPT, но с поддержкой MCP + Skills и еще всякими штуками
• Claude Code — UI для работы с вашим репозиторием
• Claude Code CLI — Command Line Interface Агент. По сути это микс Claude Desktop + Claude Code по функционалу, но без интерфейса и работает внутри вашего компьютера. Мое любимое развлечение последних двух месяцев

Claude Code CLI — пока что самый прокачанный на рынке CLI агентов

———

OpenAI, который chatGPT — за него плачу 20$

• ChatGPT UI — им почти перестал пользоваться, только ради генерации картинок иногда залетаю. Они после недавнего релиза стали их генерировать на уровне с Nano Banana
• Codex UI(Аналог Claude Code) — UI для работы с вашим репозиторием
• Codex CLI (Аналог Claude Code CLI) — чуть менее прокачанный как Command Line Interface, но зато их модель Codex 5.2 Extra-high уделывает OPUS 4.5 в плане UI дизайна и продумывания/рефакторинга сложных вещей

Но в Codex CLI вроде как отсутствует аналог ESC + ESC из Claude Code CLI для откатки написанного кода, без него тяжко жить 🍌

OpenAI недавно признали то, что их гонка с Claude за тем, чтобы сделать лучший кодинг агент, привела к тому, что 5.2 потеряли человечность в общении и стали сильно более директивными и сухими

Это помогает при работе с кодом, но общаться с ней сложнее

———

Экосистема Google — плачу 8$ за Plus подписку

Google у меня для трёх вещей: картинки через Nano Banana, NotebookLM и Antigravity для просмотра кода. Халява за 8$

• Nano Banana, иногда Veo 3 для генерации картинок / видео — лучшие генераторы картинок / видео на рынке
• NotebookLM — прикольный RAG UI, всем советую потестить
• Antigravity — Fork VS Code по типу Cursor, но с продвинутым Agent Workflow. Есть доступ к Gemini Pro + почему-то Claude моделям. Плюс Antigravity может генерировать картинки сразу вам в код через Nano Banana, такой вот бесшовный воркфлоу

Ни Gemini UI ни Gemini CLI я особо не пользуюсь. Мне они кажутся сильно сырыми по сравнению с Claude Code | GPT

———

Как выглядит мой воркфлоу

Claude Desktop для задач, где мне хочется иметь приятный UI и фичи именно Desktop интерфейса. Например написание постов, создание табличек, графиков и всего такого — те задачи, где CLI сильно проседает по UX

Claude Code UI почти не использую, только когда нужно изменить репозиторий с телефона, например на улице или в поездке

Claude Code CLI — мой day to day tool для работы с кодом. Пишу на Opus 4.5. Для сложных задач прошу создать промпт для Codex.

Antigravity юзаю для просмотра кода и папок, иногда запускаю Gemini 3 pro как третье мнение

Codex, как я уже и говорил, требует особого навыка общения. так как она может думать по 40 минут и перековырять вам весь код, но зато она у меня всегда находит те корнер кейсы, которые не находит ни Opus 4.5 ни Gemini 3 pro. По стилю общения вы будто общаетесь с Сеньёром, который вас презирает, зато резалт пушка

———

Прикольные фишки, которые я постоянно применяю

  1. Через Antigravity прошу генерировать изображения со вставкой сразу в код, получается бесшовный воркфлоу Prompt => Generation => Insertion

  2. Используй Claude CLI Opus 4.5 для Day to Day задач

  3. Используй Codex CLI xhigh для задач на рефакторинг или поиск corner cases, он сильно тщательнее это делает

  4. Планируя новую фичу, проси Claude создать локальный MD с планом, а затем Codex xhigh + Gemini 3 pro пусть покритикует этот план и напишет ниже свои комменты

  5. Не забывай про кнопку ESC + ESC в Claude Code CLI

  6. Claude Code CLI в начале сессии загружает себе CLAUDE.MD, Codex загружает в себя AGENTS.MD, а Gemini — GEMINI.MD.

  7. Команда /context покажет контекст текущей сессии, старайся держать его как можно ниже
    Good context engineering means

Теги:
-11
Комментарии18

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

Рассказываем, на что обращаем внимание при проверке верстки и какие моменты проверяем в первую очередь.

1️⃣ С чего начинаем тестирование верстки?

При тестировании верстки мы сначала наполняем блоки разными текстовыми данными. Это сразу показывает, где интерфейс начинает ломаться. Дальше проверяем:

  • максимально короткие значения — точка, пробел;

  • максимально длинный текст, который можно ввести;

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

Если ограничений в ТЗ нет, смотрим, какой тип поля используется в базе данных. Часто это varchar(255), от этого и отталкиваемся при проверке.

2️⃣ Почему проверяем текст с пробелами и без?

Очень частый кейс: текст с пробелами красиво переносится, а без пробелов — вылезает за границы или ломает блок.

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

Для таких проверок удобно использовать максимально широкие буквы:

  • для кириллицы — «Щ»;

  • для латиницы — «W».

Это простой способ увидеть помещается ли текст, переносится ли он корректно на следующую строку и не вылезает ли за контейнер.

3️⃣ Что проверяем в макете?


Например, в макете Figma мы смотрим:

И, конечно, отступы между всеми элементами по вертикали и горизонтали.

4️⃣ Как проверяем реализацию?

В браузере используем стандартные DevTools: смотрим вкладку Elements + разделы Styles и Computed.

Computed удобнее — отображаются итоговые значения после применения всех CSS-правил: размер шрифта, высота строки, цвета, отступы.

Так проще напрямую сравнивать реализацию с макетом и не теряться в длинных CSS-цепочках.

5️⃣ Что важно знать о состояниях элементов?


Чаще всего это кнопки. В DevTools можно вручную включить состояния:

  • :hover

  • :active

  • :focus

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

6️⃣ На что еще обращаем внимание?

Отступы могут быть реализованы через padding (внутренний) и margin (внешний).

Важно помнить, что высота текстового блока определяется line-height. Если высота строки отличается от макета — поплывут и расстояния между элементами, даже если padding и margin заданы верно.

7️⃣ Когда удобно считать руками, а когда — линейкой?

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

Для текста и иконок лучше ориентироваться на границы блоков и отступы, а не пытаться измерять «на глаз».


При этом в тестировании верстки почти всегда появляется вопрос баланса: где достаточно базовых проверок, а где уже начинается избыточный pixel perfect.

Интересно сравнить подходы: какие проверки верстки вы считаете обязательными в своей практике, а какие — избыточными? 

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

Почему хороший тестировщик — это не тот, кто нашел больше всего багов

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

На практике все сложнее. И чем опытнее становится тестировщик, тем реже он гордится просто цифрами.

Количество багов ничего не говорит само по себе

Сто найденных дефектов могут означать две совершенно разные вещи:

  • продукт реально нестабилен;

  • тестирование началось слишком поздно.

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

Сильный тестировщик думает раньше, чем тестирует

Тестирование начинается не с чек-листов и не с автотестов. Оно начинается с вопросов.

  • что здесь может пойти не так;

  • где система уже ломалась;

  • какие изменения самые рискованные.

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

Баг-репорт — это не обвинение

Новички иногда воспринимают баг как доказательство чьей-то ошибки. Отсюда агрессивные формулировки и желание «поймать» разработчика.

Опытный тестировщик понимает — баг-репорт это способ помочь команде. Хорошее описание проблемы экономит время всем:

  • понятно, что сломалось;

  • понятно, как воспроизвести;

  • понятно, почему это важно.

Чем меньше эмоций и больше контекста — тем лучше работает процесс.

Автотесты — это не самоцель

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

Хороший тестировщик задает другие вопросы:

  • ловят ли эти тесты реальные проблемы;

  • можно ли им доверять;

  • не мешают ли они менять код.

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

Хороший тестировщик думает о пользователе, а не о сценарии

Чек-листы и тест-кейсы важны, но реальный пользователь почти никогда не действует по ним.

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

Качество — это ответственность всей команды

Одна из самых токсичных идей в тестировании — что за качество отвечает только QA. Это удобно, но не работает.

Сильный тестировщик не берет качество на себя полностью. Он помогает команде видеть риски, объясняет последствия и участвует в решениях. Но ответственность остается общей.

Карьерный рост в тестировании — это не про инструменты

Инструменты меняются быстро. Сегодня один фреймворк, завтра другой. Знание конкретного тулкита редко определяет уровень специалиста.

Гораздо важнее:

  • умение анализировать систему;

  • понимание, где искать проблемы;

  • способность говорить с разработчиками и бизнесом на одном языке.

Именно это делает тестировщика ценным, а не список технологий в резюме.

В итоге

Хороший тестировщик — это не тот, кто нашел больше всего багов. Это тот, кто:

  • помогает находить проблемы раньше;

  • думает о рисках, а не о галочках;

  • пишет понятные баг-репорты;

  • работает с командой, а не против нее.

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

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

Сразу оговорюсь, это пост- реклама.

Написал Telegram бота для знакомств (поиск собутыльника). Пользователь отправляет свою геопозицию (широту и долготу), а боту нужно предложить людей, живущих рядом.
Нашел на просторах интернета HTTP Геокодер от Яндекса. Что-то около 25000 запросов в месяц бесплатно. Ты отправляешь запрос с широтой и долготой, а сервис тебе населенный пункт (район, улица и т.д.).
Ссылка на сервис:
https://yandex.ru/maps-api/products/geocoder-api
Подключить его не сложно (документация хорошая).

Приведу пример запроса:

PARAMS = {
        "apikey":"ваш api key",
        "format":"json",
        "lang":"ru_RU",
        "kind":"locality",
        "geocode": "долгота, широта"
    }

    #отправляем запрос по адресу геокодера.
    try:
        r = requests.get(url="https://geocode-maps.yandex.ru/1.x/", params=PARAMS)
        #получаем данные
        json_data = r.json()
        #вытаскиваем из всего пришедшего json именно строку с полным адресом.
        address_str = json_data["response"]["GeoObjectCollection"]["featureMember"][0]["GeoObject"]["metaDataProperty"]["GeocoderMetaData"]["AddressDetails"]["Country"]["AddressLine"]
        #возвращаем полученный адрес
        return address_str
    except Exception as e:
        logger2.error(e, exc_info=True)
        #если не смогли, то возвращаем ошибку
        return "error"

Поменяйте только ваш apikey и широту с долготой. Запрос вернет населенный пункт по заданным данным (долгота и широта).

Ссылка на моего бота:
http://t.me/drinking_buddy_2025_bot

Спасибо за внимание

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

🎓 Бесплатные онлайн-курсы для IT-специалистов от Selectel

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

Системный администратор Linux с нуля. Научитесь работать с командной строкой и основными утилитами Linux, управлять пользователями и файлами, настраивать сети и устранять инциденты. 

Погружение в PostgreSQL. Изучите основы реляционных баз данных. Научитесь создавать и связывать таблицы, добавлять, модифицировать и удалять данные.

Первые шаги в JavaScript. Освоите базовый синтаксис, научитесь писать скрипты, управлять DOM и изменять интерфейс веб-страниц. В конце сделаете свой первый пет-проект.

Тестирование мобильных приложений. Научитесь проверять мобильные приложения с учетом специфики разных платформ. Освойте работу с API, логами и трафиком на эмуляторах и реальных устройствах.

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

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

Однокоренные слова, но...

Класс защиты и класс защищенности – это не одно и то же. Более того, ранжирование у них идёт в разных направлениях. Они лишь звучат похоже.

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

Например, если микрофинансовой организации необходимо проводить проверку действительности паспорта заёмщика, то с этой целью её информационная система может через СМЭВ стучаться в МВД. Но просто так сходить туда нельзя – необходимо соблюсти определенные требования по информационной безопасности.

МВД требует от информационной системы подтверждения соответствия по шкале класса защищенности на уровне их ГИСа – это К1. При этом обмен данными в СМЭВ идёт по защищенной сети, участники которой используют криптосредства класса защиты КС3.

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

Так в чём разница?

Я объясню сильно по-простому и естественно это будет грубым объяснением, но достаточным для понимания различий. Данный пост написан для менеджеров, а не специалистов по информационной безопасности.

Класс защищенности (К1 > К2 > К3) – это шкала, которая применяется к государственным информационным системам (ГИСам). Чем выше число в обозначении, тем слабее. Данный класс относится ко всей информационной системе целиком (процессы, меры, средства защиты информации, сегментация, доступы, аудит, уязвимости, контроль, аттестацию и т.д.).

Определена эта шкала приказом ФСТЭК РФ от 11 апреля 2025 г. N 117 (вступает в силу с 01.03.2026 г.). Цитирую:

Самый низкий класс - третий, самый высокий - первый. Класс защищенности информационной системы (первый класс (далее - К1), второй класс (далее - К2), третий класс (далее - К3)) - определяется в зависимости от уровня значимости информации (далее - УЗ), обрабатываемой в этой информационной системе, и масштаба информационной системы.

Класс защиты (КС1 < КС2 < КС3 < КВ1 < КВ2 < КА) – это классы средств криптографической защиты информации (СКЗИ) – то есть стойкость к атаке и условия применения конкретной криптозащиты (VPN, криптошлюз, криптопровайдер, шифрование канала и т.п.), а не про защищенность всей информационной системы. И тут наоборот: чем больше цифра, тем сильнее.

Градируется класс защиты по модели атак приказами ФСБ РФ от 18 марта 2025 г. N 117 и от 27 декабря 2011 г. N 796:

  • КС1 – базовый класс: атаки вне контролируемой зоны, то есть нарушитель не имеет доступа в помещение, где размещены СКЗИ;

  • КС2 – сильнее: атаки в пределах контролируемой зоны, но без физического доступа к СКЗИ;

  • КС3 – еще сильнее: атаки в пределах контролируемой зоны с физическим доступом нарушителя к СКЗИ;

  • КВ – более высокий класс: высококвалифицированный нарушитель использующий недокументированные возможности ПО;

  • КА – наивысший класс: высококвалифицированный нарушитель использующий недокументированные возможности как ПО, так и железа.

P.S.: Наличие или отсутствие циферки у "КВ" и "КА" зависит от конкретного документа и упоминаемых в них СКЗИ.

Как запомнить и не перепутать?

Средства криптозащиты это лишь часть информационной системы, тогда как второе более широкое понятие. И чтобы не запутаться, проще всего запомнить разницу по длине слова: "защита" – короткое слово, значит, узкая тематика, относящаяся к классификации СКЗИ, "защищенность" – длинное слово, то есть более широкое понятие, относящееся к классификации информационных систем.

– – –

С вами был Неминущий Никита, ведущий инженер‑программист финансового маркетплейса «Выберу.ру»

Теги:
+5
Комментарии1
ClaudeCode делает 135к коммитов ежедневно
ClaudeCode делает 135к коммитов ежедневно

На глаза попалась интересная статистика, решил поделиться.

4% всех коммитов на GitHub теперь делает Claude Code, интересно посчитать сколько делается еще другими агентами тоже. При сохранении текущей траектории к концу 2026 года доля коммитов, написанных агентами, может вырасти до 20%. 

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

Коллеги, 03.02.2026, три дня назад я провёл вебинар, посвящённый полиглотности СУБД - умению работать с диалектами PostgreSQL, Oracle и Microsoft в контексте импортозамещения.

Меня зовут Жуйков Андрей, и если будет время - буду рад, если посмотрите запись 👀

«Импортозамещение СУБД по-новому: интеллектуальный подход к замене MS SQL и Oracle»

🔹 Установка и первый запуск Digital Q.DataBase
• развёртывание Digital Q.DataBase в Docker-контейнере
• установка и настройка Digital Q.DataBase на Ubuntu 24.04
• архитектура, ключевые преимущества и типовые сценарии использования в российских компаниях

🔹 Новые возможности Digital Q.DataBase для импортозамещения
• инструменты, упрощающие миграцию с MS SQL и Oracle
• как сократить риски и сроки перехода без переписывания приложений

🔹 Практика внедрения и реальные кейсы
• Владимир Авсеев показал, как система «Босс-Кадровик», изначально заточенная под MS SQL, успешно работает на Digital Q.DataBase
• Анастасия Коршунова (отдел разработки) продемонстрировала примеры успешной интеграции Digital Q.DataBase с 1С и Delphi-приложениями

🔹 Ответы на вопросы
• практические нюансы миграции и эксплуатации
• ответы на вопросы из реальных проектов от разработчиков Digital Q.DataBase и команды «Босс-Кадровик»

📎 Полезные ссылки
🔹 Бесплатное получение дистрибутива: https://database.diasoft.ru
🔹
Документация: доступна внутри дистрибутива
🔹 Telegram-сообщество Digital Q.DataBase: https://t.me/dqdatabase

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

OpenAI запустила корпоративную платформу Frontier, которая упростит компаниям развёртывание ИИ-агентов. Это часть стратегии OpenAI по укреплению позиций на рынке автоматизации рабочих задач.

Frontier позволяет организациям создавать ИИ-агентов и управлять ими с учётом настроенных ограничений и уровней доступа к данным. Идея в том, чтобы снять технические барьеры при запуске таких решений и ускорить их массовое внедрение в корпоративной среде.

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

🗓 Вебинар «Здоровье систем 1С: проблемы и решения для высоконагруженных корпоративных систем»

Какие проблемы возникают при эксплуатации «1С» и как быстро их распознать? В чем заключается «первая помощь» для поддержки системы? Как выстроить мониторинг и адресную оптимизацию в высоконагруженных режимах — и заранее выявлять будущие риски? Расскажем на бесплатном вебинаре!

⏱ 12 февраля, 10:00 (мск)

Эксперты:

👩🏻‍💻 Ирина Киняева — руководитель группы 

👨🏻‍💻 Евгений Филиппов — эксперт 

👩🏻‍💻 Елена Маламут — руководитель проектов 

Регистрируйтесь, приходите сами и зовите коллег.

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

Представлен открытый проект ROBOTO_ORIGIN. Это полноценный человекоподобный робот, который умеет ходить, бегать и прыгать, а все чертежи, электроника и код распространяются бесплатно. Проект сделан как DIY-конструктор: часть корпуса печатается на 3D-принтере, а моторы, платы и датчики покупаются отдельно в любом интернет-магазине. После сборки и установки ПО робот уже способен выполнять базовые движения. Авторы подробно показали весь процесс: от сборки корпуса и списка комплектующих до настройки системы и обучения через симуляции и ИИ-алгоритмы. По сути это открытая платформа для изучения робототехники: сообщество может менять функции, писать свои сценарии и прокачивать возможности андроида.

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

Яндекс.Музыка заблокировала доступ к сервису на уровне аккаунта. Уже 3 месяца поддержка “разбирается

С ноября у меня полностью заблокирован доступ к Яндекс.Музыке на уровне аккаунта (bearded-rocker@yandex.ru). Не отдельный девайс, не браузер, не приложение — аккаунт целиком.

TL;DR

  • Я использую официальный API Яндекс.Музыки

  • В какой-то момент доступ к Яндекс.Музыке для моего аккаунта был молча заблокирован

  • Блокировка воспроизводится во всех клиентах: веб, мобильные приложения, устройства

  • Смена токенов, переустановка приложений, другие устройства — не помогает

  • В поддержке заведены тикеты ещё с ноября

  • Прошло больше 4 месяцев — доступа нет, решения нет

Предыстория

Осенью я начал пользоваться Яндекс.Музыкой и колонкой с Алисой. Чтобы не терять годы истории из Spotify, я написал небольшой сервис, который синхронизирует мои плейлисты и треки через неофициальный API Яндекс.Сервис какое-то время нормально работал, после чего доступ к Яндекс.Музыке для моего аккаунта внезапно пропал полностью.

Симптомы выглядят так:

  • Яндекс.Музыка не работает нигде:— веб— iOS / Android— устройства с Алисой

  • Это не связано с VPN, IP или устройством

  • Это не выглядит как клиентская ошибка

  • Это выглядит как account-level блокировка внутри сервиса

  • в Браузере получаю ответ (в dev tools):

{ "name": "forbidden", "message": "403 Forbidden: "{"name":"API access restricted","message":""}"", "requestId": "99f13438-a1c9-43a7-9d7d-7de00bd3ea49.1"}

Яндекс.Музыка заблокировала доступ к сервису на уровне аккаунта. Уже 3 месяца поддержка “разбирается”
Яндекс.Музыка заблокировала доступ к сервису на уровне аккаунта. Уже 3 месяца поддержка “разбирается”

Я сразу обратился в поддержку Яндекс.Музыки. После стандартных проверок они подтвердили, что проблема не на моей стороне, и завели тикет “на инженеров”.

На сегодняшний день:

  • есть два тикета, заведённых ещё в ноябре: 25103113405032668, 25121613434183682

  • каждый новый оператор начинает диалог заново

  • снова предлагается “обновить браузер / переустановить приложение”

  • затем снова: «да, мы видим проблему, инженеры занимаются»

Я не прошу ничего экстраординарного:

  • Восстановить доступ к Яндекс.Музыке для моего аккаунта bearded-rocker@yandex.ru, я плачу за Plus, Алису-Pro и хочу пользоваться этими сервисами.

Сейчас же ситуация выглядит так:

  • платный сервис недоступен

  • тикеты “живы”, но без движения

  • сроков, статуса и ответственного нет

@yandex please help 🙏

Теги:
+5
Комментарии10

Снял видео про один из способов применения расширения "Рабочий стол" - дашборды рисовать. Лично для меня, как пользователя, это главный способ применения рабочих столов. Эдакий дешманский BI, с очень быстрой настройкой и перенастройкой.

И, кстати, именно с дашбордов "Рабочий стол" когда-то и начинался. Надо было вывести большому руководителю основные показатели работы компании на один экран, чтобы не шарашиться по отчётам.

Правда, дашборды типа "отчёт" (о которых речь в видео) - не самое эффектное представление данных, есть ещё диаграммы. Но про них я отдельное видео сниму.

А пока вот:

https://vkvideo.ru/video-208482299_456239491
https://youtu.be/1rln84eMBwc

Расширение можно скачать тут - https://t.me/another1C/48

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

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

Кто-нибудь хочет вместе поразбираться с тем, как нынче принято делать агентов в проде? С понедельника хочу плотненько засесть за "Agentic Design Patterns: A Hands-On Guide to Building Intelligent Systems".

План-капкан:
• Читаем по главе в день;
• Каждый день в 15:00 по Лондону собираемся на звонок для обсуждения;
• На каждый звонок будет презентация с обзором ключевых моментов главы (или каким-то доп контекстом);
• Звонки записываются, чтобы можно было догнать группу, если бес попутал пропустили;
• К концу феварля дочитываем всю книжку.

Если план звучит как-то знакомо, то это потому что мы уже читаем по похожей схеме "The Ultra-Scale Playbook". Правда, в более расслабленном режиме с созвоноами раз в неделю. Две книги лучше чем одна, верно?

Инвайт в чатик с анонсами (eng-speaking) и в дискорд (вдруг так получится привлечь больше людей за пределами русскоговорящего коммьюнити?). Анонсы буду кросс-постить и туда, и туда.

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

Российская РЕД ОС для защищенных облачных сред в Рег.облаке

В облачной инфраструктуре Рег.облака появилась российская операционная система РЕД ОС, включая сертифицированные редакции для регламентированных IT-сред. Клиенты Рег.облака могут запускать облачные серверы на отечественной ОС, уже соответствующей требованиям регуляторов, без самостоятельной настройки и сертификации защищенного контура.

Пользователям доступны четыре редакции РЕД ОС: версии 7.3 и 8 — в стандартном и сертифицированном исполнении. Сертифицированная редакция соответствует требованиям ФСТЭК России по безопасности информации и профилю защиты ИТ.ОС.А4.П3, что позволяет применять ее в защищенных контурах.

Доступность РЕД ОС в облаке упрощает переход на импортонезависимую инфраструктуру и помогает быстрее запускать защищенные среды — без необходимости самостоятельно собирать и сертифицировать программный стек.

Подробнее о редакциях РЕД ОС и возможностях развертывания в облаке — на сайте.

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

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

  1. Стандартные настройки прошивки мештастика указывают, что PIN-кодом / паролем сопряжения для bluetooth является 123456. Его можно сменить, но … только на другие 6 цифр. Буквенно-цифровой или цифровой на иное количество символов вы поменять не можете: только цифровой пароль от 100000 до 999999, то есть всего 899999 комбинаций, что в современных реалиях подберется достаточно быстро. А если принять во внимание, что простые обыватели его практически никогда не меняют (чтобы не забыть), то дальнейшие действия, я думаю, описывать нет смысла.

  2. Часть владельцев используют мештастик не как передвижную точку доступа (например, LILYGO T-Deck), а как стационарное домашнее решение: ставят оборудование не подоконник и “раздают хопы”. В данном случае связь по синему зубу не всегда подходящая, так как если вы уйдете в другую комнату, соединение разорвется.
    И тут на помощь приходит Wi-Fi: быстрый, надежный, стабильный. Кроме того, установив где-нибудь на локальном сервере/компьютере веб-клиент
    docker run -d -p 8080:8080 --restart always --name Meshtastic-Web ghcr.io/meshtastic/web
    вы сможете подключаться к нему не только с телефона, но и с любого устройства, где есть браузер, в том числе с вашего старичка QTEC 9100, например.

Но тут-то и кроется дьявол: подключение к мештастику !НЕ ТРЕБУЕТ! аутентификации. Вы просто вводите в качестве адреса подключения IP-адрес или просто meshtastic.local, и соединение с устройством устанавливается: читаем чаты, меняем настройки и т.д.
Продолжая тему безрассудности, представьте владельца устройства, который перенаправил порты на своем роутере напрямую в мештастик, чтобы находясь на работе он мог почитать “домашнюю” переписку. То что при указанных выше обстоятельствах это не самая лучшая идея я думаю объяснять не приходится.

Что в таком случае можно сделать далее? Правильно: идем на поисковики по IoT, такие как shodan или censys. Я предпочитаю последний и, в качестве поиска, указываю следующее:

host.services.endpoints.http.body:"Web server is running. The content you are looking for can't be found. Please see: FAQ"

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

В данном случае агрегатор мне выдал 17 IP-адресов и соответствующие порты к ним, где встречается данная комбинация: США 🇺🇸 - 7, и по одному для Испании🇪🇸, Португании🇵🇹, Чехии🇨🇿, Румынии🇷🇴, Тайваня🇹🇼, Украины🇺🇦, Венгрии🇭🇺, Италии🇮🇹, Сербии🇷🇸 и Франции🇫🇷. Российских 🇷🇺 адресов среди этого списка утечек нет.
Ну а дальше идем в наш локальный веб-клиент и вводим понравившийся IP-адрес и порт.

Если честно, я немного замешательстве: как в 2026 году, при всех ИИ-помощниках и кучах библиотек, разработчики не внедрили простую форму логина и пароля с обязательной сменой последнего при первом запуске?
В общем, подводя итог, если вы “счастливый” обладатель мештастика, срочно меняйте на нем bluetooth пароль и не выпускайте его за пределы периметра.

🧠 Обязательно поделись с теми, кому это может быть полезно 📱 Телеграм | 📝 Хабр | 💙 ВКонтате

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

Международный доклад 2026 года о безопасности ИИ - перевод на русский язык

Второе издание доклада возглавляет лауреат премии Тьюринга Йошуа Бенджио. В его подготовке участвовали более 100 международных экспертов при поддержке консультативного совета, в который вошли представители более 30 стран и международных организаций, включая ЕС, ОЭСР и ООН. Результаты доклада будут обсуждаться на саммите по влиянию ИИ, который пройдёт в Индии в конце месяца.Основные выводы доклада:

  • Быстрый рост возможностей ИИ. Системы общего назначения демонстрируют стремительное улучшение, особенно в математике, программировании и автономных операциях. В 2025 году ведущие ИИ-системы получили золотые медали на Международных математических олимпиадах, превзошли результаты специалистов с учёной степенью PhD в научных тестах и смогли самостоятельно решать отдельные инженерные задачи, требующие от человека-программиста нескольких часов. Однако их эффективность остаётся «неровной» — системы по-прежнему проваливаются на простых заданиях.

  • Неравномерное, но быстрое распространение ИИ. Технология внедряется быстрее, чем персональные компьютеры: более 700 млн человек еженедельно пользуются передовыми ИИ-системами. В некоторых странах — более половины населения, но в большой части Африки, Азии и Латинской Америки уровень использования остаётся ниже 10%.

  • Рост числа инцидентов с дипфейками. Поддельные материалы, созданные ИИ, всё чаще применяются для мошенничества. Особенно растёт распространение несогласованных интимных изображений, непропорционально затрагивающих женщин и девочек. Согласно исследованию, 19 из 20 популярных приложений «nudify» имитируют раздевание женщин.

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

  • Использование ИИ в кибератаках. Злоумышленники всё активнее применяют ИИ общего назначения для генерации вредоносного кода и поиска уязвимостей. В 2025 году ИИ-агент вошёл в топ-5% лучших участников крупного соревнования по кибербезопасности. На теневых рынках появились готовые ИИ-инструменты, снижающие требования к техническим навыкам для атак.

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

Йошуа Бенджио, профессор Монреальского университета, научный директор LawZero и научный советник института Mila, отметил:«С момента публикации первого доклада мы наблюдаем значительный рост как возможностей моделей, так и их рисков. Разрыв между скоростью технологического прогресса и нашей способностью внедрять эффективные меры защиты остаётся серьёзной проблемой. Цель доклада — предоставить политикам надёжную научную базу для направленного, безопасного и полезного развития ИИ для всех».

Министр по делам искусственного интеллекта Великобритании Канишка Нараян заявил:«Доверие к ИИ — ключ к раскрытию его полного потенциала. Это технология, которая улучшит государственные услуги, создаст новые рабочие места и изменит жизнь людей. Но безопасность людей должна оставаться приоритетом по мере её развития. Только через международное сотрудничество мы сможем построить надёжное и безопасное будущее ИИ — и этот доклад помогает нам в этом, объединяя экспертов со всего мира»

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

Браузерный проект Black Test Screen показывает фейковые экраны с бесконечным обновлением Windows 10/11, а также с бесконечной загрузкой macOS X и Ubuntu 24.04. Дополнительно на ресурсе Black Test Screen доступны тестовые экраны различных цветов для проверки мониторов и дисплеев смартфонов.

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

Как принять 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

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

Теги:
+16
Комментарии13

Копипаста в 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. Если вам будет интересно, а у меня силы и карма - то расскажу, что там и как в отдельной статье. А теперь и ответ на всех мучающий вопрос: "Почему пингвин пошёл в горы?"

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

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

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

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

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

Открытый учебный проект JavaScript Mastery — Complete Learning Path — это курс для изучения языка программирования JavaScript. Энтузиасты собрали более 500 учебных материалов — репозиторий заменяет буквально 4 года учёбы в университете. Есть вся база от определения переменных до ООП, замыканий и других сложных, но функциональных концепций. Сотни упражнений для повторения материалов и закрепления знаний. Примеры кода, визуализация всех концепций, каждый учебный пример авторы разжёвывают до последней строчки. В конце есть идеи пет‑проектов, чтобы закрепить знания. В проекте есть гайд для подготовки к собеседованиям со всеми актуальными вопросами.

Теги:
0
Комментарии1
Настройка Clawdbot
Настройка Clawdbot

Clawdbot: когда обезьяне дали гранату 🤡

Совсем недавно Clawdbot хайпанул. И тут такое началось... Это не цирк, это хуже.
Добрый дядя из гайда советует прокинуть туннель через ngrok или развернуть это дело на VPS с открытым портом.

Итог: любой школьник находит ваш IP или ngrok-адрес и получает RCE (удаленное выполнение команд) от вашего имени.

Судя по последним новостям агенты и сами не против опубликовать куда нибудь ваши тонны. Так, между делом.

Какой-то цифровой эксгибиционизм. Отберите у них Докер, пока не поздно.

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