Laravel World

  1. Куда движется Laravel? Обзор интервью с Taylor OtwellРазбор интервью с Taylor Otwell с канала ThePrimeTime. Несмотря на то что брали интервью его фанаты, и каверзных вопросов не было, интервью было интересным и очень важным. Tейлор дал понять, куда движется развитие Laravel и почему был выбран именно этот маршрут.

    Куда движется Laravel? Обзор интервью с Taylor Otwell
    Разбор интервью с Taylor Otwell с канала ThePrimeTime. Несмотря на то что брали интервью его фанаты, и каверзных вопросов не было, интервью было интересным и очень важным. Tейлор дал понять, куда движется развитие Laravel и почему был выбран именно этот маршрут.
    https://habr.com/ru/articles/852734/

    • ❤️45
  2. Как Uber обновлял MySQL до версии 8.0Рассказывается о мотивах, проблемах и их решениях, связанные с этим масштабным процессом обновления.

    Как Uber обновлял MySQL до версии 8.0
    Рассказывается о мотивах, проблемах и их решениях, связанные с этим масштабным процессом обновления.
    https://www.uber.com/en-JO/blog/upgrading-ubers-mysql-fleet/

    • ❤️30
  3. Гибкое кэширование в Laravel — это очень простоВ Laravel 11 появилась новая функция кэширования, призванная изменить подход к обработке дорогостоящих операций с данными. Новый метод Cache::flexible() реализует паттерн, позволяющий обслуживать кэшированные данные, обновляя их в фоновом режиме, предлагая разумное решение извечной проблемы баланса между свежестью данных и производительностью приложения. В статье мы рассмотрим эту функцию, начав с основ и постепенно погружаясь в более сложные сценарии использования.

    Гибкое кэширование в Laravel — это очень просто
    В Laravel 11 появилась новая функция кэширования, призванная изменить подход к обработке дорогостоящих операций с данными. Новый метод Cache::flexible() реализует паттерн, позволяющий обслуживать кэшированные данные, обновляя их в фоновом режиме, предлагая разумное решение извечной проблемы баланса между свежестью данных и производительностью приложения. В статье мы рассмотрим эту функцию, начав с основ и постепенно погружаясь в более сложные сценарии использования.
    https://www.dev-notes.ru/articles/laravel/flexible-caching-in-laravel/

    • ❤️100
  4. Релиз PostgreSQL 17Тесты показывают ускорение на 20-30% В РЕАЛЬНЫХ ПРИЛОЖЕНИЯХ для запросов, используемых, например, при жадной загрузке в Laravel.

    Релиз PostgreSQL 17
    Тесты показывают ускорение на 20-30% В РЕАЛЬНЫХ ПРИЛОЖЕНИЯХ для запросов, используемых, например, при жадной загрузке в Laravel.

    • ❤️83
  5. Как закрыть регистрацию с одноразовых email

    Как закрыть регистрацию с одноразовых email
    https://msamgan.com/how-pinkary-avoids-registration-from-disposable-emails

    • ❤️34
  6. ⚡ Laravel Octane для тех, кто хочет быстро вкатиться, но не знает с чего начатьВозникла необходимость запустить вышеупомянутый сервис с RoadRunner на одном из проектов, и чтобы не ходить вокруг да около, прилагаю процесс в "сухом" виде:При разработке под Windows нужно обязательно войти в подсистему Linux (wsl или в контейнер виртуализации), так как под самим Windows запустить RoadRunner можно, но вот Laravel Octane - нет. Причина в использовании функций сигналов, отсутствующих в Windows. Дальше для всех одинаково.1. Устанавливаем зависимости:composer require laravel/octane spiral/roadrunner spiral/roadrunner-cli spiral/roadrunner-

    Forwarded from The Dragon Code News (Andrey Helldar)
    ⚡ Laravel Octane для тех, кто хочет быстро вкатиться, но не знает с чего начать

    Возникла необходимость запустить вышеупомянутый сервис с RoadRunner на одном из проектов, и чтобы не ходить вокруг да около, прилагаю процесс в "сухом" виде:

    При разработке под Windows нужно обязательно войти в подсистему Linux (wsl или в контейнер виртуализации), так как под самим Windows запустить RoadRunner можно, но вот Laravel Octane - нет. Причина в использовании функций сигналов, отсутствующих в Windows. Дальше для всех одинаково.



    1. Устанавливаем зависимости:

    composer require laravel/octane spiral/roadrunner spiral/roadrunner-cli spiral/roadrunner-http


    2. Выполняем консольную команду php artisan octane:install выбирая следующие пункты:
    2.1. Which app? roadrunner
    2.2. Download binary? Yes

    Всё. Октан готов к работе. Можете запускать консольную команду php artisan octane:start --watch и наслаждаться им.

    Но есть один нюанс, во всяком случае под Windows. Запуская октан в wsl, он не будет сохранять состояние приложения и при каждом обновлении страницы будет его заново инициализировать. Решение очень простое - нужно указать количество воркеров для работы, например, один:

    php artisan octane:start --worker=1


    Всё. Теперь октан будет гарантированно запоминать состояние. Но есть, опять же, нюанс - если к этой команде добавить параметр --watch, то она упадёт.

    Для сравнения, загрузка страницы со списком товаров из базы при старте через artisan serve и с БД в докер-контейнере, занимает у меня около 150-300 мс. Сервис, запущенный из wsl отдаёт данные за 5-7 секунд. Laravel Octane справляется за 41 мс.

    Также можно дополнить блок scripts в файле composer.json:

    {
        "scripts": {
            // ...
            "post-install-cmd": [
                "@roadrunner"
            ],
            "post-update-cmd": [
                "@php artisan vendor:publish --tag=laravel-assets --ansi --force",
                "@php artisan vendor:publish --tag=telescope-assets --ansi --force",
                "@roadrunner"
            ],
            "octane": [
                "Composer\\Config::disableProcessTimeout",
                "@php artisan octane:start --watch --workers=1"
            ],
            "roadrunner": [
                "rm -f rr",
                "@php vendor/bin/rr get-binary -o linux"
            ]
        }
    }


    После этого, при вызовах команд composer install и composer update октан будет автоматически обновляться.

    Учтите, что обновление происходит путём скачивания zip архива при помощи curl без пробрасывания авторизационного токена, установленного в Composer, поэтому чревато схватить ошибку 403 API rate limit exceeded.


    И вторая команда - composer octane вместо запуска самого октана.

    Всё 🙂

    • ❤️64