es
Feedback
Хэндлим тему | Дерепко

Хэндлим тему | Дерепко

Ir al canal en Telegram
229
Suscriptores
Sin datos24 horas
+77 días
+1330 días
Archivo de publicaciones
Repost from Пых
Open Source Цех #4 / PHP-CS-Fixer, Brick\Math, Infection Залетайте! Можно комментировать под этим постом. YouTube: https://youtu.be/viWYmUUsD5I VK Видео: https://vkvideo.ru/video-228746873_456239036

sticker.webp0.73 KB

Essential Tools for JetBrains IDE Plugin Development Вчера прошел еще один стрим от Jetbrains на тему разработки плагинов. На стриме рассказали о полезных тулзах, которыми вы 100% будете пользоваться, даже не замечая этого. Коротко про инструменты: 🐳 DevKit Плагин для интеграции с plugin.xml (настройки плагина), добавляет инспекций и подсказок в ваш код, который будет взаимодействовать с IDEA SDK. Must-have штука, особенно для начала. Для *.bnf и *.flex файлов предоставляет удобный запуск генераторов через контекстное меню. 🖥 UI Inspector DevTools в мире JB IDEA. По Control+Command+Click на элемент открывает модалку, где показано дерево UI элементов, их характеристики “кто создал”, “какой id”, “какая ширина” и т.п. Помогает найти кнопку/экшен и взять её ID, чтобы вызвать программно или подсмотреть как сверстать такой же элемент самому. 🧱 PsiViewer Существует как отдельный плагин, так и внутренние тулзы. Делаю практически одно и то же: представляют код в редакторе в виде дерева. Именно по таким деревьям в плагинах вы и будете “ходить” по коду. Каждый язык имеет свои элементы и способ формирования элементов, поэтому деревья могут быть очень разными. Тем более, на 1 файл могут претендовать несколько языков и можно посмотреть на 2 параллельных дерева. Помимо деревьев можно узнать некоторую информацию об элементах: что за класс, какие ссылки на него есть, как выглядит структура блоков для будущей работы с форматированием кода. Для большинства полезных вещей в IDE нужно включить Internal Mode, для этого необходимо добавить idea.is.internal=true к “Custom properties” в “Help” меню. Можете сделать такое для своей IDE и поиграться. Я еще заметил у Jakub “Kotlin Notebook”, как Jyputer Notebook, только для IDE! Очень хочу потестить, хоть это и не официально рабочая штука! —— Это уже второй стрим за последние полгода про разработку плагинов для JB IDEA. Невозможно не заметить, что в ребята создают активность и это очень правильно. Из последнего глобального: переехали со Slack на свой форум. Я думаю это очень сильно поможет индексации в гугле. Сейчас все ссылки ведут на YouTrack, в котором, обычно, ничего не решено и не понятно. Теперь же у них будет свой stackoverflow, в котором можно помогать и изучать API IDEA. —— Стрим: https://www.youtube.com/live/blXmgF5gbWg Enabling Internal Mode: https://plugins.jetbrains.com/docs/intellij/enabling-internal.html Jetbrains Platform Forum: https://platform.jetbrains.com @handle_topic

Model Context Protocol Это открытый стандарт, который позволяет AI-приложениям напрямую подключаться к различным источникам д
Model Context Protocol Это открытый стандарт, который позволяет AI-приложениям напрямую подключаться к различным источникам данных и инструментам. Умные штуки могут подключаться к тупым, как это происходило с умными выключателя, которые можно подключить еще и к Алисе. Представьте, что у вас есть ассистент, который может не только отвечать на вопросы, но и взаимодействовать с вашими гаджетами. Например, он может включить чайник, выключить свет, завести автомобиль, сказать робо-собаке пойти и пнуть кота 🫡 От вас потребуется в каком-нибудь Claude Desktop добавить ваши MCP и упомянуть ваше желание. Как это работает: - Вы ведете диалог с вашим ассистентом, как обычно - Ассистент понимает, что нужной информацией он не обладает, но ей могут обладать некоторые из активных серверов - Ассистент начинает взаимодействовать с этими серверами Пока что идёт этап внедрения, когда различные тулзы делают точки расширения через эти MCP Servers. Уже существуют тысячи серверов под все программы, поэтому можно довольно просто взять и подключить себе бота, который будет бегать по Confluence и искать нужную инфу среди тысяч бесполезных страниц, либо по вашей БД сделает запрос и вернут нужный результат. Главным здесь становится уже не утечка данных, а их потеря. Грустно будет, если вдруг ваш AI ассистент решит дропнуть тяжелую базу, чтобы SQL выполнялся быстрее 🤪 Нужно будет поиграться поплотнее с MCP, есть какие-нибудь бешеные идеи? —— Сайт со спецификацией, определениями и примерами https://modelcontextprotocol.io/introduction @handle_topic

