AEGIS — это семейство алгоритмов аутентифицированного шифрования на основе AES, которое быстрее, чем AES-GCM. Расширение Sodium в PHP 8.4 поддерживает алгоритмы шифрования AEGIS-128L и AEGIS256, если расширение Sodium скомпилировано с libsodium 1.0.19 или более поздней версии.
https://www.dev-notes.ru/articles/php/php-8-4-sodium-aegis-encryption-support/
https://www.dev-notes.ru/articles/php/php-8-4-sodium-aegis-encryption-support/
Заметки разработчика
PHP 8.4: Sodium: Поддержка AEGIS-128L и AEGIS256
PHP 8.4 Sodium поддерживает алгоритмы шифрования AEGIS-128L и AEGIS256, если расширение Sodium скомпилировано с libsodium 1.0.19 или более поздней версии.
Добро пожаловать в девятую часть нашей серии статей о TypeScript! В этой части мы углубимся в практику объектно-ориентированного программирования (ООП), уделив особое внимание классам и наследованию.
https://www.dev-notes.ru/articles/typescript/typescript-basics-oop-practices-classes-and-inheritance/
https://www.dev-notes.ru/articles/typescript/typescript-basics-oop-practices-classes-and-inheritance/
Заметки разработчика
Основы TypeScript: ООП практика, классы и наследование
В этой статье мы углубимся в практику объектно-ориентированного программирования (ООП), уделив особое внимание классам и наследованию.
Многие разработчики предпочитают использовать TypeScript из-за его функций проверки типов. Однако это требует дополнительного шага транспонирования, который может быть хлопотным и отнимающим время. В этой статье мы расскажем, как использовать JSDoc, чтобы получить все те же элементы контроля, но писать на обычном JavaScript, что позволяет сократить время разработки и улучшить документацию!
https://www.dev-notes.ru/articles/javascript/jsdoc-a-solid-alternative-to-typescript/
https://www.dev-notes.ru/articles/javascript/jsdoc-a-solid-alternative-to-typescript/
Заметки разработчика
JSDoc: Надёжная альтернатива TypeScript
Мы расскажем, как использовать JSDoc, чтобы получить те же элементы контроля, что и с TypeScript, но в обычном JavaScript!
Добро пожаловать в десятую и заключительную часть нашей серии статей о TypeScript! В этой части мы исследуем тонкости работы с сеттерами/геттерами, protected, private/public и static.
https://www.dev-notes.ru/articles/typescript/typescript-basics-set-get-protected-private-public-static-members/
https://www.dev-notes.ru/articles/typescript/typescript-basics-set-get-protected-private-public-static-members/
Заметки разработчика
Основы TypeScript: Сетеры/Гетеры, protected, private/public/static
В этой части мы исследуем тонкости работы с сеттерами/геттерами, protected, private/public и static.
SSH3 — это полный пересмотр протокола SSH, накладывающий его семантику на механизмы HTTP. В двух словах, SSH3 использует QUIC+TLS1.3 для создания безопасного канала и механизмы HTTP Authorization для аутентификации пользователей.
https://www.dev-notes.ru/articles/devops/ssh3-faster-and-rich-secure-shell-using-http3/
https://www.dev-notes.ru/articles/devops/ssh3-faster-and-rich-secure-shell-using-http3/
Заметки разработчика
SSH3: более быстрый и безопасный шелл с использованием HTTP/3
SSH3 — это полный пересмотр протокола SSH, накладывающий его семантику на механизмы HTTP.
В мире программирования поддержание чистоты и надёжности кода имеет большое значение. Паттерн Value Objects способен значительно улучшить качество вашего кода, сделав его более надёжным и удобным для сопровождения.
https://www.dev-notes.ru/articles/php/value-objects-in-php-8-building-a-better-code/
https://www.dev-notes.ru/articles/php/value-objects-in-php-8-building-a-better-code/
Заметки разработчика
Value Objects в PHP 8: Создание лучшего кода
Паттерн Value Objects способен значительно улучшить качество вашего кода, сделав его более надёжным и удобным для сопровождения.
👍3
В предыдущей статье мы рассмотрели возможности Value Objects в повышении качества кода, надёжности системы и минимизации необходимости обширной валидации. Теперь давайте погрузимся глубже, чтобы улучшить понимание и использование этого важнейшего инструмента.
https://www.dev-notes.ru/articles/php/advanced-value-objects-in-php-8/
https://www.dev-notes.ru/articles/php/advanced-value-objects-in-php-8/
Заметки разработчика
Продвинутые Value Objects в PHP 8
Погрузимся глубже в Value Objects, чтобы улучшить понимание и использование этого важнейшего инструмента.
👍2
Вы наверняка слышали, что полагаться на то, что ключи массива сохраняют определённый порядок, опасно. В спецификации JSON эти пары ключ/значение даже определяются как "неупорядоченные". Но, возможно, на практике вы никогда не сталкивались с ситуацией, когда порядок изменялся по сравнению с тем, что вы ожидали.
https://www.dev-notes.ru/articles/eloquent/dont-rely-on-key-ordering-of-mysql-json-values/
https://www.dev-notes.ru/articles/eloquent/dont-rely-on-key-ordering-of-mysql-json-values/
Заметки разработчика
Не полагайтесь на порядок ключей в значениях MySQL JSON
Вы наверняка слышали, что полагаться на то, что ключи массива сохраняют определённый порядок, опасно. Такое поведение застало меня врасплох.
👍1
Знаете ли вы разницу между
https://www.dev-notes.ru/articles/laravel/security-tip-escape-output-with-e/
e(), htmlspecialchars() и htmlentities()? Можно ли просто использовать e() для всего?https://www.dev-notes.ru/articles/laravel/security-tip-escape-output-with-e/
Заметки разработчика
Совет по безопасности: Экранирование с e(), htmlspecialchars() и htmlentities()
Знаете ли вы разницу между e(), htmlspecialchars() и htmlentities()? Можно ли просто использовать e() для всего?
👍1
Не раз и не два мы сталкивались с печально известным исключением 'Token Mismatch' в Laravel. Но, бедняга просто заботится о вас, пытаясь защитить от зла 😈, давайте посмотрим...
https://www.dev-notes.ru/articles/laravel/laravel-core-csrf/
https://www.dev-notes.ru/articles/laravel/laravel-core-csrf/
Заметки разработчика
Laravel под капотом: CSRF
Каждый сталкивался с печально известным исключением 'Token Mismatch' в Laravel. Но, бедняга просто заботится о вас, пытаясь защитить от зла, давайте посмотрим.
👍2
Обеспечение постоянства и надёжности API сродни удержанию корабля на плаву во время шторма. По мере того как ваше приложение растёт и изменяется, возникает необходимость управлять различными версиями API. Laravel, популярный PHP-фреймворк, предлагает множество инструментов, помогающих ориентироваться в этих неспокойных водах. Но при таком количестве маршрутов как убедиться, что вы идёте по правильному пути? На помощь приходит версионирование API.
https://www.dev-notes.ru/articles/laravel/api-versioning-in-laravel-the-complete-guide-to-doing-it-right/
https://www.dev-notes.ru/articles/laravel/api-versioning-in-laravel-the-complete-guide-to-doing-it-right/
Заметки разработчика
Версионирование API в Laravel: Как сделать это правильно
Вы можете легко ориентироваться в версиях API Laravel с помощью Версионирования URI, обеспечивая стабильную и надёжную интеграцию по мере развития приложения.
🔥2
Подделка межсайтовых запросов (CSRF) - одна из традиционных уязвимостей, с которыми приходится сталкиваться веб-приложениям. Все веб-фреймворки, включая Symfony, поддерживают защиту от CSRF из коробки. Менее известной уязвимостью является Login CSRF, особый вид CSRF-атаки.
https://www.dev-notes.ru/articles/symfony/combatting-login-csrf-with-symfony/
https://www.dev-notes.ru/articles/symfony/combatting-login-csrf-with-symfony/
Заметки разработчика
Противодействие Login CSRF в Symfony
Все веб-фреймворки, включая Symfony, поддерживают защиту от CSRF из коробки. Менее известной уязвимостью является Login CSRF, особый вид CSRF-атаки.
👍2
Как осуществить плавную миграцию от массива к объекту в PHP: используя динамический синтаксис PHP, общий для массивов и объектов
https://www.dev-notes.ru/articles/php/smooth-migration-from-array-to-object/
https://www.dev-notes.ru/articles/php/smooth-migration-from-array-to-object/
Заметки разработчика
Плавная миграция от массива к объекту
Как осуществить плавную миграцию от массива к объекту в PHP: используя динамический синтаксис PHP, общий для массивов и объектов
👍2
Я работал с Laravel и Docker с 2016 по 2022 год. В течение всех этих лет у меня была небольшая проблема, связанная с переменными среды.
https://www.dev-notes.ru/articles/laravel/laravel-without-dotenv-files/
https://www.dev-notes.ru/articles/laravel/laravel-without-dotenv-files/
Заметки разработчика
Laravel без .env файлов
Другой подход к работе с конфигурациями и переменными среды
👍2
Состояние фокуса пользователя совершенно не учитывается веб-разработчиками. Представьте себе навигацию по сайту без чёткого указания того, где вы находитесь и с чем взаимодействуете; это сбивает с толку. Именно здесь на помощь приходят CSS-псевдоклассы, такие, как :focus, :focus-within и :focus-visible. Цель этой статьи — пролить свет на важность состояния фокуса в веб-разработке.
https://www.dev-notes.ru/articles/css/a-guide-to-focus-focus-within-and-focus-visible/
https://www.dev-notes.ru/articles/css/a-guide-to-focus-focus-within-and-focus-visible/
Заметки разработчика
Основные псевдоклассы фокуса :focus, :focus-within, и :focus-visible
Как использовать наиболее важные CSS псевдоклассы фокуса: :focus, :focus-within, и :focus-visible
👍4
JavaScript — универсальный язык программирования, позволяющий разработчикам создавать динамичные и интерактивные веб-приложения. Хотя основная функциональность языка заключается в манипулировании веб-контентом с помощью объектной модели документа (DOM), JavaScript также предоставляет объектную модель браузера (BOM) для взаимодействия со средой браузера.
https://www.dev-notes.ru/articles/javascript/understanding-bom-in-javascript/
https://www.dev-notes.ru/articles/javascript/understanding-bom-in-javascript/
Заметки разработчика
Понимание BOM в JavaScript: Быстрое объяснение с примерами
Помимо манипулирования веб-контентом с помощью DOM, JavaScript предоставляет объектную модель браузера (BOM) для взаимодействия со средой браузера.
✍1
Laravel предлагает элегантную возможность вызова методов под названием Facades. На первый взгляд, они напоминают статические методы, но это не так! Что за волшебство творит Laravel?
https://www.dev-notes.ru/articles/laravel/laravel-core-facades/
https://www.dev-notes.ru/articles/laravel/laravel-core-facades/
Заметки разработчика
Laravel под капотом: Facades
Laravel предлагает элегантную возможность вызова методов под названием Facades. На первый взгляд, они напоминают статические методы, но это не так!
👍3
В этой статье мы рассмотрим использование CSS свойства gap, позволяющее очень просто добавлять пространство между элементами и решающее ряд проблем с вёрсткой, беспокоивших разработчиков на протяжении многих лет.
https://www.dev-notes.ru/articles/css/gap-property/
https://www.dev-notes.ru/articles/css/gap-property/
Заметки разработчика
Как использовать CSS свойство gap
В этой статье мы рассмотрим использование CSS свойства gap, позволяющее добавлять отступы между элементами и решающее ряд проблем с версткой.
👍1
Обновлена статья "Как создать favicon/фавикон в 2024 году"
Отдавайте предпочтение SVG, а не PNG, доверяйте браузерам в вопросах уменьшения масштаба, отказывайтесь от непонятных форматов — это полное, исчерпывающее руководство по favicon/фавикон для современного веба. Включает шаги для статического HTML и Webpack.
https://www.dev-notes.ru/articles/frontend/how-to-favicon-six-files-that-fit-most-needs/
Отдавайте предпочтение SVG, а не PNG, доверяйте браузерам в вопросах уменьшения масштаба, отказывайтесь от непонятных форматов — это полное, исчерпывающее руководство по favicon/фавикон для современного веба. Включает шаги для статического HTML и Webpack.
https://www.dev-notes.ru/articles/frontend/how-to-favicon-six-files-that-fit-most-needs/
Заметки разработчика
Как создать favicon: SVG, PNG и ICO для всех устройств
Как создать favicon для сайта в 2025 году: SVG, PNG, иконка для Apple, Android и PWA. Полное руководство с примерами, кодом и пошаговыми инструкциями.
👍1
Tailwind CSS - мой любимый CSS-фреймворк, которым я пользуюсь с 2018 года. Позвольте мне поделиться своими знаниями и соображениями, полученными благодаря многолетнему опыту.
https://www.dev-notes.ru/articles/frontend/tailwind-css-best-practices/
https://www.dev-notes.ru/articles/frontend/tailwind-css-best-practices/
Заметки разработчика
6 лучших практик, советов и приёмов Tailwind CSS на 2024 год
Я использую Tailwind CSS с 2018 года. Позвольте мне поделиться своими знаниями и соображениями, полученными благодаря многолетнему опыту.
✍2