#полезное
📞 FastExcelWriter: Лёгкое и быстрое создание Excel-файлов на PHP
Если вы сталкивались с генерацией больших Excel-файлов на PHP, вы, вероятно, знакомы с PhpSpreadsheet. Хотя она функциональна, при работе с большими данными возможны проблемы с производительностью и потреблением памяти.
FastExcelWriter — альтернатива PhpSpreadsheet с упором на скорость и экономию ресурсов. Вместо хранения данных в памяти, библиотека пишет строки напрямую в файл, снижая нагрузку на систему.
Преимущества FastExcelWriter:
🔵 Генерация файлов в 7–9 раз быстрее PhpSpreadsheet
🔵 Минимальное потребление памяти благодаря построчной записи
🔵 Поддержка стилей, форматирования, изображений, диаграмм и примечаний
🔵 Простой и лаконичный API для разработчиков
Хабр
👉 Новости 👉 База вопросов
Если вы сталкивались с генерацией больших Excel-файлов на PHP, вы, вероятно, знакомы с PhpSpreadsheet. Хотя она функциональна, при работе с большими данными возможны проблемы с производительностью и потреблением памяти.
FastExcelWriter — альтернатива PhpSpreadsheet с упором на скорость и экономию ресурсов. Вместо хранения данных в памяти, библиотека пишет строки напрямую в файл, снижая нагрузку на систему.
Преимущества FastExcelWriter:
Хабр
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
#Собес
🤔 Как РНР обрабатывает загрузку файлов?
PHP обрабатывает загрузку файлов через суперглобальный массив
👉 Новости 👉 База вопросов
PHP обрабатывает загрузку файлов через суперглобальный массив
$_FILES
. Файл отправляется через форму с атрибутом enctype="multipart/form- data"
, и РНР сохраняет информацию о загружаемом файле в #_FILES, включая имя файла, тип и путь.Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
#полезное
😊 Прекрати использовать массивы PHP для обработки данных
Создавай свои DTO — классы со свойствами
или используй
Также не забудь про неизменяемость. Убедись, что твои DTO являются immutable (записываются один раз), чтобы можно было быть уверенным, что объект не был где-либо изменён.
Ключевое слово
👉 Новости 👉 База вопросов
Создавай свои DTO — классы со свойствами
или используй
spatie/laravel-data
Также не забудь про неизменяемость. Убедись, что твои DTO являются immutable (записываются один раз), чтобы можно было быть уверенным, что объект не был где-либо изменён.
Ключевое слово
readonly
тебе в этом поможетPlease open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
#полезное
😵 Разработчики на PHP, вы знали о Ticks в PHP?
Вы можете написать небольшой скрипт, чтобы остановить долго выполняющийся код по тайм-ауту — без использования pcntl!
Подходит не везде, но отлично заходит в циклах, плагинах или в песочнице.
Тык сюда
👉 Новости 👉 База вопросов
Вы можете написать небольшой скрипт, чтобы остановить долго выполняющийся код по тайм-ауту — без использования pcntl!
Подходит не везде, но отлично заходит в циклах, плагинах или в песочнице.
Тык сюда
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #mongoDB
🤔 Что такое коллекция в MongoDB?
Коллекция в MongoDB - это группа документов, связанных между собой по смыслу. В отличие от таблиц в реляционных базах данных, коллекции не имеют жесткой схемы, что позволяет хранить документы с разной структурой в одной коллекции.
👉 Новости 👉 База вопросов
Коллекция в MongoDB - это группа документов, связанных между собой по смыслу. В отличие от таблиц в реляционных базах данных, коллекции не имеют жесткой схемы, что позволяет хранить документы с разной структурой в одной коллекции.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
🛞 CRUD на PHP с использованием файберов и пула соединений с PostgreSQL
В новой статье на Хабре автор делится опытом создания прототипа CRUD-приложения, использующего файберы и пул соединений с PostgreSQL. Результаты впечатляют: один процесс PHP CLI обрабатывает 10 параллельных запросов за 2 секунды, благодаря асинхронной обработке и неблокирующему вводу-выводу.
🔍 Ключевые моменты:
Файберы позволяют обрабатывать несколько запросов в одном процессе, улучшая производительность.
Неблокирующий драйвер PostgreSQL обеспечивает асинхронное взаимодействие с базой данных.
Сравнение с сервером на базе PHP-FPM показало значительное преимущество в
производительности при использовании файлов.
Для кого это будет полезно:
🟠 Разработчикам, стремящимся повысить производительность своих приложений.
🟠 Тем, кто интересуется асинхронным программированием в PHP.
🟠 Специалистам, работающим с PostgreSQL и желающим оптимизировать взаимодействие с базой данных.
Хабр
👉 Новости 👉 База вопросов
В новой статье на Хабре автор делится опытом создания прототипа CRUD-приложения, использующего файберы и пул соединений с PostgreSQL. Результаты впечатляют: один процесс PHP CLI обрабатывает 10 параллельных запросов за 2 секунды, благодаря асинхронной обработке и неблокирующему вводу-выводу.
🔍 Ключевые моменты:
Файберы позволяют обрабатывать несколько запросов в одном процессе, улучшая производительность.
Неблокирующий драйвер PostgreSQL обеспечивает асинхронное взаимодействие с базой данных.
Сравнение с сервером на базе PHP-FPM показало значительное преимущество в
производительности при использовании файлов.
Для кого это будет полезно:
Хабр
Please open Telegram to view this post
VIEW IN TELEGRAM
Хабр
CRUD на PHP с использованием файберов и пула соединений с PostgreSQL
В этой статье я подготовил для вас прототип CRUD-приложения, которое использует файберы и неблокирующие(асинхронные) возможности драйвера PostreSQL . Вместе они дают любопытные результаты по...
This media is not supported in your browser
VIEW IN TELEGRAM
#полезное
🥺 Релиз Laravel Nightwatch
Веб-сервис для мониторинга Laravel-приложений. Есть бесплатный план.
https://blog.laravel.com/announcing-laravel-nightwatch
👉 Новости 👉 База вопросов
Веб-сервис для мониторинга Laravel-приложений. Есть бесплатный план.
https://blog.laravel.com/announcing-laravel-nightwatch
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
#Собес #mongoDB
🤔 Что такое BSON в MongoDB?
BSON (Binary JSON) - это бинарный формат сериализации, используемый MongoDB для хранения документов. Он расширяет JSON, добавляя поддержку дополнительных типов данных, таких как
👉 Новости 👉 База вопросов
BSON (Binary JSON) - это бинарный формат сериализации, используемый MongoDB для хранения документов. Он расширяет JSON, добавляя поддержку дополнительных типов данных, таких как
Date
, ObjectId
, и бинарные данные, а также оптимизирует производительность операцийPlease open Telegram to view this post
VIEW IN TELEGRAM
#статьи
😘 Как проект на Laravel набрал 1000+ звёзд на GitHub
История Laravel Workflow от идеи до популярности
Разработчик Райан МакДэниел поделился историей своего open-source проекта Laravel Workflow. Он начал его как внутренний тул для визуализации бизнес-процессов, а спустя несколько месяцев — получил более 1000 звёзд на GitHub.
В статье:
🟠 Как появилась идея проекта
🟠 Почему MVP важен даже для open-source
🟠 Как он получил первый фидбек и начал собирать аудиторию
🟠 Что сработало: Twitter, документация и честный storytelling
🟠 Какие уроки он вынес для себя как разработчик и автор OSS
Если вы тоже мечтаете запустить что-то своё — обязательно прочтите. Много практики и честных инсайтов.
Читаем
👉 Новости 👉 База вопросов
История Laravel Workflow от идеи до популярности
Разработчик Райан МакДэниел поделился историей своего open-source проекта Laravel Workflow. Он начал его как внутренний тул для визуализации бизнес-процессов, а спустя несколько месяцев — получил более 1000 звёзд на GitHub.
В статье:
Если вы тоже мечтаете запустить что-то своё — обязательно прочтите. Много практики и честных инсайтов.
Читаем
Please open Telegram to view this post
VIEW IN TELEGRAM
DEV Community
From Idea to 1,000+ Stars: How Laravel Workflow Took Off
I was working at a fintech company, wrestling with long-running processes that felt like a constant...
❤1
#полезное
👍 AI-агент Junie для PhpStorm
https://blog.jetbrains.com/phpstorm/2025/06/discover-junie-for-phpstorm/
👉 Новости 👉 База вопросов
https://blog.jetbrains.com/phpstorm/2025/06/discover-junie-for-phpstorm/
Please open Telegram to view this post
VIEW IN TELEGRAM
The JetBrains Blog
Discover Junie for PhpStorm: A Game-Changing AI Coding Agent for PHP Development | The PhpStorm Blog
Explore how you can benefit from Junie, the AI coding agent by JetBrains, for your PHP development.
#Собес #mongoDB
🤔 Что такое MongoDB и чем она отличается от традиционных реляционных баз данных?
MongoDB - это NoSQL-база данных, ориентированная на документы. Она отличается гибкостью, так как не требует заранее заданной схемы, и возможностью горизонтального масштабирования. В отличие от реляционных баз, данные хранятся в формате BSON (расширение JSON), что делает MongoDB более подходящей для работы с неструктурированными данными.
👉 Новости 👉 База вопросов
MongoDB - это NoSQL-база данных, ориентированная на документы. Она отличается гибкостью, так как не требует заранее заданной схемы, и возможностью горизонтального масштабирования. В отличие от реляционных баз, данные хранятся в формате BSON (расширение JSON), что делает MongoDB более подходящей для работы с неструктурированными данными.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
#полезное
🥄 Thumbhash PHP — читаемые идентификаторы
Это библиотека для создания уникальных, читаемых человеком идентификаторов из файлов изображений. Он вдохновлен алгоритмом Thumbhash Эвана Уоллеса и обеспечивает реализацию алгоритма на PHP.
Thumbhash — это компактное представление плейсхолдера для изображения. Создавайте его в соответствии с вашими данными в то время как реальное изображение грузится для более плавной загрузки.
Гитхаб
👉 Новости 👉 База вопросов
Это библиотека для создания уникальных, читаемых человеком идентификаторов из файлов изображений. Он вдохновлен алгоритмом Thumbhash Эвана Уоллеса и обеспечивает реализацию алгоритма на PHP.
Thumbhash — это компактное представление плейсхолдера для изображения. Создавайте его в соответствии с вашими данными в то время как реальное изображение грузится для более плавной загрузки.
Гитхаб
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😬 Это не задокументировано, но в Laravel можно подписаться на событие
Это очень полезно, если нужно реализовать блоклист — например, чтобы не отправлять письма на адреса, которые ранее дали bounce в SES, и таким образом сохранить репутацию отправителя.
Можно изменить email «на лету» и убрать из него адреса, попавшие в блоклист. Если после этого не остаётся ни одного адреса для отправки, достаточно вернуть
👉 Новости 👉 База вопросов
MessageSending
и предотвратить отправку письма, если выполняется определённое условие.Это очень полезно, если нужно реализовать блоклист — например, чтобы не отправлять письма на адреса, которые ранее дали bounce в SES, и таким образом сохранить репутацию отправителя.
Можно изменить email «на лету» и убрать из него адреса, попавшие в блоклист. Если после этого не остаётся ни одного адреса для отправки, достаточно вернуть
false
— письмо будет тихо отброшено и не уйдётPlease open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😐 Фича дня:
Иногда нужно привязать данные к объекту, но не мешать сборщику мусора его удалять.
Обычные массивы — не вариант. Но есть
Что это даёт?
– Кэш на уровне объектов
– Без утечек памяти
– Удобно для библиотек и DI-контейнеров
Где применимо:
– Lazy-loading
– Трассировка состояния
– Симпатичная альтернатива
Работает с PHP 8.0+
👉 Новости 👉 База вопросов
WeakMap
в PHPИногда нужно привязать данные к объекту, но не мешать сборщику мусора его удалять.
Обычные массивы — не вариант. Но есть
WeakMap
.Что это даёт?
– Кэш на уровне объектов
– Без утечек памяти
– Удобно для библиотек и DI-контейнеров
Где применимо:
– Lazy-loading
– Трассировка состояния
– Симпатичная альтернатива
SplObjectStorage
Работает с PHP 8.0+
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #mongoDB
🤔 Какова роль профайлера в MongoDB?
Профайлер MongoDB анализирует производительность операций с базой данных, включая чтение, запись и выполнение запросов. Он помогает находить медленные запросы и решать, где требуется оптимизация, например, добавление индексов.
👉 Новости 👉 База вопросов
Профайлер MongoDB анализирует производительность операций с базой данных, включая чтение, запись и выполнение запросов. Он помогает находить медленные запросы и решать, где требуется оптимизация, например, добавление индексов.
Please open Telegram to view this post
VIEW IN TELEGRAM
#статьи
👋 «Как я уронил прод на полтора часа (и при чем тут soft delete и partial index)»
В жизни любого разработчика наступает момент, когда он роняет прод.
Сегодня мы услышим историю от разработчика из популярной edtech-компании о том, как это было у них, и как он оперативно исправлял ошибки, связанные с тонкостями PostgreSQL.
Хабр
👉 Новости 👉 База вопросов
В жизни любого разработчика наступает момент, когда он роняет прод.
Сегодня мы услышим историю от разработчика из популярной edtech-компании о том, как это было у них, и как он оперативно исправлял ошибки, связанные с тонкостями PostgreSQL.
Хабр
Please open Telegram to view this post
VIEW IN TELEGRAM