Разбираемся, как работает robots.txt, почему его часто путают с инструментами индексации и какую роль он играет в эпоху ИИ-сканеров.
Читать далееВ этом материале я разбираю практический кейс: развёртывание Qwen3.6-27B на двух Tesla V100-SXM2-16GB под управлением автономного агента Hermes от Nous Research. Карты подключены к потребительской платформе через адаптеры SXM2→PCIe — конфигурация, которую несложно собрать дома, но которая накладывает жёсткие ограничения на доступную видеопамять и межкарточную пропускную способность.
Читать далееВ статье описывается подход к разработке прикладных приложений, основанный на едином максимально подробном формате описания доменных сущностей и контрактов. Приводятся практические примеры использования такого описания. В том числе показано, как декларации могут привнести удобства low-code решений в обычные full-code программы.
Описанный подход работает независимо от используемого на проекте стека технологий и особенно полезен в гетерогенных системах. Поэтому я стараюсь приводить примеры из разных языков программирования и технологий: Java, Python, TypeScript, REST, GraphQL, protobuf.
Читать далееНа кону финансовые данные клиентов, а странный и неуловимый баг в Cilium не даёт как следует настроить сетевую безопасность.
Статья о том, почему любая «нерешаемая» проблема — это «пока недостаточно изученная» проблема. От случайных догадок — к системному исследованию и пул-реквесту с фиксом прямо в Linux.
Читать далееКоманда VK Cloud перевела статью для тех, кто разбирает инциденты в Kubernetes с помощью kubectl debug. Автор разбирает незаметный пробел в данных: после завершения debug-сессии API Kubernetes не сохраняет контекст ее завершения — код возврата, длительность сессии и целевой контейнер исчезают при первом же изменении состояния пода. В статье как воспроизвести это тремя командами, почему так устроено на уровне спецификации API, чем это грозит при разборе инцидентов и комплаенсе и что можно сделать уже сегодня.
Читать далееPewDiePie последние полтора года ушёл из развлекательного контента в технику: домашний сервер, локальные LLM, self-hosting. Результат — репозиторий Odysseus, self-hosted AI-workspace, который за дни набрал 47 тысяч звёзд. Телеграм-каналы пишут “закопал ChatGPT, без ограничений, с анонимностью”. Полез в репозиторий проверять — и картина оказалась честнее и интереснее: это не убийца ChatGPT, а грамотная сборка из готовых open-source кирпичей (opencode, llmfit, Tongyi) под единым приватным UI. Разбираю архитектуру и отделяю факты от хайпа
Читать далееУ нас был долгий REFRESH MATERIALIZED VIEW: один запуск мог идти около часа, а повторные запуски вставали в очередь и держали соединения. CONCURRENTLY помогал не блокировать чтение из materialized view, но не решал проблему очереди одинаковых REFRESH.
Мы сделали механизм в PostgreSQL: триггерами отмечаем изменения в зависимых таблицах, храним зависимости каждой MV в служебной таблице, а перед обновлением берём pg_try_advisory_xact_lock по конкретной MV. Если lock не удалось взять — значит, обновление уже идёт, и второй REFRESH не ждёт в очереди, а пропускается.
Читать далееЭта статья о проблемах, с которыми сталкивается инженер при попытке объединить зоопарк старого оборудования с современным подходом к его мониторингу. Современный мониторинг строится вокруг динамических сущностей: микросервисы, контейнеры, оркестрация в Kubernetes, сбор метрик через Prometheus и визуализация в Grafana. В этой парадигме всё динамично меняется и обычно разговаривает на языке /metrics и OpenTelemetry. Для инженера это привычная и удобная экосистема, где работают автообнаружение и pull-модель которые позволяют забыть о ручном конфигурировании целей сбора.
Читать далееСпецлаб 30 лет разрабатывал комплексную систему видеонаблюдения GOALcity, и теперь там такое огромное число настроек, что можно управлять любыми технологиями этого и еще чуть-чуть того мира. Вот любую возможность для подобных программ назовите - она там уже есть. Но есть нюанс: настроить что-либо сможет, ну, очень терпеливый пользователь.
Сегодняшнее поколение зуммеров такое продукт никогда не купит - в нем больше одной кнопки.
А что делать?Приветствую всех!
Как я уже не раз рассказывал ранее, в советское время выпускалось сразу несколько моделей подъездных домофонов от разных заводов и разных годов. Но, как нетрудно догадаться, перечень систем контроля доступа ими не ограничивался, помимо них выпускались ещё и электронные замки.
Сегодня мы поговорим о девайсе, который ставился даже в таких местах, где о домофонах и слыхом не слыхивали: о раритетном электронном кодовом замке. Узнаем, как он устроен и почему я назвал его самым суровым. Как водится, будет много интересного.
Press F1 to continueЭто короткая аннотация для статьи. Заполни меня позже. Аннотация не может быть меньше 100 символов, по этому я пишу и пишу больше текста.
Читать далееПохоже на корявый рисунок в paint. И хотя это он и есть, этот рисунок, на самом деле, вы уже видели раньше, но в другом виде. Есть он в каждом листе, который выходит из вашего цветного принтера. Только там он желтый и почти невидимый.
Я не буду объяснять, как работает лазерный принтер. Барабан, тонер, коротрон, про это написано тысячу раз. Сегодня речь про то, что именно принтер дописывает поверх вашего документа и о чем вам не сказали.
А по дороге, в статье, между главами, спрятан шифр. Его я расшифровывать не буду. Кто первым выложит ответ в комментарии, тот молодец.
Недавно делал учебный проект про автоматизацию документирования инцидентов. Поначалу планы были грандиозными: инциденты, таймлайны, интеграции с мониторингами, чатами, постмортемы, подсказки дежурным инженерам.
Но довольно быстро стало понятно, что с временными и ресурсными ограничениями лучше не пытаться написать маленький PagerDuty. Поэтому я сузил задачу до более реалистичного ядра: локального RAG-сервиса, который ищет по документации, ранбукам и коду, а затем передаёт найденный контекст в LLM.
Так появился llmortem — FastAPI-сервис, который можно подключить к OpenWebUI как OpenAI-compatible backend.
В статье расскажу, как устроена архитектура, почему я начал с BM25, зачем индексировать docstring’и и какие ограничения у такого подхода.
Читать далееКогда моделируешь помехоустойчивые коды, декодер обычно остаётся чёрным ящиком: пишешь ldpcDecode(llr, cfg, 30), comm.TurboDecoder или dvbs2ldpc(1/2) — и получаешь красивый «водопад» BER, не заглядывая внутрь. А самое интересное в современных кодах именно там: не в том, как закодировать, а в том, как декодер из зашумлённого сигнала достаёт правильные биты.
Первая часть заканчивалась предложением: «если интересно разобрать итеративное декодирование LDPC/турбо в деталях или полярные коды с последовательным отменением — пишите в комментариях». Написали — так что эта статья и есть ответ на запрос из комментариев. Читать первую часть необязательно: там мы прошли эволюцию кодов в сотовой связи от GSM до 5G по BER-кривым в MATLAB, а всё нужное я напомню по ходу. Здесь — вскрываем сами декодеры.
Эта часть открывает ящик. Разберём три декодера, на которых держится всё современное кодирование:
• belief propagation — итеративный обмен сообщениями по графу, ядро LDPC и всего 5G eMBB;
• BCJR + итеративный обмен мнениями — то, что сделало турбо-коды возможными;
• successive cancellation — последовательное отменение в полярных кодах.
Чтобы видеть каждую строчку, MATLAB-тулбокс не годится — он прячет алгоритм. Поэтому весь разбор идёт по коду небольшой библиотеки, которую я написал специально для этого — fec-cpp: header-only C++17, без единой внешней зависимости, только STL. Её можно прочитать целиком за вечер, и каждый декодер в ней — полсотни строк, которые делают ровно то, что написано в учебнике. Рядом с каждым разбором будет и MATLAB-эквивалент — чтобы видеть контраст: одна строка тулбокса против явного алгоритма. А в конце — большое сравнение: прогоним обе реализации по одинаковым кодам и наложим их BER-кривые на одни графики.
Читать далееНе совсем пятничное чтиво, но…
Как-то так случилось, что решил разобраться для себя лично – какие подвижки появились в вопросе внедрения искусственного интеллекта в сфере сайтостроительства. ИИ действительно показал себя неплохо в отдельных задачах, но есть у него и минусы. Всё это тема для отдельного обсуждения, но здесь – только обзор реальной картинки. Делюсь бесплатно и без SMS ))
Читать далееВращения в трёхмерном пространстве встречаются практически в любой задаче компьютерной графики, от игровых движков до WebGL‑приложений.
В статье разбираю, как описываются повороты с помощью матриц и кватернионов, почему оба подхода задают одни и те же преобразования и в чём заключаются преимущества кватернионов на практике.
На примере демонстрационного проекта на Rust, WebAssembly и ThreeJS рассматриваю связь между осью вращения, матрицами поворота, комплексными числами и кватернионами, а также показывается, как эти математические конструкции используются для вращения реальной 3D‑модели.
Читать далееКаждому инженеру-проектировщику знаком «шифр» ЭС/ЭО/ЭМ. Так называются разделы проектной документации по электроснабжению, внутреннему электроосвещению, силовому электрооборудованию. В этой статье рассмотрим, как автоматизировать расчет освещения при проектировании промышленных объектов. Рекомендации пригодятся и для бытовых задач, например, как спланировать равномерное и качественное освещение в квартире.
В начале дадим немного теории, а затем разберем практические примеры. Для их выполнения подойдет как профессиональная версия КОМПАС-3D с приложениями, так и домашняя КОМПАС-3D Home, в её состав входит нужное нам приложение «Электроснабжение».
Читать далееПочему Debian 9, PHP 7.0 и никаких фреймворков. И как поднять HTTPS за 5 минут
Предисловие для тех, кто не читал первую статью
В прошлый раз я рассказал, как хотел сделать две странички для SAMBA и NFS, а получилась панель управления NAS на 20+ страниц. Проект назвал Mini Bucket.
Важно: та версия была бета. Сырая, с недоработками, но живая. Её задача — показать концепцию. А народ заинтересовался. Значит, надо доводить до ума.
Теперь — версия 3.6.2. Исправлена куча проблем, добавлена безопасность, появился отдельный домен, форум и вики. И сегодня я по шагам покажу установку со скринами.
Но сначала — кратко о том, что изменилось. А потом — чистая практика....
Читать далееВо многих компаниях, да и в целом в отрасли, сейчас происходит (или пытается происходить) масштабная и кардинальная трансформация процесса разработки - менеджеры просят/требуют использовать ИИ-агентов для написания кода, проводятся регулярные воркшопы на тему использования ИИ в работе, создаются инструкции по настройке рабочего окружения, появляются всё новые и новые способы ещё более эффективно работать с этим новым "чудо-инструментом, меняющим правила игры" и так далее. Повсюду витает атмосфера светлого будущего.
Читать далееЧто может быть общего у разработчика из крупной московской ИТ-компании и пенсионерки из Вологодской области? Ну, например, они оба регулярно пользуются SSO — технологией единого входа. Разработчик входит под одной учеткой во все корпоративные рабочие системы, а пенсионерка авторизуется через «Госуслуги» — чтобы записаться к врачу, проверить пенсию или оплатить коммунальные услуги. Об этом и поговорим, в смысле, об SSO, а не о «Госуслугах».
Привет, Хабр! Я Денис Радостев, старший backend-разработчик в IBS. В этой статье расскажу о Blitz Identity Provider, российской платформе управления цифровой идентичностью, которая обеспечивает единый вход — SSO, многофакторную аутентификацию и централизованное управление пользователями, и как ее можно интегрировать с приложениями Java по протоколу OAuth 2.0. Покажу ключевые настройки Blitz IDP и моменты, которые важно учитывать на стороне Java-приложения.
А вместо заключения расскажу про наш собственный кейс, связанный с синхронизацией пользователей между Blitz IDP и нашей старой БД для самописной авторизации.
Читать далее