The Dragon Code News
258 subscribers
210 photos
7 videos
4 files
234 links
Рассказываем о том, над чем работаем и что может быть полезным разработчикам 🙂

dragon-code.pro
Download Telegram
Простейший способ сказать "спасибо" разработчикам - использовать Symfony Thanks.

Он автоматически проставит "звёзды" от Вашего имени в GitHub на тех проектах, которые используются в Вашем приложении.

Для этого установите плагин в глобальную область используя консольную команду:

composer global require symfony/thanks

После чего нужно в консоли перейти в папку с любым проектом и выполнить команду composer thanks.

Ещё лучше - угощать разработчиков кофе и помогать с арендой серверов чтобы Ваши любимые опенсурс проекты продолжали радовать!

- https://boosty.to/dragon-code

- https://yoomoney.ru/to/410012608840929
👍4🫡2🔥1😱1
61 миллион суммарных скачиваний всех моих опенсурсных проектов.

Дожмём до 70-ти миллионов? 😉

- https://github.com/TheDragonCode
- https://github.com/Laravel-Lang
🔥13❤‍🔥1🙏1
📦 Топ наших проектов:

- dragon-code/laravel-deploy-operations - выполнение любых действий во время деплоя, в том числе неблокирующие и отложенные;
- dragon-code/laravel-data-dumper - экспорт данных из таблиц при вызове консольной команды php artisan schema:dump;
- dragon-code/laravel-cache - улучшенное взаимодействие с Laravel Cache;
- dragon-code/size-sorter - простая сортировка размеров вещей, товаров и прочего;
- dragon-code/codestyler - набор правил код-стайла, отточенный годами;
- dragon-code/pretty-routes - удобный просмотрщик списка маршрутов приложения с возможностью сортировки и фильтрации;
- dragon-code/migrate-db - лёгкая миграция приложения на другую базу данных;
- dragon-code/iconify-ide - установит иконки проектов для их отображения в списке Jetbrains Toolbox и окне PhpStorm;
- dragon-code/last-modified - возвращает в ответ на запрос дату изменения контента и при следующем запросе возвращает код 304 Not Modified в случае отсутствия изменений вместо запуска механики бэкенда для сокращения времени ответа;
- dragon-code/pretty-array - форматирует PHP массив "по красоте" для его записи в файл;
- dragon-code/benchmark - бенчмарк для определения реального времени выполнения кода с функцией фильтрации пиковых нагрузок для получения "чистого" реального результата;
- dragon-code/support - набор вспомогательных методов (вместо документации - тесты);
- dragon-code/laravel-json-response - автоматическая установка ответа на запрос в JSON формате;
- dragon-code/laravel-http-macros - расширение функциональности интерфейса Http в Laravel;
- dragon-code/card-number - генерация и валидация чисел по алгоритму Луна. Также доступно правило валидации для фреймворка Laravel;
- dragon-code/github-notifications - помогает скрывать неинформативные уведомления из "колокольчика" в профиле на GitHub;
- dragon-code/which-color - указывает каким цветом - белым или чёрным будет лучше заметен текст на фоне любого цвета. Полезно для баннеров и футеров.
👍102🔥1
Валидация email адресов в Laravel

Кейс: приложение должно валидировать входящие email-адреса по усиленным правилам

Проблема: при тестировании код "зависает" так как честно пытается выполнить свою задачу на фейковых адресах (fake()->email)

Решение: на уровне сервис-провайдера определяем дефолтные правила для разных сред.

После этого в форм-реквестах самого приложения можно писать просто email вместо email:dns,rfc,...:

-'email' => ['email:strict,filter,rfc,dns,spoof'],
+'email' => ['email'],
🔥82
🐘 Пых.конф'25

Крупнейшая PHP-конференция для всех от автора одного из крупнейших русскоязычных PHP-сообществ Пых Валентина Удальцова:

400 участников, 28 докладов, 4 зала.

Оффлайн и онлайн формат.

Присоединяйтесь! Встретимся там

https://conf.phpyh.ru
🔥7
Biome - очень шустрый линтер и форматтер для JavaScript, TypeScript, JSX, TSX, JSON, HTML, CSS and GraphQL.

Работает реально быстрее ESlint и Prettier 🙂

https://biomejs.dev
👍5
Laravel Feeds получила красивую доку и читается значительно проще портянки в README 🙂

