• Как корректно отслеживать завершение потоков?

    @res2001
    Developer, ex-admin
    Предлагаемый POSIX вариант это join. Если не устраивает, то вы сами можете конструировать проверку завершения потоков теми средствами какие вам удобно и какие доступны.

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

    Имейте ввиду, что join все равно надо вызвать, когда удостоверитесь, что поток завершен. Чтоб окончательно освободить все ресурсы потока. Или надо заранее делать поток отсоединенным (detach). Я бы использовал join, а не detach.
    Ответ написан
  • Почему считывается с файла только 1 слово, а не весь текст?

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

    Но могу предположить, что в House, например, поле address является std::stringом.
    А std::string хранит свою строку в динамической памяти и sizeof(std::string) в общем случае совсем не равен размеру хранящейся в нем строки. Записывая в файл sizeof(std::string) байт вы записываете грубо говоря только адрес памяти где лежит строка и размер строки, но не саму строку.
    Вам нужно делать нормальную сериализацию/десериализацию полей объекта House.
    Ответ написан
    4 комментария
  • Объединение белого и серого ip?

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

    Лет 10 или больше назад собирал подобную схему для балансировки нагрузки используя шлюз на базе FreeBSD, тамошний фаервол ipfw и множественные таблицы маршрутизации.
    В линукс есть network namespaces, в серверной винде VRF - это все технологии позволяющие использовать множественные таблицы маршрутизации в этих ОС. С помощью этих инструментов, скорее всего, можно собрать аналогичный шлюз. Но это не точно. Могу поручится только за то, что на FreeBSD это возможно.
    Ответ написан
  • Как в операторе for задействовать определенные числа?

    @res2001
    Developer, ex-admin
    for(int i = 1; i < 11; i+=2)
    Ответ написан
    Комментировать
  • Доступ к компьютеру через RDP вне локальной сети?

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

    При прямых руках можно и RDP выпустить наружу без дополнительных прослоек в виде ВПН. Но это надо делать на серверной винде с поднятой службой RDS, на десктопе скорее всего полностью обезопасить RDP подключение не выйдет.
    Вот тут статья о защите RDP. Она хоть и старая уже, но принципы те же.
    Еще несколько полезных статей:
    https://winitpro.ru/index.php/2022/02/17/ustanovka...
    https://winitpro.ru/index.php/2019/12/17/rdp-tls-s...
    https://winitpro.ru/index.php/2022/03/17/nastrojka...
    Ответ написан
    Комментировать
  • Как создание таймера на удаление файла в общей папке?

    @res2001
    Developer, ex-admin
    В шедулер на ежедневный запуск ночью батник или скрипт на poshе, который будет удалять файлы старше 14 дней по дате модификации.
    По posh не подскажу, а батник написать достаточно просто.
    Команда forfiles может сделать все, что тебе нужно. Смотри справку: forfiles /?
    Ответ написан
  • Не запускается ПК. Как найти причину?

    @res2001
    Developer, ex-admin
    Стандартный подход в таких случаях: оставить минимум подключенного железа, одну плашку памяти, так что бы хотя бы тест БИОС проходил и что-то на экран показывалось, сделать диагностическую флешку и начать тестирование. Начинайте с памяти, дальше нагрузочный тест проца, потом все остальное. Подключать железо по одному и тестировать вновь подключенное.

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

    На самом деле, вы уже успели испробовать все варианты с оборудованием и видимо это не принесло результатов. Пора нести комп в сервис.
    Ответ написан
    2 комментария
  • Как соединить 2 ЛВС через vps?

    @res2001
    Developer, ex-admin
    На VPS настраиваете ВПН сервер.
    ВПН клиенты можно настроить на роутерах на имеющихся или на новых. Можно на компах внутри сетей.
    Настраиваете маршрутизацию и фаерволы.
    Пользуетесь.
    Ответ написан
    Комментировать
  • Почему при умножении 1*2*3*4*5*6*7*8*9*10*11*12*13*14*15*16*17 получается совсем что-то не то?

    @res2001
    Developer, ex-admin
    Ответ в комментариях
    Ответ написан
    Комментировать
  • Правильно идет вывод y=ln(x)?

    @res2001
    Developer, ex-admin
    В подобных заданиях у тебя будет несколько ответов.
    Тебе надо найти несколько значений логарифма.
    Начальное значение x = a, конечное значение x = b, промежуточные значения x вычисляются как Xn = Xn-1 + h, т.е. просто прибавлением шага к предыдущему значению. Вычисляешь для каждого x значение логарифма. Выводишь все значения на экран.

    В общем случае функция логарифма принимает 1 аргумент (x). В случае с питоном есть и второй аргумент - это основание логарифма. У тебя основание это всегда число e, т.к. логарифм натуральный (ln).
    В других ЯПах, обычно имена функций логарифмов по разному основанию различаются, например log - натуральный логарифм, log10 - десятичный, log2 - двоичный. Это из стандартной библиотеки Си.
    Ответ написан
    2 комментария
  • Как создать BAT для пинга произвольных хостов?

    @res2001
    Developer, ex-admin
    В текстовом файле с расширением bat прописать 6 раз команду пинг с указанием произвольных хостов.
    Можно сделать в цикле с генерацией случайных чисел для IP адреса.
    Можно передавать хосты в параметре.
    Ответ написан
    Комментировать
  • Перенести коммиты с локали в удаленный репозиторий?

    @res2001
    Developer, ex-admin
    Добавите в локальную репу URL удаленного репозитория с помощью git remote add ...
    Или, если надо изменить старый URL, то git remote set-url ...
    Для справки git remote --help
    Дальше пушите в добавленную репу.
    Ответ написан
    Комментировать
  • Есть ли клиент для windows для подключения по cmb?

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

    @res2001
    Developer, ex-admin
    При шифровании файл шифруется публичным ключом, содержащимся в сертификате. Для расшифровки нужен парный приватный ключ. Шифруется весь файл. На выходе процедуры новый файл с зашифрованным содержимым старого файла.
    При подписании файла используется приватный ключ. Приватный ключ в сертификате не содержится. Для проверки подписи у проверяющего должен быть парный приватному ключу сертификат, содержащий публичный ключ. Подпись может добавляться к файлу в конец или может быть в виде отдельного файла (обычно с расширением sig) - открепленная подпись.

    Про DKIM нормальное общее описание есть в вики, в т.ч. указано что конкретно подписывается. Тут подписание идет некоторых полей письма, а не всего письма. Подпись добавляется как одно из полей письма в формате SMTP.
    Ответ написан
    1 комментарий
  • Каким софтом просматривать список функций исполняемого файла в Linux?

    @res2001
    Developer, ex-admin
    dumpobj, nm - просмотр импорта/экспорта
    ldd - зависимости от библиотек
    Ответ написан
    2 комментария
  • Как работают подобного рода программы для очистки ОЗУ?

    @res2001
    Developer, ex-admin
    Уменьшить количество используемого ОЗУ в винде можно только завершив приложения или службы. Видимо эта софтина останавливает какие-то не нужные с ее точки зрения системные службы.
    Я бы не использовал подобного рода программы совсем. А так же программы типа ccleaner.
    Т.к. после использования подобных программ вы можете вдруг когда-нибудь увидеть, что у вас перестал работать какой-то функционал винды. И вы, как обычно, ничего при этом не делали.

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

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

    Приоритет это просто цифра в свойствах процесса, на самом деле потока, т.к. именно потоки выполняются на процессоре. Процесс это лишь контейнер для потоков. В каждом процессе может быть несколько потоков. Количество потоков в процессе можно увидеть в менеджере задач, добавив соответствующее дополнительное поле на закладке Details.
    С приоритетом потоков работает планировщик потоков операционной системы (не путайте с планировщиком задач). Планировщик выдает процессорное время потоку в зависимости от его приоритета. Если в системе есть несколько ожидающих процессорного времени потоков, то процессор получит поток с более высоким приоритетом. Если таких потоков несколько то они выстраиваются в очередь и процессор получают в зависимости от порядка попадания в очередь. При этом потоки с пониженным приоритетом ждут в очереди, когда до них дойдет раздача процессора.
    Но если в системе все потоки с одним приоритетом, но все потоки "спят" и только один активно исполняется (игра), то в такой ситуации изменение приоритета особой роли не сыграет.
    Ответ написан
    Комментировать
  • Какой ноутбук купить: MacOS или PC?

    @res2001
    Developer, ex-admin
    Lenovo IdeaPad Gaming 3
    Asus TUF Gaming A17

    Это игровые ноуты. А значит они большие и тяжелые, и при нагрузке включают все свои вентиляторы и шумят как паровозы. Как они попали в один список с Масами? Про вариант от MSI не скажу.

    Про Мас я не в курсе, не было опыта. Про остальные немного выскажусь.
    Вместо предложенного варианта от Lenovo, я бы смотрел на Lenovo Legion 5 (7 Gen). Он то же идет как игровой. Но процессор там более свежего поколения, матрица лучше, набор портов интереснее. Но и дороже, естественно.
    На сайте асуса и леново есть не плохие презенташки для всех моделей с полными тех.характеристиками. Правда моделей много, может уйти куча времени на анализ. Подбирайте по потребностям. В принципе, если не Мас, то выбирать стоит из этих двух производителей.

    Из lenovo стоит смотреть на модели ThinkPad TXX, на мой взгляд, самая нормальная линейка у них для работы. Хоть меня и бесит их trackpoint.

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

    Я бы брал с процом от AMD не ниже Ryzen 5 5600. 16 Гб ОЗУ минимум. Смотрите, чтоб ОЗУ можно было менять (добавлять). Сейчас часто встречаются модели с распаянной памятью. SSD с размером по вкусу, хорошо если будет еще один доп.слот для SSD. Себе я еще смотрю, чтоб был помимо HDMI еще 1 дополнительный Display Port, т.к. обычно использую 2 внешних монитора.
    Ответ написан
    1 комментарий