Задать вопрос
  • Как понимать лицензию Windows?

    @res2001
    Developer, ex-admin
    Если у вас нет подтверждающих документов о приобретении ПО, то использование его не легально. Наклейка никого не волнует, любая проверка смотрит в первую очередь документы на приобретение: договор купли/продажи, счета, платежки.
    Вы можете использовать ранее купленную лицензию для винды, но версия и выпуск установленной винды должны совпадать с лицензией. Желательно так же, чтоб и код активации совпадал. Обычно, проверяющие не смотрят что конкретно стоит на компе, если у вас с документами все в порядке, но теоретически могут и это проверить. На Вин10 можно сменить и выпуск и код активации без особых проблем, правда на счет OEM версий я не уверен.
    Ответ написан
    2 комментария
  • Как непрерывно читать данные по Serial Port?

    @res2001
    Developer, ex-admin
    Видимо нужно, что бы this->serialPort1->IsOpen постоянно была true, либо изменить условие в while().
    Ответ написан
  • Libxl: Как запустить на windows 7?

    @res2001
    Developer, ex-admin
    Укажите компилятору соответствующей опцией где искать h файлы.
    make, gcc и прочие линуксовые утилиты сборки есть в msys2/mingw.
    Ответ написан
  • Как можно подправить примитивы кода в eclipce?

    @res2001
    Developer, ex-admin
    Window->Preferences->C/C++->Code Style->Formatter
    Создайте собственный стиль, скопировав один из предустановленных и правьте его.
    Ответ написан
    1 комментарий
  • Табуляции или пробелы?

    @res2001
    Developer, ex-admin
    Пробелы у всех будут отображаться одинаково, а табуляции - зависят от настроек редактора.
    Это самый главный минус табуляции, имхо. Хотя я сам всегда использую табуляцию.
    Ответ написан
    5 комментариев
  • Как сохранить бэкап Windows 10 Виндовс 10,настроек, всех программ установленных, настроек их, путей файлов сохранения?

    @res2001
    Developer, ex-admin
    Универсальное решение - делать образ диска.
    Но у него есть недостатки: бэкап занимает много места; если развернете образ, то все что было до него затрется, а там может быть важная информация; если бэкап сделан не вовремя, то он может вам не помочь и т.п.

    Обычно программы сохраняют свои настройки в реестре и/или в профиле пользователя. Сохраняя нужные ветки реестра и каталоги из профиля вы сможете в последствие восстановить настройки приложений.
    Но многие программы хранят в профиле и какие-то кэши и временные файлы, которые нет смысла бэкапить.
    Каждое приложение нужно изучать отдельно, и создавать правила бэкапа исходя из этого.
    Ни когда не видел такого бэкапера, который бы умел просто бэкапить настройки любых программ при этом не таща кучу не нужного мусора. Думаю, что такого и не существует в природе, разве что для некоторых популярных приложений. При этом, сохранив настройки программы, вы не избавитесь от необходимости ее устанавливать.

    Но на самом деле, бэкапить настройки приложений - идея так себе. Гораздо проще научиться работать с ОС так, что бы она не требовала переустановки с нуля. Понятно, что рано или поздно придется переустанавливать, но это вполне реально отложить на несколько лет (в свое время на рабочем месте не переустанавливал ВинХР минимум 7 лет, при этом на компе регулярно менялся и софт и железо, потом пересел на Вин7).
    Думаю, что раз в несколько лет вполне возможно потратить 1 день и настроить систему с нуля руками.
    К тому же к этому можно заранее подготовиться.
    Реально бэкапить нужно только ваши данные.
    Ответ написан
    Комментировать
  • В чём преимущество функций над методами контейнеров?

    @res2001
    Developer, ex-admin
    Каких-то особых преимуществ нет. Просто альтернативный вариант.
    Это шаблонная функция, может принимать любой из стандартных контейнеров std, она просто вызывает obj.size() внутри.
    Чем хотите, тем и пользуйтесь.
    https://en.cppreference.com/w/cpp/iterator/size
    Ответ написан
    Комментировать
  • Как динамически указать длину поля для вывода в printf?

    @res2001
    Developer, ex-admin
    1.Можете просто сформировать правильную Си строку, добавив в конце нулевой символ, тогда printf правильно сработает при спецификаторе формата %s.
    2.Если у вас не строка, а байтовый массив (т.е. нет завершающего нулевого символа), тогда можно следующим образом: printf("%.*s", (int)len, str)
    Ответ написан
    2 комментария
  • C++ при вводе в одно переменную меняеться вторая?

    @res2001
    Developer, ex-admin
    Похоже, что на данной платформе стек растет вниз (в сторону уменьшения адресов), поэтому введя в word
    6 символов (размер word - 5), произошел выход за пределы массива и последние 2 байта (не забываем, что строки в Си имеют еще дополнительный нулевой символ в конце) записались на соседние переменные, т.е. повредили содержащиеся в них значения.
    При этом не произошло никакого сбоя, потому что все переменные в стеке (а все пространство в стеке изначально уже выделено и к нему можно свободно обращаться). Если бы word был динамическим массивом, то скорее всего произошел бы seg fault. В отладочной версии возможно и не произошел бы.
    Си и С++ оставляет за программистом возможность управлять памятью, поэтому компилятор такие вещи не отслеживает.
    Если хотите избавиться от ошибки, используйте класс string или перепишите код так что бы не было возможности выхода за границы массива.
    Ответ написан
    5 комментариев
  • Как реализовать генерацию Ворд документа?

    @res2001
    Developer, ex-admin
    Сделайте форму в екселе, там можно достаточно просто все поля заполнить из заранее сформированных списков.

    В ворде то же можно, но более геморройно.
    Программировать тут не нужно - не лезьте в эти дебри.
    Ответ написан
  • Почему не понимает тип даты?

    @res2001
    Developer, ex-admin
    Попробуйте так: '20180814'
    Ответ написан
    Комментировать
  • Как подключится к smb с нестандартным портом?

    @res2001
    Developer, ex-admin
    Организуйте ВПН и используйте стандартные порты внутри ВПН.
    Прав ваш провайдер, хотя блокировать порты не должен был бы - ваша безопасность - это ваша проблема.
    Ответ написан
    1 комментарий
  • Как настроить выход в интернет с разных IP?

    @res2001
    Developer, ex-admin
    1.Если пользователи не будут работать одновременно, то можно просто менять маршрут по умолчанию. Например, с помощью поднятия ВПН до нужного микротика и перенаправления всего трафика в ВПН, либо любым другим подходящим способом.

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

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

    @res2001
    Developer, ex-admin
    Проще всего это сделать с помощью помещения метки в имя файла. Например добавляйте к файлам суффикс или префикс с ID вещи или что-то подобное.

    Есть еще альтернативные потоки данных NTFS, но это, похоже, не ваш случай.
    С помощью альтернативных потоков, например, винда понимает, что файл скачан из интернета и при запуске выдаст дополнительное предупреждение, или не даст открыть в режиме редактирования документ MS Office.
    Ответ написан
  • Удалить байты из файла без его полной перезаписи можно только с конца?

    @res2001
    Developer, ex-admin
    Вы можете не перезаписывать весь файл, а только кусок с хвоста, который останется после удаления из середины данных. Для обрезания размера файла с конца в современных ОС есть соответствующие механизмы.
    Если же вам нужно удалить в большом файле несколько байт в начале, то придется перезаписать весь файл.
    Для того что бы не перезаписывать большие объемы информации многие файлы внутри имеют блочную структуру (например файлы баз данных), тогда можно помечать весь блок как удаленный, при этом сам блок из файла не освобождается и не перезаписывается, но приложение знает, что он пустой и его можно будет повторно использовать при необходимости. Этот функционал вы должны сами запрограммировать в своем приложении - операционная система за вас это не сделает. При этом когда злобный админ будет делать shrink базы данных эти пустые блоки будут физически удалены из базы.

    Блочная запись на диск и copy-on-write - это все верно, но находится на уровне дискового драйвера (а copy-on-write - это вообще даже не драйвер, а прошивка контроллера диска). При этом дисковый драйвер и контроллер диска ничего не знают про файлы, они работают с секторами, блоками и т.п.
    Пользовательская программа, работая с файлами, обычно, не опускается на такой низкий уровень, а потому не может управлять подобными операциями.
    Ответ написан
    2 комментария
  • Как вывести символ не из ASCII таблицы?

    @res2001
    Developer, ex-admin
    Сменить кодировку консоли на UTF-8 и конвертировать строки перед выводом в UTF-8.
    Ответ написан
    Комментировать
  • Какие способы защиты от шитпостинга существуют для децентрализованных систем?

    @res2001
    Developer, ex-admin
    Шифрование трафика между участниками чата.
    Ответ написан
    Комментировать
  • Как узнать адрес своего git репозитория?

    @res2001
    Developer, ex-admin
    На сервере какая сборка гита у вас стоит? Есть варианты и могут быть нюансы при задании урла.

    Попробуйте варианты:
    ssh://user@server/d/git/repo.git
    ssh://user@server:/d/git/repo.git
    ssh://user@server:d/git/repo.git
    ssh://user@server/d:/git/repo.git
    По формату URL тут подробней.

    У меня на гит на сервере из состава msys2 работает первый вариант URL.
    На сколько помню на "Git for Windows" работает последний.

    Кстати, я не так давно настраивал гит сервер на винде. По ssh так и не получилось завести - любая операция заканчивалась ошибкой. Грешу на плохой канал - сервер у черта на куличках, да еще и через ВПН, скорость не фантан, задержка при передаче приличная. Но сам ВПН работал, ssh то же, а гит отказывался. Пришлось поднять на сервере git-daemon и работать через протокол git, а не ssh.
    Ответ написан
    Комментировать
  • Как настроить сервер git?

    @res2001
    Developer, ex-admin
    Нужно настроить сервер ssh, чтоб гит мог подключаться к репозиторию по ssh.
    Ответ написан
    Комментировать
  • Как выбрать из PostgreSQL БД случайные записи (N штук), но чтобы при последующей выборке при том же условии - список не изменился?

    @res2001
    Developer, ex-admin
    Вычисляете общее количество записей (N), которые можно выбрать.
    Генерируете 10 случайных чисел в диапазоне от 1 до N.
    Выбираете 10 записей из верхнего запроса, у которых row_id равен случайным числам.
    ID выбранных записей нужно куда-то сохранить, чтоб в следующий раз их использовать.
    Ответ написан
    Комментировать