Задать вопрос
  • Как в софтверных компаниях относятся к использованию ИИ?

    @Vitsliputsli
    Т.к. ответа на вопрос никто не дал, то
    Как в софтверных компаниях относятся к использованию ИИ?

    В нормальных компаниях всем глубоко пофиг как ты будешь выполнять задачи, главное чтобы был результат. Даже сами дадут доступ к какомунибудь внутрикомпанейскому ИИ.
    А вот сможешь ли пройти собеседование имея только навык ставить задачи ИИ, тут очень сомневаюсь.
    Ответ написан
    3 комментария
  • В чем суть логической ошибки, продемонстрированной в старинном учебнике?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    ЕСЛИ треугольник прямоугольный ТО квадрат гипотенузы равен сумме квадратов катетов
    Отсюда не следует, что
    ЕСЛИ квадрат гипотенузы равен сумме квадратов катетов ТО треугольник прямоугольный
    Правильное обратное утверждение:
    ЕСЛИ квадрат гипотенузы НЕ равен сумме квадратов катетов ТО треугольник НЕ прямоугольный

    Простейший аналог:
    ЕСЛИ животное это собака ТО у неё четыре лапы ⇏ ЕСЛИ у животного четыре лапы, ТО это собака
    ЕСЛИ животное это собака ТО у неё четыре лапы ⇒ ЕСЛИ у животного НЕ четыре лапы, ТО это НЕ собака

    Студент должен был доказать, что квадрат гипотенузы равен сумме квадратов катетов только в прямоугольных треугольниках и обосновать утверждение
    ЕСЛИ треугольник прямоугольный ТОГДА И ТОЛЬКО ТОГДА квадрат гипотенузы равен сумме квадратов катетов
    Ответ написан
    2 комментария
  • Почему зависает ноутбук Lenovo Legion 5?

    @Drno
    Либо где то железо пережато / проблема.
    Либо драйвер какой то глючит

    Мемтест еще можно прогнать.

    И тут в группе ребята хорошо разбираются, спросите
    Ответ написан
    Комментировать
  • Правильно понимаю из статьи про умные указатели?

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

    Тут автор считает, что сначала выполнится new A(), потом new B(), потом конструктор unique_ptr. Если исключение бросит B(), то действительно будет утечка памяти. Объект A, полученный через new умрет еще до оборачивания в unique_ptr. Такой сырой указатель автоматически не удалится.

    Такая последовательность невозможна c С++17:
    In a function call, value computations and side effects of the initialization of every parameter are indeterminately sequenced with respect to value computations and side effects of any other parameter.


    Evaluations of A and B are indeterminately sequenced : they may be performed in any order but may not overlap: either A will be complete before B, or B will be complete before A. The order may be the opposite the next time the same expression is evaluated.


    Но до C++17, действительно, компилятор может перемешать вычисления аргументов как угодно.
    Ответ написан
    Комментировать
  • Как связаны TCP-сегменты и пакеты? Один сегмент состоит из нескольких пакетов или наоборот?

    @66demon666
    Сетевой админ, АТС-админ
    У TCP нет пакетов. У него есть понятие сегмент. Под словом "TCP пакет" подразумевают "IP пакет в котором содержится TCP сегмент". Это просто разные слова для обозначение единицы данных (DU) на разных уровнях OSI. В ethernet, например, единица данных это Кадр (Frame). В большинстве случаев вся необходимая порция данных помещается в один TCP сегмент. Если не помещается - он сегментируется на 2 и более кусков (сегментов). Контролируется максимальный размер сегмента параметром MSS (Max Segment Size)
    Ответ написан
    9 комментариев
  • Что лучше: static методы или функции?

    wataru
    @wataru Куратор тега C++
    Разработчик на С++, экс-олимпиадник.
    Посмотрите в этот allStatic: https://github.com/openjdk/jdk/blob/496641955041c5...

    Там написано, почему используются статические методы: Почему-то авторы какого-то проекта HotSpot решили, что плодить namespac'ы плохо. Так что это вызвано соглашениями по стилю в конкретном проекте. Их право.

    Вообще говоря, польза от статических методов в том, что у них автоматически есть доступ к приватным членам класса и не надо каждую функцию помечать friend. Если у класса все методы статические и нет никаких данных, то использовать статические функции нет смысла.

    Еще логично сделать функцию членом класса, если она именно с классом работает. Например, функции фабрики.

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

    VoidVolker
    @VoidVolker Куратор тега Windows
    Dark side eye. А у нас печеньки! А у вас?
    Скорее всего там стоит какое-то приложение из категории шуток и приколов. Или какое-то из приложений для управления двумя машинами с одной машины типа InputDirector (программный KVM) - функционал общего буфера обмена там из коробки есть. Ну или ещё что-то. Смотрите какие сервисы и приложения запущены и общаются по сети на этих двух машинах - в любом файерволле или в нормальном менеджере процессов видны все сетевые соединения. Там сразу будет видно сетевое соединение между машинами.
    Ответ написан
    4 комментария
  • Как обойти блокировку 80 и 443 порта Ростелеком?

    iwantp1zza
    @iwantp1zza Автор вопроса
    В общем, всё решилось звонком в техподдержку РТК. Они там отключили какую-то фильтрацию портов и всё заработало. Всем спасибо за потраченное время.
    Ответ написан
    Комментировать
  • Самораспакующий архив?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    А что мешает вложить в самораспаковывающийся архив CMD/BAT файл, копирующий/переносящий распакованные директории в директорию текущего пользователя %USERPROFILE%\AppData\?
    Ответ написан
    6 комментариев
  • Как решить проблему скорости интернета с подключением через OpenVPN?

    Скорее всего процессор кинетика просто затыкается на шифровании трафика. Это типичная скорость для IPSEC или OpenVPN на подобных роутерах (если в их проце и прошивке нет аппаратной поддержки шифрования)
    P.S. Официальный документ на этот счет - https://help.keenetic.com/hc/ru/articles/115005342...
    Ответ написан
    1 комментарий
  • Почему в c++ еще нету Null-Conditional Operator?

    wataru
    @wataru Куратор тега C++
    Разработчик на С++, экс-олимпиадник.
    Это не достаточно частая операция в С++, чтобы срочно надо было вводить новый оператор в синтаксис. Комитет занят более интересными вещами на годы вперед.
    Ответ написан
    3 комментария
  • Есть ли разница между *p++ и p++?

    wataru
    @wataru Куратор тега C++
    Разработчик на С++, экс-олимпиадник.
    Разница как бы есть. В одном случае у вас *(p++), а в другом просто p++. И то и другое сдвинет указатель p на одну ячейку вправо, т.е. код имеет ровно тот же результат. Но в случае с * вы еще и адрес p, который там был до увеличения, разименуете, т.е. получите доступ. Но просто такое выражение, где вы его разименовываете и ничего с ним не делаете не имеет смысла. Его можно использовать, если вы со значением что-то делаете, например:
    void Copy(char *src, char *dst) {
        while (*src) {
          *dst++ = *src++;
        }
        *dst = '\0';
      }


    Тут вы значение по адресу src берете и записываете в адрес dst. Но из-за ++ оба указатлея сдвинутся. Получается копирование сишной строки.

    Но делать просто *p++; смысла никакого нет. Это примерно то же что и:
    int i;
    i;

    Вот выражение `i;` - оно как бы получает доступ к i, но со значением ничего не делает. Это странный и бесполезный код.

    Так что * у вас там явно лишняя.
    Ответ написан
    Комментировать
  • Проблема с наушниками проводными, пропал звук, что делать?

    @elderl
    Замыкание. Либо в штекере, либо в гнезде. Левый канал идёт на правый динамик.
    Ответ написан
    Комментировать
  • Когда форк перестает быть форком?

    sergey-kuznetsov
    @sergey-kuznetsov Куратор тега GitHub
    Автоматизатор
    Формально GitHub всегда будет считать ваш проект форком, пока связь с оригинальным репозиторием не будет удалена.

    В реальном мире граница между “форком” и “самостоятельным проектом” размыта. Если проект развивается, у него своя архитектура, комьюнити, документация, и его воспринимают как отдельный продукт — значит, он уже перестал быть “просто форком”.

    Например:
    MariaDB — изначально форк MySQL, но сейчас это полностью самостоятельный проект.
    LibreOffice — форк OpenOffice, но никто не называет его просто “форком”.
    ReactOS — начинался как форк FreeWin95, но эволюционировал в отдельную ОС.
    Ответ написан
    Комментировать
  • Почему строку можно изменить через массив, но через указатель нельзя?

    @Mercury13
    Программист на «си с крестами» и не только
    Потому что в Си++ — в отличие от Си — строковый литерал "hello" имеет тип const char[]. Как дополнительную подсказку, что даже если система (скажем, DOS) не имеет разделения памяти по типам и позволяет менять такие литералы — Windows имеет и не позволяет.

    РАЗ. У указателя и массива несколько разная семантика
    char hello1[] = "hello";   // массив длины 6, в изменяемом сегменте или стеке,
                             // данные скопированы из литерала, который
                             // сидит в неизменяемом сегменте
    const char* hello2 = "hello";   // указатель направлен прямо на литерал,
                             // и попытка изменить его под Windows — вылет


    ДВА. Компилятор имеет право спрессовать два литерала в один, и смена одного, скорее всего, сменит и другой. Не могу проверить на Windows — говорил же, что запись в строковый литерал под Windows приведёт к вылету — но, скорее всего, так будет. Что-то вроде
    char* hello1 = const_cast<char*>("hello");
    char* hello2 = const_cast<char*>("hello");
    hello1[1] = 'U';   // hello2 = "hUllo" в системах вроде DOS, где не вылетит
    Ответ написан
    4 комментария
  • Стоит ли скрывать пункт про образование в резюме?

    Ну, скроете вы его, а дальше HR либо на этапе первичного разговора, либо уже на собеседовании спросит всё равно. Надеяться, что удастся убедить при живом общении можно, но, учитывая огромный пул одинаковых кандидатов, шансы невелики. Поэтому я бы советовал быть максимально прозрачным и написать какой-то сопроводительный текст, объясняющий ситуацию. Тогда на собеседование вас позовут люди, которых ваша учёба не пугает по каким-то причинам — сэкономите время и себе, и другим.
    Само по себе отсутствие диплома почти никого не отпугнёт, а вот дополнительная занятость вполне может. Если даже вы успешно такими манёврами куда-то пробьётесь, есть шансы быстро вылететь, когда люди поймут, что получили не то, на что рассчитывали, и придётся уже это объяснять на следующих собеседованиях.
    Ответ написан
    4 комментария
  • Почему код выкидывает исключение переполнение стека?

    wataru
    @wataru Куратор тега C++
    Разработчик на С++, экс-олимпиадник.
    У вас массив внутри класса, класс - локальная переменная. Получается массив на стеке. На 4 миллиона ячеек. Но стек ограничен и вот он переполняется. Стандартного размера не хватает. Надо поднять размер стека опциями линкера.

    Или экземпляр класса создавайте в куче, через new, и храните в unique_ptr.

    А по коду: не используйте эту сишную арифметику указателей. У вас двумерный массив, вы и обращайтесь везде через 2 индекса в квадратных скобках. Так понятнее код будет.
    Ответ написан
    Комментировать
  • Про какую версию разговор и чего оно хочет от меня?

    @yellowmew
    Cloud infrastructure, monitoring engineer. SRE
    Есть подозрение что сервис, через который работает psexec (при подключении он его устанавливает) или не удалился по окончанию подключения или произошло что-то еще что мешает psexec работать
    попробуйте через sc (или powershell коммандлеты) остановить а затем удалить сервис (по моему он назывался PSEXESVC)
    sc \\remote stop PSEXESVC
    sc \\remote delete PSEXESVC

    а затем запустить вашу команду с psexec еще раз
    Ответ написан
    1 комментарий
  • Почему не удаётся освободить память в деструкторе?

    wataru
    @wataru Куратор тега C++
    Разработчик на С++, экс-олимпиадник.
    Проблема вот в этой строчке:
    int get_num_from_BigInteger(BigInteger big_int){

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

    Вам надо руководствоватся правилом трех(пяти). Доопределите конструктор копирования. Вообще, вам бы стоило его запретить (= delete;), ибо копировать такие большие числа - это плохо. А в функции ваши передавайте BigInteger по константной ссылке.

    Ну и в других функциях та же самая поблема.

    И еще, в C++ не стоит использовать malloc/free, используйте new/delete. А еще лучше, используйте std::vector.
    Ответ написан
    Комментировать
  • Объясните суть Systemctl в ubuntu?

    @pfg21
    ex-турист
    в консольной команде первое слово - это имя програмки, которую запускаешь.
    остальные слова передаются програме в качестве параметров.

    соответственно systemctl status ufw запускает systemctl и передает ей параметры status ufw - получаем статус работы сервиса ufw.service от менеджера системы.
    а ufw status запускает ufw и передает ей параметр status - получаем "внутренний" статус работы непосредственно от ufw
    Ответ написан
    2 комментария