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

dragon-code.pro
Download Telegram
Не знаю что это, но выглядит забавно)))

GPT-5.5 says
Russian-speaking software developer known for open-source PHP/Laravel packages and developer tools.

Claude Opus 4.8 says
Open-source developer known in the Laravel/PHP community, creator of packages like Laravel-Lang and contributions to various Laravel tools.


https://intheweights.com
🔥3
Avril Lavigne… 41 год.

https://youtu.be/TIy3n2b7V9k
🔥3😢2
😁10🤣7👍4
1😁8🥰31
Media is too big
VIEW IN TELEGRAM
Запустили краудфандинг!!!

11 сентября в Art Village под Москвой собираем небольшую PHP-конференцию на 120 участников: один поток, 8 докладов и много живого общения.

Средства на мероприятие собираем через краудфандинг. Можно взять офлайн-билет, доступ к записям, футболку «Вы вымрете, а я останусь» или просто поддержать проект любой суммой.

https://planeta.ru/campaigns/pyhnik26
1👍1🔥1💩1
This media is not supported in your browser
VIEW IN TELEGRAM
В репозитории GitHub пропала возможность публиковать Latest релизы? Решение найдено!

После ситуации с массовым взломом GitHub аккаунтов, в число которых попало четыре проекта Laravel-Lang, компания GitHub оперативно усилила безопасность репозиториев.

Одним из следствий этого стала непонятная причина публикации новых релизов - у некоторых репозиториев всё как обычно, указали тег, ввели описание, ткнули "Latest" и готово, а у некоторых, даже в рамках одной организации, кнопка "Latest" отсутствовала, и можно было создать только "Pre-release".

Нашёл способ решения этой проблемы!

1. Опубликуйте "Pre-release"
2. Вернитесь на страницу релизов
3. Нажмите на Edit (кнопка с карандашом)
4. Прокрутите вниз и выберите "Release label" - "None".
5. Жмите "Update release"

Теперь, внезапно, этот релиз будет иметь метку "Latest" и, если вернуться на страницу его редактирования, там также будет выбран пункт "Latest".
С этих самых пор, новые релизы будут иметь возможность публикации "Latest" версий.

Работает даже с иммутабельными релизами.
🤡3👍1
Laravel Model Settings

Новый проект для удобного управления настройками моделей.

Есть возможность работать как с персональными настройками модели, так и с глобальными в рамках класса моделей.

Например:

class User extends Model
{
use HasSettings;
}

class Post extends Model
{
use HasSettings;
}

$user->defaultSettings()->set('foo', 111);
$post->defaultSettings()->set('foo', 222);

$post->settings()->set('foo', 333);
$post->settings()->set('bar', 444);

$user->settings()->get('foo'); // 111
$post->settings()->get('foo'); // 333
$post->settings()->get('bar'); // 444


https://github.com/TheDragonCode/laravel-model-settings
👍53🔥3💩1
Laravel Model Settings 1.1.0

Пакет хранит настройки отдельных Eloquent-моделей и общие значения по умолчанию.

В версии 1.1.0:

get() и all() получают настройки одним SQL-запросом;
— добавлена поддержка UUID и ULID;
— появились касты payload для разных моделей, включая поддержку spatie/laravel-data;
— добавлена совместимость с MySQL, MariaDB, PostgreSQL и SQLite.

class User extends Model
{
use HasSettings;
}

$user->defaultSettings()->set('timezone', 'UTC');

$user->settings()->get('timezone'); // UTC
$user->settings()->set('timezone', 'Europe/Amsterdam');
$user->settings()->get('timezone'); // Europe/Amsterdam

$user->settings()->forget('timezone');
$user->settings()->get('timezone');// UTC


При обновлении учтите: конфиг переименован в model_settings.php.

GitHub · Релиз 1.1.0
🔥1💩1
От скучной генерации к инженерии с ИИ

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

Данил Щуцкий — backend-разработчик с опытом более 15 лет, автор Laravel-сообщества и YouTube-канала CutCode. Консультирует команды по архитектуре и высоконагруженным системам, развивает open source и инструменты для работы с ИИ.

На примере AI Factory и AI Workspace Данил покажет, зачем нужны отдельные этапы исследования, планирования, реализации и проверки — и как превратить работу с кодинг-агентами в повторяемый процесс с понятными правилами и контролем результата.

🌿 Присоединиться к Пыхнику
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4💩2🤣1
Composer 2.10.1 изменил правила игры

[ тыц, тыц, тыц ]

