#вопросы_с_собеседований
Что такое объектно-ориентированное программирование (ООП) в PHP?
ООП - это парадигма программирования, в которой программа строится на основе объектов, которые являются экземплярами классов. В PHP объекты и классы создаются с помощью ключевых слов «class», "object", «public», «protected» и «private».
Что такое объектно-ориентированное программирование (ООП) в PHP?
😁19❤6🌚6🤯3👍2
Промежуточное ПО безопасности Laravel
Статья на сайте Laravel News рассказывает о безопасности веб-приложений, построенных на фреймворке Laravel, и о том, как использовать middleware, чтобы обеспечить дополнительный уровень безопасности. В статье также описываются основные уязвимости, с которыми может столкнуться Laravel приложение и способы защиты от них. Авторы рекомендуют использовать специальные middleware, чтобы обезопасить приложение от угроз. Также в статье представлены примеры кода и объяснения, как работает каждый пример.
Статья на сайте Laravel News рассказывает о безопасности веб-приложений, построенных на фреймворке Laravel, и о том, как использовать middleware, чтобы обеспечить дополнительный уровень безопасности. В статье также описываются основные уязвимости, с которыми может столкнуться Laravel приложение и способы защиты от них. Авторы рекомендуют использовать специальные middleware, чтобы обезопасить приложение от угроз. Также в статье представлены примеры кода и объяснения, как работает каждый пример.
Laravel News
Laravel Security Middleware - Laravel News
Middleware isn't something new we have been using it in our applications for a while now for various usages, from Authentication, to Authorization and beyond.
👍8❤3🍌2
Мутационные тесты: зачем и как
Как оценивать качество тестов? Многие полагаются на самый популярный показатель, известный всем, — code coverage. Но это количественная, а не качественная метрика. Она показывает, какой объём вашего кода покрыт тестами, но не то, как хорошо эти тесты написаны.
Один из способов разобраться в этом — мутационное тестирование. Этот инструмент, внося небольшие правки в исходный код и заново прогоняя после этого тесты, позволяет выявить бесполезные тесты и низкокачественное покрытие. Сегодняшняя статья на Хабре поможет в этом разобраться
Как оценивать качество тестов? Многие полагаются на самый популярный показатель, известный всем, — code coverage. Но это количественная, а не качественная метрика. Она показывает, какой объём вашего кода покрыт тестами, но не то, как хорошо эти тесты написаны.
Один из способов разобраться в этом — мутационное тестирование. Этот инструмент, внося небольшие правки в исходный код и заново прогоняя после этого тесты, позволяет выявить бесполезные тесты и низкокачественное покрытие. Сегодняшняя статья на Хабре поможет в этом разобраться
Хабр
Лови мутанта! Мутационные тесты: зачем и как
Я очень люблю тесты и считаю, что любой код должен быть покрыт ими, желательно качественными :) Поэтому хочу поделиться с вами опытом внедрения мутационных тестов в проект, рассказать зачем оно...
❤13
Вопрос к сеньорам, в какой момент вы узнали, что достигли этого уровня? Как это произошло?⬇️⬇️⬇️
❤3
Библиотека Vector Clock и Lamport timestamp
Этот проект представляет собой реализацию концепции векторных часов и метки времени Лампорта на PHP
Эта библиотека включает:
✅Временная метка Лэмпорта
✅Асинхронные векторные часы
✅Синхронные векторные часы
Этот проект представляет собой реализацию концепции векторных часов и метки времени Лампорта на PHP
Эта библиотека включает:
✅Временная метка Лэмпорта
✅Асинхронные векторные часы
✅Синхронные векторные часы
GitHub
GitHub - BaptisteContreras/vector-clock: PHP implementation of Vector Clock and Lamport timestamp
PHP implementation of Vector Clock and Lamport timestamp - BaptisteContreras/vector-clock
👍3❤1
Анализ и приоритизация задач в тикетной системе: как красиво реализовать на PHP
Почему это важно? Анализ и приоритизация задач позволяют выявить проблемы, необходимые доработки и оптимизацию процессов. После анализа можно определить, что нужно изменить, чтобы обеспечить более эффективную работу.
Статья покажет как реализовать это на PHP
Почему это важно? Анализ и приоритизация задач позволяют выявить проблемы, необходимые доработки и оптимизацию процессов. После анализа можно определить, что нужно изменить, чтобы обеспечить более эффективную работу.
Статья покажет как реализовать это на PHP
Хабр
Анализ и приоритизация задач в тикетной системе: реализуем красиво на PHP
Привет! Меня зовут Олег Мифле. Одной из команд, где удалось поработать за 7 лет с PHP, стала Customer Support. Мы автоматизировали анализ тысяч задач в день и оператору больше не нужно думать и...
👍4❤3
Создание вне инструментов: что не так с современной разработкой на основе фреймворков?
Статья обсуждает некоторые проблемы, связанные с современной разработкой на основе фреймворков. В статье рассматривается несколько аспектов, которые, по мнению автора, могут иметь негативное влияние на процесс разработки и результаты проектов.
Статья обсуждает некоторые проблемы, связанные с современной разработкой на основе фреймворков. В статье рассматривается несколько аспектов, которые, по мнению автора, могут иметь негативное влияние на процесс разработки и результаты проектов.
Ozan Akman
Building Beyond Tools: What's Wrong with Modern Framework-based Development?
As software developers, we are constantly bombarded with new and exciting tools that promise to make our lives easier. Let's have a deeper look!
❤4🔥2👍1🎉1
Статья с названием «Использование DTO для сохранения контекста» рассматривает применение объектов передачи данных (DTO) для сохранения контекста в разработке на фреймворке Laravel. Она объясняет, как использование DTO может помочь в организации данных и передаче их между различными слоями приложения.
Ниже представлен краткий обзор основных идей, вынесенных в статье:
1️⃣Введение в DTO: Статья начинается с объяснения понятия объектов передачи данных (DTO) и их роли в приложениях. DTO представляют собой структуры данных, которые используются для передачи информации между различными компонентами приложения, такими как контроллеры, сервисы и представления.
2️⃣Разделение слоев приложения: Автор подчеркивает важность разделения слоев приложения и предлагает использовать DTO в качестве промежуточного слоя для передачи данных между этими слоями. DTO помогают сохранить контекст данных и обеспечивают явное определение, какие данные должны быть переданы и какие именно поля должны быть доступны.
3️⃣Согласованность данных: Использование DTO способствует согласованности данных в приложении. Поскольку DTO явно определяют структуру данных и поля, это помогает избежать ошибок в передаче данных и обеспечивает однородность во всем приложении.
Ниже представлен краткий обзор основных идей, вынесенных в статье:
1️⃣Введение в DTO: Статья начинается с объяснения понятия объектов передачи данных (DTO) и их роли в приложениях. DTO представляют собой структуры данных, которые используются для передачи информации между различными компонентами приложения, такими как контроллеры, сервисы и представления.
2️⃣Разделение слоев приложения: Автор подчеркивает важность разделения слоев приложения и предлагает использовать DTO в качестве промежуточного слоя для передачи данных между этими слоями. DTO помогают сохранить контекст данных и обеспечивают явное определение, какие данные должны быть переданы и какие именно поля должны быть доступны.
3️⃣Согласованность данных: Использование DTO способствует согласованности данных в приложении. Поскольку DTO явно определяют структуру данных и поля, это помогает избежать ошибок в передаче данных и обеспечивает однородность во всем приложении.
Laravel News
Using DTOs to keep context - Laravel News
DTOs, or Data Transfer Objects, can be used for so much. Since PHP 8 was released, creating these fantastic classes in your projects has never been easier.
👍7❤5
Потоковая передача ответов OpenAI в Laravel с помощью событий, отправленных сервером (SSE)
Статья о том, как использовать OpenAI API в Laravel-приложении с помощью стриминга ответа сервера.
Тут описано, как выполнить запрос к OpenAI API и получить ответ в формате JSON, который затем обрабатывается в стрим-контролере и отправляется клиенту по мере готовности.
Также представлен пример кода, который можно использовать для создания своего Laravel-приложения с использованием OpenAI API и стриминга ответа.
Такой подход позволяет уменьшить время ожидания ответа от сервера и улучшить производительность приложения.
Статья о том, как использовать OpenAI API в Laravel-приложении с помощью стриминга ответа сервера.
Тут описано, как выполнить запрос к OpenAI API и получить ответ в формате JSON, который затем обрабатывается в стрим-контролере и отправляется клиенту по мере готовности.
Также представлен пример кода, который можно использовать для создания своего Laravel-приложения с использованием OpenAI API и стриминга ответа.
Такой подход позволяет уменьшить время ожидания ответа от сервера и улучшить производительность приложения.
❤5👍3
Новое в Symfony 6.3: Улучшения внедрения зависимостей
В версии Symfony 6.3 также был улучшен механизм Dependency Injection (DI). DI - это концепция программирования, которая позволяет разделить создание объектов от их использования, улучшая переиспользуемость кода, удобство тестирования и облегчая поддержку кода.
В новой версии Symfony DI-контейнер, который является ключевым элементом механизма DI, получил несколько новых функций, основанных на обратной связи от сообщества Symfony.
В версии Symfony 6.3 также был улучшен механизм Dependency Injection (DI). DI - это концепция программирования, которая позволяет разделить создание объектов от их использования, улучшая переиспользуемость кода, удобство тестирования и облегчая поддержку кода.
В новой версии Symfony DI-контейнер, который является ключевым элементом механизма DI, получил несколько новых функций, основанных на обратной связи от сообщества Symfony.
Symfony
New in Symfony 6.3: Dependency Injection Improvements (Symfony Blog)
Symfony 6.3 improves the Dependency Injection component to add support for autowiring services as closures and callable methods, generating adapters for functional interfaces and for autowiring lazy s…
❤9👍4🍌2🔥1
Новости Yii 2023, выпуск 2
Небольшая статья от разработчика кора Yii. Поскольку сам он из Воронежа, то пишет на русском языке и несколько раз в год публикует свои новостные блоги с внутренней кухни разработки этого фреймворка.
Небольшая статья от разработчика кора Yii. Поскольку сам он из Воронежа, то пишет на русском языке и несколько раз в год публикует свои новостные блоги с внутренней кухни разработки этого фреймворка.
Хабр
Новости Yii 2023, выпуск 2
Всем привет! Это Александр Макаров и второй выпуск Yii новостей в этом году. С момента последнего выпуска в феврале прошло 3 месяца. Мы стремились ускорить разработку Yii3, но также продолжали...
👍11❤4🍌2🌚1
#ищу_команду
Ищите единомышленников, делайте коллабы, создавайте новые проекты. В комментариях под постом укажите #язык, #библиотеку и/или #стек, который вас интересует и опишите общую концепцию проекта.
Ищите единомышленников, делайте коллабы, создавайте новые проекты. В комментариях под постом укажите #язык, #библиотеку и/или #стек, который вас интересует и опишите общую концепцию проекта.
❤2
Попрощайтесь с проверками на null и исключениями: использование монады Maybe в Symfony
Монада maybe - это концепция программирования, которая позволяет обрабатывать значения, которые могут отсутствовать. Это может быть полезно, когда необходимо выполнить операции, не обладая достаточным количеством данных или когда значение может быть пустым или неопределенным.
Сегодня мы узнаем как реализовать ее на Symfony
Монада maybe - это концепция программирования, которая позволяет обрабатывать значения, которые могут отсутствовать. Это может быть полезно, когда необходимо выполнить операции, не обладая достаточным количеством данных или когда значение может быть пустым или неопределенным.
Сегодня мы узнаем как реализовать ее на Symfony
Хабр
Попрощайтесь с проверками на null и исключениями: использование монады Maybe в Symfony
Введение Функциональное программирование появилось не вчера. Но оно так и не приобрело какой-либо дикой популярности, и, вероятно, не просто так. Иногда оно может быть довольно сложным с точки зрения...
🤯6👍3🌭3🍌3❤1
Что такое PSR? Какова их цель?
PSR (PHP Standards Recommendations) — это набор рекомендаций по программированию на языке PHP. Основное назначение — предоставить проверенные общие концепции, чтобы сделать разработку простой и удобной, повысить надежность и работоспособность продуктов.
Стандарты PSR поделены на части. Каждый содержит информацию о том, как нужно выполнять задачи. Например, ставить переносы строк, называть переменные, реализовывать автозагрузку. За каждую часть отвечает свой стандарт. Каждый начинается с аббревиатуры PSR, после которой идет номер. Например, PSR-1 или PSR-4.
Подробнее про каждый можно почитать здесь.
#вопросы_с_собеседований
PSR (PHP Standards Recommendations) — это набор рекомендаций по программированию на языке PHP. Основное назначение — предоставить проверенные общие концепции, чтобы сделать разработку простой и удобной, повысить надежность и работоспособность продуктов.
Стандарты PSR поделены на части. Каждый содержит информацию о том, как нужно выполнять задачи. Например, ставить переносы строк, называть переменные, реализовывать автозагрузку. За каждую часть отвечает свой стандарт. Каждый начинается с аббревиатуры PSR, после которой идет номер. Например, PSR-1 или PSR-4.
Подробнее про каждый можно почитать здесь.
#вопросы_с_собеседований
🍌9👍5❤4🐳2
Тут рассказано о методах повышения производительности приложения Doctor в Symfony. Doctor — это инструмент, который используется для обнаружения и предупреждения о потенциальных проблемах в конфигурации и коде приложений Symfony.
My developer experience
Doctor Rst Speedup
This is another part in the performance series.
❤2🍌2
Работа с процессами ОС в PHP
Здесь показано, как работать с процессами ОС в PHP. Описываются несколько способов создания, запуска и управления процессами ОС, используя встроенные функции PHP и сторонние библиотеки.
Затем описано, как можно создавать новые процессы ОС в PHP, используя интерфейс Process из Symfony Process Component. Этот компонент позволяет запускать процессы в фоновом режиме, получать и обрабатывать данные вывода процесса, а также управлять его завершением и статусом.
Здесь показано, как работать с процессами ОС в PHP. Описываются несколько способов создания, запуска и управления процессами ОС, используя встроенные функции PHP и сторонние библиотеки.
Затем описано, как можно создавать новые процессы ОС в PHP, используя интерфейс Process из Symfony Process Component. Этот компонент позволяет запускать процессы в фоновом режиме, получать и обрабатывать данные вывода процесса, а также управлять его завершением и статусом.
Laravel News
Working with OS process in PHP
Sometimes you need to work with OS-level commands from your PHP application. Let's look at how we can do this and see if we can make the DX nicer.
👍4❤1
Какие сервера вы используете? PHP-FPM, Roadrunner, Swoole?⬇️
👍1
Устранение уязвимостей PHP с помощью WebAssembly
Статья об использовании WebAssembly для обеспечения безопасности при работе с PHP. Она описывает некоторые уязвимости, которые могут возникнуть при работе с PHP, и объясняет, как WebAssembly может помочь устранить эти уязвимости, а также затрагивает темы безопасности веб-приложений и связанные с этим проблемы, а также предлагает практические решения для их устранения.
Здесь показано как реализовать некоторые аспекты PHP с использованием WebAssembly, предоставляя новую защищенную среду выполнения кода.
Статья об использовании WebAssembly для обеспечения безопасности при работе с PHP. Она описывает некоторые уязвимости, которые могут возникнуть при работе с PHP, и объясняет, как WebAssembly может помочь устранить эти уязвимости, а также затрагивает темы безопасности веб-приложений и связанные с этим проблемы, а также предлагает практические решения для их устранения.
Здесь показано как реализовать некоторые аспекты PHP с использованием WebAssembly, предоставляя новую защищенную среду выполнения кода.
wasmlabs.dev
Mitigating PHP Vulnerabilities with WebAssembly
Explore how certain vulnerabilities can be mitigated by sandboxing PHP into a WebAssembly runtime.
❤2🌚1
Опубликованная на блоге Symfony статья «Новое в Symfony 6.3: Улучшения DX» разбита на три части. Каждая часть описывает набор улучшений в Symfony 6.3 с точки зрения удобства разработки (Developer Experience - DX).
Часть 1 охватывает обновления, которые делают работу с Symfony еще более интуитивной и легкой для новых разработчиков. В этой части авторы раскрывают, какие усовершенствования Symfony 6.3 помогут улучшить пользовательский опыт разработчиков.
Часть 2 посвящена техническим обновлениям в плагинах и модулях Symfony. В этой части авторы поясняют, какие изменения были внесены в ряд компонентов, таких как YAML, Service Container и JSON API.
Часть 3 описывает методы разработки, которые улучшат тестирование и отладку, а также более точно опишут, как использовать Symfony для оптимального развития приложений.
Часть 1 охватывает обновления, которые делают работу с Symfony еще более интуитивной и легкой для новых разработчиков. В этой части авторы раскрывают, какие усовершенствования Symfony 6.3 помогут улучшить пользовательский опыт разработчиков.
Часть 2 посвящена техническим обновлениям в плагинах и модулях Symfony. В этой части авторы поясняют, какие изменения были внесены в ряд компонентов, таких как YAML, Service Container и JSON API.
Часть 3 описывает методы разработки, которые улучшат тестирование и отладку, а также более точно опишут, как использовать Symfony для оптимального развития приложений.
Symfony
New in Symfony 6.3: DX Improvements (Part 1) (Symfony Blog)
Symfony 6.3 includes DX improvements in the global app variable, the YAML component, the profiler, the cache pools and the dump functions.
❤🔥8🍌3❤1