PhpStorm TIP: если в проекте есть описание API в формате OpenAPI, то при работе со встроенным HTTP client будет работать автодополнение API путей.
Подробнее про HTTP client и OpenAPI в PhpStorm: http://amp.gs/jmxU4
Подробнее про HTTP client и OpenAPI в PhpStorm: http://amp.gs/jmxU4
Для аудиалов: YouTube канал Listen IT — автор пересказывает статьи на тему IT. Получается хорошо! https://youtube.com/c/ListenIT_channel
Forwarded from PHP of By (Community Org)
Spiral Ecosystem News #2
Всем привет!
После каждого релиза R&D команда Spiral собирается, чтобы обсудить новые фичи, вошедшие в релизы их проектов, а также последние новости по Roadrunner, Cycle ORM и Spiral Framework.
Подключайтесь во вторник, 25 января в 19.00 (+3) послушать и готовьте вопросы :)
Вопросы можно задать по этой ссылке (можно анонимно): https://docs.google.com/forms/d/1G4jqaWhIFdiFB6jJD139vx4w8a_CG4SylUNT-UVWIPE
Ссылка на трансляцию YouTube: https://www.youtube.com/watch?v=VIoGqpn3eyc
Всем привет!
После каждого релиза R&D команда Spiral собирается, чтобы обсудить новые фичи, вошедшие в релизы их проектов, а также последние новости по Roadrunner, Cycle ORM и Spiral Framework.
Подключайтесь во вторник, 25 января в 19.00 (+3) послушать и готовьте вопросы :)
Вопросы можно задать по этой ссылке (можно анонимно): https://docs.google.com/forms/d/1G4jqaWhIFdiFB6jJD139vx4w8a_CG4SylUNT-UVWIPE
Ссылка на трансляцию YouTube: https://www.youtube.com/watch?v=VIoGqpn3eyc
Конференция Laracon Online обычно платная, я даже пару раз покупал билет. Но ближайшая Laracon Online Winter 9 февраля 2022 будет бесплатной! Возможны анонсы: некий секретный проект Тейлора, Nova 4.0? И, конечно, Laravel 9, но там всё уже понятно. http://amp.gs/jm7sV
Forwarded from Cross Join - канал о разработке (Anton Okolelov)
На Хабре появилась очередная статья о том, как php пытаются натянуть на хайлоад, используя для этого костыли swoole.
Статья потрясающая, ведь в ней перечислены все минусы этого подхода по сравнению с Go, Node и т.д., а выводы сделаны противоположные здравому смыслу.
В статье api, которое пишет в базу, нагрузка всего 300rps.
1) Приложение жрет 2 гига памяти и 8 ядер cpu. Ну хз, Go сожрало бы в несколько раз меньше. У меня микросервисы обычно потребляют в разы меньше при гораздо большей нагрузке. Хотя, конечно, зависит от конкретики приложения.
2) раздел "простота инфраструктуры", цитирую:
"...внутри контейнера будет всего 11 процессов: 1 tini (supervisor)+entrypoint, 1 master процесс, 1 manager процесс и 8 worker процессов."
Вы чо, ребят? Какая тут простота? Особенно учитывая, что они зачем-то перезапускают процессы воркеров раз в час.
Image весит всего 120 мегабайт. Ну неплохо, но если это так важно, то в Go можно оставить вообще один бинарник (FROM scratch), и он будет весить по сути вообще около нуля.
3) чтобы добиться постоянного соединения к бд и редису, пришлось написать несколько оберток к библиотекам и драйвер к doctrine.
4) 4ms уходит на обработку запроса без логики (пустой запрос или даже 404). Сорян, но это очень много.
5) в течение месяца после выкатки они вылавливали странные ситуации. Что-то там текло при коннекте к посгресу и тд.
Итог) Вывод делают такой: php закапывать рано, все норм.
Блин. Если бы в статье был упор на удобство написания кода, то я бы это купил и пошарил бы везде. Синтаксис php во многом удобнее. Но статья про хайлоад и производительность, блин.
Отдельно хочу заметить, что описанное в статье могла намутить только команда прокачанных php-синьоров, которые готовы ловить и фиксить необычные проблемы. А на Go с задачей "highload api, которое лезет в базу" справился бы начинающий по стандартному мануалу. И у него не возникло бы ни одной серьёзной проблемы.
Статья потрясающая, ведь в ней перечислены все минусы этого подхода по сравнению с Go, Node и т.д., а выводы сделаны противоположные здравому смыслу.
В статье api, которое пишет в базу, нагрузка всего 300rps.
1) Приложение жрет 2 гига памяти и 8 ядер cpu. Ну хз, Go сожрало бы в несколько раз меньше. У меня микросервисы обычно потребляют в разы меньше при гораздо большей нагрузке. Хотя, конечно, зависит от конкретики приложения.
2) раздел "простота инфраструктуры", цитирую:
"...внутри контейнера будет всего 11 процессов: 1 tini (supervisor)+entrypoint, 1 master процесс, 1 manager процесс и 8 worker процессов."
Вы чо, ребят? Какая тут простота? Особенно учитывая, что они зачем-то перезапускают процессы воркеров раз в час.
Image весит всего 120 мегабайт. Ну неплохо, но если это так важно, то в Go можно оставить вообще один бинарник (FROM scratch), и он будет весить по сути вообще около нуля.
3) чтобы добиться постоянного соединения к бд и редису, пришлось написать несколько оберток к библиотекам и драйвер к doctrine.
4) 4ms уходит на обработку запроса без логики (пустой запрос или даже 404). Сорян, но это очень много.
5) в течение месяца после выкатки они вылавливали странные ситуации. Что-то там текло при коннекте к посгресу и тд.
Итог) Вывод делают такой: php закапывать рано, все норм.
Блин. Если бы в статье был упор на удобство написания кода, то я бы это купил и пошарил бы везде. Синтаксис php во многом удобнее. Но статья про хайлоад и производительность, блин.
Отдельно хочу заметить, что описанное в статье могла намутить только команда прокачанных php-синьоров, которые готовы ловить и фиксить необычные проблемы. А на Go с задачей "highload api, которое лезет в базу" справился бы начинающий по стандартному мануалу. И у него не возникло бы ни одной серьёзной проблемы.
Хабр
PHP на стероидах: Swoole in production
Представьте себе ситуацию, большой маркетплейс, 60 тыс. посетителей в сутки (600 тыс. просмотров) и это только веб, а с мобильного приложения, плюс еще 100 тыс. уникальных посетителей. С точки зрения...
Что нового в OpenAPI 3.1 (2021)? Часовое видео с интересными инсайдами и ответами на живые вопросы пользователей: https://youtu.be/Sflpzh_cAcA
YouTube
Introducing OpenAPI Version 3.1
Join OpenAPI contributors, Darrel Miller and Ron Ratovsky, for an up close look at the new features in OpenAPI Version 3.1.
А, тем временем, конференция PHP Russia продолжает собирать заявки на этот год: https://cfp.phprussia.ru/.
Особо интересно:
- Облака и Lambda если это у вас было в проде.
- Архитектура и масштабируемость. Но скорее всего не "как запихать всё в Docker" потому как по этой теме заявок и так прилетает норм и некоторые из них очень сильные.
- Подводные камни хайповых решений. Это всегда нормуль. Как сделать просто там, где все делают зачем-то слишком сложно.
- Системная борьба с legacy. Но не просто так "мы боролись и перебороли", а что-то типа паттернов аля anti-corruption layer и других.
- Асинхронные приложения и параллельная обработка: конвейеры, очереди, шины.
- API: REST, SOAP и другие. Тут начиная с протоколов типа gRPC и binn и заканчивая разворачиванием приложений по спеке OpenAPI. Широкая тема.
Но! Если вдруг у вас тема не вписывается в темы выше и даже в темы на сайте CFP + она всё-таки про PHP или на PHP — подавайте обязательно. Мы обожаем сюрпризы.
Особо интересно:
- Облака и Lambda если это у вас было в проде.
- Архитектура и масштабируемость. Но скорее всего не "как запихать всё в Docker" потому как по этой теме заявок и так прилетает норм и некоторые из них очень сильные.
- Подводные камни хайповых решений. Это всегда нормуль. Как сделать просто там, где все делают зачем-то слишком сложно.
- Системная борьба с legacy. Но не просто так "мы боролись и перебороли", а что-то типа паттернов аля anti-corruption layer и других.
- Асинхронные приложения и параллельная обработка: конвейеры, очереди, шины.
- API: REST, SOAP и другие. Тут начиная с протоколов типа gRPC и binn и заканчивая разворачиванием приложений по спеке OpenAPI. Широкая тема.
Но! Если вдруг у вас тема не вписывается в темы выше и даже в темы на сайте CFP + она всё-таки про PHP или на PHP — подавайте обязательно. Мы обожаем сюрпризы.
cfp.phprussia.ru
PHP Russia 2025
Подайте доклад на конференцию PHP Russia
👍2
Doctrine DBAL 2 уйдёт в закат в конце 2022 года, всем DBAL 3! http://amp.gs/jm9d7
www.doctrine-project.org
Sunsetting Doctrine DBAL 2 - Doctrine: PHP Open Source Project
The Doctrine Project is an open-source PHP project that is home to home to several PHP libraries primarily focused on database storage and object mapping. The core projects are the Object Relational Mapper (ORM) and the Database Abstraction Layer (DBAL) it…
2 марта 2022 смотрите во всех онлайн-кинотеатрах: документальный фильм Laravel Origins! А пока трейлер: https://youtu.be/mH7cgoX3K0g
YouTube
Laravel Origins: The Documentary (Trailer)
🎥 More tech documentaries coming out soon, subscribe to be notified!
🥳 Laravel Origins is now live: https://youtu.be/127ng7botO4
Featuring Laravel creator Taylor Otwell and many others who’ve contributed to making Laravel the technology and community that…
🥳 Laravel Origins is now live: https://youtu.be/127ng7botO4
Featuring Laravel creator Taylor Otwell and many others who’ve contributed to making Laravel the technology and community that…
Читаю канал Хроники Yii3 (http://amp.gs/jmAxL), вижу пост «Исправили проблемы работы с PHP 8.1 в пакетах…», в нём ссылки на PR — пошел, посмотрел, узнал для себя что-то новое! Полезно иногда подсматривать в коммиты популярных библиотек и фреймворков.
👍1
В продолжение предыдущего поста, хорошая статья по теме что такое «A tentative return types» и атрибут #[ReturnTypeWillChange] в PHP 8.1: http://amp.gs/jmACh
PHP.Watch
PHP 8.1: Return types in PHP built-in class methods and deprecation notices
👍1
Рубрика библиотека дня: http://amp.gs/jmJuM — мемоизация результата выполнения функции или метода. Рекомендую посмотреть исходный код, его не много.
Рубрика библиотека дня: PHP Clean Architecture.
Инструмент для автоматизации контроля над качеством архитектуры приложений написанных на PHP, а также упрощения анализа и визуализации некоторых метрик.
Идея его создания была навеяна книгой «Чистая Архитектура» (Роберта Мартина).
Отчет визуализирует текущее состояние системы, наглядно отображает взаимосвязи между компонентами, их силу, удалённость компонентов от главной последовательности, а также подсвечивает обнаруженные, на основе конфига, нежелательные зависимости и прочие архитектурные проблемы.
В случае нарушения кодом ограничений, заданных конфигом, информирует об обнаруженных проблемах и завершает выполнение с ошибкой. Рекоммендуется добавить запуск этой команды в процес CI.
http://amp.gs/jm3Ta
Инструмент для автоматизации контроля над качеством архитектуры приложений написанных на PHP, а также упрощения анализа и визуализации некоторых метрик.
Идея его создания была навеяна книгой «Чистая Архитектура» (Роберта Мартина).
Отчет визуализирует текущее состояние системы, наглядно отображает взаимосвязи между компонентами, их силу, удалённость компонентов от главной последовательности, а также подсвечивает обнаруженные, на основе конфига, нежелательные зависимости и прочие архитектурные проблемы.
В случае нарушения кодом ограничений, заданных конфигом, информирует об обнаруженных проблемах и завершает выполнение с ошибкой. Рекоммендуется добавить запуск этой команды в процес CI.
http://amp.gs/jm3Ta
Подводим итоги 2021 года в PHP-сообществе, живая трансляция на YouTube 12 февраля 11:00 Мск/Минск/Киев
http://amp.gs/jmLz4
http://amp.gs/jmLz4
phpcommunity.ru
2021 год в русскоговорящем PHP-сообществе (опрос и стрим)
Обсуждение событий года, личностей и важных решений + много данных
17 и 18 марта 2022 года в Москве состоится крупнейшая в Европе IT-конференция HighLoad++ Foundation
Сможете пообщаться с ТОПами IT-индустрии и найти ответы на свои вопросы, получить персональную консультацию от разработчиков технологий, на которых построен ваш проект.
😎Влиться в профессиональное комьюнити, завязать полезные знакомства, обновить свою базу знаний и найти решение для сложных задач — всё это на одной площадке.
http://amp.gs/jmMIC
Сможете пообщаться с ТОПами IT-индустрии и найти ответы на свои вопросы, получить персональную консультацию от разработчиков технологий, на которых построен ваш проект.
😎Влиться в профессиональное комьюнити, завязать полезные знакомства, обновить свою базу знаний и найти решение для сложных задач — всё это на одной площадке.
http://amp.gs/jmMIC
Forwarded from Laravel World
Laracon начался!
https://youtu.be/0Rq-yHAwYjQ
РАСПИСАНИЕ:
16:55 MSK - Opening - Ian Landsman
17:00 MSK- Actions are a Dev's Best Friend - Luke Downing
17:40 MSK - Modularising the Monolith - Ryuta Hamasaki
18:20 MSK - Digital Nomadding in the Time of COVID - Polly Washburn
18:35 MSK - Typing In and Out of Laravel - Craig Morris
18:50 MSK - Everything Flex - Shruti Balasa
19:20 MSK - Dealing with Criticism - Kristin Collins
20:00 MSK - A Little Bit More Lambda - Aaron Francis
20:40 MSK - Web 3.0 and Laravel - Marcel Pociot
21:40 MSK - Laravel Update - Taylor Otwell
22:40 MSK - How to do API integrations in Laravel - Steve McDougall
23:20 MSK - Building Awesome Blade Components With Alpine - Caleb Porzio
00:30 MSK - Discovering Route Discovery - Freek Van der Herten
00:35 MSK - The Art of Programming - Erika Heidi
00:50 MSK - Using Lando for local Development - Rory McDaniel
01:05 MSK - The Jigsaw Challenge - Zuzana Kunckova
01:30 MSK - Laravel for millions and some… - Ashley Hindle
02:00 MSK - Keep Thinking Like a Hacker - Stephen Rees-Carter
https://youtu.be/0Rq-yHAwYjQ
РАСПИСАНИЕ:
16:55 MSK - Opening - Ian Landsman
17:00 MSK- Actions are a Dev's Best Friend - Luke Downing
17:40 MSK - Modularising the Monolith - Ryuta Hamasaki
18:20 MSK - Digital Nomadding in the Time of COVID - Polly Washburn
18:35 MSK - Typing In and Out of Laravel - Craig Morris
18:50 MSK - Everything Flex - Shruti Balasa
19:20 MSK - Dealing with Criticism - Kristin Collins
20:00 MSK - A Little Bit More Lambda - Aaron Francis
20:40 MSK - Web 3.0 and Laravel - Marcel Pociot
21:40 MSK - Laravel Update - Taylor Otwell
22:40 MSK - How to do API integrations in Laravel - Steve McDougall
23:20 MSK - Building Awesome Blade Components With Alpine - Caleb Porzio
00:30 MSK - Discovering Route Discovery - Freek Van der Herten
00:35 MSK - The Art of Programming - Erika Heidi
00:50 MSK - Using Lando for local Development - Rory McDaniel
01:05 MSK - The Jigsaw Challenge - Zuzana Kunckova
01:30 MSK - Laravel for millions and some… - Ashley Hindle
02:00 MSK - Keep Thinking Like a Hacker - Stephen Rees-Carter
YouTube
Laracon Online Winter '22
The official Laravel conference, streaming free to the entire Laravel community for the first time ever. We have 17 amazing speakers lined up including a keynote from Taylor Otwell on the state of Laravel and what's new in Laravel 9. Learn more: https://laracon.net…
Тейлор на Laracon 2022 показал Laravel Nova 4:
1. Тёмная тема
2. Responsive дизайн
3. →filterable() для полей — автоматически добавляет поле в фильтры, работает для всех типов полей, выпадающие списки, даты, текстовые поля и т.д.
4. Новые типы полей (упомянул Color)
5. Уведомления (Notifications)
6. Batch actions с поддержкой очередей
7. →dependsOn(…) для полей. Например список опций Select зависит от выбора в другом Select, теперь эта функциональность доступна из коробки
Релиз в марте. Будет отдельный видео-обзор.
Ссылка с таймкодом:
https://youtu.be/0Rq-yHAwYjQ?t=21673
1. Тёмная тема
2. Responsive дизайн
3. →filterable() для полей — автоматически добавляет поле в фильтры, работает для всех типов полей, выпадающие списки, даты, текстовые поля и т.д.
4. Новые типы полей (упомянул Color)
5. Уведомления (Notifications)
6. Batch actions с поддержкой очередей
7. →dependsOn(…) для полей. Например список опций Select зависит от выбора в другом Select, теперь эта функциональность доступна из коробки
Релиз в марте. Будет отдельный видео-обзор.
Ссылка с таймкодом:
https://youtu.be/0Rq-yHAwYjQ?t=21673
YouTube
Laracon Online Winter '22
The official Laravel conference, streaming free to the entire Laravel community for the first time ever. We have 17 amazing speakers lined up including a keynote from Taylor Otwell on the state of Laravel and what's new in Laravel 9. Learn more: https://laracon.net…
Forwarded from Laravel World
Тейлор втихаря отменил LTS в Laravel 9, сократив поддержку версии на год.