Если вы устанавливаете зависимости только из опенсурс репозиториев, тогда разницы не заметите.

Но если у вас есть свой собственный репозиторий, из которого по ssh тянутся зависимости, тогда готовьтесь видеть в консоли 404 Not Found при загрузке по HTTPS.

Причина в том, что Composer отключил fallback switch, когда при недоступности ресурса он менялся на другой - source-dist и dist-source.

Теперь нужно явно определять КАК нужно устанавливать зависимости.

1. Внесите изменения в файл composer.json (порядок важен):
 {
"config": {
- "preferred-install": "dist"
+ "preferred-install": {
+ "company/*": "source",
+ "*": "dist"
+ }
}
}


Можно через консоль:

composer config 'preferred-install.company/*' source
composer config 'preferred-install.*' dist


2. Уберите параметры --prefer-source и --prefer-dist из composer install.

Лучше иметь такой набор:

composer install --no-progress --no-interaction --optimize-autoloader --classmap-authoritative --strict-psr-autoloader --no-dev
👍10
Laravel Model Settings 1.2.0 получил eager loading настроек:
$users = User::with('modelSettings')->get();

Общие значения и переопределения загружаются без N+1.
При этом, вызывать with() вручную необязательно — Laravel поддерживает автоматическую загрузку связей при применении Model::automaticallyEagerLoadRelationships()
composer update dragon-code/laravel-model-settings

https://github.com/TheDragonCode/laravel-model-settings/releases/tag/1.2.0
🔥2💩2
Laravel Model Settings

composer require dragon-code/laravel-model-settings


use DragonCode\LaravelModelSettings\Concerns\HasSettings;

class Some extends Model
{
use HasSettings;
}

$item = Some::find($id);

$item->defaultSettings()->set('foo', 1);
$item->settings()->set('bar', 2);

echo $item->settings()->get('foo'); // 1
echo $item->settings()->get('bar'); // 2



https://model-settings.dragon-code.pro
🔥3💩2👍1
Laravel Model Settings 1.3.0: массовые операции, точные исключения и корректная работа defaults.

Общие настройки теперь отделены от настроек модели через is_default, поэтому модели с ID 0 больше не конфликтуют. Для обновления потребуется новая миграция.

Добавлены has(), setMany(), forgetMany() и purge(). set() сохраняет null, пустые строки, массивы, 0 и false, а удаление выполняется только через forget().

Также улучшены casts, eager loading без N+1, валидация и покрытие тестами. Документация перенесена на Docusaurus и доступна на девяти языках.

Подробности: https://github.com/TheDragonCode/laravel-model-settings/releases/tag/1.3.0

Полная документация: http://model-settings.dragon-code.pro
👍4💩2
Скилл о соглашении имён в Laravel

Установка:

через npm:

npx skills add TheDragonSkills/laraway-conventions


через llm/skills:

composer skills:add TheDragonSkills/laraway-conventions


- Репозиторий
- Источник
🔥5❤‍🔥2👏1🌚1
До конца сбора на Пыхник осталось 4️⃣ дня!

Для тех, кто вдруг пропустил: мы готовим целую неделю для PHP-разработчиков — три вечера онлайн и большой офлайн-день 11 сентября в Art Village под Москвой. В программе 11 секций программы про AI, архитектуру и асинхронный PHP от лидеров экосистемы PHP.

Пыхник’26 будет полноценным гибридным мероприятием. Онлайн-участники смогут смотреть прямые трансляции, задавать вопросы и участвовать в обсуждении, а после мероприятия получат доступ к записям. Поэтому необязательно ехать в Москву, чтобы стать полноценным участником.

Для проведения Пыхника’26 нам нужно заранее оплатить площадку. Именно поэтому мы запустили краудфандинг с чётким дедлайном. До конца сбора осталось четыре дня. Чтобы он считался успешным, необходимо собрать не менее 50% от указанной суммы. Если порог не будет достигнут, краудфандинг завершится неуспешно, а нам придётся искать другие варианты проведения мероприятия.

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

Если вы собирались приехать или посмотреть Пыхник’26 онлайн, но откладывали решение, сейчас самое время присоединиться. Именно ближайшие четыре дня определят, сможем ли мы провести мероприятие в задуманном формате.

https://planeta.ru/campaigns/pyhnik26

Если планы изменятся, билет можно вернуть. Все сроки и условия возврата подробно указаны на странице краудфандинга.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🌚1
Вот вам крутой сайтец

https://make-it-clear.dragon-code.pro
🔥4🌚1