Полное руководство по форматированию JSON: красиво, минимально, валидно
Всё о форматировании JSON: pretty-print против минификации, отступы, комментарии JSON5 и JSONC, типичные ошибки валидации, сортировка ключей и примеры на JavaScript и Python.
Статьи, руководства и обновления об инструментах разработчика и продуктивности.
Всё о форматировании JSON: pretty-print против минификации, отступы, комментарии JSON5 и JSONC, типичные ошибки валидации, сортировка ключей и примеры на JavaScript и Python.
Как работают diff-инструменты: алгоритм Майерса, unified vs side-by-side, посимвольное и пословное сравнение, сравнение YAML, практические кейсы для конфигов, ревью кода и отладки.
Как правильно изменять размер изображений: пиксели и проценты, блокировка соотношения сторон, DPI и PPI для печати и экрана, почему увеличение ухудшает качество. Практическое руководство.
Как работают QR-коды: типы данных, уровни коррекции ошибок (L/M/Q/H), выбор формата PNG или SVG, применение — URL, vCard, WiFi, 2FA. Практическое руководство для разработчиков.
20 рецептов git, которые решают 95% реальных проблем. Reset против revert, merge против rebase, восстановление через reflog, безопасный force-push, bisect, интерактивный rebase и полезные алиасы.
Что делает пароль надёжным: математика энтропии, рекомендации NIST 2024, парольные фразы против случайных строк, криптографически стойкие генераторы для Node/Python/браузера и почему Math.random не подходит.
Выбор правильного формата изображения: сравнение PNG, JPEG, WebP и AVIF, потери при сжатии, прозрачность, таблица совместимости с браузерами и рабочие процессы конвертации с sharp и squoosh.
Освойте сжатие изображений: механика сжатия с потерями и без, внутреннее устройство JPEG/PNG/WebP/AVIF, пороги качества, целевые размеры файлов по типу использования и влияние на LCP.
Выбор правильной цветовой модели: RGB и hex, HSL, HSV против HSL, OKLCH для перцептивно равномерного дизайна, цветовые пространства sRGB и P3, CSS-переменные и дизайн-токены.
Сравнение версий UUID: почему v7 лучше v4 для индексов баз данных, сравнение с ULID, математика вероятности коллизий, изменения RFC 9562 и примеры кода для Node/Python/Postgres/Rust.
Единообразное форматирование SQL: регистр ключевых слов, оформление CTE, форматирование JOIN, различия диалектов MySQL/PostgreSQL/SQLite, sqlfluff в CI и pre-commit хуки.
Правильная конвертация Markdown в HTML: различия CommonMark, GFM и MDX, санитизация HTML против XSS, экосистема парсеров (markdown-it, remark) и конвейеры рендеринга email.
Конвертация HTML в JSX: переименование атрибутов (className, htmlFor), объекты стилей, самозакрывающиеся теги, обработчики событий, конвертация SVG и когда использовать dangerouslySetInnerHTML.
Перевод curl-команд в код: анатомия флагов, маппинг на JS fetch / Python requests / axios / Go, работа с куками, паттерны аутентификации и multipart-загрузки с рабочими примерами.
Генерация TypeScript из JSON: как Quicktype выводит типы, nullable против optional-полей, рекурсивные типы, генерация для Go/Python/Rust и добавление валидации в рантайме с Zod.
Верификация подписей вебхуков с HMAC: форматы Stripe-Signature и X-Hub-Signature-256, защита от тайминг-атак, защита от повторных запросов с временными метками и стратегии ротации ключей.
Как работают TOTP-аутентификаторы: RFC 6238 и RFC 4226, усечение HMAC-SHA1, 30-секундные окна, секреты Base32, формат otpauth URI и лучшие практики резервных кодов.
Правильная генерация и хранение RSA-ключей: размеры 2048 против 4096 бит, форматы PEM/DER/JWK, PKCS#1 против PKCS#8, RSA против ECDSA против Ed25519 и рабочий процесс с SSH-ключами.
Хеширование паролей с bcrypt: почему SHA-256 неподходит для паролей, математика cost-фактора, встроенное соление, усечение до 72 байт, bcrypt против Argon2 против scrypt и повышение cost со временем.
Сравнение YAML и TOML: философии синтаксиса, многострочные строки, массивы таблиц, неявные типы (проблема Норвегии NO) и когда каждый формат выигрывает.