💬 Чем вы в основном занимаетесь после работы в свободное от работы время?
❤️ — смотрю сериалы/фильмы, читаю книги, сижу в соцсетях
👍 — занимаюсь домашними делами: убираюсь, готовлю, провожу время с детьми
🥰 — работаю над пет-проектами
🔥 — занимаюсь спортом/хобби
🤔 — а я вообще не уверен, что у меня свободное время
👇 Пишите в комментариях собственные варианты
#интерактив
❤️ — смотрю сериалы/фильмы, читаю книги, сижу в соцсетях
👍 — занимаюсь домашними делами: убираюсь, готовлю, провожу время с детьми
🥰 — работаю над пет-проектами
🔥 — занимаюсь спортом/хобби
🤔 — а я вообще не уверен, что у меня свободное время
👇 Пишите в комментариях собственные варианты
#интерактив
❤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
#дайджест новостей по PHP за неделю:
🔎Сгенерировать покрытие кода в Laravel с PCOV
🔎Symfony 7.0.6 выпущен — Вот список нововведений
🔎Неделя Symfony #900 (25-31 марта 2024 г.) — На этой неделе Symfony с большим успехом организовала конференцию Symfonylive Paris 2024. Разработчики были сосредоточены на исправлении ошибок и настройке новых функций для предстоящей версии Symfony 7.1.
🔎Сгенерировать покрытие кода в Laravel с PCOV
🔎Symfony 7.0.6 выпущен — Вот список нововведений
🔎Неделя Symfony #900 (25-31 марта 2024 г.) — На этой неделе Symfony с большим успехом организовала конференцию Symfonylive Paris 2024. Разработчики были сосредоточены на исправлении ошибок и настройке новых функций для предстоящей версии Symfony 7.1.
❤1
Как использовать GitHub Actions для развертывания на несколько серверов
Здесь описывается процесс создания и настройки рабочего процесса (workflow) с использованием GitHub Actions для непрерывной доставки (continuous delivery) веб-приложения, в данном случае Laravel, на несколько серверов без простоев. Вот краткое изложение основных шагов и концепций, описанных в статье:
1️⃣Создание артефактов сборки: Задача этого шага — создать архив с кодом, готовым к развёртыванию на продакшен серверы. Включает в себя установку зависимостей NPM, компиляцию CSS и JavaScript, установку зависимостей Composer, архивирование сборки и хранение артефакта для последующего развёртывания.
2️⃣Подготовка релиза на всех серверах: Этот шаг гарантирует, что развёртывание на всех серверах будет стабильным и надёжным. Включает в себя создание директорий для хранения всех релизов, распаковку сборки на сервере, выполнение необходимых действий до развёртывания (before hooks) и активацию релиза.
3️⃣Выполнение необходимых действий перед развёртыванием (before hooks): Опциональный шаг, который позволяет выполнить определённые команды перед активацией нового релиза, такие как миграции базы данных.
4️⃣Активация релиза: Самый важный шаг, который активирует новый релиз без простоев. Включает в себя установку необходимых символических ссылок, перезагрузку PHP FPM и другие необходимые действия для обновления приложения.
5️⃣Выполнение необходимых действий после развёртывания (after hooks): Опциональный шаг, аналогичный before hooks, но выполняется после активации релиза.
6️⃣Очистка: Завершающий шаг, который удаляет устаревшие релизы и артефакты, чтобы освободить место на сервере.
Здесь описывается процесс создания и настройки рабочего процесса (workflow) с использованием GitHub Actions для непрерывной доставки (continuous delivery) веб-приложения, в данном случае Laravel, на несколько серверов без простоев. Вот краткое изложение основных шагов и концепций, описанных в статье:
1️⃣Создание артефактов сборки: Задача этого шага — создать архив с кодом, готовым к развёртыванию на продакшен серверы. Включает в себя установку зависимостей NPM, компиляцию CSS и JavaScript, установку зависимостей Composer, архивирование сборки и хранение артефакта для последующего развёртывания.
2️⃣Подготовка релиза на всех серверах: Этот шаг гарантирует, что развёртывание на всех серверах будет стабильным и надёжным. Включает в себя создание директорий для хранения всех релизов, распаковку сборки на сервере, выполнение необходимых действий до развёртывания (before hooks) и активацию релиза.
3️⃣Выполнение необходимых действий перед развёртыванием (before hooks): Опциональный шаг, который позволяет выполнить определённые команды перед активацией нового релиза, такие как миграции базы данных.
4️⃣Активация релиза: Самый важный шаг, который активирует новый релиз без простоев. Включает в себя установку необходимых символических ссылок, перезагрузку PHP FPM и другие необходимые действия для обновления приложения.
5️⃣Выполнение необходимых действий после развёртывания (after hooks): Опциональный шаг, аналогичный before hooks, но выполняется после активации релиза.
6️⃣Очистка: Завершающий шаг, который удаляет устаревшие релизы и артефакты, чтобы освободить место на сервере.
Philo's Blog
Laravel Deployment With GitHub Actions
Learn step by step how to deploy any application to multiple servers without any down-time for free with GitHub Actions.
👍4
Forwarded from Библиотека питониста | Python, Django, Flask
💬 Как изменился ваш информационный пузырь за год?
Помните свои информационные предпочтения год назад? Многое изменилось! Социальные сети, мессенджеры, YouTube, подкасты — все эти каналы ежедневно борются за наше внимание. У каждого из нас за год сформировался свой уникальный информационный рацион. Пройдите наш опрос и расскажите, как изменились ваши вкусы в медиапотреблении.
👉 Пройти опрос
Опрос займёт у вас примерно 4 минуты.
Помните свои информационные предпочтения год назад? Многое изменилось! Социальные сети, мессенджеры, YouTube, подкасты — все эти каналы ежедневно борются за наше внимание. У каждого из нас за год сформировался свой уникальный информационный рацион. Пройдите наш опрос и расскажите, как изменились ваши вкусы в медиапотреблении.
👉 Пройти опрос
Опрос займёт у вас примерно 4 минуты.
👍7🔥1
Меняем моки репозиториев на in-memory реализации
Одним из важнейших аспектов тестирования наряду с поиском ошибок в приложении является время, необходимое для его проведения. Если тестирование приложения занимает от нескольких минут до нескольких часов, то оно не подходит для разработки с использованием быстрого цикла обратной связи (fast feedback loop), и разработчики могут проводить его не так часто, как следовало бы.
Одним из важнейших аспектов тестирования наряду с поиском ошибок в приложении является время, необходимое для его проведения. Если тестирование приложения занимает от нескольких минут до нескольких часов, то оно не подходит для разработки с использованием быстрого цикла обратной связи (fast feedback loop), и разработчики могут проводить его не так часто, как следовало бы.
Хабр
Меняем моки репозиториев на in-memory реализации
Одним из важнейших аспектов тестирования наряду с поиском ошибок в приложении является время, необходимое для его проведения. Если тестирование приложения занимает от нескольких минут до нескольких...
👍3
Typhoon
Система типизации и рефлексии для PHP. Она включает в себя абстракцию для статической типизации в PHP и Typhoon Reflection, альтернативу нативной рефлексии PHP.
Система типизации и рефлексии для PHP. Она включает в себя абстракцию для статической типизации в PHP и Typhoon Reflection, альтернативу нативной рефлексии PHP.
GitHub
GitHub - typhoon-php/typhoon: Ultimate type system and reflection for PHP
Ultimate type system and reflection for PHP. Contribute to typhoon-php/typhoon development by creating an account on GitHub.
👍10🥱3🌚1