Слоник пхп, когда наступил в ларавел
Слоник пхп, когда наступил в ларавел

Стачка. 18-19 апреля. Ульяновск. Стачка – это крупнейшая региональная IT-конференция России. 18-19 апреля она пройдет в Ульян
Стачка. 18-19 апреля. Ульяновск. Стачка – это крупнейшая региональная IT-конференция России. 18-19 апреля она пройдет в Ульяновске (УлГПУ). → 4 направления: “Разработка”, “Digital-маркетинг”, “Управление”, “Дизайн и Контент”; → 250+ докладов от лучших спикеров IT-индустрии . Я буду выступать в Разработке с докладом “Удобная разработка”? Обсудим Developer Experience, как из простого продукта сделать сложную систему, если никому не сказать о наличии документации к этому, как из всего этого появился MetaStorm и куда он растёт. Регистрация участников и подача докладов уже открыты на сайте: https://ul25.nastachku.ru. В программе крутые доклады, мастер-классы, афтепати, общение с экспертами! Кто еще не купил билет, то у меня есть промокод на 15%, дайте знать кому нужен. Кто купил – пишите в чат, встретимся попьём кофе.

Помощь в Опенсорсе. Ребята из Python комьюнити организовали канал с интересной темой: Помощью в опенсорс Python продуктах. Но ребята шарят за Python 🐍, а PHP 🐘 брать не хотят в компанию. Поэтому я решил организовать свой опенсорс с блэкджеком и всеми прилагающимися! Канал: @open_source_php ℹ️ Как это будет работать? Если вы: - Автор популярного open source продукта - Автор не очень популярного продукта, но хотите его сделать известнее - Контрибьютор, который хочет внести свой вклад в продукт - Владелец специфичного домена, который может поделиться знаниями 🛠 То вы можете: - Поделиться ссылкой на Issue, кратко описав что нужно сделать - Попросить помощи в решении проблемы у продукта, где автор не вы (хоть доработки самого PHP) - Найти продукт, в который вы можете внести свой вклад - Пообщаться с автором продукта - Представить свой проект, написав небольшое описание Надеюсь, этот канал поможет поднять активность в PHP комьюнити и сделает разработку продуктов немного активнее. — @handle_topic

FOSSASIA 2025 Free Open Source Software ASIA проходит сегодня в Бангкоке, в Таиланде. У меня в профиле гитхаба стоит Таиланд,
FOSSASIA 2025 Free Open Source Software ASIA проходит сегодня в Бангкоке, в Таиланде. У меня в профиле гитхаба стоит Таиланд, просто не менял еще с момента когда там жил. И около месяца назад получил приглашение придти к ним на митап: – Входной билет бесплатный – Могу запитчить свой проект на 5 min pitch или что-то такое – Пообщаться, посмотреть как всё происходит Жил бы я в Тае, или оплатили бы мне туда билеты, я бы точно сгонял. Написал письмо с отказом, а так хотелось бы! Пока буду наблюдать онлайн. Кстати, там из русских будут Яндекс с YDB выступать. Всем желающим посмотреть онлайн стримы есть ссылка на ютуб. FOSSASIA идёт несколько дней: С Четверг, 13 Марта, 2025 5:00 МСК (+3) По субботу, 15 Марта, 2025 14:00 МСК (+3) — Трансляция https://www.youtube.com/@FOSSASIAorg Расписание https://eventyay.com/e/4c0e0c27/schedule?date=2025-03-13@handle_topic

