EasyAdmin и Mercure: реальный юзкейс
EasyAdmin — один из самых популярных генераторов административных панелей, доступных для Symfony-приложений. Поскольку для аутентификации пользователей он использует стандартный компонент безопасности Symfony, он позволяет входить в систему и изменять данные множеству пользователей одновременно. Но есть одна проблема…
EasyAdmin — один из самых популярных генераторов административных панелей, доступных для Symfony-приложений. Поскольку для аутентификации пользователей он использует стандартный компонент безопасности Symfony, он позволяет входить в систему и изменять данные множеству пользователей одновременно. Но есть одна проблема…
Хабр
EasyAdmin и Mercure: реальный юзкейс
EasyAdmin — один из самых популярных генераторов административных панелей, доступных для Symfony -приложений. Поскольку для аутентификации пользователей он использует стандартный компонент...
👍3❤2👾1
❗Ищем копирайтера
Нам нужен человек, который:
— Любит IT и русский язык.
— Понимает разницу между бэкендом и фронтендом, OWASP и MISRA, функциональным программированием и ООП, микроконтроллером и миникомпьютером, UX и UI.
— Имеет опыт работы от 1 года.
— Будет плюсом, если вы программируете на каком-нибудь языке на уровне стажера/джуна.
Что нужно делать:
— Готовить подборки, ТОПы книг, ютуб- и телеграм-каналов по языкам программирования.
— Делать расшифровки топовых Ютуб-роликов по теме программирования и оформлять их в виде статей.
— Готовить новостные заметки.
— Актуализировать старые статьи.
— Брать интервью у экспертов. Мы поможем с поиском экспертов.
— Иногда писать небольшие рекламные посты в телеграм.
— Писать статьи с кодом, переводить статьи (по желанию, оплачивается отдельно).
Можно использовать нейронки?
— Да, главное, чтобы материал получился интересный.
Условия:
— Белая зарплата: 50 000 руб.
— Возможность работать удаленно.
👉Присылайте свои резюме: [email protected]
Нам нужен человек, который:
— Любит IT и русский язык.
— Понимает разницу между бэкендом и фронтендом, OWASP и MISRA, функциональным программированием и ООП, микроконтроллером и миникомпьютером, UX и UI.
— Имеет опыт работы от 1 года.
— Будет плюсом, если вы программируете на каком-нибудь языке на уровне стажера/джуна.
Что нужно делать:
— Готовить подборки, ТОПы книг, ютуб- и телеграм-каналов по языкам программирования.
— Делать расшифровки топовых Ютуб-роликов по теме программирования и оформлять их в виде статей.
— Готовить новостные заметки.
— Актуализировать старые статьи.
— Брать интервью у экспертов. Мы поможем с поиском экспертов.
— Иногда писать небольшие рекламные посты в телеграм.
— Писать статьи с кодом, переводить статьи (по желанию, оплачивается отдельно).
Можно использовать нейронки?
— Да, главное, чтобы материал получился интересный.
Условия:
— Белая зарплата: 50 000 руб.
— Возможность работать удаленно.
👉Присылайте свои резюме: [email protected]
❤2😁2👍1
Что нового в PHP 8.3
PHP 8.3 выйдет 23 ноября 2023 года; в нем есть улучшения для классов readonly, новая функция json_validate(), дополнения к недавно добавленному классу Randomizer, обнаружение переполнения стека и многое другое.
PHP 8.3 выйдет 23 ноября 2023 года; в нем есть улучшения для классов readonly, новая функция json_validate(), дополнения к недавно добавленному классу Randomizer, обнаружение переполнения стека и многое другое.
stitcher.io
What's new in PHP 8.3 - stitcher.io
All new features, performance upgrades, and deprecations in PHP 8.3
👍15❤6🔥6😁1
Видео: Интервью с создателем NativePHP
Марсель Поцьо пришел на интервью, чтобы рассказать об одном из его последних проектов: использовании PHP для создания кроссплатформенных приложений, выглядящих как нативные.
Марсель Поцьо пришел на интервью, чтобы рассказать об одном из его последних проектов: использовании PHP для создания кроссплатформенных приложений, выглядящих как нативные.
YouTube
Rockstar Developer builds Native PHP
Today I'm sitting down with Marcel Pociot to talk about one of his latests projects: using PHP to build native-looking, cross-platform apps.
Links:
- The Native PHP website: https://nativephp.com/
- Marcel on Twitter: https://twitter.com/marcelpociot
-…
Links:
- The Native PHP website: https://nativephp.com/
- Marcel on Twitter: https://twitter.com/marcelpociot
-…
❤7😁1
Еще один #дайджест новостей по PHP за неделю:
🔎PHP 8.2.9 выпущен - Команда разработчиков PHP объявляет о немедленной доступности PHP 8.2.9. Это релиз безопасности. Всем пользователям PHP 8.2 рекомендуется выполнить обновление до этой версии.
🔎Выпущена версия Laravel Herd v1.2.0! Давайте посмотрим на некоторые особенности этой новой версии.
🔎Нуно Мадуро объявил на X, что Pest v2.16 уже вышел. Это обновление включает в себя поддержку встроенных функций плагина Arch, новые ожидания и многое другое.
🔎Неделя Symfony № 868 (14–20 августа 2023 г.)
🔎PHP 8.2.9 выпущен - Команда разработчиков PHP объявляет о немедленной доступности PHP 8.2.9. Это релиз безопасности. Всем пользователям PHP 8.2 рекомендуется выполнить обновление до этой версии.
🔎Выпущена версия Laravel Herd v1.2.0! Давайте посмотрим на некоторые особенности этой новой версии.
🔎Нуно Мадуро объявил на X, что Pest v2.16 уже вышел. Это обновление включает в себя поддержку встроенных функций плагина Arch, новые ожидания и многое другое.
🔎Неделя Symfony № 868 (14–20 августа 2023 г.)
👍3
PHP Fibers: практический пример
Файберы появились в PHP 8.1 в конце 2020 и привнесли в язык своего рода асинхронное программирование. Они представляют собой легковесные потоки исполнения (известные как сопрограммы, или корутины (coroutine)). Они исполняются параллельно, но обрабатываются исключительно самой runtime-средой, а передаются напрямую в процессор. Разные реализации сопрограмм есть во многих основных языках, но принцип один и тот же: позволить компьютеру одновременно выполнять две и больше задач и ждать, пока они все не завершатся.
PHP-реализация файберов — это не настоящие асинхронные вычисления, как можно подумать. Даже после появления новинки ядро языка осталось синхронным. Применение файберов можно сравнить с пересаживанием из одного автомобиля в другой.
Здесь представлен практический пример их использования.
Файберы появились в PHP 8.1 в конце 2020 и привнесли в язык своего рода асинхронное программирование. Они представляют собой легковесные потоки исполнения (известные как сопрограммы, или корутины (coroutine)). Они исполняются параллельно, но обрабатываются исключительно самой runtime-средой, а передаются напрямую в процессор. Разные реализации сопрограмм есть во многих основных языках, но принцип один и тот же: позволить компьютеру одновременно выполнять две и больше задач и ждать, пока они все не завершатся.
PHP-реализация файберов — это не настоящие асинхронные вычисления, как можно подумать. Даже после появления новинки ядро языка осталось синхронным. Применение файберов можно сравнить с пересаживанием из одного автомобиля в другой.
Здесь представлен практический пример их использования.
👍8❤1
🐛 9 признаков неопытного программиста
Давайте попробуем отделить зерна от плевел и вывести несколько общих признаков, по которым можно определить неопытного программиста.
Давайте попробуем отделить зерна от плевел и вывести несколько общих признаков, по которым можно определить неопытного программиста.
🥱11👍4🤔2🌚2❤1
Статистика Laravel Volt в реальном времени
Статья описывает, как с использованием фреймворка Laravel подключить динамическую статистику посещаемости пользователей приложения в режиме реального времени.
Есть три варианта варианта реализации:
✅Регистрация активных пользователей в таблице базы данных. Каждая запись будет иметь user_id и метку времени, когда они были активны. Затем вы можете проверить активность за последние 5 минут или любой другой желаемый период времени.
✅Создать столбец «last_login_at» в таблице пользователей
✅Использовать сервер веб-сокетов для подсчета активных пользователей в реальном времени.
Автор использует Redis и Volt для этого
Статья описывает, как с использованием фреймворка Laravel подключить динамическую статистику посещаемости пользователей приложения в режиме реального времени.
Есть три варианта варианта реализации:
✅Регистрация активных пользователей в таблице базы данных. Каждая запись будет иметь user_id и метку времени, когда они были активны. Затем вы можете проверить активность за последние 5 минут или любой другой желаемый период времени.
✅Создать столбец «last_login_at» в таблице пользователей
✅Использовать сервер веб-сокетов для подсчета активных пользователей в реальном времени.
Автор использует Redis и Volt для этого
ahmedash.dev
Laravel Volt realtime live stats
Exploring Laravel and its features deeply. Making complex ideas easy to understand.
👍5❤2🔥1
Укрепите типобезопасность ваших массивов
Здесь говорится, что PHP не обладает строгой системой типов, что может приводить к ошибкам при работе с массивами, так как они могут содержать элементы различных типов данных.
Автор предлагает использование пользовательских классов: вместо простых массивов можно использовать классы, которые могут иметь строгую типизацию и методы для работы с данными. Это обеспечивает более гибкую и безопасную работу с данными. Классы также позволяют определить пользовательские методы для проверки или преобразования данных.
Здесь говорится, что PHP не обладает строгой системой типов, что может приводить к ошибкам при работе с массивами, так как они могут содержать элементы различных типов данных.
Автор предлагает использование пользовательских классов: вместо простых массивов можно использовать классы, которые могут иметь строгую типизацию и методы для работы с данными. Это обеспечивает более гибкую и безопасную работу с данными. Классы также позволяют определить пользовательские методы для проверки или преобразования данных.
DEV Community
Reinforce the type safety of your PHP arrays
Arrays are not enforcing all items to be of the same type. With this technique, we can counter this issue.
👍8❤1🔥1👾1
Что такое GRASP паттерны?
General Responsibility Assignment Software Patterns — шаблоны проектирования для решения общих задач. В отличие от паттернов из Банды Четырех, GRAPS шаблоны не имеют выраженной структуры, четкой области применения и конкретной решаемой проблемы, а лишь представляют собой обобщенные подходы/рекомендации/принципы, используемые при проектировании дизайна системы.
Хорошая статья по теме
#вопросы_с_собеседований
General Responsibility Assignment Software Patterns — шаблоны проектирования для решения общих задач. В отличие от паттернов из Банды Четырех, GRAPS шаблоны не имеют выраженной структуры, четкой области применения и конкретной решаемой проблемы, а лишь представляют собой обобщенные подходы/рекомендации/принципы, используемые при проектировании дизайна системы.
Хорошая статья по теме
#вопросы_с_собеседований
😁7❤2
Laravel 10. Как настроить Ajax-запрос.
Настройка запросов Ajax в Laravel 10 упрощает связь между вашим интерфейсом и сервером, позволяя получать обновления в реальном времени и улучшать взаимодействие с пользователем без необходимости полной перезагрузки страницы.
В этом руководстве вы познакомитесь с процессом настройки запросов Ajax в Laravel 10, как использовать JavaScript и jQuery для отправки асинхронных запросов на ваш сервер, предоставления данных и обработки ответов в реальном времени.
Настройка запросов Ajax в Laravel 10 упрощает связь между вашим интерфейсом и сервером, позволяя получать обновления в реальном времени и улучшать взаимодействие с пользователем без необходимости полной перезагрузки страницы.
В этом руководстве вы познакомитесь с процессом настройки запросов Ajax в Laravel 10, как использовать JavaScript и jQuery для отправки асинхронных запросов на ваш сервер, предоставления данных и обработки ответов в реальном времени.
DEV Community
Laravel 10 How To Setup Ajax Request Tutorial
In the ever-changing web development ecosystem, Ajax (Asynchronous JavaScript and XML) has emerged as...
🥱20❤2👍1
Отладка Gateway Error
Статья рассматривает отладку ошибок шлюзов (gateway errors) при разработке веб-приложений. Шлюзы являются промежуточными слоями веб-приложения, которые служат для обработки запросов и могут вызывать ошибки, которые необходимо отлаживать и исправлять.
Шлюз — это нечто, находящееся между веб-сервером (обычно Nginx) и вашим приложением. Для большинства из нас это PHP-FPM. Nginx будет использовать протокол fastcgi для преобразования веб-запроса в нечто, понятное PHP-FPM. Затем PHP-FPM запускает ваше приложение, настраивая PHP с необходимой информацией (устанавливая суперглобальные переменные $_GET, $_POST, $_SESSION, $_SERVERи т. д.).
Если PHP-FPM возвращает ошибку, Nginx выдает нам ошибку шлюза.
Статья рассматривает отладку ошибок шлюзов (gateway errors) при разработке веб-приложений. Шлюзы являются промежуточными слоями веб-приложения, которые служат для обработки запросов и могут вызывать ошибки, которые необходимо отлаживать и исправлять.
Шлюз — это нечто, находящееся между веб-сервером (обычно Nginx) и вашим приложением. Для большинства из нас это PHP-FPM. Nginx будет использовать протокол fastcgi для преобразования веб-запроса в нечто, понятное PHP-FPM. Затем PHP-FPM запускает ваше приложение, настраивая PHP с необходимой информацией (устанавливая суперглобальные переменные $_GET, $_POST, $_SESSION, $_SERVERи т. д.).
Если PHP-FPM возвращает ошибку, Nginx выдает нам ошибку шлюза.
Laravel News
Debugging Gateway Errors - Laravel News
You'll sometimes hit Gateways errors, usually 502 Bad Gateway or 504 Gateway Timeout. Nginx returns these errors when it sends a request to PHP, but PHP returns some error saying it can't process the request. Typically these are NOT errors occurring in your…
👍2❤1
Как удалить переходные зависимости, которые вам не нужны
В статье описывается подход к управлению ненужными зависимостями в проекте на языке программирования PHP.
Здесь рассматривается проблема переходных зависимостей, которые добавляются в проект вместе с другими зависимостями, но которые на самом деле не используются в коде проекта. Такие ненужные зависимости могут замедлить процесс загрузки проекта и увеличить объем потребляемых ресурсов.
Поскольку часто такие зависимости не представлены в composer.json удаление их с помощью команды remove невозможно, автор предлагает вместо этого использовать раздел replace в Comsposer и тогда можно легко избавиться от неиспользуемых зависимостей.
В статье описывается подход к управлению ненужными зависимостями в проекте на языке программирования PHP.
Здесь рассматривается проблема переходных зависимостей, которые добавляются в проект вместе с другими зависимостями, но которые на самом деле не используются в коде проекта. Такие ненужные зависимости могут замедлить процесс загрузки проекта и увеличить объем потребляемых ресурсов.
Поскольку часто такие зависимости не представлены в composer.json удаление их с помощью команды remove невозможно, автор предлагает вместо этого использовать раздел replace в Comsposer и тогда можно легко избавиться от неиспользуемых зависимостей.
Tomasvotruba
How to Remove Transitional Dependencies You don't Need
In the last post [I shared a trick](/blog/unleash-the-power-of-simplicity-php-cli-app-with-minimal-dependencies) on how to **reduce CLI project /vendor size by 70 %**. Today we'll trim off a bit more with the no-so-known composer feature.
👍4❤2
Forwarded from PHP jobs — вакансии по PHP, Symfony, Laravel
#дайджест #phpdevjob
Вакансии недели для Москвы 👨🏻🏫
Team Lead в АТЛАНТ
Москва. Федеральная сеть розничных магазинов.
Подробнее
PHP-программист в ООО Интерфинити
Москва. Проекты в области автомобильной промышленности.
Подробнее
PHP-разработчик Junior+ в Delaweb
Москва. Продуктовая и enterprise разработка.
Подробнее
PHP разработчик Junior+ в DatainLife
Москва. Разработка для малого, среднего и крупного бизнеса.
Подробнее
PHP разработчик в Разумные решения
Москва. Разработка мобильных приложений.
Подробнее
Понравились вакансии?
👍 — да
👎 — нет
Вакансии недели для Москвы 👨🏻🏫
Team Lead в АТЛАНТ
Москва. Федеральная сеть розничных магазинов.
Подробнее
PHP-программист в ООО Интерфинити
Москва. Проекты в области автомобильной промышленности.
Подробнее
PHP-разработчик Junior+ в Delaweb
Москва. Продуктовая и enterprise разработка.
Подробнее
PHP разработчик Junior+ в DatainLife
Москва. Разработка для малого, среднего и крупного бизнеса.
Подробнее
PHP разработчик в Разумные решения
Москва. Разработка мобильных приложений.
Подробнее
Понравились вакансии?
👍 — да
👎 — нет
hh.ru
Вакансия Team Lead (PHP) в Москве, работа в компании АТЛАНТ (вакансия в архиве c 3 апреля 2024)
Зарплата: не указана. Москва. Требуемый опыт: 1–3 года. Полная занятость. Дата публикации: 04.03.2024.
😁6👍3❤1
#хочу_спросить
Задавайте любые вопросы о программировании и получайте ответы от пользователей. В комментариях под постом укажите #язык, #стек и/или #библиотеку, по которым задаете вопрос.
Задавайте любые вопросы о программировании и получайте ответы от пользователей. В комментариях под постом укажите #язык, #стек и/или #библиотеку, по которым задаете вопрос.
❤2😁1
Моки и их влияние на дизайн программного обеспечения
Моки — это объекты, созданные для имитации поведения реальных объектов в тестировании программного обеспечения. Они используются для создания контролируемых и предсказуемых сценариев для тестирования функциональности.
Статья объясняет, что мок-объекты могут быть полезными инструментами для разработчиков, так как они позволяют изолировать и тестировать определенные части кода, не зависимо остальные компоненты.
Но так же моки имеют недостаток: их сложно рефакторить.
Автор рассказывает как их правильно использовать, а также предлагает альтернативные варианты.
Моки — это объекты, созданные для имитации поведения реальных объектов в тестировании программного обеспечения. Они используются для создания контролируемых и предсказуемых сценариев для тестирования функциональности.
Статья объясняет, что мок-объекты могут быть полезными инструментами для разработчиков, так как они позволяют изолировать и тестировать определенные части кода, не зависимо остальные компоненты.
Но так же моки имеют недостаток: их сложно рефакторить.
Автор рассказывает как их правильно использовать, а также предлагает альтернативные варианты.
Shopware's Blog - Ecommerce News
Mocks and their influence on software design
Here are some words of caution on the implication that the heavy use of mocks in your code base can have regarding the overall system design or architecture.
👍5❤4
Что такое REST API?
REpresentational State Transfer — архитектурный подход, который позволяет организовать взаимодействие между приложениями, используя все возможности HTTP. Хорошая статья на эту тему, а также различия REST и SOAP.
В контексте API нужно понимать основные форматы обмена данными, чаще всего это XML и JSON.
#вопросы_с_собеседований
REpresentational State Transfer — архитектурный подход, который позволяет организовать взаимодействие между приложениями, используя все возможности HTTP. Хорошая статья на эту тему, а также различия REST и SOAP.
В контексте API нужно понимать основные форматы обмена данными, чаще всего это XML и JSON.
#вопросы_с_собеседований
👍10❤7😁4
Раскройте силу простоты: приложение PHP CLI с минимальными зависимостями
Статья рассказывает о том, как создать простое и эффективное CLI-приложение на PHP, минимизируя зависимости и избегая излишней сложности.
Статья рассказывает о том, как создать простое и эффективное CLI-приложение на PHP, минимизируя зависимости и избегая излишней сложности.
Tomasvotruba
Unleash the Power of Simplicity: PHP CLI App with Minimal Dependencies
I have a couple of open-source CLI apps like Rector, ECS, Class Leak, Config Transformer, Monorepo Builder and Lines, and private ones like Cleaning Checklist, Fixai, Private Rector and Entropy. All of them run in the command line, and some of them [are downgraded…
❤11