Denis
а вот про первое поподробнее.....
https://ru.vuejs.org/v2/guide/components-props.html
Evgeny
Ну напиши расширенный дефайн. Я не юзаю TS, у меня аллергия на MS
вооот видишь ...... это и заветься болью поддержки ts.....
Evgeny
https://ru.vuejs.org/v2/guide/components-props.html
это все равно рантайм ошибка ...... это не типизация как ологаеться....
Denis
вооот видишь ...... это и заветься болью поддержки ts.....
TS - не ЯП. Это надстройка на ЯП JavaScript, юзать которую - боль в принципе. Ближайшая аналогия - С++ и PHP
Denis
это все равно рантайм ошибка ...... это не типизация как ологаеться....
JS не поддерживает типизацию как полагается, как и интерфейсное наследование
Eugene
TypeScript — язык программирования, представленный Microsoft в 2012 году и позиционируемый как средство разработки веб-приложений, расширяющее возможности JavaScript 🤔
Evgeny
TS - не ЯП. Это надстройка на ЯП JavaScript, юзать которую - боль в принципе. Ближайшая аналогия - С++ и PHP
нет он магическим обрзом сократит тебе боль от факторинга когда ты меяешь интерейс менив тип с number на string ... и при комиляции покажет где ты не поменял это ........ и не в рантайме а именно на эапе компиляции .......
Eugene
🤔Надстройка это скорее про flow можно сказать
Evgeny
Dzhanik
JS не поддерживает типизацию как полагается, как и интерфейсное наследование
боль? ты хоть юзал его? Ts это лучшее что придумали для JS в принципе
Eugene
🌚да начнется холивор
Dzhanik
Dzhanik
Я юзаю PHP
вот это точно боль
Evgeny
TS - не ЯП. Это надстройка на ЯП JavaScript, юзать которую - боль в принципе. Ближайшая аналогия - С++ и PHP
понятно что ts не понацея от всех проблем...... но грамнотное использование его защищает код при изменениях.....
Denis
вот это точно боль
А ты видел мой код?
Evgeny
ну е моем нормально ж общались.... 😭
Anonymous
рhp7 не так уж и плох)
Evgeny
Да все норм Жень
да тут уже про халивар начали набрасывать .... знаю я чем это заканчиваеться)
Dzhanik
А ты видел мой код?
причем тут твой код? я сужу по кодам многих чей код я видел
Dzhanik
многие ведь пишут как попало главное чтобы работало
Dzhanik
ща покажу
Dzhanik
Знаю
как тебе такое?
Dzhanik
я просто охренел когда увидел
Denis
я просто охренел когда увидел
Посмотри на мой PHP https://gitlab.com/pyro-plus/lessons-module/tree/master/src
Dzhanik
но все работает, каким то образом
Denis
но все работает, каким то образом
Просто сборка плохо настроена. У меня бы не работало. Эх меня бы к ним тимлидом
Dzhanik
у тебя чётенько
Pavel
Просто сборка плохо настроена. У меня бы не работало. Эх меня бы к ним тимлидом
не было желания поковыряться с канвасом и навелосипедить свою либу для графиков?
Denis
не было желания поковыряться с канвасом и навелосипедить свою либу для графиков?
Та у меня фреймворк недописаный стынет https://gitlab.com/Piterden/streams-platform-js/blob/master/src/Model/LucidRepository.js Желание то мож и есть. Времени в обрез
Anonymous
Denis
А так можно было?
Можно было даже так: https://gitlab.com/pyro-plus/lessons-mapper-field_type/blob/master/resources/js/input.js https://gitlab.com/pyro-plus/lessons-mapper-field_type/blob/master/resources/views/input.twig
Denis
К предыдущим двум ссылкам
Denis
Хочу переписать на ноду это https://github.com/anomalylabs/streams-platform
Denis
@evg_abramovitch кстати, вот там трушная модульная система ^
Ler
Ler
чот я не могу въехать. Я правильно понимаю, что window как-то меняет типы и они не те , что на самом деле или как ?
Evgeny
@evg_abramovitch кстати, вот там трушная модульная система ^
ну не совсем трушная ...... в перемешку бизнеслогика ... дата леер и прочее.... тем более для негокго стертера хорошо бы было это разделить....
Denis
ну не совсем трушная ...... в перемешку бизнеслогика ... дата леер и прочее.... тем более для негокго стертера хорошо бы было это разделить....
Это не приложение. Это фреймворк. Там допускается даже писать в середину файла с помощью регулярки.
Denis
На этом фреймворке можно делать модули (аддоны, если быть точным)
Denis
Самая большая коллекция аддонов называется PyroCMS
Pavel
Клон ларки
ну надумаешь, маячь. есть желание поковырять канвас для графиков с тайпскриптом
Evgeny
На этом фреймворке можно делать модули (аддоны, если быть точным)
вот верно .... модули но боюсь все модули тут друг без друга не смогут а это не очень верно(если что внутрь не заглядывал).....
Pavel
без TS))
да ладно, мне кажеться что с ним больше понимания происходящего 😊👍
Evgeny
Это если что Павлу)))
Pavel
ааа, ну ТС не маст хев как говориться ;) особенно когда твой любимый тип это <any> 😂
Denis
вот верно .... модули но боюсь все модули тут друг без друга не смогут а это не очень верно(если что внутрь не заглядывал).....
Аддоны могут друг без друга, но не могут без платформы. Собственно и она бесполезна без её аддонов, так как она - абстракция, а точнее набор абстракций.
Denis
ну надумаешь, маячь. есть желание поковырять канвас для графиков с тайпскриптом
Предпочитаю маяковать, а не маячить ))) Хорошо, я запомнил.
Denis
))).....
Кстати, в платформе абстрагированна база данных
Evgeny
Кстати, в платформе абстрагированна база данных
ну это и правильно .... просто а там я говорил при органицаю кода именно в том репозитории а не модулях....
Denis
Вот только некоторые из фич платформы:
Denis
Думаю надо начать с аддонов и автолодера... Для тех кто устанавливал лару - Pyro имеет некоторые отличия: В пиро папка app почти пуста (в ней все равно можно писать, но, ай белив - это лишнее). То же самое можно сказать и относительно содержимого папок database и resources. The best practice - это держать свой код в аддонах. АДДОНЫ. Каждый аддон - отдельный пакет на пакаджисте (при желании на гите), и, следовательно - имеет свой composer.json, в котором и прописан PSR-4 неймспейс для автолодера. Все аддоны, являются наследниками одного класса, и всего их пока 5 видов: 1. Module - представляет из себя неймспейс и раздел в админке. Может содержать несколько моделей (streams), а так же полей (fields). Стоит заметить, что поля, могут быть реюзабл в пределах одного неймспейса (модуля) для нескольких моделей (streams). Использование определенного поля, определенной моделью и называется связью (assignment). 2. FieldType - тип поля служит для определения правил миграции и дальнейшего взаимодействия с БД, для одной ячейки данных у модели. Он содержит тип поля, но может содержать аксессор, мутатор, схему - классы в которых и описываются эти правила. Отношения - тоже описываются здесь (я не имею ввиду прямого указания модели). 3. Theme - тема. Тут особо нечего - бывают двух видов: админка и фронт. Показываются в настройках в админке (хран в БД). Может быть перекрыто последовательно, из нескольких мест в ФС (самое сильное - .env) 4. Plugin - это тупо плагин твиг. 5. Extension - с ним ситуация, как с бубями в преферансе: "не с чего ходить - ходи с бубей". Внутри может быть размещена любая логика. Оно может быть связано по универсальному ключу с другими аддонами, что, по сути, является еще одним способом расширения с наследованием, но речь сейчас не о нем. Важно, что, несмотря на разделение, благодаря общему родителю, аддоны могут пересекаться классами. Например, не обызательно создавать отдельный аддон для плагина, достаточно создать класс плагина в модуле и подключить его в сервис-провайдере. Это касается почти всего. Класс сервис провайдера может содержать любой из аддонов. МИГРАЦИИ и устройство БД. Платформа стримс имеет свой расширенный мигратор, который способен читать миграции, заданные в декларативном стиле. Файлы миграций создаются автоматически, при скаффолде аддонов определенных типов, а также при скаффолде стрима(модели). The best practice, если мы говорим о модуле, ИМХО - иметь один файл миграции для модуля, в котором описываются все используемые поля, и по одному на каждую модель - в них описываются параметры моделей и принадлежность к ним полей. Важно, что в любой миграции, могут быть использованы стандартные для Ларавел up() и down() методы. БД имеет в названиях своих таблиц жесткую зависимость $app_reference, неймспейса и модели. Структура такова: applications - "корневая" таблица, она имеет связь с applications_domains и это единственные таблицы, имеющие название без префикса. Все другие таблицы имеют в качестве префикса в названии "{$app_reference}_" streams, fields и assignments - это "служебные" таблицы. Они содержат информацию о: - других таблицах с базе и их свойствах (streams) - полях, которыми имеют возможность обладать таблицы (fields) - реальных фактах обладания каких-то таблиц, какими-то полями (assignments) Остальные таблицы имеют жесткую зависимость от описаных выше! "{$app_reference}_{$namespace_slug}_{$stream_slug}" А если стрим (ряд) имеет поле translatable === true, то еще и "{$app_reference}_{$namespace_slug}_{$stream_slug}_translations" Это не все - могут быть еще вариации конфигураций. Не будем на них останавливаться. Когда меняется содержимое служебных таблиц (а это модели ларки), наблюдатель триггерит событие Eloquent, которое, в свою очередь, запускает команду - одну из команд - проводящих маленькую миграцию, соответствующую изменениям. Любые другие таблицы могут быть безболезненно созданы в базе, если только их имена не имеют конфликтов со схемой описанной выше.
Denis
Еще имею типизацию для конструктора JS https://codesandbox.io/s/rlomjzo57p Надо пробовать изменить подаваемые типы на 68 строке
Evgeny
Кстати, в платформе абстрагированна база данных
Кстаааати.... что можно можно заюзать нормальное для валидации форм на vue? нужны асинхронные кастомные валидаторы обязательно ну и делательно адекватный хэндлин состояния формы .........
Evgeny
Я предпочитаю своё писать, а во vue-awesome смотрел?
да вот именно что один глазом пролистал и чет на первый взгляд какое то г...
Denis
да вот именно что один глазом пролистал и чет на первый взгляд какое то г...
Мне там ничего не понравилось. Считаю что хендлить форму должен FormBuilder, у которого валидатор - одно из свойств.
Evgeny
Мне там ничего не понравилось. Считаю что хендлить форму должен FormBuilder, у которого валидатор - одно из свойств.
ток не сам билдер а форма собраная им..... а так согласен .......... эх вот одни расстройства.... прсто сапортить свою самописку это overkill.....
Evgeny
Инстанс билдера
не вслидировать все же должен компонент услового MyForm.... для билдера это уже нарушение принципе единственной ответственности ......
Denis
https://github.com/anomalylabs/streams-platform/tree/1.5/src/Ui/Form
Evgeny
https://github.com/anomalylabs/streams-platform/tree/1.5/src/Ui/Form
на php ничего не даст ........ на беке .net core
Denis
на php ничего не даст ........ на беке .net core
А принципы то везде одинаковые
Anonymous
Телегу опять ебут, на случай если надо будет, поднял прокси. MTProxy, логов нет. Мануалом добавлять вот так. 469fe09b277910a8ae91dcefa736056b
Evgeny
А принципы то везде одинаковые
ну писать как бы это и сапппортить точно не вариант .....