TypeScript компилятор переписывают с JavaScript на Go. Увидел еще сегодня утром, только добрался почитать повнимательнее. На
TypeScript компилятор переписывают с JavaScript на Go. Увидел еще сегодня утром, только добрался почитать повнимательнее. На скрине видны бенчмарки некоторых популярных библиотек. Очень сильно – прирост в среднем х10. В том числе, на открытие VS Code. Новый компилятор будет с 7 версии, сейчас 5.8. Сейчас существует проблема долгих LSP серверов, которые сводят всю гибкость и модульность поддержки языков и фреймворков в яму, убивая весь DX при разработке: когда ты ввел символ и знаешь что IDE тебе подскажет остальные 10 и ждёшь несколько секунд, пока она сделает это. А чем больше проект, тем больше время ожидания. JavaScript сам по себе не выполняется, его должен кто-то исполнять: NodeJS / Deno / Bun. Тогда как в стандартных поставках всегда участвует нода, я бы еще взглянул на сравнение с Deno и Bun. Эти убийцы ноды уже годами показывают приросты x10. Может просто стоит задеприкейтить ноду? А еще любители Rust пришли в обсуждения нового компилятора и накинули на вентилятор. Там ничего интересного нет, бессмысленный трёп, в который уже нейронки начали пускать для генерации ответов и возражения. Ждём PHP на Go? Или лучше Kotlin PHP Target? — Блог https://devblogs.microsoft.com/typescript/typescript-native-port/ Обсуждение “Why GO?” https://github.com/microsoft/typescript-go/discussions/411 @handle_topic

Заставляем джуна работать на себя или Jetbrains Junie в деле! Практически 5 минут назад пришло письмо о том, что мне одобрили
+4
Заставляем джуна работать на себя или Jetbrains Junie в деле! Практически 5 минут назад пришло письмо о том, что мне одобрили инвайт на бета версию. Скачал, включил, смотрю – нельзя. Оказывается указал почту не ту, на которую зареган мой аккаунт. Вышел из аккаунта, триал под другой почтой – работает. Первые слова: – Чисто. По сравнению с другими АИ-блокнотами, где всё в куче. Здесь разделение есть – Долго. Sending LLM request работает долговато. Как будто локально у меня сервится моделька. – Работает! Сказал сконвертить JSON в PHP, прикрепил package.json. Оно пошло грепнуло весь проект и заодно все остальные и файлы перевела в PHP Всё. Больше ничего нет. Инлайн подсказки, настройки, анализ, пока этого нет. Есть только “чат”, где можно попросить что-то сделать. Можно еще перезапустить, посмотреть историю, отмена, всё в этом духе. Русский понимает! Из письма: > Junie is currently available in the following JetBrains IDEs: IntelliJ IDEA Ultimate, PyCharm Professional and WebStorm. For now, Junie is supported on only the macOS and Linux platforms. Ну что, как там называется новый AI блокнот с форком от VS Code? — @handle_topic

А че конфижить? Места, где применяется конфигурирование на массивах: YIi2 конфигурации компонентов BaseObject

$config = [
  ... /// ???
];
$user = new User($config);
YIi2 конфигурации для Factory

$config = [
  … /// ????
];
$container->get(MyClass::class, $config);
Validation rules в Yii2. Насколько помню, даже в ларке было что-то похожее.

public function rules() {
  return [
    [[‘prop1’, ‘prop2’], ‘validator’, ‘param1’, ‘param2’ => ‘valur2’],
  ];
}
В Yii3 есть конфигурирование параметров, которые учитывают конфигурацию оригинальных компонентов и которые можно расширять по-своему. А в конфигурации Dependency Injection Container конфигурация может быть только из существующих методов и свойств. В Drupal есть свои конфиги, пример из доки:

$page = [
  // '#type' is a property.
  '#type' => 'page',
  // 'content' is a nested render array, or child element.
  'content' => [
    'system_main' => […],
    'another_block' => […],
    '#sorted' => TRUE,
  ],
  'sidebar_first' => [
    …
  ],
];
Да вообще какой-нибудь config/my.php с контентом:
return [
  … /// ????
];

