• Как сделать аутентификацию по номеру телефона?

    @C0uchP0tat0
    Скорее всего уже не актуально, но напишу ответ на всякий случай, возможно кому-то будет полезно. Я использую библиотеку drfpasswordless. Она предлагает использовать twilio для СМС рассылки по API, но вы можете написать свою функцию для отправки СМС используя любого провайдера, который Вам нравится и подключить к библиотеке с помощью:
    # configurable function for sending sms
        'PASSWORDLESS_SMS_CALLBACK': 'drfpasswordless.utils.send_sms_with_callback_token',

    А так же подключить свою функцию выпуска токена авторизации:
    'PASSWORDLESS_AUTH_TOKEN_CREATOR': 'drfpasswordless.utils.create_authentication_token',

    А если вам очень хочется кастомизировать сообщения DRF или добавить какую то свою логику авторизации, то вы всегда можете написать свои views, а приложение использовать исключительно для создания шестизначных токенов, отправляемых по СМС и их подтверждения на стороне сервера.
    Ответ написан
    1 комментарий
  • Как сделать автоматические подключение к впн openvpn?

    @servicebro
    Открой
    /lib/systemd/system/openvpn.service


    Измени ExecStart= на
    ExecStart=/usr/sbin/openvpn --config /путь/к_конфигу_сервера --daemon ovpn-server

    потом systemctl daemon-reload и service openvpn restart
    Ответ написан
    1 комментарий
  • Как узнать сколько виртуальных машин можно поднять?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Системы виртуализации умеют не только выделять каждой машине по процессору, но и разделять процессорное время на разные виртуалки. Если виртуалки бездельничают, процессор не нагружают - то можно хоть 10 машин на одном ядре с 2-мя потоками нагородить, и будет справляться. Медленно, но справляться. По моему так.
    Ответ написан
    Комментировать
  • Как узнать сколько виртуальных машин можно поднять?

    @Drno
    Зависит от нагрузки на конечные виртуалки. Если допустить чтотони на 100% грузят ядро, тогда 16шт, исходя из потоков
    Ответ написан
    Комментировать
  • Как узнать сколько виртуальных машин можно поднять?

    @rPman
    Несколько виртуальных машин могут работать хоть на одном процессоре, просто медленнее. Само собой обычно процессоры виртуальных машин простаивают, поэтому до некоторой степени такое уплотнение даже не будет заметно.

    Этим во всю пользуются реселеры VDS, продавая за очень дешево виртуальные машины, скорость работы которых никак не гарантируется, т.е. внезапно могут появиться просадки по любым ресурсам, не только процессор, но и работа с памятью (потому что в своп хоста ушло, память тоже оверселят), сетью (когда один канал делят 100500 виртуальных машин - это грустно), диском (тем более молчу) и даже администрирования (когда начинаются проблемы, саппорт может не ожидать что к нему начнут обращаться одновременно все его 100500 клиентов)

    p.s. есть предел, после которого невозможно запустить больше определенного количества виртуальных машин на одно ядро процессора или даже на весь процессор (предельные значения будут разные), вытекающее из маленького размера кеша процессора. Один гипервизор на каждую машину использует некоторое количество оперативной памяти, которая почти всегда будет находиться в кеше процессора, но как только количество этой памяти помноженное на количество запущенных виртуальных машины даже без нагрузки превысит возможности процессора, скорость работы упадет в десятки раз

    Советую провести эксперимент с использованием kvm и kolibrios.org например на 12-ядерном 12-gen интеле, сотня экземпляров работает без проблем но с постоянной нагрузкой в 900% (все виртуалки тупо показывают рабочий стол и там ничего не происходит)
    Ответ написан
    Комментировать
  • Как правильно собрать и поставить свой сервер?

    CityCat4
    @CityCat4
    Внимание! Изменился адрес почты!
    Наймите интергратора. Который и спеку на сервер посчитает, и договорится и стойку поставит и питание продумает, и про бэкапы не забудет (вот Вы про них явно забыли).

    Когда в вопросе имеют место быть деньги - не стоит доверять Васянам с улицы - они, если что, ответственности не понесут.

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

    @rPman
    Как верно подметил GavriKos, сначала нужно определиться с целями.

    Необходимо определить допустимую вероятность и максимальную длительность остановки работы... наверное это самые важные параметры. Обычно бизнес их может определить через стоимость потерь.

    Имея на руках эти суммы можно смотреть у интеграторов готовые конфигурации и сравнивать, стоит ли надежность ниже расходов на потенциальные потери.

    Сервер - понятие в первую очередь философское, и только во вторую очередь материальное (существуют буквально железо и софт, которое производитель позиционирует для серверных задач и поэтому называет "сервер")

    "Сервером" может быть простая десктопная железка собранная из говна и палок, если надежность ее работы не высокая а денег мало (т.е. вероятность выхода из строя ниже требований). Ну и что, если частота выхода из строя итогового решения будет раз в месяц а время восстановления работы - пара рабочих дней, если бизнесу это подходит (обычно мелкому), почему нет.

    Бесперебойник нужен в том случае если вероятность разрывов по электропитанию выше выставляемых требований.
    А еще может понадобиться резеврный сетевой канал, если в требованиях стоит бесперебойное подключение.

    Стойка (и не только) нужна не только для удобства монтажа и обслуживания (чтобы уборщица баба маня шваброй стоящий на полу системник не уронила) но и чтобы интегратор мог гарантировать что указанные в его спеках SLA соответствуют действительности.

    p.s. виртуализация - это не цели, это способ их достижения
    думай бизнес целями
    Ответ написан
    Комментировать
  • Как подключится к MACOS по RDP?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Проще всего купить KVM свитч. Лично я так и не нашел адекватного программного решения для удобной работы Mac + Win в обычном 4К, а уж про несколько мониторов можно даже не вспоминать. Либо работаешь в винде, а мак юзаешь по SSH, либо работаешь в маке, а винду юзаешь через MS RDP для простых приложений (ютюб, например так не посмотреть - тормозит все равно) и SSH иногда.
    Ответ написан
    3 комментария
  • Как сохранять параметры команды IP ROUTE после ребута сервера?

    hint000
    @hint000
    у админа три руки
    Создайте файл /etc/rc.local (если нет такого) и внесите туда эти команды. Они будут выполняться после загрузки.
    Если файл уже есть, то добавьте строки в конец файла.

    Если сеть настроена через netplan, то можно добавить маршруты в конфигурацию netplan.
    network:
        ethernets:
            enp0s3:
                ...
                routes:
                - to: 192.168.0.234
                  via: 192.168.1.1
                - to: default
                  via: 192.168.0.1
    https://linuxconfig.org/how-to-add-static-route-wi...
    Ответ написан
    5 комментариев
  • Есть ли библа/плагин JS для формирования из таблицы excel?

    @denisromanenko
    Sheetjs
    Ответ написан
    Комментировать
  • Как из строки вытянуть дату?

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

    Stalker_RED
    @Stalker_RED
    Понятный простой костыль:
    1. убрать лишнее "от"
    2. разделить строку по "до"
    3. распарсить даты

    $input = 'от 03-09-2021 до 13-10-2021';
    list($from, $to) = array_map('strtotime', explode(' до ', trim($input, ' от')));
    
    // test output
    echo date('Y-m-d', $from) . "\t" . date('Y-m-d', $to);


    Но лучше разобраться как работают регулярки (это многократно окупится), и применить решение 0xD34F.
    Ответ написан
    1 комментарий
  • Как из разных таблиц на странице сделать эксель и скачать по кнопке?

    @psycho-coder
    Eternal student
    Для PhpExcel надо вывод файла направить в поток
    $objPHPExcel->outputHeader("Excel");
    
    $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
    $objWriter->save('php://output');
    exit;
    Ответ написан
    Комментировать
  • Nginx, как правильно поставить ограничение на виртуальный хост?

    SignFinder
    @SignFinder
    Wintel\Unix Engineer\DevOps
    Можно.
    nginx позволяет в блоках своей конфигурации передавать параметры php через fastcgi_param.
    Например:
    fastcgi_param PHP_VALUE "memory_limit = 256M";
    fastcgi_param PHP_VALUE "max_execution_time = 60";
    Ответ написан
    Комментировать
  • Nginx, как правильно поставить ограничение на виртуальный хост?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Действует на сервер, сайт или локайшен
    client_max_body_size 100M;

    Время выполнения.
    fastcgi_read_timeout 300;

    nginx.org/ru/docs/http/ngx_http_fastcgi_module.html#

    https://www.nginx.com/resources/wiki/start/topics/... А вот тут показано как можно настроить экземпляр для конкретного хоста. Сможете подсунуть как бинарник так и конфиг.
    Ответ написан
    Комментировать
  • Есть ли особая разница при выборе дистрибутива для ВЕБА?

    CityCat4
    @CityCat4
    Внимание! Изменился адрес почты!
    Сидел на бубунте - что мешает сидеть дальше? Центос сейчас ставить смысла не имеет - он готовится уйти в небо...
    Ответ написан
    Комментировать
  • Есть ли особая разница при выборе дистрибутива для ВЕБА?

    mmmaaak
    @mmmaaak
    Судя по вопросу, разницы нет.
    Ответ написан
    Комментировать
  • Как при адаптации отпустить текст вниз?

    Ankhena
    @Ankhena Куратор тега CSS
    Нежно люблю верстку
    Сменить display на block по крайней мере для td.

    td {
      display: block;
    }
    @media (min-width: 768px) {
      td {
        display: initial;
      }
    }
    Ответ написан
    4 комментария
  • Как к коду на ограничение символов добавить ограничение пробела?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    У вас пробел уже вписан в RegExp, но этот RegExp имеет обратное действие. Поэтому должно быть так:
    var res = "/[^а-яА-ЯїЇєЄіІёЁ]/g";
    that.value = that.value.replace(res, '');
    Ответ написан
    1 комментарий
  • Как к коду на ограничение символов добавить ограничение пробела?

    DevMan
    @DevMan
    так удалите пробел из регулярки (последний символ перед скобкой).
    [^а-яА-ЯїЇєЄіІёЁ]
    Ответ написан
    1 комментарий