Задать вопрос
  • Стоит ли курс "Инженер по тестированию" Яндекс.Практикума своих денег?

    Не стоит. Нужно несколько месяцев учиться, а не 5 минут. И навыки придётся нарабатывать самостоятельно - сами по себе почему-то за свои деньги они не образуются.
    Ответ написан
    Комментировать
  • Как можно открывать программы с помощью js кода?

    В nodejs для этого есть модуль child_process:
    https://nodejs.org/api/child_process.html

    Если нужно запустить программу по нажатию кнопки в браузере, то сначала нужно, чтобы нужная программа зарегистрировала для себя протокол для ссылок в ОС - тогда можно будет переходить/запускать эту программу при помощи перехода по обычной ссылке
    Ответ написан
    Комментировать
  • Можно ли заменить ПЛК Siemens на микроконтроллеры?

    ПЛК - это скорее про софт, чем про хард.
    Внутри ПЛК вполне может скрываться и STM32, и Raspberry, и даже комп на винде, и никакого резервирования.

    Вся соль - в разных специальных промышленных протоколах и надёжности программ.
    Например на ПЛК в принципе нет ошибок связанных с памятью, ибо никто программисту не даёт доступа к памяти и указателям, а время выполнения строго контролируется, причём даже между несколькими узлами: на уровне протокола можно гарантировать, что условно 10 физически разнесённых узлов одновременно выполнят какое-то действие с точностью до микросекунд.

    Так что если ошибка и будет - она будет в логике, а не в том как она реализована.

    Ну и сверху это всё ещё обмазано маркетингом и всякими интерфейсами для совместимости с другим оборудованием.

    И будет ли 2 микроконтроллера(один из которых в резерве и будет запускаться, при неисправности основного) более надежны, чем ПЛК siemens?

    Если ты докажешь, что в программе нет багов, а электрическая схема будет достаточно адекватной, чтобы случайно 220 на логические входы не подать, то это будет даже надёжнее.
    Ответ написан
    2 комментария
  • Существует ли, утилита для Linux с выводом программ для их запуска?

    все установленные программы

    В Linux нет такого понятия, как "установить". В принципе любой исполняемый файл в системе - это уже рабочая программа, которую можно вызывать. Для удобства только они добавляются в $PATH
    Например:
    1. Vim
    2. MIDNIGHTCOMMANDER
    3. ...

    В таком виде никак не получится, так как в Linux нигде не сохраняется человекочитаемое название.

    Так что в целом список всех установленных программ - это ls
    А для запуска нужной достаточно ввести её имя.

    Но такой список вам никакой пользы не даст, так как он будет просто огромный.
    Вот например что выдаёт ls /bin:
    .                                    h2ph                               sbverify
     ..                                   h2xs                               scp
     NF                                   hd                                 screen
     VGAuthService                        head                               screendump
     X11                                  helpztags                          script
    '['                                   hexdump                            scriptreplay
     aa-enabled                           host                               scsi_logging_level
     aa-exec                              hostid                             scsi_mandat
     ab                                   hostname                           scsi_readcap
     add-apt-repository                   hostnamectl                        scsi_ready
     addpart                              htcacheclean                       scsi_satl
     addr2line                            htdbm                              scsi_start
     apport-bug                           htdigest                           scsi_stop
     apport-cli                           htop                               scsi_temperature
     apport-collect                       htpasswd                           sdiff
     apport-unpack                        hwe-support-status                 sed
     appres                               i386                               see
     apropos                              i386-tcc                           select-editor
     apt                                  iconv                              sensible-browser
     apt-add-repository                   id                                 sensible-editor
     apt-cache                            info                               sensible-pager
     apt-cdrom                            infobrowser                        seq
     apt-config                           infocmp                            serialver
     apt-extracttemplates                 infotocap                          setarch
     apt-ftparchive                       install                            setfont
     apt-get                              install-info                       setkeycodes
     apt-key                              instmodsh                          setleds
     apt-mark                             ionice                             setlogcons
     apt-sortpkgs                         ip                                 setmetamode
     ar                                   ipcmk                              setpci
     arch                                 ipcrm                              setpriv
     as                                   ipcs                               setsid
     at                                   iptables-xml                       setterm
     atq                                  ischroot                           setupcon
     atrm                                 iscsiadm                           sftp
     automat-visualize3                   jaotc                              sg
     awk                                  jar                                sg_bg_ctl
     b2sum                                jarsigner                          sg_compare_and_write
     base32                               java                               sg_copy_results
     base64                               javac                              sg_dd
    ... дальне не влезло в лимит по символам.
    Ответ написан
    Комментировать
  • Как исправить ошибку CS0019?

    Читаем описание ошибки:
    https://docs.microsoft.com/en-us/dotnet/csharp/lan...

    Оператор O нельзя применить к типам X и Y

    Раз автор не даёт полный текст ошибки, в которой указано, какие именно типы, какой оператор, и на какой строке - попытаюсь угадать.

    Вот на этой строке автор пытается умножить вектор на кнопку, что очевидно нельзя:
    Vector3 dir = transform.right * Input.GetButton("Horizontal");


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

    Добрый день - узнал об этом через ccleaner

    Ну для начала нужно удалить ccleaner - это тот ещё малварь.

    Обе записи что про powershell, что про OpenSSH выглядят нормально. Но данных не достаточно - приложи сюда скрин из планировщика задач/автозапуска со всеми опциями.

    антивирусы почему-то это все не обнаруживают

    Потому что это и не вирусы вовсе.
    Ответ написан
    4 комментария
  • Как с помощью рефлексии получить дженерик метод принимающий дженерик параметр?

    class Test
    {
        public T X<T>(T x) => x;
        public T X<T>() => throw new InvalidOperationException();
    }
    
    typeof(Test)
    .GetMethods() // Берём методы
    .Where(x => x.Name == "X") // с именем "X"
    .Where(x => x.IsGenericMethod) // обобщённые
    .Where(x =>
    {
        var parameters = x.GetParameters();
        var genericParameters = x.GetGenericArguments();
        // У которых только один generic-параметр и 1 аргумент, которые равны
        if (parameters.Length == 1 && genericParameters.Length == 1)
        {
            var t0 = parameters[0].ParameterType;
            var t1 = genericParameters[0];
            return t0 == t1;
        }
        else
        {
            return false;
        }
    })
    Ответ написан
    Комментировать
  • Как исправить ошибку A second operation was started on this context instance before a previous operation completed?

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

    Kafka, Postgres, и "100 данных подряд" тут ни при чём.
    Ответ написан
    Комментировать
  • Так ли плохо решение проблемы "сделать калькулятор" через eval?

    Если в eval попадают данные только через фильтры, затем собираются через f""строку и только после соответствия всем условиям попадают в eval, разве это плохой подход и существуют ли в данном случае какие-либо уязвимости ?

    Ну если ты точно можешь гарантировать, какие данные в итоге попадут в eval, то в целом ничего плохого.
    Проблема только в том, что гарантировать ты этого не сможешь.

    Так что всё-таки лучше взять уже готовое решение этой проблемы:
    https://stackoverflow.com/questions/2371436/evalua...

    PS: код следует прикреплять в виде текста, а не картинки
    Ответ написан
    3 комментария
  • Можно ли использовать бесплатный тариф на mongodb.com для блога?

    Подводные камни в том, что бесплатный тариф даёт очень мало ресурсов.
    Если тебе 512мб хранилища и негарантированных vCPU и RAM - дерзай.
    В целом такой тариф для прода не рекомендуется.
    Ответ написан
    8 комментариев
  • Почему Equals не сравнивает объекты?

    По умолчанию Equals сравнивает по ссылкам. По тому даже сравнение абсолютно идентичных, но разных объектов в результате даст false.

    Чтобы это изменить, тебе нужно самостоятельно переопределить метод Equals в классах Client, Organization, и Person.
    Ответ написан
    Комментировать
  • Как зарегистрироваться в Твиттере с помощью номера телефона?

    Если нет возможности никакой пропустить шаг с вводом номера телефона - завезти себе номер не-российского оператора
    Ответ написан
  • Как решить эти проблемы компиляции?

    Ты забыл написать открытую фигурную скобку около public class Move : MonoBehaviour

    PS: На будущее:
    - отмечай комментарием, на какой именно строке сработала ошибка
    - не забывай заворачивать код в тег <code lang="cs"></code> - это сильно упростит чтение для тех, кто попробует решить твой вопрос
    - перед тем как задавать вопрос - попробуй загуглить в чём суть ошибки, и попробуй сам решить (CS1514)
    - перед тем как начинать писать на юнити, лучше всё-таки хоть самые основы C# изучить. Тут как в математике - без понимания простых вещей, ты гарантированно не сможешь понять сложные вещи.
    Ответ написан
  • Как исправить ошибки CS0117 и CS0122?

    1 - у тебя в классе Enemies нет члена enemies. Возможно его нет совсем, а возможно у тебя опечатка.
    2 - у тебя в классе Enemy есть метод takeDamage, но он не публичный

    PS: На будущее:
    - отмечай комментарием, на какой именно строке сработала ошибка
    - не забывай заворачивать код в тег <code lang="cs"></code> - это сильно упростит чтение для тех, кто попробует решить твой вопрос
    - перед тем как задавать вопрос - попробуй загуглить в чём суть ошибки, и попробуй сам решить (CS0117, CS0122)
    - перед тем как начинать писать на юнити, лучше всё-таки хоть самые основы C# изучить. Тут как в математике - без понимания простых вещей, ты гарантированно не сможешь понять сложные вещи.
    Ответ написан
    4 комментария
  • Как скомпилировать код при помощи nelua?

    однако в опциях такого нет.

    Всё есть


    ❯ nelua --help
    Usage: nelua
    ([-c] | [-a] | [-b] | [-B] | [-Y] | [-A] | [-H] | [--script] | [--lint] | [--print-ast] | [--print-analyzed-ast] | [--print-ppcode] | [--print-code] | [--print-assembly])
    [-h] [-i] [-d] [-S] [-r] [-M] [-s] [-t] [-T] [-V] [-w] [-C]
    [--no-color] [-R ] [-o ] [-D ] [-P ]
    [-g ] [-L ] [--cc ] [--cflags ]
    [--ldflags ] [--stripflags ]
    [--cache-dir ] [--path ]
    ([] | [--config] | [-v] | [--semver]) [] ...

    Nelua 0.2.0-dev

    Arguments:
    input Input source file
    runargs Arguments passed to the application
    Use '--' to is passed)

    Options:
    -h, --help Show this help message and exit.
    -c, --code Compile the backend code only
    -a, --analyze Analyze the code only
    -b, --binary Compile the binary only
    -B, --object Compile as an object file
    -Y, --assembly Compile as an assembly file
    -A, --static-lib Compile as a static library
    -H, --shared-lib Compile as a shared library
    --script Run lua a script instead of compiling
    --lint Check for syntax errors only
    --print-ast Print the AST only
    --print-analyzed-ast Print the analyzed AST only
    --print-ppcode Print the generated Lua preprocessing code only
    --print-code Print the generated code only
    --print-assembly Print the assembly generated code only
    --config Print config variables only
    -v, --version Print compiler detailed version
    --semver Print compiler semantic version
    -i, --eval Evaluate string code from input
    -d, --debug Run through GDB to get crash backtraces
    -S, --sanitize Enable undefined/address sanitizers at runtime
    -r, --release Release build (optimize for speed and disable
    runtime checks)
    -M, --maximum-performance Maximum performance build (use for benchmarking)
    -s, --strip-bin Remove symbols from the compiled binary (reduce its
    size)
    -t, --timing Show compile timing information
    -T, --more-timing Show detailed compile timing information
    -V, --verbose Show compile related information
    -w, --no-warning Suppress all warning messages
    -C, --no-cache Don't use any cached compilation
    --no-color Disable colorized output in the terminal.
    -R , Execute compiled output with a runner
    --runner
    -o , Output file.
    --output
    -D , Define values in the preprocessor
    --define
    -P , Set initial compiler pragma
    --pragma
    -g , Code generator backend to use (lua/c) (default: c)
    --generator
    -L , Add module search path
    --add-path
    --cc C compiler to use (default: gcc)
    --cflags Additional flags to pass to the C compiler (default:
    )
    --ldflags Additional flags to pass when linking (default: )
    --stripflags Additional flags to pass when striping (default: -x)
    --cache-dir Compilation cache directory (default:
    /home/vabka/.cache/nelua)
    --path Set module search path (default:
    ./?.nelua;./?/init.nelua;/usr/local/lib/nelua/lib/?.nelua;/usr/local/lib/nelua/lib/?/init.nelua)


    Просто чтобы получить исполняемый файл ты должен сказать, куда его надо сохранить
    Прямо сейчас даже себе поставил и всё работает:
    $ sudo apt-get install build-essential git gcc gdb # устанавливаем инструменты сборки
    $ git clone https://github.com/edubart/nelua-lang.git # скачиваем репозиторий
    $ cd nelua-lang # переходим внутрь
    $ make # собираем
    $ sudo make install # устанавливаем
    $ cd ./examples # переходим в примеры
    $ nelua ./helloworld.nelua -o hw # собираем пример helloworld.nelua и сохраняем в файл hw
    $ chmod +x ./hw # метим файл как исполняемый (вообще у него и так должен быть +x, но это на всякий случай)
    $ ./hw # запускаем
    hello world
    Ответ написан
    4 комментария
  • Как добавить мультикурсор/мультивыделение как на Windows в Linux?

    В vs code и intellij должно работать. Возможно просто не работает при использовании мыши.

    В vs code для этого используются команды "Add Cursor" (ищи в сочетаниях клавиш)
    В intellij - "Add or Remove caret" и "Clone Caret" (тоже ищи в сочетаниях)
    Ответ написан
    1 комментарий
  • Как получить доступ к бд, самп, крмп серверов, либо просто хоста на которых они стоят?

    В твоём случае никак, так как у тебя нет доступа к ним.
    Ответ написан
    Комментировать
  • Как перевести страницу на японский?

    Это не ошибка, а предупреждение от VS Code, чтобы ты случайно код на русском не писал, например.
    Если у тебя файлы в UTF-8, то никаких проблем не будет - просто выключи предупреждение, нажав на Adjust settings.
    Если файлы не в UTF-8, то почини.
    Ответ написан
    Комментировать