• Как по вашему мнению рациональнее собрать дисковую систему на сервере?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    2 raid1 под систему и эти ваши var/www
    4 raid10 под базу

    ничего лучше raid10 нет, только raid 10 на 12 дисках )))
    Ответ написан
    4 комментария
  • Как составить блок-схему из готового кода C++?

    b9552f28a681d0dbbf04e49ec26b8a0f-800x.jpg
    Ответ написан
    Комментировать
  • Что такое PRIMARY KEY, CONSTRAINT, FOREIGN KEY, REFERENCES, INSERT INTO и для чего они нужны?

    @Akina
    Сетевой и системный админ, SQL-программист.
    PRIMARY KEY - первичный ключ. Поле, комбинация полей либо выражение (последнее MySQL не поддерживает), которое не может быть NULL и не допускает дубликатов (уникально для каждой отдельной записи в пределах таблицы). Поддерживается путём создания соответствующего уникального индекса и наложением ограничения NOT NULL на все используемые в выражении поля. По факту - однозначно идентифицирует запись. Кроме того, в MySQL выражение первичного ключа является кластерным индексом. См. Индекс -> Уникальный индекс -> Первичный индекс.

    CONSTRAINT - ограничение. Правило, которое не допускает создания записи, для которой значение выражения ограничения имеет значения FALSE (можно TRUE или NULL).

    FOREIGN KEY - внешний ключ. Ограничение, которое требует, чтобы указанное выражение для текущей записи присутствовало среди значений указанного выражения референсной таблицы (допускается и внешний ключ на ту же таблицу). Точнее, чтобы такая проверка присутствия не возвращала FALSE (можно TRUE или NULL).

    REFERENCES - определяет референсную таблицу и референсное выражение.

    INSERT INTO - запрос, вставляющий новые записи в таблицу.
    Ответ написан
    Комментировать
  • CMD/BAT. Как сцепить строки в текстовых файла?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Заранее пожалуйста.
    @echo off
    setlocal enableextensions enabledelayedexpansion
    
    for /r %%F in (*.txt) do (
    	set var=
    	for /f "usebackq delims=" %%a in ("%%F") do (
    		set var=!var!%%a 
    	)
    	echo !var!
    ) >> rez.out
    Ответ написан
    2 комментария
  • Как запустить двоичный файл на FASM (ассемблере)?

    gbg
    @gbg
    Любые ответы на любые вопросы
    Отлично, теперь вам надо написать загрузчик бинарников для вашей ОС
    Ответ написан
    2 комментария
  • Почему можно не указывать virtual в файле реализации?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Почему можно не указывать virtual в файле реализации?

    Не то чтобы "можно не указывать". Нужно не указывать. Потому что так говорит стандарт.
    И потому что виртуальность функции -- это не свойство функции, а свойство класса которому она принадлежит. Код функции не зависит от того, виртуальная она или нет.
    Ответ написан
    4 комментария
  • Какие порты закрыть для локальной разработки?

    ValdikSS
    @ValdikSS
    Убедитесь, что все демоны настроены на работу только на локальном адресе (127.0.0.1 или ::1), в этом случае подключение к ним невозможно будет установить извне с помощью обычной маршрутизации. Обычно подобные опции называются bind-address, или как-то похоже.

    Также убедитесь, что на компьютере не установлено ПО прокси, доступное извне: оно может обращаться к локальным адресам и позволит потенциальному злоумышленнику получить доступ к локальным программам.
    Ответ написан
    1 комментарий
  • Проблема одновременных задач?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Запускать один скрипт, который выгребает из БД задания и выполняет их параллельно, например с помощью multiprocessing.
    Ответ написан
    Комментировать
  • Ошибка ссылка на резрешенный внешний символ, как исправить в c++?

    wataru
    @wataru Куратор тега C++
    Разработчик на С++, экс-олимпиадник.
    Судя по ошибке, оно не может найти определение внутренних функций curl.

    Почитайте документацию библиотеки, надо в свойствах проекта добавить библиотеку curl линкеру.
    Ответ написан
    Комментировать
  • Как менять ip и переключаться между ними?

    hint000
    @hint000
    у админа три руки
    Это не так просто, как зарегиистрировать новую учётку на форуме. :) Это не бесплатно.

    Вопрос: Как получить 10 почтовых\юридических адресов (не для электронной почты, а для бумажных писем, посылок)?
    Ответ: Нужно купить или взять в аренду 10 квартир или офисов.

    Вопрос: Как получить 10 IP-адресов?
    Ответ: Нужно купить их у одного провайдера (адреса будут похожие, как если вы купите 10 квартир в одном доме) или у 10 разных провайдеров. Во втором случае вам нужно заключить договоры со всеми 10 провайдерами и каждый провайдер проведёт к вам свой кабель. После этого у вас будет квест с настройкой оборудования, и потом уже можно будет задавать вопрос, как "переключать" адреса. Ещё один вариант (более простой) - арендовать (за денежки) 10 VPS у одного или у разных хостеров, на каждой из них поднять VPN, подключаться по очереди к одной из VPN.
    Ответ написан
    Комментировать
  • Как реализовать удаленный доступ к SSH, имея серый ip?

    @Drno
    Поднимаешь где то опенВПН сервер.
    Подключаешь распбери клиентом
    Подключаешь свой комп клиентом
    Профит - распбери доступна по адресу внутри впн
    Не забываем добавить правило masquarade на впн серваке
    Ответ написан
    3 комментария
  • Почему %0|%0 так нагружает процессор?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Потому что команда запускает самоё себя, бесконечно. И в какой-то момент просто перестаёт хватать оперативной памяти и производительности процессора.

    Количество рекурсий? Передавать текущий номер рекурсии как аргумент. Разумеется перед тем, как его передавать - его нужно увеличить на 1, что бы следующий потомок его знал:
    @echo off
    set /A LVL=%1+1
    if %LVL% LEQ 3 %0 %LVL% |%0 %LVL%
    Ответ написан
    Комментировать
  • Может ли совпадать количество ip адресов в подсети с количеством узлов сети?

    chupasaurus
    @chupasaurus
    Сею рефлекторное, злое, временное
    Если речь про IP, то не совпадает в IPv4 подсетях кроме /32 и /31 из-за наличия адреса для broadcast-а.
    Ответ написан
    8 комментариев
  • Как побороть /usr/bin/ld: cannot find -lpython3.10?

    устатовите

    libpython3-dev

    header files and a static library for Python (default)

    внутри будут библитеки для сборки модулей

    например

    dpkg -L libpython3.6-dev | grep .so

    /usr/lib/x86_64-linux-gnu/libpython3.6m.so
    Ответ написан
    Комментировать
  • Как организовать видеозапись RDP, трансляции?

    @rPman
    rdp сессия в windows при отключении становится такой же как если бы ты заблокировал экран, приложения не получают сигнал перерисовки (так, если бы они были закрыты поверх другим окном или минимизированы)

    чтобы это обойти, запусти каскадно два rdp подключения, одно в другом, заведя для каждого отдельного пользователя windows, от первого ты отсоединишься, второе внутри продолжит работу как ожидается, я так autoit запускал

    2 одновременно подключения не в серверных версиях windows не разрешены. На старых версиях win10 и в win8.. win7 можно установить rdpwrap, оно это ограничение на десктопных windows убирало. Майкрософт с этим борется.

    Так что остается либо сменить ОС на linux где таких проблем принципиально нет либо ставить виртуальную машину и внутри запускай свое приложение (запись с экрана там кстати бывает встроенная). Так как у тебя браузер и OBS то проблем с этим не будет.
    Ответ написан
    2 комментария
  • Как создать кастомное кроссплатформенное окно на си?

    includedlibrary
    @includedlibrary
    Надо либо использовать библиотеки GTK, QT и т.п., либо писать свою реализацию под каждую ОС
    Ответ написан
    Комментировать
  • Как перенаправить tcp/udp трафик с доменов с одинаковым айпи?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Я вам подскажу: внутри TCP и UDP, если это не HTTP, нет имени домена. Вот совсем нет. Он используется в момент перевода доменного имени -> в IP-адрес, что бы потом создать коннект на этот IP-адрес. Он используется в HTTP-запросе, так исторически сложилось. Но в простом TCP и UDP его НЕТ, трафик приходит к вам БЕЗ доменного имени.

    Облом, желанное - не получится.
    Ответ написан
    5 комментариев
  • Как убрать потерю покетов?

    hint000
    @hint000
    у админа три руки
    Авторам предыдущих ответов и комментариев, mayton2019, Stalker_RED, Dimonchik, Drno,
    ребята, да что с вами сегодня, тяжелый день или не проснулись? :) Я знаю, что вы все можете лучше.

    Смотрим на вывод WinMTR на скриншоте.
    первый хоп - домашний роутер - потерь нет;
    второй хоп - шлюз провайдера (Казахстан) - потерь нет; собственно, на этом вопрос можно и закрыть, но нет;
    пятый хоп - IX Санкт-Петербург - потерь нет;
    десятый хоп - США;
    целевой хост - непонятно где, но диапазон адресов выделен Японии, значит считаем, что так и есть.
    Вообще, не кажется странным такой маршрут - из Казахстана через Питер и США в Японию?
    Ответ написан
    8 комментариев
  • Нужно ли подключать все необходимые заголовки если они подтягиваются из других заголовков?

    @MarkusD Куратор тега C++
    все время мелю чепуху :)
    В контексте использования директивы #include есть два важных принципа.
    Важный из этих двух сейчас - это принцип Include What You Use.

    Суть сводится к тому, что файлы исходного кода формирующие модуль трансляции должны в правильном порядке подключать все заголовки, объявления которых используют. Транзитивные включения не считаются. Методология соответствия IWYU включает в себя и правило перечисления подключаемых заголовков - от общих к частным. Именно таким образом должна обеспечиваться оптимальная скорость формирования модуля трансляции.
    И с этим связано несколько проблем. Основные я опишу ниже.
    Наивное следование IWYU в сложных проектах.

    В обычном проекте считается что один файл исходного кода соответствует одному модулю трансляции. В более сложных проектах, где используется SCU/Unity Build, один модуль трансляции уже представлен несколькими файлами исходного кода. Но IWYU требует соблюдать правила только для модуля трансляции, а не для файлов исходного кода.
    Эта ситуация обозначает одну из проблем соответствия IWYU, которую не замечают многие разработчики, кто пользуется IWYU и SCU одновременно. Дублирование директив, нарушение порядка от общего к частному и доступность директив для всего нижележащего кода других файлов исходного кода сводит на нет весь принцип IWYU.
    Простейшей ошибкой наивного следования IWYU при использовании SCU является простой забытый инклуд, который присутствует в другом файле исходного кода, размещенном модуле трансляции выше по коду. SCU формируются динамически, на базе определенного алгоритма. Сегодня ошибки нет, а завтра исходный код попадет в другой модуль трансляции, где выше по коду уже не будет нужного инклуда и трансляция пойдет прахом. Особой пикантности данной ситуации добавляют разные сценарии SCU для разработчиков и систем CI. В этом случае ошибку с потерянным инкудом искать будут очень долго и не в одно лицо. Такие ситуации реально существовали у меня на работе. Особую пикантность такой ситуации добавляет и то, что на этой работе люди особо активно пропагандировали IWYU, говоря о безмерной пользе принципа вместе с использованием SCU.
    Решением же является понимание несовместимости использования SCU и IWYU в одном проекте.

    Излишне детальное следование IWYU.

    Принцип IWYU говорит включать только то, чем пользуешься. Что это означает в деталях?
    Когда заголовочный файл использует какое-то объявление, он должен сперва подключить соответствующий заголовок. Когда исходный код использует какое-то объявление, он должен сперва подключить соответствующий заголовок.
    Код не пишется в вакууме, код пишется в составе библиотек и систем, в рамках которых код связывается между собой. На более мелком уровне код пишется в составе подсистем и модулей, а подсистемы и модули уже формируют более глобальные системы и библиотеки. В рамках всех этих единиц агломерации кода сам код является тесно связанным между собой. Заголовки одной подсистемы редко не будут перекрестно включать друг друга потому что активно пользуются их объявлениями для реализации функционала подсистемы.
    Внешний же код, использующий функционал подсистемы, редко будет ограничиваться включением только одного заголовка, потому сами заголовки включают друг друга и через IWYU диктуют подобный подход своему пользователю.
    Это заставляет блоки включений раздуваться до невиданных масштабов в сотни строк одних только #include. Если проект использует #pragma once, то огромные блоки включений сказываются только на удобстве чтения, сводя удобство разбора инклудов к нулю. Но если проект использует только define-guard, то от огромных блоков инклудов начинает катастрофически страдать скорость сборки. В этот момент люди обычно вспоминают про SCU и с его помощью окончательно хоронят гибкость проекта в пучине ошибок совместного использования SCU и IWYU.
    А решением в данном случае является выделение для единиц агломерации кода своих собственных публичных заголовков, внутри которых в правильном порядке будут подключены все заголовки используемого кода.
    Этот простой шаг кратно сокращает списки инклудов в пользовательском коде, не противоречит IWYU и позволяет на более высоком уровне организовать публичный интерфейс модуля, подсистемы, системы или библиотеки.


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

    hint000
    @hint000
    у админа три руки
    Меня интересует способ решить проблему, используя только встроенные в систему (в основном речь идет о macOS) утилиты
    там есть dd?
    echo -ne "\x04\x05\x06" | dd of=filename bs=1 seek=`grep -aboP "\x01\x02\x03" filename | cut -d ":" -f 1 | head -c -1`

    Монструозненько получилось (неравный бой с выводом grep). :) Если заглянет xotkot, то придумает, как оптимизировать, у него чёрный пояс по таким вещам.
    Ответ написан
    Комментировать