Обновить

Разработка

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

Static site generation (ssg) для ускорения сайта в 2-20 раз или важность кеширования

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

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

Скорость ответа сервера

Вес ответа сервера

Затрачиваемые ресурсы на ответ

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

Читать далее

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

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

В июне этого года на arXiv вышла работа «InfoFlood: Jailbreaking Large Language Models with Information Overload»

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

В отличие от большинства существующих джейлбрейков, InfoFlood не использует префиксов, суффиксов или шаблонных триггеров. Вместо этого он полностью переписывает запрос, сохраняя его вредоносное намерение, но маскируя его за избыточной информацией, уточнениями и гипотетическими сценариями. Авторы называют это «информационной перегрузкой» (Information Overload).

Читать далее

Эскейв: бесконечность дорог

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

Почему бы не сделать настолку по «Вангерам»? С советниками, убежищами и мехосами. Вашему вниманию предлагаются правила игры «Эскейв», представляющую собой настольно‑ролевой симулятор жизни во вселенной Униванга предназначенный для развлечения нескольких игроков, под управлением ведущего, направляющего развитие истории.

Читать далее

Собираем Linux, который весит меньше, чем мем с котиком, ну или почти…

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

Мне всегда было интересно, насколько минимальным может быть Linux.

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

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

Зачем вообще нужно создавать такие сборки Linux?

Установил готовый дистрибутив или загрузился в Live — работай и изучай. Но такой подход не даёт настоящей уверенности в знаниях. Представьте: водитель и шофёр. Водитель просто ездит. Шофёр знает устройство автомобиля и может его починить.

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

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

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

В комментариях к моей предыдущей статье я видел замечания, что можно использовать buildroot или книгу Linux From Scratch. Скажу только, что я преследую другие цели: собрать минимальный Linux без использования специализированных программ и сделать это как можно проще.

Всем, кого заинтересовало, добро пожаловать под кат.

Читать далее

Архитектура ИТ решений. Часть 7. Графический язык моделирования ArchiMate. Начало

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

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

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

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

ArchiMate в оригинале Architecture‑Animate) — это открытый и независимый язык моделирования архитектуры предприятия для поддержки описания, анализа и визуализации архитектуры внутри и за пределами бизнес‑процессов однозначным способом. Так же это технический стандарт от The Open Group, базирующийся на IEEE 1471. Он поддерживается различными разработчиками инструментов моделирования и консалтинговыми организациями.

Читать далее

Развернем n8n и postgres под проекты на серваке, подключим свой домен и настроим бекапы в s3

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

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

Погнали

Регулярные выражения в Python: почему ваши парсеры тормозят и как это исправить

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

Регулярные выражения часто воспринимаются как write-only код: написал и забыл, потому что прочитать это невозможно. Но настоящие проблемы начинаются не с читаемости, а с производительности. Неправильный квантификатор или использование re.findall на больших данных могут парализовать работу приложения.

Читать далее

Укрощаем зоопарк API: универсальный Python-клиент для GigaChat, YandexGPT и локальных моделей (v0.5.0)

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

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

Если вы пробовали внедрять российские LLM в свои проекты, то наверняка сталкивались с "зоопарком" API. У GigaChat — OAuth2 и свои эндпоинты, у YandexGPT — IAM-токены и gRPC/REST, у локальных моделей через Ollama — третий формат.

В какой-то момент мне надоело писать бесконечные if provider == 'gigachat': ... elif provider == 'yandex': ..., и я решил создать универсальный слой абстракции.

Так появился Multi-LLM Orchestrator — open-source библиотека, которая позволяет работать с разными LLM через единый интерфейс, поддерживает умный роутинг и автоматический fallback (переключение на другую модель при ошибке).

Сегодня расскажу, как я её проектировал, с какими сложностями столкнулся при интеграции GigaChat и YandexGPT, и как за пару дней довел проект до релиза v0.2.0 на PyPI с 88% покрытия тестами.

Читать далее

Как мы разработали VR-тренажер для отработки командных действий при ликвидации  ГНВП на буровой

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

