#ЛитКод
Задача: 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
#полезное
🤓 Prism — мост между Laravel и большими языковыми моделями. Этот пакет упрощает интеграцию LLM в Laravel-приложения, предлагая элегантный синтаксис для генерации текста и управления диалогами. С Prism разработчики могут легко добавлять ИИ-функционал — от чат-ботов до сложных многошаговых сценариев.
Инструмент поддерживает различных провайдеров ИИ через единый интерфейс. Пакет особенно полезен для создания AI-ассистентов и умных текстовых процессоров без глубокого погружения в API провайдеров.
Гитхаб
👉 Новости 👉 База вопросов
Инструмент поддерживает различных провайдеров ИИ через единый интерфейс. Пакет особенно полезен для создания AI-ассистентов и умных текстовых процессоров без глубокого погружения в API провайдеров.
Гитхаб
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
#полезное
❤️🔥 Как работают консольные команды в PHP-фреймворках
Что происходит, когда ты запускаешь
Это не просто скрипт — под капотом работает полноценный консольный движок.
Вот как устроено:
- Фреймворк загружает автолоадер (Composer)
- Регистрирует все доступные команды (например,
- Парсит аргументы и флаги, определяет, что ты хочешь сделать
- Вызывает соответствующий handler, где и происходит логика выполнения
Фреймворки типа Laravel, Symfony и Yii делают это прозрачно — ты просто пишешь команды, а они превращаются в мощные CLI-инструменты.
Полное объяснение
👉 Новости 👉 База вопросов
Что происходит, когда ты запускаешь
php artisan migrate
или php bin/console cache:clear
? Это не просто скрипт — под капотом работает полноценный консольный движок.
Вот как устроено:
- Фреймворк загружает автолоадер (Composer)
- Регистрирует все доступные команды (например,
migrate
, `cache:clear`)- Парсит аргументы и флаги, определяет, что ты хочешь сделать
- Вызывает соответствующий handler, где и происходит логика выполнения
Фреймворки типа Laravel, Symfony и Yii делают это прозрачно — ты просто пишешь команды, а они превращаются в мощные CLI-инструменты.
Полное объяснение
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #mongoDB
🤔 Какие факторы следует учитывать в процессе разработки схемы MongoDB?
При проектировании схемы в MongoDB важно учитывать потребности пользователей, особенности работы с данными и оптимизацию запросов. Схема должна быть гибкой и подходить для работы с документами, которые часто используются вместе.
👉 Новости 👉 База вопросов
При проектировании схемы в MongoDB важно учитывать потребности пользователей, особенности работы с данными и оптимизацию запросов. Схема должна быть гибкой и подходить для работы с документами, которые часто используются вместе.
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
#полезное
👋 SPX — удобный профилировщик
Простое и понятное расширение для профилирования PHP со встроенным веб-интерфейсом. От других подобных расширений оно отличается тем, что:
🟠 полностью бесплатное и ограниченное вашей инфраструктурой (т.е. никаких утечек данных в SaaS).
🟠 Очень прост в использовании: просто установите переменную окружения (командная строка) или включите радиокнопку (веб-запрос) для профилирования вашего скрипта. Таким образом, вы освобождаетесь от необходимости ручного инструментирования кода (поддерживается даже Ctrl-C долго работающего скрипта командной строки).
🟠 возможность получения множества метрик: в настоящее время поддерживается 22 метрики (различные метрики времени и памяти, включенные файлы, используемые объекты, ввод-вывод...).
Гитхаб
👉 Новости 👉 База вопросов
Простое и понятное расширение для профилирования PHP со встроенным веб-интерфейсом. От других подобных расширений оно отличается тем, что:
Гитхаб
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #mongoDB
🤔 Что такое шардирование в MongoDB?
Шардирование - это процесс горизонтального разделения данных между несколькими серверами для обеспечения масштабируемости и производительности базы данных. Каждый сервер (или шард) хранит часть данных. MongoDB использует шардирование, чтобы распределять нагрузку и обрабатывать большие обьемы данных.
👉 Новости 👉 База вопросов
Шардирование - это процесс горизонтального разделения данных между несколькими серверами для обеспечения масштабируемости и производительности базы данных. Каждый сервер (или шард) хранит часть данных. MongoDB использует шардирование, чтобы распределять нагрузку и обрабатывать большие обьемы данных.
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
👨💻 Как использовать сервисные классы в контроллере Laravel?
А точнее — где их определять или внедрять?
Моё правило:
🟠 Если сервис используется в одном методе контроллера — внедрение в метод
🟠 Если в нескольких методах — внедрение через конструктор с использованием property promotion
👉 Новости 👉 База вопросов
А точнее — где их определять или внедрять?
Моё правило:
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😎 Как интегрировать Google Cloud Storage в Laravel
https://www.luckymedia.dev/blog/how-to-integrate-google-cloud-storage-with-laravel
👉 Новости 👉 База вопросов
https://www.luckymedia.dev/blog/how-to-integrate-google-cloud-storage-with-laravel
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
🤓 Атрибут #[\NoDiscard] в PHP 8.5
https://www.amitmerchant.com/the-nodiscard-attribute-in-php-85/
👉 Новости 👉 База вопросов
https://www.amitmerchant.com/the-nodiscard-attribute-in-php-85/
Please open Telegram to view this post
VIEW IN TELEGRAM
Amit Merchant - A blog on PHP, JavaScript, and more
Stop Ignoring Important Returns with PHP 8.5’s `#[\NoDiscard]` Attribute
When writing functions or methods in PHP, we often return values that are crucial for the caller to handle. Usually, those returned values need to be consumed. Check the following example.
#Собес #php
🤔 Как работает автозагрузка в РНР?
Автозагрузка в РНР позволяет автоматически загружать классы по мере их необходимости, без использования
👉 Новости 👉 База вопросов
Автозагрузка в РНР позволяет автоматически загружать классы по мере их необходимости, без использования
include
ИЛИ require
. Основной механизм - это функция spl_autoload register()
, которая регистрирует функцию для автозагрузки. Кроме того, стандарт PSR-4, поддерживаемый Composer, организует автозагрузку классов, следуя определённой структуре каталогов и именования.Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
🤯 PHP намерены перевести на лицензию BSD-3, совместимую с GPL
Разработчики языка программирования PHP планируют перевести интерпретатор PHP и движок Zend Engine с лицензий PHP License и Zend Engine License на 3-пунктовую лицензию BSD. Переход на 3-пунктовую лицензию BSD упростит условия лицензирования, унифицирует лицензии для PHP и Zend Engine, обеспечит совместимость с GPL и решит давние проблемы, сохранив при этом все права пользователей и разработчиков. Смену лицензии намерены произвести в выпуске PHP 9.0, который может быть сформирован в следующем году. Все члены PHP Group одобрили смену лицензии и в настоящее время данное предложение выставлено на общее обсуждение.
https://www.opennet.ru/opennews/art.shtml?num=63580
👉 Новости 👉 База вопросов
Разработчики языка программирования PHP планируют перевести интерпретатор PHP и движок Zend Engine с лицензий PHP License и Zend Engine License на 3-пунктовую лицензию BSD. Переход на 3-пунктовую лицензию BSD упростит условия лицензирования, унифицирует лицензии для PHP и Zend Engine, обеспечит совместимость с GPL и решит давние проблемы, сохранив при этом все права пользователей и разработчиков. Смену лицензии намерены произвести в выпуске PHP 9.0, который может быть сформирован в следующем году. Все члены PHP Group одобрили смену лицензии и в настоящее время данное предложение выставлено на общее обсуждение.
https://www.opennet.ru/opennews/art.shtml?num=63580
Please open Telegram to view this post
VIEW IN TELEGRAM
www.opennet.ru
PHP переходит на лицензию BSD-3, совместимую с GPL
Разработчики языка программирования PHP планируют перевести интерпретатор PHP и движок Zend Engine с лицензий PHP License и Zend Engine License на 3-пунктовую лицензию BSD (BSD-3). Переход на лицензию BSD-3 упростит условия лицензирования, унифицирует лицензии…