————————— | PHP SCHEMA | ————————— Для конфигурирования через JSON или YAML есть уже JSON и YAML Schema соответственно. И каждый раз разработчики PHP выбирают эти форматы для конфигурирования своих инструментов. Не так давно появилась идея создать аналогичную схему и валидатор для PHP! Почему бы и не попытаться? Для чего? Издавно PHP массивы были очень хороши для задания конфигурировании для “гибких” систем: модульная система с заранее нерегламентированным набором входных данных, потому что данные забираются лишь 1 раз, а дальше распределяются потребителям. Конечно, валидацию таких входящих параметров можно сделать: - Нужно определить потребителей - Заставить потребителей отбираться свои данные из общей кучи - Делать предупреждение в случае отсутствия или избытка данных Но это дорого для рантайма и никто таким не занимается. Разве что Symfony компоненты, которые через билдеры создают требования для этих входящих данных: название параметра, уровень вложенности, значение по умолчанию, тип и диапазон значений. Что это им дает? - Можно пользователю сказать какие из параметров на определенном уровне ожидаются - Какой тип значений подходит и нет - Сделать Quick Fix? - Дать быстрый фидбек до запуска валидатора, например, с помощью плагина для IDE: Значение 11 больше максимального значения 10; Разрешены “author”, “commenter”, “viewer”, но вы ввели “viewr” Научить машинерию работать на разработчика, а не вместе с ним – это всегда хорошая идея. Поэтому такие вещи можно делать с помощью некой схемы, тот же билдер от Symfony конфигурации, только как-то иначе. А как? Подобные проблемы решались уже и для других “конфигурационных” языков, на подобии JSON, YAML и их подмножеству – Schema. С помощью Schema задается состав, порядок и обязательность всех значений в конфигурации, типы и диапазоны значений, ссылки на другие значения и различные комментарии: от deprecated и version contract до обычных комментов. Гипотетически, можно будет перегонять конфиги из JSON в PHP одной командой, а JSON SCHEMA в PHP SCHEMA. Все кто хочет поучаствовать в разработке PHP SCHEMA (JSON SCHEMA, YAML SCHEMA), можете присоединяться и накидывать мысли. Я думаю это будет не такой уж и большой проект, но поможет комьюнити сделать чтобы данные и инструменты работали в одном контракте. Если есть опыт проектирования каких-либо еще конфигов, помимо изложенных мной в посте, то дополняйте. —— Канал и некоторые начальные мысли по схеме: https://t.me/phpschema/2

🥇 IntelliJ IDEA vs …? #пост Не так давно был стрим, на котором мы прошлись по различным редакторам с их «киллер фичами». Киллер – не потому что они лучше всех, а потому что пытаются убить собой IDEA, PHPStorm, Pycharm, GoLand, DataGrip и еще десяток IDE от JetBrains. Идеи заложенные во все эти редакторы довольно просты: - Открытая платформа - Возможность работать с несколькими языками сразу - Расширяемость через плагины из открытых маркетплейсов - Интеграции с различными системами - Возможность закастомить UI так, как ты этого хочешь Как правило, именно этим славят все эти редакторы, однако что это дает конечному пользователю? Для того чтобы что-то дать, нужно сформировать спрос. Так что же юзеры хотят видеть в IDE? Я думаю так. ⚙️ Из функциональных вещей: - Интеграции внешними инструментами - Поддержка дебаггера - Работа с различными базами данных - Работ с удаленными хранилищами файлов и/или объектов - Подключение к внешним серверам, желательно через дополнительный туннель ▶️ А так же из визуальных: - Быструю и отзывчивую работу редактора - Вывод релевантной информации в компактной форме - Показ нужной информации и скрытие ненужной - Возможность долезть до любого места в IDE или коде наикратчайшим способом - Возможность сменить тему редактора, сделать её максимально кастомной 🚗 Подытожив эти списки я бы сказал, что важен UI/UX, нежели возможность писать сразу на 20 языках в одном редакторе. Кстати, из всех перечисленных список сверху всё доступно в IDEA. Хоть и нет нормальной открытой документации по написанию плагинов и собственных IDE от Jetbrains, зато есть открытый исходный код сотни плагинов, с полной историей разработки на гитхабе. Есть еще и GigaIDE, которая успешно форкнула Intellij IDEA Community и работает над своим форком. 💩 VS Code, Zed, My IDE, ... Мне нравится, как люди топят за тот же VS Code с припиской "зато бесплатный". Бесплатный? PHPStorm для Individual use стоит 99 euro => 10к рублей за год. Это 833 рубля ежемесячно. Разработчику с ЗП в 300к/наносек заплатить 1 тысячу рублей от этих 300 тысяч и писать в удобном редакторе ничего не стоит, если он поймет, что этот продукт упрощает и ускоряет его работу. IDE и без оплаты умеет всё тоже самое? Перейдите на ту сторону. Поживите там год-два и вернитесь обратно. Расскажите потом, как вы скучали по Intellij IDEA или я послушаю как вы говорите фразу "почти как в PHPStorm'е". 💻 Редактор кода порой важнее инфраструктуры проекта и его интеграций. Не суть важно подключили ли вы анализаторы кода, тесты, оптимизаторы кода, если это есть всегда и для всех ваших проектов прямиком в IDE. Платные продукты существуют потому что дают что-то большее, чем бесплатные. Каждая итерация приносит больше фидбека каждой из сторон и так бизнес начинает расти, внедряя все больше фич и конкурируя с другими IDE тем, чем эти IDE не могут похвастаться – стабильной работой, релизным циклом, поддержкой и другими действиями, требуемые вовлечения большого количества ресурсов. 💸 Платные продукты всегда будут лучше, т.к. за уникальные интеллектуальные труды люди хотят возмещения, а не звезду и issue на гитхабе, что твоя работа ничтожна и просьба удалить всё. Можно еще посравнивать вот так: - Linux vs Windows? - Apple vs Google? - А может Apple vs Linux? - Еда из собственного огорода vs еда в ресторанах ⏱ Берите лицухи, экономьте своё время. Экономьте своё время на сравнивании платного продукта с бесплатным. По сейчас знаю людей, который данные в БД смотрят через консоль. Не слушайте других и делайте как вам хочется. --- @handle_topic

