• Как лучше подсоединить ip-камеру к сети?

    @res2001
    Developer, ex-admin
    На вай фай роутере настройте dhcp, чтоб раздавал какой-то не используемый диапазон из вашей подсети.
    Ну и стоит настроить раздачу одних и тех же адресов по МАСу, а то все равно не будете знать какой адрес присвоен камере.
    Ответ написан
  • Как считать из файла двоичные числа и перевести их в десятичные?

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

    Если файл записан на машине с одной и той же архитектурой, то при таком подходе проблем не будет.
    Если же архитектуры (процессоры) разные, то может вмешаться порядок байт (big/little endian). Это нужно учитывать.
    Так же, если вы читаете файл в котором записаны данные разных типов (например какая-то структура), то может возникнуть проблема с выравниванием полей в структуре. https://stackoverflow.com/questions/4306186/struct...
    Думаю, что к вашей текущей задаче эти нюансы не относятся. Но знать, что двоичная чтение/запись это несколько сложнее аналогичных операций с текстом стоит.
    Ответ написан
  • Сменил порт у openvpn, и вылетела ошибка, в чем дело?

    @res2001
    Developer, ex-admin
    Возможно это связано с разными значениями mtu на клиенте и сервере.
    Добавьте опцию mtu-test в конфиг на сервере и клиенте, тогда при подключении openvpn будет тестировать mtu и выведет в лог информацию о реальном мту, его можно будет прописать в опции tun-mtu
    https://community.openvpn.net/openvpn/wiki/Openvpn...
    https://forums.openvpn.net/viewtopic.php?t=25039
    Ответ написан
  • Как изменить кодировку в консоли windows для отображения кириллицы?

    @res2001
    Developer, ex-admin
    Что cmd в винде уже нормально переносит UTF8?
    Помнится в Вин7 и ниже его корежило если выставить UTF8. Правда я с тех пор этой темой не интересовался.

    По вопросу - посмотрите эти ссылки:
    https://otvet.mail.ru/question/174325990
    https://superuser.com/questions/269818/change-defa...

    Но я бы просто использовал chcp. Можете сделать себе ярлык на раб.столе на cmd.exe, чтоб там при запуске срабатывала эта команда.
    Ответ написан
  • Где можно купить "белый" IPv4 адрес "навсегда"?

    @res2001
    Developer, ex-admin
    Вот тут схема выдачи адресов в инете.
    У провов адреса могут теоретически забирать, сами провы могут умирать, так что нет ничего вечного на земле.
    Операторы VPS то же не вечны - разорится контора и абзац.

    Пусть девайс отправляет данные по доменному имени.
    Или пусть девайс сообщает кому следует (по доменному имени) свой актуальный IP.
    Или девайс может с помощью DDNS привязывать свой IP к доменному имени.
    Я бы выбрал первый вариант.
    Вопрос с доменным именем решить гораздо проще, чем с IP адресами - положил 100500 денег на счет и лет на 10 доменное имя твое.

    Вот вы сейчас выключите девайс, он например настроен на IPv4, включите через 10 лет, а там уже все на IPv6 и провы уже забыли, что когда то был IPv4. А если включите через 20 лет, то там уже и IPv10 подоспеет. Да по оптике уже никто не подключает, а использует квантовую передачу данных и там вообще нет никаких IP, а компьютеры отзываются по имени отчеству. Да и вообще железо уже тупо может не завестись.
    Ответ написан
  • Как подключить стороннюю библиотеку к проекту Qt через CMake?

    @res2001
    Developer, ex-admin
    Конечно же в target_link_libraries, просто добавьте имя библиотеки в конце через пробел
    Но обычно используют find_package/find_library/pkg_check_modules для того, что бы предварительно определить установлена ли библиотека в системе. А в target_link_libraries добавляют переменные, которые инициализируются этими функциями.
    Смотрите: https://cmake.org/cmake/help/latest/genindex.html
    Ответ написан
  • Почему ругается Visual Studio c++?

    @res2001
    Developer, ex-admin
    Это не странно - разные компиляторы ведут себя по разному. К тому же степень ругани компилятора очень сильно зависит от параметров компиляции.

    Вот что по поводу этой ошибки пишут в микрософте.
    Описание то же не особо помогает.
    Попробуй сделать n статической. Или определи как define.
    Ответ написан
  • Как организовать рабочее окружение разработки с использованием домашнего сервера?

    @res2001
    Developer, ex-admin
    ФТП в топку.
    Дайте в доступ по сети папки с файлами проектов с помощью NFS. На ноуте шару подключите.
    До кучи наверное есть смысл поднять VNC и ssh на сервере, чтоб можно было получить удаленный доступ к консоли и GUI.
    Ответ написан
  • Как понять, что ты уже умеешь программировать?

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

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

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

    Обычно бывает проще в ручную прошерстить реестр (HKLM и HKCU) по ключевым словам приложения, проверить Program Files, профиль Public (All Users) и профиль пользователя.
    Ответ написан
  • При поднятии openvpn сервера в Микротике там есть Add default route для чего это используется, чтобы подключенные vpn клиенты имели вход в интернет?

    @res2001
    Developer, ex-admin
    При включении этой опции весь трафик с клиентов пойдет через ВПН сервер, в т.ч. и интернет.
    Если вы не планируете раздавать интернет через ВПН, то нет смысла включать ее.

    Еще один момент. При включенной этой опции, если ВПН сервер находится не в той же сети, что и клиент, то ВПН может отвалится сразу после подключения. Чтоб ВПН не отваливался, маршрут до ВПН сервера надо прописать на клиентах статически через шлюз по умолчанию когда ВПН не подключен.
    Ответ написан
  • Как создать свой аналог cout на голом C++?

    @res2001
    Developer, ex-admin
    Вы хотите именно самостоятельно реализовать или задача не использовать стандартную библиотеку?
    Если самостоятельно, то для начала изучите https://en.cppreference.com/w/cpp/header/cstdarg
    и все что связано с функциями с переменным числом аргументов.

    Если второе то, это значит, что вы должны использовать функции предоставляемые ОС. Для Windows это WinAPI, для Линукс - POSIX.
    В винде уже есть готовые варианты - функции семейства StringCbPrintf.
    В Линукс ... ну тут все равно от стандартной библиотеки ни куда не уйти :), т.к. это часть ОС и POSIX.
    Ответ написан
  • Как высыпаться за 6 часов?

    @res2001
    Developer, ex-admin
    Не гонитесь все успеть. Выделяйте самое важное и успевайте только его.
    Не убивайте время в соц.сетях.
    Даже когда вы типа "отдыхаете" смотря ютуб или слушая музыку (сюда же можно и компьютерные игры включить и еще что-то) - это все мешает мозгу переваривать то что вы вложили в него за день и продуктивность в итоге падает. Лучше всего для отдыха прогулки/пробежки на свежем воздухе (без наушников) и общение с другзьями.
    Спать надо столько сколько надо организму.
    Так же рекомендую ложиться примерно в одно и то же время и вставать по будильнику. В выходные не спать до упора, а прибавить к будням 1-2 часа и хватит. В таком режиме через некоторое время организм адаптируется и уже сам будет вас укладывать и будить в нужное время.
    Ответ написан
  • Как найти где установлена программа?

    @res2001
    Developer, ex-admin
    Запускаете программу, запускаете менеджер задач, на закладке Detail добавляете столбец для отображения "command line", обычно там указан полный путь к программе. Если полный путь не указан, значит программа лежит где-то в путях перечисленных в переменной окружения PATH.
    Ответ написан
  • Как подключиться к нужному репозиторию github?

    @res2001
    Developer, ex-admin
    Клонируйте в другой каталог, скопируйте туда измененные файлы и сделайте коммит.
    Ответ написан
  • Как правильней сделать это на си?

    @res2001
    Developer, ex-admin
    Правильно пишут. Вас не смущает два void* в callback?
    У вас функция принимает 2 параметра на что угодно, хреновая идея. Тут и будут ошибаться.
    На сколько я могу судить data - это пользовательские данные, тут void* без вариантов, но можно обозвать например userdata и описать, что userdata в калбэке и в init - это одно и то же и библиотека больше никак не использует этот указатель.
    На мой взгляд event вполне можно описать какой-то заранее определенной структурой. Или хотя бы у этой структуры должен быть единый заголовок (включающий тип события и возможно что-то еще общее для всех событий). Посмотрите, например, на адресные структуры в сокетах: struct sockaddr, struct sockadd_in, struc sockaddr_in6. Это не самая удачная реализация, на мой взгляд, но достаточно распространенная. Гораздо лучше реализованы объекты в питоне (имею ввиду исходный код самого питона на Си), принцип тот же, но реализация более понятна.
    callback может принимать указатель на заголовок структуры, затем его можно будет преобразовать в структуру для конкретного типа события. Хорошо бы для этого предусмотреть в реализации набор макросов.
    Общий посыл таков: нужно как можно реже использовать void*, можно его использовать только тогда когда без этого ну вообще никак не обойтись (а если обойтись, то это будет ну очень "дорого"). К сожалению в Си время от времени приходится использовать void*. В т.ч. для решения этой проблемы в плюсах придумали шаблоны.

    Я так и не понял, что означает type.
    По моему идентифицировать издателей/подписчиков лучше всего по имени. И пусть имя они сами себе выбирают.

    Где набор функций для добавления/удаления подписчиков?
    Ответ написан
  • Можно ли освоить несколько ОС будучи программистом?

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

    Дистрибутивы линукс вообще друг от друга мало чем отличаются: менеджер пакетов, система инициализации.
    Причем и менеджеров пакетов и систем инициализации гораздо меньше, чем дистрибутивов Линукс.
    Граф.интерфейс сюда не включаю, т.к. в большинстве случаев его можно менять. И вообще знание инструментов GUI для администрирования важно только в винде (да и здесь все или почти все можно делать через командную строку).

    Линукс это по сути Unix, а значит сюда же можно добавить и FreeBSD, OpenBSD, Mac OS.
    Они чуть больше отличаются от Линукс (чем дистры линукс друг от друга), но так же являются представителями одного семейства. Кроме того все эти ОС являются POSIX совместимыми ОС.
    Так что изучив Линукс можно достаточно безболезненно перейти на любую POSIX совместимую ОС.

    Отдельно стоят только ОСРВ системы, но это достаточно узкоспециализированная тема. Кроме того и среди них есть POSIX совместимые, например QNX.
    Ответ написан
  • Распределение ipv6 клиентам openvpn. Как это реализовать?

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

    @res2001
    Developer, ex-admin
    В параметре -R можно еще указать listen-IP, возможно это вам поможет. Смотрите встроенную справку:
    plink --help
    Ответ написан
  • Как можно диск ужать?

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