#webdev #TypeScript #ts
Что такое предикаты типа в TypeScript? Объяснение с примерами кода
Предикаты типов - интересная синтаксическая особенность TypeScript. Хотя они появляются там же, где и аннотации возвращаемых типов, они больше похожи на короткие утвердительные предложения, чем на типичные аннотации. Это дает больший контроль над проверкой типов.
👉 Читать статью (🇬🇧)
@webdev_trends
Что такое предикаты типа в TypeScript? Объяснение с примерами кода
Предикаты типов - интересная синтаксическая особенность TypeScript. Хотя они появляются там же, где и аннотации возвращаемых типов, они больше похожи на короткие утвердительные предложения, чем на типичные аннотации. Это дает больший контроль над проверкой типов.
👉 Читать статью (🇬🇧)
@webdev_trends
#webdev #GitLab #Git #CI #CD
Как настроить пайплайн с разделением на стадии в GitLab CI
В GitLab CI пайплайны выполняют основную роль в автоматизации процессов CI/CD. Они позволяют разбить весь процесс сборки, тестирования и деплоя на отдельные, логически связанные задачи — или "джобы". Эти джобы структурируются в стадии, каждая из которых представляет собой определенный этап работы — например, сборка, тестирование или развертывание. Такое разделение позволяет ускорить разработку и минимизировать ошибки при доставке кода на продакшн.
В этой статье рассмотрим, как настроить пайплайн с разделением на стадии в GitLab CI.
👉 Читать статью (🇷🇺)
@webdev_trends
Как настроить пайплайн с разделением на стадии в GitLab CI
В GitLab CI пайплайны выполняют основную роль в автоматизации процессов CI/CD. Они позволяют разбить весь процесс сборки, тестирования и деплоя на отдельные, логически связанные задачи — или "джобы". Эти джобы структурируются в стадии, каждая из которых представляет собой определенный этап работы — например, сборка, тестирование или развертывание. Такое разделение позволяет ускорить разработку и минимизировать ошибки при доставке кода на продакшн.
В этой статье рассмотрим, как настроить пайплайн с разделением на стадии в GitLab CI.
👉 Читать статью (🇷🇺)
@webdev_trends
#webdev #Shodan #security
Shodan - что нужно знать о самой опасной поисковой системе в Интернете
Shodan - это поисковая система, обнаруживающая устройства, подключенные к Интернету. В этой статье рассказывается о том, почему он является как ценным инструментом, так и потенциальной угрозой.
👉 Читать статью (🇬🇧)
@webdev_trends
Shodan - что нужно знать о самой опасной поисковой системе в Интернете
Shodan - это поисковая система, обнаруживающая устройства, подключенные к Интернету. В этой статье рассказывается о том, почему он является как ценным инструментом, так и потенциальной угрозой.
👉 Читать статью (🇬🇧)
@webdev_trends
#webdev #Laravel #cache
Повышение производительности с помощью более разумного кэширования: `Cache::flexible()`
Одной из наиболее заметных функций, появившихся в Laravel 11, стал новый метод
👉 Читать статью (🇬🇧)
@webdev_trends
Повышение производительности с помощью более разумного кэширования: `Cache::flexible()`
Одной из наиболее заметных функций, появившихся в Laravel 11, стал новый метод
Cache::flexible(). Она призвана решить проблему более разумного управления кэшем, особенно в приложениях с высоким трафиком, где допустимо предоставлять немного устаревшие данные, обновляя кэш в фоновом режиме. Давайте разберемся, как это работает, почему это удобно и как это реализовать.👉 Читать статью (🇬🇧)
@webdev_trends
#webdev #Laravel #Eloquent #Laravel11
Решение проблемы N+1 запросов в Laravel 11 с `chaperone()`
На Laracon US 2024 одной из ключевых функций, анонсированных для Laravel 11, стала Chaperone Eloquent Relations, призванная решить распространенную проблему запросов N+1, влияющую на производительность приложений.
Эта функция представляет новый метод
👉 Читать статью (🇬🇧)
@webdev_trends
Решение проблемы N+1 запросов в Laravel 11 с `chaperone()`
На Laracon US 2024 одной из ключевых функций, анонсированных для Laravel 11, стала Chaperone Eloquent Relations, призванная решить распространенную проблему запросов N+1, влияющую на производительность приложений.
Эта функция представляет новый метод
chaperone() в Laravel Eloquent ORM, позволяющий автоматически связывать связанные модели с их родительскими моделями после выполнения запроса отношения. По сути, метод chaperone() оптимизирует запросы к базе данных, обеспечивая эффективную загрузку отношений, что снижает необходимость в дополнительных запросах при обращении к связанным данным.👉 Читать статью (🇬🇧)
@webdev_trends
#webdev #Laravel #middleware #php
Защита приложений Laravel за балансировщиками нагрузки: Освоение Middleware
При запуске Laravel приложений за балансировщиками нагрузки или обратными прокси-серверами могут возникнуть проблемы с обнаружением HTTPS или некорректными IP-адресами клиентов. Middleware
👉 Читать статью (🇬🇧)
@webdev_trends
Защита приложений Laravel за балансировщиками нагрузки: Освоение Middleware
TrustProxiesПри запуске Laravel приложений за балансировщиками нагрузки или обратными прокси-серверами могут возникнуть проблемы с обнаружением HTTPS или некорректными IP-адресами клиентов. Middleware
TrustProxies обеспечивает решение этих проблем, гарантируя корректную работу приложения в различных сценариях развертывания.👉 Читать статью (🇬🇧)
@webdev_trends
#webdev #Laravel #Laravel11 #JSON #Request #php
Работа с большими JSON-файлами и расширение класса Request
В одной из предыдущих статей я рассказывал о том, как принимать и проверять файлы Base64 в Laravel.
Теперь представьте ситуацию, когда необходимо позволить пользователям загружать большие (скажем, до 50 МБ) изображения через API в формате Base64. Чтобы добиться этого, они сначала должны преобразовать свое изображение размером 50 МБ в Base64 и включить сгенерированную строку в полезную нагрузку JSON, направив POST-запрос по заданному вами маршруту. Достаточно просто, верно? Не совсем. Давайте посмотрим, с какими проблемами можно столкнуться и как их решить. Хочу отметить, что буду использовать Laravel 11, и некоторые строки кода могут отличаться, если вы используете более старую версию фреймворка, но общий принцип должен быть одинаковым в большинстве случаев.
👉 Читать статью (🇬🇧)
@webdev_trends
Работа с большими JSON-файлами и расширение класса Request
В одной из предыдущих статей я рассказывал о том, как принимать и проверять файлы Base64 в Laravel.
Теперь представьте ситуацию, когда необходимо позволить пользователям загружать большие (скажем, до 50 МБ) изображения через API в формате Base64. Чтобы добиться этого, они сначала должны преобразовать свое изображение размером 50 МБ в Base64 и включить сгенерированную строку в полезную нагрузку JSON, направив POST-запрос по заданному вами маршруту. Достаточно просто, верно? Не совсем. Давайте посмотрим, с какими проблемами можно столкнуться и как их решить. Хочу отметить, что буду использовать Laravel 11, и некоторые строки кода могут отличаться, если вы используете более старую версию фреймворка, но общий принцип должен быть одинаковым в большинстве случаев.
👉 Читать статью (🇬🇧)
@webdev_trends
#NodeJS #npm #yarn
npm vs. yarn: Ключевые различия и сравнение
В экосистеме JavaScript выбор между менеджерами пакетов npm и yarn может существенно повлиять на рабочий процесс разработки. И npm, и yarn широко используются в качестве инструментов, помогающих разработчикам управлять зависимостями в проектах, но каждый из них предлагает уникальные возможности, отвечающие различным потребностям проекта. В статье, посвящённой сравнению npm и yarn, мы рассмотрим их ключевые различия, преимущества и примеры использования, чтобы помочь решить, что лучше для ваших проектов.
👉 Читать статью (🇷🇺)
@webdev_trends
npm vs. yarn: Ключевые различия и сравнение
В экосистеме JavaScript выбор между менеджерами пакетов npm и yarn может существенно повлиять на рабочий процесс разработки. И npm, и yarn широко используются в качестве инструментов, помогающих разработчикам управлять зависимостями в проектах, но каждый из них предлагает уникальные возможности, отвечающие различным потребностям проекта. В статье, посвящённой сравнению npm и yarn, мы рассмотрим их ключевые различия, преимущества и примеры использования, чтобы помочь решить, что лучше для ваших проектов.
👉 Читать статью (🇷🇺)
@webdev_trends
#webdev #php #php84
PHP 8.4 - Познакомьтесь с новейшей и величайшей версией
PHP 8.4, выпуск которого запланирован на 21 ноября 2024 года, содержит ряд новых интересных функций и улучшений. В этой статье мы рассмотрим некоторые из наиболее интересных дополнений и изменений:
1. Новые хелперы массивов
2. Хуки свойств
3.
4. Объявление параметров с неявным nullable объявлено устаревшим
5. Новые многобайтовые функции
👉 Читать статью (🇬🇧)
@webdev_trends
PHP 8.4 - Познакомьтесь с новейшей и величайшей версией
PHP 8.4, выпуск которого запланирован на 21 ноября 2024 года, содержит ряд новых интересных функций и улучшений. В этой статье мы рассмотрим некоторые из наиболее интересных дополнений и изменений:
1. Новые хелперы массивов
2. Хуки свойств
3.
new без круглых скобок4. Объявление параметров с неявным nullable объявлено устаревшим
5. Новые многобайтовые функции
👉 Читать статью (🇬🇧)
@webdev_trends
#WordPress #WP #php #database #db
Оптимизация и очистка базы данных WordPress: DIY-руководство
По мере роста WordPress проекта появляются проблемы с производительностью, часто вызванные переполненной базой данных. Хотя существует множество плагинов, помогающих очистить базу данных, иногда полезно знать, как сделать это самостоятельно. В этом руководстве вы узнаете, как вручную очистить и оптимизировать базу данных WordPress.
👉 Читать статью (🇬🇧)
@webdev_trends
Оптимизация и очистка базы данных WordPress: DIY-руководство
По мере роста WordPress проекта появляются проблемы с производительностью, часто вызванные переполненной базой данных. Хотя существует множество плагинов, помогающих очистить базу данных, иногда полезно знать, как сделать это самостоятельно. В этом руководстве вы узнаете, как вручную очистить и оптимизировать базу данных WordPress.
👉 Читать статью (🇬🇧)
@webdev_trends
#webdev #Laravel #php
7 уровней оптимизации Laravel: От новичка до повелителя оптимизации - с бенчмарком
Пристегните ремни! Мы с головой погружаемся в дикий мир оптимизаций Laravel, поднимаясь по коварной лестнице от «просто радуйся, что это работает» до «ваши коллеги могут назвать вас волшебником» или проклясть за то, что вы превратили простые задачи в темное искусство.
👉 Читать статью (🇬🇧)
@webdev_trends
7 уровней оптимизации Laravel: От новичка до повелителя оптимизации - с бенчмарком
Пристегните ремни! Мы с головой погружаемся в дикий мир оптимизаций Laravel, поднимаясь по коварной лестнице от «просто радуйся, что это работает» до «ваши коллеги могут назвать вас волшебником» или проклясть за то, что вы превратили простые задачи в темное искусство.
👉 Читать статью (🇬🇧)
@webdev_trends
#webdev #Laravel #Livewire #php
Laravel Livewire: Что это такое и как его использовать в веб-приложении
Livewire - один из важных проектов в экосистеме Laravel, ориентированный на разработку фронтенда. Недавно вышла версия Livewire v3, поэтому давайте разберемся, что такое Livewire и какие проекты подходят под его архитектуру.
Особенность Livewire в том, что он позволяет разрабатывать «современные» веб-приложения без необходимости использования специализированных JavaScript-фреймворков.
С помощью Livewire можно разрабатывать компоненты Blade, обеспечивающие уровень реактивности, равный Vue или React, без необходимости управлять сложностью проекта с разделенными фронтендом и бэкендом. Вы можете продолжать разрабатывать свое приложение в границах Laravel и шаблонов Blade.
👉 Читать статью (🇬🇧)
@webdev_trends
Laravel Livewire: Что это такое и как его использовать в веб-приложении
Livewire - один из важных проектов в экосистеме Laravel, ориентированный на разработку фронтенда. Недавно вышла версия Livewire v3, поэтому давайте разберемся, что такое Livewire и какие проекты подходят под его архитектуру.
Особенность Livewire в том, что он позволяет разрабатывать «современные» веб-приложения без необходимости использования специализированных JavaScript-фреймворков.
С помощью Livewire можно разрабатывать компоненты Blade, обеспечивающие уровень реактивности, равный Vue или React, без необходимости управлять сложностью проекта с разделенными фронтендом и бэкендом. Вы можете продолжать разрабатывать свое приложение в границах Laravel и шаблонов Blade.
👉 Читать статью (🇬🇧)
@webdev_trends
#webdev #Yii2 #API #php
Интеграция Google Translate API с Yii2
В этой статье я расскажу, как интегрировать Google Translate API в Yii2. Как разработчики, мы часто сталкиваемся с проблемами при создании многоязычных сайтов с возможностями перевода. Независимо от того, добавляем ли мы их вручную или полагаемся на CMS, этот процесс может быть невероятно трудоемким и утомительным.
👉 Читать статью (🇬🇧)
@webdev_trends
Интеграция Google Translate API с Yii2
В этой статье я расскажу, как интегрировать Google Translate API в Yii2. Как разработчики, мы часто сталкиваемся с проблемами при создании многоязычных сайтов с возможностями перевода. Независимо от того, добавляем ли мы их вручную или полагаемся на CMS, этот процесс может быть невероятно трудоемким и утомительным.
👉 Читать статью (🇬🇧)
@webdev_trends
#webdev #Laravel #cloud #php
Подготовьте приложение Laravel к работе в облаке
Недавние анонсы на LaraconUS вызвали новый интерес к облачному развертыванию в сообществе Laravel. Пока продолжаются дебаты о том, как разворачивать приложения, ясно одно: облако становится все более жизнеспособным вариантом для Laravel.
В статье рассмотрим, как подготовить приложение Laravel к развертыванию в облачной среде с помощью FrankenPHP, Caddy, Dockerfiles и, наконец, развернуть его на Sevalla.
👉 Читать статью (🇬🇧)
@webdev_trends
Подготовьте приложение Laravel к работе в облаке
Недавние анонсы на LaraconUS вызвали новый интерес к облачному развертыванию в сообществе Laravel. Пока продолжаются дебаты о том, как разворачивать приложения, ясно одно: облако становится все более жизнеспособным вариантом для Laravel.
В статье рассмотрим, как подготовить приложение Laravel к развертыванию в облачной среде с помощью FrankenPHP, Caddy, Dockerfiles и, наконец, развернуть его на Sevalla.
👉 Читать статью (🇬🇧)
@webdev_trends
#webdev #Laravel #Laravel11 #API #php
Как создать версионирование API в Laravel 11
В статье рассмотрим, как создать версионирование API в Laravel 11. В Laravel 11 мы будем создавать версии API, такие, как V1, V2 и т. д. В Laravel 11 скелет приложения был уменьшен, чтобы удалить лишние файлы, которые не требуются в каждом проекте.
Частью этого изменения стало удаление из исходного кода приложения всех поставщиков услуг, кроме
👉 Читать статью (🇬🇧)
@webdev_trends
Как создать версионирование API в Laravel 11
В статье рассмотрим, как создать версионирование API в Laravel 11. В Laravel 11 мы будем создавать версии API, такие, как V1, V2 и т. д. В Laravel 11 скелет приложения был уменьшен, чтобы удалить лишние файлы, которые не требуются в каждом проекте.
Частью этого изменения стало удаление из исходного кода приложения всех поставщиков услуг, кроме
AppServiceProvider. Он удаляет маршруты API в установке по умолчанию.👉 Читать статью (🇬🇧)
@webdev_trends
#webdev #API #react #javaScript #js
Централизация вызовов API в веб-приложении
Привет! Я Chhakuli, работаю Front-End разработчиком. Сегодня я хочу поделиться, как можно сделать приложение намного лучше, изменив способ обработки вызовов API. Не волнуйтесь, если вы новичок в этом деле - объясню все простым языком.
Как разработчики, мы постоянно имеем дело с API для получения или отправки данных, и в больших приложениях управление API может легко превратиться в хаос. Если работаете с таким фреймворком, как Next.js, у вас уже есть надежный фреймворк, который поддерживает как рендеринг на стороне клиента (CSR), так и рендеринг на стороне сервера (SSR). Эта двойная возможность делает Next.js идеальной средой для централизации вызовов API, обеспечивая гибкость и простоту.
👉 Читать статью (🇬🇧)
@webdev_trends
Централизация вызовов API в веб-приложении
Привет! Я Chhakuli, работаю Front-End разработчиком. Сегодня я хочу поделиться, как можно сделать приложение намного лучше, изменив способ обработки вызовов API. Не волнуйтесь, если вы новичок в этом деле - объясню все простым языком.
Как разработчики, мы постоянно имеем дело с API для получения или отправки данных, и в больших приложениях управление API может легко превратиться в хаос. Если работаете с таким фреймворком, как Next.js, у вас уже есть надежный фреймворк, который поддерживает как рендеринг на стороне клиента (CSR), так и рендеринг на стороне сервера (SSR). Эта двойная возможность делает Next.js идеальной средой для централизации вызовов API, обеспечивая гибкость и простоту.
👉 Читать статью (🇬🇧)
@webdev_trends
#webdev #Laravel #Auth #php #tutorial
Руководство по маршрутам аутентификации в Laravel
Маршруты аутентификации Laravel - одна из важнейших функций фреймворка Laravel. С помощью маршрутов можно реализовать различные стратегии аутентификации и прикрепить их к различным частям бэкенда.
Laravel предлагает полную и гибкую систему аутентификации, способную адаптироваться к различным потребностям и реализациям. Также существует несколько внешних пакетов для реализации дополнительных процессов аутентификации, отличных от тех, что поставляются с фреймворком по умолчанию.
В этой статье я расскажу, как работает стандартная система аутентификации и другие системы маршрутов аутентификации, на которые я ориентировался за последние десять лет работы с Laravel.
👉 Читать статью (🇬🇧)
@webdev_trends
Руководство по маршрутам аутентификации в Laravel
Маршруты аутентификации Laravel - одна из важнейших функций фреймворка Laravel. С помощью маршрутов можно реализовать различные стратегии аутентификации и прикрепить их к различным частям бэкенда.
Laravel предлагает полную и гибкую систему аутентификации, способную адаптироваться к различным потребностям и реализациям. Также существует несколько внешних пакетов для реализации дополнительных процессов аутентификации, отличных от тех, что поставляются с фреймворком по умолчанию.
В этой статье я расскажу, как работает стандартная система аутентификации и другие системы маршрутов аутентификации, на которые я ориентировался за последние десять лет работы с Laravel.
👉 Читать статью (🇬🇧)
@webdev_trends
#webdev #devops #apache #htacess #tutorial
Включение Gzip-сжатия через
Gzip-сжатие - это мощный метод уменьшения размера файлов, позволяющий повысить скорость загрузки сайта и общую производительность. Включив Gzip-сжатие в файле
👉 Читать статью (🇬🇧)
@webdev_trends
Включение Gzip-сжатия через
.htaccessGzip-сжатие - это мощный метод уменьшения размера файлов, позволяющий повысить скорость загрузки сайта и общую производительность. Включив Gzip-сжатие в файле
.htaccess, вы сможете минимизировать размер файлов веб-сайта и ускорить загрузку страниц для посетителей. В этом руководстве мы пошагово рассмотрим, как включить Gzip-сжатие с помощью .htaccess.👉 Читать статью (🇬🇧)
@webdev_trends
#webdev #tool #cli
Представляем @bramus/caniuse-cli, CLI утилиту для «Can I Use ...».
На прошлой неделе я почувствовал зуд (снова) и создал (offline!) утилиту командной строки для «CanIUse ...» и MDN's
👉 Читать статью (🇬🇧)
@webdev_trends
Представляем @bramus/caniuse-cli, CLI утилиту для «Can I Use ...».
На прошлой неделе я почувствовал зуд (снова) и создал (offline!) утилиту командной строки для «CanIUse ...» и MDN's
browser-compat-data.👉 Читать статью (🇬🇧)
@webdev_trends
#webdev #Symfony #php
Неделя Symfony #924 (9-15 сентября 2024 года)
На этой неделе активность разработчиков Symfony была сосредоточена на исправлении ошибок в существующих ветках: мы предоставили решение для ошибки
👉 Читать статью (🇬🇧)
@webdev_trends
Неделя Symfony #924 (9-15 сентября 2024 года)
На этой неделе активность разработчиков Symfony была сосредоточена на исправлении ошибок в существующих ветках: мы предоставили решение для ошибки
parse_url(), обновили данные wcswidth в компоненте String до Unicode 16, а также обновили данные ICU до версии 75.1. Кроме того, мы опубликовали релиз безопасности для решения проблемы потенциального обхода песочницы Twig. Наконец, мы опубликовали полное расписание конференции SymfonyCon Vienna 2024.👉 Читать статью (🇬🇧)
@webdev_trends
#webdev #JavaScript #js #XML
Как парсить XML в JavaScript (пошаговое руководство)
JSON - это формат, который используется сегодня в большинстве веб-приложений, но XML (Extensible Markup Language) все еще жив и здоров. Многие сервисы продолжают использовать этот давний формат для хранения и обмена структурированными данными.
При работе с этим форматом в приложениях часто требуется обработка XML. Парсинг преобразует необработанный XML в структуру, с которой может легко работать ваш код. JavaScript предлагает несколько подходов к разбору XML, включая встроенные API браузера, решения Node.js и сторонние библиотеки.
В этом руководстве рассказывается об этих методах, что поможет вам выбрать инструмент, подходящий для нужд вашего проекта. Мы расскажем об их преимуществах, случаях использования и о том, как решить общие проблемы разбора XML в проектах на JavaScript.
👉 Читать статью (🇬🇧)
@webdev_trends
Как парсить XML в JavaScript (пошаговое руководство)
JSON - это формат, который используется сегодня в большинстве веб-приложений, но XML (Extensible Markup Language) все еще жив и здоров. Многие сервисы продолжают использовать этот давний формат для хранения и обмена структурированными данными.
При работе с этим форматом в приложениях часто требуется обработка XML. Парсинг преобразует необработанный XML в структуру, с которой может легко работать ваш код. JavaScript предлагает несколько подходов к разбору XML, включая встроенные API браузера, решения Node.js и сторонние библиотеки.
В этом руководстве рассказывается об этих методах, что поможет вам выбрать инструмент, подходящий для нужд вашего проекта. Мы расскажем об их преимуществах, случаях использования и о том, как решить общие проблемы разбора XML в проектах на JavaScript.
👉 Читать статью (🇬🇧)
@webdev_trends