• Как навсегда исключить игровой кряк из проверки защитника Windows?

    @rPman
    Отключить антивирус, установить от другой компании, где игнор лист еще не сломан.
    Ответ написан
    1 комментарий
  • Почему система падает при большом трафике?

    AshBlade
    @AshBlade
    Просто хочу быть счастливым
    Описание проблемы проще чем кажется: чем больше трафика - тем больше работы.
    Это влечет за собой:
    - Больший нагрев процессора и других комплектующих + повышение их износа -> могут отвалиться
    - В каждом софте (даже стабильной ОС) есть ошибки, которые точно возникнут согласно ЗБЧ
    - Появляется слишком много прерываний, которые тормозят систему -> большие операционные издержки (переключение контекста, переход в режим ядра и т.д.)
    - Рано или поздно доступные ресурсы закончатся (ОЗУ, Диск, буфер сетевой карты), а не многие приложения могут такое обработать и упадут

    Подытоживая: сбои происходят из-за того, что для обработки нагрузки требуется больше ресурсов чем есть.

    Сколько ресурсов должно быть для корректной работы при определенной нагрузке надо искать самим - тестировать систему (стресс/нагрузочное/объемное и т.д.).
    Создавать математические формулы - такое себе, т.к. слишком много важных параметров не будет учтено:
    - Топология сети
    - Используемые комплектующие
    - Охлаждение
    - Расположение серверов
    - Версия ОС + гипервизор

    UPD: + конечно же когда много трафика, то какие-то пакеты отбрасываются/теряются и необходимо слать их повторно, что увеличивает нагрузку на сеть + задержку запроса
    Ответ написан
    1 комментарий
  • Что за непонятные html-файлы?

    sergey-kuznetsov
    @sergey-kuznetsov Куратор тега Git
    Автоматизатор
    При выводе названий файлов (команды типа state, ls-files, diff и т. п.) символы с кодом больше 0x80 Git заменяет восьмеричными кодами (например, \320\272 для символа «к»).

    Начиная с версии 1.5.3 это поведение можно изменить с помощью конфигурационного параметра core.quotepath (принимает значения true/false или on/off).

    Для отключения такого поведения выполните:
    git config --global core.quotepath false

    Источник
    Ответ написан
    Комментировать
  • Актуален ли ассемблер на сегодняшний день?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Ассемблер полезен при анализе прошивок на безопасность.
    При изучении того как работает софт без исходного кода (обратный инжинеринг)
    и при решении задач интеграции разных слоёв софта.

    Ассемблер также очень близко стоит к разработке компилляторов. И если у вас нет
    соотвествующих знаний то строить свой компиллятор вы не сможете. Или вам нужно
    будет изучать готовые back-ends, virtual-machines.

    Ассемблер помогает при анализе узких мест в коде. В частности например
    векторизация вычислений ставит в первую очередь вопросы на которые ассемблер
    отвечает а ЯВУ - нет.

    Знания ассемблера помогают сделать бинарник компактнее. Это важно при разработке
    встраиваемых систем.
    Ответ написан
    Комментировать
  • Актуален ли ассемблер на сегодняшний день?

    Steel_Balls
    @Steel_Balls
    Да, актуален.
    Он применим во всех областях.
    Почитай что такое ассемблер и вопросы отпадут сами собой
    Ответ написан
    Комментировать
  • Вопрос о терминах. Есть набор БД, с каждой из которых можно работать отдельно либо со всеми сразу. Как правильно называется такая система?

    @MichaelMelvin
    Вы говорите об одной из реализаций архитектуры федеративных баз данных - "системе баз данных".
    В федеративной системе баз данных, каждая база данных имеет свою собственную точку входа, и пользователи подключаются к конкретному узлу для доступа к данным. Эти базы данных работают вместе, но они могут функционировать независимо друг от друга. Это обеспечивает гибкость при работе с данными и позволяет управлять данными на уровне отдельных узлов.

    Т.е. в описанном случае всю систему можно назвать "системой баз данных" или описать её как "реализована федеративная модель баз данных", а каждый отдельный узел вполне корректно назвать базой данных.

    https://dataliteracy.ru/dmbok-notes-6
    Ответ написан
    Комментировать
  • Как правильно сформулировать наименования заказчика и исполнителя, если это внутренний продукт?

    hint000
    @hint000
    у админа три руки
    заказчик и исполнитель - это одна и та же фирма
    Заказчик - Отдел кормления черепах Департамента пресмыкающихся
    Исполнитель - Отдел автоматизации кормления Департамента искусственного интеллекта
    Ответ написан
    1 комментарий
  • Как создать exe файл с интерпретатором angel script?

    @rPman
    AngelScript sdk это и есть набор инструментов и библиотека по компиляции и запуску скриптов с интеграцией их в своем c++ приложении.

    Ответ я не знаю но я открываю документацию и там все красиво с примерами написано

    Вот так ты компилируешь скрипт
    Вот так ты запускаешь метод в скрипте

    Внутри sdk в каталоге sdk/samples есть примеры проектов visualstudio
    Ответ написан
    Комментировать
  • На каком Raspberry Pi можно поднять Git-сервер?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Поднять можно на любом. Вопрос только в юзабельности полученного решения.
    UPD:
    Свой гитлаб. Дело в том, что нужно минимизировать утечку, в т.ч. использованием внешних сервисов

    В таком случае максимальную версию малинки с 8ГБ ОЗУ + SSD диск для ОС и данных или для данных можно подключить сетевое хранилище, например. Этого будет достаточно для работы сотни-двух пользователей. Больше - скорее всего будут лаги/тормоза.
    Ответ написан
    Комментировать
  • Возможно ли создать Linux-совместимое микроядро?

    CityCat4
    @CityCat4
    Внимание! Изменился адрес почты!
    Поздравляю, Вы изобрели GNU Hurd :)
    Ответ написан
    Комментировать
  • Как можно получить изменения во VIEW, когда изменяется базовая таблица?

    Melkij
    @Melkij
    PostgreSQL DBA
    view не хранит никаких данных. Это просто сохранённое дерево запроса, встраиваемое в обратившийся к этой view запрос.
    Вам нужен триггер на таблице с данными, который будет писать в отдельную аудит таблицу историю изменений. Потом из этой таблицы получайте историю.
    Ответ написан
    Комментировать
  • Как заблокировать Яндекс Советника и новый его сервис в яндекс браузере?

    Deita
    @Deita
    Запретить доступ к сайту из Яндекс Браузера за такое.
    Выдать пользователю заглушку "Ваш браузер не подходит, установите FireFox, Chrome, Edge, Safari" и ссылки на них.
    Ответ написан
    2 комментария
  • Когда задача в Jira считает принятой?

    xez
    @xez
    TL Junior Roo
    Нужно ввести больше статусов.
    какой-то-статус(ы)-до-разработки -> разработка -> тестирование -> готово
    Из разработки задача должна переходить в тестирование, а тестировщик уже, удостоверившись, что все ок, переводит ее в "готово", если же найдены проблемы, то переводит обратно в разработку...
    Ответ написан
    6 комментариев
  • Почему умножение матрицы 8x8 медленнее чем 10x10?

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

    Вообще, писать бенчмарки - очень сложно. Надо сначала прогонять тест несколько раз и отбрасывать результаты, а уже потом мерять. Надо быть очень внимательным, если вы запускакте разные тесты в одной программе подряд: результаты работы одного теста могут повлиять на остальные.

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

    CityCat4
    @CityCat4
    Внимание! Изменился адрес почты!
    Прокси с бампингом. Иначе никак. Спасибо маркетологам, пихавшим в http столько рекламы, что он просто рухнул :)
    Ответ написан
    1 комментарий
  • Как заблокировать опледеленную страницу сайта?

    ky0
    @ky0
    Миллиардер, филантроп, патологический лгун
    Без расшифровки HTTPS, слава богу, никак.
    Ответ написан
    Комментировать
  • Некоторые бинарные строки не определяются по оператору LIKE, проблема не дебажится, в чём может быть причина?

    @Akina
    Сетевой и системный админ, SQL-программист.
    LIKE в принципе не пригоден для указанной операции. Это чисто текстовый оператор. В частности, он безусловно применяет к обоим операндам регистронезависимый collation - в этих условиях сравнение БИНАРНЫХ строк способно давать весьма неожиданные эффекты.

    Если надо работать именно с бинарными строками - всё плохо. В MySQL нет нормальных функций для работы с ними.

    Для решения задачи рекомендую преобразовать бинарную строку в шестнадцатеричное представление, укоротить до 40-символьного (что соответствует 20-байтовому бинарному значению), преобразовать обратно, и сравнить.

    WHERE CONV(LEFT(HEX('$entered_hash'), 40), 16, 10) = correct_hash


    К тому же такое условие SARGable.

    PS. В выражении
    WHERE '{value1}' = '{value2}' OR '{value1}' LIKE '{value2}%'
    первое условие заведомо лишнее (ведь если оно выполняется, то и второе тоже выполняется).
    Ответ написан
    7 комментариев
  • Как хранятся многомерные массивы в памяти?

    wataru
    @wataru Куратор тега C++
    Разработчик на С++, экс-олимпиадник.
    Зависит от типа массива.
    int **a;
    // или vector<vector<int>> a;
    a[10][7];


    Тут происходит 2 разименовывания указателя. Массив в памяти хранится строчками. Каждая строка может быть где угодно. При этом дополнительно хранится массив указателей на строки (длиной с длину столбца). Поэтому такой массив занимает в памяти M*(sizeof(int*))+M*N*sizeof(int). Чуть сложнее для vector, но идея такая же.

    int a[10][3];
    a[4][5];


    Тут массив, хоть и многомерный, но фиксированного размера. Поэтому он хранится одним блоком. Компилятор знает длины всех строк и сразу вычисляет адрес конкретного элемента - сдвигаясь на (длину строки)*(номер строки)+(номер столбца). Он занимает N*M*sizeof(int).

    Сравните ассемблерный код.

    Кстати, именно поэтому вы не можете преобразовать int[4][5] к int**. И такой массив при передаче в функцию надо передавать по типу int[][5] (можно опустить количество строк. Ибо для адресации нужна лишь длина строк, но нестолбцов, но размер строки указать предется обязательно).

    arr[1][2] => *(*(arr + 1) + 2) Это действительно работает, потому что arr имеет тип int[][3] или int*[3]. Коспилятор видя arr+1, знает, что над сместится на 1 размер int[3]. * разыменовывает это, но при этом указывает на то же место. И получает просто указатель на int начало строки. Фактически тут просто меняется тип указателя с int*[3] на int*. +2 сдвигается в строке на 2 размера int.
    Ответ написан
    Комментировать
  • Какую БД выбрать?

    vabka
    @vabka
    Токсичный шарпист
    - В идеале невозможность удаления записи даже тем, у кого есть к ней доступ. Событие произошло, оно не может исчезнуть (скорее всего, такого фунционала не существует и такой механизм достигается другими способами? Например, односвязный список хешей. Но его злоумышленник тоже может переписать. Может по этому пункту есть готовые механизмы?)

    "Тот кто имеет доступ" всегда может форматнуть диски)
    Это решается просто - не выдавать доступы никому.
    Вообще подобную гарантию только блокчейн даёт. И то только распределённый между несколькими акторами.(несколько разных организаций с разными интересами как минимум. Миллионы людей - как максимум. Тогда у этих разных организаций будет стимул контролировать друг друга, а у сотрудников этих организаций - не будет стимула входить в сговор)

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

    Что вообще за данные храниться будут?
    Если это какие-то финансовые транзакции, то можно посмотреть на tigerbeetle, тк он в общем-то на это и нацелен: append only, оптимизирован для финансов (Используется концепция счетов, где с одного уходят деньги, а на другой приходят), масштабируемый, имеет огромную пропускную способностью (под миллион TPS).
    Из преимуществ - главный минус: абсолютно никакая гибкость.

    Из требований не вижу никаких проблем использовать постгрес, кроме хотелки "как можно проще"
    Ответ написан
    Комментировать
  • Memcached как исправить кучу процессов?

    @pfg21
    ex-турист
    PID один - значит процесс один.
    а вот откель куча зависших незакрытых портов tcp надо изучать.
    клиент не закрывает ??
    Ответ написан
    Комментировать