TypeScript, статически типизированный надмножество JavaScript, привносит в язык дополнительные статические типы и объектно-ориентированное программирование на основе классов. Две важнейшие концепции, которые вводит TypeScript, — это Перегрузка и Дженерики. Эти возможности повышают гибкость, удобство повторного использования кода и безопасность наших программ.
https://www.dev-notes.ru/articles/typescript/typescript-mastering-overloading-and-generics/
https://www.dev-notes.ru/articles/typescript/typescript-mastering-overloading-and-generics/
Заметки разработчика
TypeScript: Освоение Перегрузки и Дженериков
Две важнейшие концепции, которые вводит TypeScript, — это Перегрузка и Дженерики.
Node.js позволяет создавать быстрые и масштабируемые веб-приложения используя JavaScript как на сервере, так и на клиенте. Ваше приложение может прекрасно работать на машине разработчика, но можете ли вы быть уверены, что оно будет работать на устройствах ваших коллег или на рабочих серверах?
В этом руководстве рассказывается о преимуществах запуска приложений Node.js в контейнерах Docker и о том, как создать практичный рабочий процесс разработки.
https://www.dev-notes.ru/articles/devops/node-js-docker/
В этом руководстве рассказывается о преимуществах запуска приложений Node.js в контейнерах Docker и о том, как создать практичный рабочий процесс разработки.
https://www.dev-notes.ru/articles/devops/node-js-docker/
Заметки разработчика
Как использовать Node.js с Docker
В этом руководстве рассказывается о преимуществах запуска приложений Node.js в контейнерах Docker и о том, как создать практичный рабочий процесс разработки.
Операции со строками и манипулирование ими относятся к фундаментальным задачам любого языка программирования, и Laravel предлагает обширный набор хелперов для упрощения этих задач. Для разработчика очень важно быть в курсе новейших методик и лучших практик, чтобы оптимизировать эффективность этих хелперов.
В этой статье мы рассмотрим десять ценных советов по оптимизации десяти Laravel хелперов для работы со строками в 2023 году. Независимо от того, являетесь ли вы начинающим или опытным разработчиком Laravel, эти советы помогут вам усовершенствовать навыки работы со строками и сделать ваш код более эффективным.
Давайте погрузимся в этот процесс и раскроем весь потенциал Laravel хелперов для работы со строками.
https://www.dev-notes.ru/articles/laravel/tips-for-optimizing-laravel-10-string-helpers-in-2023/
В этой статье мы рассмотрим десять ценных советов по оптимизации десяти Laravel хелперов для работы со строками в 2023 году. Независимо от того, являетесь ли вы начинающим или опытным разработчиком Laravel, эти советы помогут вам усовершенствовать навыки работы со строками и сделать ваш код более эффективным.
Давайте погрузимся в этот процесс и раскроем весь потенциал Laravel хелперов для работы со строками.
https://www.dev-notes.ru/articles/laravel/tips-for-optimizing-laravel-10-string-helpers-in-2023/
Заметки разработчика
Советы по оптимизации Laravel 10 с помощью строковых хелперов
Раскройте весь потенциал вспомогательных строковых хелперов в Laravel 10 с помощью 10 советов по оптимизации в 2023 году.
Как работать с редиректами и каковы последствия их использования — вот несколько вопросов, возникающих в процессе SEO-аудита. Некоторые SEO-эксперты более фаталистично, чем другие, относятся к тому, как редиректы могут повлиять на рейтинг вашего сайта на страницах результатов поисковых систем (SERP).
Будьте осторожны, когда SEO-эксперт говорит, что необходимо удалить все редиректы с вашего сайта.
В последние месяцы я получил несколько требований от очень обеспокоенных клиентов, которым рекомендовали "удалить ВСЕ редиректы" на сайте, поскольку это влияет на SEO. Обычно к этому требованию прилагается очень длинный лист, включающий все найденные ими "плохие" ссылки, которые должны быть исправлены "немедленно".
Во-первых, единственное, что говорят подобные отчёты, это: "эта ссылка ---- теперь указывает на ----", и больше ничего; при этом не уточняется, хорошо это или плохо, поэтому давайте выясним, как нам следует обрабатывать такие запросы.
https://www.dev-notes.ru/articles/seo/are-redirections-affecting-your-seo/
Будьте осторожны, когда SEO-эксперт говорит, что необходимо удалить все редиректы с вашего сайта.
В последние месяцы я получил несколько требований от очень обеспокоенных клиентов, которым рекомендовали "удалить ВСЕ редиректы" на сайте, поскольку это влияет на SEO. Обычно к этому требованию прилагается очень длинный лист, включающий все найденные ими "плохие" ссылки, которые должны быть исправлены "немедленно".
Во-первых, единственное, что говорят подобные отчёты, это: "эта ссылка ---- теперь указывает на ----", и больше ничего; при этом не уточняется, хорошо это или плохо, поэтому давайте выясним, как нам следует обрабатывать такие запросы.
https://www.dev-notes.ru/articles/seo/are-redirections-affecting-your-seo/
Заметки разработчика
Действительно ли редиректы (301, 302, ...) влияют на SEO
Как работать с редиректами и каковы последствия их использования — вот несколько вопросов, возникающих в процессе SEO-аудита.
Nuno Maduro из Laravel core-team объявил о выпуске нового пакета Laravel Pint, представляющего собой "[...] специализированный корректор стиля PHP-кода для минималистов. Pint построен на базе PHP-CS-Fixer и помогает убедиться, что стиль вашего кода остаётся чистым и последовательным".
Это замечательно, но что делать, если только несколько разработчиков в организации используют Pint? Нужно ли явно просить всю команду разработчиков использовать Pint? В этой статье мы рассмотрим другой (и более элегантный) подход.
Мы не будем рассматривать инсталляцию пакета. Более подробную информацию о пакете и его работе можно найти в его официальном репозитории github. Мы сосредоточимся на том, как запустить Laravel Pint для проверки нашего кода в рамках CI-конвейера с помощью Github Actions.
https://www.dev-notes.ru/articles/devops/run-laravel-pint-as-part-of-your-ci-pipeline-with-github-actions/
Это замечательно, но что делать, если только несколько разработчиков в организации используют Pint? Нужно ли явно просить всю команду разработчиков использовать Pint? В этой статье мы рассмотрим другой (и более элегантный) подход.
Мы не будем рассматривать инсталляцию пакета. Более подробную информацию о пакете и его работе можно найти в его официальном репозитории github. Мы сосредоточимся на том, как запустить Laravel Pint для проверки нашего кода в рамках CI-конвейера с помощью Github Actions.
https://www.dev-notes.ru/articles/devops/run-laravel-pint-as-part-of-your-ci-pipeline-with-github-actions/
Заметки разработчика
Запуск Laravel Pint как части CI-конвейера с помощью Github Actions
Как запустить Laravel Pint для проверки нашего кода в рамках CI-конвейера с помощью Github Actions
Я большой поклонник нового "strict mode" для моделей Laravel. Одна из вещей, которую он помогает отловить, — это ужасный запрос "N+1", вызывающий проблемы с производительностью в продакшене.
https://www.dev-notes.ru/articles/eloquent/lazy-loading-protection-does-not-catch-all-n-plus-1-queries/
https://www.dev-notes.ru/articles/eloquent/lazy-loading-protection-does-not-catch-all-n-plus-1-queries/
Заметки разработчика
Защита от ленивой загрузки не перехватывает все N+1 запросы
Причина в том, что Laravel отслеживает вызовы только через методы отношений, а не анализирует реальные генерируемые запросы и ищет дублирование.
Мы переживаем некий ренессанс CSS: новые возможности, техники, эксперименты и идеи появляются в таком количестве, какого мы не видели со времён "CSS3". Легко почувствовать себя подавленным, когда, кажется, что твоя профессия развивается с бешеной скоростью, но Джефф Грэм (Geoff Graham) считает, что "современный" CSS в 2023 году фактически сделал CSS "проще" в написании.
https://www.dev-notes.ru/articles/css/few-ways-css-easier-write-2023/
https://www.dev-notes.ru/articles/css/few-ways-css-easier-write-2023/
Заметки разработчика
Несколько способов упростить CSS в 2023 году
Мы переживаем некий ренессанс CSS: новые возможности, техники, эксперименты и идеи появляются в таком количестве, какого мы не видели со времён "CSS3".
В Symfony 6.4 добавлено множество функций для улучшения DX (опыта разработчиков): добавление серверных параметров при клике по ссылкам, определение атрибутов краулера по умолчанию и т.д.
https://www.dev-notes.ru/articles/symfony/new-in-symfony-6-4-dx-improvements-part-2/
https://www.dev-notes.ru/articles/symfony/new-in-symfony-6-4-dx-improvements-part-2/
Заметки разработчика
Новое в Symfony 6.4: Улучшения DX (часть 2)
В Symfony 6.4 добавлено множество функций для улучшения DX (опыта разработчиков): добавление серверных параметров при клике по ссылкам и т.д.
Этот совет продолжает начатую вчера тему, связанную с проверкой строгости Eloquent.
https://www.dev-notes.ru/articles/eloquent/a-surprising-issue-with-the-auth-user-and-tests/
https://www.dev-notes.ru/articles/eloquent/a-surprising-issue-with-the-auth-user-and-tests/
Заметки разработчика
Удивительная проблема с Auth user и тестами
Знание того, как это работает, поможет избежать ложных сбоев в тестах.
Полное руководство по установке или обновлению до PHP 8.3 на Ubuntu 22.04 (Jammy), Ubuntu 20.04 (Focal) и Debian 12 (Bookworm), Debian 11 (Bullseye), Debian 10 (Buster).
PHP 8.3 — это новое крупное обновление PHP 2023 года. В нем появились такие новые возможности, как типизированные константы классов, новый набор исключений в расширении DateTime, новая функция json_validate, а также ряд новых возможностей, изменений и исправлений. Как всегда, в PHP 8.3 исправлен ряд ошибок и улучшений, и также улучшена производительность.
В этой статье рассказывается об установке PHP 8.3 на современные системы Debian и Ubuntu. Аналогичным образом можно установить и некоторые из наиболее популярных расширений PECL, которые перечислены в разделе Установка расширений PECL.
https://www.dev-notes.ru/articles/devops/php-8.3-install-upgrade-on-debian-ubuntu/
PHP 8.3 — это новое крупное обновление PHP 2023 года. В нем появились такие новые возможности, как типизированные константы классов, новый набор исключений в расширении DateTime, новая функция json_validate, а также ряд новых возможностей, изменений и исправлений. Как всегда, в PHP 8.3 исправлен ряд ошибок и улучшений, и также улучшена производительность.
В этой статье рассказывается об установке PHP 8.3 на современные системы Debian и Ubuntu. Аналогичным образом можно установить и некоторые из наиболее популярных расширений PECL, которые перечислены в разделе Установка расширений PECL.
https://www.dev-notes.ru/articles/devops/php-8.3-install-upgrade-on-debian-ubuntu/
Заметки разработчика
Как установить или обновить PHP 8.3 на Ubuntu и Debian
Полное руководство по установке или обновлению до PHP 8.3 на Ubuntu 22.04, Ubuntu 20.04 и Debian 12 (Bookworm), Debian 11 (Bullseye), Debian 10 (Buster).
Полное руководство по установке или обновлению PHP 8.3 на Fedora, RHEL, CentOS, Alma Linux, Rocky Linux и другие.
PHP 8.3 — это крупное обновление PHP 2023 года, принёсшее несколько новых функций, таких как типизированные константы классов, гранулированные исключения в расширении DateTime, новая функция json_validate, изменения и улучшения функциональности, а также исправления. Как и в предыдущих версиях PHP, в PHP 8.3 также исправлены ошибки и улучшена производительность.
В этой статье рассказывается о том, как установить PHP 8.3 на современные системы Fedora, Red Hat Enterprise Linux и другие системы, бинарно совместимые с RHEL, такие, как CentOS Stream, Alma Linux и Rocky Linux. В статье используется репозиторий, поддерживаемый Реми Колле (Remi Collet), который поддерживает пакеты PHP на этих системах уже более десяти лет.
https://www.dev-notes.ru/articles/devops/php-8.3-install-upgrade-on-fedora-rhel-el/
PHP 8.3 — это крупное обновление PHP 2023 года, принёсшее несколько новых функций, таких как типизированные константы классов, гранулированные исключения в расширении DateTime, новая функция json_validate, изменения и улучшения функциональности, а также исправления. Как и в предыдущих версиях PHP, в PHP 8.3 также исправлены ошибки и улучшена производительность.
В этой статье рассказывается о том, как установить PHP 8.3 на современные системы Fedora, Red Hat Enterprise Linux и другие системы, бинарно совместимые с RHEL, такие, как CentOS Stream, Alma Linux и Rocky Linux. В статье используется репозиторий, поддерживаемый Реми Колле (Remi Collet), который поддерживает пакеты PHP на этих системах уже более десяти лет.
https://www.dev-notes.ru/articles/devops/php-8.3-install-upgrade-on-fedora-rhel-el/
Заметки разработчика
Как установить или обновить PHP 8.3 на Fedora, RHEL, CentOS
Полное руководство по установке или обновлению PHP 8.3 на Fedora, RHEL, CentOS, Alma Linux, Rocky Linux и другие.
В этой статье рассказывается, как установить или обновить 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/
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/
Заметки разработчика
Как установить/обновить PHP 8.3 на MacOS с помощью Homebrew
В этой статье рассказывается, как установить или обновить PHP 8.3 на macOS с помощью Homebrew.
Почему использование свойства $seed лучше ручного заполнения базы данных? Просто ли это избавление от необходимости писать несколько строк кода?
https://www.dev-notes.ru/articles/eloquent/you-dont-need-to-manually-run-seeders-in-your-tests/
https://www.dev-notes.ru/articles/eloquent/you-dont-need-to-manually-run-seeders-in-your-tests/
Заметки разработчика
Не нужно вручную заполнять базы данных в тестах
Почему использование свойства $seed лучше ручного заполнения базы данных? Просто ли это избавление от необходимости писать несколько строк кода?
👍1
В 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/
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/
Заметки разработчика
Изучение новых методов массивов из ECMAScript 2023
В этой статье мы подробно рассмотрим функциональные возможности новых методов JavaScript массивов в 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/
Это последняя статья о новых возможностях Symfony 6.4 и 7.0. Эта серия статей началась с нового профилировщика команд — революционной функции, позволяющей проследить за выполнением команд Symfony и отладить их.
https://www.dev-notes.ru/articles/symfony/new-in-symfony-6-4-workflow-profiler/
Заметки разработчика
Новое в Symfony 6.4: Профилировщик Workflow
Symfony 6.4 включает новую функцию Profiler, позволяющую исследовать определения рабочих процессов и отображать их в виде визуальной диаграммы.
👍3
Во вчерашнем совете мы говорили о том, как использовать свойство $seed для более быстрого запуска тестов, но при этом упустили из виду, что именно нужно поместить в сидер.
https://www.dev-notes.ru/articles/eloquent/why-we-like-minimal-seeders-for-tests/
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/
https://www.dev-notes.ru/articles/javascript/accessing-the-file-system-in-node-js/
Заметки разработчика
Как использовать файловую систему в Node.js
Освойте основы модуля файловой системы Node.js, предоставляющего API для записи файлов в файловые системы macOS, Windows и Linux.
👍1
В PHP 8 появились атрибуты, которые являются довольно впечатляющими и мощными. В этой статье мы будем использовать их для включения и выключения маршрутов Laravel, насколько это круто?
https://www.dev-notes.ru/articles/laravel/php-attributes/
https://www.dev-notes.ru/articles/laravel/php-attributes/
Заметки разработчика
PHP атрибуты в Laravel
В PHP 8 появились атрибуты, они довольно впечатляющие и мощные. В этой статье мы используем их для включения и выключения маршрутов Laravel, насколько это круто
👍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/be-consistent-with-composer-scripts-in-ci/
Заметки разработчика
Будьте последовательны в использовании скриптов Composer в CI
Будьте проще и избавьте себя от лишних проблем со скриптами Composer.
Абстрактные классы не могут быть инстанцированы напрямую, что создаёт проблему при тестировании функциональности, реализованной в самом абстрактном классе. В этой статье я поделюсь своим подходом к решению этой проблемы.
https://www.dev-notes.ru/articles/php/testing-abstract-classes-in-php-using-anonymous-classes/
https://www.dev-notes.ru/articles/php/testing-abstract-classes-in-php-using-anonymous-classes/
Заметки разработчика
Тестирование абстрактных классов PHP с помощью анонимных классов
Абстрактные классы не могут быть инстанцированы напрямую, что создаёт проблему при тестировании функциональности, реализованной в самом абстрактном классе.
👍2