Заметки разработчика
472 subscribers
669 photos
4 videos
1.17K links
Заметки о Frontend, Backend и немного DevOps. В основном о #PHP, #Laravel, #JavaScript, #HTML, #CSS, тестировании и настройке серверов.

https://www.dev-notes.ru

@snakenf
Download Telegram
Добро пожаловать в седьмую часть цикла статей о TypeScript! В этой части мы сосредоточимся на типизации функций и сигнатур, обеспечивающих функциональность и безопасность типов вашего кода.

https://www.dev-notes.ru/articles/typescript/typescript-basics-typing-functions-and-signatures/
👍2
Я работаю с Eloquent уже более пяти лет, и пришло время поделиться своим очередным багажом трюков. Вы гарантированно узнаете что-то новое!

В прошлой статье мы рассмотрели широкий спектр "неортодоксальных" вариантов, которые можно использовать в сочетании с моделями Eloquent. Однако та статья была лишь верхушкой айсберга. В этой статье я хотел бы рассказать о нескольких других рекомендациях и трюках, которые могут быть немного более эзотерическими, но, тем не менее, все ещё удобными, чем те, что были представлены в первой статье. Например, вы когда-нибудь задумывались об использовании фабрик моделей вне сидеров или тестов? Нет? Тогда я уверен, что вы ещё узнаете что-то новое, так что обязательно дочитайте до конца!

https://www.dev-notes.ru/articles/eloquent/unorthodox-eloquent-2/
👍1
Добро пожаловать в восьмую часть нашей серии статей о TypeScript! В этой части мы познакомимся с динамичным ландшафтом типов TypeScript, изучим типы any, void, never, null и значение строгой проверки null.

https://www.dev-notes.ru/articles/typescript/typescript-basics-any-void-never-null-strict-null-checks/
Обработка исключений — важнейший аспект разработки веб-приложений, гарантирующий, что ваше приложение сможет изящно справиться с неожиданными ошибками и предоставить пользователям содержательные ответы. Laravel поставляется с надёжной системой обработки исключений, которая позволит вам эффективно справляться с ошибками. В этой статье мы рассмотрим основы обработки исключений в Laravel, а также ключевые концепции.

https://www.dev-notes.ru/articles/laravel/understanding-exception-handling-in-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/
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/
Добро пожаловать в девятую часть нашей серии статей о TypeScript! В этой части мы углубимся в практику объектно-ориентированного программирования (ООП), уделив особое внимание классам и наследованию.

https://www.dev-notes.ru/articles/typescript/typescript-basics-oop-practices-classes-and-inheritance/
Многие разработчики предпочитают использовать TypeScript из-за его функций проверки типов. Однако это требует дополнительного шага транспонирования, который может быть хлопотным и отнимающим время. В этой статье мы расскажем, как использовать JSDoc, чтобы получить все те же элементы контроля, но писать на обычном JavaScript, что позволяет сократить время разработки и улучшить документацию!

https://www.dev-notes.ru/articles/javascript/jsdoc-a-solid-alternative-to-typescript/
Добро пожаловать в десятую и заключительную часть нашей серии статей о TypeScript! В этой части мы исследуем тонкости работы с сеттерами/геттерами, protected, private/public и static.

https://www.dev-notes.ru/articles/typescript/typescript-basics-set-get-protected-private-public-static-members/
SSH3 — это полный пересмотр протокола SSH, накладывающий его семантику на механизмы HTTP. В двух словах, SSH3 использует QUIC+TLS1.3 для создания безопасного канала и механизмы HTTP Authorization для аутентификации пользователей.

https://www.dev-notes.ru/articles/devops/ssh3-faster-and-rich-secure-shell-using-http3/
В мире программирования поддержание чистоты и надёжности кода имеет большое значение. Паттерн Value Objects способен значительно улучшить качество вашего кода, сделав его более надёжным и удобным для сопровождения.

https://www.dev-notes.ru/articles/php/value-objects-in-php-8-building-a-better-code/
👍3
В предыдущей статье мы рассмотрели возможности Value Objects в повышении качества кода, надёжности системы и минимизации необходимости обширной валидации. Теперь давайте погрузимся глубже, чтобы улучшить понимание и использование этого важнейшего инструмента.

https://www.dev-notes.ru/articles/php/advanced-value-objects-in-php-8/
👍2
Вы наверняка слышали, что полагаться на то, что ключи массива сохраняют определённый порядок, опасно. В спецификации JSON эти пары ключ/значение даже определяются как "неупорядоченные". Но, возможно, на практике вы никогда не сталкивались с ситуацией, когда порядок изменялся по сравнению с тем, что вы ожидали.

https://www.dev-notes.ru/articles/eloquent/dont-rely-on-key-ordering-of-mysql-json-values/
👍1
Не раз и не два мы сталкивались с печально известным исключением 'Token Mismatch' в Laravel. Но, бедняга просто заботится о вас, пытаясь защитить от зла 😈, давайте посмотрим...

https://www.dev-notes.ru/articles/laravel/laravel-core-csrf/
👍2
Обеспечение постоянства и надёжности API сродни удержанию корабля на плаву во время шторма. По мере того как ваше приложение растёт и изменяется, возникает необходимость управлять различными версиями API. Laravel, популярный PHP-фреймворк, предлагает множество инструментов, помогающих ориентироваться в этих неспокойных водах. Но при таком количестве маршрутов как убедиться, что вы идёте по правильному пути? На помощь приходит версионирование API.

https://www.dev-notes.ru/articles/laravel/api-versioning-in-laravel-the-complete-guide-to-doing-it-right/
🔥2
Подделка межсайтовых запросов (CSRF) - одна из традиционных уязвимостей, с которыми приходится сталкиваться веб-приложениям. Все веб-фреймворки, включая Symfony, поддерживают защиту от CSRF из коробки. Менее известной уязвимостью является Login CSRF, особый вид CSRF-атаки.

https://www.dev-notes.ru/articles/symfony/combatting-login-csrf-with-symfony/
👍2
Я работал с Laravel и Docker с 2016 по 2022 год. В течение всех этих лет у меня была небольшая проблема, связанная с переменными среды.

https://www.dev-notes.ru/articles/laravel/laravel-without-dotenv-files/
👍2
Состояние фокуса пользователя совершенно не учитывается веб-разработчиками. Представьте себе навигацию по сайту без чёткого указания того, где вы находитесь и с чем взаимодействуете; это сбивает с толку. Именно здесь на помощь приходят CSS-псевдоклассы, такие, как :focus, :focus-within и :focus-visible. Цель этой статьи — пролить свет на важность состояния фокуса в веб-разработке.

https://www.dev-notes.ru/articles/css/a-guide-to-focus-focus-within-and-focus-visible/
👍4