Обновить

Разработка

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

AssemblyLoadContext как архитектурный приём

Уровень сложностиПростой
Время на прочтение13 мин
Количество просмотров513

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

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

Осваиваем ALC

Детский значит безопасный. О новом помощнике для детей в колонках Sber

Время на прочтение8 мин
Количество просмотров603

Салют, Хабр!

А мы кота завели. Для детей. В интеллектуальных колонках Sber появился новый помощник СберКот, который ранее обитал внутри детского банковского приложения СберKids. Умный помощник знает ответы на детские «почему» и говорит с детьми на одном языке. Он появится, если сказать колонке:

— Салют, позови СберКота!

В этой статье рассказываем, как выстроили многоуровневую систему безопасности, синтезировали голос СберКота и обучили колонку понимать особенности детской речи.

Читать далее

Как мы написали свой софт на базе «коробки»: автотранспорт производства

Время на прочтение8 мин
Количество просмотров2.5K

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

Копились и другие проблемы.

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

Всё это работало только под IE/Edge, не поддерживало Хромиум, конфликтовало с требованиями ИБ.

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

Мы давно задумывались о рефакторинге или миграции, суть споров сводилась к самопису или «коробке».

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

В итоге оказалось, что сначала мы допилили процентов на 20, а потом от исходной «коробочной» версии осталось процентов 10, и вся разработка переехала к нам внутрь.

Сейчас я расскажу о дьявольском опыте использования чужой «коробочной» версии как фреймворка для своей разработки. Забегая вперёд — второй раз мы в это не полезли бы.

Читать далее

Хватит бороться с ошибками CORS: разберемся, как они работают раз и навсегда

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

Вы когда-нибудь видели в консоли сообщение вроде: «Access to fetch at '…' from origin '…' has been blocked by CORS policy»? Это как в том фильме: «Суслика видишь? — А он есть». CORS не бросается в глаза, пока все работает, но в нужный момент пресекает недопустимые действия. Например, чтение ответа на кросс-запрос без разрешения сервера.

Меня зовут Баир, я разработчик в команде fuse8. В этой статье я отвечу на вопросы о том, зачем была создана CORS политика, как она устроена под капотом, почему простого действия типа «поставить заголовок на бэке» может быть мало, и какие безопасные паттерны стоит выбирать во фронтенде.

Читать далее

Как проверить, окупился ли ваш RPA-робот. Инструкция от внутреннего аудитора

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров685

Меня зовут Владимир, я внутренний аудитор. В своей работе я анализирую самые разнообразные бизнес-процессы и проекты.

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

Моя статья будет полезна и интересна:

самому широкому кругу читателей – понимать, что такое RPA-роботы, для чего они нужны и как можно оценить эффективность их внедрения;

топ-менеджерам – определить какие вопросы следует задать ИТ-команде и на что обратить внимание при реализации проектов;

менеджерам ИТ-проектов – заранее оценивать риски и знать какие подводные камни могут быть;

владельцам процессов – знать, как доказать реальную эффективность от внедрения RPA-роботов и подобных автоматизированных решений;

финансистам – корректно подсчитать экономические эффекты.

Читать далее

Умный Learning Rate Scheduler: Управляем скоростью обучения, анализируя ускорение

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров339

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

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

Читать далее

Как ИИ-агенты научились писать аналитические отчёты не хуже профессиональных аналитиков

Время на прочтение4 мин
Количество просмотров2.2K

Сегодня ИИ-системы, генерирующие длинные тексты, оперируют сложными понятиями и красиво структурируют материал, но загляните в документы, которые готовят для реального бизнеса или инвесторов. Вы готовы использовать или вложиться в то, что рекомендует ИИ? Оправдывает ли красивый текст потерю деталей, отсутствие ссылок на источники или объяснения каждого утверждения? На практике у многих моделей хорошо получается именно красивая подача, но страдает содержимое. Эффектная обертка — это завуалированный метод обмана пользователей.

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

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

Читать далее

Как я построил AI-радио без команды и инвестиций: архитектура изнутри

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

Когда я только начинал Tunio, я хотел просто познакомиться с Kubernetes. В итоге получилось построить полноценную платформу для радио с AI-музыкой, новостями, прогнозами погоды, подкастами, гео-кластеризацией и TTS-ведущими - без команды, инвестиций и грантов. Эта статья - о том, как из pet-проекта вырос продакшн-сервис с реальными клиентами, и какие технические фэйлы и открытия случились по дороге.

Читать далее

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

Уровень сложностиПростой
Время на прочтение1 мин
Количество просмотров1.4K

Простой способ держать ваш скрипт актуальным и запускать его автоматически Создаем самосинхронизирующийся и запускающийся Python-скрипт из GitHub

Читать

View Transitions API

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

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

Читать далее

