Web Dev Trends
21 subscribers
697 photos
6 videos
690 links
Полезные статьи и новости веб разработки
Download Telegram
#webdev #TypeScript #ts

Что такое предикаты типа в TypeScript? Объяснение с примерами кода

Предикаты типов - интересная синтаксическая особенность TypeScript. Хотя они появляются там же, где и аннотации возвращаемых типов, они больше похожи на короткие утвердительные предложения, чем на типичные аннотации. Это дает больший контроль над проверкой типов.

👉 Читать статью (🇬🇧)

@webdev_trends
#webdev #GitLab #Git #CI #CD

Как настроить пайплайн с разделением на стадии в GitLab CI

В GitLab CI пайплайны выполняют основную роль в автоматизации процессов CI/CD. Они позволяют разбить весь процесс сборки, тестирования и деплоя на отдельные, логически связанные задачи — или "джобы". Эти джобы структурируются в стадии, каждая из которых представляет собой определенный этап работы — например, сборка, тестирование или развертывание. Такое разделение позволяет ускорить разработку и минимизировать ошибки при доставке кода на продакшн.

В этой статье рассмотрим, как настроить пайплайн с разделением на стадии в GitLab CI.

👉 Читать статью (🇷🇺)

@webdev_trends
#webdev #Shodan #security

Shodan - что нужно знать о самой опасной поисковой системе в Интернете

Shodan - это поисковая система, обнаруживающая устройства, подключенные к Интернету. В этой статье рассказывается о том, почему он является как ценным инструментом, так и потенциальной угрозой.

👉 Читать статью (🇬🇧)

@webdev_trends
#webdev #Laravel #cache

Повышение производительности с помощью более разумного кэширования: `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, влияющую на производительность приложений.

Эта функция представляет новый метод chaperone() в Laravel Eloquent ORM, позволяющий автоматически связывать связанные модели с их родительскими моделями после выполнения запроса отношения. По сути, метод chaperone() оптимизирует запросы к базе данных, обеспечивая эффективную загрузку отношений, что снижает необходимость в дополнительных запросах при обращении к связанным данным.

👉 Читать статью (🇬🇧)

@webdev_trends
#webdev #Laravel #middleware #php

Защита приложений 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
#NodeJS #npm #yarn

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. new без круглых скобок
4. Объявление параметров с неявным nullable объявлено устаревшим
5. Новые многобайтовые функции

👉 Читать статью (🇬🇧)

@webdev_trends
#WordPress #WP #php #database #db

Оптимизация и очистка базы данных WordPress: DIY-руководство

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

👉 Читать статью (🇬🇧)

@webdev_trends
#webdev #Laravel #php

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
#webdev #Yii2 #API #php

Интеграция 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
#webdev #Laravel #Laravel11 #API #php

Как создать версионирование 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
#webdev #Laravel #Auth #php #tutorial

Руководство по маршрутам аутентификации в Laravel

Маршруты аутентификации Laravel - одна из важнейших функций фреймворка Laravel. С помощью маршрутов можно реализовать различные стратегии аутентификации и прикрепить их к различным частям бэкенда.

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

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

👉 Читать статью (🇬🇧)

@webdev_trends
#webdev #devops #apache #htacess #tutorial

Включение Gzip-сжатия через .htaccess

Gzip-сжатие - это мощный метод уменьшения размера файлов, позволяющий повысить скорость загрузки сайта и общую производительность. Включив Gzip-сжатие в файле .htaccess, вы сможете минимизировать размер файлов веб-сайта и ускорить загрузку страниц для посетителей. В этом руководстве мы пошагово рассмотрим, как включить Gzip-сжатие с помощью .htaccess.

👉 Читать статью (🇬🇧)

@webdev_trends
#webdev #tool #cli

Представляем @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 была сосредоточена на исправлении ошибок в существующих ветках: мы предоставили решение для ошибки 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