Привет, Хабр! Меня зовут Евгений Морогов, я руководитель центра продуктовой акселерации в «Газпром ЦПС». Я работаю в проекте по внедрению VR-технологий, и сегодня я расскажу о том, как мы создавали VR-тренажер по ликвидации инцидента газоводонефтепроявления (ГПНВ) на буровой.

ГНВП — один из самых опасных инцидентов на буровой. Отработка подобных ситуаций на полигонах и на физических тренажерах «вживую» осложняется рядом факторов, которые не позволяют закрыть все потребности в практической подготовке cпециалистов. Среди них высокая стоимость, сложное масштабирование, отсутствие обновлений и возможностей для совместной подготовки, высокие логистические затраты и ограниченность сценариев. Мы решили эти проблемы с помощью VR-тренажера, создав детальную цифровую копию буровой установки.

Если у вас есть похожие задачи, вам интересно, как VR-технологии могут помочь бизнесу или в обучении — этот материал для вас. В статье подробно расскажу, как устроен наш VR-тренажер, как он создавался, какие технические решения мы использовали и как работает наша математическая модель. А также поделюсь, какими были наши первые успехи «в полях».

Читать далее

Мышь, на которую можно наступить: разбор ЕС 1845.А000 с защитой от ПЭМИН

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

Что представляет книголюб при сочетании слов «Стальная крыса»? Правильно: цикл фантастических произведений Гарри Гаррисона. А что вспоминают любители ретрокомпьютинга? Тоже правильно: манипулятор «мышь» — составную часть отечественной ЭВМ ЕС 1845 — компьютера, созданного для противодействия снятию информации путём перехвата электромагнитного излучения.

Сегодня мы детально рассмотрим это любопытное устройство — снаружи, изнутри, а также посмотрим видео его работы в разобранном виде. Для кого‑то это просто кусок фрезерованного металла, но «красота в глазах смотрящего». А значит, посмотрим с точки зрения работоспособности, эстетики и функционала.

Добро пожаловать!

За мной, читатель (с)

Уязвимые серверы, или Как много «новогодних ёлок» у вас в инфраструктуре

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

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

 

Читать далее

Планируем GPU-нагрузку в Kubernetes: от стандартных механизмов до кастомных решений

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

Привет, Хабр! Меня зовут Макарий, и как Senior SRE в Yandex Cloud я не только участвовал в разработке Managed Service for Kubernetes, но и всегда любил в свободное время посмотреть, что интересного понавыпускали для «кубика». Kubernetes, как де‑факто стандарт оркестрации контейнеров, предлагает базовые механизмы для управления вычислительными ресурсами. Однако стандартный планировщик Kubernetes (kube‑scheduler) разрабатывался с учётом общих принципов балансировки нагрузки и не специализирован для уникальных особенностей рабочих GPU‑нагрузок.

Предлагаю рассмотреть весь спектр возможностей — от встроенных механизмов шедулинга K8s до специализированных планировщиков, таких как Volcano, Apache YuniKorn и KAI‑Scheduler. Проанализирую конкретные сценарии, в которых каждый из этих инструментов демонстрирует свои преимущества, и предложу рекомендации по выбору оптимального решения для ваших рабочих GPU‑нагрузок.

Читать далее

SFT vs RL: Сравнение методов настройки LLM для задач программирования и игровых сред

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

В современной разработке AI-агентов возникает необходимость адаптации больших языковых моделей (LLM) для решения специфических задач, требующих не просто генерации текста, а выполнения последовательных действий с рассуждениями. В этой статье мы рассмотрим и сравним два основных подхода к настройке моделей: Supervised Fine-Tuning (SFT) и Reinforcement Learning (RL), используя библиотеку TRL (Transformer Reinforcement Learning) от Hugging Face.

Читать далее

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

Автоматизация выдачи УНЭП у федерального ритейлера: интеграция BPMS с 1С: ЗУП и КриптоПро

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

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

Читать далее

Гибкая ECS с кастомными layout-профилями: как я строил ECSS внутри своего игрового движка

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

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

В этой статье я хочу рассказать простыми словами - что такое ECS, и как он эволюционно появился у меня.

