#полезное
😐 Фича дня:
Иногда нужно привязать данные к объекту, но не мешать сборщику мусора его удалять.
Обычные массивы — не вариант. Но есть
Что это даёт?
– Кэш на уровне объектов
– Без утечек памяти
– Удобно для библиотек и 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
#полезное
👨💻 Передаём Query Builder в whereIn для сокращения количества запросов
https://ashallendesign.co.uk/blog/laravel-wherein-reduce-queries
👉 Новости 👉 База вопросов
https://ashallendesign.co.uk/blog/laravel-wherein-reduce-queries
Please open Telegram to view this post
VIEW IN TELEGRAM
ashallendesign.co.uk
Pass a Query Builder to "whereIn" to Reduce Your DB Queries
Learn how to reduce your database queries by passing an instance of "Illuminate\Database\Query\Builder" to the "whereIn" method of your queries.
Please open Telegram to view this post
VIEW IN TELEGRAM
Хабр
PHP и Laravel дайджест новостей за май 2025 года
Всем привет! Это дайджест новостей от CutCode. Давайте посмотрим, что произошло за прошедший месяц в мире PHP и Laravel. Новости PHP Релизы PHP 8.3.21 и PHP 8.4.7 Выпуски с исправлением ошибок...
#Собес #mongoDB
🤔 Какие модели данных существуют в MongoDB?
MongoDB поддерживает две основные модели данных: вложенные (embedded) и нормализованные (normalized). Вложенные модели объединяют данные в одном документе, а нормализованные используют ссылки между документами.
👉 Новости 👉 База вопросов
MongoDB поддерживает две основные модели данных: вложенные (embedded) и нормализованные (normalized). Вложенные модели объединяют данные в одном документе, а нормализованные используют ссылки между документами.
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😎 Совет по Laravel: хватит писать кастомную логику повторных попыток для нестабильных API
Используйте
Ссылка на документацию
👉 Новости 👉 База вопросов
Используйте
Http::retry()
— он автоматически повторяет неудачные запросы с экспоненциальной задержкой между попытками.Ссылка на документацию
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
#статьи
😵💫
В этой статье разберем, как PHP работает со строками и почему даже простой вызов
На примере крайне простой задачи "что выведет
Хабр
👉 Новости 👉 База вопросов
strlen()
vs mb_strlen()
: Почему 71% PHP-разработчиков ошибаютсяВ этой статье разберем, как PHP работает со строками и почему даже простой вызов
strlen()
может привести к неожиданным результатам. На примере крайне простой задачи "что выведет
echo strlen('привет!');
" посмотрим, что и как влияет на подсчет длины строки, заглянем внутрь реализации strlen()
и развенчаем миф о строках как массивах.Хабр
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😱 Удобный шпаргалка с самыми полезными константами языка PHP
От DIR до UPLOAD_ERR_NO_FILE — всё аккуратно сгруппировано и готово к версии 8.4
👉 Новости 👉 База вопросов
От DIR до UPLOAD_ERR_NO_FILE — всё аккуратно сгруппировано и готово к версии 8.4
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #mongoDB
🤔 Какие языки программирования поддерживает MongoDB?
MongoDB официально поддерживает языки С, C++, C#, Java, Node.js, Perl, PHP, ython, Ruby, Scala, Go и Erlang. Также есть драйверы, созданные сообществом для других языков.
👉 Новости 👉 База вопросов
MongoDB официально поддерживает языки С, C++, C#, Java, Node.js, Perl, PHP, ython, Ruby, Scala, Go и Erlang. Также есть драйверы, созданные сообществом для других языков.
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
👨💻 Совет по Laravel
Делаешь несколько API-запросов? Не отправляй их по очереди!
Вместо этого используй
Ссылка на документацию
👉 Новости 👉 База вопросов
Делаешь несколько API-запросов? Не отправляй их по очереди!
Вместо этого используй
Http::pool()
— он позволяет запускать запросы параллельно и прокачать производительность, выполнив их все одновременно.Ссылка на документацию
Please open Telegram to view this post
VIEW IN TELEGRAM
#ЛитКод
Задача: 717. 1-bit and 2-bit Characters
У нас есть два специальных символа: первый символ может быть представлен одним битом 0. Второй символ может быть представлен двумя битами (10 или 11). Если задан двоичный массив bits, который заканчивается 0, верните true, если последний символ должен быть однобитным.
Пример:
👨💻 Алгоритм:
1⃣ Инициализируйте индекс для итерации по массиву.
2⃣ Пройдите по массиву, увеличивая индекс на 1, если текущий бит равен 0, и на 2, если текущий бит равен 1.
3⃣ Проверьте, достиг ли индекс последнего элемента массива, и верните результат.
😎 Решение:
👉 Новости 👉 База вопросов
Задача: 717. 1-bit and 2-bit Characters
У нас есть два специальных символа: первый символ может быть представлен одним битом 0. Второй символ может быть представлен двумя битами (10 или 11). Если задан двоичный массив bits, который заканчивается 0, верните true, если последний символ должен быть однобитным.
Пример:
Input: bits = [1,0,0]
Output: true
function isOneBitCharacter($bits) {
$i = 0;
while ($i < count($bits) - 1) {
$i += $bits[$i] + 1;
}
return $i == count($bits) - 1;
}
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
#Собес #mongoDB
🤔 Что такое индексы в MongoDB?
Индексы - это структуры, которые упрощают и ускоряют поиск данных в оллекциях MongoDB. Они позволяют базе данных эффективно находить записи, не сканируя все документы в коллекции.
👉 Новости 👉 База вопросов
Индексы - это структуры, которые упрощают и ускоряют поиск данных в оллекциях MongoDB. Они позволяют базе данных эффективно находить записи, не сканируя все документы в коллекции.
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
👍 static-php-cli — сборка в бинарный файл
Инструмент для сборки PHP-приложений в один бинарный файл без дополнительных зависимостей.
Он имеет множество фич:
🟡 Сборка однофайлового исполняемого файла php, без каких-либо зависимостей
🟡 Сборка самораспаковывающегося исполняемого файла phpmicro (склеивание бинарного и исходного кода php в один файл)
🟡 Автоматическая проверка окружения сборки (модуль Doctor)
🟡 Поддержка Linux, macOS, FreeBSD, Windows
🟡 Настраиваемые исправления исходного кода
🟡 Управление зависимостями сборки
🟡 Предоставление собственного автономного исполняемого файла spc (собранного spc и box)
🟡 Поддержка многих популярных расширений
🟡 Интеграция UPX (значительно уменьшает размер бинарных файлов)
Гитхаб
👉 Новости 👉 База вопросов
Инструмент для сборки PHP-приложений в один бинарный файл без дополнительных зависимостей.
Он имеет множество фич:
Гитхаб
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
🛞 Релиз PHP 8.4.10, 8.3.23, 8.2.29 и 8.1.33
Исправление трёх уязвимостей
https://www.php.net/ChangeLog-8.php
👉 Новости 👉 База вопросов
Исправление трёх уязвимостей
https://www.php.net/ChangeLog-8.php
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
🥄 Релиз PHP 8.5.0 Alpha 1
Это первый тестовый билд новой версии языка.
https://www.php.net/archive/2025.php#2025-07-03-5
👉 Новости 👉 База вопросов
Это первый тестовый билд новой версии языка.
https://www.php.net/archive/2025.php#2025-07-03-5
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #mongoDB
🤔 Расскажите о структуре Objectld
Objectld - это уникальный идентификатор для документов в MongoDB. Он состоит из отметки времени, идентификатора машины, идентификатора процесса и инкрементного счетчика.
👉 Новости 👉 База вопросов
Objectld - это уникальный идентификатор для документов в MongoDB. Он состоит из отметки времени, идентификатора машины, идентификатора процесса и инкрементного счетчика.
Please open Telegram to view this post
VIEW IN TELEGRAM
🤨1🤝1
#полезное
😵💫 Совет по PHP
Вы можете проверять файлы на синтаксические ошибки без запуска кода — и валидировать весь проект одной командой.
🔹 Быстрая проверка на ошибки
🔹 Валидация проекта в одну строку
Чище код — быстрее разработка
👉 Новости 👉 База вопросов
Вы можете проверять файлы на синтаксические ошибки без запуска кода — и валидировать весь проект одной командой.
Чище код — быстрее разработка
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
#полезное
😎 FastExcelWriter — избавление от проклятия PhpSpreadsheet
Наверняка каждый php-разработчик, хоть раз сталкивавшийся с чтением или записью Excel-файлов, знает про библиотеку PhpSpreadsheet (в прошлом - PHPExcel). Это мощная библиотека на чистом php, которая позволяет читать, а, главное, создавать Excel-таблицы. И все с ней хорошо, пока работаешь с небольшим набором данных. Но при работе с большими файлами PhpSpreadsheet начинает чудовищно отжирать память, да и производительность резко падает, и php-скрипт, использующий библиотеку, часто просто отваливается по таймауту. И проблема - в архитектуре библиотеки.
Библиотека PhpSpreadsheet, казалось бы, спроектирована очень правильно: листы таблицы, строки, ячейки, прочие сущности - это все классы, стили, форматы и всевозможные свойства тоже состоят из классов. И когда создается таблица, то в памяти создается огромное количество связанных между собой объектов, им задаются свойства, выполняются всевозможные манипуляции, ячейки заполняются данными, всё-всё это держится в памяти, и пишется в файл только в момент сохранения.
Хабр
👉 Новости 👉 База вопросов
Наверняка каждый php-разработчик, хоть раз сталкивавшийся с чтением или записью Excel-файлов, знает про библиотеку PhpSpreadsheet (в прошлом - PHPExcel). Это мощная библиотека на чистом php, которая позволяет читать, а, главное, создавать Excel-таблицы. И все с ней хорошо, пока работаешь с небольшим набором данных. Но при работе с большими файлами PhpSpreadsheet начинает чудовищно отжирать память, да и производительность резко падает, и php-скрипт, использующий библиотеку, часто просто отваливается по таймауту. И проблема - в архитектуре библиотеки.
Библиотека PhpSpreadsheet, казалось бы, спроектирована очень правильно: листы таблицы, строки, ячейки, прочие сущности - это все классы, стили, форматы и всевозможные свойства тоже состоят из классов. И когда создается таблица, то в памяти создается огромное количество связанных между собой объектов, им задаются свойства, выполняются всевозможные манипуляции, ячейки заполняются данными, всё-всё это держится в памяти, и пишется в файл только в момент сохранения.
Хабр
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1