Задать вопрос
  • Как в config nginx в секции location по регулярке проверить существование папки?

    @dodo512
    В $uri будет весь путь /dir/1, а в try_files нужно передать только часть /dir/.
    Для этого в шаблоне ставим (/[a-z-]+/) и в $1 получаем нужное значение.
    После try_files если папка существует работает index и там в конце списка может стоять файл с абсолютным путём.
    location ~ "^(/[a-z-]+/)(1\d|[1-9])$" {
        index /category.php;
        try_files $1/ =404;
    }
    Ответ написан
    1 комментарий
  • За счет чего происходит ускорение программ при наличии модуля ядра linux?

    ValdikSS
    @ValdikSS
    Модуль TUN/TAP, через которые работают все не-ядерные VPN, очень медленный из-за того, что у него есть только интерфейс получения и отправки пакетов по одному пакету за вызов. Большое количество переключений контекста между ядром и пользовательским уровнем очень затратны, что влечёт за собой неэффективное использование процессорного времени.

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

    Оценить ускорение от уменьшения переключений контекста довольно просто, достаточно провести тестирование со значительно увеличенным MTU пакета. Вот какие цифры приводит проект slirp4netns.

    Implementation |  MTU=1500  |  MTU=4000  |  MTU=16384  |  MTU=65520
    ---------------|------------|------------|-------------|------------
    slirp4netns    | 1.07 Gbps  | 2.78 Gbps  |  4.55 Gbps  |  9.21 Gbps
    Ответ написан
    4 комментария
  • Как развернуть 2 сайта с разными портами в apache на centos 7?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    А в SELinux вы нестандартный порт разрешили?
    semanage port -a -t http_port_t -p tcp 8081
    Ответ написан
    4 комментария
  • Windows server для декстопа?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Не стоит. Я гонял 5это у себя на протяжении 5-8 лет.
    Единственно что хорошо это дедупликация данных, очень вставляет при наличии кучи виртуалок с одинаковой осью. Хотя можно делать и диски на основе, но тут все автоматом. А так разницы в общем то никакой, плюс не все плюшки из консюмерской ос тянут в серверную
    Ответ написан
    Комментировать
  • Windows server для декстопа?

    @Drno
    Нет
    Устанавливай вин10 ltsc
    Ответ написан
    6 комментариев
  • Как пользоваться iptables?

    hint000
    @hint000
    у админа три руки
    почему моя настройка неправильна и не соответствует тз ?
    Потому что в первом правиле вы разрешаете NEW, независимо от портов, так что второе и третье правила становятся бесполезны, и без них уже открыты все порты. Уберите NEW в первом правиле.

    а также позволял устанавливать исходящие соединения
    А в последнем правиле лучше бы вообще убрать -m conntrack --ctstate NEW,ESTABLISHED,RELATED.
    Ответ написан
    1 комментарий
  • Почему система продолжает работать после выполнения команды?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Почему при выполнение данной команды ОС продолжает работать до момента перезагрузки?

    Я бы не сказал, что она "продолжает работать", но у нас, видимо, разные определения понятия "работать". Никакие новые исполняемые файлы в такой системе не могут быть запущены, потому что никаких файлов нет, а запущенные процессы -- да, могут продолжать выполняться и форкаться, пока им от файловой системы не нужны операции использующие имена файлов.
    Ну и, справедливости ради, надо отметить, что место занятое открытыми на момент выполнения команды rm -rf / файлами не будет освобождено и их содержимое не будет потеряно, пока они не будут закрыты. Можно будет продолжать читать и писать в них, в т.ч. ядро будет продолжать использовать их для реализации механизмов виртуальной памяти.
    Ответ написан
    Комментировать
  • Какой SSD быстрее: SATA 3 или M.2 NVME?

    xez
    @xez
    TL Junior Roo
    Там в характеристиках же написано.
    Обычно «M2 с поддержкой NVMe» быстрее.
    Впрочем, я предлагаю сравнивать конкретные модели.
    Ответ написан
    Комментировать
  • Как вытащить нужные данные из файла?

    Hivemaster
    @Hivemaster
    Админ, который хочет программировать
    Если прям в текущем виде, то придётся вычленять нужные данные строковыми операциями или регулярными выражениями. Если бы данный были корректным json, можно было бы десериализовать их в словарь.
    Ответ написан
    3 комментария
  • Почему Doom портируют куда только можно?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Doom - это была одна из первых игр где была реализована в полной мере техника BSP (Binary-Space-Partition). Это позволяло в реальном времени очень быстро сортировать и рендерить полигоны без привлечения Z-Buffer. (Рендеринг был чисто прогарммный. На то время еще не было ускорителей 3Д графики и видеокарточка умела только отображать память на экран. ) Игра не была по настоящему трехмерной. А только рализовывала 1 этаж. Рендерить надо было только пол и потолок. Для каждой точки где стоял персонаж. И наклонных горизонтальных поверхностей в ней не было как раз по этой причине. Ее называли 2.5-мерной игрой. Было также много идей оптимизации вычислений. Например вместо вещественных чисел - целые 32х битные с fixed point.

    В скобках замечу что это был 1993 год и на дворе было царство Intel 286/386. Это были машины с тактовой частотой меньше ваших телефонов (Pentium только только релизнулся и еще ни у кого не был). И трехмерный Doom был прорывом. На моем тогда еще 386SX от подтормаживал но играть было можно. И со звуком для SoundBlaster. И конечно это было лучше чем Wolfenstein.

    Аналогичное было реализовано в Duke Nukem 3d. Но Дюк был менее популярен ИМХО. Были и масса других 3д игр в жанке RPG но они были не такие динамичные. Походовые в основном.

    Вобщем сегодня если вы гейм-дев то вам желательно хотя-бы ознакомиться с техниками оптимизации которые были в Doom. Можно почитать и про Quake но это просто развитие идеи BSP деревьев для полного 3D с 5 или 6 степенями свободы. Еще можно почитать про реализацию игры Esctatica. Там не на полигонах а на шариках или эллипсах реализована игровая графика. Тоже интересно.

    UPD: Заменил MMORPG на RPG.
    Ответ написан
    6 комментариев
  • Почему Doom портируют куда только можно?

    GavriKos
    @GavriKos Куратор тега Разработка игр
    Ну во первых на половину устройств его не портировали. На том же тесте на беременность его просто показали - т.е. экран теста использовался, а вычисления шли на обычном компе.
    Если еще чуть глубже погуглите - то есть статьи и про архитектуру дума. Да, там очень много интересных решений. Но по факту можно так же портировать и квейк, и вольфенштейна, и мб даже халфу с софтверным рендером. Просто дум стал в этом плане красной тряпкой для быка. Не знаю, как фраза "съешь еще этих булочек", как фото девушки для обработки изображений и т.д.
    Ответ написан
    Комментировать
  • Почему Doom портируют куда только можно?

    NeiroNx
    @NeiroNx
    Программист
    Вопрос скорее философский.
    Ответ: скорее потому что разработчик открыл исходные коды и сделал их общественным достоянием, потому что известный.
    Можно также спросить почему везде Энштейна рисуют, ведь полно других ученых.
    Ответ написан
    Комментировать
  • Какие файлы считаются небезопасными для загрузки на сервер?

    @tukreb
    Все файлы небезопасны. Можно загрузить картинку, в которой будет исполеяемый код.
    Вы должны настроить сервер (nginx/apache) так, чтобы в папке где будут загруженны клиентами файлы, в принципе нельзя было исполнять НИКАКИЕ файлы.
    Ответ написан
    Комментировать
  • Используется ли вся оперативная память?

    ZERGeich
    @ZERGeich
    Есть. Так называемые PAE патчи. Или использование серверных версий ОС, где данный лимит не действует. Правда на один процесс всё-равно ограничение 4Гб останется. Адресацию памяти 32 битную не изменишь.
    Ответ написан
    Комментировать
  • Что должен знать Middle+ разработчик Go?

    opium
    @opium
    Просто люблю качественно работать
    так ты ж мидл мы у тебя должны спрашивать
    Ответ написан
    Комментировать
  • Почему ответа нет, а уведомление на e-mail пришло?

    ma4akk
    @ma4akk
    Немного неправильно понял вопрос, решил удалить ответ
    Ответ написан
    Комментировать
  • Как организовать деплой с GitHub?

    MvcBox
    @MvcBox
    Software Engineer [C/C++/JS(for Node.js)/etc]
    Если очень очень кратко, то:

    1. Идете на https://github.com/username/repo_name/settings/keys , жмете "Add deploy key"
    Добавляете публичный ключ своего сервера, на который собираетесь деплоить (его можно посмотреть выполнив на сервере что-то типа: cat ~/.ssh/id_rsa.pub )

    2. Идете в директорию с проектами на своем сервере и выполняете:
    git clone git@github.com:username/repo_name.git

    3. Идете на https://github.com/username/repo_name/settings/hoo... и создаете свой хук, который будет дергаться при коммитах

    P. S.
    "username" и "repo_name" заменить на свои
    Ответ написан
    Комментировать
  • Как починить отправку через smtp.mail.ru?

    @AlienLies
    535 5.7.0 NEOBHODIM parol prilozheniya


    Как бы говорит само за себя.
    Идём в почту, открываем настройки, Все настройки, Безопасность, Пароли для внешних приложений.
    Генерируем себе пароль. Вводим в клиент.
    Ответ написан
    1 комментарий
  • Как починить отправку через smtp.mail.ru?

    Keffer
    @Keffer
    ICANN
    однако интерфейс biz.mail.ru не позволяет создавать таких паролей (можно создать только для личного аккаунта - такой пароль тоже не работает).

    Вы просто не умеете создавать) Все работает. В случае почты для домена, нужно каждому юзеру загрузить новый пароль, по инструкции https://help.mail.ru/biz/domain/users-contacts/users Раздел Массовое добавление пользователей. Нужно руками создавать CSV файл и загружать в веб морде, там где Пользователи.
    Ответ написан
  • Как сделать права -rw-rw-r--?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    chmod 664 .ignore_locales
    Ответ написан
    Комментировать