• Почему возникает ошибка 500 в Next.js и как это исправить?

    Isolution666
    @Isolution666 Автор вопроса
    Aetae, У вас есть опыт дебага на продакшене ?
    Если да, напишите. Если бы были хоть какие-то ошибки в роутинге Next, я бы давно всё пофиксил.
    Роутингом для SSR приложения на React является файл next.config.js
    В нём нужно правильно настроить экспорт патчей, это свойство так и называется
    exportPathMap:
  • Почему возникает ошибка 500 в Next.js и как это исправить?

    Isolution666
    @Isolution666 Автор вопроса
    Даша Циклаури, Даша, я не компетентен в этом вопросе, чтобы спорить, но я соглашусь что вью и реакт хороши для разработки приложений и веб-сайтов. Просто я сейчас перед выбором на чём писать соц.сеть : Angular или Vue
    На React нельзя так это нарушает пользовательское соглашение в отношении конкуренции компании Facebook
  • Почему возникает ошибка 500 в Next.js и как это исправить?

    Isolution666
    @Isolution666 Автор вопроса
    Даша Циклаури, Я знаю про Gatsby, но он нам не подходит, вообще удивляет что Vue в плане SSR даже лучше, да и SPA делать на нём проще и адекватнее. Когда говорю что делаю сайты на React.JS - обычно ругают, что трачу время и что лучше Angular. Но я не пользовался им с 2013 года!! Я понятия не имею как там всё развилось и продвинулось XD
    Я ещё думаю может как-нибудь так настроить webpack чтобы устранить эту проблему ))
    В любом случае благодарю за отзывчивость.
  • Почему возникает ошибка 500 в Next.js и как это исправить?

    Isolution666
    @Isolution666 Автор вопроса
    Даша Циклаури, повезло же вам.
    Можете подсказать по вложенностям с exportPathMap: ??
  • React Ant Design - как правильно разбить Layout? И как можно реализовать Routing с разным Layout?

    symnoob, если переменная в функции "обёртки" без значения по умолчанию пустая
    как в случае с чилдрен переменной - будет ошибка. Или тайтл напишите без значения:
    export function AdminLayout({children, title}) // Оба поля обязательные они не имеют значения по умолчанию
    {
        ...
    }

    вы можете передавать любые пропсы, хоть целые массивы, чтобы не было путаницы, для каждого лэйаута делайте свои импорты стилей. Можно конечно и встроенные делать:
    export function AdminLayout({children, , title = 'Your title'})
    {
        ...
        <style jsx>{` // можно добавить global чтобы применилось ко всем страницам
            .main {
                width:80%;
                background-color: #012444;
            }
        `}
         </style>
    }


    Быть осторожным только с передачей данных, чтобы прилетали проверенные данные.
    В npm уже 4 библиотеки вирусные попали, так что будьте осторожны, учите TypeScript и делайте свои библиотеки. Своё как-то надёжнее + лицензия. Можете оборачивать лэйауты провайдерами и контекстом, чтобы не тянуть данные через все компоненты, будет у вас "умный" компонент. Ну и учите React - в документации можно найти куда больше, чем вы можете предположить. Я это решение нашёл там.
  • Как реализовать layout/views на React?

    Jedi, попробуйте использовать "чилдрены"
    https://reactrouter.com/
    тут есть разные примеры реализации.
    То есть роуты должны получать чилдрены а не компоненты
    Либо делайте компонент обёртку и вешаете на все страницы где нужен именно этот дизайн.
    Если вас не принуждают писать на чистом React JS тогда пробуйте делать сайты на next.js или на getsby
    В вашем случае помогут только чилдрены.
  • Как задать value для CKEditor Yii2?

    LightSid, контроллер должен получить связь 2х или более таблиц по foreign key, при create и update эти связи будут между собой взаимодействовать, таким образом будут меняться 2е или более таблиц в БД одним запросом, иногда, если это нужно для формирование выпадающего списка, к примеру у товара есть своя категория (одна !) то можно сделать выборку всех уникальных значений из столбца, и выбирать из этого списка, и можно сделать чтобы в этом выпадающем списке можно было добавить новое значение, тогда не нужно будет создавать отдельную таблицу категорий и связь с товаром, НО! если у одного товара несколько категорий, этот подход не подходит вообще. Но даже тут можно схитрить, если создавать категории как теги, и вставлять их как теги в один input, и хранить в виде строки с разделителем.
    модное, новое, распродажа
  • Как правильно и безопасно пользоваться ORM в Yii2?

    Isolution666
    @Isolution666 Автор вопроса
    Максим, я вас услышал и понял, конфликт исчерпан. Благодарю за пояснение.

    Боюсь даже говорить, но может Вы даже не знаете что такое творчество, раз пытаетесь всё на него скатить.

    Знаю, поэтому понял вас. Спасибо что помогаете мне и людям.
  • Как отклонить вход пользователю с определённой ролью на Yii2?

    Максим, эта платформа создана для решения вопросов по программированию, а не для выяснения отношений, если у вас личная неприязнь ко мне, разбирайтесь лично со мной а не сорите в комментариях, это отвлекает людей от решения задачи.
  • Как правильно и безопасно пользоваться ORM в Yii2?

    Isolution666
    @Isolution666 Автор вопроса
    Максим, у вас явно личная ко мне неприязнь, и вы строите теории на своих догадках.
    В вас действительно мало логики, потому что, если бы она была, то вы бы поняли, что в некоторых вопросах я хочу сам лично разобраться не прибегая к помощи своих работников.
    Так же я не вижу ничего постыдного и плохого в нанимании людей, которые лучше меня в чём-то понимают и разбираются. Так же не вижу ничего плохого в задавании тупых и глупых вопросах, на то они и вопросы, потому что человек хочет сам разобраться не отвлекая других.
    QNA для того и создали, чтобы спрашивать у свободных и знающих людей, тем более что это помогает и другим людям разобраться в подобных вопросах и не выглядеть глупыми.
    Мне кажется, глупо выглядят те люди, кто корчит из себя умных и всезнающих. Вы можете быть профи в программировании или в искусстве, но абсолютно не разбираться в сантехнике или в астронавтике, но это не значит что вы глупый человек, просто вам не хватает знаний в узконаправленных секторах. И всё. Давайте не переходить на личности. Вы абсолютно ничего не знаете обо мне. Да простит меня русский язык, если где ошибся.
  • Как отклонить вход пользователю с определённой ролью на Yii2?

    Максим, я вас услышал. Это вы меня не поняли. Статусы хранит не БД, а модель, которая работает с пользователями, для того, чтобы понять, что за что отвечает, заходим в эту модель, и смотрим значение приватных переменных. Я специально не указывал в примере, чтобы не показывать, как в действительности выглядит код у меня, таким образом я могу поменять значение приватных переменных и логика сохранится. Мне не надо "помнить" что значит это переменная, так как её название отражает суть.

    В любой модели при сохранении можно поставить ->save(false)


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

    Моя бизнес логика написана отдельно от модели, которая работает с пользователями, так же у меня есть отдельная логика для регистрации, смены пароля, смены e-mail, восстановления аккаунта и так далее. Если у вас всё хранится в одной модели или в одном контроллере вместе со всеми иф и эльс, то мне вас жаль.

    Почему статусы и доступы у меня отдельно, объясняю:
    1) У всех пользователей есть 3 основных статуса
    (новый, активированный, заблокированный)
    2) Количество ролей может быть сколько угодно
    3) Разрешений у конкретной роли может быть сколько угодно

    Вывод: Если я создаю роль админа и модератора, я должен добавить как минимум по две роли для каждой роли, и того при создании новой роли активного, я должен добавить по две роли заблокированного и нового. Эту ситуацию предусмотрели, поэтому придуманы разрешения, но их надо вручную добавлять или менять для каждого пользователя, либо писать транзакции и вешать крон, чтобы менять эти самые разрешения для для всех ролей.
    Таким образом, давать доступы только через роли и разрешения настоящий геморрой.
    И как вы одним запросом получите количество всех статусов не имея статусы???
    Таким образом, за каждым пользователем можно закрепить некий статус. Его то можно менять вне зависимости, админ это, модератор или покупатель, или простой пользователь.
    Я практикую присвоение роли сразу после регистрации, та что по умолчанию, вы можете давать по умолчанию - любую (по вкусу запаху и цвету).
    Я составил бизнес логику так, что вне зависимости от валидации, которую кстати могу цеплять за любой импут, за какой мне вздумается, я могу ограничить доступ любому пользователю, не зависимо от его роли и разрешений. Если он не активировал свой аккаунт по SMS или по e-mail - или всё вместе, он не сможет пользоваться сервисом никак, а это и нужно человеку, который задавал вопрос:
    Я сделал проверку роли пользователя, чтобы запретить вход пользователю
    - читать вверху, где вопрос.
    То есть человек спрашивает вас, как мне запретить вход тем, кто не подтвердил свой электронный адрес. Это тривиальная повседневная задача во всех проектах, проверить, что пользователь реальный. Кому нужны боты и спамеры???

    Если у вас не высоконагруженная система имеет смысл статусы хранить в виде строки «active», «blocked»... читать такие данные удобнее при запросах и в базе данных.

    Как раз для высоко нагруженных проектов чем меньше обработка байт информации тем лучше, сколько весит int "1" и varchar "blocked" ???
    Про приватные переменные или константы - не? не слышали?
    Почему помнить должен программист а не программа? Разве не для того изобрели компьютеры, чтобы они а не люди, хранили информацию, обрабатывали информацию, искали информацию. А как же человеческий фактор - устал, забыл, заболел, потерял.
    Или вам поднять историю людей, которые работали в архивах и библиотеках?
    Может быть вы забыли про bool ??? true | false => аналог 1 / 0
    Таким образом ещё быстрее. Впустить или запретить?
    <?php 
    $solution = ($user) ? 'Впустить' : 'запретить';
    ?>

    Моя ошибка лишь в том, что я не объяснил как этим кодом пользоваться и где вставлять.
    Мой пример работает с этой валидацией
  • Как отклонить вход пользователю с определённой ролью на Yii2?

    GONJY MONJY, в списке пользователей есть некий статус, у каждого проекта он свой.
    Логично в модели пропуска к сайту или к определённым страницам сделать такую проверку:
    ...
        public function validatePassword($attribute, $params)
        {
            if (!$this->hasErrors()) {
                $user = $this->getUser();
                if (!$user || !$user->validatePassword($this->password)) {
                    $this->addError($attribute, Yii::t('users', 'PASSWORDFALSE'));
                } elseif ($user && $user->action == 3) { // если юзер забанен
                    $this->addError('email', Yii::t('users', 'LOGINBLOCK', ['url' => Html::a( Yii::t('users', 'More details'), '/info' )])); // ссылка на пояснение, почему забанен
                } elseif ($user && $user->action == 1) { // если юзер не активирован
                    $this->addError('password', Yii::t('users', 'ACTIVEACCOUNT'));
                }
            }
        }
    ...

    Блочить определённого пользователя, это нормально, если он ведёт себя неадекватно, нарушает пользовательское соглашение и так далее. Так же хорошая практика со СПАМерами и хулиганами, на этапе регистрации, даже если у вас стоит валидация на СПАМ, юзер может проскочить, так как данный юзер ещё недостаточно хорошо нашкодил, чтобы интернет внёс его в чёрный список. Данное решение позволяет хранить данные о пользователе без удаления, анализ данных (Если вы отслеживаете IP адрес, таким образом отсекается рецедив регистрации по IP - но это так себе защита, однако кое какое решение).
    Так вот, данная валидация проверяет и на наличие статуса "не активирован", вы понимаете? Одна цифра решает ВСЁ, она как таможенник, вы - проходите, у вас - не оформлены документы, вам - выезд запрещён. Я реализовал вообще смену статуса юзера по клику.
    То есть, если я или модератор, или пользователи видят нарушения, сыплются жалобы, клац и проблема решена. Мне кажется ЭТО ваше решение, не за чем ставить ограничения по ролям, это лишняя нагрузка на проект, тем более, можно потом каждый год к примеру удалять через транзакции всех заблокированных и не активных, и вообще по барабану, какие у него роли, разрешения и уровни доступа. ;-)
  • Существует ли генератор Skeleton UI Design?

    Isolution666
    @Isolution666 Автор вопроса
    entermix, я думал об этом, но это вмешательство в проект, не все проекты молодые, некоторые уже динозавры, не знаю даже что думать, но уже 4 подписчика под эту тему, значит тема всё же актуальна и интересная. Придётся самому пилить сервис и брать деньги за использование )))
    P.S. ещё одна причина, почему ваше предложение не подходит. Скелетон загрузка серо-белая а не цветная.
  • Как считать очень большие числа, и на каком языке программирования?

    Isolution666
    @Isolution666 Автор вопроса
    Griboks, не то и не другое. Просто общение с умными людьми раскрыло мне сознание, что такое математика (я понял в чём смысл). И эта наука меня заинтересовала, хотя ранее я её не понимал и не воспринимал. Что касается компьютеров, есть у меня одна теория, которую я хотел исследовать в лабораторных условиях, осталось подсчитать сколько этот эксперимент будет стоить и где лучше всего его проводить.
  • Как считать очень большие числа, и на каком языке программирования?

    Isolution666
    @Isolution666 Автор вопроса
    XD XD XD - прям инструкция как запустить ЦП и память компьютера в космос.
    Дико угорел, ухаха!
    Калькулятор:
    - К таким подсчётам, разработчики меня не готовили )))
  • Как считать очень большие числа, и на каком языке программирования?

    Isolution666
    @Isolution666 Автор вопроса
    Я попробую эту библиотеку. И скажу вам точно. В любом случае благодарю за информацию
  • Как считать очень большие числа, и на каком языке программирования?

    Isolution666
    @Isolution666 Автор вопроса
    Если кратко, то это невозможно.

    Для человека нет ничего невозможного. Когда-то был бум на криптовалюту, и все с пеною у рта кричали, что нельзя создать и спрограммировать такой валидатор, который бы проверял фиктивны криптокошелёк или реальный. Нигде в интернете не было решения. Думаете меня это остановило? Я написал такой валидатор.

    2. относительная точность (когда мы обнуляем ненужные знаки)

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