⏳ 20 минут до старта! Друзья, пора заряжать чай/пиво, проверять звук и готовиться к обсуждению IDE для PHP! 🔥 Сегодня обсудим: 🔹 PHPStorm и альтернативы 🔹 Разберём LSP, AI Copilot и плагиностроение! 🔹 Что ждёт Notepad++ в 2025 году (но это не точно) 🎙 В эфире: Алексей Гагарин, Дмитрий Дерепко, Виктор Бабанов, Кирилл Несмеянов и Данил Щуцкий. YT - https://youtube.com/live/TgnTmayRf0w TG - https://t.me/laravel_cutcode VK - https://vkvideo.ru/@cutcoderu

🔥 Обзор IDE для PHP — стрим на CutCode! 🔥 Друзья, готовим мощный стрим про инструменты разработки на PHP! Разберем популярные IDE, их плюсы и минусы, а также обсудим продвинутые темы для разработчиков. 💡 Что будет на стриме? 🔹 Сравнение популярных IDE для PHP 🔹 Разработка плагинов для PhpStorm 🔹 Обзор Language Server Protocol (LSP) 🎙 Участники: ✅ Алексей Гагарин ✅ Дмитрий Дерепко ✅ Виктор Бабанов ✅ Кирилл Несмеянов ✅ Данил Щуцкий 📅 Когда: 7 февраля в 19:00 (мск) 📍 Где: на CutCode - YouTube, TG, VK. Есть вопросы по теме IDE? Накидывайте в комментариях 💬 #CutCode #PHP #IDE #PhpStorm #LSP

👨‍💻 Удобная разработка Как вы могли заметить, в последнее время мне очень часто приходится работать с Kotlin: Cron, Buggregator и конечно MetaStorm! Синтаксис Kotlin очень нравится: - C-like синтаксис, сразу всё понятно - Как Java, только менее многословная, очень немногословная Java! - Короткие синтаксические конструкции - Система типов. Есть дженерики, но нет дизъюнкции и конъюнкции типов 😲 - Интересная схема “расширения” классов В общем, когда изучал конструкции различных плагинов в Open source увидел, что в Котлине можно делать так:

$var = $nullableVar ?: return
Вместо привычного

$var = $nullableVar
if ($var == null) {
    return
}
Вопрос 3-х строк, но написав подобное более 100 раз без этого сахарка уже не то. Более того, помимо return можно использовать и другие управляющие конструкции: break и continue. Возвращаясь к работе на PHP я уже по привычке начинаю так писать, но на PHP так писать нельзя. Пока что 😁 Я давно привык писать код с “early return”: когда в самом начале проверяется код на различные условия, а дальше выполняется логика метода с полностью валидным состоянием. Подобные операции на пару десятков строк можно было бы схлопнуть несколько раз! Лаконичный и выразительный код, это ускорение и упрощение чтения. Когда ты не дочитывая конструкции до конца уже понимаешь однозначность намерения, когда где-нибудь в неудобном месте не приходится дублировать десяток проверок, чтобы сделать наконец-то этот return null;! Примеры:

