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

Связь: @devmangx
Download Telegram
Мини учебник по JavaScript для новичков

Откройте для себя идеальный старт в мире JavaScript! Wes Bos собрал всё что нужно новичку: понятные объяснения, живые примеры и доступ к коду на GitHub.

Учитесь в своём темпе и создавайте веб‑страницы уже сегодня.

https://wesbos.com/javascript
Совет по HTML: Используй тег <picture> для адаптивных изображений

Когда тебе нужно отображать разные версии изображения на разных устройствах например, для мобильных и десктопных экранов, применяй тег <picture>. Он позволяет задавать условия, при которых будет загружаться конкретная версия картинки.

<picture>
<source srcset="320.jpg" media="(max-width: 800px)">
<img src="640.jpg" alt="...">
</picture>


Как это работает:

Браузер проходит по тегам <source> сверху вниз и выбирает первый, условия media которого совпадают с текущими

Если ни один <source> не подходит или браузер не поддерживает <picture>, загрузится изображение из тега <img>
This media is not supported in your browser
VIEW IN TELEGRAM
Эта платформа предлагает более 500 вопросов, разбитых на 20 категорий, включая такие темы, как Git, CSS, JavaScript, React и многое другое.

Все вопросы отсортированы по категориям и курируются пользователями.

https://quizzes.madza.dev/
Please open Telegram to view this post
VIEW IN 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()

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

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