Профиль пользователя заблокирован сроком с 3 января 2023 г. и навсегда по причине: систематические нарушения правил сервиса
  • Как исправить "Console is not defined", Node.JS?

    delphinpro
    @delphinpro Куратор тега JavaScript
    frontend developer
    Вы установили nvm - менеджер версий ноды.
    Вместе с ним должны были появится переменные среды NVM_HOME, NVM_SYMLINK
    638c64bd557c2106323980.png
    NVM_SYMLINK - если вы ставили ноду перед nvm и при установке nvm выбрали использование текущей установки.

    Если вы отключите nvm команда nodeможет не работать
    Включите nvm on
    nvm list – посмотреть какие версии у вас установлены
    nvm current – посмотреть текущую (покажет то же, что node -v)

    Ну а в целом, чем разбираться, что там глючит, просто удалите всё. Зачистите все папки с упоминанием node и nvm (в c:\users\%USERNAME%\AppData тоже) и поставьте всё заново.
    Ответ написан
    Комментировать
  • Хороша ли сборка для 2022?

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

    vabka
    @vabka
    Токсичный шарпист
    https://alexgyver.ru/encoder/
    Но тебе нужно выяснить, как именно твой энкодер подключается.
    "энкодер от мыши" может подключаться по разному, в зависимости от модели мыши. Как именно - ты можешь узнать опытным путём или загуглив даташит по маркировке энкодера, если эта маркировка есть.

    Если хочешь велосипедить - посмотри как обрабатываются прерывания.
    https://habr.com/ru/post/340448/
    Ответ написан
    Комментировать
  • Почему может не работать дискорд бот?

    vabka
    @vabka
    Токсичный шарпист
    Ну идём по порядку.
    1. Сервер, на котором должен быть запущен бот, отключен от электричества или неисправен.
    2. Сервер, на котором запущен бот, отключен от интернета или на нём неправильно настроен фаервол, или по другой похожей причине до него не доходит запрос.
    3. Бот не запущен или не обрабатывает HTTP-запросы
    4. Поломался DNS или просрочилась аренда домена и из-за этого сервер дискорда не может найти адрес, на который нужно послать запрос на вебхук.
    5. Просрочились SSL-сертификаты и из-за этого сервер дискорда не может отправить тебе запрос на вебхук, тк думает, что это не безопасно.
    6. По какой-то причине изменился токен, но ты его не поменял в боте. По тому не проходить аутентификация.
    7. Твой бот часто сыпал ошибками и по тому дискорд его отключил - тебе нужно посмотреть что за ошибки, исправить их, и включить снова. (это может произойти по причинам 1-5)
    8. Твой аккаунт разработчика или бота забанили.
    9. Ты изменил что-то в коде (в том числе обновил зависимости) и из-за этого код теперь не рабочий.
    10. Ты словил UB

    Если никакой их этих пунктов не подходит, то пройдись ещё раз более внимательно. Если и после этого никакой пункт не подходит, то без доступа к твоему серверу и коду ответить никто не сможет.
    Ответ написан
    8 комментариев
  • Самый "легкий" аналог selenium/chrome?

    vabka
    @vabka
    Токсичный шарпист
    Если тебе нужен (почти) полноценный браузер, который поддерживает все современные стандарты и выполняет js, то максимум что ты можешь попробовать - это запускать хром с флагом --headless.

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

    vabka
    @vabka Куратор тега C#
    Токсичный шарпист
    Постгрес не возвращает количество задетых строк в инсерте, как это делают некоторые другие СУБД.

    Вот что предлагают на stackoverflow:
    https://stackoverflow.com/questions/4038616/get-co... - это вариант, если ты хочешь использовать ExecuteScalar

    Npgsql предлагает использовать метод ExecuteNonQuery, который возвращает количество задетых строк:
    https://www.npgsql.org/doc/api/Npgsql.NpgsqlComman...

    Если ты хочешь получить не количество задетых строк, а саму вставленную строку, то можно попробовать так:
    https://stackoverflow.com/questions/2944297/postgr...
    Ответ написан
    1 комментарий
  • Зачем нужны expression в c#?

    vabka
    @vabka Куратор тега C#
    Токсичный шарпист
    В первую очередь они используются во всяких ORM, типа Entity Framework, чтобы лямбды, написанные на C# преобразовывать в SQL.

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

    В третью очередь - чтобы сериализовывать названия классов и методов, например в Hangfire.
    Ответ написан
    1 комментарий
  • Где найти драйвера для новых ноутбуков Samsung?

    vabka
    @vabka
    Токсичный шарпист
    Вот тут вводишь код продукта (не серийный номер и не маркетинговое название. Например это может быть NP930):
    https://www.samsung.com/ru/support/downloadcenter/

    Там будет всё что можно загрузить.
    Увидел, что они там просто ссылаются на Intel
    Ответ написан
    7 комментариев
  • Как инстаграмм реагирует на Open VPN клиента?

    vabka
    @vabka
    Токсичный шарпист
    Open VPN - это протокол.
    А как реагирует инстаграм - фиг знает. Скорее всего никак (ну мб капчу даст, чтобы подтвердить, что ты человек).
    Если совсем паранойя - сделай туннель до реального компьютера с бытовым интернетом, а не до датацентра.
    Ответ написан
    Комментировать
  • Почему на GitHub не работает протокол git?

    vabka
    @vabka
    Токсичный шарпист
    На гитхабе нет git://

    Либо по ssh:
    git clone git@github.com:apache/guacamole-server.git

    Либо по https:
    git clone https://github.com/github/docs.git
    Ну или можно через gh cli:
    gh repo clone apache/guacamole-server
    Ответ написан
    2 комментария
  • Как сделать простой чат без бд?

    vabka
    @vabka
    Токсичный шарпист
    Простейший чат без БД делают, обычно, в браузере на вебсокетах.

    Посмотри любой пример из использования - там почти всегда даётся пример реализации чата
    Ответ написан
    Комментировать
  • Как оформить подпрограмму?

    vabka
    @vabka
    Токсичный шарпист
    https://wiki.freepascal.org/Function
    В твоём случае можно что-то типа:
    program geron;
    
    function triangleArea(const a, b, c: real): real;
    var p: real;
    begin
     p:=(a+b+c)/2; {периметр}
     triangleArea:=sqrt(p*(p-a)*(p-b)*(p-c)); {площадь}
    end;
    
    var a, b, c, s1, s2: real;
    begin
     writeln('Стороны первого треугольника:');
     write('a='); readln(a);
     write('b='); readln(b);
     write('c='); readln(c);
     s1 := triangleArea(a, b, c);
    
     writeln('Стороны второго треугольника:');
     write('a='); readln(a);
     write('b='); readln(b);
     write('c='); readln(c);
     s2 := triangleArea(a, b, c);
     
     writeln('Сумма=', s1+s2:0:5); {5 знаков после запятой}
     writeln('Разность=', s1-s2:0:5);
    end.
    Ответ написан
    9 комментариев
  • Стоит ли делать проект специально для гитхаба?

    vabka
    @vabka
    Токсичный шарпист
    Довольно часто предлагают тестовое задание, на которое у меня нет времени.

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

    Разумно ли написать проект с нуля, скажем, интернет магазин, залить все это на гитхаб и давать ссылку работодателям каждый раз когда просят пройти тестовое задание?

    Такое возможно только если о вашем проекте работодатель узнает раньше, чем о вас (=> "проект специально для гитхаба" должен попасть в продакшен у потенциального работодателя) , и существование этого проекта будет само по себе говорить о вас, как о хорошем разработчике. Ибо никто не будет лазить в вашем коде.

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

    Тестовое задание существует ради того, чтобы работодатель мог быстро оценить ваш уровень.
    1. Оно небольшое, чтобы его выполнение и проверка не занимали много времени.
    2. Оно уже отработано внутри компании, и уже есть несколько эталонных вариантов и чеклист, по которым можно формально оценить.

    PS: ну и никто не запрещает просить деньги за выполнение тестового задания, как за обычную работу - это распространённая практика
    Ответ написан
    Комментировать
  • Какое должно быть время выполнение, чтобы его оптимизировать?

    vabka
    @vabka
    Токсичный шарпист
    Оптимизировать запрос есть смысл, когда он в имеющемся виде создаёт проблемы, либо потенциально может создать с ростом данных.

    При этом нужно руководствоваться не догадками, а фактами - статистикой, жалобами пользователей, тестами производительности.

    Например особо нет смысла оптимизировать запрос, который выполняется 5 секунд, но при этом вызывается всего 1 раз за какой-то многочасовой воркфлоу.
    Ответ написан
    Комментировать
  • Как вывести ответ запроса Npgsql C#?

    vabka
    @vabka Куратор тега C#
    Токсичный шарпист
    Потому что у тебя первая колонка не строка.
    reader.GetInt64(0)
    или
    reader.GetFieldValue<long>(0)
    Ответ написан
    Комментировать
  • Как реализовать парадигму "Запрос — Ответ" с помощью вебсокета?

    vabka
    @vabka Куратор тега C#
    Токсичный шарпист
    1. Сообщение должно быть структурированным, а не сырой текст. Например в json
    2. У каждого сообщения (запроса) должен быть уникальный id.
    Тогда клиент сможет сохранить у себя сопоставление id -> callback
    3. Сервер, когда формирует ответ, помещает в него id запроса
    4. Клиент при получении очередного ответа ищет у себя коллбэк с этим id и вызывает его.

    Вообще для C# есть SignalR
    Ответ написан
    4 комментария
  • Как обновить Android Studio?

    vabka
    @vabka
    Токсичный шарпист
    Попробуйте обновиться через Jetbrains Toolbox.
    Ответ написан
    Комментировать
  • Какая распиновка внутренних шлейфов караоке?

    vabka
    @vabka
    Токсичный шарпист
    Если меня глаза не обманывают, то распиновка непосредственно на плате написана.
    А чтобы узнать, как подключить к колонкам - надо смотреть на то, откуда идут провода к аналоговому аудиовыходу.
    Ответ написан
    Комментировать
  • Как скопировать ascii?

    vabka
    @vabka
    Токсичный шарпист
    Шрифт должен быть обязательно моноширным, чтобы ширина пробела была такой же, как и у всех остальных знаков.
    У тебя он явно не такой.
    Ответ написан
    Комментировать
  • Проектирование БД на sqlite3, как правильно спроектировать некоторые таблицы?

    vabka
    @vabka
    Токсичный шарпист
    Вопрос №1 нужно ли для каждой таблицы создавать дополнительные таблицы для связи многие ко многим. Потому что по сути над слябом/деталью может выполнятся несколько работ, каждая работа из таблицы works может быть выполнена над каждым слябом/деталью?

    Если по вашей предметной области такое возможно, то да.
    Если нет, то нет.

    Вопрос №2 могу ли я например сделать столбец id_slabs_works но он будет пустым например если столбец id_details_works будет заполнен и наоборот?

    В теории - конечно можешь.
    Но возникает встречный вопрос.
    Если слэб и деталь (кстати, в твоём случае это part, а не details) по факту одни и те же атрибуты, то может их имеет смысл обобщить и засунуть в одну таблицу?

    Вопрос №3 если мне нужно фиксировать когда сотрудник начал работу над деталью и когда закончил получается что нужно отдельная таблица?

    Ну у тебя есть некоторый заказ и N смен, во время которых у тебя этот заказ выполняется. Раз нужно эти смены фиксировать - значит нужна таблица для них.

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

    Вполне нормальное решение.
    Рабочий начинает смену - в неё записывается время начала и статус "в работе".
    Рабочий завершает смену - в неё записывается время завершение и статус "завершена".

    Не думаю, что тебе следует заморачиваться с концепцией event sourcing.
    Ответ написан
    Комментировать