Пользователь пока ничего не рассказал о себе

Наибольший вклад в теги

Все теги (16)

Лучшие ответы пользователя

Все ответы (10)
  • Как правильно обновить данные в MongoDB?

    YarkoDzech
    @YarkoDzech
    будучи трезвым, сдержи все свои пьяные обещания!
    $push просто добавляет данные в массив
    $addToSet добавляет с заменой

    tag = ['four', 'five']
    db.collection.update({searchtags: "anything"}, {$push: {tag: ['one', 'two', 'three', 'four']}})
    tag = ['one', 'two', 'three', 'four', 'four', 'five']

    db.collection.update({searchtags: "anything"}, {$addToSet: {tag: ['one', 'two', 'three', 'four']}})
    tag = ['one', 'two', 'three', 'four', 'five']

    Через точку можно пушить прямо в подмасив массива.
    Ответ написан
    2 комментария
  • Как обеспечить доступ к Redis только с определенных ip?

    YarkoDzech
    @YarkoDzech Автор вопроса
    будучи трезвым, сдержи все свои пьяные обещания!
    С какой-то там версии 3.2.х bind нескольких ip в конфиге не позволяет стартануть серверу.

    Поэтому вариант такой:

    1. В /redis.conf меняем
    bind 0.0.0.0 //открываем доступ к базе из вне
    *опционально меням порт против типо этого zmap -p6379 -o omg.txt
    очень рекомендовано прописать:
    requirepass nl6Cq8mthJrrXbqlDqLaPgtFkeq12zqB7Sb5j5UJ
    ну и очень рекомендовано отключить управление конфигом с командной строки:
    rename-command CONFIG ""

    После рестарта сервера, он по ip и порту должен смотреть наружу:
    redis-cli -h ваш_ip -p ваш_порт

    2. Прописываем правила для iptables
    Важно! Все правила идут в строгом порядке, поэтому желательно обнулить все правила, перезаписать файл с листом начисто. И пройтись заново и в том месте, где открываются порты 80, для SSH и ряд других прописать:

    iptables -A INPUT -p tcp -s y.y.y.y --dport хххх -j ACCEPT доступ с y.y.y.y ip на такой то порт

    повторяем правило для ip всех микросервисов что будут стучаться к redis
    открываем локальный интерфейс:

    iptables -A INPUT -i lo -j ACCEPT

    последним блокируем всё что не описано правилами и открываем исходящие пакеты:

    После этого можно заблокировать все остальное и разрешить все исходящие соединения.

    iptables -P OUTPUT ACCEPT
    iptables -P INPUT DROP

    После перезагрузки iptables и если всё правильно настроено порт должен быть только для нужных нам ip. А если следовать всем инструкциям, то даже если пакет и пролетит фаервол, он упрется в авторизацию и не сможет с командной строки сгенерировать ключ доступа к серверу.

    P.S Если всё пошло не так, обнуляется iptables так:
    iptables -F
    Ответ написан
    Комментировать
  • Пара вопросов об SPA?

    YarkoDzech
    @YarkoDzech
    будучи трезвым, сдержи все свои пьяные обещания!
    1. В vue пока нет стандарта паттернов, но если по уму, то у приложения всегда должен быть один главный компонент. Компонентный подход ввобще очень гибкий и удобный. Для разных страниц (компонент) используйте роутер.
    Для состояния есть vuex или тот же хайповый redux

    2. Не совсем понятно кто что и кому отдает. У вас статику с сервера отдает ларка? Начиная с 2.3.3 прямо с коробки начал работать ssr (сервер сайд рендеринг), но там аккуратней присутствуют не все хуки жизненного цикла.
    Ответ написан
    Комментировать
  • А есть плагин автокомплита для кода в Sublime3 как у VisualStudio?

    YarkoDzech
    @YarkoDzech Автор вопроса
    будучи трезвым, сдержи все свои пьяные обещания!
    Ну такое (ц).. себе решение, но как вариант пойдет

    Ставим codeIntel и JavaScriptNext - ES6 Syntax
    В Preferences->Package Settings-> SublimeCodeIntel в User или Defolt дописываем

    "codeintel_syntax_map":
        {
           "Python Django": "Python",
           "JavaScriptNext": "JavaScript",
        },


    98f6d65162f9438baaad5a4ca17eec26.jpg

    И даже на стандартных объектах начал что-то выхватывать:

    49a92007c8834d6b9dd25c7802b81a82.jpg
    Ответ написан
    Комментировать
  • Как в inversify JS без typescript на ES6 получить уже созданный инстанс объекта?

    YarkoDzech
    @YarkoDzech Автор вопроса
    будучи трезвым, сдержи все свои пьяные обещания!
    Разобрался
    container.bind(TYPES.Ninja).to(Ninja).inSingletonScope()
    Ответ написан
    Комментировать

Лучшие вопросы пользователя

Все вопросы (22)