Добро пожаловать в седьмую часть цикла статей о TypeScript! В этой части мы сосредоточимся на типизации функций и сигнатур, обеспечивающих функциональность и безопасность типов вашего кода.
https://www.dev-notes.ru/articles/typescript/typescript-basics-typing-functions-and-signatures/
https://www.dev-notes.ru/articles/typescript/typescript-basics-typing-functions-and-signatures/
Заметки разработчика
Основы TypeScript: Типизация функций и сигнатур
В этой части мы сосредоточимся на типизации функций и сигнатур, обеспечивающих функциональность и безопасность типов вашего кода."
👍2
Я работаю с Eloquent уже более пяти лет, и пришло время поделиться своим очередным багажом трюков. Вы гарантированно узнаете что-то новое!
В прошлой статье мы рассмотрели широкий спектр "неортодоксальных" вариантов, которые можно использовать в сочетании с моделями Eloquent. Однако та статья была лишь верхушкой айсберга. В этой статье я хотел бы рассказать о нескольких других рекомендациях и трюках, которые могут быть немного более эзотерическими, но, тем не менее, все ещё удобными, чем те, что были представлены в первой статье. Например, вы когда-нибудь задумывались об использовании фабрик моделей вне сидеров или тестов? Нет? Тогда я уверен, что вы ещё узнаете что-то новое, так что обязательно дочитайте до конца!
https://www.dev-notes.ru/articles/eloquent/unorthodox-eloquent-2/
В прошлой статье мы рассмотрели широкий спектр "неортодоксальных" вариантов, которые можно использовать в сочетании с моделями Eloquent. Однако та статья была лишь верхушкой айсберга. В этой статье я хотел бы рассказать о нескольких других рекомендациях и трюках, которые могут быть немного более эзотерическими, но, тем не менее, все ещё удобными, чем те, что были представлены в первой статье. Например, вы когда-нибудь задумывались об использовании фабрик моделей вне сидеров или тестов? Нет? Тогда я уверен, что вы ещё узнаете что-то новое, так что обязательно дочитайте до конца!
https://www.dev-notes.ru/articles/eloquent/unorthodox-eloquent-2/
Заметки разработчика
Неортодоксальный Eloquent II
Я работаю с Eloquent уже более пяти лет, и пришло время поделиться своим очередным багажом трюков. Вы гарантированно узнаете что-то новое!
👍1
Добро пожаловать в восьмую часть нашей серии статей о TypeScript! В этой части мы познакомимся с динамичным ландшафтом типов TypeScript, изучим типы
https://www.dev-notes.ru/articles/typescript/typescript-basics-any-void-never-null-strict-null-checks/
any, void, never, null и значение строгой проверки null.https://www.dev-notes.ru/articles/typescript/typescript-basics-any-void-never-null-strict-null-checks/
Заметки разработчика
Основы TypeScript: Any, Void, Never, Null, Строгие проверки Null
В этой статье мы познакомимся с динамичным ландшафтом типов TypeScript, изучим типы any, void, never, null и значение строгой проверки null.
Обработка исключений — важнейший аспект разработки веб-приложений, гарантирующий, что ваше приложение сможет изящно справиться с неожиданными ошибками и предоставить пользователям содержательные ответы. Laravel поставляется с надёжной системой обработки исключений, которая позволит вам эффективно справляться с ошибками. В этой статье мы рассмотрим основы обработки исключений в Laravel, а также ключевые концепции.
https://www.dev-notes.ru/articles/laravel/understanding-exception-handling-in-laravel/
https://www.dev-notes.ru/articles/laravel/understanding-exception-handling-in-laravel/
Заметки разработчика
Понимание обработки исключений в Laravel
Laravel поставляется с надёжной системой обработки исключений. В этой статье мы рассмотрим основы обработки исключений в Laravel, а также ключевые концепции.
Расширение Sodium в PHP 8.4 теперь поддерживает шифры аутентифицированного шифрования AEGIS-128L и AEGIS256. Они значительно быстрее, чем AES-GCM и CHACHA20-POLY1305. В этой статье мы сравним их и объясним, как безопасно шифровать и расшифровывать данные с помощью AEGIS-128L и AEGIS256 на PHP.
https://www.dev-notes.ru/articles/php/php-aegis-encryption/
https://www.dev-notes.ru/articles/php/php-aegis-encryption/
Заметки разработчика
Шифрование AEGIS с расширением PHP Sodium
Расширение Sodium в PHP 8.4 теперь поддерживает шифры аутентифицированного шифрования AEGIS-128L и AEGIS256.
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