Да, основные файлы конфигураций были скопипащены у https://laravel-lang.com, так что в некоторых местах можно найти отсылки 😅

Все нашли? 😉

https://feeds.dragon-code.pro
🔥6
Интересный сайт для быстрого удаления фона с изображений.

Обязательно включите звук кликнув по надписи "Click to enable audio" - это позволит лучше погрузиться в атмосферу происходящего.

бырыбырыбырыбырыбыры (с) 😅

https://tools.dverso.io/bgremove/
😁1
Разные изображения для светлой и тёмной тем на markdown страницах GitHub? Легко!

Всего-то нужно использовать фрагменты URL #gh-light-mode-only и #gh-dark-mode-only.

Например:

![feeds](images/light.png#gh-light-mode-only)
![feeds](images/dark.png#gh-dark-mode-only)


Пощупать руками можно здесь 😎
🔥7
📃 Laravel Feeds вышел в релиз!

Laravel Feeds - это лёгкий и быстрый способ экспортировать большие объёмы данных для маркетплейсов, sitemap и других потребителей.


Установить зависимость можно через Composer:
composer require dragon-code/laravel-feeds


🌟 Особенности проекта:

— Разбиение результатов при запросах к БД (chunk)
— Режим черновика в процессе наполнения файла
— Лёгкий маппинг свойств в виде привычного массива
— Поддержка Dependency Injection для всех классов
— Полная кастомизация хедера, футера и рут элемента
— Генерация любых фидов, карт сайтов и т.д.
— Поддержка быстрого создания классов с Laravel Idea


📔 В документации Вы найдёте расширенную информацию по использованию Laravel Feeds.

Также в ней доступен раздел рецептов с готовыми пресетами классов и результатом их выполнения! 😍
👍7🔥4❤‍🔥21🤔1
Легаси код сгенерировал XML файл фида за 5 минут.
Laravel Feeds справился за 36 секунд 😎

Тот же объём данных, тот же конечный результат, прирост скорости на 88%.


 ------- --------------  ---------------
# Legacy Dragon Code
------- -------------- ---------------
min 297335.54 ms 36187.14 ms
max 301008.29 ms 37282.62 ms
avg 299113.61 ms 36723.00 ms
------- -------------- ---------------
Order - 2 - - 1 -
------- -------------- ---------------


Измерение времени выполнения производилось бенчмарком с тремя итерациями на каждый фид.

https://feeds.dragon-code.pro
🔥13
Laravel Feeds теперь умеет работать не только с XML форматами фидов, но ещё и с JSON и JSON Lines 😍

Версия 1.5 уже в релизе 🥳

https://feeds.dragon-code.pro
4🔥4
Микро-гайд для тех, кто не в курсе 🙂

Для обновления контейнеров в Docker на свежие версии воспользуйтесь консольными командами:

docker compose pull
docker compose restart


И всё.
👍3
Поздравляю с 256-м днём этого года!

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

Deploy, Comrades! 🎉
👍7🎉3
📚 Laravel Feeds приобрёл сразу несколько улучшений в версии 1.8:

- Добавлен фид RSS Atom
- Добавлены пресеты упрощающие создание фидов (Instagram, Yandex, Sitemap, RSS)
- Добавлен Conditionable и Macroable функционал в базовые классы Feed, FeedInfo и FeedItem, расширяющие их возможности.

Среди прочего прибрались по коду да убрали из подсказок Laravel Idea технические классы при использовании в конечном приложении (Transformer светился в частности).
👍4🔥3
Laravel Boost - это мощный инструмент по добавлению инструкций для ИИ агентов и одним из его механизмов является MCP сервер.

В рамках одного приложения всё супер - агенты реально лучше подсказывают.

А что делать тем кто разрабатывает библиотеки? В этом случае начинаются пляски с бубном для внедрения MCP.

И решение есть - глобальная установка MCP сервера Лары.

Всё что для этого нужно - это установить Laravel в какую-нибудь папку с зависимостью Boost и добавить глобальный конфиг.

laravel new mcp

cd mcp

composer require laravel/boost --dev
php artisan boost:install


После этого открываем настройки MCP. Например, для AI Assistant и Junie в PhpStorm (см скрины) и добавляем конфиг с путём к файлам.

Всё. С этих пор MCP сервер будет работать во всех проектах и IDE/Editor будут автоматом цепляться к нему.
👍2