$result = $condition ? $a : return;
$result = $conditionA ? $a : ($conditionB ? $b : break);
$result = $condition ?? return;
$result = $condition ?? break;
и любые другие комбинации ваших выражений, даже такие как эти:

"string" . 1 + throw throw throw throw throw throw new Exception("exception");
Да, синтаксически это полностью валидный код в PHP, хоть и выглядит как 💩 Я решил добавить пару подобных тест-кейсов в PHP: Pull request. В общем, надеюсь скоро подобный код можно будет писать и return, break и continue:

function test() {
    return return return return return throw throw throw throw new Exception();
}
✔️ Подписка на PHP Internals ✔️ Попросить милостыню: https://news-web.php.net/php.internals/126252 ✔️ Proof of Concept: https://github.com/php/php-src/pull/17647 🚫 RFC: как разрешат создавать RFC, так и создам Как вы оцениваете такую возможность? Когда-то было тоже самое с throw конструкция. Пора и другим подтягиваться? — @handle_topic

🗓 Cron & Crontab Support Plugin — Время от времени делаю плагин для поддержки PHP Language Recognition Tool и его синтаксиса pp2 Делаю в свободное время, поэтому часто переключаюсь между контекстами, что приводит к отрыву от потока внимания, а из-за этого страдает понимание происходящего при создании парсера-генератора для парсера-генератора. В общем, порой бывает сложно. А чтобы было попроще, я иногда отвлекаюсь на более простые вещи и делаю их. Всё равно их делать потом. По ощущениям, я как будто бы уже запутался в создании плагина и захотел написать всё с нуля. Немного поразмыслив, нашел вариант освежить и подкрепить свои знания иным способом, создание другого плагина 🤪 Часто в работе приходится писать Cron задачи, это где пять звездочек и что-то помимо них:
* * * * * rm -rf /
❗️ Эта команда каждую минуту удаляет все данные с жесткого диска на Linux и MacOS. 🤔 Вопрос: что произойдет после второго выполнения этой команды? Обычно такие файлы редактируются на веру – если после деплоя крон задача не отработала, значит нужно поправить и повторить. А задача может стоять и через неделю. А еще нужно понять отработала она или нет. А если много кронов, нужно чтобы логи за это время не сротировались в мусорку. В базовой версии: - поддержка парсинга крон файла как настоящего языка программирования, с лексером, парсером и анализатором - подсветка и поддержка временных меток: *; */1; 30/5; 1,11,21,31; 1-30; 1-10,20-30,50-59 и другие их вариации - подсветка переменных и их значений - подсветка и автокомплит shell command, которая идет после временных меток - подсветка комментариев - небольшие оптимизации по схлопыванию временных интервалов - несколько инспекций на корректность временного периода - схлопывание временных интервалов в человеко-читаемый вид - возможность открыть расписание на crontab.guru - автопривязка к cron.* / crontab.* / *.cron / *.crontab / cron файлам - Jetbrains сделали подсказку для установки плагина, если открыть один из таких файлов - иконка от @roxblnfk, на которой вместо “CRON” написано “СГОП” (сгоп) Хочу добавить туда еще подсказки и навигацию при вводе переменных, а еще внедрение подсветки в строчки в коде, похожие на крон джобы. ✅ Плагин поддерживается во всех Jetbrains IDE выпущенных с прошлого года. Если пишите крон джобы, то буду рад фидбеку. — Jetbrains Marketplace Github @handle_topic

Презентация со Стачки

