В прошлом году я был на нескольких конференциях: где-то в роли спикера, где-то обычным слушателем. Хочу поделиться с вами мыслями и фоточками.
🔉 Стачка
Когда-то давно я слышал про стачку, но всегда думал, что это конфа явно не про техничку. Однако приятно удивился, что это было не так, и @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…
Когда-то давно я слышал про стачку, но всегда думал, что это конфа явно не про техничку. Однако приятно удивился, что это было не так, и @mifleo позвал меня выступить с докладом.
Стачка была 27-28 сентября в Санкт-Петербурге. Масштабы конференции сильно удивили. Я думал так замахивается только Highload++ в России.
Мне удалось присоединиться к конференции в виде спикера с темой “Архитектура Yii Debug”
2 дня конференции прошли довольно хорошо:
- доклад зашел довольно туго, зато есть мысли как его лучше подать
- 30+15 минут довольно мало для моей темы, поэтому очень торопился впихнуть всё
- увиделся с теми, с кем работал удаленно несколько лет
- погулял по Питеру
Ждал записи доклада, чтобы поделиться с вами, но многие доклады не записались, в том числе и мой. Вместо этого скину доклад ПДФкой, но прочесть без меня будет сложно.
https://spb24.nastachku.ru
—
Не понял как на меня затергетили, но узнав про конфу для разработчиков плагинов, я отложил все свои дела на день и пошел слушать.
Конференция была на английском. Проводилась полностью удаленно, с несколькими ведущими.
Около половины спикеров были русскоговорящими, однако говорили на английском.
Технические доклады были довольно хороши, многих вещей не найти в документации, можно только добыть их личным опытом разработки плагинов.
Я даже выиграл приз за ответ на вопрос. Там что-то было про грамматику языка, а я в то время уже пилил плагин для PHPLRT.
https://lp.jetbrains.com/plugin-dev-conf-2024/
—
2 и 3 декабря в Москве проходила еще более масштабная конференция Highload++, в рамках которой проходили так же PHPRussia и Golang Conf.
В большей степени я ходил общался с людьми. Забавно, что на конференциях люди очень открыты и могут рассказать чуть ли не бизнес планы компании, а на собесах / в чатах инфы на порядки менее секьюрной никогда не дождешься
Еще понравился момент, когда на конференции Highload++, которые сами понимаете чему посвящена, решают задачу пропуска в кафе на обед (по талонам) следующим образом:
- люди начинают приходить за некоторое время до назначенного времени обеда (~20 минут и менее)
- их не пускают до того самого времени
- образуется bottleneck, очередь
- очередь начинает рассасываться, превращаясь из “очереди на вход в зал”, которая в свою очередь превращается в “очередь на заказ обеда”, а та в свою очередь в “очередь на место за столом”
Жаль, что организация конференции не слушает конференцию, иначе знали бы как решать cache stampede подобные задачи. Коротко: начать пускать за какое-то время
https://highload.ru/moscow/2024
—
Думаю может еще раз сходить на Стачку 2025, которая будет уже в апреле.
На хайлоаде обсуждали с ребятами возможность YiiConf. Может быть и попробуем это устроить? Release is coming…
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍13🔥5❤2
Хэндлим тему | Дерепко
В прошлом году я был на нескольких конференциях: где-то в роли спикера, где-то обычным слушателем. Хочу поделиться с вами мыслями и фоточками. 🔉 Стачка Когда-то давно я слышал про стачку, но всегда думал, что это конфа явно не про техничку. Однако приятно…
yii debug architecture.pdf
22.8 MB
Презентация со Стачки
—
Время от времени делаю плагин для поддержки PHP Language Recognition Tool и его синтаксиса pp2
Делаю в свободное время, поэтому часто переключаюсь между контекстами, что приводит к отрыву от потока внимания, а из-за этого страдает понимание происходящего при создании парсера-генератора для парсера-генератора. В общем, порой бывает сложно.
А чтобы было попроще, я иногда отвлекаюсь на более простые вещи и делаю их. Всё равно их делать потом.
По ощущениям, я как будто бы уже запутался в создании плагина и захотел написать всё с нуля.
Немного поразмыслив, нашел вариант освежить и подкрепить свои знания иным способом, создание другого плагина
Часто в работе приходится писать Cron задачи, это где пять звездочек и что-то помимо них:
* * * * * rm -rf /
Обычно такие файлы редактируются на веру – если после деплоя крон задача не отработала, значит нужно поправить и повторить.
А задача может стоять и через неделю. А еще нужно понять отработала она или нет. А если много кронов, нужно чтобы логи за это время не сротировались в мусорку.
В базовой версии:
- поддержка парсинга крон файла как настоящего языка программирования, с лексером, парсером и анализатором
- подсветка и поддержка временных меток: *; */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 Marketplace
Github
@handle_topic
Please open Telegram to view this post
VIEW IN TELEGRAM
JetBrains Marketplace
Cron & Crontab Support - IntelliJ IDEs Plugin | Marketplace
Github | Telegram | Donation Cron & Crontab Support Crontab syntax support: Schedule periods and errors highlightingShell command completionsHuman-readable...
2🔥9👍6❤5
Как вы могли заметить, в последнее время мне очень часто приходится работать с 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();
}
🚫 RFC: как разрешат создавать RFC, так и создам
Как вы оцениваете такую возможность?
Когда-то было тоже самое с
throw конструкция. Пора и другим подтягиваться?—
@handle_topic
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegram
Хэндлим тему | Дерепко
🗓 Cron & Crontab Support Plugin
—
Время от времени делаю плагин для поддержки PHP Language Recognition Tool и его синтаксиса pp2
Делаю в свободное время, поэтому часто переключаюсь между контекстами, что приводит к отрыву от потока внимания, а из-за этого…
—
Время от времени делаю плагин для поддержки PHP Language Recognition Tool и его синтаксиса pp2
Делаю в свободное время, поэтому часто переключаюсь между контекстами, что приводит к отрыву от потока внимания, а из-за этого…
1🔥9👍5👏2❤1🐳1
Forwarded from Новости от CutCode
🔥 Обзор 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
Друзья, готовим мощный стрим про инструменты разработки на PHP! Разберем популярные IDE, их плюсы и минусы, а также обсудим продвинутые темы для разработчиков.
💡 Что будет на стриме?
🔹 Сравнение популярных IDE для PHP
🔹 Разработка плагинов для PhpStorm
🔹 Обзор Language Server Protocol (LSP)
🎙 Участники:
✅ Алексей Гагарин
✅ Дмитрий Дерепко
✅ Виктор Бабанов
✅ Кирилл Несмеянов
✅ Данил Щуцкий
📅 Когда: 7 февраля в 19:00 (мск)
📍 Где: на CutCode - YouTube, TG, VK.
Есть вопросы по теме IDE? Накидывайте в комментариях 💬
#CutCode #PHP #IDE #PhpStorm #LSP
YouTube
Обзор IDE для PHP
Мощный стрим про инструменты разработки на PHP! Разберем популярные IDE, их плюсы и минусы, а также обсудим продвинутые темы для разработчиков.
💡 Что будет на стриме?
🔹 Сравнение популярных IDE для PHP
🔹 Разработка плагинов для PhpStorm
🔹 Обзор Language…
💡 Что будет на стриме?
🔹 Сравнение популярных IDE для PHP
🔹 Разработка плагинов для PhpStorm
🔹 Обзор Language…
1🔥6❤4👍3
Forwarded from Новости от CutCode
⏳ 20 минут до старта!
Друзья, пора заряжать чай/пиво, проверять звук и готовиться к обсуждению IDE для PHP! 🔥
Сегодня обсудим:
🔹 PHPStorm и альтернативы
🔹 Разберём LSP, AI Copilot и плагиностроение!
🔹 Что ждёт Notepad++ в 2025 году (но это не точно)
🎙 В эфире: Алексей Гагарин, Дмитрий Дерепко, Виктор Бабанов, Кирилл Несмеянов и Данил Щуцкий.
YT - https://youtube.com/live/TgnTmayRf0w
TG - https://news.1rj.ru/str/laravel_cutcode
VK - https://vkvideo.ru/@cutcoderu
Друзья, пора заряжать чай/пиво, проверять звук и готовиться к обсуждению IDE для PHP! 🔥
Сегодня обсудим:
🔹 PHPStorm и альтернативы
🔹 Разберём LSP, AI Copilot и плагиностроение!
🔹 Что ждёт Notepad++ в 2025 году (но это не точно)
🎙 В эфире: Алексей Гагарин, Дмитрий Дерепко, Виктор Бабанов, Кирилл Несмеянов и Данил Щуцкий.
YT - https://youtube.com/live/TgnTmayRf0w
TG - https://news.1rj.ru/str/laravel_cutcode
VK - https://vkvideo.ru/@cutcoderu
Youtube
- YouTube
Enjoy the videos and music you love, upload original content, and share it all with friends, family, and the world on YouTube.
1🔥4
Новости от CutCode
🔥 Обзор IDE для PHP — стрим на CutCode! 🔥 Друзья, готовим мощный стрим про инструменты разработки на PHP! Разберем популярные IDE, их плюсы и минусы, а также обсудим продвинутые темы для разработчиков. 💡 Что будет на стриме? 🔹 Сравнение популярных IDE для…
#пост
Не так давно был стрим, на котором мы прошлись по различным редакторам с их «киллер фичами». Киллер – не потому что они лучше всех, а потому что пытаются убить собой IDEA, PHPStorm, Pycharm, GoLand, DataGrip и еще десяток IDE от JetBrains.
Идеи заложенные во все эти редакторы довольно просты:
- Открытая платформа
- Возможность работать с несколькими языками сразу
- Расширяемость через плагины из открытых маркетплейсов
- Интеграции с различными системами
- Возможность закастомить UI так, как ты этого хочешь
Как правило, именно этим славят все эти редакторы, однако что это дает конечному пользователю? Для того чтобы что-то дать, нужно сформировать спрос. Так что же юзеры хотят видеть в IDE?
Я думаю так.
- Интеграции внешними инструментами
- Поддержка дебаггера
- Работа с различными базами данных
- Работ с удаленными хранилищами файлов и/или объектов
- Подключение к внешним серверам, желательно через дополнительный туннель
- Быструю и отзывчивую работу редактора
- Вывод релевантной информации в компактной форме
- Показ нужной информации и скрытие ненужной
- Возможность долезть до любого места в IDE или коде наикратчайшим способом
- Возможность сменить тему редактора, сделать её максимально кастомной
Кстати, из всех перечисленных список сверху всё доступно в IDEA.
Хоть и нет нормальной открытой документации по написанию плагинов и собственных IDE от Jetbrains, зато есть открытый исходный код сотни плагинов, с полной историей разработки на гитхабе. Есть еще и GigaIDE, которая успешно форкнула Intellij IDEA Community и работает над своим форком.
Мне нравится, как люди топят за тот же VS Code с припиской "зато бесплатный".
Бесплатный? PHPStorm для Individual use стоит 99 euro => 10к рублей за год. Это 833 рубля ежемесячно.
Разработчику с ЗП в 300к/наносек заплатить 1 тысячу рублей от этих 300 тысяч и писать в удобном редакторе ничего не стоит, если он поймет, что этот продукт упрощает и ускоряет его работу.
IDE и без оплаты умеет всё тоже самое? Перейдите на ту сторону. Поживите там год-два и вернитесь обратно. Расскажите потом, как вы скучали по Intellij IDEA или я послушаю как вы говорите фразу "почти как в PHPStorm'е".
Платные продукты существуют потому что дают что-то большее, чем бесплатные.
Каждая итерация приносит больше фидбека каждой из сторон и так бизнес начинает расти, внедряя все больше фич и конкурируя с другими IDE тем, чем эти IDE не могут похвастаться – стабильной работой, релизным циклом, поддержкой и другими действиями, требуемые вовлечения большого количества ресурсов.
Можно еще посравнивать вот так:
- Linux vs Windows?
- Apple vs Google?
- А может Apple vs Linux?
- Еда из собственного огорода vs еда в ресторанах
Не слушайте других и делайте как вам хочется.
---
@handle_topic
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍9❤4👎2🔥2🤔1
—————————
| 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://news.1rj.ru/str/phpschema/2
| 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://news.1rj.ru/str/phpschema/2
Telegram
Dmitrii in PHP Schema
Немного поресерчив есть мысли
- Взять джос схему за базу
- Взять готовый валидатор для жсон схемы
- Реализовать некоторые специфичные вещи для пхп
Какие? Сложно пока. Есть разные кандидаты для покрытия:
- Конфиги компонентов из Yii2
- Конфиги роутов из Yii2…
- Взять джос схему за базу
- Взять готовый валидатор для жсон схемы
- Реализовать некоторые специфичные вещи для пхп
Какие? Сложно пока. Есть разные кандидаты для покрытия:
- Конфиги компонентов из Yii2
- Конфиги роутов из Yii2…
1👍5❤2
Хэндлим тему | Дерепко
————————— | PHP SCHEMA | ————————— Для конфигурирования через JSON или YAML есть уже JSON и YAML Schema соответственно. И каждый раз разработчики PHP выбирают эти форматы для конфигурирования своих инструментов. Не так давно появилась идея создать аналогичную…
Места, где применяется конфигурирование на массивах:
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 [
… /// ????
];
Please open Telegram to view this post
VIEW IN TELEGRAM
1❤3🔥2
Заставляем джуна работать на себя или 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
Практически 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
1👍6🔥1👏1
Golang
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/typenoscript/typenoscript-native-port/
Обсуждение “Why GO?”
https://github.com/microsoft/typenoscript-go/discussions/411
@handle_topic
Увидел еще сегодня утром, только добрался почитать повнимательнее.
На скрине видны бенчмарки некоторых популярных библиотек. Очень сильно – прирост в среднем х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/typenoscript/typenoscript-native-port/
Обсуждение “Why GO?”
https://github.com/microsoft/typenoscript-go/discussions/411
@handle_topic
1👍5🔥1
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
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
2👍3🔥1😢1🫡1
Находки в опенсорсе: Python
Привет! Стартуем новый проект для любителей опенсорса: помогаем меинтейнерам и контрибьюторам найти друг друга. Как оно работает? - В данном канале меинтейнеры разных Python проектов (от CPython, mypy, Litestar до taskiq) могут в любой момент выложить простые…
Помощь в Опенсорсе.
Ребята из Python комьюнити организовали канал с интересной темой: Помощью в опенсорс Python продуктах.
Но ребята шарят за Python🐍 , а PHP 🐘 брать не хотят в компанию. Поэтому я решил организовать свой опенсорс с блэкджеком и всеми прилагающимися!
Канал: @open_source_php
ℹ️ Как это будет работать?
Если вы:
- Автор популярного open source продукта
- Автор не очень популярного продукта, но хотите его сделать известнее
- Контрибьютор, который хочет внести свой вклад в продукт
- Владелец специфичного домена, который может поделиться знаниями
🛠 То вы можете:
- Поделиться ссылкой на Issue, кратко описав что нужно сделать
- Попросить помощи в решении проблемы у продукта, где автор не вы (хоть доработки самого PHP)
- Найти продукт, в который вы можете внести свой вклад
- Пообщаться с автором продукта
- Представить свой проект, написав небольшое описание
Надеюсь, этот канал поможет поднять активность в PHP комьюнити и сделает разработку продуктов немного активнее.
—
@handle_topic
Ребята из Python комьюнити организовали канал с интересной темой: Помощью в опенсорс Python продуктах.
Но ребята шарят за Python
Канал: @open_source_php
ℹ️ Как это будет работать?
Если вы:
- Автор популярного open source продукта
- Автор не очень популярного продукта, но хотите его сделать известнее
- Контрибьютор, который хочет внести свой вклад в продукт
- Владелец специфичного домена, который может поделиться знаниями
🛠 То вы можете:
- Поделиться ссылкой на Issue, кратко описав что нужно сделать
- Попросить помощи в решении проблемы у продукта, где автор не вы (хоть доработки самого PHP)
- Найти продукт, в который вы можете внести свой вклад
- Пообщаться с автором продукта
- Представить свой проект, написав небольшое описание
Надеюсь, этот канал поможет поднять активность в PHP комьюнити и сделает разработку продуктов немного активнее.
—
@handle_topic
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍15❤4🔥2
Стачка. 18-19 апреля. Ульяновск.
Стачка – это крупнейшая региональная IT-конференция России. 18-19 апреля она пройдет в Ульяновске (УлГПУ).
→ 4 направления: “Разработка”, “Digital-маркетинг”, “Управление”, “Дизайн и Контент”;
→ 250+ докладов от лучших спикеров IT-индустрии .
Я буду выступать в Разработке с докладом “Удобная разработка”?
Обсудим Developer Experience, как из простого продукта сделать сложную систему, если никому не сказать о наличии документации к этому, как из всего этого появился MetaStorm и куда он растёт.
Регистрация участников и подача докладов уже открыты на сайте: https://ul25.nastachku.ru.
В программе крутые доклады, мастер-классы, афтепати, общение с экспертами!
Кто еще не купил билет, то у меня есть промокод на 15%, дайте знать кому нужен. Кто купил – пишите в чат, встретимся попьём кофе.
Стачка – это крупнейшая региональная IT-конференция России. 18-19 апреля она пройдет в Ульяновске (УлГПУ).
→ 4 направления: “Разработка”, “Digital-маркетинг”, “Управление”, “Дизайн и Контент”;
→ 250+ докладов от лучших спикеров IT-индустрии .
Я буду выступать в Разработке с докладом “Удобная разработка”?
Обсудим Developer Experience, как из простого продукта сделать сложную систему, если никому не сказать о наличии документации к этому, как из всего этого появился MetaStorm и куда он растёт.
Регистрация участников и подача докладов уже открыты на сайте: https://ul25.nastachku.ru.
В программе крутые доклады, мастер-классы, афтепати, общение с экспертами!
Кто еще не купил билет, то у меня есть промокод на 15%, дайте знать кому нужен. Кто купил – пишите в чат, встретимся попьём кофе.
1👍8🔥3❤2
Model Context Protocol
Это открытый стандарт, который позволяет AI-приложениям напрямую подключаться к различным источникам данных и инструментам.
Умные штуки могут подключаться к тупым, как это происходило с умными выключателя, которые можно подключить еще и к Алисе.
Представьте, что у вас есть ассистент, который может не только отвечать на вопросы, но и взаимодействовать с вашими гаджетами.
Например, он может включить чайник, выключить свет, завести автомобиль, сказать робо-собаке пойти и пнуть кота🫡
От вас потребуется в каком-нибудь Claude Desktop добавить ваши MCP и упомянуть ваше желание.
Как это работает:
- Вы ведете диалог с вашим ассистентом, как обычно
- Ассистент понимает, что нужной информацией он не обладает, но ей могут обладать некоторые из активных серверов
- Ассистент начинает взаимодействовать с этими серверами
Пока что идёт этап внедрения, когда различные тулзы делают точки расширения через эти MCP Servers.
Уже существуют тысячи серверов под все программы, поэтому можно довольно просто взять и подключить себе бота, который будет бегать по Confluence и искать нужную инфу среди тысяч бесполезных страниц, либо по вашей БД сделает запрос и вернут нужный результат.
Главным здесь становится уже не утечка данных, а их потеря. Грустно будет, если вдруг ваш AI ассистент решит дропнуть тяжелую базу, чтобы SQL выполнялся быстрее🤪
Нужно будет поиграться поплотнее с MCP, есть какие-нибудь бешеные идеи?
——
Сайт со спецификацией, определениями и примерами
https://modelcontextprotocol.io/introduction
@handle_topic
Это открытый стандарт, который позволяет AI-приложениям напрямую подключаться к различным источникам данных и инструментам.
Умные штуки могут подключаться к тупым, как это происходило с умными выключателя, которые можно подключить еще и к Алисе.
Представьте, что у вас есть ассистент, который может не только отвечать на вопросы, но и взаимодействовать с вашими гаджетами.
Например, он может включить чайник, выключить свет, завести автомобиль, сказать робо-собаке пойти и пнуть кота
От вас потребуется в каком-нибудь Claude Desktop добавить ваши MCP и упомянуть ваше желание.
Как это работает:
- Вы ведете диалог с вашим ассистентом, как обычно
- Ассистент понимает, что нужной информацией он не обладает, но ей могут обладать некоторые из активных серверов
- Ассистент начинает взаимодействовать с этими серверами
Пока что идёт этап внедрения, когда различные тулзы делают точки расширения через эти MCP Servers.
Уже существуют тысячи серверов под все программы, поэтому можно довольно просто взять и подключить себе бота, который будет бегать по Confluence и искать нужную инфу среди тысяч бесполезных страниц, либо по вашей БД сделает запрос и вернут нужный результат.
Главным здесь становится уже не утечка данных, а их потеря. Грустно будет, если вдруг ваш AI ассистент решит дропнуть тяжелую базу, чтобы SQL выполнялся быстрее
Нужно будет поиграться поплотнее с MCP, есть какие-нибудь бешеные идеи?
——
Сайт со спецификацией, определениями и примерами
https://modelcontextprotocol.io/introduction
@handle_topic
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥6😁2