ru
Feedback
The Dragon Code News

The Dragon Code News

Открыть в Telegram

Рассказываем о том, над чем работаем и что может быть полезным разработчикам 🙂 dragon-code.pro

Больше
266
Подписчики
Нет данных24 часа
+17 дней
Нет данных30 день
Архив постов
Интересный проект по изготовлению механических котов на базе ардуины/малинки. Забирайте, кому интересно. https://github.com/PetoiCamp/OpenCat-Quadruped-Robot

Laravel Feeds 1.15.0: генерация фидов через Laravel Queue При включении FEED_QUEUE_ENABLED команда feed:generate создаёт отдельную уникальную задачу для каждого активного фида. Подключение, имя очереди и TTL блокировки настраиваются отдельно. Обычная генерация внутри процесса команды остаётся режимом по умолчанию. https://feeds.dragon-code.pro

Laravel Feeds 1.14.0: необязательные поля без ручной фильтрации. Если значение отсутствует, верните OptionalData:
use DragonCode\LaravelFeed\Data\OptionalData;

return [
    'updatedAt' => $this->model->updated_at ?? new OptionalData,
];
Это исключит поле из JSON, JSON Lines, XML и RSS. В CSV останется пустая ячейка, поэтому колонки не сместятся. Кроме того, поддерживается объект Spatie\LaravelData\Optional. https://feeds.dragon-code.pro

Никогда не храните важные данные только в облаке. Всегда держите копию на физическом носителе без синхронизации с облаком. Не
Никогда не храните важные данные только в облаке. Всегда держите копию на физическом носителе без синхронизации с облаком. Несколько лет назад столкнулся с тем, что из-за глюка в работе Mega.io, они удалили все файлы в облаке, и программа синхронизации посчитала что так и должно быть. И честно удалила локальные версии файлов.

Laravel Feeds 1.12.0: фиды теперь можно публиковать на удалённые диски. Обновление пригодится Laravel-проектам, которые выгружают большие объёмы данных для маркетплейсов и других сервисов. Генерация оптимизирована, исправлены ошибки в JSON, XML и CSV, а также сбои при создании и публикации разделённых фидов. Полный список изменений — на странице релиза.

Опубликовал свои инструкции для работы с нейронками: - Для агентов - Для чатов

Repost from Пых.конф
До конца сбора на Пыхник осталось 4️⃣ дня! Для тех, кто вдруг пропустил: мы готовим целую неделю для PHP-разработчиков — три
+1
До конца сбора на Пыхник осталось 4️⃣ дня! Для тех, кто вдруг пропустил: мы готовим целую неделю для PHP-разработчиков — три вечера онлайн и большой офлайн-день 11 сентября в Art Village под Москвой. В программе 11 секций программы про AI, архитектуру и асинхронный PHP от лидеров экосистемы PHP. Пыхник’26 будет полноценным гибридным мероприятием. Онлайн-участники смогут смотреть прямые трансляции, задавать вопросы и участвовать в обсуждении, а после мероприятия получат доступ к записям. Поэтому необязательно ехать в Москву, чтобы стать полноценным участником. Для проведения Пыхника’26 нам нужно заранее оплатить площадку. Именно поэтому мы запустили краудфандинг с чётким дедлайном. До конца сбора осталось четыре дня. Чтобы он считался успешным, необходимо собрать не менее 50% от указанной суммы. Если порог не будет достигнут, краудфандинг завершится неуспешно, а нам придётся искать другие варианты проведения мероприятия. Сейчас важен любой формат участия. И офлайн-, и онлайн-билеты приближают нас к цели. Также можно заказать футболку или просто поддержать проект на любую сумму. Если вы собирались приехать или посмотреть Пыхник’26 онлайн, но откладывали решение, сейчас самое время присоединиться. Именно ближайшие четыре дня определят, сможем ли мы провести мероприятие в задуманном формате. https://planeta.ru/campaigns/pyhnik26 Если планы изменятся, билет можно вернуть. Все сроки и условия возврата подробно указаны на странице краудфандинга.

Скилл о соглашении имён в Laravel Установка: через npm:
npx skills add TheDragonSkills/laraway-conventions
через llm/skills:
composer skills:add TheDragonSkills/laraway-conventions
https://github.com/TheDragonSkills/laraway-conventions

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

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

Laravel Model Settings 1.2.0 получил eager loading настроек:
$users = User::with('modelSettings')->get();
Общие значения и переопределения загружаются без N+1. При этом, вызывать with() вручную необязательно — Laravel поддерживает автоматическую загрузку связей:
Model::automaticallyEagerLoadRelationships();
Функция пока имеет статус beta.
composer update dragon-code/laravel-model-settings
https://github.com/TheDragonCode/laravel-model-settings/releases/tag/1.2.0

Батя дома 😎

GitHub шатает?
Anonymous voting

GitHub шатает?
Anonymous voting

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

Repost from Пых.конф
От скучной генерации к инженерии с ИИ ИИ быстро генерирует код, но без контекста, декомпозиции и проверок работа с агентами п
От скучной генерации к инженерии с ИИ ИИ быстро генерирует код, но без контекста, декомпозиции и проверок работа с агентами превращается в ожидание и бесконечные правки. В докладе поговорим об AI-разработке как об управляемом инженерном процессе. Данил Щуцкий — backend-разработчик с опытом более 15 лет, автор Laravel-сообщества и YouTube-канала CutCode. Консультирует команды по архитектуре и высоконагруженным системам, развивает open source и инструменты для работы с ИИ. На примере AI Factory и AI Workspace Данил покажет, зачем нужны отдельные этапы исследования, планирования, реализации и проверки — и как превратить работу с кодинг-агентами в повторяемый процесс с понятными правилами и контролем результата. 🌿 Присоединиться к Пыхнику

Laravel Model Settings 1.1.0 Пакет хранит настройки отдельных Eloquent-моделей и общие значения по умолчанию. В версии 1.1.0: — get() и all() получают настройки одним SQL-запросом; — добавлена поддержка UUID и ULID; — появились касты payload для разных моделей, включая CastsAttributes и spatie/laravel-data; — добавлена совместимость с MySQL, MariaDB, PostgreSQL и SQLite. Базовый пример:
class User extends Model
{
    use HasSettings;
}

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

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

$user->settings()->forget('timezone');
// снова вернётся UTC
При обновлении учтите: конфиг переименован в model_settings.php. GitHub · Релиз 1.1.0

Laravel Model Settings Новый проект для удобного управления настройками моделей. Есть возможность работать как с персональными настройками модели, так и с глобальными в рамках класса моделей. Например:
class User extends Model
{
    use HasSettings;
}

class Post extends Model
{
    use HasSettings;
}

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

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

$user->settings()->get('foo'); // 111
$post->settings()->get('foo'); // 222
$post->settings()->get('bar'); // 333
https://github.com/TheDragonCode/laravel-model-settings

В репозитории 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" версий. Работает даже с иммутабельными релизами.