Интеграция с ЕСИА v2 на Debian 11 + php 7
Хоть и задача с авторизацией на сайт через Госулуги уже давно не новая, есть некоторые нюансы, которые отмечает автор и приводит способы их решения:
✔️С января 2020 для интеграции требуется использовать только ГОСТ-шифрование.
✔️С версии 2.90 Методических рекомендаций используемый endpoint /aas/oauth2/ac объявлен устаревшим и не рекомендован к использованию. Предложено переходить на /aas/oauth2/v2/ac, а реализации в указанных библиотеках нет
Хоть и задача с авторизацией на сайт через Госулуги уже давно не новая, есть некоторые нюансы, которые отмечает автор и приводит способы их решения:
✔️С января 2020 для интеграции требуется использовать только ГОСТ-шифрование.
✔️С версии 2.90 Методических рекомендаций используемый endpoint /aas/oauth2/ac объявлен устаревшим и не рекомендован к использованию. Предложено переходить на /aas/oauth2/v2/ac, а реализации в указанных библиотеках нет
Не делайте так: отсутствующие поля трейтов
Статья говорит об ошибке, которую могут допустить разработчики при использовании трейтов. Конкретно рассматривается случай, когда трейт определяет свойство, которое не существует в классе, который использует этот трейт.
Предлагается несколько способов избежать этой ошибки:
1️⃣использовать конструктор класса
2️⃣создавать отдельный метод в трейте для установки значения свойства
Статья говорит об ошибке, которую могут допустить разработчики при использовании трейтов. Конкретно рассматривается случай, когда трейт определяет свойство, которое не существует в классе, который использует этот трейт.
Предлагается несколько способов избежать этой ошибки:
1️⃣использовать конструктор класса
2️⃣создавать отдельный метод в трейте для установки значения свойства
Viktor Babanov
Don't do this: nonexistent trait fields usage
A code example from a real project where trait uses its descendant fields
Как создать приватные репозитории composer
Создание приватных репозиториев Composer позволяет эффективно управлять зависимостями и облегчает распространение собственных пакетов в вашем проекте. С помощью инструментов, таких как Satis и аутентификация, вы можете создать приватные репозитории и легко интегрировать их в свои проекты. Как это сделать можете прочитать в этой статье
Создание приватных репозиториев Composer позволяет эффективно управлять зависимостями и облегчает распространение собственных пакетов в вашем проекте. С помощью инструментов, таких как Satis и аутентификация, вы можете создать приватные репозитории и легко интегрировать их в свои проекты. Как это сделать можете прочитать в этой статье
Хабр
Как создать приватные репозитории composer
Composer - это популярный менеджер пакетов для PHP, который используется для управления зависимостями в проектах. Он позволяет быстро и легко устанавливать и обновлять пакеты из публичных репозиториев...
Контроллеры и их настоящее предназначение
Сегодня мы узнаем о том, как и зачем использовать контроллеры в веб-разработке.
✅Различные способы использования контроллеров и их влияние на структуру и производительность веб-приложений
✅Паттерны использования контроллеров, включая RESTful API и MVC
✅Поймем, как выбрать правильный подход для вашего проекта
Сегодня мы узнаем о том, как и зачем использовать контроллеры в веб-разработке.
✅Различные способы использования контроллеров и их влияние на структуру и производительность веб-приложений
✅Паттерны использования контроллеров, включая RESTful API и MVC
✅Поймем, как выбрать правильный подход для вашего проекта
muhammedsari.me
Controllers and their true purpose - Muhammed Sarı
What are controllers? What's their intended purpose? Can we put business logic in them? How many lines of code should they contain? Let's find out.
Новое в Symfony 6.3: Улучшения WebProfiler
WebProfiler - это инструмент для отладки Symfony-приложений, который помогает разработчикам искать ошибки и улучшать производительность. Теперь в Symfony 6.3 были внесены улучшения, которые сделали WebProfiler еще более эффективным.
https://symfony.com/blog/new-in-symfony-6-3-webprofiler-improvements
WebProfiler - это инструмент для отладки Symfony-приложений, который помогает разработчикам искать ошибки и улучшать производительность. Теперь в Symfony 6.3 были внесены улучшения, которые сделали WebProfiler еще более эффективным.
https://symfony.com/blog/new-in-symfony-6-3-webprofiler-improvements
Symfony
New in Symfony 6.3: WebProfiler Improvements (Symfony Blog)
Symfony 6.3 improves the profiler with better accessibility, dynamic favicons and clickable template paths.
Статья рассказывает о том, как использовать middleware в Laravel для логирования отправленных пользователем форм. В частности, автор предлагает создать свой middleware для регистрации входящих запросов и отправки логов в стороннее хранилище или по электронной почте. По мнению автора, такая система позволяет сделать важную часть процесса разработки более профессиональной и отвечающей требованиям безопасности.
Fly
Creating a Middleware to Globally Log Submissions in Livewire
We create a middleware to easily log submissions in Livewire components.
This media is not supported in your browser
VIEW IN TELEGRAM
🤩🗺 Готовы увидеть сотни тысяч популярных проектов GitHub? Отправляйтесь в путешествие по карте, где каждая точка — это проект GitHub. На текущий момент на карте их более 400 000.
Две точки в одном кластере обычно расположены близко друг к другу, если несколько пользователей часто ставили звезды обоим проектам. Размер точки указывает на количество звезд, которые получил проект.
Две точки в одном кластере обычно расположены близко друг к другу, если несколько пользователей часто ставили звезды обоим проектам. Размер точки указывает на количество звезд, которые получил проект.
#хочу_спросить
Задавайте любые вопросы о программировании и получайте ответы от пользователей. В комментариях под постом укажите #язык, #стек и/или #библиотеку, по которым задаете вопрос.
Задавайте любые вопросы о программировании и получайте ответы от пользователей. В комментариях под постом укажите #язык, #стек и/или #библиотеку, по которым задаете вопрос.
Новое в Symfony 6.3: Улучшения входа и выхода
Статья описывает новые улучшения, которые были внесены в процессы аутентификации и выхода из системы в Symfony 6.3. В частности, эти улучшения включают в себя новые методы API для настройки аутентификации и выхода из системы. Также представлены такие изменения:
1️⃣Опция «Запомнить меня» для входа в систему через JSON
2️⃣Очистка данных сайта после выхода
полностью можно прочитать здесь
Статья описывает новые улучшения, которые были внесены в процессы аутентификации и выхода из системы в Symfony 6.3. В частности, эти улучшения включают в себя новые методы API для настройки аутентификации и выхода из системы. Также представлены такие изменения:
1️⃣Опция «Запомнить меня» для входа в систему через JSON
2️⃣Очистка данных сайта после выхода
полностью можно прочитать здесь
Symfony
New in Symfony 6.3: Login and Logout Improvements (Symfony Blog)
Symfony 6.3 allows to redirect users after their programmatic login, adds Remember Me support for JSON logins and allows to clear site data after user logout.
#вопросы_с_собеседований
Что такое объектно-ориентированное программирование (ООП) в PHP?
ООП - это парадигма программирования, в которой программа строится на основе объектов, которые являются экземплярами классов. В PHP объекты и классы создаются с помощью ключевых слов «class», "object", «public», «protected» и «private».
Что такое объектно-ориентированное программирование (ООП) в PHP?
Промежуточное ПО безопасности 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.
Мутационные тесты: зачем и как
Как оценивать качество тестов? Многие полагаются на самый популярный показатель, известный всем, — code coverage. Но это количественная, а не качественная метрика. Она показывает, какой объём вашего кода покрыт тестами, но не то, как хорошо эти тесты написаны.
Один из способов разобраться в этом — мутационное тестирование. Этот инструмент, внося небольшие правки в исходный код и заново прогоняя после этого тесты, позволяет выявить бесполезные тесты и низкокачественное покрытие. Сегодняшняя статья на Хабре поможет в этом разобраться
Как оценивать качество тестов? Многие полагаются на самый популярный показатель, известный всем, — code coverage. Но это количественная, а не качественная метрика. Она показывает, какой объём вашего кода покрыт тестами, но не то, как хорошо эти тесты написаны.
Один из способов разобраться в этом — мутационное тестирование. Этот инструмент, внося небольшие правки в исходный код и заново прогоняя после этого тесты, позволяет выявить бесполезные тесты и низкокачественное покрытие. Сегодняшняя статья на Хабре поможет в этом разобраться
Хабр
Лови мутанта! Мутационные тесты: зачем и как
Я очень люблю тесты и считаю, что любой код должен быть покрыт ими, желательно качественными :) Поэтому хочу поделиться с вами опытом внедрения мутационных тестов в проект, рассказать зачем оно...
Вопрос к сеньорам, в какой момент вы узнали, что достигли этого уровня? Как это произошло?⬇️⬇️⬇️
Библиотека 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
Анализ и приоритизация задач в тикетной системе: как красиво реализовать на PHP
Почему это важно? Анализ и приоритизация задач позволяют выявить проблемы, необходимые доработки и оптимизацию процессов. После анализа можно определить, что нужно изменить, чтобы обеспечить более эффективную работу.
Статья покажет как реализовать это на PHP
Почему это важно? Анализ и приоритизация задач позволяют выявить проблемы, необходимые доработки и оптимизацию процессов. После анализа можно определить, что нужно изменить, чтобы обеспечить более эффективную работу.
Статья покажет как реализовать это на PHP
Хабр
Анализ и приоритизация задач в тикетной системе: реализуем красиво на PHP
Привет! Меня зовут Олег Мифле. Одной из команд, где удалось поработать за 7 лет с PHP, стала Customer Support. Мы автоматизировали анализ тысяч задач в день и оператору больше не нужно думать и...
Создание вне инструментов: что не так с современной разработкой на основе фреймворков?
Статья обсуждает некоторые проблемы, связанные с современной разработкой на основе фреймворков. В статье рассматривается несколько аспектов, которые, по мнению автора, могут иметь негативное влияние на процесс разработки и результаты проектов.
Статья обсуждает некоторые проблемы, связанные с современной разработкой на основе фреймворков. В статье рассматривается несколько аспектов, которые, по мнению автора, могут иметь негативное влияние на процесс разработки и результаты проектов.
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!
Статья с названием «Использование 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.
Потоковая передача ответов OpenAI в Laravel с помощью событий, отправленных сервером (SSE)
Статья о том, как использовать OpenAI API в Laravel-приложении с помощью стриминга ответа сервера.
Тут описано, как выполнить запрос к OpenAI API и получить ответ в формате JSON, который затем обрабатывается в стрим-контролере и отправляется клиенту по мере готовности.
Также представлен пример кода, который можно использовать для создания своего Laravel-приложения с использованием OpenAI API и стриминга ответа.
Такой подход позволяет уменьшить время ожидания ответа от сервера и улучшить производительность приложения.
Статья о том, как использовать OpenAI API в Laravel-приложении с помощью стриминга ответа сервера.
Тут описано, как выполнить запрос к OpenAI API и получить ответ в формате JSON, который затем обрабатывается в стрим-контролере и отправляется клиенту по мере готовности.
Также представлен пример кода, который можно использовать для создания своего Laravel-приложения с использованием OpenAI API и стриминга ответа.
Такой подход позволяет уменьшить время ожидания ответа от сервера и улучшить производительность приложения.