• Как выполнить из C++ вызов другого приложения?

    vt4a2h
    @vt4a2h Куратор тега C++
    Senior software engineer (C++/Qt/boost)
    Ну вы же не указали чем открывать файл. Напишите в командной строке, то, что вы написали в system и посмотрите на результат.
    Ответ написан
    2 комментария
  • Какой аналог systemd во FreeBsd?

    demon416nds
    @demon416nds
    Разработчик на чем попало
    гуглите rc.d
    ну или на форуме лиссяры спросите
    Ответ написан
    Комментировать
  • В определении функции и в самой функции выделяются разная память?

    То есть когда мы опрелеляем функцию то дополнительно занисаем память?

    Когда мы определяем функцию, мы рассказываем о функции компилятору. В итоговый код, при отключенном добавлении отладочной информации, определение функции не попадает.
    Ответ написан
    Комментировать
  • Может ли блок питания влиять на скорость работы компьютера?

    Melkij
    @Melkij
    PostgreSQL DBA
    На стабильность - да. На производительность - нет.
    От блока питания нет обратной связи по типу "не могу дать столько мощности, ограничь нагрузку"
    Ответ написан
    4 комментария
  • Необходимо передать некий массив с одного процесса на другой, Как это сделать?

    Разделяемая память.
    Ответ написан
    Комментировать
  • Возможно ли установить ярлык на флешку?

    Jump
    @Jump
    Системный администратор со стажем.
    Флешка накопитель информации - в системе представлена как диск.
    Доступ к диску в Windows осуществляется в проводнике по букве присвоенной диску.
    Я так понимаю вам нужен ярлык ссылающийся на нужную букву?
    Если так-
    • Сделать ярлык не сложнее чем любой другой ярлык - просто указать в ярлыке путь.
    • Сделать так чтобы конкретной флешке присваивалась одна и та же буква диска на конкретном компьютере - можно, но сложнее.
    • Сделать так чтобы конкретной флешке присваивалась ода и та же буква диска на всех компьютерах невозможно.
    Ответ написан
    3 комментария
  • Какую базу данных использовать для 93 млн строк (товары)?

    @awesomer
    93 млн. - сама по себе смешная нагрузка для современных СУБД на современных компьютерах.
    Выбор СУБД зависит от того - а что именно вы собираетесь с этой базой данных делать.- в вопросе это не указано.

    Ну например, если ваша цель быстро искать в это БД товары, а ваши 30 колонок - это фильтры, то отлично подходит СУБД для именно что полнотекстового поиска (пусть вас не смущает название, для фасеточного поиска она тоже подходит отлично). Это, к примеру:

    • если вы ориентированы на скорость SphinxSearch
    • если вам нужен кластер, то это ElasticSearch
    • если вам нужны традиционные инструменты типа SQL, - то это PostgreSQL, MySQL.


    Если же задача другая - то идеальным выбором может быть и другая СУБД.
    Нужны детали.

    Думаю, дело в том, что вы увидели эти 90 млн. и решили, что нужно какое-то специфичное решение и не стали даже уточнять детали - а на деле, ничего такого в этих 90 млн. нет. А вот детали задачи - важны.

    Рассмотрим задачу быстрой перезаписи - вы имели ввиду все 90 млн. перезаписывать целиком? Не частично. А вот это будет действительно проблемой. Мало какая из СУБД способна на быстрые изменения такого объема.

    Ну и третий раз повангую - максимально быстрый доступ к данным - это если данные размещены в оперативной памяти. Один из наиболее развитых инструментов, с размещение в оперативной памяти и с функционалом СУБД - Tarantool. Быстрее, чем in-memory DB, к которым относится Tarantool - и вариантов нет.

    Но понадобится соответствующее количество оперативки.

    Если оперативки мало, то можно глянуть Aerospike. Это "почти in-memory DB". Но объемы данных могут быть огромны, при небольших запросах к оперативке. От оперативки требуется только целиком вмещать индексы, а не сами данные.

    Короче, ванговать мне надоело.

    У вас нет постановки задачи - ответить вам посему и нечего конкретного невозможно.
    Ответ написан
    Комментировать
  • Какой роутер нынче хорош дома для гика?

    bingo347
    @bingo347
    Crazy on performance...
    Поделюсь своим гиковским вариантом:
    Железо:
    Мать: ASUS H110M-K
    Проц: Intel Pentium G4560
    Память: Kingston HyperX FURY, DDR4, 2 по 4ГБ, разгон до 2.4ГГц
    SSD: AMD Radeon R3 Series на 60ГБ
    HDD: WD Black на 2ТБ (файлсервер/бэкапы)
    Доп сетевуха: TP-LINK TG-3468 (для локалки)
    WiFi сетевуха: TP-LINK TL-WDN4800 - антены раскиданы по квартире удлинителями
    Софт:
    ОС: Debian 9 (Linux 4.9)
    hostapd - делаем из WiFi сетевухи точку доступа
    dnsmasq - dhcp server + dns cache
    iptables - nat + firewall
    openVPN - в качестве сервака для удаленного доступа в домашнюю сеть
    ручная настройка интерфейсов (/etc/network/interfaces), bridge между локалкой, WiFi и VPN
    5af21e07203ff715392288.jpeg5af21e225d137262866893.jpeg
    для роутера этого достаточно, но я на этом не остановился...
    купил белый ip у провайдера
    nginx - торчит наружу портами 443 и 80 и в локалку - 80
    node.js - личный сайтик + автоматизация (те же бэкапы)
    gitea - личный git
    verdaccio - личный npm
    самописная приблуда на go - сервак для STM32 контроллеров (Умный дом)
    Samba - файлопомойка
    Transmission - торентокачалка (рулится из node.js через cli интерфейс)
    пока на этом остановился
    Ответ написан
  • Динамическое выделение памяти для массива, в чем ошибка?

    zagayevskiy
    @zagayevskiy
    Android developer at Yandex
    1) Realloc принимает размер ожидаемой памяти, ты суёшь ему просто 2.
    2) После этого ты пишешь в какую-то рандомную память.
    3) Ты в функцию передаешь одинарный указатель. Чтобы это работало и указатель менялся, надо передавать двойной. То есть, после выхода из функции, если у тебя был реаллок, в твоём буфере всё равно мусор.
    4) Перевыделять каждый раз второй буфер не нужно.
    5) копировать из одного буфера в другой не нужно. Достаточно буферы свопнуть(поменять местами через третью переменную).
    Ответ написан
    7 комментариев
  • Использование прерываний в ОС Windows?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Assembler
    Седой и строгий
    Для этого нужно написать драйвер режима ядра.
    Ответ написан
    Комментировать
  • Как установить драйвера x86 на Windows 7 x64?

    Jump
    @Jump Куратор тега Windows
    Системный администратор со стажем.
    Драйвер это программа предоставляющая доступ конкретной операционной системе к конкретному оборудованию.
    Пишут драйвер для операционной системы, учитывая все ее особенности и требования.
    Другая система - другой драйвер.

    Можно ли как то обмануть систему?
    Конечно можно - ставите принудительно драйвер и все.
    Система будет пытаться давать команды драйверу, он их не будет понимать, и устройство не будет работать.

    Система, в которой она используется на данный момент имеющиеся 4 Гб ОЗУ кушает на ура
    Ну я очень сомневаюсь что система столько кушает, особенно если речь идет о win7 x32.
    Память у вас кушает прикладной софт, а не система.
    Ответ написан
    9 комментариев
  • Зачем нужен указатель на void?

    @Mercury13
    Программист на «си с крестами» и не только
    void* используется как указатель на сырые байтовые данные, не имеющие конкретного типа.
    Обычно это используется…
    1. В чтении-записи в файлы и на устройства, когда мы можем писать туда абсолютно любые типы.
    2. В «многоликих» функциях, которые могут принимать данные разных типов (malloc/calloc, часть функций WinAPI и ODBC).
    3. Как дескриптор — указатель, который запрещается разыменовывать. В Си для этого также часто используют указатель на недоопределённый тип, в Паскале с другими правилами эквивалентности типов — на пустой record. Но только пока не появится очередная многоликая функция вроде CloseHandle.
    4. Для обеспечения т.н. замыкания — передачи callback’у контекста, откуда была вызвана функция, вызвавшая callback.
    BOOL WINAPI EnumWindows(
      _In_ WNDENUMPROC lpEnumFunc,
      _In_ LPARAM      lParam
    );
    
    BOOL CALLBACK EnumWindowsProc(
      _In_ HWND   hwnd,
      _In_ LPARAM lParam
    );

    Вот этот LPARAM, который обычно определяется как какой-то указатель, и есть замыкание. Функция EnumWindows обещает передать его в функцию lpEnumFunc без изменений.
    (В Си++ для этого также используют виртуальные интерфейсы, но такой метод, сами понимаете, языкозависим и не годится для межъязыкового API.)

    Что происходит на стороне функции? Одно из двух (считаем, функция написана на ЯВУ).
    1. Либо вызывается некая функция устройства, которая говорит: «записать 100 байт», и дальше уже работает железо.
    2. Либо мы преобразуем void* в нужный нам тип и работаем с ним.

    Типы указателям дают по трём причинам.
    1. Вы забыли про операцию «разыменовать указатель». Чтобы его разыменовать, он должен иметь тип!
    2. Чтобы не ошибаться и не переприсвоить несовместимые указатели.
    3. Для полиморфизма — в Си++, давая delete x, мы даже можем не хранить, сколько байтов в блоке, поскольку мы знаем длину типа. (Есть ещё и виртуальные классы, но это другой вопрос.)
    Ответ написан
    Комментировать
  • Разграничение API приложения и тяжелых вычислений?

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


    Выигрыш, думаю, в отдельном сервере очевиден
    Ответ написан
    Комментировать
  • Где и как вы храните SSH и PGP ключи?

    ruToken, eToken, *token и прочие смарт-карты или HSM.
    Ответ написан
    7 комментариев
  • Несколько раз в сутки зависают все сайты на сервере. Помогает только init 6. В чем может быть проблема?

    DMGarikk
    @DMGarikk
    Lead Software Developer
    переустанавливайте сервер с нуля
    если вы не знаете как и откуда попал вирус, смысла искать неисправности в работе апача нет, ваша система уже полностью скомпрометирована
    Ответ написан
    6 комментариев
  • Как поддерживается безопасность при выполнении команд через ssh?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Когда мы пытаемся выполнить команду (впринципе без разницы какую, пускай будет ls -la) (пункт 4)
    делаются ли какие-то дополнительные проверки на сервере с точки зрения безопасности?

    Нет. Пользователь зашедший по ssh ничем не отличается от обычного локального пользователя.

    Может кто-то подскажет какой алгоритм выполнения команды на удаленной машине? (При условии что мы уже подключились к серверу).

    Достаточно посмотреть в вывод команды pstree:
    ├─sshd(700)─┬─sshd(8208)───sshd(8214,jcmvbkbc)───bash(8215)───ssh(8231)
    │           └─sshd(8232)───sshd(8238,jcmvbkbc)───bash(8239)───pstree(8244)

    чтобы понять, что после подключения по ssh, sshd (демон ssh, процесс 8238) запускает login-shell (процесс 8239), который показывает приглашение ввода ($). Когда в нём набирается команда pstree (процесс 8244), шелл просто запускает эту команду.
    Ответ написан
    6 комментариев
  • Есть ли техническая возможность у власти полностью "выключить" интернет в РФ?

    Jump
    @Jump
    Системный администратор со стажем.
    Есть ли техническая возможность у власти полностью «выключить» интернет в РФ?
    Разумеется.
    Как минимум есть чисто физическая- отрезать кабель.
    А можно и файервол поставить.
    В общем такая возможность есть у властей любой страны.

    В связи с текущей истерией борьбы с "терроризмом" в РФ активно начала продвигаться идея полного запрета интернетов.
    Наоборот, у нас вроде не пошли по пути полного запрета, наблюдаются только точечные блокировки.
    В основном будут блокировать самые опасные вещи - соцсети, и прочие сми.

    Анохин предлагает ограничить доступ в соцсети до трех часов в день
    Ну депутаты предлагать могут что угодно, это же не специалисты, и не всегда адекватные люди.

    также ввести обязательную регистрацию
    Это будет - тут без вариантов. Сейчас все деньги, документы и прочее - все через интернет, поэтому регистрация будет. Вопрос лишь в том как скоро.

    доступ в социальные сети будет закрыт для лиц младше 18 лет
    Да это давно уже надо было сделать.
    Ответ написан
  • Как защищится от sql инекции без ооп в php?

    UnluckySerivelha
    @UnluckySerivelha
    PDO и подготовленные выражения, подробнее - https://habr.com/post/148701/
    Ответ написан
    Комментировать
  • Актуальна ли сейчас литература Рихтера (Win32 приложения)?

    Andrey2008
    @Andrey2008
    DevRel в PVS-Studio
    Смело читайте. Отличная книга.
    Ответ написан
    Комментировать