Обновить

Все потоки

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

Пароль от корпоративного Wi-Fi лежит в открытом виде на каждом ноутбуке, который к нему подключался

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

Ситуация из практики любой компании: сотрудник уволился, ноутбук сдал, пароль от гостевой и рабочей сети остался прежним. Формально сотрудник его не знает — вводил один раз при подключении, полгода назад, наизусть не помнит.

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

Читать далее

Как мы визуализировали OKR: свой софт, OpenAPI и автоматизация через n8n

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

Внедрение OKR часто превращается в бюрократию. Сотрудники воспринимают его как тот же Jira, только в профиль, а рыночный софт либо стоит дорого и тащит за собой тонны ненужного HR-функционала, либо требует сборки на коленке.

В Sape мы столкнулись со всеми этими проблемами и решили, что OKR-софт должен быть простым, интуитивно понятным и не ломать текущие процессы в таск-трекерах. В результате мы написали свой open-source-инструмент, который собирает метрики через OpenAPI и отлично дружит с n8n.

Читать далее

Я построил AI-тренера, который всегда следит за моим отдыхом и пишет тренировки мне в часы

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

Пятьдесят дней назад планирование моих тренировок переехало из головы и переписки в телеграм-бота. Он читает восстановление из WHOOP и форму из TrainingPeaks, рассуждает через Claude и сам пишет структурированные тренировки обратно в календарь — оттуда они уезжают в Garmin Connect и на часы. За это время он записал в календарь 72 тренировки, а стоимость эксплуатации (дроплет, инференс, подписки) составила около 4 500 рублей в месяц против 30 000+ за живого тренера с теми же подписками на спортивные сервисы.

Официального доступа к TrainingPeaks у меня нет: в партнёрскую программу я написал и получил отказ без объяснения причин. В статье — как я всё равно научился писать в чужой календарь: обмен куки веб-сессии на bearer, GET-merge-PUT вместо несуществующего PATCH, поле, которое на чтении приходит объектом, а на запись требует JSON внутри JSON, и почему IF и TSS плановой тренировки приходится считать самому.

Вторая половина — про то, где это ломалось. Три отказа за пятьдесят дней, и ни один не был виной модели: устаревший в настройках пороговый темп, мой собственный баг с зонами не того вида спорта, один невалидный OAuth-scope, отбивавший запрос согласия целиком, и ответы, обрывавшиеся на полуслове из-за параметра, у которого «по умолчанию» значит разное у разных моделей. Плюс три дня, когда я был уверен, что агент зря меня бережёт, — а данные говорят, что прав был он.

Спортивного результата пока нет: до целевого марафона сто дней, но надеюсь на лучшее.

Как это устроено и во что обошлось

Как убрать логин из UI‑тестов на Java без лишних секунд и флака

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

Когда 180 тестов каждый раз проходят форму входа, авторизация начинает съедать десятки минут и ломаться на рейт‑лимитах, SSO и редиректах. Разберём рабочую схему: получить токен по API, закэшировать состояние и передать его браузеру до старта приложения.

Читать гайд

MRP — отличный инструмент. Просто он не для этого

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

Вы нажимаете в ERP кнопку «Рассчитать план», получаете плановые заказы с датами и резонно предполагаете, что система только что построила производственный план. Она его не строила. Она рассчитала, что нужно закупить и изготовить под план, который кто‑то дал ей на вход. Разбираю двенадцать характеристик производства, при которых MRP перестаёт справляться, и объясняю, откуда на самом деле должен браться производственный план.

Читать далее

Как мы скрестили Go, Rust и MCP, чтобы построить масштабируемый оркестратор ИИ-агентов

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

Model Context Protocol (MCP) от Anthropic перевернул работу с ИИ-агентами, но когда их становится больше трех, начинается ад с правами доступа, сетевым I/O и визуальным контролем. Мы задолбались собирать костыли на Python и написали масштабируемый опенсорс-оркестратор. Внутри — честный инженерный разбор: почему для ядра выбрали Go, как упаковали асинхронный движок JSON-RPC 2.0 на Rust в cdylib для вызова через cgo, и как мы героически побеждали утечки памяти на стыке этих двух миров.

Читать далее

Рагнарёк: F6 исследовала атаки группировки вымогателей VantaCore

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

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

Читать далее

Security Week 2636: атака GPUThor обходит защиту ECC

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

Исследователи из канадского Университета Торонто на прошлой неделе опубликовали научную работу, в которой продемонстрировали новую атаку на видеоускорители NVIDIA. Атака, получившая название GPUThor, относится к классу Rowhammer, то есть использует многократные обращения к ячейкам оперативной памяти с целью повлиять на соседние ячейки. Таким образом можно изменить данные в областях памяти, изначально недоступных потенциальному злоумышленнику. Наиболее актуален такой сценарий атаки в случае совместного доступа к профессиональному видеоускорителю. Именно поэтому в подобных работах традиционно исследуются устройства NVIDIA, в данном случае модели поколения Ampere A4000, A4500, A5000 и A6000.

По сравнению с предыдущими атаками на подобные устройства, продемонстрированными в начале 2026 года, GPUThor обеспечивает изменение данных в целевых ячейках в сотни и даже тысячи раз чаще. Но самое главное — новая атака в некоторых случаях приводит к двойным и тройным бит-флипам, которые не корректируются системой ECC. Это точно позволяет провести атаку типа «отказ в обслуживании» и теоретически создает условия для атаки с повышением привилегий, даже если коррекция ошибок включена.

Читать далее

Четыре пул-реквеста, четыре полных прогона, один ответ

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

