Обновить

Все потоки

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

«По будням в 9:30» → 30 9 * * 1–5: парсер расписаний на русском, который отказывается угадывать

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели6.6K

Библиотека называется cronsense. Она переводит расписание, записанное обычными словами на русском или английском, в cron‑выражение и обратно. Рассказываю, как устроен разбор, о какие ловушки cron легко споткнуться и как тесты проверяют, что описание разбирается обратно в то же расписание.

Читать далее

Как BI‑команда краснодарского ИТ‑хаба мигрировала HR‑отчетность и собрала GuideBook

Уровень сложностиПростой
Время на прочтение27 мин
Охват и читатели6.4K

Результатом работы BI‑аналитика должен быть не просто отчет ради отчета — важно наладить партнерство с бизнесом: понимать его потребности и боли, а уже потом превращать это понимание в конкретный продукт.

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

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

Важно не забывать про качество данных: перед тем как строить любой продукт, BI‑аналитик проверяет корректность данных, на которых он основан. Масштаб этой работы в компании впечатляет: BI‑аналитиков у нас несколько сотен, а на BI‑платформе размещено почти 12 тысяч отчетов, с метриками MAU — 31 тысяча, с DAU — 13 тысяч.

Читать далее

50 минут руками — 5 минут автоматически. Или как я майнер удалял

Время на прочтение8 мин
Охват и читатели8K

Думаю, многие из вас знают, что такое майнер, а если нет, то вкратце — это программа, которая использует ресурсы компьютера для добычи (майнинга) криптовалюты. Сам по себе майнер не является вирусом, но есть те, кто им злоупотребляет, распространяя его скрытую вариацию под видом пиратского софта и сборок с играми.

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

Читать далее

Почему DLP не контролирует ИИ и не закрывает OWASP Top 10 for LLM, Agentic Applications и MITRE ATLAS

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели6.8K

«У нас уже стоит DLP, и она защитит от утечек в ChatGPT и Copilot». Эта фраза звучит достаточно часто, но она технически неверна. В этой статье мы разберем, почему DLP не может контролировать ИИ, обеспечить безопасное взаимодействие и сквозную видимость использования ИИ в корпоративной инфраструктуре.

DLP и LLM/AI Firewall решают разные задачи на разных поверхностях. Оба класса борются с утечкой. На этом сходство заканчивается.

Классический DLP не разбирает диалог с моделью, не останавливает запрос до доставки в LLM, не видит jailbreak и косвенную инъекцию в RAG и не управляет маршрутом к модели. LLM/AI Firewall к моделям не заменяет DLP на почте, флешке и печати.

DLP ищет известный чувствительный контент в известных каналах: почта, файлы, съёмные носители, веб, облако, мессенджеры. Он отвечает на вопрос: «уходит ли уже размеченная конфиденциальная информация по привычному каналу?».

LLM/AI Firewall стоит в разрыве между пользователем или ИИ-агентом и ИИ-моделью. Он отвечает на другие вопросы.

Читать далее

Новые инструменты 2D/3D и четыре промышленных кейса nanoCAD Механика PRO. Интервью с Андреем Серавкиным

Время на прочтение9 мин
Охват и читатели6.2K

Представляем интервью с генеральным директором ПАО «Нанософт» Андреем Серавкиным.

Андрей, расскажите о предпосылках создания и вывода на рынок вашего нового ИТ‑продукта для машиностроения.

Выход nanoCAD Механика PRO в 2024 году стал закономерным ответом «Нанософт» на уход западных вендоров, который остро поставил вопрос о функциональном импортозамещении в машиностроительном секторе. Опираясь на наш многолетний опыт в создании САПР и запросы пользователей, накопленные за время работы с машиностроительными предприятиями, компания разработала принципиально новый продукт.

При этом важно отметить, что в сегменте систем автоматизированного проектирования (САПР) для строительства «Нанософт» уже занимала в то время уверенные позиции лидера отечественного рынка, а поскольку строительная отрасль — как гражданская, так и промышленная — неразрывно связана с объектами машиностроительного проектирования, выход в смежную сферу стал логичным шагом для окончательного объединения этих двух дисциплин в единой экосистеме.

