Что такое вариативная функция или spread-оператор?
Вариативная функция — это функция, которая может принимать переменное количество аргументов. Это означает, что ее можно вызывать с различным числом аргументов. В PHP вариативные функции объявляются с помощью оператора ... (также известного как spread-оператор) перед именем аргумента.
Например, вариативная функция может быть объявлена следующим образом(фото 1)
Spread-оператор, также представленный символом ..., выполняет обратную операцию — он распаковывает массив и передает его элементы как аргументы в функцию. Он может использоваться для передачи переменного количества аргументов в функцию или для объединения массивов.
Например, spread-оператор можно использовать следующим образом(фото 2)
В этом примере массив $numbers распаковывается с помощью spread-оператора и его элементы передаются в вариативную функцию sum в качестве отдельных аргументов.
#вопросы_с_собеседований
Вариативная функция — это функция, которая может принимать переменное количество аргументов. Это означает, что ее можно вызывать с различным числом аргументов. В PHP вариативные функции объявляются с помощью оператора ... (также известного как spread-оператор) перед именем аргумента.
Например, вариативная функция может быть объявлена следующим образом(фото 1)
Spread-оператор, также представленный символом ..., выполняет обратную операцию — он распаковывает массив и передает его элементы как аргументы в функцию. Он может использоваться для передачи переменного количества аргументов в функцию или для объединения массивов.
Например, spread-оператор можно использовать следующим образом(фото 2)
В этом примере массив $numbers распаковывается с помощью spread-оператора и его элементы передаются в вариативную функцию sum в качестве отдельных аргументов.
#вопросы_с_собеседований
👍8❤2
Сделайте свое приложение быстрее с PHP 8.3
PHP 8.3 представляет собой значительный этап в развитии PHP, предлагая как прямые, так и косвенные улучшения, которые могут революционизировать производительность веб-приложений. Давайте подробнее рассмотрим новые функции и оптимизации PHP 8.3 и исследуем, как их можно использовать для ускорения работы ваших приложений.
🚀Прямые улучшения производительности:
PHP 8.3 вводит оптимизации, направленные на повышение эффективности выполнения во время работы. Компилятор Just-In-Time (JIT) был улучшен для более эффективной работы, что приводит к более быстрому выполнению сценариев, особенно для ресурсоемких задач. Кроме того, улучшения в обработке операторов и сборке мусора способствуют снижению времени выполнения и более эффективному использованию памяти.
Более того, оптимизации для обработки массивов и улучшения в механизмах предварительной загрузки позволяют добиться более быстрых времен ответа за счет снижения накладных расходов на компиляцию сценариев.
💡Косвенные увеличения производительности:
Помимо прямых оптимизаций, PHP 8.3 вносит улучшения синтаксиса, методов и увеличивает безопасность типов, что косвенно влияет на производительность. Эти улучшения оптимизируют разработку, сокращают производственные ошибки и позволяют более быстро выпускать обновления, в конечном итоге повышая эффективность приложения.
🔧Использование новых функций для более быстрой разработки:
Использование новых функций, таких как типизированные константы классов, динамическое извлечение констант классов и элементов Enum, улучшенное обработка ошибок, расширенная поддержка типов и упрощенная проверка JSON, может значительно повысить скорость разработки и надежность кода.
📈Общие улучшения производительности PHP:
Помимо функций PHP 8.3, оптимизация стратегий кэширования, переход на HTTP/2 и оптимизация запросов к базе данных и кода являются рекомендуемыми практиками для повышения общей производительности приложения. Инструменты, такие как мониторинг производительности приложений (APM), обеспечивают мониторинг в реальном времени и подробный анализ трассировки, помогая выявлять и устранять узкие места в производительности.
PHP 8.3 представляет собой значительный этап в развитии PHP, предлагая как прямые, так и косвенные улучшения, которые могут революционизировать производительность веб-приложений. Давайте подробнее рассмотрим новые функции и оптимизации PHP 8.3 и исследуем, как их можно использовать для ускорения работы ваших приложений.
🚀Прямые улучшения производительности:
PHP 8.3 вводит оптимизации, направленные на повышение эффективности выполнения во время работы. Компилятор Just-In-Time (JIT) был улучшен для более эффективной работы, что приводит к более быстрому выполнению сценариев, особенно для ресурсоемких задач. Кроме того, улучшения в обработке операторов и сборке мусора способствуют снижению времени выполнения и более эффективному использованию памяти.
Более того, оптимизации для обработки массивов и улучшения в механизмах предварительной загрузки позволяют добиться более быстрых времен ответа за счет снижения накладных расходов на компиляцию сценариев.
💡Косвенные увеличения производительности:
Помимо прямых оптимизаций, PHP 8.3 вносит улучшения синтаксиса, методов и увеличивает безопасность типов, что косвенно влияет на производительность. Эти улучшения оптимизируют разработку, сокращают производственные ошибки и позволяют более быстро выпускать обновления, в конечном итоге повышая эффективность приложения.
🔧Использование новых функций для более быстрой разработки:
Использование новых функций, таких как типизированные константы классов, динамическое извлечение констант классов и элементов Enum, улучшенное обработка ошибок, расширенная поддержка типов и упрощенная проверка JSON, может значительно повысить скорость разработки и надежность кода.
📈Общие улучшения производительности PHP:
Помимо функций PHP 8.3, оптимизация стратегий кэширования, переход на HTTP/2 и оптимизация запросов к базе данных и кода являются рекомендуемыми практиками для повышения общей производительности приложения. Инструменты, такие как мониторинг производительности приложений (APM), обеспечивают мониторинг в реальном времени и подробный анализ трассировки, помогая выявлять и устранять узкие места в производительности.
👍10
Forwarded from Библиотека нейросетей | ChatGPT, Midjourney, DeepSeek, Sora
Умение быстро находить решения сложных задач — один из самых важных навыков разработчика. Но найти по-настоящему полезную информацию в лавинообразном потоке SEO-оптимизированного контента бывает нелегко. На помощь придут ИИ-поисковики: они могут отыскать ответ на самый размытый запрос, а при необходимости — сгенерируют собственное решение.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰4👏1
Превращение событий PostgreSQL в события Laravel
Здесь рассказывается, как можно преобразовать события, возникающие в PostgreSQL, в события Laravel.
Здесь рассказывается, как можно преобразовать события, возникающие в PostgreSQL, в события Laravel.
Хабр
Превращение событий PostgreSQL в события Laravel
Краткая аннотация В прошлый раз я описал, как можно поставить задачу (Job) в очередь Laravel из хранимой процедуры или триггера PostgreSQL. В этой статье я расскажу, как можно преобразовать события,...
👍4
💬 Чем вы в основном занимаетесь после работы в свободное от работы время?
❤️ — смотрю сериалы/фильмы, читаю книги, сижу в соцсетях
👍 — занимаюсь домашними делами: убираюсь, готовлю, провожу время с детьми
🥰 — работаю над пет-проектами
🔥 — занимаюсь спортом/хобби
🤔 — а я вообще не уверен, что у меня свободное время
👇 Пишите в комментариях собственные варианты
#интерактив
❤️ — смотрю сериалы/фильмы, читаю книги, сижу в соцсетях
👍 — занимаюсь домашними делами: убираюсь, готовлю, провожу время с детьми
🥰 — работаю над пет-проектами
🔥 — занимаюсь спортом/хобби
🤔 — а я вообще не уверен, что у меня свободное время
👇 Пишите в комментариях собственные варианты
#интерактив
❤61🤔53👍35🔥30🥰18
Audio
🎸💯 «Идущий к реке» — rock edition
Что если бы знаменитый монолог был песней? Гадать больше не надо — на помощь приходят нейросети!
👉 О том, какая именно нейросеть помогла нам это сделать, читайте в нашем новом канале — Библиотека нейрозвука
Подписывайтесь, там много интересного!
Что если бы знаменитый монолог был песней? Гадать больше не надо — на помощь приходят нейросети!
Подписывайтесь, там много интересного!
Please open Telegram to view this post
VIEW IN TELEGRAM
👏6🌚3⚡1💯1👾1
Какова цель ключевого слова «use» в пространствах имен PHP?
Псевдонимы пространств имен или классов: Позволяет задать более короткие и удобные имена для длинных пространств имен или классов. Это делает код более читаемым и кратким.
Импорт констант: Позволяет импортировать константы, определенные в пространстве имен, с помощью use:
Импорт функций (начиная с PHP 8): В PHP 8 и выше вы также можете импортировать функции из пространства имен в текущее пространство имен, используя use function.
Импорт констант (начиная с PHP 8): Аналогично, в PHP 8 и выше вы можете импортировать константы из пространства имен в текущее пространство имен с помощью use const.
Используя use, вы можете сделать свой код более чистым и поддерживаемым, уменьшая необходимость повторного использования полностью квалифицированных имен в вашем коде
#вопросы_с_собеседований
Псевдонимы пространств имен или классов: Позволяет задать более короткие и удобные имена для длинных пространств имен или классов. Это делает код более читаемым и кратким.
Импорт констант: Позволяет импортировать константы, определенные в пространстве имен, с помощью use:
Импорт функций (начиная с PHP 8): В PHP 8 и выше вы также можете импортировать функции из пространства имен в текущее пространство имен, используя use function.
Импорт констант (начиная с PHP 8): Аналогично, в PHP 8 и выше вы можете импортировать константы из пространства имен в текущее пространство имен с помощью use const.
Используя use, вы можете сделать свой код более чистым и поддерживаемым, уменьшая необходимость повторного использования полностью квалифицированных имен в вашем коде
#вопросы_с_собеседований
❤13👍2🥱1
Советы по оптимизации интеграционных тестов
Интеграционные тесты очень важны для обеспечения уверенности в функциональности системы, даже несмотря на их медленную скорость по сравнению с юнит-тестами. Автор подчеркивает необходимость достижения баланса между эффективностью времени и уверенностью в кодовой базе, рекомендуя практические советы для улучшения эффективности интеграционных тестов.
Ниже перечислены основные советы из статьи:
✔️Оптимизация опкеша: Настройте опкеш для PHP для улучшения производительности при запуске тестов.
✔️Оптимизация автозагрузчика Composer: Используйте флаги при установке зависимостей через Composer для оптимизации автозагрузчика.
✔️Использование транзакций: Используйте транзакции базы данных для очистки базы данных после каждого тестового случая.
✔️Использование кеша Doctrine: Используйте статический кеш для улучшения производительности в связке с Doctrine.
✔️Использование tmpfs для базы данных в Docker: Определите tmpfs для хранения базы данных в оперативной памяти для ускорения выполнения тестов в контейнере Docker.
✔️Использование дампа базы данных вместо миграций: Вместо запуска миграций каждый раз перед тестами, используйте предварительно созданный дамп базы данных.
✔️Очистка памяти, используемой свойствами: Очищайте память, используемую свойствами после каждого тестового случая для предотвращения утечек памяти.
✔️Сборка приложения с использованием продуктовых настроек: Соберите приложение с использованием настроек, соответствующих продакшену.
✔️Использование pcov вместо xdebug для создания отчетов о покрытии кода: Отключите xdebug и используйте pcov для ускорения генерации отчетов о покрытии кода.
✔️Использование Paratest для параллельного выполнения тестов: Если ваши тесты независимы, используйте инструмент для параллельного выполнения тестов Paratest.
✔️Ускорение построения образа Docker: Сосредоточьтесь на уменьшении размера образа Docker для ускорения процесса его скачивания.
✔️Использование актуальной версии PHP: Обновляйте PHP до последней версии для исправления ошибок и улучшения производительности.
✔️Настройка тайм-аутов: Установите жесткий тайм-аут для автоматического завершения теста, если он занимает слишком много времени.
✔️Мониторинг: Отслеживайте использование памяти и время выполнения каждого теста для выявления потенциальных проблем.
Интеграционные тесты очень важны для обеспечения уверенности в функциональности системы, даже несмотря на их медленную скорость по сравнению с юнит-тестами. Автор подчеркивает необходимость достижения баланса между эффективностью времени и уверенностью в кодовой базе, рекомендуя практические советы для улучшения эффективности интеграционных тестов.
Ниже перечислены основные советы из статьи:
✔️Оптимизация опкеша: Настройте опкеш для PHP для улучшения производительности при запуске тестов.
✔️Оптимизация автозагрузчика Composer: Используйте флаги при установке зависимостей через Composer для оптимизации автозагрузчика.
✔️Использование транзакций: Используйте транзакции базы данных для очистки базы данных после каждого тестового случая.
✔️Использование кеша Doctrine: Используйте статический кеш для улучшения производительности в связке с Doctrine.
✔️Использование tmpfs для базы данных в Docker: Определите tmpfs для хранения базы данных в оперативной памяти для ускорения выполнения тестов в контейнере Docker.
✔️Использование дампа базы данных вместо миграций: Вместо запуска миграций каждый раз перед тестами, используйте предварительно созданный дамп базы данных.
✔️Очистка памяти, используемой свойствами: Очищайте память, используемую свойствами после каждого тестового случая для предотвращения утечек памяти.
✔️Сборка приложения с использованием продуктовых настроек: Соберите приложение с использованием настроек, соответствующих продакшену.
✔️Использование pcov вместо xdebug для создания отчетов о покрытии кода: Отключите xdebug и используйте pcov для ускорения генерации отчетов о покрытии кода.
✔️Использование Paratest для параллельного выполнения тестов: Если ваши тесты независимы, используйте инструмент для параллельного выполнения тестов Paratest.
✔️Ускорение построения образа Docker: Сосредоточьтесь на уменьшении размера образа Docker для ускорения процесса его скачивания.
✔️Использование актуальной версии PHP: Обновляйте PHP до последней версии для исправления ошибок и улучшения производительности.
✔️Настройка тайм-аутов: Установите жесткий тайм-аут для автоматического завершения теста, если он занимает слишком много времени.
✔️Мониторинг: Отслеживайте использование памяти и время выполнения каждого теста для выявления потенциальных проблем.
Kamil Ruczyński
Tips for optimizing integration tests
While unit tests are known for their speed compared to integration tests, the latter offer heightened confidence in the system’s functionality. Thus, avoiding integration tests is not advisable; instead, it’s crucial to strike a balance by writing tests at…
🔥5👍4
«Наш путь в создании информационной системы проверок контрагентов || Laravel having no problems»
Проверка потенциальных контрагентов на благонадёжность — неотъемлемая часть ведения бизнеса. Она нужна, чтобы эффективно управлять рисками, соблюдать должную осмотрительность, исключить репутационные риски и финансовые потери.
Здесь рассказывается про систему, которая позволила оптимизировать работу по проверке контрагентов из открытых источников, и написана на Laravel
Проверка потенциальных контрагентов на благонадёжность — неотъемлемая часть ведения бизнеса. Она нужна, чтобы эффективно управлять рисками, соблюдать должную осмотрительность, исключить репутационные риски и финансовые потери.
Здесь рассказывается про систему, которая позволила оптимизировать работу по проверке контрагентов из открытых источников, и написана на Laravel
Хабр
Наш путь в создании информационной системы проверок контрагентов || Laravel having no problems
Проверка потенциальных контрагентов на благонадёжность — неотъемлемая часть ведения бизнеса. Она нужна, чтобы эффективно управлять рисками, соблюдать должную осмотрительность, исключить репутационные...
🤔2🎉1
💬 Это пост для советов
👇Поделитесь в комментариях любимыми образовательными YouTube-каналами, бесплатными курсами, которые понравились, книгами или статьями👇
#интерактив
👇Поделитесь в комментариях любимыми образовательными YouTube-каналами, бесплатными курсами, которые понравились, книгами или статьями👇
#интерактив
❤1🎉1
PHP Monitor 7
PHP Monitor 7 это инструмент для управления локальной разработкой на PHP с использованием Homebrew. Новая версия включает в себя ряд значительных улучшений и новых функций, среди которых:
Менеджер расширений: Теперь можно легко управлять установкой и управлением расширений для различных версий PHP. Менеджер расширений позволяет быстро устанавливать необходимые расширения для каждой версии PHP, а также управлять уже установленными расширениями.
Управление расширениями через домены: PHP Monitor 7 позволяет настраивать установленные расширения для каждого проекта независимо, даже если используется изолированная версия PHP для проекта. Это упрощает управление конфигурацией расширений для различных проектов.
Переопределение языка через настройки приложения: Теперь можно выбирать язык интерфейса PHP Monitor независимо от языка операционной системы. Это позволяет легко переключаться между доступными языками интерфейса приложения.
Проверка целостности символических ссылок при запуске: PHP Monitor теперь проводит проверку на наличие устаревших версий PHP и исправляет некорректные символические ссылки при запуске, обеспечивая более стабильную работу приложения.
Улучшенный процесс обновления: Обновление до PHP Monitor 7 можно выполнить прямо из приложения, что упрощает процесс обновления для пользователей. Также возможно обновление через Homebrew, хотя это не рекомендуется.
PHP Monitor 7 это инструмент для управления локальной разработкой на PHP с использованием Homebrew. Новая версия включает в себя ряд значительных улучшений и новых функций, среди которых:
Менеджер расширений: Теперь можно легко управлять установкой и управлением расширений для различных версий PHP. Менеджер расширений позволяет быстро устанавливать необходимые расширения для каждой версии PHP, а также управлять уже установленными расширениями.
Управление расширениями через домены: PHP Monitor 7 позволяет настраивать установленные расширения для каждого проекта независимо, даже если используется изолированная версия PHP для проекта. Это упрощает управление конфигурацией расширений для различных проектов.
Переопределение языка через настройки приложения: Теперь можно выбирать язык интерфейса PHP Monitor независимо от языка операционной системы. Это позволяет легко переключаться между доступными языками интерфейса приложения.
Проверка целостности символических ссылок при запуске: PHP Monitor теперь проводит проверку на наличие устаревших версий PHP и исправляет некорректные символические ссылки при запуске, обеспечивая более стабильную работу приложения.
Улучшенный процесс обновления: Обновление до PHP Monitor 7 можно выполнить прямо из приложения, что упрощает процесс обновления для пользователей. Также возможно обновление через Homebrew, хотя это не рекомендуется.
nicoverbruggen.be
PHP Monitor 7.0 now available
It's been a while, but it's finally here: PHP Monitor 7 with extension management.
👍4🌚2
👍 Ваш ультимативный набор шпаргалок для разработки на 2024 год
Эти шпаргалки сэкономят вам часы бесконечного гугления и упростят процесс кодинга.
🔗 Читать статью
🔗 Зеркало
Эти шпаргалки сэкономят вам часы бесконечного гугления и упростят процесс кодинга.
🔗 Читать статью
🔗 Зеркало
👍6😁1