Merge queue гоняет полный сьют один раз на каждый пул-реквест в группе. Четверо ждут посадки — четыре полных прогона, причём последний из них уже содержит три остальных. Обязаны ли те три прогоняться? Мы построили одноразовый стенд, прогнали на нём четыре способа останавливать лишние прогоны и померили каждый: один сажает сломанный код, один залипает намертво, один безопасен и стоит ровно столько же, сколько мы платим сейчас. Четвёртый — наш, и он экономит около 19 машинных минут на посаженный пул-реквест ценой примерно четырёх минут ожидания.

Читать далее

40% агентских проектов закроют к 2027 году. Вот на каком слое они ломаются

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

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

Читать далее

Fluent Swap: как я вышел за пределы CRUD и начал разрабатывать matchmaking на Go

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

Большинство backend‑проектов начинаются предсказуемо: HTTP‑запрос, бизнес‑логика, SQL и ответ клиенту. Но что изменится, если вместо очередного CRUD нужно одновременно искать собеседников, поддерживать долгоживущие WebSocket‑соединения и не допускать двойного matchmaking?

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

Читать далее

React Fiber: как React научился прерывать рендер и расставлять приоритеты

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

Банальный пример — когда печатаешь в input, а интерфейс начинает лагать на большом списке: классическая боль старого React. Я решил разобраться, как и почему React переписал свою архитектуру: отказался от рекурсивного обхода дерева, изобрел новую структуру данных и научился прерывать рендер ради нашего ввода.

В статье рассмотрю проблемы синхронной отрисовки и переход к новой архитектуре,  почему пришлось отказаться от методов жизненного цикла с приставкой *will, что такое Fiber, почему первый вариант приоритизации с ExpirationTime не сработал и как пришли к React Lanes.

Читать далее

Локальный компаньон для Genshin, HSR и ZZZ: как я упаковал три игры в офлайн‑приложение без бэкенда

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

Забыли забрать ежедневные гемы или потеряли счёт круткам до гаранта? Рассказываю, как я решил собственную проблему и разработал GachaPoint — бесплатный офлайн‑компаньон для Genshin Impact, Honkai: Star Rail и Zenless Zone Zero без бэкенда и рекламы.

В статье разбираю техническую изнанку проекта для Android (Java / Architecture Components): Зачем использовал «плоскую» таблицу в SQLite (Room) для календаря и как это ускоряет выборки за один запрос, Почему для сетки дней кастомный GridLayout оказался удобнее RecyclerView, Как настроить точные ежедневные напоминания через WorkManager с учётом жестких ограничений Doze Mode в Android 12/13+.

Исходники проекта открыты, буду рад обсудить архитектуру и UI‑решения в комментариях!

Читать далее

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

Как KupujemProdajem ищет по 5,6 миллиона объявлений примерно за 10 мс с помощью Manticore Search

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

Как крупнейшая площадка объявлений Сербии использует Manticore Search, чтобы искать по 5,6 миллиона активных объявлений примерно за 10 мс, обновлять индекс в реальном времени и готовиться к гибридному поиску.

Читать далее

Снова хороним BI. Из гроба стучит

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

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

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

Я разобрал свежие кейсы OpenAI, Anthropic и Hex: что действительно улучшает ответы, какие очевидные подходы уже провалились, из чего складывается реальная стоимость и как за шесть шагов проверить

Читать далее

Где созваниваться в 2026 году: обзор 14 приложений для видеозвонков

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

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

Читать далее

Девопс-инженер и ИИ влетают в бизнес-задачи с двух ног

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

209 тысяч наименований товаров в 150 представительствах записаны по-разному, а обычный join сопоставляет от силы 1% из них. Дата-инженер Дмитрий Дунаев на Вечерней школе Слёрма показал, как эту путаницу разгребли с помощью LLM, эмбеддингов и fuzzy-поиска, а заодно избавили менеджеров от звонков по 5 минут за штуку из бесконечного списка на обзвон.

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

Читать далее

Черный лебедь в мире LLM или когда убьют трансформер?

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

И снова возвращаюсь к теме больших языковых моделей. В своей достаточно старой статье я писал, что текущая архитектура БЯМ(LLM) — это гонка в тупик. Наблюдения за прошедшее время только укрепляют меня в этом мнении. Но сегодня хочу поговорить о другом, а что если тупик — это не конец пути, а просто барьер, за которым нас ждет технологическая революция? И почему те, кто сейчас вкладывает сотни миллиардов в дата‑центры, сделают всё, чтобы эта революция не случилась? Разберем по порядку.

Читать далее

«Зачем платформа, если есть Kafka?» Отвечаю честно, включая ту часть, где вы правы

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

Привет, Хабр! Меня зовут Виктор Овчинников, я руковожу продуктовым направлением «Интеграционная платформа» в «Диасофт». Той самой Digital Q.Integration, которую вы имеете полное право не покупать.

Под каждой моей статьей появляется один и тот же комментарий. Слова разные, смысл один: зачем вообще нужна интеграционная платформа, если есть Kafka, брокер сообщений? Один сервис положил сообщение, второй забрал. В чем, собственно, проблема?

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

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

Читать далее

Может ли ИИ самостоятельно разобраться в проекте Siemens TIA Portal? Опыт разработки OpennessLLM

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

Когда я только начал применять языковые модели в работе с TIA Portal, всё выглядело довольно привычно. Копируешь в чат фрагмент SCL-кода, описываешь задачу, получаешь объяснение или готовую функцию. Иногда результат можно использовать почти без изменений, иногда приходится долго уточнять контекст.

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

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

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

В какой-то момент у меня возник простой вопрос: почему модель вообще должна ждать, пока я принесу ей очередной блок? Можно ли дать ей возможность самостоятельно изучить проект TIA Portal, найти нужный код, проверить свои предположения и подготовить изменения?

Так появился OpennessLLM.

Читать далее