• В сфере IT для новичков нет перспектив?

    Alex_Wells
    @Alex_Wells
    Vilmof20, выше уже писали. Если развиваться ты не хочешь - то найти работу ты сможешь только эникеем. "Не прочь учится" - это не то, что нужно хорошему программисту - в первую очередь нужно желание это делать (учится) по своей воле, за свой счет и в свое удовольствие. Если у тебя нет желания испробывать другой язык, попробывать (или хотя бы мелком глянуть) новый фреймворк, проследить за ростом уже известной тебе технологии, то программирование - это точно не про тебя.
  • Разные в Laravel cookie?

    Alex_Wells
    @Alex_Wells
    NDll, уже подсказали: открой документацию и прочти от начала и до конца.
  • Разные в Laravel cookie?

    Alex_Wells
    @Alex_Wells
    Боже, кто тебя научил писать в трейтах? Пойти бы нехороший комментарий написать этому человеку...
  • Не работает css и js на хостинге, как исправить?

    Alex_Wells
    @Alex_Wells
    zqx1, веб-серверу корень поставь на /public
  • Не рано ли изучать Rust?

    Alex_Wells
    @Alex_Wells
    MiniDeveloper, я говорю о современных языках.
  • Не рано ли изучать Rust?

    Alex_Wells
    @Alex_Wells
    MiniDeveloper, чисто выучить язык и парочку технологий к нему, зная хотя бы один-два других языка - это несколько дней времени. В случае с Rust - ну неделька-две. Ни в коем случае не год и не два.
  • Избитый вопрос: как быть с роутингом в связке Laravel+Vue+SSR?

    Alex_Wells
    @Alex_Wells
    kami16ru,

    Так я о том и говорю, что базовая архитектура не подходит для больших приложений.

    Речь об архитектуре фреймворка, а не приложения. Не изменишь ты ее.

    Не буду детально расписывать все пункты. Я и так столкнулся с всеми этими проблемами и знаю по себе, меня никто в обратном не переубедит) Отвечу кратко:
    нормальная ОРМка должна давать типизацию. Ни eloquent, ни doctrine, ни cycle ее не дает (типизацию таблиц и запросов). Это не ок. Простые или сложные запросы - это не важно.

    Проблемы решаемы, но на то, что бы пофиксить их командой в 6-7 человек (наша бэкэнд тима) - уйдут годы, а комьюнити этим заниматся не собирается. Пока что вижу только как развивается Spiral/Cycle из мира ПХП, но там тоже куча нетипизированного говна, как и в ларке, и сама ларка, вместе с ее экосистемой, но и это бесполезно.

    Вышеуказанные же проблемы никто даже и не думает начать решать. Пройдет не один год пока хоть что-то из этого наконец сделают нормально, если вообще когда-нибудь сделают.
  • Избитый вопрос: как быть с роутингом в связке Laravel+Vue+SSR?

    Alex_Wells
    @Alex_Wells
    kami16ru,

    Ну это уже называется не самому пилить, а использовать готовое решение.

    А это важно? Если есть хорошее готовое решение, то почему нет?

    Думаю Ларавель подходит для любых целей, это PHP в конце концов. Другое дело, что предлагаемая базовая архитектура не подходит для больших и средних приложений

    Поверь, это не так. Ларка очень любит нетипизированную магию, упрощенные варианты, глупую архитектуру с кучей наследования - всего этого уже достаточно, что бы задуматься. А потом добавляй к этому отсталость пхп, убогие очереди ларки, отсутствие либ для сериализации, отсутствие нормально типизированных ОРМок (доктрина с ее DQL не катит), убогая валидация на стрингах, отсутствие авто-десериализации реквеста в ДТО, частое отсутствие SDK (в отличии от джавы, sdk под которую есть почти у всех, у кого вообще есть sdk), не дружит с roadrunner, убогий и медленный phpunit (даже с paratest'ом) и еще стопятсот проблем.

    К тому же, именно PHP говорит мне о том, что он НЕ подходит для проектов, где нужна многопоточность (или, хотя бы, асинхронность) от слова "совсем".

    Так что нет, он подходит не для любых целей и проблема вовсе не в архитектуре с коробки)
  • Могуть ли забанить в вк за баг?

    Alex_Wells
    @Alex_Wells
    Звучит примерно как "разумеется, на тебя может внезапно упать самолет с неба" - конечно, это возможно, но настолько маловероятно, что об этом вообще нет смысла говорить.
  • Избитый вопрос: как быть с роутингом в связке Laravel+Vue+SSR?

    Alex_Wells
    @Alex_Wells
    kami16ru,

    накладно

    Чем накладно? nuxt популярен. Angular из коробки предлагает universal, его подключение - одноразовая акция не требующая особых сил.

    Все приложение делать SSR бессмысленно.

    SSR вообще бессмысленный, по большому счету. Как только парсеры начнут нормально работать с JS - нужда в SSR отпадет.

    inertia это революция для фрилансеров. Можно очень быстро написать небольшое приложение. Либо несколоко страниц превратить в SSR по бырому.

    Как и laravel. Это не делает его хорошим для всех целей и всех проектов.

    В доках Ларавеля тоже есть такие строчки. Тем не менее это один из лучших доков среди IT

    И это нормально? Люди ориентируются на такой код и считают, что раз оно так в доке - то это нормально. А это не так. Аргументировать или ты согласен? Просто не совсем ясно из твоего ответа.
  • Избитый вопрос: как быть с роутингом в связке Laravel+Vue+SSR?

    Alex_Wells
    @Alex_Wells
    kami16ru,
    Если основные модули рассмастривать как страницы

    Нет, модули - не страницы, а части приложения. Это может быть 0 страниц (чисто технический модуль, типа геокода), а может быть 100500.

    и если все нормально с фронтом, то можно использовать как урлы с нескольких модулией

    С intertia - нельзя, потому что тогда прийдется связать разные модули на бэкэнде. Если этого можно не делать - я так и поступлю.

    Связь через API - это и есть главный Костыль

    Ты же понимаешь, что даже используя inertia тебе все равно нужно писать АПИ? create, update, delete - все это реализуется только через АПИ, в каком бы идеальном мире мы не жили. И фронт тоже нужно писать, вместе со всей версткой, стилями, переходами, анимациями, логикой и так далее.

    В конечном итоге мы получаем рендер GET запросов с помощью страниц, которые сами и сверстали; данных, которые сами вручную и подготовили; раутинг, который с тем же успехом могли написать на фронте.

    Так в чем разница? В том, что не нужно делать запрос на бэк на фронте вручную в идеальных простых ситуациях?

    Еще раз:
    1) в сложных ситуациях - эта хуйня не сработает. Не всегда данные достаются с одного урла и с одного бэкэнда.
    2) экономит ОЧЕНЬ мало кода
    3) мы теряем АПИ для внутреннего использования (ведь бэкэнд не только с фронта дергается), для сторонних разработчиков и других клиентов
    4) использование фреймворков, которые intertia не поддерживает (типа angular) - невозможна. А те, которые inertia поддерживает - явно проигрывают angular

    Да и уровень разработчиков этого проекта легко определить по этому куску кода:
    User::create(
                Request::validate([
                    'name' => ['required', 'max:50'],
                    'email' => ['required', 'max:50', 'email'],
                ])
            );
    
            return Redirect::route('users');

    - если кто-то всерьез выставляет такой пример в доке своего проекта и считает, что это нормально, то я вообще не вижу смысла рассматривать такой проект, потому что если это ок, то и другое гавнецо он так же посчитает нормальным.
  • Избитый вопрос: как быть с роутингом в связке Laravel+Vue+SSR?

    Alex_Wells
    @Alex_Wells
    kami16ru, я фуллстэк и сейчас работаю бэкэндом на проекте, разделенном на фронт и бэк, который общается только через API и в котором более 600 эндпоинтов, так что да, представляю.

    Но нет, фронт не должен быть никак связан с бэкэндом. Ты же в курсе, что кроме модульного монолита есть еще и микросервисы? Как собрался фронтэнд с ними связывать?

    Модули "типа плагинов" - это хорошо, но тестируется отдельно фронт и отдельно бэк, а e2e тесты в любом случае должны проверять всю систему целиком, игнорируя рамки модулей - на то они и e2e, так что привязка бэка к фронту в модулях - бесполезна. Можно, но чем дальше фронт от бэка, тем четче граница и жестче требования по коммуникации между ними, а значит - проще поддержка, ибо это позволит рефакторить бэк и фронт независимо друг от друга.

    А инерция - рушит всю границу и это опять становится одним большим веб приложением без АПИ, и.е. без возможности стороннего использования 3rd party, внутреннего использования или использования для других клиентских приложений, типа мобильных.

    Твой аргумент в том, что "это быстро и просто" - но это так не работает. Уже наткнулся на грабли laravel - спасибо, не нужна мне больше эта халява, что бы я потом опять в истерике бился по поводу того, что многие проблемы невозможно нормально решить и прийдется переписать столько, что выгодней будет использовать вообще другую технологию.

    И intertia - отличный пример таких "laravel грабль". Оно работает только в простых случаях, и то только если написано хорошо, в чем я сомневаюсь.

    Ох, и да, если уж ты заговорил про модульность... а что если на фронте нужно использовать урлы с нескольких бэкэнд модулей? Не связывать же бэкэнд?)
  • Избитый вопрос: как быть с роутингом в связке Laravel+Vue+SSR?

    Alex_Wells
    @Alex_Wells
    Сергей delphinpro, нода все равно поднимается, хочешь ты или нет. Так почему не использовать ее нормально?

    По поводу стейта: зачем стейт собирать вручную? Фронтэнд с этим пусть сам разбирается, твоя задача - прокинуть какие-то общие между страницами вещи, типа конфига, дабы не дергать его каждый раз, а все остальное - перехватом запросов.

    И.е. так, как ты сказал:
    Я тут подумал, что можно попробовать перекинуть запросы к апи в хуки created(), чтобы они и на сервере дергались,


    Скорее всего ты собираешь фронт и axios думает, что он в браузере. Смотри это:
    https://github.com/spatie/laravel-server-side-rend...

    target: node тебе поможет.
  • Избитый вопрос: как быть с роутингом в связке Laravel+Vue+SSR?

    Alex_Wells
    @Alex_Wells
    kami16ru, нет, SSR это фолбек, когда JS не вариант - и.е. временный костыль для поисковиков, пока те не будут нормально это делать сами. Это не значит, что все должно быть на бэкэнде - нет, бэкэнд остается АПИшкой, а не непонятной хуйней, отдающей компоненты, как в случае с intertia.

    Если ты про демо intertia - не лагает, да. А попробуй сделать админку на laravel nova и посмотри, сколько тонн мусора там постоянно передается и как оно из-за этого лагает на мобильных устройствах (да и в целом).

    И вообще API делается для того, что бы потом можно было использовать его для других целей - мобильной апки, к примеру. Там нет привязки к конкретным компонентам, даже если апка на JS + NativeScript. Тут этот концепт ломается.

    Не знаю, куда уж подробней. Я за милю вижу, что это хуета, которую невозможно поддерживать и расширять.
  • Как пробросить свойство в дочернею в коллекцию ресурсов API?

    Alex_Wells
    @Alex_Wells
    Infobject - это типа InfoObject? Если да, то пожалуйста, ПРОШУ, никогда не обьеденяй так слова...
  • Избитый вопрос: как быть с роутингом в связке Laravel+Vue+SSR?

    Alex_Wells
    @Alex_Wells
    Глянул.

    Нет, не нужно это юзать (intertia.js). Это такая-же хуета, как и Laravel Nova - лагающее гавно, передающее стопятсот тонн инфы на каждый запрос.

    Смотри мой ответ.
  • Как заставить whereRaw в Laravel не обрамлять в кавычки переменные?

    Alex_Wells
    @Alex_Wells
    Igor Tarasov, с каких пор ->where() с колбеком мене читабельно, чем raw sql?

    Если можешь билдером - так и делай.

    Но этот вариант не сработает для функций MySQL. Нужно же решение в общем виде.

    Так ты определись: ты хочешь mysql код подставлять или данные? mysql код - стрингой, без плейсхолдера. Данные - плейсхолдером, как тебе ответили выше.

    Так или иначе, с большой долей вероятностью ты делаешь что-то не так.
  • Как подключить PHP к nginx?

    Alex_Wells
    @Alex_Wells
    Причем тут воркеры и взаимодействие? Какая разница вообще, для nginx, apache, консоли или чего-то другого?