• При чтении файла в java программа компилируется, но результата нет, что делать?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Вот почему, ну почему, на любых курсах по программированию, не важно ява или какой другой язык, не учат пользоваться отладчиком, или хотя-бы принты расставлять во все места?!
    Господа и господицы, тичеры, тичерицы, коучеры, коучерицы - ну обучайте же в самую первую очередь на примере "Хелл программинг уорльд" отлаживать свои поделия всеми возможными способами.
    С явой отдельный разговор, в ней отладчик в каждой ИДЕ торчит немым укором, и кнопочка рядом - только бреакпоинт воткнуть.
    Ответ написан
    1 комментарий
  • Почему некорректно считается req_limit?

    ky0
    @ky0 Куратор тега Nginx
    Миллиардер, филантроп, патологический лгун
    Давайте разберём самое начало процесса, когда запускается ab и в нгинкс примерно одновременно начинают лететь 80 запросов. Счётчики в этот момент по нулям, но выставлен лимит в 1000 rps, то есть запросы могут обрабатываться не чаще, чем раз в 1 мсек.

    По факту, внутрь провалятся ровно 1+10=11 запросов, а остальные 80-11=69 отобьются с 503 кодом - это даже больше 62%.

    В дальнейшем, поскольку запросы постепенно размажутся во времени, перестав приходить синхронно, процент отлупов снизится, но отнюдь не до ожидаемых вами (1026-1000)/1000*100%, потому что время от времени (и скорее часто, чем редко) запросы всё-таки будут приходить чаще, чем раз в 1 мсек (бурст в 10 rps можно не учитывать, он по сравнению с лимитом микроскопический) - на это намекает среднее время исполнения 0.974 мсек, делёное на 80 потоков.

    Попробуйте увеличить бурст, скажем, до 500-1000 и посмотреть, как это отразится на результатах.
    Ответ написан
    9 комментариев
  • Шумит ужасно кулер, в чём причина?

    @Drno
    Или задевает что то
    Или сдох подшипник
    Ответ написан
    8 комментариев
  • Почему не срабатывает условие в коде Python?

    SoreMix
    @SoreMix Куратор тега Python
    yellow
    Вначале цикла сбрасываются же все переменные, которые вы изменили.
    while True:
        min_depth = 0
        max_depth = 4.0

    Вытащите за цикл эти две
    Ответ написан
    1 комментарий
  • Как погрепать вывод версии nginx?

    paran0id
    @paran0id
    Умный, но ленивый
    nginx -V 2>&1 | grep compat

    Дело в том, что nginx вываливает версию в stderr.
    https://trac.nginx.org/nginx/ticket/592
    Ответ написан
    2 комментария
  • Почему выходит синтаксическая ошибка в команде?

    @res2001
    Developer, ex-admin
    Напишите команду start сразу после do.
    Или можно завернуть start в круглые скобки. Открывающая круглая скобка должна быть после do в той же строке.
    Т.е. for вместе с телом цикла - это одна команда для cmd и она должна быть на одной строке. Круглые скобки позволяют обойти это ограничение.
    Ответ написан
    2 комментария
  • Что не так с компиляцией в linux?

    kotomyava
    @kotomyava
    Системный администратор
    Надо использовать g++ или gcc -lstdc++.

    Но комп в окно, тоже богатая идея. =)

    P.S. Также в chmod не нужен ключик -R, да и 777 излишне, u+x достаточно.
    Ответ написан
    5 комментариев
  • Почему внезапно не работает IF?

    xez
    @xez Куратор тега Java
    TL Junior Roo
    Потому что у вас для каждого элемента из tab прогоняется вся логика приложения.
    Должно быть как-то так:
    int dice;
            int[] tab = new int[3];
            boolean gameOver = false;
    
    
            System.out.println("\n\t -= SNAIL RUN =- ");
    
            while (!gameOver) {
                System.out.println("\n");
                for (int i = 0; i < tab.length; i++) {
    
                    // Generating random numbers
                    dice = ThreadLocalRandom.current().nextInt(1, 6 + 1);
                    tab[i] += dice;
    
                    if (tab[i] > 50) {
                        gameOver = true;
                    }
    
                    System.out.print("Dice" + (i + 1) + "=" + dice + " | ");
                }
    
                System.out.println("\n");
                for (int i = 0; i < tab.length; i++) {
                    System.out.print(tab[i] + " | ");
                }
    
                System.out.println("\n________________________________________________________________");
            }
    
            System.out.println("\nGAME OVER");
    Ответ написан
    1 комментарий
  • Агрегация сетевых каналов?

    gbg
    @gbg Куратор тега Компьютерные сети
    Любые ответы на любые вопросы
    Все правильно. Два гигабита между двумя конкретными хостами можно получить только при политике Round-Robin, (когда пакеты по очереди попададают то в один, то в другой сетевой интерфейс).

    Венда и циско это не поддерживают - только линукс и микротик.

    В остальных случаях, вы будете иметь ускорение для доступа от разных хостов (потому что при политике разделения по макам, которая является дефолтной, пакеты в интерфейсы будут попадать в зависимости от MAC)
    Ответ написан
    1 комментарий
  • Как задать вручную размер /dev/mapper/centos-root?

    ky0
    @ky0
    Миллиардер, филантроп, патологический лгун
    в интернете одни водолеи, ничего по сути

    Да, да - классика. В интернете катастрофический недостаток информации.

    Вполне возможно, что у вас всё колом встало от недостатка места. Попробуйте все те "бесполезные" советы из интернета, загрузившись с флешки.
    Ответ написан
    Комментировать
  • Как сделать многостраничный сайт без PHP/python/React?

    @alekcena
    Нелинейный наставник
    Эм.
    Ну да ) Каждая страничка HTML - Это 1 страничка.
    Многостраничный сайт - это (N>1)
    В чём вопрос?
    Ответ написан
    5 комментариев
  • Перенос файлов между серверами без моего участия?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    Отключаясь от сессии, вы посылаете своему шеллу и всем дочерним процессам (scp, rsync) сигнал SIGHUP.

    Есть несколько воркэраундов как этого избежать.

    1. Запускать процесс через nohup &
    2. Использовать менеджер сессий - screen или tmux
    3. Запустить процесс в фоне и заранее отвязать его от своего шелла ( &; disown )
    Ответ написан
    2 комментария
  • Самостоятельное согласование ядра и дистрибутива Linux?

    CityCat4
    @CityCat4
    Внимание! Изменился адрес почты!
    Если нельзя обновить ядро средствами бубунты - то как обычно - скачать исходники, собрать и поставить. Манов по самостоятельной сборке и установке ядра - хоть #опой жуй.
    Ответ написан
    Комментировать
  • Как запретить root'у нарушать квоты других пользователей?

    gbg
    @gbg Куратор тега Linux
    Любые ответы на любые вопросы
    Просто у меня программа из под рута

    Вот здесь ошибка. Сервисные программы должны сидеть под своими пользователями.

    Причина очень проста - root обладает неограниченными правами на все. Поэтому, если ваша программа криво написана, взломана (как следствие первого) и так далее, она может сломать все на своем пути.

    Поэтому, все сервисные программы сидят исключительно под своими персональными пользователями, а уже этим пользователям выдаются права на конкретные операции.
    Ответ написан
    1 комментарий
  • Как с помощью cron менять главную страницу сайта? каждый день новый html файл их 365?

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

    Есть в веб разработке понятие - статика. Исходит оно из того что отдавать не изменяющийся файл тупо быстрее/проще/эффективнее по ресурсам чем изменяющийся по какой то логике, и у веб серверов для этого есть отдельная настройка. Часть файлов веб сервера - статичны. И даже существуют веб сайты, которые полностью могут состоять из статичных файлов.

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

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

    Никто не мешает контент генерировать динамически и код стартовой страницы может выглядеть примерно так:
    <?php include date('d-m').'.html'; ?>где нужные страницы по дням лежат в файлах к примеру с именем вида 21-11.html

    можно попробовать совместить бонусы от статики, отдавая динамической страницей не саму страницу, а только редирект на ее статическое имя:
    <?php header('Location: http://www.example.com/'.date('d-m').'.html');?>
    тогда сразу в нужный момент времени при заходе на сайт будет автоматический редирект на нужную страницу, и при этом все будет быстро и красиво, но пользователям будет доступны страницы с предыдущих дней по их имени, и их придется как то скрывать, если это актуально (например средствами прав доступа или просто перемещая файлы в другой каталог отдельным скриптом, пусть и по крону)

    ну и вариант с кроном, когда файл index.html ежесуточно заменяется копией, команда в крон может быть примерно такой:
    cp /путь/до/исходных/файлов/`date +%m-%d`.html /путь/до/папки/веб/сервера/index.html
    Ответ написан
    5 комментариев
  • Что можно получить ещё с помощью ping?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    С помощью ping получают время отклика по ICMP
    А вот у вас вопрос к ping никакого отношения не имеет.

    Вы просто считываете файл в строку, потом добавляете туда дату и сохраняете файл.
    Что изначально находится в файле - знаете только вы.
    Ответ написан
    2 комментария
  • Существует ли граф на 9 вершинах, степени которых равны 1, 1, 1, 1, 1, 2, 4, 5, 6?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Теорема Эрдёша — Галлаи
    1. 8 ≥ 6 ≥ 5 ≥ 4 ≥ 2 ≥ 1 ≥ 1 ≥ 1 ≥ 1 ≥ 1
    2. 6 + 5 + 4 + 2 + 1 + 1 + 1 + 1 + 1 = 22
    Данная последовательность является правильной.
    k = 1, 6 ≤ (0 + 8), выполняется,
    k = 2, 11 ≤ (2 + 9), выполняется,
    k = 3, 15 ≤ (6 + 7), не выполняется.
    Значит данная последовательность не является графической, по ней нельзя построить простой граф.
    Ответ написан
    2 комментария
  • Каким образом микроконтроллер может отправлять данные на сервер?

    gbg
    @gbg
    Любые ответы на любые вопросы
    0) Терминология. Микроконтроллер - это как правило, микросхема и только микросхема. Которая содержит в себе оперативку, вычислительное ядро, некоторые периферийные устройства (например, wi-fi стек, как ESP8266).

    Вставить симку в микроконтроллер невозможно, потому что невозможно вставить симку в микросхему.
    Симку можно вставить в слот на плате контроллера, на которой могут быть расположены микроконтроллер, антенна wi-fi, преобразователь питания и другие блоки.

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

    В зависимости от этого, используют или HTTPS, как главный на сегодня протокол для безопасных коммуникаций в интернете, или MODBUS (в пределах локальной сети контроллеров со шлюзом в интернет), или свой велосипед.

    Использование в интернете каких-то протоколов, отличных от HTTP(S) сразу тащит за собой кучу проблем вида "а вот у меня провайдер режет порты".
    Использование HTTP влечет за собой проблемы вида "S in IoT stands for Secure". Ваш трафик сможет прослушивать и модифицировать любой желающий, а также встраивать в него рекламу.

    Вывод. Если ваш контроллер смотрит напрямую в Интернет, используйте HTTPS / WebSocket. Если через шлюз - используйте MODBUS.

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

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Очевидно необходимы навыки дизайнера, верстальщика, фронтендера, бэкендера, знание SQL, умение администрировать СУБД, http-сервер и операционную систему, под которой они работают, а также в целом глубокое понимание принципов функционирования Web.
    Ответ написан
    2 комментария