Читать далее

10 браузерных API, заменяющих библиотеки, которые я раньше все время устанавливал

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели10K

10 браузерных API, заменяющих пакеты NPM и плагины jQuery: dialog, popover, переходы отображения (view transitions), structuredClone, groupBy и Temporal с заметками о поддержке.

Читать далее

Мы портировали Doom на SQL

Уровень сложностиСредний
Время на прочтение19 мин
Охват и читатели14K

TL;DR: Мы портировали игровую логику и рендерер первого Doom на SQL и запустили его внутри базы данных. На моём ноутбуке игровой цикл исполняется на исходных 35 FPS, а рендерер генерирует полный буфер кадров 320x200 с частотой от 60 Гц и выше. Python только обрабатывает тайминги, считывает клавиатуру и отображает получаемую им битовую карту. Многопользовательский режим тоже работает.

Можете сыграть прямо сейчас: Deathmatch, четыре слота, обслуживание в порядке очереди.

SQLDoom на EU-серверах

SQLDoom на US-серверах

Это shareware-версия первого эпизода. Если все места заняты, вы попадаете в очередь. Если очередь заполнена, то в процессе ожидания вы всё равно можете запрашивать состояние игры через SQL.

Читать далее

Green Challenge 2026: конкурс моделей Physical AI для антропоморфного робота «Грин»

Уровень сложностиСложный
Время на прочтение12 мин
Охват и читатели6.5K

Управление роботом по изображениям и текстовым инструкциям остаётся одной из наиболее актуальных задач современной робототехники. Модели класса Vision-Language-Action, или VLA, уже способны решать широкий спектр задач. Однако большинство заметных результатов получено на стандартных манипуляторах: это одна роботизированная рука на неподвижном основании, с шестью или семью степенями свободы и двупалым захватом.

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

Sber Robotics запускает Green Challenge, соревнование в рамках AI Journey 2026. Участникам предстоит создать или дообучить модель управления «Грином», первым антропоморфным роботом Сбера. Модель должна решать задачи мобильной манипуляции в цифровом симуляторе.

Это комплексная задача в области Physical AI: от подготовки данных и мультимодального восприятия до планирования и согласованного управления движениями всего тела робота.

Читать далее

Трудная проблема сознания: почему и как мозг рождает сознание?

Уровень сложностиСредний
Время на прочтение18 мин
Охват и читатели8.4K

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

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

Философ Дэниел Деннет считал, что эта трудность во многом создается языком. Он прослеживал путь разума от бактерий до человека и показал, что слова вроде «хочет» и «знает» не указывают на отдельную сущность в живых организмах. Но его объяснение остается на уровне эволюционной логики: он показывает, почему такие слова могли возникнуть, но не показывает, какие физические процессы за ними должны стоять.

Проблема не в том, что физика этих процессов науке неизвестна, а в том, что уже на уровне клетки мы описываем их словами, которые обрывают связь с физикой. Про физику при этом не забывают: биофизики подробно изучают, как сталкиваются молекулы, как устроены каналы, сколько энергии уходит на каждый шаг. Но эти знания остаются внутри своей области. А в клеточной биологии, физиологии и нейронауке используется уже сокращенный язык, и в учебниках пишут: «с ДНК снимается копия», «рибосома читает мРНК», «транспортная РНК доставляет аминокислоту», «фермент распознаёт субстрат». А когда мы доходим до описания сознания, остаются слова «распознаёт», «оценивает», «прогнозирует», которые мы применяем уже к электрическим сигналам нейронов.

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

Проблема не в том, что физика этих процессов науке неизвестна. Биофизики изучают её подробно: как молекулы сталкиваются, как устроены каналы, сколько энергии уходит на каждый шаг. Но эти знания остаются внутри своей области. На следующих уровнях, в клеточной биологии, физиологии и нейронауке, используется уже сокращённый язык, и связь с физическими процессами обрывается. А когда мы доходим до сознания, от неё остаются только слова «распознаёт», «оценивает», «прогнозирует», которые мы применяем уже к электрическим сигналам нейронов. Поэтому мы восстанавливаем не лингвистическую логику, а сами физические процессы от клетки до человека.

Читать далее