Что такое ECS - Entity Component System (Сущность Компонент Система) - архитектура хранения данных, где логика - системы, явно отделена от данных - компонентов, которые объединены одним общим id - сущностью.

В двух словах, идея ECS заключается в том, чтобы навести порядок в игровом коде, и игровом мире - выделить все данные игровых объектов(сущностей), и желательно сделать это data-oriented (почему желательно я расскажу ниже).

Предположим, у вас в игре есть объект КУБ - квадратный, все стороны равны, все углы равны, классический такой КУБ. У него есть положение в мире (Transform) у него есть его кубический меш (Mesh), он умеет быть отрендеренным (IsRenderable), и, ко всему прочему, он еще и обладает какой-то своей кубической физикой (Physic).

Читать далее

Что происходит после fn main() в Rust?

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

Привет!

Хочу вместе с вами разобрать, как же код на Rust превращается в готовый исполняемый файл. Мы пишем программу, например, fn main() { println!("Hello, Habr!"); }, компилируем, и на выходе получаем бинарник. Что происходит под капотом компилятора Rust в этот момент? Давайте аккуратненько заглянем внутрь этого таинственного процесса.

Читать далее

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

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

Что может быть проще, чем сгенерировать голосовую подсказку для навигатора? Считаем угол поворота — озвучиваем манёвр. Именно так наша система и работала годами, пока не обросла таким количеством эвристик и региональных «костылей», что её поддержка стала дороже разработки. Добавление нового правила для одной страны ломало логику в другой, а простая задача «отличить плавный изгиб от поворота» превращалась в детектив.

Меня зовут Дмитрий, и я руковожу ML‑разработкой в команде автонавигации Яндекс Карт. Вместе с моим коллегой Альбертом Юсуповым (@al‑iusupov) в этой статье мы поделимся историей полного переосмысления системы генерации дорожных аннотаций. Расскажем, почему решили отказаться от десятков хитрых условий в коде, а также почему заманчивая идея отдать всё на откуп большим нейросетям (VLM, LLM) провалилась. И, наконец, как пришли к элегантному решению: создали уникальный датасет с помощью сотен водителей‑экспертов и обучили быструю и точную ML‑модель, которая работает по принципу «меньше, но лучше».

Читать далее

Автоматизируем машинное обучение с помощью ИИ-агентов

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

Решая соревнования на Kaggle начинаешь замечать паттерн. Baseline сделать просто: загрузить данные, запустить CatBoost или LightGBM, получить baseline метрику. Это занимает полчаса. Но чтобы попасть в топ решений, нужно перепробовать десятки вариантов препроцессинга, сотни комбинаций фичей и тысячи наборов гиперпараметров.

Существующие AutoML системы не сильно помогают. Они работают по фиксированному сценарию: пробуют предопределенный набор алгоритмов, выбирают лучший по метрике и возвращают результат. AutoGluon обучает несколько моделей и делает многоуровневый ансамбль, но каждый запуск начинается с нуля. TPOT генерирует pipeline через генетический алгоритм, но не учится на ошибках предыдущих запусков.

Главная проблема в том, что эти системы не рассуждают. Они не анализируют почему конкретный подход сработал или провалился. Они не адаптируются к специфике задачи. Они не накапливают опыт между запусками. Каждая новая задача для них как первая.

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

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

Читать далее

Как попасть в мир олимпиадного (спортивного) программирования? Спорт для ума, который меняет мышление

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

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

Хочешь попробовать интеллектуальный спорт, где за пять часов нужно решить несколько задач и обойти соперников по скорости мышления? Спортивное программирование даёт не только адреналин соревнований, но и реальный буст к учёбе, поступлению и карьере — от первых олимпиад в школе до участия в ICPC и стажировок в IT-компаниях.

Читать далее

Анализ вариантов оптимизации ресурсоёмкого SQL-запроса: Вариант-5 «Условие WHERE»

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

Оптимизировать запрос в вакууме — просто. Но как он поведет себя, когда десятки таких же запросов одновременно борются за ресурсы?

Эксперимент-5 : Условие WHERE

Читать далее