• Какое должно быть время выполнение запроса в мс, чтобы его оптимизировать?

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

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

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

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

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

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

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

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

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

    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.
    Ответ написан
  • Как сделать простой чат без бд?

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

    Посмотри любой пример из использования - там почти всегда даётся пример реализации чата
    Ответ написан
    Комментировать
  • Почему на 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
    Ответ написан
  • Как инстаграмм реагирует на Open VPN клиента?

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

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

    Там будет всё что можно загрузить.
    Увидел, что они там просто ссылаются на Intel
    Ответ написан
  • 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 комментарий
  • Самый "легкий" аналог selenium/chrome?

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

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

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

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

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

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

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

    vabka
    @vabka Куратор тега C#
    Токсичный шарпист
    Это зависит не от студии, а от версии SDK.
    В vs2017 используется старый SDK, у которого дефолтная версия была 7.1
    VS2022 использует сейчас .NET 7 SDK, у которого дефолтная версия - 11
    Ответ написан
  • Как добавить ссылки на пространство имен?

    vabka
    @vabka Куратор тега C#
    Токсичный шарпист
    1. На MacOS нет винформ. Так что никак
    2. Если используешь .NET Core или .NET 5 / 6 / 7, то в csproj должно быть что-то наподобие
    <Project Sdk="Microsoft.NET.Sdk">
    
      <PropertyGroup>
        <OutputType>WinExe</OutputType>
        <TargetFramework>net6.0-windows</TargetFramework>
        <Nullable>enable</Nullable>
        <UseWindowsForms>true</UseWindowsForms>
        <ImplicitUsings>enable</ImplicitUsings>
    
        <ApplicationVisualStyles>true</ApplicationVisualStyles>
        <ApplicationUseCompatibleTextRendering>false</ApplicationUseCompatibleTextRendering>
        <ApplicationHighDpiMode>SystemAware</ApplicationHighDpiMode>
        <ApplicationDefaultFont>Microsoft Sans Serif, 8.25pt</ApplicationDefaultFont>
    
      </PropertyGroup>
    
    </Project>

    TargetFramework и UseWindowsForms - это главное
    Ответ написан
  • Есть ли другой алгоритм решения задачи?

    vabka
    @vabka
    Токсичный шарпист
    Если задача "посчитать слова, которые начинаются с буквы", то ты можешь, например, сложить искомые буквы в массив или hashset и делать letters.contains(word[0])
    Ответ написан
    3 комментария
  • Как лучше всего реализовать массивы с информацией о предметах?

    vabka
    @vabka Куратор тега C#
    Токсичный шарпист

    Есть вроде как способ с массивами, но в массив нельзя добавить ещё массив.
    можно.

    Если объект сделать, то его нельзя взять по id

    Можно запихнуть в Dictionary, где ключом будет id, а значением - объект


    List юзать, или что..

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

    vabka
    @vabka
    Токсичный шарпист
    Обычный m2 разъём. SSD туда можно вставить, но нужен более короткий (они разных форматов по длине есть)
    Ответ написан
    Комментировать
  • Пример БД в виде отдельных JSON файлов для C#?

    vabka
    @vabka
    Токсичный шарпист
    1. В такой СУБД нет никакого смысла, по тому нет никаких готовых библиотек
    2. Реализуется очень просто - ты бы быстрее свой велосипед сделал, чем получил бы ответ здесь.
    Ответ написан
    5 комментариев
  • Я когда слушаю звук с ноута через Bluetooth-колонку (типа JBL) - чей ЦАП используется - колонки или ноута?

    vabka
    @vabka
    Токсичный шарпист
    Очевидно колонка, тк bt - это цифровой интерфейс.
    Ответ написан
    Комментировать