Заметки разработчика
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
Веб-приложениям не всегда нужна запись в файловую систему, но Node.js предоставляет для этого обширный интерфейс прикладного программирования (API). Это может понадобиться, если вы ведёте логи отладки, передаёте файлы на сервер или с сервера, или создаёте инструменты командной строки.

https://www.dev-notes.ru/articles/javascript/accessing-the-file-system-in-node-js/
👍1
В PHP 8 появились атрибуты, которые являются довольно впечатляющими и мощными. В этой статье мы будем использовать их для включения и выключения маршрутов Laravel, насколько это круто?

https://www.dev-notes.ru/articles/laravel/php-attributes/
👍2
Сценарии Composer — это очень удобный способ определения команд, которые вы часто используете. Например, у нас есть скрипты composer для запуска тестов, проверки стиля кодирования или обновления хелперов IDE.

https://www.dev-notes.ru/articles/php/be-consistent-with-composer-scripts-in-ci/
Абстрактные классы не могут быть инстанцированы напрямую, что создаёт проблему при тестировании функциональности, реализованной в самом абстрактном классе. В этой статье я поделюсь своим подходом к решению этой проблемы.

https://www.dev-notes.ru/articles/php/testing-abstract-classes-in-php-using-anonymous-classes/
👍2
Краткое руководство, показывающее, как перейти от локальной разработки к продакшену с помощью Docker, включая рабочие процессы развёртывания и CI/CD.

Если вы начинаете путь от локальной разработки к продакшену с Docker и не знаете всех необходимых шагов, это руководство для вас.

Мы рассмотрим некоторые тонкости перехода, такие как создание продакшен Docker-файлов и настройка конфигураций. Затем мы поработаем над рабочими процессами развёртывания и закончим CI/CD. К концу мы должны без проблем перенести ваше Docker-приложение в стабильную, живую среду.

https://www.dev-notes.ru/articles/devops/what-you-should-do-before-deploying-docker-to-production/
2👍1
Добро пожаловать во вторую часть нашей серии статей о TypeScript! В этой части мы проведём сравнение между JavaScript и TypeScript, что поможет вам сделать осознанный выбор при принятии решения о переходе на TypeScript.

https://www.dev-notes.ru/articles/typescript/typescript-basics-javascript-versus-typescript/
В PHP есть множество встроенных констант. Некоторые из них полезны при работе с файлами, а некоторые — с целыми числами. Но все они имеют одну общую черту — все они доступны глобально. В этой небольшой статье мы рассмотрим типичные примеры и случаи использования констант в Laravel.

https://www.dev-notes.ru/articles/laravel/five-php-useful-built-in-constants/
👍1
Добавление второго сервера к вашему приложению может стать отличным способом улучшить его производительность и/или повысить надёжность. Однако при добавлении второго сервера необходимо учитывать несколько моментов.

В этой статье мы обсудим ключевые моменты, которые необходимо учитывать при добавлении дополнительного сервера приложения. В качестве примера мы будем использовать Laravel, размещённый в Laravel Forge, но эти концепции могут быть применены к любому типу приложений, не ограничиваясь языком PHP.

https://www.dev-notes.ru/articles/laravel/adding-a-second-server-to-your-app/
Добро пожаловать в пятую часть нашей серии статей о TypeScript! В этой части мы переключим наше внимание на создание пользовательских типов, перечислений и интерфейсов. Эти мощные конструкции позволяют создавать выразительные и чётко определённые структуры кода.

https://www.dev-notes.ru/articles/typescript/typescript-basics-creating-types-enums-and-interfaces/
PHP включает несколько очень удобных функций, ориентированных на безопасность, но вы должны знать, как правильно их использовать, иначе рискуете оставить значительную уязвимость, ожидающую своего применения!

https://www.dev-notes.ru/articles/php/security-tip-is-strip_tags-secure/
Добро пожаловать в шестую часть нашей серии статей о TypeScript! В этой части мы рассмотрим объединение типов, литеральные типы и размеченное объединение типов, обеспечивающие точность и выразительность в определении типов.

https://www.dev-notes.ru/articles/typescript/typescript-basics-union-literal-and-tagged-types/
При использовании кэширования обещание значительного повышения производительности должно быть сопоставлено с его стоимостью, связанной со сложностью и инфраструктурой. Давайте обсудим доступные варианты, чтобы вы могли использовать наилучшую реализацию для любой ситуации.

Я считаю кэширование одним из обоюдоострых мечей в разработке PHP-приложений.

С одной стороны, стратегии кэширования могут обеспечить значительный прирост производительности. С другой стороны, этот прирост может быть достигнут за счёт увеличения сложности кодовой базы или инфраструктуры. Кроме того, всегда существует угроза того, что кэширование предоставляет устаревшие данные.

Когда мы думаем о соотношении риска и вознаграждения, говоря о кэшировании, я рекомендую тщательно подходить к выбору, чтобы обеспечить положительный результат. Правильный выбор кэширования зависит от вашей инфраструктуры, вашего набора навыков и того, что делает ваше приложение.

Чтобы узнать больше об успешном решении кэширования для вашего приложения, давайте рассмотрим широкий спектр слоёв кэширования, доступных в экосистеме Laravel.

https://www.dev-notes.ru/articles/laravel/overview-of-caching-strategies/
👍1
Добро пожаловать в седьмую часть цикла статей о 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/