Forwarded from Точка входа в программирование
Почему шифровать по-новому советуют сейчас, хотя квантового компьютера ещё нет
Криптография, которая сегодня защищает ваши ключи, HTTPS и подписи, опирается на задачи, которые обычные компьютеры не решают за разумное время. Достаточно большой квантовый компьютер часть из них решит. Постквантовая криптография это алгоритмы, устойчивые и к тем и к другим.
Возражение напрашивается: такого компьютера пока нет, значит, можно подождать. Мешает атака «собери сейчас, расшифруй потом»: противник записывает ваш шифрованный трафик сегодня и лежит с ним, пока не появится возможность его вскрыть.
Отсюда правило, которое стоит запомнить в начале пути: если данные должны остаться тайной через десять лет, угроза уже настоящая, а не будущая. Разбор объясняет это без математики.
Криптография, которая сегодня защищает ваши ключи, HTTPS и подписи, опирается на задачи, которые обычные компьютеры не решают за разумное время. Достаточно большой квантовый компьютер часть из них решит. Постквантовая криптография это алгоритмы, устойчивые и к тем и к другим.
Возражение напрашивается: такого компьютера пока нет, значит, можно подождать. Мешает атака «собери сейчас, расшифруй потом»: противник записывает ваш шифрованный трафик сегодня и лежит с ним, пока не появится возможность его вскрыть.
Отсюда правило, которое стоит запомнить в начале пути: если данные должны остаться тайной через десять лет, угроза уже настоящая, а не будущая. Разбор объясняет это без математики.
DEV Community
¿Qué es la criptografía post-cuántica y por qué deberías migrar ya?
Explicación clara de la amenaza cuántica, el ataque 'harvest now, decrypt later', los estándares ML-KEM y ML-DSA del NIST, y por qué la migración empieza hoy.
👍12👏3😁3🌚3🔥2😢2🥰1💯1😴1🎃1🗿1
CUDA готова пустить к себе RISC-V, если платформа дорастёт до серверной
Процессор, который раздаёт видеокарте работу в CUDA, может быть только x86-64 или aarch64. На Hot Chips 2026 Nvidia назвала условия, при которых к ним добавится RISC-V.
Требования серверные: профиль RVA23, спецификации RISC-V для серверного SoC и платформы, поддержка ACPI, через которую система узнаёт у железа, что оно умеет, и когерентность PCIe.
Последний пункт объясняет, почему дешёвой платформой не отделаться. Без когерентности процессор записал данные, а они ещё лежат в его кэше; копирование в память видеокарты идёт мимо процессора, прямо из DRAM, и утаскивает устаревшую версию. Спасают только ручные сбросы кэшей на каждой передаче.
Чего Nvidia хочет от векторных расширений, разбирают в Chips and Cheese.
Процессор, который раздаёт видеокарте работу в CUDA, может быть только x86-64 или aarch64. На Hot Chips 2026 Nvidia назвала условия, при которых к ним добавится RISC-V.
Требования серверные: профиль RVA23, спецификации RISC-V для серверного SoC и платформы, поддержка ACPI, через которую система узнаёт у железа, что оно умеет, и когерентность PCIe.
Последний пункт объясняет, почему дешёвой платформой не отделаться. Без когерентности процессор записал данные, а они ещё лежат в его кэше; копирование в память видеокарты идёт мимо процессора, прямо из DRAM, и утаскивает устаревшую версию. Спасают только ручные сбросы кэшей на каждой передаче.
Чего Nvidia хочет от векторных расширений, разбирают в Chips and Cheese.
❤7🎉3👍2⚡1🔥1👏1😁1🤔1🙏1👻1
Сорок символов на входе уронили сеть Cloudflare на 27 минут
2 июля 2019 года процессор ушёл под 100% на каждом пограничном сервере Cloudflare, принимавшем HTTP и HTTPS. Сайты по миру лежали 27 минут из-за одной регулярки.
Схема известная: вложенные квантификаторы на одном классе символов, структурно вроде (a+)+b. Движку с бэктрекингом подсовывают строку, которая почти совпала, и он перебирает все способы разложить её между плюсами: на 20 символах это полмиллиона попыток, а сорока хватает, чтобы забить ядро.
В разборе есть таблица откатов по длине входа.
#безопасность
2 июля 2019 года процессор ушёл под 100% на каждом пограничном сервере Cloudflare, принимавшем HTTP и HTTPS. Сайты по миру лежали 27 минут из-за одной регулярки.
Схема известная: вложенные квантификаторы на одном классе символов, структурно вроде (a+)+b. Движку с бэктрекингом подсовывают строку, которая почти совпала, и он перебирает все способы разложить её между плюсами: на 20 символах это полмиллиона попыток, а сорока хватает, чтобы забить ядро.
В разборе есть таблица откатов по длине входа.
#безопасность
🔥12❤3👍3👏3🤔3🎉2😁1🙏1😴1🤝1
Первую жертву новой дыры в Magento взломали на самой свежей сборке от Adobe
Sansec выпустила предупреждение досрочно: магазины ломают прямо сейчас. Атаки идут с 4 сентября, дыру назвали StyleSmuggler, она даёт выполнение кода на сервере без логина и ставит постоянный бэкдор.
Цепочку воспроизвели на чистых Magento Open Source 2.4.7, 2.4.8 и 2.4.9. Первая жертва работала на 2.4.6-p15 с июльским и августовским патчами: выше для этой линейки Adobe ничего не выпускала. На 6 сентября у Adobe нет ни CVE, ни фикса, ни обходного пути.
Совет Sansec на время: отключить GraphQL. Хостер Disrex, чинивший два взломанных магазина, уточняет, что классическим витринам и Hyvä он не нужен, а headless и PWA без него не работают. Плановый релиз Adobe сегодня, 8 сентября, будет ли там фикс, неизвестно.
Я бы на месте владельца headless-витрины уже читал логи: детали в разборе The Hacker News.
#безопасность
Sansec выпустила предупреждение досрочно: магазины ломают прямо сейчас. Атаки идут с 4 сентября, дыру назвали StyleSmuggler, она даёт выполнение кода на сервере без логина и ставит постоянный бэкдор.
Цепочку воспроизвели на чистых Magento Open Source 2.4.7, 2.4.8 и 2.4.9. Первая жертва работала на 2.4.6-p15 с июльским и августовским патчами: выше для этой линейки Adobe ничего не выпускала. На 6 сентября у Adobe нет ни CVE, ни фикса, ни обходного пути.
Совет Sansec на время: отключить GraphQL. Хостер Disrex, чинивший два взломанных магазина, уточняет, что классическим витринам и Hyvä он не нужен, а headless и PWA без него не работают. Плановый релиз Adobe сегодня, 8 сентября, будет ли там фикс, неизвестно.
Я бы на месте владельца headless-витрины уже читал логи: детали в разборе The Hacker News.
#безопасность
👍5❤3👏3🔥2😁2☃1👌1😍1🎄1🆒1
Треть патча Linux 7.3-rc1 заняли заголовки регистров AMD
Когда пишут «огромный релиз-кандидат ядра», полезно посмотреть, из чего складывается этот объём. В 7.3-rc1 около трети всего диффа занял дамп заголовков AMD DCN6: аппаратные определения нового поколения графики, выгруженные обычными #define, плюс код под это поколение.
Линус сам говорит: замаскируйте этот кусок, и merge window выглядит рядовым, хотя по числу коммитов rc1 один из крупнейших. Судить о вложенной работе по строкам диффа бессмысленно, заметную часть «роста» дают сгенерированные константы под новое железо.
Ценно, что в том же письме он признался в собственном факапе: посреди merge window затеял обновление системы, словил из-за этого проблему и сам себя назвал балбесом. Письмо и список изменений на Phoronix: там же поддержка AMD Zen 6, ускорение Btrfs и Steam Controller 2026.
#новости
Когда пишут «огромный релиз-кандидат ядра», полезно посмотреть, из чего складывается этот объём. В 7.3-rc1 около трети всего диффа занял дамп заголовков AMD DCN6: аппаратные определения нового поколения графики, выгруженные обычными #define, плюс код под это поколение.
Линус сам говорит: замаскируйте этот кусок, и merge window выглядит рядовым, хотя по числу коммитов rc1 один из крупнейших. Судить о вложенной работе по строкам диффа бессмысленно, заметную часть «роста» дают сгенерированные константы под новое железо.
Ценно, что в том же письме он признался в собственном факапе: посреди merge window затеял обновление системы, словил из-за этого проблему и сам себя назвал балбесом. Письмо и список изменений на Phoronix: там же поддержка AMD Zen 6, ускорение Btrfs и Steam Controller 2026.
#новости
Phoronix
Linux 7.3-rc1 With AMD Zen 6 Additions, Better Btrfs Performance & 2026 Steam Controller
Like clockwork, the Linux 7.3 merge window has concluded after two weeks and the Linux 7.3-rc1 kernel now available for testing.
👍5😁4❤3🎉2🤷♂1🤷♀1💔1👨💻1😇1🤝1🗿1
Одна функция «забыл пароль» оставляет вору живую сессию
Сброс обычно пишут одним вызовом: отправить письмо, поменять хеш, вернуть 200. В разборе на dev.to предлагают считать письмо сообщением очереди, а не событием интерфейса, и разложить сброс на три перехода с записью в аудит.
Заявка создаёт запись с коротким сроком жизни: хеш токена, время истечения, статус pending. Подтверждение в одной транзакции сверяет хеш и срок и переводит запись в consumed ровно один раз. И только потом меняется пароль и запускается отзыв старых сессий. Без третьего шага укравший куку переживает смену пароля.
Ответ на заявку одинаковый для существующего и несуществующего адреса, иначе форма работает как проверялка почты.
Дальше в статье развилка: своя машина состояний на Go или managed-провайдер. Мне ценнее оказались сами инварианты: приложите их к своей реализации и увидите, какого перехода не хватает.
Сброс обычно пишут одним вызовом: отправить письмо, поменять хеш, вернуть 200. В разборе на dev.to предлагают считать письмо сообщением очереди, а не событием интерфейса, и разложить сброс на три перехода с записью в аудит.
Заявка создаёт запись с коротким сроком жизни: хеш токена, время истечения, статус pending. Подтверждение в одной транзакции сверяет хеш и срок и переводит запись в consumed ровно один раз. И только потом меняется пароль и запускается отзыв старых сессий. Без третьего шага укравший куку переживает смену пароля.
Ответ на заявку одинаковый для существующего и несуществующего адреса, иначе форма работает как проверялка почты.
Дальше в статье развилка: своя машина состояний на Go или managed-провайдер. Мне ценнее оказались сами инварианты: приложите их к своей реализации и увидите, какого перехода не хватает.
👍11❤10🥰2🙏2🍌2🤓2😁1🎉1👌1😇1🫡1
Интерпретатор Python уместился в 1024 байта кода на C
Остин Хенли пишет такой код по выходным и ставит жёсткие условия: никаких макро-трюков и подключённых библиотек, а на выходе должен работать fizzbuzz с def, двоеточиями и отступами. Стартовый лимит был 512 байт.
Не влезло. Первая версия дожила до x = 1 + 2 * 3 и if x > y: z = 3, лимит кончился, а получился калькулятор. Потолок поднялся до 1024, а порядок работы поменялся: сначала заставить работать, потом ужимать.
Внутри ничего похожего на CPython: ни токенизации, ни синтаксического дерева, ни байткода. Всё состояние держат несколько глобальных переменных: массив на 999 символов под исходник без пробелов и int vars[256] под таблицу имён, где переменные и функции лежат вперемешку.
Разбор с полным кодом.
#python
Остин Хенли пишет такой код по выходным и ставит жёсткие условия: никаких макро-трюков и подключённых библиотек, а на выходе должен работать fizzbuzz с def, двоеточиями и отступами. Стартовый лимит был 512 байт.
Не влезло. Первая версия дожила до x = 1 + 2 * 3 и if x > y: z = 3, лимит кончился, а получился калькулятор. Потолок поднялся до 1024, а порядок работы поменялся: сначала заставить работать, потом ужимать.
Внутри ничего похожего на CPython: ни токенизации, ни синтаксического дерева, ни байткода. Всё состояние держат несколько глобальных переменных: массив на 999 символов под исходник без пробелов и int vars[256] под таблицу имён, где переменные и функции лежат вперемешку.
Разбор с полным кодом.
#python
👍33🤔6🙉5❤3🔥3🥰3👏3💊3😁2👀2🤷♀1
Forwarded from Точка входа в программирование
Карта из 14 шагов: что нужно знать новичку, кроме синтаксиса
Частая ловушка старта — взять популярный язык и пойти по случайным урокам. Синтаксис вроде даётся, но остаётся чувство, что вокруг куча всего, о чём никто не предупредил: терминал, редактор, история изменений кода, устройство интернета.
Роадмап на freeCodeCamp закрывает как раз это: 14 тем, с которыми разработчики имеют дело каждый день — от устройства компьютера и данных до Git, который хранит историю правок в коде. Задача не выучить всё сразу, а узнать, что эти вещи вообще существуют.
Пройдитесь по списку и отметьте пункты, о которых не слышали. Возьмите один и потратьте вечер: посмотрите, что это и зачем нужно. Следующий курс ляжет уже на понятное место.
#основы
Частая ловушка старта — взять популярный язык и пойти по случайным урокам. Синтаксис вроде даётся, но остаётся чувство, что вокруг куча всего, о чём никто не предупредил: терминал, редактор, история изменений кода, устройство интернета.
Роадмап на freeCodeCamp закрывает как раз это: 14 тем, с которыми разработчики имеют дело каждый день — от устройства компьютера и данных до Git, который хранит историю правок в коде. Задача не выучить всё сразу, а узнать, что эти вещи вообще существуют.
Пройдитесь по списку и отметьте пункты, о которых не слышали. Возьмите один и потратьте вечер: посмотрите, что это и зачем нужно. Следующий курс ляжет уже на понятное место.
#основы
😁6❤4😨2☃1🔥1🏆1🍓1🎃1💘1🙉1😘1
This media is not supported in your browser
VIEW IN TELEGRAM
400+ нейросетей в едином интерфейсе
Знакомьтесь, Polza.ai российская платформа, где собраны сотни ИИ-моделей, которые можно использовать через единый API. Есть все топовые модели для работы: GPT, Claude, Gemini, Qwen, DeepSeek и многие другие, а для бизнеса доступны провайдеры с размещением данных на серверах в РФ.
Не нужно держать несколько аккаунтов в разных сервисах, всё собрано в одном месте.
Для разработчиков есть единый API, а для обычных пользователей Нейростудия, где можно работать с текстами, кодом, изображениями, видео, аудио и музыкой. Если появляются вопросы, есть поддержка и коммьюнити. Для бизнес-клиентов доступно сопровождение, помощь с документами и персональный менеджер.
В личном кабинет подробно указано сколько запросов отправлено, какие модели использовались, сколько стоил каждый запрос и как меняются общие расходы. Плюс можно сравнить цены у разных провайдеров одной модели и выбрать наиболее выгодный вариант.
Вся оплата в рублях с единого баланса, есть автопополнение, история платежей, а для команд можно добавить сотрудников, распределить роли и контролировать общий бюджет.
Polza.ai это сервис, который закрывает практически все задачи, связанные с ИИ, без десятков отдельных кабинетов и оплат. Переходите и пробуйте, если давно искали удобный агрегатор нейросетей.
Знакомьтесь, Polza.ai российская платформа, где собраны сотни ИИ-моделей, которые можно использовать через единый API. Есть все топовые модели для работы: GPT, Claude, Gemini, Qwen, DeepSeek и многие другие, а для бизнеса доступны провайдеры с размещением данных на серверах в РФ.
Не нужно держать несколько аккаунтов в разных сервисах, всё собрано в одном месте.
Для разработчиков есть единый API, а для обычных пользователей Нейростудия, где можно работать с текстами, кодом, изображениями, видео, аудио и музыкой. Если появляются вопросы, есть поддержка и коммьюнити. Для бизнес-клиентов доступно сопровождение, помощь с документами и персональный менеджер.
В личном кабинет подробно указано сколько запросов отправлено, какие модели использовались, сколько стоил каждый запрос и как меняются общие расходы. Плюс можно сравнить цены у разных провайдеров одной модели и выбрать наиболее выгодный вариант.
Вся оплата в рублях с единого баланса, есть автопополнение, история платежей, а для команд можно добавить сотрудников, распределить роли и контролировать общий бюджет.
Polza.ai это сервис, который закрывает практически все задачи, связанные с ИИ, без десятков отдельных кабинетов и оплат. Переходите и пробуйте, если давно искали удобный агрегатор нейросетей.
🤨7🔥4👏4🌚4🤣4🤔2😴2🙉2💊2🥰1🗿1
Forwarded from Сохранёнки программиста
Почему Cloudflare пересжимает кэш в zstd, а не хранит байты как есть
Диски и память за год подорожали, а объём кэша упирается в закупленное железо. Cloudflare разбирает прототип Cache Transcoding: ответ на входе в кэш кодируется zstd в прокси Pingora, лежит сжатым на диске, в таком же виде едет между дата-центрами через Tiered Cache и раскодируется перед отдачей клиенту.
Что в разборе:
— почему хранение ответа в кодировке, которую прислал сервер-источник, тратит диск впустую;
— почему zstd, а не Brotli: на прошлых тестах Cloudflare он сжимал на 42% быстрее при том же размере;
— где проходит граница по CPU и почему остановились на третьем уровне zstd.
На первых замерах подходящие ответы ужимались до ⅓ размера на диске. Но это прототип со стажировки: рост нагрузки на процессор пока оценочный.
Сохраните, если считаете стоимость хранилища или выбираете, чем сжимать холодные данные.
Диски и память за год подорожали, а объём кэша упирается в закупленное железо. Cloudflare разбирает прототип Cache Transcoding: ответ на входе в кэш кодируется zstd в прокси Pingora, лежит сжатым на диске, в таком же виде едет между дата-центрами через Tiered Cache и раскодируется перед отдачей клиенту.
Что в разборе:
— почему хранение ответа в кодировке, которую прислал сервер-источник, тратит диск впустую;
— почему zstd, а не Brotli: на прошлых тестах Cloudflare он сжимал на 42% быстрее при том же размере;
— где проходит граница по CPU и почему остановились на третьем уровне zstd.
На первых замерах подходящие ответы ужимались до ⅓ размера на диске. Но это прототип со стажировки: рост нагрузки на процессор пока оценочный.
Сохраните, если считаете стоимость хранилища или выбираете, чем сжимать холодные данные.
❤4👌3👍1🔥1🤔1😱1🙈1