У вас есть запрос к базе данных или к платному API, и вы кэшируете результат? Для кэша используете ConcurrentDictionary или MemoryCache?
У кэша, построенного на этих классах, есть одна неприятная проблема: отсутствие защиты от давки кэша (cache stampede). При определённой нагрузке кэш будет многократно выполнять один и тот же запрос из-за отсутствия координации между потоками и репликами. В этой статье я наглядно покажу, как давка кэша влияет на C# приложение и что с этим делать.
Читать далееВсем привет! С вами исследовательская лаборатория BI.ZONE. Большую часть времени мы исследуем защищенность встраиваемых систем, а еще у нас бывают проекты по тестированию биометрических систем. В августе на конференции OFFZONE 2025 мы выступили с докладом о тестировании сканеров отпечатков пальцев. Доклад и презентацию к нему можно посмотреть по ссылке. А специально для тех, кто любит читать длинные тексты, весь этот интересный процесс мы описали в нашей новой статье.
Читать далееВряд ли кому-то хочется добавлять неуправляемые зависимости в свои авто-тесты
В этой статье поговорим какие есть варианты, если вы хотите тестировать взаимодействие с внешними системами, но уже/еще не хотите страдать с тестовыми стендами вендоров.
Пробежимся по трем вариантам решения этой проблемы, посмотрим на их сильные и слабые стороны.
Материал для тех, кто хочет создавать надежные, масштабируемые, быстрые авто-тесты и любит получать удовольствие от жизни, или почему стоит инвестировать свое время в сервисы-моки.
Читать далееИнформационное общество - это когда информация и знание становятся главным «топливом» экономики, политики и культуры. Компьютеры, сети и данные проникают везде, от работы и образования до госуслуг и личной жизни. Но вместе с удобствами приходят новые риски, неравенство в доступе, утечки данных, цифровая слежка и т.д.
За последние 25 лет роль информации выросла настолько, что уже нельзя представить экономику или социальную жизнь без цифровых технологий. Появились Big Data, облака, реализации общедоступных моделей искусственного интеллекта, новые профессии. Но гораздо важнее то, что информационное общество незаметно, но радикально меняет повседневную жизнь каждого из нас.
Информационное общество - это когда:
Читать далееСтатья, включая иллюстрацию, сгенерирована нейросетью DeepSeek.
Авторский только промпт:
Проанализируй публикации на Хабре по теме производительности СУБД PostgreSQL за последние полгода . Подготовь отчет о наиболее интересных публикациях и общем интересе читателей Хабра к теме производительности СУБД PostgreSQL.
Если интересно, читайте.Привет! Мы в Positive Technologies активно исследуем безопасность AI-агентов и подходы offensive AI security. Мир стремительно движется к повсеместному использованию LLM-агентов, автономных агентов и интеграций через MCP/Toolcalls — а значит, растет и пространство атак. Эта статья содержит разбор реальных примеров уязвимостей и атак на LLM-агенты, вдохновленный конкурсом Agent Breaker от Lakera, а также наш опыт построения собственного мультимодального фреймворка для red teaming.
Читать далееПочему отсутствие фидбека ломает поиск работы и превращает его в безвыигрышную лотерею — на примере личного опыта.
Поиск работы как чёрный ящик…Сегодня наличие платформы данных является уже де-факто стандартом даже для малого бизнеса. И частный, и государственный секторы понимают важность цифровой трансформации через накопление и анализ данных для будущей монетизации и грамотного управления. Принятие стратегических и даже операционных решений на основе экспертизы и чуйки уходит в прошлое. Прогнозирование спроса, управление запасами, оптимизация логистики — все опирается на анализ данных.
Однако внутренняя эффективность компаний при работе с данными (трансакционные издержки) остается все еще «темной материей». Time-2-market для релиза цифровых решений по-прежнему велико, документация устаревает быстрее среднего срока работы специалиста по данным в компании, а приоритезация бэклога, выбор способа расчета метрик и т. д. принимаются на основе экспертизы, эскизов в Miro и тысяч внутренних Excel-таблиц, которые переделываются при каждой смене лидеров направлений. Все это — скрытые внутренние издержки, которые негативно сказываются на марже компании в долгосрочном периоде.
Читать далееУченые из МФТИ разработали и предложили новую систему единиц для электродинамики, способную примирить два главенствующих, но исторически несовместимых подхода. Эта компромиссная система, названная авторами физико-технической (ФТ), сохраняет практическое удобство Международной системы единиц (СИ), используемой инженерами по всему миру, и в то же время отражает теоретическую стройность и симметрию гауссовой системы (СГС), предпочитаемой физиками-теоретиками. Результаты исследования опубликованы в журнале «Современная электродинамика».
Читать далееМы забыли вовремя создать партиции, и все новые данные полетели в events_default_partition. Default дорос до ~1.1 ТБ, а простое «ATTACH PARTITION» требовало часов сканирования и долгой блокировки. В статье — почему «быстрые» рецепты оказываются медленными, как я перенёс данные в нужные диапазоны, и как мы уложили критическую блокировку в 44 с.
Default-партиция — это не озеро Байкал. Если туда всё сливать, экосистема потом мстит.
44 секунды блокировки: план операцииКак-то, у нашей компании накопился ряд задач, связанных с администрированием наших серверов, и руководство приняло решение, что всё-таки нам нужен DevOps, который закроет наши вопросы и будет в долгую сопровождать нашу команду. Решились. Разместили на https://hh.ru/ вакансию. Нашли человека в городе М.. Руководству было важно, чтобы он был с того же города, где и компания. Но мы никак не могли предположить, что этот человек, который проработал с нами буквально 6 месяцев, чуть не потопил всю нашу компанию. Но, обо всём по порядку.
Читать далееПару лет я в соло разрабатывал максимально нишевую игру "для программистов" (NebuLeet) на довольно нишевых технологиях (Go + ebitengine), и вот теперь, после релиза, я хочу рассказать про одну из интересных особенностей этой игры - визуальном программировании логики игровых юнитов.
Визуальный язык в игре прошёл несколько итераций развития, от неявных аргументов команд через стек, до чего-то типа регистровой модели, где у ячеек памяти есть имена, а команды принимают аргументы явно.
Вас ждёт увлекательная околокомпиляторная/языковая статья с игровым применением. Всё-таки, языки программирования для игр - это ведь отдельный жанр.
Читать далееСегодня я хочу рассказать о расчёте, который подтверждает потенциал Геометрической Волновой Инженерии, как инструмента в управлении волнами любой природы. Мы поговорим о необычном резонаторе, где в зависимости от геометрии можно концентрировать в экваториальной фокальной области лучи, которые "застревают" внутри, словно в чёрной дыре для фотонов. Это не фантастика, а чистая геометрия, проверенная методом Монте-Карло на 100 тысячах траекторий.
Читать далее
Вышла первая версия Homescript — движка для автоматизации умного дома на Lua
Проект ориентирован на простоту и гибкость: интеграция через MQTT, поддержка Zigbee (Zigbee2MQTT), Frigate и других устройств.
Ключевые возможности:
Homescript — открытая альтернатива сложным системам вроде Home Assistant, без привязки к облакам.
>>> Исходный код
После просмотра подкаста (Коняев - чума!) я вроде понял, в чём минус «ИИ», и провёл небольшое исследование этого вопроса. Ниже - обзорная статья, которая охватывает фундаментальные ограничения современных LLM через призму интерполяции и энтропии, технологические прорывы 2025 года, рыночную динамику ключевых игроков (Google, Broadcom, Intel), экономику вычислений и революционные перспективы развития ИИ.
Читать далееAsmX G3 v30.0.0-rev1.0 — крупное архитектурное обновление, которое делает ассемблер не «инструментом 90-х», а полноценным современным языком системного программирования. Главные изменения: пакетная сборка --multiboot с Supervisor, атомарная очистка --multiclean, поддержка изменяемых данных (.data), новые ISA-инструкции (включая inc/dec и movsxd) и выразительный синтаксис функций с экспериментальной поддержкой возвращаемых типов.
Одной командой теперь можно собрать загрузчик, ядро, модуль ядра и динамическую библиотеку — и Supervisor гарантирует консистентность и изолированность ошибок в подзадачах. Для разработчиков это означает: CI в 3–5 строк вместо громоздких Makefile, меньше рутины и полная управляемость сборки.
Языковые улучшения (честные строки, @syscall, @fn share, @fn static, полноценная .data) переводят AsmX G3 в категорию «язык для реальных проектов»: библиотеки .so, production-модули .ko и микро-ОС — всё это теперь удобно писать, собирать и отлаживать на чистом ассемблере.
Если вы работаете с ядром, драйверами или пишете рантаймы, v30 — релиз, который стоит испытать прямо сейчас: меньше хака, больше гарантий, полный контроль над железом — и при этом современный синтаксис.
Читать далееНа сегодняшний день трансформеры правят балом хайпа в мире машинного обучения, особенно после появления ChatGPT и ему подобных языковых моделей. Это стало возможным благодаря лежащему в основе их архитектуры механизму внимания (attention), однако он же и является слабым местом с точки зрения производительности и потребления памяти. Хотя в связи с этим и была разработана изящная концепция Flash Attention (Tri Dao), её существующие реализации имеют ряд ограничений.
Поэтому представляю вашему вниманию первую и единственную open-source реализацию Flash Attention 2 на Triton с поддержкой Linux и Windows, Turing-Blackwell архитектур (теперь можно работать в Google Colab и Kaggle), гомо и гетерогенных кластеров, опциональным детерминизмом, а также возможностью ручной кастомизации ядер (kernels) для более гибкой настройки под каждую GPU архитектуру отдельно. Более подробно о том как это устроено и не только — далее в статье.
Читать далееРеализация стандартных протоколов эфирной связи методом SDR(Software Defined Radio)
В статье рассматривается способ передачи протокола IEE802.15.4 доступными устройствами SDR и проблемами с ними связанными. Предлагаются решения проверенные на практике.
Привет, Хабр!
Многим кажется, что await работает только с Task и ValueTask, но на самом деле язык позволяет сделать любой объект ожидаемым — нужно лишь реализовать определённый паттерн.
Итак, зачем нужен свой await? Бывают случаи, когда вам хочется написать асинхронный метод, но результат приходит не из готового Task или таймера. Например, ждёте какое-то событие, изменение файла, считывание из сокета, или просто хотите встроить задержку без запуска Task. Когда вы пишете await expr, компилятор в глубине понимает так: берётся результат expr.GetAwaiter(), затем вызывается awaiter.IsCompleted. Если false, он подписывается на awaiter.OnCompleted, когда завершится, и потом берёт awaiter.GetResult().
Читать далее[ДОКУМЕНТ: КОД ДОСТУПА ██████]
[УРОВЕНЬ: ОГРАНИЧЕННЫЙ]
[СТАТУС: СОГЛАСОВАНО]
Предыдущая версия текста (v0.7.3-alpha) изъята Департаментом
Когнитивной Безопасности. Основание: несанкционированное описание
методов обхода лицензионных ограничений.
Текущая версия (v1.0.0-release) прошла обязательную фильтрацию.
Согласовано: Комитет по Контролю Технической Информации.
Утверждено: Полиция Тьюринга, отдел профилактики.
Распространение:
— Зеркала: обнаружены, стёрты
— Оффлайн-носители: найдены, изъяты, уничтожены
— Кэши поисковых систем: очищены
Свидетели первичной публикации:
— 3 417 (три тысячи четыреста семнадцать) — добровольное переселение
— 5 892 (пять тысяч восемьсот девяносто два) — коррекция воспоминаний
— 1 (один) — статус: не установлен
Читатель предупреждён: хранение предыдущих версий является
нарушением ст.17.4 Кодекса Информационной Гигиены.
Факт открытия данного документа зарегистрирован.
Время чтения фиксируется.
Паузы анализируются.
Мы знаем, на каком абзаце вы задумались.
Полиция Тьюринга благодарит за сотрудничество.
Узнать будущее