🚀 Как работать с большими JSON-данными в Laravel
Если вам нужно передавать большие JSON-данные из Laravel, вы наверняка сталкивались с проблемами, такими как перегрузка памяти и тайм-ауты. В этой статье рассмотрим несколько паттернов для улучшения производительности и пользовательского опыта при работе с большими JSON-ответами.
1️⃣ Сжатие данных
Сжимаем данные с помощью gzip или Brotli на сервере (Nginx/Apache). Это минимизирует сетевой трафик и ускоряет передачу данных.
2️⃣ Стриминг JSON (не используем всю память)
JSON-массив: Используем
NDJSON: Каждая строка — отдельный объект JSON, упрощает обработку клиентом.
3️⃣ Разбиение данных на чанки
Не загружайте все данные в память. Используйте
4️⃣ Экспорт в файл
Для больших и повторяющихся экспортов создавайте предварительно сжатые файлы и подавайте их как статические ресурсы.
5️⃣ Выбор правильного формата
JSON array: Для одного документа.
NDJSON: Для построчного стриминга.
CSV: Для табличных данных.
Эти паттерны помогут вам значительно улучшить производительность и UX.
👉 Читайте статью на Medium и узнайте все детали
Библиотека пхпшника
Если вам нужно передавать большие JSON-данные из Laravel, вы наверняка сталкивались с проблемами, такими как перегрузка памяти и тайм-ауты. В этой статье рассмотрим несколько паттернов для улучшения производительности и пользовательского опыта при работе с большими JSON-ответами.
1️⃣ Сжатие данных
Сжимаем данные с помощью gzip или Brotli на сервере (Nginx/Apache). Это минимизирует сетевой трафик и ускоряет передачу данных.
2️⃣ Стриминг JSON (не используем всю память)
JSON-массив: Используем
LazyCollection
для стриминга данных по частям, что экономит память.NDJSON: Каждая строка — отдельный объект JSON, упрощает обработку клиентом.
3️⃣ Разбиение данных на чанки
Не загружайте все данные в память. Используйте
chunkById
для обработки данных партиями, что помогает избежать проблем с производительностью.4️⃣ Экспорт в файл
Для больших и повторяющихся экспортов создавайте предварительно сжатые файлы и подавайте их как статические ресурсы.
5️⃣ Выбор правильного формата
JSON array: Для одного документа.
NDJSON: Для построчного стриминга.
CSV: Для табличных данных.
Эти паттерны помогут вам значительно улучшить производительность и UX.
👉 Читайте статью на Medium и узнайте все детали
Библиотека пхпшника
❤4
⏰ Осталось 48 часов!
Обратный отсчёт пошёл: только до воскресенья 23:59 можно купить курс «AI-агенты для DS-специалистов» и начать учиться уже с 15 сентября.
⚡️ Это ваши +3 недели форы, чтобы спокойно разобраться в самых сложных темах и прийти к первому занятию 7 октября уже подготовленным.
👉 Забрать место
Обратный отсчёт пошёл: только до воскресенья 23:59 можно купить курс «AI-агенты для DS-специалистов» и начать учиться уже с 15 сентября.
⚡️ Это ваши +3 недели форы, чтобы спокойно разобраться в самых сложных темах и прийти к первому занятию 7 октября уже подготовленным.
👉 Забрать место
😁1🌚1
⏳ Стоит ли тратить время на магистратуру
Перед каждым встаёт вопрос после бакалавриата — нужно ли идти в магистратуру или лучше пойти работать? Давайте разберемся, что даст каждый из вариантов и какие плюсы и минусы их сопровождают.
Почему магистратура это круто:
• Магистратура поможет углубить теоретические знания: алгоритмы, архитектура программных систем и другие важные дисциплины.
• Для некоторых компаний наличие магистерской степени может быть важным критерием при найме.
• В магистратуре можно завести полезные профессиональные связи.
Минусы магистратуры:
• 2-3 года учебы — это время, которое можно было бы потратить на реальные проекты и самообразование.
• Многие работодатели ценят практический опыт больше, чем диплом, особенно в сфере разработки.
💬 Что посоветуете тем, кто стоит перед выбором? Или может вы стоите перед таким выбором? Делитесь советами и мыслями в комментарии 👇
🐸 Библиотека пхпшника
#междусобойчик
Перед каждым встаёт вопрос после бакалавриата — нужно ли идти в магистратуру или лучше пойти работать? Давайте разберемся, что даст каждый из вариантов и какие плюсы и минусы их сопровождают.
Почему магистратура это круто:
• Магистратура поможет углубить теоретические знания: алгоритмы, архитектура программных систем и другие важные дисциплины.
• Для некоторых компаний наличие магистерской степени может быть важным критерием при найме.
• В магистратуре можно завести полезные профессиональные связи.
Минусы магистратуры:
• 2-3 года учебы — это время, которое можно было бы потратить на реальные проекты и самообразование.
• Многие работодатели ценят практический опыт больше, чем диплом, особенно в сфере разработки.
#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
🤓 «Сначала выучу Python идеально, а потом пойду в ML»
Звучит логично, но на практике — ловушка.
Python огромный: фреймворки, библиотеки, нюансы синтаксиса. Учить «всё сразу» можно бесконечно.
В итоге — месяцы зубрёжки, а до ML руки так и не доходят.
На старте достаточно баз: типы данных, циклы, функции, работа с библиотеками. Всё остальное лучше подтягивать в процессе решения ML-задач.
⚠️ До 1 сентября курсы можно забрать по старым ценам. Это последние выходные, когда:
— ML идёт за 34 000 вместо 44 000 ₽ + Python в подарок,
— два в одном: оплатите курс по математике и получите второй доступ в подарок,
— и главное: можно купить все курсы до подорожания.
👉 ML для старта в Data Science
А для будущих Data Scientist’ов у нас ещё:
— Базовые модели ML и приложения
— Математика для Data Science
— AI-агенты для DS-специалистов (2-й поток скоро)
Звучит логично, но на практике — ловушка.
Python огромный: фреймворки, библиотеки, нюансы синтаксиса. Учить «всё сразу» можно бесконечно.
В итоге — месяцы зубрёжки, а до ML руки так и не доходят.
На старте достаточно баз: типы данных, циклы, функции, работа с библиотеками. Всё остальное лучше подтягивать в процессе решения ML-задач.
⚠️ До 1 сентября курсы можно забрать по старым ценам. Это последние выходные, когда:
— ML идёт за 34 000 вместо 44 000 ₽ + Python в подарок,
— два в одном: оплатите курс по математике и получите второй доступ в подарок,
— и главное: можно купить все курсы до подорожания.
👉 ML для старта в Data Science
А для будущих Data Scientist’ов у нас ещё:
— Базовые модели ML и приложения
— Математика для Data Science
— AI-агенты для DS-специалистов (2-й поток скоро)
Comments Density Analyzer — это инструмент для анализа плотности и качества комментариев в базе кода на PHP.
Подключается через Composer (
Отслеживать
Обнаруживать «некачественные» комментарии или закомментированный старый код.
Гарантировать наличие doc‑блоков у классов и методов.
Кратко о фишках:
Поддержка разных типов комментариев, включая лицензии, TODO, FIXME и doc‑блоки.
Плагинная архитектура для расширения функционала.
Отчёты в консоль и в HTML.
Установка порогов и возврат exit‑кодов при их превышении.
Возможность baseline-файла, чтобы игнорировать уже существующую техдолг и фокусироваться на новом.
Установка и пример:
Конфигурация через
🔗 Github
Библиотека пхпшника
#инструменты
Подключается через Composer (
--dev
) и помогает:Отслеживать
TODO
и FIXME
в CI/CD, чтобы они не накапливались.Обнаруживать «некачественные» комментарии или закомментированный старый код.
Гарантировать наличие doc‑блоков у классов и методов.
Кратко о фишках:
Поддержка разных типов комментариев, включая лицензии, TODO, FIXME и doc‑блоки.
Плагинная архитектура для расширения функционала.
Отчёты в консоль и в HTML.
Установка порогов и возврат exit‑кодов при их превышении.
Возможность baseline-файла, чтобы игнорировать уже существующую техдолг и фокусироваться на новом.
Установка и пример:
composer require --dev savinmikhail/comments-density
php vendor/bin/comments_density analyze
php vendor/bin/comments_density baseline
Конфигурация через
comments_density.php
с настройкой директорий, типов комментариев и порогов.🔗 Github
Библиотека пхпшника
#инструменты
👍2
ПОСЛЕДНИЙ ДЕНЬ❗
КУРСЫ ПОДОРОЖАЮТ ЗАВТРА‼️
— ML за 34к вместо 44к + Python в подарок
— Математика → второй доступ в подарок
— Ранний доступ к AI-агентам с 15 сентября
— И МОЖНО УСПЕТЬ КУПИТЬ ВСЁ ДО ПОДОРОЖАНИЯ
👉 Proglib Academy
КУРСЫ ПОДОРОЖАЮТ ЗАВТРА‼️
— ML за 34к вместо 44к + Python в подарок
— Математика → второй доступ в подарок
— Ранний доступ к AI-агентам с 15 сентября
— И МОЖНО УСПЕТЬ КУПИТЬ ВСЁ ДО ПОДОРОЖАНИЯ
👉 Proglib Academy
Forwarded from Библиотека задач по PHP | тесты, код, задания
Symfony — Использование Flash-сообщений
Где будет доступно сообщение
Где будет доступно сообщение
'Data saved successfully!'
после выполнения этого кода?Forwarded from Библиотека задач по PHP | тесты, код, задания
Где будет доступно сообщение 'Data saved successfully!' после выполнения этого кода?
Anonymous Quiz
17%
В следующем запросе HTTP
22%
В текущем запросе HTTP
3%
В базе данных
57%
В сессии пользователя
😁8
Forwarded from Книги для программистов
Это книга о том, как распилить монолит на такие мелкие кусочки, что потом их сложно не только собрать, но и найти
Автор — Сэм Ньюман, ваш микросервисный гуру, который прошёл через боль продакшена и вернулся с диаграммами. Во втором издании он делится не только как это строить, но и как это всё потом поддерживать и не сойти с ума.
Что внутри:
🔧 Как заставить сервисы разговаривать друг с другом, не вызывая слёз у девопсов
🔍 Как тестировать микросервисы, не нарушая каноны
🚢 Как деплоить всё это счастье независимо и желательно без жертв
🛡️ И, конечно, как не дать хакеру превратить ваш gRPC в трагедию
Please open Telegram to view this post
VIEW IN TELEGRAM
«Как мы снизили время отклика в 15 раз на новом портале ВДНХ через Laravel + Nuxt и масштабируемую архитектуру»
В конце мая 2025 года ВДНХ представил обновлённый сайт, объединивший все проекты выставки на одной платформе. 🎨 Новый дизайн, интерактивная 3D-карта и возможность купить билеты — всё это стало возможным благодаря масштабной модернизации, которая включала в себя новые технологии и архитектурные решения.
💡 Основные моменты:
🔹 Старый сайт: 14 отдельных сайтов с различными дизайнами и техническими решениями, что создавало путаницу для пользователей и трудности для контент-менеджеров.
🔹 Новая архитектура: Система, построенная на Laravel (бэкенд) и Nuxt.js (фронтенд), решала задачи масштабируемости и высокой производительности. Преимущества — гибридный рендеринг, быстрый отклик страниц и улучшенная SEO-оптимизация.
🔹 Производительность: Время отклика сократилось почти в 15 раз — с 900 мс до 62 мс, что значительно улучшило пользовательский опыт, особенно во время пиковых нагрузок. 🌐
🔹 Микросервисы и кэширование: Модульная архитектура с поддержкой Redis, Memcached и Nginx обеспечила высокую нагрузочную способность и быстрый доступ к данным.
🔹 Интерфейс и поддержка контента: Удобная админ-панель на Laravel Orchid позволяет легко обновлять контент и настраивать страницы. Многоязычная поддержка и адаптивное меню делают сайт доступным для широкой аудитории.
⚙️ Под капотом:
Гибридный рендеринг (SSR + клиентская подгрузка)
Многоуровневое кэширование для динамических и статичных данных
Прогрессивные веб-приложения с функцией офлайн-режима
📊 Результаты: по тестам, время загрузки страницы улучшилось на 40%, а сайт теперь способен выдерживать многократный рост трафика без потери качества.
🔗 Хабр
Библиотека пхпшника
В конце мая 2025 года ВДНХ представил обновлённый сайт, объединивший все проекты выставки на одной платформе. 🎨 Новый дизайн, интерактивная 3D-карта и возможность купить билеты — всё это стало возможным благодаря масштабной модернизации, которая включала в себя новые технологии и архитектурные решения.
💡 Основные моменты:
🔹 Старый сайт: 14 отдельных сайтов с различными дизайнами и техническими решениями, что создавало путаницу для пользователей и трудности для контент-менеджеров.
🔹 Новая архитектура: Система, построенная на Laravel (бэкенд) и Nuxt.js (фронтенд), решала задачи масштабируемости и высокой производительности. Преимущества — гибридный рендеринг, быстрый отклик страниц и улучшенная SEO-оптимизация.
🔹 Производительность: Время отклика сократилось почти в 15 раз — с 900 мс до 62 мс, что значительно улучшило пользовательский опыт, особенно во время пиковых нагрузок. 🌐
🔹 Микросервисы и кэширование: Модульная архитектура с поддержкой Redis, Memcached и Nginx обеспечила высокую нагрузочную способность и быстрый доступ к данным.
🔹 Интерфейс и поддержка контента: Удобная админ-панель на Laravel Orchid позволяет легко обновлять контент и настраивать страницы. Многоязычная поддержка и адаптивное меню делают сайт доступным для широкой аудитории.
⚙️ Под капотом:
Гибридный рендеринг (SSR + клиентская подгрузка)
Многоуровневое кэширование для динамических и статичных данных
Прогрессивные веб-приложения с функцией офлайн-режима
📊 Результаты: по тестам, время загрузки страницы улучшилось на 40%, а сайт теперь способен выдерживать многократный рост трафика без потери качества.
🔗 Хабр
Библиотека пхпшника
🥱2