Web3 platform that empowers users with seamless earning opportunities. Our mission is to make life changing rewards accessible to everyone in just minutes a day
Play🕹️: @realyescoinbot
Business: @advertize_support
Last updated 1 year, 8 months ago
Fast transfers & trading, send meme gifts 🎁 and earn 100x returns — fun and flexible crypto app!
Incubated & invested by Binance Labs
Https://grandjourney.io
Last updated 1 year, 8 months ago
————————— | PHP SCHEMA | ————————— Для конфигурирования через JSON или YAML есть уже JSON и YAML Schema соответственно. И каждый раз разработчики PHP выбирают эти форматы для конфигурирования своих инструментов. Не так давно появилась идея создать аналогичную…
—————————
| 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
🔥 Обзор IDE для PHP — стрим на CutCode! 🔥 Друзья, готовим мощный стрим про инструменты разработки на PHP! Разберем популярные IDE, их плюсы и минусы, а также обсудим продвинутые темы для разработчиков. 💡 Что будет на стриме? 🔹 Сравнение популярных IDE для…
MetaStorm⚡️
Редизайн. Масштабируемая архитектура композитного типа. Коллекции. Коллекторы. Переменные. Таблицы. Атрибуты. Система поиска XPath. Cycle. Temporal. Moonshine.
Вот что произошло с плагином за пару недель. Серьезные обновления на основе фидбека от вас. Стало реально проще читать и писать конфиги. Новый релиз уже в проде и доступен для обновления.
Кстати, для у плагина появился свой телеграмм канал, где мы обсуждаем его полезность.
Описал все что произошло с плагином на Хабре, а парни из CutCode сделали обзор и даже взяли у меня интервью!
Ждем видос, а пока можете почитать статью и сказать стало ли понятнее ?
Пора уже форкать PhpStorm?
——
Всех с наступившим Новым 2️⃣0️⃣2️⃣5️⃣ годом ?
В новом году нас с вами ждут много классных проектов, тысячи нереализованных идей, куча статей, сотни крутых материалов для изучения и конечно релиз Yii3!
А плагин MetaStorm уже готов к финальной полировке рефакторинга структуры конфигов, а новые фичи уже просятся в релиз.
Остаемся на связи ?
Куда пропал?
#оффтоп
С середины Апреля ничего не писал, но много разного произошло.
Если перестал писать статьи и заметки, то чем дольше этого не делаешь, тем дольше будешь это откладывать. Кто занимается подобным то скорее всего меня понимает. При этом у меня в черновиках есть несколько "продакшен-реди" статей, даже это откладывалось.
Решил не делать новогодних резолюций, а взять и написать сегодня.
Буду наверстывать, вкидывать уже что-то из прошлого и делиться своими мыслями, и уже совсем скоро будет приятный бонус всем кто использует PHPStorm для разработки на PHP. Нет, не лицензия и не прокси сервер, вы уж там сами ?
Пока готовлю статью для хабра, жду финальных апрувов, надеюсь вам понравится.
Всех с наступающим ?❄️☃️
Регулярные выражения! ?
Не страшно? И не должно!
#мысли
Пару недель назад решил написать серию статей по регулярным выражениям.
Сел описывать все свои знания. Хотел очень кратко уложиться в 1-2 поста, чтобы захватить минимальный комфортный максимум, чтобы не забивать голову о рекурсиях и прочих вещах, но в то же время суметь написать регулярку для какого-нибудь DSL.
В общем, из 1-2 постов это переросло в 8 и там я еще не уложил реально сложные вещи.
Хотел сделать ежедневную серию, чтобы был какой-то фидбек от вас с решением задачек: от простых к легким. А в конце могли бы подвести итог разбором или созданием своего парсера, например, урезанной версии PHP или Python.
В общем, нужно времени дописать и поделить это как-то грамотно, но пока что выдохся.
На прошедшей недели по работе пришлось сделать пару вещей на регулярках и опять пришел к мысли о написании серии постов.
Однако вчера пришла другая идея: создать отдельный канал а-ля “5min regexp”: раз в какое-то время базово проходиться по базовым и сложным вещам, время от времени публиковать разборы задачек, интерактивы в виде выбора правильного результата и задач на размышление.
Пока не знаю, будет ли это кому-то интересно, поэтому хотел бы узнать у вас.
Что думаете, отдельный канал с интерактивами, задачками, обучалками, разборами или серия больших и жирных постов?
Концовка топ?
Web3 platform that empowers users with seamless earning opportunities. Our mission is to make life changing rewards accessible to everyone in just minutes a day
Play🕹️: @realyescoinbot
Business: @advertize_support
Last updated 1 year, 8 months ago
Fast transfers & trading, send meme gifts 🎁 and earn 100x returns — fun and flexible crypto app!
Incubated & invested by Binance Labs
Https://grandjourney.io
Last updated 1 year, 8 months ago