Валидация IBAN: структура, алгоритм mod-97 и форматы по странам
Правильная валидация IBAN: структура (код страны + контрольные цифры + BBAN), пошаговый алгоритм mod-97, длины по странам и UX-рекомендации для платёжных форм.
Статьи, руководства и обновления об инструментах разработчика и продуктивности.
Правильная валидация IBAN: структура (код страны + контрольные цифры + BBAN), пошаговый алгоритм mod-97, длины по странам и UX-рекомендации для платёжных форм.
Правильный разбор URL: компоненты RFC 3986, правила кодирования для каждого компонента, JavaScript URL API, IDN/Punycode и типичные ошибки — двойное кодирование и отсечение фрагментов.
Парсинг строк user-agent в 2026 году: почему UA sniffing ненадёжен, инициатива по сокращению UA, Client Hints (Sec-CH-UA), обнаружение ботов и легитимные библиотеки для парсинга.
Валидация JSON с помощью JSON Schema: различия draft-07 и 2020-12, ключевые слова, $ref и $defs, условная валидация, связь с OpenAPI и инструменты ajv/zod/valibot.
Понимание Base58: выбор алфавита в Bitcoin, контрольные суммы Base58Check, формат CID в IPFS, сравнение размеров с Base64 и когда выбрать Base58 вместо других кодировок.
Основы Hex и ASCII: маппинг байт в шестнадцатеричный формат, чтение вывода hexdump/xxd, отладка сетевых пакетов, hex-вывод криптографических функций и многобайтовые последовательности UTF-8.
Почему 1 ТБ отображается как 931 ГиБ: двоичные префиксы IEC против десятичных SI, биты и байты в пропускной способности сети, вспомогательные функции форматирования и различия платформ (Windows vs macOS).
Освоение подсетей IPv4: нотация CIDR, математика длины префикса, сетевой и широковещательный адреса, VLSM, диапазоны RFC 1918 и шаблоны размеров AWS VPC / Kubernetes / Docker.
Основы IPv6 для кода приложений: 128-битные адреса, сокращение с ::, глобальные и link-local области, подсеть /64, синтаксис URL с квадратными скобками и паттерны двойного стека.
Экранирование строк для каждого контекста: обратный слеш в JSON, HTML-сущности, процентное кодирование URL, кавычки SQL, кавычки в shell, метасимволы regex и ошибки при переключении контекстов.
Манипуляции со строками для разработчиков: стратегии сортировки (локаль, числовая, по версии), дедупликация (регистр, пробелы, Unicode), удаление пустых строк и эквиваленты CLI-команд.
Освойте замену с regex: группы захвата, обратные ссылки ($1, \1), жадные и ленивые квантификаторы, многострочный режим, сохранение регистра и уязвимости ReDoS в JS/Python/sed.
Генерация фиктивных тестовых данных без поломки тестов: зафиксированная случайность, локализованный Faker, компромисс реалистичности и предсказуемости, интеграция с MSW и Playwright.
Letterbox, pillarbox и windowbox: значения CSS object-fit, серверное боксирование с sharp, отступы на canvas и соотношения сторон соцсетей (1:1, 4:5, 9:16, 16:9).
Формат OPML для интероперабельности RSS-ридеров: структура, извлечение с XPath/DOMParser, совместимость с Feedly/Inoreader/NetNewsWire и программное обнаружение URL лент.
Надёжное сравнение файлов .docx: docx — это ZIP с XML, побайтовое против структурного против семантического сравнения, ограничения встроенного Compare в Word и diff через конвертацию в Markdown с pandoc.
Римские цифры: символы I/V/X/L/C/D/M, аддитивные и вычитательные правила, потолок 3999, расшифровка MCMLXXXIV и рабочие конвертеры на JS/Python.
Почему «Password1!» ненадёжен: математика энтропии, скорость взлома на современном железе, оценка zxcvbn, рекомендации NIST 2024 против принудительной сложности и проверка через Have I Been Pwned.
Коды статусов HTTP для REST API: все пять классов, 422 против 400 для валидации, 401 против 403, коды безопасные для повтора (408, 429, 503) и распространённые антипаттерны.
Правильная установка Content-Type: анатомия MIME, основные типы, параметры charset, вендорные типы (application/vnd.*), риски MIME sniffing и X-Content-Type-Options: nosniff.