Задать вопрос
  • Почему компьютер не запускается с первого раза?

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

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

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    Ясно же, не долбить запросами гугл, отправлять запросы через рандомное время и с разных ip с разными настройками. А как иначе-то? Неужели вы полагаете, что против гугля есть специальный простой и надёжный приемчик, а гугль такой «ну ладно, это же тот самый приёмчик…»
    Ответ написан
    4 комментария
  • Почему не удаётся найти путь?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    Я бы советовал для начала переместить код в папку в корне диска C без русских букв в path.
    Ну и после этого я бы попытался просто открыть через with open(src_file, “rb”) - оно откроется?
    (Кстати, для работы с путями к файлам рекомендую pathlib2, очень удобная штука. Там и проверка есть на наличие файлов и папок, и конкатенация через /, всё такое).
    Ответ написан
  • Какой дистрибутив линукс хороший в плане безопасности?

    @HighMan
    Хм... Крайне холиварная тема.
    У Вас какие-то предпочтения есть? Есть опыт работы с каким-либо семейством Linux?
    Если нет, то: Ubuntu (Debian famaly)
    Если хотите вааще на пике новшеств, то Fedora 33 (RedHat family). Fedora 34 крайне не советую. Там по умолчанию Gnome 4, а он ещё недопилен.
    Хотя я и предпочитаю Fedora, но новичку посоветовал бы Ubuntu. Намного больше информации.
    В плане безопасности, рулит не дистрибутив, а пользователь. А ещё лучше - администратор :)
    Ответ написан
    2 комментария
  • Как обновить XnView MP через терминал?

    Zoominger
    @Zoominger
    System Integrator
    Смотря, какой дистрибутив.
    Для DEB-based (Ubuntu, Debian, Kali): apt-get update && apt-get upgrade -y
    Для RPM-based (Fedora, CentOS): yum update && yum upgrade -y
    От рута, разумеется.
    Ответ написан
  • Что означает эта иконка на консольном приложении?

    Zoominger
    @Zoominger Куратор тега Windows
    System Integrator
    Нет, это не значит, что приложение запущено.
    Тем более, если его нет в процессах.
    А значок у консольного приложения может быть любой, он настраивается при написании программы.
    Ответ написан
    Комментировать
  • Что не так с функцией?

    ipatiev
    @ipatiev Куратор тега PHP
    Потомок старинного рода Ипатьевых-Колотитьевых
    Настал момент познакомиться с такими понятиями, как отладка и безопасное выполнение SQL запросов.

    Программисты не задают посторонним вопрос, "почему мой код не работает".
    Они задают его своему коду.

    Вы уже начали отлаживать свой код, выводя промежуточные результаты. Это очень хорошо. Но почему-то тут же остановились

    Ну если запрос не находит записей - разве не логично вывести его на экран и посмотреть, что с ним не так.

    А после того, разберётесь с запросом, надо будет его переписать на подготовленные выражения. Потому что вот это вот - это какой-то позор
    Ответ написан
    Комментировать
  • 2 DNS в одной сети AD домена?

    @mezhuev
    Системный администратор
    1. В параметрах сервера DNS в AD укажите сервером пересылки ваш AdGuard.
    2. У пользователей оставьте только DNS в AD.
    Ответ написан
    4 комментария
  • Что лучше выучить, Java или C#?

    azerphoenix
    @azerphoenix Куратор тега Java
    Java Software Engineer
    Язык является инструментом. Важны ваши навыки, как разработчика (алгоритмы, структуры данных, понимание tcp/ip и т.д.)
    Что касается выбора языка, то ориентируйтесь на:
    - что вы собираетесь на нем делать и кем планируете работать. Если например, речь о геймдеве, то конечно же C# (Unity) или C++. И тут Java ну никак... хоть и позволяет писать игры. Если enterprise, то да, тут уже можно выбирать между Java & C#.
    - ориентируйтесь на то, где вы планируете работать. Возможно, что вы в результате вашего исследования поймете, что Java популярнее C# (или наоборот), но на деле окажется, что в вашей стране/городе она вовсе не популярна. Соответственно, посмотрите какие компании есть у вас в городе (если планируете работать офлайн) и изучите их стек.
    Ну и конечно же пробуйте. Я например, пока дошел до Java, успел попробовать PHP & JavaScript. В любом случае, когда вы станете востребованным и опытным специалистом, то уже будете владеть несоклькими языками.
    Ответ написан
    Комментировать
  • Как отключить кулер на C#?

    Сначала узнаём, через что в принципе можно программно управлять вентиляторами:
    https://stackoverflow.com/questions/485448/program...
    Узнаём, что вентиляторы управляются через SuperIO, а к SuperIO можно обратиться через MMIO/PMIO.
    К MMIO/PMIO можно обратиться только на уровне ядра - значит нужен свой драйвер, либо какой-то уже существующий софт, у которого есть API, к которому мы можем обратиться.

    За своими драйверами идём сюда: https://docs.microsoft.com/en-us/windows-hardware/...
    За существующими: https://github.com/starofrainnight/winio

    Потом вызываешь его через P/Invoke

    Кажется, на хабре ещё не так давно статья была про такое, но не могу её найти.
    Ответ написан
    Комментировать
  • Откуда в MySQL Workbench постоянно берется схема mydb и как от нее избавиться?

    @Akina
    Сетевой и системный админ, SQL-программист.
    Очень мешает откуда-то самопроизвольно возникающая схема mydb, которую я не могу удалить.

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

    таблицы стали создаваться именно в ней, а не в той схеме с которой я работаю

    Если при создании таблицы указано её имя с указанием имени БД (CREATE TABLE dbname.tablename ( .. );) - таблица будет создана именно в указанной БД. Если же имя БД не указать - таблица создаётся в текущей БД. Почему у Вас именно эта БД текущая, и почему Вы не меняете её перед созданием таблиц запросом USE - это именно к Вам вопросы, и именно Ваша вина в том, что таблицы создаются "не там".
    Ответ написан
    2 комментария
  • C# - плавающий глюк - насколько правильно исправил?

    Casper-SC
    @Casper-SC
    Программист (.NET)
    Подпишись на событие FormClosing (если ещё не подписан) и в его обработчике отпишись от обработчиков событий TitleChanged, AddressChanged, LoadingStateChanged:
    public partial class BrowserMain : Form
    {
        public BrowserMain()
        {
            InitializeComponent();
            
            WebBrowser = new ChromiumWebBrowser(
                string.IsNullOrWhiteSpace(address) ? "about:blank" : address)
            {
                // ...
            };
    
            Controls.Add(WebBrowser);
    
            WebBrowser.TitleChanged += WebBrowser_TitleChanged;
            WebBrowser.AddressChanged += WebBrowser_AddressChanged;
            WebBrowser.LoadingStateChanged += webBrowser_DocumentCompleted;
        }
    
        private void BrowserMain_FormClosing(object sender, FormClosingEventArgs e)
        {
           // После вызова этих строк методы WebBrowser_TitleChanged, WebBrowser_AddressChanged
           // и webBrowser_DocumentCompleted не будут выполняться. 
           // Это и не нужно, так как окно закрывается.
            WebBrowser.TitleChanged -= WebBrowser_TitleChanged;
            WebBrowser.AddressChanged -= WebBrowser_AddressChanged;
            WebBrowser.LoadingStateChanged -= webBrowser_DocumentCompleted;
        }
    }
    Ответ написан
    3 комментария
  • Заниженные тайминги ОЗУ режут чтение и запись?

    snaiper04ek
    @snaiper04ek
    Не стреляйте в эникея, он админит как умеет
    тайминги - время ответа, чем меньше - тем лучше, тут ты прав.
    Твоя ошибка в том, что ты смотришь только на тайминги, а кроме них есть ещё частота.
    При разгоне таймингов, частота понижается(на сколько я помню, трогал биос в последний раз лет 5 назад). А на скорость работы влияет и частота, и тайминги. При этом высокая частота в дефолтном случае для дефолтного пользователя - лучше. Каждый случай конкретен, но предполагаю, что в твоём случае понизив тайминги ты пониизил и частоту, и скорость работы стала меньше чем было до этого.

    И железное правило - если не понимаешь что делаешь - верни всё как было, и больше не трогай, лучше почитай про устройство памяти. Когда прочтёшь и будешь понимать что к чему, тогда уже делай что хочешь.
    Я серьёзно, сейчас ты полезешь разгонять процессор, а там вольтаж добавлять скорее всего нужно будет, и гнать его скорее всего нужно будет по шине, а шина гонит всё остальное, в т.ч. оперативку. Спалишь что-нибудь, короче, а сейчас техника не то чтобы дешёвая.
    Ответ написан
    2 комментария
  • Как спарсить динамический сайт?

    fox_12
    @fox_12 Куратор тега Python
    Расставляю биты, управляю заряженными частицами
    Берете Selenium - и вперед...
    Ответ написан
    4 комментария
  • Что можно попробовать сделать для восстановления жёсткого диска?

    nidalee
    @nidalee
    никто этот диск ни в какой специализированный дорогой сервис относить не будет
    Что можно попробовать сделать, чтобы диск запустился и хоть что-то с него попытаться вытащить?
    Ничего.
    Ответ написан
    Комментировать
  • Как сделать прогресс бар с отрезками?

    ipatiev
    @ipatiev Куратор тега PHP
    Потомок старинного рода Ипатьевых-Колотитьевых
    Задачка, конечно, очень смешная.
    И как всегда - на арифметику

    Шкала у нас нелинейная, первый шаг 100 единиц, последний - 2000.
    Но при этом для вычислений мы берём не позицию шага, а его значение.
    Ну и разумеется получаем то, что получаем.
    250 от 3000 - это никакие не "примерно 50 единиц", а примерно 8 процентов. Вот эти 8 процентов вам и показывает.

    Длина отрезка при разбивке на 5 частей будет 20%
    И вот 8 от 20 как раз и составляет те самые "примерно 50" процентов длины первого отрезка :)

    Выше товарищ правильно пишет про отладку.
    Но отладка в обязательном порядке состоит из двух вещей:
    1. Надо понимать, что делает твой код. В частности, иметь представление, какое значение каждая переменная должна иметь на каждом этапе.
    2. Запускать код, выводя промежуточные результаты, и сравнивая их с ожидаемыми.

    Без п.1 заниматься отладкой бессмысленно.
    Именно поэтому для программиста очень важно понимать, как работает его код. Иначе он просто не сможет его отладить.
    Ответ написан
  • Перенос файлов между серверами без моего участия?

    команда screen запустит автономную сессию, от которой можно отключиться и потом подключиться снова.

    В сессии screen, уже не боясь оставить/отключиться, вместо scp, может, удобнее воспользоваться rsync — он зипует, что может ускорить передачу:
    rsync -avz /var/www/projectOldName  user@newserver.example.com://var/www/projectNewName

    И нажать Ctrl + A, D — чтобы покинуть работающий вирт. терминал и спокойно отключиться от SSH. Позже, когда снова зайдете, командой screen -r снова подключитесь к оставленной сессии.
    Ответ написан
    Комментировать
  • Как правильно установить Qt Creator для всех пользователей компьютера?

    pavelsha
    @pavelsha
    Кот Жрëдингера. Только добрый.
    Сисадмин имеет низкую квалификацию. Не учел при установке, что программой будут пользоваться пользователи с рядовыми правами.

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

    Часто, все, что нужно сделать, чтобы сделать программу доступной для всех пользователей на компьютере, - это скопировать эти ярлыки в место, к которому могут получить доступ все пользователи, такие как Public Desktop или меню «Пуск». Для этого:

    Найдите ярлык (ы) приложения в учетной записи пользователя, выполняющего установку. Общие места, где создаются иконки:
    Меню Пуск пользователя:
    C:\Users\\AppData\Roaming\Microsoft\Windows\Start Menu\Programs 1
    Рабочий стол пользователя:
    C:\Users\\Desktop 2
    Скопируйте ярлык (ы) в одно или оба из следующих мест:
    Рабочий стол всех пользователей:
    C:\Users\Public\Public Desktop
    Меню Пуск всех пользователей:
    C:\ProgramData\Microsoft\Windows\Start Menu\Programs 3

    1 Также доступно через %APPDATA%\Microsoft\Windows\Start Menu\Programs
    2 Также доступно через %USERPROFILE%\Desktop
    3 Также доступно через %ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs
    Ответ написан
    3 комментария
  • Как помочить ноги в алготрейдинге?

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

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

    алгоритм, умеющий приносить прибыль? извини, это святой грааль всех трейдеров, на коротком промежутке времени (даже год другой) у кого то получается, но рано или поздно этот алгоритм ломается (мир меняется), сливая депозит так что вовремя это нужно обнаружить, и нужно искать новый
    Ответ написан
    5 комментариев
  • Насколько мой код читабелен?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    С ходу же:
    try
    {
        if (from > to)
            throw "Incorrect couple 'from - to' for generating random numbers";
    }
    catch (const char *message)
    {
        std::cerr << message << '\n';
        exit(1);
    }
    Зачем нужен такой изврат, если вы ловите исключение сразу же? Чем хуже
    if (from > to)
    {
        std::cerr << message << '\n';
        exit(1);
    }


    bool init(IntList1D &list, int number)
    {
        if (list == nullptr || *list == nullptr)
        {
            if (list == nullptr)
                list = new IntList1D_element *;
            *list = new IntList1D_element(number);
            return true;
        }
        return false;
    }
    Чем меньше глубина вложенности, тем лучше. Ранний выход из функции лучше, чем выход в самом конце. Сравните
    bool init(IntList1D &list, int number)
    {
        if (is_initialized(list))
        {
            return false;  
        }
        if (list == nullptr)
        {
            list = new IntList1D_element *;
        }
        *list = new IntList1D_element(number);
        return true;
    }


    bool is_inited(const IntList1D list)
    {
        if (list == nullptr || *list == nullptr)
            return false;
        else
            return true;
    }
    Здесь и название функции кривоватое и чересчур усложнена сама функция.
    bool is_initialized(const IntList1D list)
    {
        return (list != nullptr && *list != nullptr)
    }

    Не соблюдаете единый стайлгайд. В некоторых местах одиночные строки после if взяты в фигурные скобки, в некоторых нет. Выберите один какой-либо стиль и придерживайтесь его. (Hint: добавлять строки гораздо проще, если всегда используются фигурные скобки).
    Ответ написан
    7 комментариев