• Можно ли заставить терминал Windows понимать спец символы терминала?

    @res2001
    Вроде и в стандартном терминале можно. По умолчанию режим обработки эскейп последовательностей выключен. Но его можно включить.
    https://learn.microsoft.com/en-us/windows/console/...
  • Что делать, если при запуске программы в командную строку ничего не вывелось?

    @res2001
    Похоже, у вас условие первого цикла for не верное - программа просто не входит в цикл, т.к. условие на первой же итерации не выполняется. Нужно !password.equals("123") или как там у вас в яве логическое отрицание.
  • Файлы NTUser.dat *.regtrans-ms лежащие в C:\windows\temp забили всю память на диск ц. Что это и как исправить?

    @res2001
    Илья лук, В интернетах пишут, что regtrans-ms и blf файлы - это файлы журнала, которые появляются при создании копии образа системы (backup).
    Можно удалять.
    https://social.technet.microsoft.com/Forums/ru-RU/...
    https://remontka.pro/ntuser-dat-windows/
    https://geekon.media/fajl-ntuser-dat/
  • Файлы NTUser.dat *.regtrans-ms лежащие в C:\windows\temp забили всю память на диск ц. Что это и как исправить?

    @res2001
    cmd проводник и тоталкоммандер их не видит.

    Видимо потому что они скрытые. В тотале надо разрешить показывать скрытые файлы. В cmd в dir то же есть соответствующая опция, по умолчанию - не показывает.
    Похоже на то, что у вас создается верменный профиль пользователя.
    Что показывает команда: echo %USRPROFILE%?
  • Какие инструменты можно использовать для создания утилиты в консоли windows?

    @res2001
    LevSvl08, Можно обойтись и батником в большинстве случаев.
    Но powershell более современный и гибкий инструмент.
  • Как работает брандмауэр Windows?

    @res2001
    MirG,
    У меня политики по умолчанию пересекаются, видимо

    Политики по умолчанию не могут пересекаться. Они просто есть. Политики - это последнее правило в списке.
    Политика по умолчанию действуют, когда пакет проверен по всему списку правил и никакое правило не сработало.
  • Как работает брандмауэр Windows?

    @res2001
    И еще такой момент фаерволы бывают с сохранением состояния и без него.
    Смысл в том, что если фаервол с сохранением состояния, то он сохраняет состояние соединения и дальше достаточно проверить был ли раньше разрешен трафик по этому соединению.
    Честно говоря я не знаю, фаервол в винде с сохранением состояния или без.
    Если с сохранением, то достаточно политики по умолчанию, разрешающей исходящие соединения (а эта политика действует по умолчанию), как все программы, запущенные на компе, получат доступ в сеть. Но только в качестве клиента. Серверам надо прописывать входящие правила явно.
  • Как работает брандмауэр Windows?

    @res2001
    MirG, Нормально там все работает и вроде достаточно прозрачно.
    Только после изменений в списке разрешенных приложений надо жать кнопку Ок, чтоб увидеть изменения в правилах фаервола.

    Просто я удалил все правила у firefox, удалил его из списка на скриншоте, а он все равно имеет доступ к сети.

    Я же писал выше, что правила могут пересекаться. Надо проанализировать весь список правил.
    Разрешения приложений действуют только на некоторые правила, к которым "привязано" данное разрешение, а не на весь список правил.

    Кроме того есть еще политика по умолчанию, она делится по профилям и по типу трафика (входящий/исходящий). Политика по умолчанию для профиля Public для исходящего трафика - разрешить, а для входящего - блокировать.
    Политики по умолчанию для профилей находятся в свойствах Windows Defender Firewall with Advanced Security, если ПКМнуть по верхней записи в дереве.

    Так же, если в правилах фаервола явно не разрешено приложение, то может быть правило разрешающее трафик по порту/протоколу, используемому приложением, что то же дает доступ приложению к сети.
  • Как работает брандмауэр Windows?

    @res2001
    MirG,
    Но ни чего не меняется

    Правила в списке могут перекрывать условия друг друга и проверка может просто не доходить до вашего вновь созданного правила, а срабатывать где-то на другом правиле.
  • Какие есть надёжные способы замены ip (типа vpn)?

    @res2001
    artur444, Могут быть, конечно.
    Лично я не пользуюсь этим сервисом, но исключать подобные варианты не стал бы. К тому же от этого не спасет ВПН. Если у вас сервис уже работал на русской винде, то скорее всего они это не используют. Но могут быть и другие варианты "вторичных признаков".
  • Какие есть надёжные способы замены ip (типа vpn)?

    @res2001
    CityCat4, Это вряд ли. ВПН трафик к нему не попадает.

    В легкую он может раскусывать только адреса известных ВПН сервисов или, как писал Drno, адреса хостингов. Это не то же самое, что распознавать факт прихода через ВПН.
    Кстати, ВПН в этом случае не обязателен, т.к. не стоит задачи спрятать трафик, можно на VPS настроить прокси вместо ВПН.

    Но становится проблемой найти забугорный VPS с адресами не заблокированными в ChatGPT.
    Можно, например, попробовать поискать VPSы в каких-нибудь экзотических странах, в Южной Америке или в Африке.

    Так же он может распознавать какие-то вторичные признаки, типа русской винды или установленной русской раскладки клавиатуры.
  • Как правильно перенаправить трафик с одного сервера на другой?

    @res2001
    Что мешает пользователям ВПН раздать в качестве адреса ДНС сервера адрес вашего DNS adguard home?
    Многие ВПН позволяют это делать.
  • Как правильно написать функцию принимающую универсальную ссылку?

    @res2001
    forward применяется там где надо передать дальше ту же семантику, что использовалась при вызове текущей функции. В конструкторе istream_iterator вариантов нет - он принимает только обычную ссылку на поток, так что нет смысла тут заворачивать в forward.
    https://en.cppreference.com/w/cpp/iterator/istream...
  • Почему boolean использует больше памяти чем byte?

    @res2001
    Меньше места он занимать не может из-за ограничений современной архитектуры процессоров. Тут уже отвечали про минимально адресуемую область памяти, смотри выше.
    Другое дело, что можно сделать оптимизированную реализацию массива boolean, где каждый отдельно взятый boolean будет занимать 1 бит. Но это не то же самое, что переменная типа boolean.
  • Почему boolean использует больше памяти чем byte?

    @res2001
    Можно сделать кастомную реализацию с побитовыми операциями, тогда можно будет засунуть восемь boolean переменных в один байт, но вряд ли есть хоть один язык программирование, где такое будет сделано штатно

    Есть такое. В С++ std::vector<bool> именно так и реализован:https://en.cppreference.com/w/cpp/container/vector_bool
    Для него в std написана специализация.
  • Как сервера взаимодействуют с клиентом если IP адреса не уникальные?

    @res2001
    Holy Molly, Есть технологии, позволяющие обходить NAT. Смотри, например, STUN.
    Любое ПО, которому нужен p2p обмен использует ту или иную технологию обхода NAT. Это все не просто и надо глубоко понимать вопрос, чтоб в этом разобраться.
    Любая технология обхода NAT зависит от некоего сервера, имеющего белый известный всем участникам адрес (или должен быть способ узнать этот адрес). Этот сервер нужен только на этапе "установления соединения", дальше обмен идет на прямую.
  • Как убедиться что атомарные операции будут выполнены точно правильно?

    @res2001
    Totem, По многопоточности в стандартной библиотеке есть книга Энтони Вильямса.
    По системным функциям Линукс можно ман читать или например книгу Майкла Керриска.
    Про винду - у микрософта есть хорошая документация в свободном доступе. Книги не скажу, наверняка то же что-то есть.
    Неплохой курс по параллельному программированию есть тут: https://compscicenter.ru/courses/hp-course/
  • Как убедиться что атомарные операции будут выполнены точно правильно?

    @res2001
    Wataru,
    Но внутри condition variable использует те же самые сигналы.

    Не знаю как устроены мьютексы и condvarы, исходники ядра линукс не смотрел. Не уверен, что там сигналы, т.к. сигналов ограниченное количество, а тех же condvarов вы можете сделать у себя в приложении сколько угодно. Впрочем, не настаиваю.
    Не будет. Yield лишь говорит, что этот поток можно сейчас вытеснить

    На сколько я понимаю, в наиболее типичном применении как раз и будет лучший случай, т.к. система после yieldа, скорее всего, сразу уберет поток с исполнения и поставит в конец очереди, а т.к. потоки в примере с одним и тем же приоритетом, то следующий раз очередь на выполнение для потока b дойдет только после потока a.
    Тут много допущений, которые надо проверять, и возможно в конкретной системе ТС будет не такое поведение.

    На сколько я знаю под виндой нет родного condvar, поэтому реализации наверняка используют те самые WaitForSingleObject и Event, так что это по сути то же самое. Только имеющее стандартный интерфейс. Согласен - мьютекс надо лочить, это дает немного оверхеда. Для винды я видел пару реализаций condvar, в то время когда MSVS еще не дорос до собственной, а С++11 уже вышел.
    В обычном случае лично я предпочту использовать стандартный интерфейс, чем платформозависимый.
    Но если это критическая к скорости выполнения задача, то возможно стоит использовать родное решение для конкретной платформы, но только в случае если стандартное заметно проигрывает с скорости.
  • Как убедиться что атомарные операции будут выполнены точно правильно?

    @res2001
    Wataru, Задействовать сигналы для связи между потоками кажется избыточным.
    В этом случае я бы использовал ожидание на condition variable.

    Так же можно использовать барьеры (std::barrier в С++20 или pthread_barrier) - собственно барьеры "специализированы" на синхронизации потоков. Барьеры, скорее всего, сделаны на мьютексах и condvarах, не то чтобы это какой-то отдельный примитив синхронизации - просто готовая реализация для частного случая.

    Если задача только в синхронизации потоков, то атомики не нужны.

    Конкретно в этом примере использование атомиков в сочетании с yieldом для синхронизации потоков будет самым дешевым, на мой взгляд. В других более реальных случаях, там где ожидание может быть хоть сколько-нибудь продолжительным, стоит использовать что-то другое (барьеры или condvar).
  • Как убедиться что атомарные операции будут выполнены точно правильно?

    @res2001
    Totem, Когда имеете дело с потоками, то вообще нет никаких гарантий порядка выполнения, кроме тех, которые ты обеспечил себе сам.
    Циклы в атомарных операциях используются повсеместно.