Вмешательство стороннего ПО в процесс отладки программы приводило к ошибке 0xC0000005 по адресу 0x00000000

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

Или история о том, как в момент запуска отладки из любой среды разработки (Visual Studio 2022/2026, Visual Studio Code) я ловил ошибку: "Вызвано исключение по адресу 0x00000000 в ***.exe: 0xC0000005: нарушение прав доступа при исполнении по адресу 0x00000000"

Читать далее

Долгая дорога к DiT (часть 2)

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

Первая треть пути преодолена и совсем скоро мы создадим генератор картинок на целиком на архитектуре трансформеров. Но перед тем как совершить финальный скачок к Diffusion Transformers (DiT) нам сначала надо научиться работать с готовыми датасетами и освоить генерацию изображений "простым" способом - через MLP-ResNet. Статья является прямым продолжением первой части, так что советую сначала ознакомиться с ней, чтобы понимать откуда всё началось. Будет много про работу с датасетами.

И вообще статья получилась какой-то неприлично большой.

Читать далее

История одного патча II: приключения в FreeBSD

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

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

Читать далее

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

Хватит тестировать вполсилы: Фреймворк RES-ATTACK для симуляции комплексных угроз и его метрика R-score

Уровень сложностиСредний
Время на прочтение17 мин
Количество просмотров838

Привет, Хабр. С вами AdminFuture.

Давайте представим себе худший кошмар любого SRE-инженера или CISO. Пятница, вторая половина дня. Нагрузка на систему достигает пика, и в этот самый момент основной узел кластера вашей критически важной СУБД начинает сбоить. Автоматика запускает процедуру failover. Системы напряжены, инженеры наготове, но в целом ситуация под контролем — к такому вы готовились. Но именно в этот момент, в окне уязвимости, когда внутренние сервисы перестраивают сетевые маршруты, а часть проверок безопасности временно ослаблена, ваша система мониторинга безопасности взрывается алертами. На один из внутренних API, который стал доступен во время переключения, началась целенаправленная атака.

Это не голливудский сценарий. Это «идеальный шторм» — комбинация инфраструктурного сбоя и кибератаки, которая становится все более реальной угрозой для современных сложных систем.1 И самое опасное здесь то, что мы почти никогда не готовимся к таким комбинированным событиям.

Наши подходы к обеспечению отказоустойчивости и безопасности работают в параллельных вселенных. С одной стороны, у нас есть Chaos Engineering — дисциплина, которая учит нас готовиться к отказам инфраструктуры. Мы научились виртуозно «убивать» поды, вносить сетевые задержки и перегружать CPU, чтобы убедиться, что система выстоит.3 С другой стороны, есть Red Teaming — практика эмуляции действий злоумышленников, которая проверяет наши защитные бастионы на прочность с помощью таких фреймворков, как Atomic Red Team

Читать далее

Топ 7 антидетект-браузеров для iOS: анализ и сравнение 2025

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров1.5K

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

Читать далее

Cex в C# (вычисление выражений из строк)

Уровень сложностиПростой
Время на прочтение1 мин
Количество просмотров4.5K

Хочу поделиться небольшим кусочком кода для быстрого вычисления математических выражений из строк, который изначально был написан для моей инди игры. Проект я решил назвать Context EXpressions 🥰

Читать далее

Тотальная деанонимизация: как в мире и в России обсуждают вход в Сеть по паспорту и цифровые ID

Время на прочтение3 мин
Количество просмотров3.6K

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

Читать далее

Мобильная разработка за неделю #608 (20 — 26 октября)

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

В новом выпуске 7 способов найти логи и поймать баг на iOS, разбираем «Telega» по винтикам и делаем эффект глюка, очки на Android XR, что ждёт Kotlin Multiplatform разработчика на собесе, реверс обфускации Amazon Kindle Web, удаление Tea и TeaOnHer из App Store и многое другое. Заходите!

Читать далее

Парсим Ozon. Собираем информацию о ценах, товарах и отзывах

Время на прочтение23 мин
Количество просмотров5.2K

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

В этой статье мы разберём, почему для Ozon нужен браузерный парсинг, как использовать Playwright для успешного парсинга и как обернём решение в Telegram-бота, который по запросу пользователя парсит товары и отправляет CSV-файл.

Читать далее

Оркестрация на BPMN: взгляд изнутри

Время на прочтение3 мин
Количество просмотров4.4K

Современные подходы к разработке программного обеспечения диктуют необходимость быстрого внедрения и изменения бизнес-сценариев прямо в продакшене. Особенно это критично для систем, где логика процессов часто корректируется — например, в финансовых, маркетинговых или рекламных платформах.

Одним из наиболее удобных инструментов для этого сегодня является оркестрация с использованием BPMN-диаграмм, где визуальное моделирование бизнес-процесса превращается в исполняемую логику.

Читать далее