Директ Коммандер на Linux: Работа над ошибками

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели6.1K

Неделю назад я выложил статью про то, как запустил Директ Коммандер на Linux. А через пару дней выяснил, что половину той инструкции можно выкинуть.

Bottles там не нужен, хватает обычного Wine из репозитория WineHQ. Заодно разобрал автообновление: Коммандер вешает красную плашку «обновление будет установлено автоматически при следующем запуске», честно качает 134 мегабайта и не устанавливает ничего. Ни тогда, ни потом, и никак об этом не сообщает.

И отдельно расскажу, как я собственным скриптом удаления снёс себе рабочую установку. Там всё сломала одна подстрока.

Читать далее

«Канарейка» для данных: как мы добавили безопасную доставку снапшотов поверх оркестратора снапшотов

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели6.3K

Привет, Хабр! Меня зовут Артём Букин, я разрабатываю инфраструктурные проекты в VK, и сегодня продолжу рассказывать как мы повышаем надежность ядра подбора VK Рекламы. В этой статье разберем как мы построили в облачной инфраструктуре канареечное развёртывание снапшотов данных в эксплуатацию.

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

Но поведение сервиса зависит и от данных. Приложение может остаться прежним, а обновлённые конфигурации, справочники или модели — заставить его работать иначе. Данные умеют менять поведение сервиса не хуже нового релиза кода, и готовиться к их обновлению стоит так же серьёзно: проверять не только то, что снапшот собран, скачан и распакован, но и то, что сервис с новыми данными корректно подбирает рекламу. 

Поэтому поверх существующей системы доставки оркестратора снапшотов мы решили сделать «канарейку» для данных.

Читать далее

Что на что меняют в 2026 году: карта импортозамещения ПО и пять гипотез, почему она такая

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели6K

С 1 сентября 2026 года офисное ПО не попадает в реестр без совместимости с двумя доверенными ОС. Срок полного перехода КИИ, который наступал в январе 2025-го, в мае разложили на три: 2028, 2031 и 2036. А реестр доверенного ПО снова перенесли, теперь на конец года.

За этими новостями стоит реальная карта замещения, и она не похожа на отчёты. Windows уходит не один, а вместе с Active Directory, SQL Server и Exchange: 33 кейса замены Windows это 33 замены стека. На каждом закрытом слое один победитель с долей от 57 до 74 процентов, и одна и та же лицензия покупается с разбросом цен до 44 раз. А нижние слои пусты: средства разработки замещены на четверть.

Внутри: что на что меняют по 139 кейсам, пять гипотез с фактурой 2026 года и где пройдёт фронт 2027-2028.

Читать далее

Сжатый интернет с несжатым кешем: что Cloudflare нашла у себя на дисках

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели9.1K

Смотрите, как выходит. Браузер в каждом запросе докладывает через Accept-Encoding, какие форматы сжатия понимает. Cloudflare жмет и отдает — этот кусок отлажен давно, работает очень даже неплохо, претензий вообще нет. А потом страница уезжает в кеш. И если origin прислал ее без Content-Encoding, то... ничего, собственно, не происходит. На диске она лежит как прислали, так же катается между дата-центрами.

По их подсчетам, такого текста в трафике набегает около 71%. HTML, JSON, CSS, JavaScript — как раз то, что жмется лучше всего. И это при том, что сжатие на веб-сервере включается буквально парой строк в конфиге.

1 сентября в блоге Cloudflare вышел пост о прототипе под названием Cache Transcoding. Ответ там сжимают с помощью Zstandard прямо при записи в кеш, дальше он хранится сжатым и между дата-центрами ездит тоже сжатым, а разворачивается только на отдаче клиенту. В тестах объекты ужались примерно в 2,8 раза, отсюда и обещанные петабайты освободившейся емкости. Пост написала Аши Патель, прототип она собрала на стажировке. В проде его пока нет, так как для выводов нужна выборка побольше.

Надо сказать, что хранить кеш сжатым придумали вовсе не в Cloudflare. Varnish делает так с 2011 года, а споры о том, вправе ли кеш вообще менять содержимое ответа, начались еще раньше. Просто выбор всегда стоял между диском и процессором, кроме того, диск был дешевле, поэтому платить процессорным временем за экономию места никто не хотел.

