Заметки разработчика
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
В этой статье рассказывается, как установить или обновить PHP 8.3 на macOS с помощью Homebrew.

PHP 8.3 — это крупное обновление PHP 2023 года, содержащее ряд новых возможностей, таких как типизированные константы классов, гранулированные исключения в расширении DateTime, новая функция json_validate, изменения и улучшения функциональности, а также исправления. В этой статье рассказывается, как установить или обновить PHP 8.3 на macOS с помощью Homebrew.

Shivam Mathur поддерживает две ветки Brew, shivammathur/php и shivammathur/extensions, которые содержат прекомпилированные пакеты PHP 8.3 (bottles), которые постоянно обновляются, что делает удобной установку PHP 8.3 и нескольких расширений ядра PHP и PECL с помощью Homebrew.

https://www.dev-notes.ru/articles/devops/php-8.3-install-upgrade-on-macos-homebrew/
В ECMAScript 2023 появились новые функции, призванные улучшить язык и сделать его более мощным и удобным. Новая версия включает в себя интересные функции и новые методы массивов JavaScript, благодаря которым программирование на JavaScript становится более лёгким и приятным. В этой статье мы подробно рассмотрим функциональные возможности новых методов JavaScript на прототипах массивов.

JavaScript постоянно развивается, как и вся индустрия веб-разработки в целом. ECMAScript 2023 — новейшая версия языка программирования JavaScript. ECMAScript является четырнадцатым изданием спецификации языка и был выпущен в июне 2023 года. Со временем ECMAScript 2023 превратился в язык программирования общего назначения. На нем работает весь веб. Поэтому он используется для создания веб-приложений и других видов программирования, которые связаны между собой.

ECMAScript — стандартизированный язык сценариев, являющийся спецификацией для JavaScript. ECMAScript 2023 — обновление языка программирования JavaScript, призванное внести улучшения и сделать программы на JavaScript предсказуемыми и удобными в обслуживании. Благодаря этому улучшению у прототипа Array появились новые методы. Методы массивов JavaScripts toSorted, toReversed, with, findLast и findLastIndex были представлены в ECMAScript 2023.

Методы ECMAScript 2023 предлагают разработчикам мощные инструменты для манипулирования массивами без изменения исходного массива. Эти методы работают с репликами массива, что позволяет более безопасно и предсказуемо манипулировать массивами. С помощью этих методов разработчики могут использовать иммутабельность данных массива, будучи уверенными в том, что исходный массив останется неизменным. Они облегчат работу разработчиков при работе с массивами. Оставлять данные неизменными выгодно, что и демонстрируют эти методы массивов из ECMAScript 2023. Эти преимущества применимы к любым объектам JavaScript, а не только к массивам.

https://www.dev-notes.ru/articles/javascript/exploring-the-new-array-methods-from-ecmascript-2023/
Symfony 6.4 включает новую функцию Profiler, позволяющую исследовать определения рабочих процессов и отображать их в виде визуальной диаграммы.

Это последняя статья о новых возможностях Symfony 6.4 и 7.0. Эта серия статей началась с нового профилировщика команд — революционной функции, позволяющей проследить за выполнением команд Symfony и отладить их.

https://www.dev-notes.ru/articles/symfony/new-in-symfony-6-4-workflow-profiler/
👍3
Во вчерашнем совете мы говорили о том, как использовать свойство $seed для более быстрого запуска тестов, но при этом упустили из виду, что именно нужно поместить в сидер.

https://www.dev-notes.ru/articles/eloquent/why-we-like-minimal-seeders-for-tests/
Веб-приложениям не всегда нужна запись в файловую систему, но 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