Задать вопрос
  • Как сделать шлюзом роутера ноутбук для всех кто подключиться к моей сети вайфай?

    @res2001
    Developer, ex-admin
    Шлюзом можно сделать, достаточно раздавать IP своего ноута по DHCP как адрес шлюза по умолчанию. При этом ноуту нужно назначить статический IP и на самом ноуте прописать шлюзом по умолчанию правильный шлюз (это видимо будет сам роутер).
    На счет смотреть ... открытый трафик можно смотреть любым сниффером.
    Шифрованный сложнее. Для расшифровки HTTPS нужно ставить прозрачный прокси и настраивать подмену сертификата, решение не однозначное и в принципе пользователь может увидеть подмену и заподозрить не ладное. Не уверен, что под винду есть бесплатные решения, которые это умеют. В любом случае - это не очень просто. Решения под винду, которые я видел - все стоили денег. Универсального решения в этом случае нет, допустим для https есть варианты, а тот же openvpn, по моему без вариантов. Любой другой, не HTTPS, протокол использующий шифрование потребует своего персонального решения.
    Ответ написан
    Комментировать
  • Что случилось Windows?

    @res2001
    Developer, ex-admin
    Возможно по какой-то причине не доступен каталог с пользовательским профилем.
    Обычно он находится в c:\Users\<имя пользователя>
    В случае не доступности пользовательского профиля винда генерирует временный профиль с настройками по умолчанию. Соответственно никаких ваших ярлыков на раб.столе не будет, приложения, установленные в профиль так же будут не доступны.
    Временный профиль, на сколько я помню, генерируется где-то в c:\windows\system32 (если не доступен c:\users).
    Проверить расположение текущего профиля можно в cmd.exe введя команду:
    set USERPROFILE

    Если у вас действительно эта ситуация, то нужно разбираться почему ваш рабочий профиль не доступен.
    Варианты:
    1.профиль находится не в каталоге по умолчанию, а перенесен на другой диск/раздел и этот диск/раздел в данный момент не доступен.
    2.в организациях часто используют сетевые профили, в этом случае может быть не доступен сервер, где лежат профили пользователей.
    3.все в том же духе

    Другой вариант - рушится пользовательский реестр. Встречал подобное несколько раз. Эта проблема всегда по разному проявляется, в зависимости от того что именно в реестре ломается.
    В этом случае лучше всего создать нового пользователя в системе и работать из под него, данные перенести из старого профиля в новый, старого пользователя удалить.
    Ответ написан
    1 комментарий
  • Почему буфер приема WinSock заполняется мусором?

    @res2001
    Developer, ex-admin
    А если я смотрю strlen(recvbuf) то получаю 16. Откуда берется такой хвост?

    В recvbuf вы получаете не с-строку, а массив байт, применять строковые функции к массиву байт бессмысленно.
    Отличие с-строки от массива в том, что строка оканчивается завершающим нулем, а в массиве байт вы должны знать длину массива. В с-строке символ 0 не может быть в теле самой строки, только в качестве терминального символа, в массиве байт 0 - такой же равноправный элемент данных, как и все остальные, может быть в любом месте массива или не быть вовсе.
    Вам еще повезло, что выдает 16 байт, вместо 4, вполне могло бы сложиться так, что нулевого байта не было бы на достаточно продолжительном участке памяти, тогда был бы просто вылет из программы или какие-либо трудно диагностируемые глюки.
    Ответ написан
    5 комментариев
  • OneToOne (JOIN) vs лишнее поле у сущности?

    @res2001
    Developer, ex-admin
    Дублировать данные стоит только если есть острая необходимость. Например, высокая нагрузка на БД. В остальных случаях нормализуйте базу.
    Ответ написан
    4 комментария
  • Почему не обрабатывается переменная времени в batch-файле?

    @res2001
    Developer, ex-admin
    1. На счет символов % Moskus правильно сказал, их нужно удваивать в батниках, чтоб они сохранились в параметре программы. Плюсую. Думаю, что проблема именно в этом.
    2. Батники всегда исполняются в среде cmd. Собственно это cmd.exe является интерпретатором командных файлов (.bat и .cmd). Даже когда вы в проводнике запускаете батник двойным ЛКМом, проводник вызывает cmd.exe для исполнения скрипта. В этом легко убедится с помощью менеджера задач.
    3. Переменной %{localtime\:%X} в cmd никогда не было.
    Это легко проверить введя команду set в cmd, она выдаст список всех переменных окружения. Это внутренняя переменная mvp, отношения к cmd не имеет.
    Ответ написан
  • Какие языки программирования можно осилить без математики?

    @res2001
    Developer, ex-admin
    Да и если не веб - то же самое.
    Математика понадобится, если вы пойдете в область разработки, где нужна математика, в большей части прикладных задач математикой не пахнет. Само изучение языка программирования к математике отношения не имеет.
    Просто математический склад ума зачастую это то что предрасполагает к занятию программированием, при этом саму математику можно и не знать.
    Не суйтесь в науку, ЦОС, машинное обучение, компьютерную графику, криптографию - все остальное обходится без большой математики, на уровне максимум 7 класса школы, а чаще и 4 достаточно.
    Ответ написан
    Комментировать
  • Как гарантированный канал проложить?

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

    @res2001
    Developer, ex-admin
    Не правильно вы понимаете. Директивы препроцессора используются практически в любом проекте на С/С++. Посмотрите заголовочные файлы стандартной библиотеки. Темплейты - это про другое.
    ада с define-ами

    Это сильно преувеличено.
    Пример использования:
    1. При компиляции устанавливаете через опцию компилятора /D свой define: /Dsome_const_name
    2. В коде:
    #ifdef some_const_name
    #include "my_header.h"
    #else
    #include "my_other_header.h"
    #endif

    3.Все
    Ответ написан
    2 комментария
  • Невозможно преобразовать double в void*?

    @res2001
    Developer, ex-admin
    Где функция convert()?
    Про сравнение строк вам уже ответили.
    Но у вас еще в printf полная фигня. Вы ей передаете void* при этом в шаблоне у вас int и double. Нужно делать преобразование и разыменование:
    if (type == "int"){
        printf("%d", *((int*)d));
      } else if (type == "float"){
        printf("%lf", *((double*)d));

    Ну и вместо строк "int, "float", ... лучше использовать какие-либо целочисленные константы - их то можно сравнивать напрямую.
    На Си вашу затею так же красиво как в плюсах не реализовать. Для каждого типа данных нужна своя функция convert с уникальным именем (converti(int), convertd(double), ...).
    В макросе нет возможности автоматически узнать какой тип данных ему передан, поэтому ваш код не откомпилируется.
    Необходимо явно указывать какую функцию для вывода вызывать (или явно указывать какой тип данных в нее передается).
    Например имеем набор функций для вывода соответствующего типа данных:
    void putsi(int);
    void putsd(double);
    void putss(const char *);
    
    #define PUTS(t, val)   puts ## t(val)
    
    int main()
    {
       PUTS(i, 123);
       PUTS(d, 3.14);
       PUTS(s, "hello world!");
      return 0;
    }
    Ответ написан
    Комментировать
  • Как быстрее скопировать 600 тысяч файлов на удаленный сервер?

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

    @res2001
    Developer, ex-admin
    1.Пользовательские ассоциации лежат в реестре в HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts
    Просто уберите права на запись у пользователя для нужной ассоциации.
    Ответ написан
    Комментировать
  • Почему (на скрине) таблица Products подразделяется на несколько?

    @res2001
    Developer, ex-admin
    С ProductDetail то же все более менее ясно: у вас могут быть айфоны: красные, зеленые, ...
    Со Stocks не понятно зачем оно в таком виде. Возможно далее в видео поясняется что-нибудь.
    Т.к. это обучающий материал, то делайте скидку на то что это сильно упрощенная модель, вряд ли ее можно в таком виде использовать.
    Ответ написан
    Комментировать
  • Потоки Windows?

    @res2001
    Developer, ex-admin
    Это должно помочь:
    https://habrahabr.ru/post/73324/
    Ответ написан
    Комментировать
  • Как вывести каждый байт значения типа int?

    @res2001
    Developer, ex-admin
    1234 в шестнадцатеричной системе 4D2.
    Младший байт равен D2, в двоичной системе это: 1101 0010
    Как видите старший бит установлен в 1 - значит, если это знаковое число, то оно отрицательное и закодировано дополнительным кодом. Осталось только разложить D2 в дополнительном коде и получите -46 - это результат вам и вывела printf.
    Ответ написан
    Комментировать
  • Выбор ос. Windows 10 или Linux?

    @res2001
    Developer, ex-admin
    На вопрос вам никто не ответит, кроме вас. Что хотите то и ставьте.
    Что больше нужно, что больше нравится, чем лучше владеете.
    Можете поставить обе системы сразу, можете одну в виртуалку. Можете wine или WSL. Выбор за вами.
    Кто знает, что вы собираетесь делать за компом?

    В вин10 есть Windows subsystem for Linux - там убунту под капотом (сейчас вроде уже не только убунту - есть выбор), только без графики. Это лучше, чем bash for Windows.
    В винде то же можно перетащить пользовательский профиль на другой диск без проблем. Тут неоднократно об этом писалось.
    Из "дебианобразных" тут советуют Ubuntu или linux mint.
    Ответ написан
    Комментировать
  • Как реализовать сложения последовательности бит по модулю 2^32?

    @res2001
    Developer, ex-admin
    Что в питоне уже xor отключили?
    https://docs.python.org/3/reference/expressions.ht...
    Ответ написан
    Комментировать
  • Что такое Shared secret в DameWare mini remote control?

    @res2001
    Developer, ex-admin
    Это, видимо, пароль для подключения. С DameWare приходилось сталкиваться очень давно, сейчас эта поделка уже не актуальна. Пароль должен задаваться на стороне сервера к которому вы подключаетесь.
    Ответ написан
  • В чем разница между malloc() и calloc() а также free() и dellete()?

    @res2001
    Developer, ex-admin
    Разница только в том, что calloc обнуляет выделенную память перед тем, как возвратить указатель, а malloc этого не делает. Внутри calloc, наверняка вызывает malloc для выделения памяти, а потом memset для обнуления. Так что calloc это просто надстройка над malloc для удобства. Вот схематично реализация calloc:
    void * calloc (size_t num, size_t size)
    {
       void * mem = malloc(num * size);
      memset(mem, 0, num * size);
      return mem;
    }

    Сами эти функции оперируют исключительно размером выделяемой области в байтах, им все равно что вы в дальнейшем будете делать с выделенной памятью - инты туда писать или "стринги".
    Ну и как бы никто не мешает вам одну и ту же область памяти сначала использовать как массив интов, а потом как массив байт. Или так например:
    int a = 0x33323130;
    char * c = (char*)&a;
    printf("%c %c %c %c\n", c[0], c[1], c[2], c[3]);

    Пример не использует malloc/calloc для выделения памяти, память выделяется в стеке просто объявлением int a. Тут я попытался показать, что содержимое памяти можно интерпретировать как угодно, главное находится в границах выделенного диапазона.
    Причем языки С/С++/asm это позволяют делать, а другие - нет.
    Пример предполагает, что int имеет размер 32 бита, не для всех платформ это так, но в основном - именно так.
    Кстати этот пример можно использовать для определения порядка байтов платформы: если выведется "1 2 3 4" значит у вас LITTLE ENDIAN, а если "2 1 4 3" - BIG ENDIAN.

    PS: free() - это Си, а delete - C++
    Ответ написан
    4 комментария
  • Что такое с Windows Defender?

    @res2001
    Developer, ex-admin
    Windows Defender - это бесплатный антивирус от микрософта.
    Поставьте uTorrent в исключения и все будет нормально. Ругается, похоже, именно на сам uTorrent, а не на то что он качает.
    Видимо микрософт решил что торенты - это зло и борется с ними как может.
    Ответ написан
  • Какие opensource решения для почты на серврере (imap и smtp) кроме devcot + postfix сущестуют?

    @res2001
    Developer, ex-admin
    Ваш вариант вполне не плох. Возможно dovecot + exim был бы лучше, но в плане настройки примерно так же. Включите логирование на сервере и клиенте и исправляйте ошибки конфигурации.
    Инструкций разных полно в интернете, ищите.
    Ответ написан
    Комментировать