Алиасы устанавливаемых зависимостей
При разработке пакетов часто нужно подгружать
Конечно, можно указать алиас ветки в том самом репозитории, но это не всегда срабатывает, да и Packagist любит превращать их тег, например, в
Но решение есть и очень простое - инлайновый алиас. Всё что нужно сделать - это указать
Главное, не забудьте её переключить перед релизом 😉
При разработке пакетов часто нужно подгружать
dev версии зависимостей и с этим могут возникнуть проблемы, если другие используемые зависимости требуют стабильную версию.Конечно, можно указать алиас ветки в том самом репозитории, но это не всегда срабатывает, да и Packagist любит превращать их тег, например, в
1.0.x-dev при том, что алиас задан как 1.0-dev, что делает практически невозможным их установку.Но решение есть и очень простое - инлайновый алиас. Всё что нужно сделать - это указать
dev версию той самой зависимости как стабильную и выполнить команду composer update. И зависимость будет без проблем установлена.Главное, не забудьте её переключить перед релизом 😉
❤5🤯2
Состоялся первый публичный релиз Laravel Lang: Models v1.0-beta1 🔥
Проект, реализующий перевод контента в приложении с удобным хранением и использованием.
Документация будет в ближайшее время 💪
https://github.com/Laravel-Lang/models
Проект, реализующий перевод контента в приложении с удобным хранением и использованием.
Документация будет в ближайшее время 💪
https://github.com/Laravel-Lang/models
🔥2❤1
Иногда возникает необходимость выполнить какие-либо действия над коллекцией релейшена для использования в нескольких местах приложения.
Один из часто встречаемых вариантов - это метод
Метод
Один из часто встречаемых вариантов - это метод
keyBy, когда нужно ключи массива превратить в какое-либо значение из результата.Метод
afterQuery в Laravel 11.4+ позволяет выполнить эти действия, сохранив результат в релейшены. Таким образом, снаружи больше не будет необходимости их повторять.❤3😱2🔥1
Отслеживание запросов N+1 к базе данных - это легко!
Одна из основных проблем средних и больших приложений в том, что, в какой-то момент времени разработчики перестают отслеживать множественные запросы при обращении к релейшенам.
Именно для этого существует метод
Работает он просто - если при запуске приложения обнаружено обращение к релейшену коллекции, для которого не была применена жадная загрузка, такой запрос упадёт с ошибкой, сообщив об этом.
При этом, совсем не стоит бояться выгружать его на продакшен - именно для этого в его аргумент можно передать условие активации везде, кроме прода.
Таким образом, если Ваше приложение покрыто тестами, Вы на этапе их запуска узнаете об этом 🙂
https://laravel.com/docs/eloquent-relationships#preventing-lazy-loading
Одна из основных проблем средних и больших приложений в том, что, в какой-то момент времени разработчики перестают отслеживать множественные запросы при обращении к релейшенам.
Именно для этого существует метод
Model::preventLazyLoading, который позволяет активировать их обнаружение.Работает он просто - если при запуске приложения обнаружено обращение к релейшену коллекции, для которого не была применена жадная загрузка, такой запрос упадёт с ошибкой, сообщив об этом.
При этом, совсем не стоит бояться выгружать его на продакшен - именно для этого в его аргумент можно передать условие активации везде, кроме прода.
Таким образом, если Ваше приложение покрыто тестами, Вы на этапе их запуска узнаете об этом 🙂
https://laravel.com/docs/eloquent-relationships#preventing-lazy-loading
🔥1🤯1
The Dragon Code News
Иногда возникает необходимость выполнить какие-либо действия над коллекцией релейшена для использования в нескольких местах приложения. Один из часто встречаемых вариантов - это метод keyBy, когда нужно ключи массива превратить в какое-либо значение из результата.…
Обнаружен нюанс метода afterQuery - если в модель прокинуть вызов
Но и решение проблемы банально простое - нужно в модели переопределить метод
with с релейшенами, то он перезатирает результат.Но и решение проблемы банально простое - нужно в модели переопределить метод
setRelation. Да, костыль. Зато работает.Переиспользуемые скоупы
Традиционно, переиспользуемые скоупы запросов всегда определялись в самой модели с помощью магического метода
Подробнее об этом и не только способе можно прочитать здесь и здесь.
Традиционно, переиспользуемые скоупы запросов всегда определялись в самой модели с помощью магического метода
scopeXXX, макросов или специального класса Builder. В первых двух случаях проблема заключается в том, что они оба опираются на неявную магию, что делает (почти) невозможным получение подсказок со стороны IDE без применения специальных инструментов. Ещё хуже то, что в случае регистрации макросов, может возникнуть конфликт имён. Однако, существует и четвёртый, на мой взгляд, более эффективный подход: использование переиспользуемых скоупов (tappable scopes).Подробнее об этом и не только способе можно прочитать здесь и здесь.
👍3❤1
Forwarded from Laravel World
Jujutsu — новая система контроля версий, разработанная инженером-программистом из Google, которая призвана заменить существующие системы контроля версий в корпорации (исторически: Perforce, Piper и Mercurial). Она интересна используемым подходом и тщательным выбором дизайна с точки зрения как деталей реализации, так и пользовательского интерфейса. И предлагает ответ на вопрос: как может выглядеть система контроля версий следующего поколения, которая фактически извлекла уроки из лучших частей всех систем этого поколения, включая Mercurial, Git, Darcs, Fossil и тд?
Обзор системы: https://v5.chriskrycho.com/essays/jj-init/
Обзор системы: https://v5.chriskrycho.com/essays/jj-init/
Вышел релиз Laravel Lang Models 1.0 🎉
Models - это система управления локализацией контента.
https://laravel-lang.com/packages-models.html
Models - это система управления локализацией контента.
https://laravel-lang.com/packages-models.html
Laravel Lang Help
Models | Laravel Lang
Easy and fast way to localize models
🔥2🎉1
Небольшое видео по использованию связки системы управления локализацией контента Laravel Lang Models вместе с локализацией маршрутов Laravel Lang Routes.
https://youtu.be/mH76pGbpVu0
https://youtu.be/mH76pGbpVu0
YouTube
Easy content localization with Laravel Lang Models
Easy and fast way to localize models with Models and Route packages
0:00 Initial state
0:10 Installing the laravel-lang/routes and laravel-lang/models packages
0:23 Connecting the middleware group
1:09 Creating a model and migration
1:21 Creating a translation…
0:00 Initial state
0:10 Installing the laravel-lang/routes and laravel-lang/models packages
0:23 Connecting the middleware group
1:09 Creating a model and migration
1:21 Creating a translation…
Laravel Data Dumper 1.1.0 released
Added
- Added the ability to specify links to model classes
https://github.com/TheDragonCode/laravel-data-dumper/releases/tag/1.1.0
#laravel_data_dumper #data #dumper #laravel
Added
- Added the ability to specify links to model classes
https://github.com/TheDragonCode/laravel-data-dumper/releases/tag/1.1.0
#laravel_data_dumper #data #dumper #laravel
GitHub
Release 1.1.0 · TheDragonCode/laravel-data-dumper
Added
Added the ability to specify links to model classes by @andrey-helldar in #3
Added the ability to specify links to model classes by @andrey-helldar in #3
При обновлении зависимости
В PR orchestral/testbench-core#215 переименовали значение параметра на
Проблема затрагивает следующие версии:
-
-
-
-
-
Проект orchestral/testbench используется для тестирования Laravel пакетов при их разработке.
orchestral/testbench-core стали падать тесты? Значит необходимо внести параметр APP_ENV со значением testing либо workbench в файл phpunit.xml.В PR orchestral/testbench-core#215 переименовали значение параметра на
workbench, что и привело к поломке без использования Workbench.Проблема затрагивает следующие версии:
-
9.2.1-
9.2.0-
8.25.0-
7.44.0-
6.51.0Проект orchestral/testbench используется для тестирования Laravel пакетов при их разработке.
🤔1
Forwarded from КБ
Срочно: мошенники начали «угонять» Telegram-аккаунты с помощью новой схемы — они используют фейковый «официальный» аккаунт Telegram Security Messenger.Скамеры заваливают жертву запросами на получение кода подтверждения и предлагают перейти по ссылке, чтобы обезопасить аккаунт от взлома. Если нажать на ссылку — можно прощаться с учёткой.
👍2💅1
Пройдите тест на знание SQL, научитесь составлять эффективные SQL запросы и решать задачи по SQL, подготовьтесь к собеседованиям.
Задания по SQL подходят как новичкам, так и опытным специалистам.
https://sqltest.online
Задания по SQL подходят как новичкам, так и опытным специалистам.
https://sqltest.online
SQLtest.online
Welcome to SQLTest.online: Learn and Practice SQL
SQLtest.online: Your free interactive SQL trainer. Practice and enhance your practical SQL skills with real-world problems and instant feedback for various databases like MySQL, MS SQL, and SQLite.
👍5❤🔥1
Онлайн сервис для тестирования регулярных выражений с визуализацией их обработки
https://devtoolcafe.com/tools/regex#!flags=img&re=
https://devtoolcafe.com/tools/regex#!flags=img&re=
Devtoolcafe
Regular Expression Tester and Visualizer
Regular Expression Tester and Visualizer is a free online developer tool to test and visualize a regular expression against any string instantly with matches highlighted including a cheat sheet and reference.
🔥1
📚 Building Real-Time Marvels with Laravel: Create Dynamic and Interactive Web Applications (2024)
✍️Автор: Sivaraj Selvaraj
📃Страниц: 640
Начиная с основ, вы изучите важнейшие концепции, что позволит вам понять структуру фреймворка. Последующие главы охватывают такие сложные темы, как передовые методы маршрутизации, управление базами данных и красноречивое объектно-реляционное отображение (ORM), что позволяет разработчикам создавать надежные приложения. Книга предлагает исчерпывающие сведения о создании безопасных приложений с помощью механизмов аутентификации и авторизации, а также о построении эффективных API и использовании методов кэширования для повышения производительности.
✍️Автор: Sivaraj Selvaraj
📃Страниц: 640
Начиная с основ, вы изучите важнейшие концепции, что позволит вам понять структуру фреймворка. Последующие главы охватывают такие сложные темы, как передовые методы маршрутизации, управление базами данных и красноречивое объектно-реляционное отображение (ORM), что позволяет разработчикам создавать надежные приложения. Книга предлагает исчерпывающие сведения о создании безопасных приложений с помощью механизмов аутентификации и авторизации, а также о построении эффективных API и использовании методов кэширования для повышения производительности.
Apress.Building.Real-Time.Marvels.with.Laravel.pdf
9 MB
Building Real-Time Marvels with Laravel: Create Dynamic and Interactive Web Applications (2024)
🔥3
Классный тренажер по распределению задач
https://thatpmgame.com
Это мини-игра на 3-5 минут на основе диаграммы Ганта.
Цель игры - раскидать задачи по сотрудникам так, чтобы проект уложился в бюджет и сроки.
Принцип игры
В начале каждого раунда у тебя есть 5 задач и 4 человека, чтобы их выполнить. У каждого человека свои особенности, например, быстрый, но дорогой. Прямо как на реальном проекте. Назначаешь людей на задачи, нажимаешь “start” и начинается симуляция.
Слева идет таймлайн, где сгорают задачки. Справа - статистика сколько денег ты потратил. В любой момент симуляцию можно остановить и перераспределить людей. Более подробные правила тут.
Смысл
Игра учит базе управления проектами:
🤌 меньше людей работает -> меньше бюджета тратишь;
🤌 таски на критическом пути лучше делать быстро и не рисковать ими;
🤌 как ни оценивай, одни задачи все равно пойдут быстрее, а другие медленнее;
🤌 люди выгорают, если работы дофига;
ПМам с небольшим опытом игра будет полезна, чтобы потренироваться распределять задачи и понять диаграмму ганта.
https://thatpmgame.com
Это мини-игра на 3-5 минут на основе диаграммы Ганта.
Цель игры - раскидать задачи по сотрудникам так, чтобы проект уложился в бюджет и сроки.
Принцип игры
В начале каждого раунда у тебя есть 5 задач и 4 человека, чтобы их выполнить. У каждого человека свои особенности, например, быстрый, но дорогой. Прямо как на реальном проекте. Назначаешь людей на задачи, нажимаешь “start” и начинается симуляция.
Слева идет таймлайн, где сгорают задачки. Справа - статистика сколько денег ты потратил. В любой момент симуляцию можно остановить и перераспределить людей. Более подробные правила тут.
Смысл
Игра учит базе управления проектами:
🤌 меньше людей работает -> меньше бюджета тратишь;
🤌 таски на критическом пути лучше делать быстро и не рисковать ими;
🤌 как ни оценивай, одни задачи все равно пойдут быстрее, а другие медленнее;
🤌 люди выгорают, если работы дофига;
ПМам с небольшим опытом игра будет полезна, чтобы потренироваться распределять задачи и понять диаграмму ганта.
Thatpmgame
The Project Management Game
The object of The Project Management Game is to assign the best staff to particular tasks and complete your project on-time and under budget.
👍2
Git Extensions - лучший GUI для работы с репозиториями
https://github.com/gitextensions/gitextensions
https://github.com/gitextensions/gitextensions
❤2👍1
Laravel Deploy Operations 6.2.1 released
Fixed
- Grammatical error corrected
- Update basic.md, change typo artisn to artisan
https://github.com/TheDragonCode/laravel-deploy-operations/releases/tag/6.2.1
#laravel_deploy_operations #deploy #laravel #operations
Fixed
- Grammatical error corrected
- Update basic.md, change typo artisn to artisan
https://github.com/TheDragonCode/laravel-deploy-operations/releases/tag/6.2.1
#laravel_deploy_operations #deploy #laravel #operations
GitHub
Release 6.2.1 · TheDragonCode/laravel-deploy-operations
Fixed
Grammatical error corrected by @andrey-helldar in #175
Update basic.md, change typo artisn to artisan by @tvbeek in #173
Grammatical error corrected by @andrey-helldar in #175
Update basic.md, change typo artisn to artisan by @tvbeek in #173
Книгу и плагин от нашего Аделя теперь можно найти через инлайновый поисковый запрос к боту @LaravelSearchBot 😎
Книга по Laravel: https://github.com/adelf/acwa_book_ru
Плагин Laravel Idea для PhpStorm: https://laravel-idea.com
Книга по Laravel: https://github.com/adelf/acwa_book_ru
Плагин Laravel Idea для PhpStorm: https://laravel-idea.com
❤2👀1
Laravel Http Macros 1.0.0 released
First Release
https://github.com/TheDragonCode/laravel-http-macros/releases/tag/1.0.0
#laravel_http_macros #http #laravel #macros
First Release
https://github.com/TheDragonCode/laravel-http-macros/releases/tag/1.0.0
#laravel_http_macros #http #laravel #macros
GitHub
Release 1.0.0 · TheDragonCode/laravel-http-macros
First Release
❤2