• Писать вирусы на фрилансе?

    CityCat4
    @CityCat4
    Внимание! Изменился адрес почты!
    Чувак, ты наверное не понимаешь, что суд не оперирует понятиями буковок и функций. А вот понятием "умысел" он оперирует и очень даже.
    Ты был осведомлен, что ведешь противоправную деятельность. Но от заказа не отказался. И с этого момента ты - соучастник, и пойдешь не по УК 273.1, а по более тяжелой УК 273.2
    Ответ написан
    Комментировать
  • Влияет ли на скорость вычисления сколько знаков в double?

    wataru
    @wataru Куратор тега C++
    Разработчик на С++, экс-олимпиадник.
    Обычно - не влияет. Во-первых, все эти числа в двоичной записи имеют практически одинаковое количество занятых бит - вся мантисса. Во-вторых, операцию выполняет аппаратный блок - ему параллельно единицы ли там или нули в битах.

    Но, если процессор не умеет в операции с числами с плавающей точкой, то будет программная эмуляция - и там уже может зависеть.
    Ответ написан
    Комментировать
  • Зачем писать class в объявление объекта класса?

    If a function or a variable exists in scope with the name identical to the name of a class type, class can be prepended to the name for disambiguation, resulting in an elaborated type specifier.
    class Foo;  // forward declaration of a class
     
    class Bar { // definition of a class
      public:
        Bar(int i) : m_i(i) {}
      private:
        int m_i;
    };
     
    template <class T> // template argument
    void qux() {
        T t;
    }
     
    int main()
    {
        Bar Bar(1);
        class Bar Bar2(2); // elaborated type
    }

    https://en.cppreference.com/w/cpp/keyword/class

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

    @galaxy
    Потому что ваш код сравнивает указатели (адреса в памяти для строк в var и var2).

    Для сравнения строк есть функции strcmp (и ее вариации).
    Ответ написан
    Комментировать
  • На чём мне написать десктопное приложение?

    @Vorfall
    если нужно быстро и на обязательно современно выглядеще то самый простой вариант эото c# + win form
    там графический интерфейс разнесения элементов на экран и все программирование сведется к описанию что должно происходить по нажатию конкретной кнопки или что выводить данный листбокс
    Ответ написан
    Комментировать
  • С чего начять новичку в СИ?

    @res2001
    Developer, ex-admin
    1.Си достаточно не большой и простой язык программирования. Возьмите любой учебник для начинающих. Изучите язык, порешайте задачи оттуда.
    Поймите все про Си строки. Все достаточно просто, но почему то у многих с этим проблемы в начале.
    Поймите тонкие моменты языка (это важно для системного программиста и для "железячника", да и просто для хорошего программиста): указатели, арифметика указателей, динамическое выделение памяти.

    2. Потом надо погрузиться в программирование для той ОС, которую планируете использовать. Обычно это линукс. Учитывая ваши интересы (системное программирование, железо), то тут можно порекомендовать следующие книги:
    - https://www.ozon.ru/product/linux-api-ischerpyvayu... - это для user space. Эта книга больше справочник по Linux API. Если у вас хорошо с английским то эту книгу может заменить встроенная справка линукс (man).
    - https://www.ozon.ru/product/yadro-linux-opisanie-p... - это kernel space (драйвера)

    3. Параллельно с первыми двумя пунктами есть смысл читать что-нибудь по алгоритмам. Например Кормена: https://www.ozon.ru/product/algoritmy-postroenie-i...

    4. После того как будете уверены в своих знаниях Си и Linux, можете выбирать платформу с которой вы хотите работать (железку) и начинать реализовывать свои задачи. По ходу дела возникнет куча вопросов. Большая часть из них может быть решена с помощью чтения TRM (Technical Reference Manual, предоставляется производителем железа/процессора). TRMы обычно оочень большие просто так их читать без конкретной цели смысла нет.
    Ответ написан
    1 комментарий
  • Каким образом можно выгружать изображения с сайтов, имея прямую ссылку к картинке?

    vabka
    @vabka Куратор тега C#
    Токсичный шарпист
    Вариантов много.
    Например можно взять библиотеку Flurl.Http
    using Flurl.Http;
    
    var url = "ссылка";
    var dir = "путь для сохранения";
    
    await url.DownloadFileAsync(dir);

    Или взять HttpWebRequest, как советует Hemul GM (не советую этот вариант, тк он устарел)
    using System.IO;
    using System.Net;
    
    var url = "ссылка";
    var dir = "путь для сохранения";
    
    var req = HttpWebRequest.Create(url);
    using var response = req.GetResponse();
    using var file = File.OpenWrite(dir + "/fileName.png");
    using var stream = response.GetResponseStream();
    
    stream.CopyTo(file);

    Вместо него лучше взять HttpClient:
    using System.IO;
    using System.Net.Http;
    
    var url = "ссылка";
    var dir = "путь для сохранения";
    
    using var httpClient = new HttpClient();
    using var stream = await httpClient.GetStreamAsync(url);
    using var file = File.OpenWrite(dir + "/fileName.png");
    
    await stream.CopyToAsync(file);


    Или использовать устаревший WebClient, который хоть и устарел (по тому я тоже не рекомендую его), зато из коробки имеет метод для скачивания файлов:
    using System.Net;
    
    var url = "ссылка";
    var dir = "путь для сохранения";
    
    using var client = new WebClient();
    client.DownloadFile(url, dir + "/filename.png");
    Ответ написан
    Комментировать
  • Должен ли бэкенд разработчик разрабатывать админку?

    sslion
    @sslion
    ТЗ для того и составляют, чтобы в нём было прописано, что и как ты должен сделать Если админка не прописана в ТЗ изначально, то это дополнение, а значит делается за дополнительную плату, а вот стоимость доработки должна быть прописана в договоре, к примеру 500руб. за человек/час, или как в твоём случае, 8к за админку, что оформляется доп. соглашением...
    Ответ написан
    Комментировать
  • Должен ли бэкенд разработчик разрабатывать админку?

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

    fox_12
    @fox_12
    Расставляю биты, управляю заряженными частицами
    Без особой разницы
    Ответ написан
    Комментировать
  • Как настроить IDE C++?

    wataru
    @wataru Куратор тега C++
    Разработчик на С++, экс-олимпиадник.
    Так нельзя создавать динамический массив в C++. Это VLA, и оно не является стандартом. VS вообще, похоже, его не поддерживает, в отличии от gcc, который этот код компилирует, хоть и не обязан. Видимо, на серверах стоит g++.

    Никакие настройки вам не помогут.
    Вам надо выделять динамический массив через new[] или лучше использовать std::vector.
    Ответ написан
    1 комментарий
  • Как узнать количество цифр после точки?

    @Andy_U
    В двоичной системе счисления данное десятичное число в виде конечной дроби не представимо. Т.е. ответ зависит от разрядности компьютера и т.д. и т.п. и он будет совсем не 3. Если, конечно, речь идет о числе, а не строке.
    Ответ написан
    Комментировать
  • Что означает такая сигнатура функции?

    gbg
    @gbg Куратор тега C++
    Любые ответы на любые вопросы
    Это какие-то макросы. В нормальных IDE можно ткнуть в непонятное и сделать Go To Definition и посмотреть, что это такое.

    Такие макросы обычно появляются у всяких кроссплатформенных штуковин с динамической линковкой - когда нужно учесть особенности разных компиляторов и ОС.
    Ответ написан
    Комментировать
  • Функции по "Чистому коду" - нужно ли это?

    sarapinit
    @sarapinit
    Точу водой камень
    Зависит от ситуации.
    А вот людей занимающих фанатичные-категоричные позиции лучше в свою голову не пускать.
    Возьмите лучше Макконелла Совершенный Код. Там больше про реальность и меньше холивара.
    Ответ написан
    Комментировать
  • Как нормально сделать перемещение по диагонали (sfml)?

    wataru
    @wataru Куратор тега C++
    Разработчик на С++, экс-олимпиадник.
    Считайте вектор скорости и потом делите на его длину. В зависимости от зажатых кнопок прибавляйте или вычитайте speed из vx или vy (которые изначально 0). Потом, после проверок, делите оба числа на sqrt(vx*vx+vy*vy) (если оно не 0) и сдвигайте спрайт на vx, vy.

    Можно соптимизировать - прибавляйте 1/-1 вместо speed. Тогда значение vx*vx+vy*vy может быть только 0,1 или 2. Заведите константный массив kScaleCoef[3] = {1, 1, sqrt(2)} и потом делайте
    Sprite.Move(speed/kScaleCoef[vx*vx+vy*vy]*vx, speed/kScaleCoef[vx*vx+vy*vy]*vy);
    Ответ написан
    Комментировать