WebDev+ | Веб-разработка
7.92K subscribers
648 photos
286 videos
11 files
801 links
Присоединяйтесь к нашему каналу и погрузитесь в мир веб-разработки

Связь: @devmangx
Download Telegram
Laravel Tip

А вы знали, что в Laravel есть метод withProgressBar()?
Он позволяет легко добавлять progress bar в ваши console commands.
Laravel Tip

А вы знали, что tap() в Laravel работает по принципу «измени и верни»?

tap() позволяет изменить объект и затем вернуть его — удобно для написания чистого и chainable code.
Laravel / PHP Tip

Что используете чаще: оператор ?? или по-прежнему предпочитаете isset()?

Удобный и чистый shortcut или не самый очевидный синтаксис? А что выбираете вы?
Please open Telegram to view this post
VIEW IN TELEGRAM
Полезное чтиво для верстальщиков

CSS продолжает удивлять: привычная функция attr() получила вторую жизнь и превратилась в мощный инструмент для динамических стилей.

Теперь она умеет работать не только со строками, но и с числами, цветами и размерами прямо из HTML-атрибутов, без JavaScript и лишних костылей/

В статье Ishadeed на понятных примерах показано, как современный attr() упрощает вёрстку, делает стили гибче и открывает новые подходы к архитектуре интерфейсов.
Media is too big
VIEW IN TELEGRAM
Blossom — это опенсорс система каруселей с огромным количеством красивых паттернов и готовых примеров. Также в комплекте идут навыки для AI-агентов, а ещё есть поддержка React, Vue, Svelte и Web Components.

github.com/jespervos/blossom-carousel
Полезное руководство как «живут» замыкания в JavaScript

Если замыкания раньше казались вам непонятными, это руководство быстро разгонит туман. Здесь показывают, как функции могут хранить состояние, создавать приватные данные и давать тебе больше контроля над кодом.

https://www.freecodecamp.org/news/how-closures-work-in-javascript-a-handbook-for-developers/
This media is not supported in your browser
VIEW IN TELEGRAM
Этот опенсорсный веб-компонент автоматически генерирует скелетон-заглушки с shimmer-эффектом на основе вашего реального UI с множеством настроек.

→ не нужно создавать отдельные skeleton-компоненты
→ генерирует лоадеры по фактической структуре DOM
→ настраиваемые shimmer-эффекты и стили
→ работает с React, Vue, Svelte и другими фреймворками

https://github.com/Aejkatappaja/phantom-ui
Совет по Laravel

Передавайте большие файлы с помощью потоков:
Совет по Laravel

Загружаете большой SQL-дамп в сидере? Если ваша версия Laravel поддерживает DB::getSchemaState()->load(), используйте этот метод вместо чтения всего файла через file_get_contents().

В старых проектах DB::unprepared(file_get_contents(...)) остаётся практичным запасным вариантом.

Новые версии Laravel: getSchemaState()->load()
Старые версии Laravel: unprepared()
PHP 8.6 позволяет частично применять функции с помощью ?.

Больше не нужно вручную писать замыкание. Неожиданно приятное небольшое нововведение.
Приложения на Laravel тоже могут быть MCP-серверами.

С Laravel MCP можно предоставлять ИИ-клиентам доступ к инструментам, ресурсам и промптам вашего приложения.

Тогда агент сможет не просто читать данные из Laravel-приложения, но и пользоваться его возможностями.
Готовимся к System Design интервью уровня Middle и Senior

Полезный конспект по проектированию масштабируемых систем по книге Алекса Сюй System Design Interview.

Схемы, объяснения архитектурных решений и разборы популярных задач: от сокращения ссылок и ограничения частоты запросов до проектирования чатов и распределённых сервисов.
Интерактивные курсы по Git

GitHub запустила cборку онлайн курсов, где можно прокачать навыки работы с Git и GitHub бесплатно. Ветки, коммиты, pull request’ы, Actions и реальные командные сценарии.

Быстрый и лёгкий способ подтянуть базу и перестать гуглить «как откатить коммит» в неподходящий момент.
Совет по PHP

Используйте точечную нотацию Laravel для доступа к значениям вложенных массивов.

Одна строка с ключами, разделёнными точками, упрощает работу с многомерными массивами.
Совет по Laravel

Группы middleware удобны — пока одному маршруту не понадобится исключение.

Метод withoutMiddleware() позволяет исключить унаследованные middleware для отдельного маршрута, не меняя структуру маршрутов.
JavaScript-разработчики: Promise.all() vs Promise.allSettled()

Оба метода позволяют работать с несколькими промисами параллельно. Но что произойдёт, если один запрос завершится с ошибкой?

Знаете, когда использовать каждый из них?
Совет по Laravel

Не позволяйте запросам к базе данных замедлять приложение. Используйте фасад Cache в Laravel для временного кэширования данных и сокращения числа обращений к БД.
Совет по Laravel

Команды Artisan можно запускать не только из терминала, но и прямо из кода. Для этого используйте метод Artisan::call():
Совет по Laravel

Знали про метод whereAny(), который позволяет искать сразу по нескольким столбцам, используя логику OR, и делает это гораздо чище?
Совет по Laravel: обновляете записи в цикле с lazy()?

lazy() использует пагинацию со смещением (OFFSET). Если обновление меняет соответствие записей условиям запроса, некоторые строки могут быть пропущены или обработаны повторно.

lazyById() перебирает записи по первичному ключу, поэтому изменения выборки не сдвигают позицию обхода.

Для такого сценария и существует lazyById()