В прошлом году я был на нескольких конференциях: где-то в роли спикера, где-то обычным слушателем. Хочу поделиться с вами мыс
+4
В прошлом году я был на нескольких конференциях: где-то в роли спикера, где-то обычным слушателем. Хочу поделиться с вами мыслями и фоточками. 🔉 Стачка Когда-то давно я слышал про стачку, но всегда думал, что это конфа явно не про техничку. Однако приятно удивился, что это было не так, и @mifleo позвал меня выступить с докладом. Стачка была 27-28 сентября в Санкт-Петербурге. Масштабы конференции сильно удивили. Я думал так замахивается только Highload++ в России. Мне удалось присоединиться к конференции в виде спикера с темой “Архитектура Yii Debug” 🖼️ А за несколько недель до даты узнал, что @samdark туда тоже едет с темой Yii3. 2 дня конференции прошли довольно хорошо: - доклад зашел довольно туго, зато есть мысли как его лучше подать - 30+15 минут довольно мало для моей темы, поэтому очень торопился впихнуть всё - увиделся с теми, с кем работал удаленно несколько лет - погулял по Питеру Ждал записи доклада, чтобы поделиться с вами, но многие доклады не записались, в том числе и мой. Вместо этого скину доклад ПДФкой, но прочесть без меня будет сложно. https://spb24.nastachku.ru — 🔨 JetBrains Plugin Developer Conf 2024 Не понял как на меня затергетили, но узнав про конфу для разработчиков плагинов, я отложил все свои дела на день и пошел слушать. Конференция была на английском. Проводилась полностью удаленно, с несколькими ведущими. Около половины спикеров были русскоговорящими, однако говорили на английском. Технические доклады были довольно хороши, многих вещей не найти в документации, можно только добыть их личным опытом разработки плагинов. Я даже выиграл приз за ответ на вопрос. Там что-то было про грамматику языка, а я в то время уже пилил плагин для PHPLRT. https://lp.jetbrains.com/plugin-dev-conf-2024/ — 🔠🔠 Highload++ 2 и 3 декабря в Москве проходила еще более масштабная конференция Highload++, в рамках которой проходили так же PHPRussia и Golang Conf. В большей степени я ходил общался с людьми. Забавно, что на конференциях люди очень открыты и могут рассказать чуть ли не бизнес планы компании, а на собесах / в чатах инфы на порядки менее секьюрной никогда не дождешься 🤷‍♀️ Еще понравился момент, когда на конференции Highload++, которые сами понимаете чему посвящена, решают задачу пропуска в кафе на обед (по талонам) следующим образом: - люди начинают приходить за некоторое время до назначенного времени обеда (~20 минут и менее) - их не пускают до того самого времени - образуется bottleneck, очередь - очередь начинает рассасываться, превращаясь из “очереди на вход в зал”, которая в свою очередь превращается в “очередь на заказ обеда”, а та в свою очередь в “очередь на место за столом” 😠 Жаль, что организация конференции не слушает конференцию, иначе знали бы как решать cache stampede подобные задачи. Коротко: начать пускать за какое-то время https://highload.ru/moscow/2024 — Думаю может еще раз сходить на Стачку 2025, которая будет уже в апреле. На хайлоаде обсуждали с ребятами возможность YiiConf. Может быть и попробуем это устроить? Release is coming…

🪲 Buggregator Buggregator – инструмент для разработки, который позволяет в режиме реального времени отлавливать и показывать
+1
🪲 Buggregator Buggregator – инструмент для разработки, который позволяет в режиме реального времени отлавливать и показывать различные события, которые произошли в вашем приложении. Несколько похож на 🖼️ Yii Dev Panel, но это всего лишь часть от полноценной девелоперской панельки 😎 Сам багри – это фронтенд для отображения всей собранной информации. А собирает информацию Trap сервер, который написан на PHP и умеет работать в несколько одновременных коннектов, благодаря сокетам и “корутинам”, которые реализованы на файберах (или генераторах). В общем, для работы с багри нужно: - Запустить Trap в консоли — Trap выводит всю инфу еще и в консоль — Трап публикует Buggregator на выбранном порту, чтобы смотреть на него в браузере - Открыть Buggregator в браузере или смотреть в консоль Для автоматизации этих действий я сделал небольшой плагин, который сам стартует Trap и показывает Web View + Terminal View в IDE вкладках. Теперь можно просто начать работать и собранные события уже появятся в IDE. ➕Не нужно бегать в браузер ➕Не нужно открывать консоль для запуска трапа ➕Не нужно платить за Ray 30$ в год (кто вообще это делает?) Кстати, сам багри изготовлен в цеху 🔥 Fart Time На багри уже есть обзор от CutCode: https://www.youtube.com/watch?v=vy4C5zK7EJE И обзор от автора Павла на хабре: https://habr.com/ru/articles/823156/ Плагин будет доступен для скачивания через несколько дней, как только команду JB апрувнет релиз. —— Пост на бусти buggregator.dev Jetbrains Marketplace Github @php_fart @handle_topic