• Какую базу данных использовать для такого проекта?

    ipatiev
    @ipatiev
    Потомок старинного рода Ипатьевых-Колотитьевых
    Ну, на основной вопрос уже ответили, а я освещу отдельную проблему, которая очень часто волнует умы юных падаванов.

    когда лучше реляционную и нереляционную использовать?

    Ответ на этот вопрос очень простой.
    Нереляционная БД - это НЕ база данных.
    А узкоспециализированное хранилище, которое может выполнять какую-то одну определенную функцию лучше, чем база данных. Это может быть кэширующий демон, или поисковый движок, или решение для аналитики, или какое-то подсобное хранилище для всякого мусора.

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

    Если вдруг проект пройдет стадию "неясные идеи", и выльется во что-то практическое, и даже появится какая-то нагрузка, то можно будет начать думать про использование одного или нескольких подсобных хранилищ в дополнение к базе данных.
    Ответ написан
    2 комментария
  • Какую базу данных использовать для такого проекта?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Тут подходит любая реляционная SQL БД потому что нет противопоказаний. Реляционку мы выбираем
    уже более 30 лет как default вариант и почти не ошибаемся.

    Когда задача имеет признаки ярко выраженной high-load системы - мы делаем ей частичную денормализацию
    и раскладываем ее в NoSQL Key-Value решение. Но это не про улучшение а это про неизбежность. У нас нет выхода просто.
    Иначе мы клиенту не сможем быстро отдать какой-то резуальтат.

    Когда задача имеет ярко выраженную документную природу (нет спецификации на values) - мы берем MongoDb/CouchDb.

    Когда задача хранит граф и ищет в графе и вообще требует графовых алгоритмов - то мы берем Neo4j или ей подобные.

    Когда задача хранит данные измерений (телеметрия) - то предпочтительно взять InfluxDb или ей подобные. Здесь-же мы предполагаем что у нас - не будет joins а будет только измерения в диапазоне времени.

    Но в данном ТЗ и на картинке обычная SQL БД (MySQL/Postgres) вполне себе нормально справляется.
    Ответ написан
    Комментировать
  • Как получить доступ в базу данных или к FTP сайта имея доступ в админку Wordpress?

    alex-1917
    @alex-1917
    Если ответ помог, отметь решением
    Через админ-панель сайта на WP можно установить плагин бекапа и скачать себе бекап сайта, также можно через плагин файл-менеджера скачать или редактировать файл, в котором хранятся данные для доступа к текущей БД.
    Это всё!
    Доступ по ФТП - это как бы более высокий уровень доступа, тут WP, равно как и любой другой движок, вообще не причем!
    P.S. - редактировать файлы шаблона, как бы это не анонсировалось разработчиками, крайне не рекомендую, как пример приведу свежий пример:
    верстальщик-начинашка Дятел Криворуков добавил несколько элементов в шаблон через стандартный редактор шаблона в админке, при этом пропустил одну открывающую скобку, итого сайт стал белым, как новый год в Якутии, в том числе и админка!!! Помогло восстановление испорченного файла через ФТП

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

    Aetae
    @Aetae Куратор тега Vue.js
    Тлен
    Во-первых: тебе намекнули уже в комментах:
    computed свойства в vue пересчитываются когда меняются их реактивные зависимости, которые участвовали в предыдущих вычислениях

    Т.е. на пальцах: ты обратился в computed к this.value - теперь он смотрит за изменениями this.value. Твоё же computed ни к чему не обращается, оно просто возвращает функцию, её содержимое и вызовы к computed не относятся.

    Для понимания:
    Вот этот твой код:
    computed: {
      validatedClass() {
        return (input) => {
          return {
            'uk-form-success': this.wasValidated && !this.errors[input],
            'uk-form-danger': this.wasValidated && this.errors[input],
          }
        }
      }
    },

    равносилен:
    function someRandomFunction(input) => {
      return {
        'uk-form-success': this.wasValidated && !this.errors[input],
        'uk-form-danger': this.wasValidated && this.errors[input],
      }
    }
    computed: {
      validatedClass() {
        return someFunction.bind(this);
      }
    },

    Такой computed будет обновлён только когда Vue пошлёт. В идеале, на самом деле, никогда.

    По сути ты просто написал обычный метод, но через одно место.)

    Во-вторых: проблема у тебя в другом: this.errors = {}.
    Из-за ограниченных возможностей сеттеров, новые ключи, добавленные в объект таким образомthis.errors.email = [] - не реактивны.
    Добавлять ключи надо либо черезthis.$set(this.errors, 'email', []) либо, что лучше, заранее:
    this.errors = {
      email: '',
      // ...
    }


    Ну и в третьих: менять что-то в this.$children - очень очень очень плохо. Просто используй props. Такая возможность наличествует только для крайне сложных случаев в компонентах библиотек. Точно не для твоего.
    Ответ написан
    1 комментарий
  • Почему запуск cURL из-под WordPress вызывает Internal Server Error?

    SilenceOfWinter
    @SilenceOfWinter Куратор тега PHP
    та еще зажигалка...
    ты свой фрагмент кода оборачиваешь в функцию? возможно твой код перезаписывает какие-то wp переменные. ну и не стоит забывать что серверные настройки php и curl'а могут не совпадать с локальными - многие хостинги блокируют внешний доступ для дешев....
    Ответ написан
    Комментировать
  • Почему не работает данный код PHP?

    @dero
    о себе
    $сhangeOfOil = 'None';- Первая буква русская "с"

    $changeOfOil = implode(', ', $_POST['ChangeOfOil']);
    - А здесь английская "c"

    + Проверьте значение $_POST['ChangeOfOil']
    if($_POST['ChangeOfOil'] != '')
    Ответ написан
    3 комментария
  • Как сделать модальное окно с возможностью прокручивания?

    @callmegrisha
    Если содержимое модального окна, которое лежит в классе в диве с классом consultationобернуть в дополнительную обертку, то свойство overflow-y: scroll; заработает

    По крайней мере попробуй

    Обновлю с некоторым примером:
    <div class="consultation">
      <div class="consultation__content">
        <span>Содержимое</span>
      </div>
    </div>
    Ответ написан
    Комментировать
  • Что значат три точки в public function hasRole(... $roles )?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Комментировать
  • Как продавать видео с YouTube на сайте?

    CityCat4
    @CityCat4
    Внимание! Изменился адрес почты!
    Видео с трубы видно сразу что с трубы. Смотрю предпросмотр, ищу на трубе.

    Наиболее упоротые могут забашлять, скачать и перезалить куда-нибудь. Только не говорите, что сможете защититься от скачки видео :)
    Ответ написан
    Комментировать