Stateless сервисы в PHP
Статья объясняет принципы Stateless архитектуры и демонстрирует, как этот подход упрощает создание масштабируемых и отказоустойчивых сервисов. В ней рассматриваются ключевые концепции, а также практические примеры реализации Stateless сервисов с использованием PHP.
👉 @web_craft | #php
Статья объясняет принципы Stateless архитектуры и демонстрирует, как этот подход упрощает создание масштабируемых и отказоустойчивых сервисов. В ней рассматриваются ключевые концепции, а также практические примеры реализации Stateless сервисов с использованием PHP.
👉 @web_craft | #php
❤3
Какие записи выбирает метод whereNowOrPast?
Anonymous Quiz
4%
Только записи, созданные в прошлом.
87%
Записи с датой в прошлом или настоящем.
5%
Записи, у которых дата не указана.
4%
Только записи, обновленные сегодня.
❤1👍1
Назначение whereNowOrPast
Какие записи выбирает метод
Посмотреть ответ.
👉 @web_craft | #laravel
Какие записи выбирает метод
whereNowOrPast?Посмотреть ответ.
👉 @web_craft | #laravel
❤1
Что делает RegExp.escape() со строкой, содержащей специальные символы?
Anonymous Quiz
5%
Ничего не меняет.
5%
Выбрасывает ошибку.
35%
Заменяет их на эквивалентные символы Unicode.
55%
Подготавливает её для включения в шаблон, экранируя их.
👍2
Принцип работы RegExp.escape()
Что делает
Посмотреть ответ.
👉 @web_craft | #frontend
Что делает
RegExp.escape() со строкой, содержащей специальные символы?Посмотреть ответ.
👉 @web_craft | #frontend
❤3
Кэширование HTTP-запросов
При работе с внешними API нередко требуется повторно использовать один и тот же ответ, чтобы снизить нагрузку и ускорить работу приложения. Laravel HTTP Client поддерживает встроенное кэширование ответов, что позволяет сохранять результаты на заданное время.
Для этого применяется метод
Такой подход полезен, например, при интеграции с сервисами, где данные обновляются редко, а количество запросов ограничено.
👉 @web_craft | #laravel
При работе с внешними API нередко требуется повторно использовать один и тот же ответ, чтобы снизить нагрузку и ускорить работу приложения. Laravel HTTP Client поддерживает встроенное кэширование ответов, что позволяет сохранять результаты на заданное время.
Для этого применяется метод
withCache(), в который передаётся объект CacheStore и время жизни кэша. При повторном обращении в пределах указанного времени будет возвращаться сохранённый результат, без повторного запроса к API.use Illuminate\Support\Facades\Http;
use Illuminate\Support\Facades\Cache;
// Кэшируем ответ на 60 секунд
$response = Http::withCache(Cache::store('file'), 60)
->get('https://api.example.com/posts');
// Проверяем статус
if ($response->ok()) {
$posts = $response->json();
}
Такой подход полезен, например, при интеграции с сервисами, где данные обновляются редко, а количество запросов ограничено.
👉 @web_craft | #laravel
👍5👎4
Как устроены массивы в PHP и как код влияет на скорость работы с ними
Массивы в PHP играют ключевую роль в работе разработчиков: они используются повсеместно, однако внутреннее устройство этой структуры данных остается за кадром. Между тем именно его особенности напрямую влияют на скорость выполнения операций и потребление памяти приложением.
👉 @web_craft | #php
Массивы в PHP играют ключевую роль в работе разработчиков: они используются повсеместно, однако внутреннее устройство этой структуры данных остается за кадром. Между тем именно его особенности напрямую влияют на скорость выполнения операций и потребление памяти приложением.
👉 @web_craft | #php
❤3
Вот 17 авторских обучающих IT каналов по самым востребованным областям программирования:
Выбирай своё направление:
Please open Telegram to view this post
VIEW IN TELEGRAM
У кого было такое?
👍 - Не только лодку заставляли летать
❤️ - Пока не было, но ожидаю
👉 @web_craft |#юмор
👍 - Не только лодку заставляли летать
❤️ - Пока не было, но ожидаю
👉 @web_craft |#юмор
👍19🔥3
🔥 PHP-разработчики, готовы прокачать Laravel до уровня, на который другие тратят годы?
Онлайн курс «Framework Laravel» - ваш шанс за 3 месяца освоить фреймворк, который делает разработку проще, быстрее и интереснее.
Какие преимущества обучения по Laravel:
• Laravel ускоряет разработку за счет элегантного синтаксиса, богатой экосистемы и инструментов Artisan.
• Интуитивный ORM Eloquent упрощает работу с данными и повышает читаемость кода.
• Фреймворк масштабируется от MVP до высоконагруженных систем, имеет встроенные средства оптимизации, легко интегрируется с Vue/React/Angular, поддерживается активным сообществом и подтвержден практикой крупных компаний.
Также приглашаем вас на бесплатный вебинар «Advanced Eloquent Relations в Laravel»
🗓 7 октября, 20:00
На вебинаре:
• Кастомные отношения в Laravel Eloquent — от Post до Comment и Author
• Использование отношений за пределами реляционных БД
• Практика на реальных примерах
Кто придёт первым - освоит секреты продвинутого Laravel и научится создавать отношения там, где другие даже не думают их строить.
Записаться на вебинар: https://clck.ru/3PXVo2
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
erid 2SDnje7Agai
Онлайн курс «Framework Laravel» - ваш шанс за 3 месяца освоить фреймворк, который делает разработку проще, быстрее и интереснее.
Какие преимущества обучения по Laravel:
• Laravel ускоряет разработку за счет элегантного синтаксиса, богатой экосистемы и инструментов Artisan.
• Интуитивный ORM Eloquent упрощает работу с данными и повышает читаемость кода.
• Фреймворк масштабируется от MVP до высоконагруженных систем, имеет встроенные средства оптимизации, легко интегрируется с Vue/React/Angular, поддерживается активным сообществом и подтвержден практикой крупных компаний.
Также приглашаем вас на бесплатный вебинар «Advanced Eloquent Relations в Laravel»
🗓 7 октября, 20:00
На вебинаре:
• Кастомные отношения в Laravel Eloquent — от Post до Comment и Author
• Использование отношений за пределами реляционных БД
• Практика на реальных примерах
Кто придёт первым - освоит секреты продвинутого Laravel и научится создавать отношения там, где другие даже не думают их строить.
Записаться на вебинар: https://clck.ru/3PXVo2
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
erid 2SDnje7Agai
👍1
Как изменился рынок труда в IT
В последнее время активно обсуждаются изменения на рынке труда в IT-секторе, что стало поводом для проведения исследования. В данной статье представлены результаты опроса 128 специалистов, а также ключевые выводы, касающиеся уровня зарплат, поисков работы и текущего настроения профессионалов отрасли.
👉 @web_craft | #собес
В последнее время активно обсуждаются изменения на рынке труда в IT-секторе, что стало поводом для проведения исследования. В данной статье представлены результаты опроса 128 специалистов, а также ключевые выводы, касающиеся уровня зарплат, поисков работы и текущего настроения профессионалов отрасли.
👉 @web_craft | #собес
❤2
Назначение метода times
Какую основную задачу решает статический метод
Посмотреть ответ.
👉 @web_craft | #laravel
Какую основную задачу решает статический метод
Collection::times()?Посмотреть ответ.
👉 @web_craft | #laravel
❤1
Какую основную задачу решает статический метод Collection::times()?
Anonymous Quiz
6%
Фильтрует коллекцию, оставляя только уникальные элементы.
44%
Создает новую коллекцию, запуская функцию указанное количество раз.
12%
Умножает каждое числовое значение в коллекции на заданное число.
38%
Возвращает время выполнения операций с коллекцией.
❤1👍1
Изменяемый буфер
Какую опцию необходимо указать при создании
Посмотреть ответ.
👉 @web_craft | #frontend
Какую опцию необходимо указать при создании
SharedArrayBuffer для того, чтобы его размер можно было изменять?Посмотреть ответ.
👉 @web_craft | #frontend
❤1
Какую опцию необходимо указать при создании SharedArrayBuffer для того, чтобы его размер можно было изменять?
Anonymous Quiz
38%
Resizable.
27%
Dynamic.
18%
MaxByteLength.
18%
AllowResize.
👍2
Параллельное выполнение заданий в очередях
В Laravel задания (jobs) по умолчанию обрабатываются последовательно. Но иногда требуется запустить несколько заданий параллельно и дождаться их выполнения перед продолжением логики. Для этого используется метод
Batch позволяет объединить набор заданий в "пакет", запускать их одновременно и отслеживать статус выполнения всего набора. Это особенно полезно, если нужно обработать много однотипных задач (например, экспорт данных или массовую отправку уведомлений).
👉 @web_craft | #laravel
В Laravel задания (jobs) по умолчанию обрабатываются последовательно. Но иногда требуется запустить несколько заданий параллельно и дождаться их выполнения перед продолжением логики. Для этого используется метод
Bus::batch().Batch позволяет объединить набор заданий в "пакет", запускать их одновременно и отслеживать статус выполнения всего набора. Это особенно полезно, если нужно обработать много однотипных задач (например, экспорт данных или массовую отправку уведомлений).
use Illuminate\Bus\Batch;
use Illuminate\Support\Facades\Bus;
use Throwable;
Bus::batch([
new ProcessPodcast(1),
new ProcessPodcast(2),
new ProcessPodcast(3),
])->then(function (Batch $batch) {
// Все задания выполнены успешно
})->catch(function (Batch $batch, Throwable $e) {
// Какое-то из заданий завершилось ошибкой
})->finally(function (Batch $batch) {
// Выполнится в любом случае
})->dispatch();
👉 @web_craft | #laravel
🔥4👍2
Как ускорить портал в 15 раз: кейс ВДНХ
Команда разработчиков делится опытом, как им удалось радикально сократить время отклика на новом портале ВДНХ. В статье — практические приёмы оптимизации на Laravel + Nuxt, подход к построению масштабируемой архитектуры и реальные метрики до и после. Отличный пример того, как грамотные решения влияют на производительность.
👉 @web_craft | #laravel
Команда разработчиков делится опытом, как им удалось радикально сократить время отклика на новом портале ВДНХ. В статье — практические приёмы оптимизации на Laravel + Nuxt, подход к построению масштабируемой архитектуры и реальные метрики до и после. Отличный пример того, как грамотные решения влияют на производительность.
👉 @web_craft | #laravel
❤3
И куда они едут?
❤️- Устраиваться на завод
👍- Так все ясно, уже в доставке работают
👉 @web_craft |#юмор
❤️- Устраиваться на завод
👍- Так все ясно, уже в доставке работают
👉 @web_craft |#юмор
👍8🤔1