Читать далее

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

Каждому клиенту ответили, а сделки застревают в конце воронки. Разобрал CRM за три года

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели5.6K

Лидов много. Менеджеры отвечают быстро, в среднем за 15 минут в рабочее время, я проверял. Маркетинг работает, поток растёт. А денег меньше, чем должно быть.

Я разобрал воронку продаж одного кросс‑бордер сервиса за три года, по данным CRM, и нашёл, куда девается разница: заявки хоронят.

Читать далее

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

Время на прочтение7 мин
Охват и читатели5.6K

Когда нужно понять, как часть воронки тормозит продажи, классические фреймворки SWOT, PEST и 4P не дают точных ответов. А вот чтобы во время разработки маркетинговой стратегии точно понимать, как приоритизировать рекламные каналы и сплитовать бюджет, нужен набор маркетинговых фреймворков, которые не связаны напрямую с анализом рынка.

В этой статье разберём связку из пяти маркетинговых фреймворков: JTBD, CJM, юнит-экономики, full-funnel-сплита и инкрементальности.

Читать далее

Книга из переписки без сервера: canvas, jsPDF и брошюра для печати прямо в браузере

Уровень сложностиСредний
Время на прочтение13 мин
Охват и читатели6.5K

Мы делаем пет‑проект «Чатограмма», который считает статистику переписки: кто пишет первым, кто быстрее отвечает, в какие часы вы на связи. С первого дня у него одно жёсткое правило: файл с перепиской не уходит на сервер. Всё считается в браузере пользователя, а сервер не видит ни одного сообщения — не потому, что обещает не смотреть, а потому, что сообщения до него физически не доходят.

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

И здесь правило «ничего на сервер» перестаёт быть бесплатным. Книгу обычно верстают на сервере: headless Chrome, LaTeX, что угодно с нормальными шрифтами и без ограничений по памяти. У нас всё это должно работать на телефоне, в том числе на iPhone, в том числе во встроенном браузере мессенджера. Ниже — как это устроено и на какие грабли мы наступили.

Читать далее

Что такое OpenSpec? Полный гайд по Spec-Driven Development

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели86K

Мы всё чаще слышим о том, что та или иная компания внедряет Spec-Driven Development (SDD), а чаще всего именно OpenSpec, в свои процессы разработки ПО. Где-то это пока эксперимент нескольких команд, а где-то спецификация уже становится обязательной точкой входа в любую задачу.

При этом мало кто из разработчиков понимает, что именно означает разработка с AI-агентом от спецификации, чем спецификации помогают на практике и какие особенности появляются при работе именно с OpenSpec. Нередко всё представление о подходе сводится к тому, что перед написанием кода агент должен создать ещё несколько Markdown-файлов.

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

Читать далее

Как я выбирал софт для измерения параметров усилителей и почему остановился на Room EQ Wizard

Уровень сложностиСредний
Время на прочтение42 мин
Охват и читатели7.2K

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

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

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

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

Читать далее

Klark + Klara: корпоративный мессенджер и таск‑менеджер, которые живут на нашем сервере

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели8K

Свой корпоративный мессенджер на FastAPI и React: зачем он нам понадобился, что в нём есть и что ломалось по дороге.

Читать далее

Сколько стоит час работы кодинг-агента: рейтинг пяти API-шлюзов по расходам

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели8.9K

Вышли Claude Opus 5.5 и GPT-6 Sol, и все пошли смотреть прайсы шлюзов. Я собрал цены пяти шлюзов с оплатой из России и посчитал иначе: сколько стоит час работы в Claude Code, если нагрузка как у меня — по логам 49 моих сессий, 138 часов работы.

Разброс получился почти десятикратный: от 181 до 1 756 рублей за один и тот же час на одной модели. Половина счёта уходит на запись в кэш, хотя её всего 5% от входящих токенов. А самый дешёвый ценник в таблице даёт не самый дешёвый час: когда чтение кэша стоит столько же, сколько обычный ввод, час работы агента выходит почти вдвое дороже, чем у шлюза с дешёвым кэшем.

Читать далее