• Как решить проблемы с производительностью массива RAID5?

    CityCat4
    @CityCat4
    //COPY01 EXEC PGM=IEBGENER
    RAID5 на трех дисках - это издевательство над дисками :) Добавить еще один диск в массив (если позволяет контроллер), добавить еще хотспарник - использовать RAID5/6 без хотспарника - это самоубийство :) Если есть возможность, заменить диски поочередно и проверить их викторией или хотя бы smart посмотреть.
    Ответ написан
    1 комментарий
  • Как решить проблемы с производительностью массива RAID5?

    opium
    @opium
    Просто люблю качественно работать
    Использовать софтовый рейд, проверить качество жизни дисков
    Ответ написан
  • Блок питания выключается через время, как исправить?

    Ezhyg
    @Ezhyg
    БП уходит в защиту или не может запуститься и... ну тоже в общем в защиту уходит. Возможная и частая причина - выход из строя электролитических конденсаторов - замена решает проблему полностью.
    На проблему ШИМ-контроллера не похоже по симптомам.
    Ответ написан
    Комментировать
  • Где может пригодиться физика программисту?

    @CHolfield
    Вы что, миллениал чтоли прости Г-споди? Геймдев, робототехника... Жизнь не ограничивается ИТ. Фундаментальные науки это как бы законы природы в нашей части вселенной, что значит "где физика может пригодиться?"? Вы меня шокируете)
    Ответ написан
    4 комментария
  • Как перевернуть рандомный массив в СИ?

    myjcom
    @myjcom
    Из того в чем вопрос и что написано непонятно что вы хотите.

    если у вас 2 массива просто скопируйте один в другой в обратном порядке.

    если у вас один массив то можно написать функцию reverse(first, last) и свопнуть элементы.

    в обоих случаях один цикл.

    Code
    #include <stdio.h>
    #include <stdlib.h>
    
    void swap(int* a, int* b)
    {
        int c = *a;
        *a = *b;
        *b = c;
    }
    
    void reverse(int* first, int* last)
    {
        while((first != last) && (first != --last))
        {
            swap(first++, last);
        }
    }
    
    int* reverse_copy(int* first, int size)
    {
        int* result = (int*)malloc(size * sizeof(int));
        for(int i = 0; i < size; ++i)
        {
            result[i] = first[size - i - 1];
        }
        return result;
    }
    
    int main()
    {
        int a[] = {0,1,2,3,4,5,6,7,8,9};
        reverse(a, &a[10]);
        for(int i = 0; i < 10; ++i)
        {
            printf("%d ", a[i]);
        }
    
        printf("\n");
    
        int* b = reverse_copy(a, 10);
    
        for(int i = 0; i < 10; ++i)
        {
            printf("%d ", b[i]);
        }
        free(b);
    }

    OUT:
    9 8 7 6 5 4 3 2 1 0
    0 1 2 3 4 5 6 7 8 9

    Ответ написан
    Комментировать
  • Что быстрее, простой поиск или сортировка + поиск?

    GavriKos
    @GavriKos
    Сложность простого поиска -n
    Сложность бинарного поиска - Log(n)
    А вот скорость быстрой сортировки неконстантна, и в худшем случае составляет n^2.

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

    Обосновывается это все математикой и ничем другим.
    Ответ написан
    Комментировать
  • Зачем нужен RDP, VNC и вообще разнообразие протоколов?

    @rPman
    Не зачем а почему. Полагаю главная причина - политика монополизации рынка Microsoft, которая на любой чих вместо использования существующих стандартов, изобретает ни с чем не совместимый свой, чтобы добавить как минимум лицензионные ограничения, а так же чтобы среда в организациях была не смешанная (т.е. было сложно одновременно использовать не microsoft решения).
    А еще по умолчанию почти любой инструмент удаленного управления требует особой настройки сети и фаервола (либо работает без проблем только в локальной сети).

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

    Существует еще xwinows протокол, используемый xserver в linux (есть реализации под windows но с ними будут работать приложения заточенные только под его использования, т.е. пришедшие из linux/unix). Это даже не протокол для удаленного подключения, а штатная работа самой системы вывода изображения на экран мониторов - она изначально предполагает работу по сети, даже если работает локально, подключение идет через сокеты. Жутко не эффективный протокол, не умеет подстраиваться под сетевой канал и т.п. например его открытие - понижение уровня безопасности, злоумышленник может навредить или даже проникнуть на сервер (до недавних пор сам сервис xserver даже работал по root со всеми вытекающими от сюда рисками). Благодаря особенности работы, его в т.ч. используют для запуска даже отдельных приложений под разными логинами, подключившись к терминалу удаленно (тот же ssh), мало того возможны обратное направление - вы подключаетесь к серверу и перенаправляете порты своего локального пользовательского xserver на сервер в открытую сессию, и запущенные серверные приложения отображаются у вас (только в пределах вашего нового подключения).

    Поверх xvindow под linux есть протоколы, от почившей NX nomachine и открытый x2go, на порядок уменьшающие требования к сети и терминалу,позволяющие удаленно работать с linux машинами, на мой взгляд наилучшие для слабых сетевых каналов.

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

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

    teamviewer и тот же anydesk - это комбайны, которые содержат в себе не только удаленное управление но и голосовой и не только чат, vpn, передачу файлов и главное - сервис-прокси для подключения между клиентами без необходимости настройки того же фаервола, т.е. содержат инструменты обхода NAT. Это главная причина популяризации этих утилит - удобная работа, которая не вынуждает клиентов что то где то настраивать (что обычно очень сложно или даже невозможно).
    Будьте осторожны, открывая доступ к машине, вы даете полный доступ разработчикам/администраторам этих решений к вашим машинам. У teamviewer была даже проблема, то ли используя ее уязвимость, толи пароли угадывали, информации было мало, злоумышленники подключались к машинам, выводили деньги из paypal и криптовалюты (обычно у людей локально пароли сохранены). Понятно что возможно это не проблема протокола, но это очередные открытые двери к вашей машине, ключ к которым тоже нужно охранять.
    Ответ написан
    2 комментария
  • Зачем нужен RDP, VNC и вообще разнообразие протоколов?

    DMGarikk
    @DMGarikk
    Lead Software Developer
    зачем? потому что они создавались по этому принципу: https://xkcd.ru/927/
    ==
    http не позволяет в полной мере обеспечить функционал требуемый программами этого класса хотябы потому что http изначально не умел держать постоянно открытое соединение
    Ответ написан
    Комментировать
  • Зачем нужен RDP, VNC и вообще разнообразие протоколов?

    @stratosmi
    Во первых:
    RDP != VNC, TeamViewer - так как RDP работает в отдельной сессии.
    На одном сервере может быть несколько подключений под RDP, они не видят экранов друг друга, их клавишы/мышь передаются независимо, у каждого в свою сессию.

    Во вторых:
    http передавать, например команды, нажатые клавиши и т.д. через JSON, картинки типа рабочий стол в png/jpg. Зачем для этого использовать отдельный протокол?

    http - протокол нижнего уровня.
    Если вы поверх него каким то образом собираетесь передавать клавишы и пр. - вам нужно будет придумать поверх http свой протокол

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

    В четвертых:
    http не очень хорош как протокол оперативного двустороннего обмена (что и вызвало появление WebSocket).

    В пятых:
    Team Viewer - http

    Это не так

    В шестых:
    Зачем они используют разные протоколы?

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

    Но, к примеру, тот же VNC (это единственных из трех вами упомянутых TeamViewer, VNC, RDP - открытый протокол) - используется в разном софте. Например, в локально запущенных виртуальных машинах для подключения к консоли или у хостеров для подключения к "локальной" консоли сервера клиента.

    А вообще:
    5c2c67f613da8346430356.jpeg
    Ответ написан
    Комментировать
  • Нужно ли сокращать код?

    devalone
    @devalone
    ̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻
    Конечно нужно, копипаста это всегда плохо, можно ошибиться при рефакторинге, добавлении новых флагов и изменении общей логики.
    Ответ написан
    Комментировать
  • Как предложить деньги за ответ на вопрос на toster.ru?

    0xD34F
    @0xD34F
    Ответ написан
    Комментировать
  • Нужен легкий калькулятор на Windows?

    Stalker_RED
    @Stalker_RED
    Встроенный calc.exe чем не устраивает?
    Ответ написан
    2 комментария
  • Как найти все целочисленные точки отрезка?

    DanielDemidko
    @DanielDemidko Автор вопроса
    Программист
    Алгоритм Брезенхема?
    Ответ написан
    1 комментарий
  • Книги по основам программирования/по сути программирования?

    ubernoob
    @ubernoob
    Энциклопедия профессора Фортрана хорошая книга
    Ответ написан
    Комментировать
  • Почему в Visual Studio этот код работает, а в Code::Blocks нет?

    Включаю режим экстрасенса. Потому что std::to_string появился в C++11, а у вас в Code::Blocks используется gcc без -std=c++11. Но лучше напишите, какие у вас сообщения об ошибках.
    Ответ написан
    Комментировать
  • Почему в Visual Studio этот код работает, а в Code::Blocks нет?

    GavriKos
    @GavriKos
    Во первых. "Не работает" обычно сопровождается какой то ошибкой. И ее надо прикладывать к вопросу.

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

    jamakasi666
    @jamakasi666 Куратор тега Linux
    Просто IT'шник.
    Безопасное извлечение(отмонтирование) придумали для слабаков.
    Сильно вероятно что файлы не успели еще физически записаться на диск т.к. запись идет кэшированно. Т.е. перед тем как вытащить флешку нужно было дать команду sync или отмонтировать диск(при отмонтировании тоже происходит sync ). Можете попробовать конечно востановить файлы но я думаю что шансов достаточно мало.
    Ответ написан
    2 комментария
  • Почему if в массиве работает не так как нужно?

    @Wexter
    if(a[i]=b[i])

    Вы либо присваивайте, либо сравнивайте
    Ответ написан
    3 комментария