Задать вопрос
  • Как настроить GitHub для двух проектов с общей логикой?

    @rPman
    Третий репозиторий под общий код
    Использовать git submodule
    Ответ написан
    Комментировать
  • Как установить Root CA формата der в Ubuntu 20.10?

    @pfg21
    ex-турист
    openssl x509 -inform DER -in fd.der -outform PEM -out fd.pem ??
    Ответ написан
    4 комментария
  • Как получить доступ к винчестеру?

    gbg
    @gbg Куратор тега Windows
    Любые ответы на любые вопросы
    Доступ к диску на уровне блочного устройства можно получить, открыв специальный файл "\\.\PhysicalDrive0"

    Диск при этом, естественно, нужно перевести как минимум в readonly, а лучше, отключить от операционки, потому что в противном случае, у вас ничего не получится - файл не откроется. Ну и про админские права не забывать.

    Важно понимать, что любая неосторожная запись на диск может привести к частичной или полной потере данных, причем вы заметите это не сразу.
    Ответ написан
    Комментировать
  • Провайдер режет TCP/UDP сессии через 240 сек неактивности, что делать?

    В любой NAT/PAT таблице всегда есть таймаут, иначе если бы оба конца соединения отвалились из-за сетевых проблем или из-за ребута или плохо настроенных фаерволов, запись оставалась бы в таблице навечно. В UDP вообще нет ни одного механизма удаления записи из NAT/PAT кроме таймаута.

    С одной стороны, ваш провайдер прав - в любом случае при раборе через NAT/PAT необходимо настроить TCP KEEPALIVE, он настраивается в любом ssh-клиенте, например https://songhuiming.github.io/pages/2019/02/28/how... и это единственный гарантированный способ решения вашей проблемы.

    С другой стороны, 240 секунд очень маленький таймаут (обычно используется время порядка 10 минут для UDP и порядка часа для TCP) а TCP KEEPALIVE умеют слать не все клиенты, поэтому стоит продолжить ругаться с техподдержкой чтобы таймаут или размер таблицы или диапазон NAT-портов увеличили дo разумных значений.
    Ответ написан
    1 комментарий
  • Как посчитать пройденное время от одного запуска к другому?

    Сохраняйте время последнего запуска в файле или реестре (windows). И при новом запуске программы считывайте время оттуда.
    Ответ написан
    4 комментария
  • В чём преимущества и недостатки установок через apt и snap?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    Нужно понимать принципиальную разницу подхода:

    apt - установка из маленьких пакетов, вместе образующих большую и сложную систему, при этом софт может массово совместно использовать одни и те же файлы и библиотеки, благодаря чему экономится место на диске, оперативная память итд итп. Надо понимать, что apt - это пакетный менеджер для определённого вида пакетов (deb), хотя в своё время существовал вариант для rpm (может и сейчас существует, просто смысла в нём мало после появления yum).

    snap - установка большого приложения со всеми зависимостями, которые никак не использует остальной софт на этом же компьютере. Отсюда тратится лишнее место на диске и в оперативной памяти. Зато никаких проблем с зависимостями, плюс snap работает в любых системах и не завязан на конкретный менеджер пакетов и собственно пакетный формат.

    snap по большому счёту часто используют для установки тяжёлых приложений, которые может бысть сложно опакетить, особенно учитывая разнообразие присутствующих в мире дистрибутивов (debian/ubuntu и их клоны) разных версий. В то время как большинство штатного общеиспользуемого софта чаще распространяют в виде пакетов, идущих в составе дистрибутива или отдельно (в том числе в виде разных собранных под разные варианты систем пакетов).
    Ответ написан
    7 комментариев
  • Почему функция не возвращает указатель на объект класса?

    wataru
    @wataru Куратор тега C++
    Разработчик на С++, экс-олимпиадник.
    if (!a)	{
        a->s = s;
        cout << 5;
        return a; //ошибка, не возвращает указатель на обьект класса
    }


    У вас тут a==NULL - пустой указатель. Вы пытаетесь его члену что-то присвоить (то. что программа не упала - вам дико повезло). потом вы возвращаете этот же пустой указатель.

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

    wisgest
    @wisgest
    Не ИТ-специалист
    forfiles — внешняя утилита, которая не везде установлена, и, честно говоря, не знаю зачем нужна, так как, по крайней мере в большинстве случаев, всё что можно сделать ей, можно сделать внутренней командой for, — советую изучить справку:
    for /?

    И сохранять весь результат по папкам нужно в один файл, а не в несколько как у меня.

    Либо группировать команды: вместо
    comand1>file.txt
    comand2>file.txt

    писать
    (
    	comand1
    	comand2
    )>file.txt

    либо использовать >> вместо > для дозаписи в файл без его очистки:
    comand1>file.txt
    comand2>>file.txt
    Ответ написан
    Комментировать
  • Как правильно привести тип void* к int?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Размер void стандартом не определён, поэтому поведение операций инкремента/декремента и индекса для указателя типа void* также не определено и зависит от компилятора.
    В вашем случае компилятор принял размер void за 1 байт, поэтому v[i] работает с шагом в 1 байт.
    ints[i] работает с шагом sizeof(int) байт, то есть 2, 4 или 8 байт, в зависимости от компилятора и целевой системы.
    Некоторые компиляторы просто выдадут ошибку при таком использовании указателя с типом void*.
    Ответ написан
    Комментировать
  • Как изменить символьное значение структуры?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Указатель на статически определённый массив нельзя изменить.
    Вы можете либо определить массив динамически и самостоятельно выделять и освобождать для него память, либо копировать содержимое массива через memcpy/strncpy.
    Ответ написан
    Комментировать
  • Как настроить язык при запуске консоли Windows?

    HemulGM
    @HemulGM Куратор тега Windows
    Delphi Developer, сис. админ
    Выбрать раскладку по умолчанию в ОС
    Ответ написан
    1 комментарий
  • Как это работает в c++?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Не число, а символ. В переменную попадёт ASCII-код символа. Это неявное приведение типов.
    Ответ написан
    6 комментариев
  • Как заменить драйвер устройства находящегося в локальной сети?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Возможно ли это сделать на практике?

    Всё зависит в первую очередь от устройства "зайчика". В каких-то реализациях это может быть невозможно, в других -- возможно, но сложность может отличаться на порядки (от "существует готовый рецепт, требующий только написания кода" до "потребуется паяльник, осциллограф, анализатор сигналов, …").
    Универсального ответа нет, дать ответ без исследования железа невозможно.
    Ответ написан
    Комментировать
  • Как "починить" терминал Ubuntu 20.04?

    CityCat4
    @CityCat4
    Дома с переломом ноги
    Есть предположение, что один из путей, перечисленных в PATH, недоступен и об этом пытаются сообщить.
    Ответ написан
    Комментировать
  • Сбербанк или ИП Пирожкова в качестве первой работы после смены направления?

    php666
    @php666
    PHP-макака
    В основном пишут что это огромная и неповоротливая гос.машина, все как в армии
    это плохо? Может хочешь делать устные задачи в духе "да тут работы на 5 минут"?

    друзья/знакомые руководителей, которые сидят на сеньерской позиции и клепают кал.
    да. и еще 100500 нюансов, например, все эти друзья считают себя важными царьками в рамках этой одной конторы.

    нет бесплатного чая в офисах...
    как же знатно пропаганда на всяких айти-сайтах вам мозги загадила. Бесплатного чая у него нет... Можешь скинуть адрес. вышлю тебе чайку, если у тебя денег на чай нет.

    я понимаю что невозможно дать однозначный совет
    однозначный ответ можно вполне дать - не работать на ИП, не работать на мелкие никому неизвестные конторки. Никогда. Ни при каких обстоятельствах. Читай статью по ссылке полностью: ebanoe-it.ru/2020/12/28/right-way/
    Тут даже банально строчка в резюме из Сбертеха даст +200% к карме, нежели работа в ИП "Рога и Копыта"
    Ответ написан
    3 комментария
  • Инкремент и декремент?

    gbg
    @gbg Куратор тега C++
    Любые ответы на любые вопросы
    Вот вам много букв по теме

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

    hint000
    @hint000
    у админа три руки
    Если на сервере у вас есть права администратора, то вот:
    скриншот
    6036fe6e03806746292421.png
    Ответ написан
    5 комментариев
  • Где и как используют деревья в программировании?

    @Mercury13
    Программист на «си с крестами» и не только
    1. Нечто, действительно имеющее древовидную форму — например, деревья каталогов на дисках, деревья сцен в 3D, деревья принятия решений.
    2. Деревья поиска — структуры данных, позволяющие добавлять-убирать объекты и позволяющие быстрый поиск по ключу. Например, словари всякие, индексы БД.
    3. Так называемая куча — структура данных, позволяющая добавлять-убирать объекты и поддерживающая минимальный элемент в этом множестве. Используется как вспомогательная в каких-нибудь алгоритмах.
    4. Двоичное разбиение пространства в 3D — известный способ сортировки от дальних к ближним.

    Кроме того, деревья могут не существовать в памяти, а только подразумеваться — в синтаксических разборах, теоретико-игровых обсчётах. Хотя один из вариантов промежуточного хранения разобранной формулы, чтобы потом по ней проводить многократные расчёты — дерево (но чаще используют обратную польскую запись).
    Ответ написан
    Комментировать
  • Какое максимальное количество операций в бинарном поиске?

    @Mercury13
    Программист на «си с крестами» и не только
    ceil(log2(n + 1))

    Поскольку ответов на каждый конкретный вопрос возможны три штуки (больше/меньше/угадал), тупая оценка количеством битов невозможна, надо учитывать зависимости между этими ответами.

    Доказательство.
    Докажем обратное: за k шагов можно угадать 2k−1 чисел.

    БАЗА. 1 угадывается с первого раза. 2 с первого раза уже не угадаешь.

    ШАГ. k → k+1. Другими словами, нам известно, что 2k−1 угадать можно, а 2k уже нельзя.
    Берём центральное, и остаётся 2k−1 слева и 2k−1 справа. → n = 2·(2k−1)+1 = 2k+1−1
    Если n = 2k+1 или больше, хоть в одной половинке будет 2k, что, по предположению индукции, невозможно.
    Ответ написан
    4 комментария
  • Что делать если не получается писать код имея нужные знания?

    NeiroNx
    @NeiroNx
    Программист
    "Ноги есть, вроде двигаются, но ходить не получается - постоянно падаю."
    "Ну это как с музыкой, ноты понимаю, но воспроизвести не могу - нет слуха."
    Так и с программированием - чтобы уметь - нужно в голове воспроизвести работу этой программы.

    Способность мозга представить что либо в понятном ему виде - вполне конретная когнитивная функция. Если она не работает должным образом - то это сказывается на многих сферах жизни.

    Если совсем не получается - не лезь не твое это. Твой мозг просто не может формализовать задачу.

    Если немного получается - нужно тренировать.
    Как у обычных программистов им говорят "Система учета посетителей" - а у них в голове уже 5000 строк кода и структура таблиц в базе данных, осталось лишь их переписать в компьютер.

    Как правило формализация это - разбиение одной большой задачи на маленькие задачи - решение которых уже можно искать в гугле.
    Ведь если гуглить "Система учета посетителей код" может и найдет какой проект на гитхабе а может и нет. Но если гуглить "работа с базами данных" или "создание таблицы в базе данных" - то будет куча решений.

    Так вот тренировать нужно методику разбиения задачи на составляющие.
    Ответ написан
    1 комментарий