Задать вопрос
  • Как визуализировать на документе ЭЦП из отсоединенной подписи .sig?

    @mezhuev
    Системный администратор
    Никак. Любая попытка модифицировать файл DOCX сделает подписи недействительными. Плашки надо было накладывать до подписания.
    Ответ написан
    3 комментария
  • Насколько быстрой должна быть шина, чтобы не стать узким местом системы?

    alfss
    @alfss
    https://career.habr.com/alfss
    Она должна отсутвовать или lattency должно равнятся 0
    Ответ написан
    1 комментарий
  • Как начать изучать новое?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Как начать изучать новое?
    Перестать задавать здесь вопросы и учить!)
    Ответ написан
    Комментировать
  • Есть старый процессор, какую подобрать мать, чтобы использовать процессор по максимуму?

    @gusteraom87
    1. Athlon 64x2 6000+ (AM2)
    Под этот процессор можно брать любую материнку на сокете AM2 или AM2+. И тот и тот сокет поддерживает только память DDR2. Чипсет – главное не Nvidia, умирали очень часто. Биос возможно придется обновлять, в зависимости от конкретной модели процессора.

    Athlon 64x2 6000+ горячий процессор. Особенно если с частотой 3Ghz (у него TDP 125W и в комплекте шел кулер с тепловыми трубками, как на opteron). Если с частотой 3,1 Ghz - то похолоднее, достаточно будет стандартного кулера, если без разгона. Лучше уточните модель перед покупкой охлаждения и материнки.

    2. Core2 duo e7500 (LGA775)
    Достаточно свежий процессор, поэтому на самых древних материнках работать не будет. Нужно смотреть не только сокет, но и чипсет (должен быть G31 или P31 минимум. Иногда работает на 945-м и 965-м чипсете после заливки свежего биоса).
    Преимущество LGA775 – бывают материнки под память DDR3 (но чаще все-таки DDR2).
    Core2 duo e7500 – относительно холодный, боксового алюминиевого кулера хватает с головой.

    Заниматься разгоном на таком железе лично я не вижу смысла. Это старшие модели, оба процессора уже имеют внушительные для своего поколения 3Ghz. Обычно хорошо гонятся младшие модели. Если пытаться разгонять выше 3Ghz – на приличное охлаждение уйдет больше денег, чем на все остальное железо. Правда у Core2 duo e7500 запас по разгону еще должен быть, они легко брали 4-4,5.
    Ответ написан
    4 комментария
  • Как понять архитектуру серверов без документации к нему?

    fox_12
    @fox_12
    Расставляю биты, управляю заряженными частицами
    Ахахах... В свое время мне оставили в поддержку несколько десятков серверов - на разных ОС - OpenBSD, FreeBSD, CentOS, Windows Server, а в то время я только Red Hat Linux немного ковырял...
    Просто потому что больше не на кого было хозяйство оставить.
    В первую очередь я делал бекапы всех конфигов, до которых можно дотянуться. Потом - брал доки и пытался во всем разобраться самостоятельно. Разбирал конфиги. Обошлось без бегания по форумам. Просто пришлось много работать собственной головой, что в конечном итоге дало немалый профит к опыту.
    Ответ написан
    4 комментария
  • Как понять что и как гуглить новичку при изучении программирования с нуля?

    @AVKor
    Продемонстрированный подход - устроить свалку в голове.

    Таким способом невозможно научиться ничему, и программирование - не исключение.

    Берёте книгу, ориентированную на новичков, и последовательно читаете, выполняя упражнения.
    Ответ написан
    Комментировать
  • Составить алгоритм перебора вариантов с весом?

    @dimoff66
    Кратко о себе: Я есть
    Если перестановки не нужны, то все просто. Каждый элемент либо входит в следующий вариант, либо нет. Соответственно делаете цикл 1 до pow(2, count($arr)). Преобразовываете каждое число цикла в двоичное встроенной функцией decbin, переворачиваете результат, и по нему составляете новый вариант - если 1 на соответствующем месте возвращенной decbin строки, то включаете элемент, если 0, то исключаете.

    $arr = [0 => 'a', 1 => 'b', 2 => 'c'];
    $res = [];
    
    for ($i = 1; $i < pow(2, count($arr)); $i++ ) {
        $bin = decbin($i);
        $case = "";
        foreach(str_split(strrev($bin)) as $ind => $symb) if ($symb == "1") $case .= $arr[$ind];
        $res[] = $case;
    }
    
    echo implode(", ", $res); // a, b, ab, c, ac, bc, abc
    Ответ написан
    Комментировать
  • Почему выполняются все метки?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    А почему они не должны "срабатывать"? Что может этому помешать?
    Просто представьте, что в AX записана единица и выполните всю программу в уме по шагам.
    Ответ написан
    4 комментария
  • Чем реально занимается системный программист?

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

    trapwalker
    @trapwalker
    Программист, энтузиаст
    Ставьте любой голый серверный дистрибутив в минимальном варианте, вайфай вам нужно настраивать только один раз, хотя я бы забил на вайфай и подключил бы проводом, так надёжнее. Если нет сетевой карты, можно купить китайскую USB сетевуху.
    На сервере напрямую ничего не ставить, только в докер-контейнерах.
    Начните с самого простого варианта Ubuntu-Server. Если чем-то в дальнейшем не устроит, легко переставить на что угодно, ведь всё в контейнерах.

    Но я на вашем месте не морочился бы с локальным железом (если вы, конечно, не умный дом городите и не окальный NAS), а завёл себе VDS. Сейчас это недорого и для домашних проектов очень удобно.
    Ответ написан
    3 комментария
  • Расходуются ли ресурсы на try catch?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Закономерный вопрос.
    Не научившись толком отличать 0 от false, и не научившись правильно писать elseif, каждый нуб в обязательном порядке озабочивается Вселенской Проблемой Производительности.
    "Как же так" - проснувшись одним прекрасным утром думает он - "Как только мой сайт достигнет пиковой нагрузки два посетителя в час, то начнутся стрррашные проблемы с производительностью! И надо срочно, забыв все на свете и теряя на ходу тапки, кидаться их решать!!!1111"
    Дальше выбирается любой рандомный оператор и появляется ВОПРОС: "А не слишком ли медленно ли он выполняется?!"

    И что характерно, чаще всего, как и сейчас, сам по себе оператор является бессмысленным, и вопрос должен быть не "не слишком ли он медленный?", а "на кой он вообще здесь сдался?"

    Наличие операторов в коде должно быть продиктовано не пубертатными фантазиями про "потребление ресурсов", а алгоритмом. Где оператор на своем месте - там он и должен стоять.
    В данном случае никакой трай с кетчем тут сто лет в обед не сдался, поэтому просто убрать его совсем. И всё сразу начнет летать, конечно же.

    Вот кстати я всегда говорил: то что для нормальных людей анекдот, для похапистов - суровая реальность. Каждый второй вопрос на тостере - это анекдот про "у таракана уши в ногах". Или анекдот про срочное обрезание - типичный пример XY problem. Ну или сейчас:

    Идет мент. Смотрит - фонарь стоит, под фонарем лужа, в луже мужик сидит.
    - Чё здесь делаешь?
    - Да вот, часы потерял. теперь ищу.
    Ну, мент думает - дай помогу. Искал-искал, весь перемазался - нету часов.
    - Слушай, мужик. Нету тут никаких часов!
    - Да я знаю. Я их вон там, возле забора потерял.
    - А ЧЕ ТЫ ИХ ЗДЕСЬ ИЩЕШЬ???
    - А тут светлее!


    То есть вопрос тут такой же - ставить трай кетч не там где нужно по логике, а тем где "быстрее"!
    Ответ написан
  • Есть ли способ решить в целых числах уравнение вида ax+by+cz = d?

    milssky
    @milssky
    Координатор племени фиолетовых обезьянок
    Что-то мне думается, что как-то так или так
    Ответ написан
    Комментировать
  • Как верстать под печать?

    delphinpro
    @delphinpro Куратор тега CSS
    frontend developer
    Ну давай посмотрим на примере тостера.

    Попробуем распечатать страницу с вопросом.
    Для начала вопрос: для чего мы его распечатываем? Очевидно, нам интересен вопрос, и главное его решение. Именно это мы хотим распечатать на бумаге.

    Что же нам предлагают верстальщики из ТМ?
    5f98935dba783645914348.png


    Мы получаем на бумажной версии кнопку главного меню, поле поиска, кнопки добавления вопроса и контекстного меню. Отлично. Я обязательно их понажимаю после распечатки. Ха-ха. Хорошо хоть сайдбар спрятали.

    Смотрим дальше
    5f98942e4692f875969058.png


    Форма комментирования. Ну что же. Наверное я отстал от современных технологий в своей деревне и во всем мире уже давно можно комментировать распечатанные страницы...

    В самом конце аж три листа совершенно бесполезной информации.

    В общем мы видим совершенно не оптимизированную под печать страницу.

    А вот если не забывать про печатные устройства, можно все это лишнее как минимум спрятать.
    Ответ написан
    2 комментария
  • Невозможно создать виртуальную машину в Virtualbox (Процессор Intel® Pentium® P6200), в чём моя ошибка?

    VirtualBOX перестал поддерживать процессоры без аппаратной виртуализации начиная с версии 6.1. Видимо, единственное решение - использовать старую версию.
    https://www.virtualbox.org/ticket/19567
    Ответ написан
    Комментировать
  • Не могу разобраться код php?

    @dzhebrak
    Бэкдор

    Подробности есть в похожем вопросе Php код на сайте?
    Ответ написан
    8 комментариев
  • Правильно ли я понял централизованную обработку исключений в PHP?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    В целом правильно, неплохая проработка материала.
    У меня есть только пара замечаний, не относящихся напрямую к централизованному обработчику.

    • error_reporting(E_ALL & ~E_NOTICE); делать не стоит. Если только не приходится работать с адовым легаси, которое сыпет нотисами, лучше отлавливать все ошибки. Учитывая же что в 8-ке обращение к несуществующей переменной станет не нотисом а предупреждением, такая конструкция со временем станет бессмысленной. что означает - ошибки надо исправлять, а не замалчивать.
    • ini_set("error_log", __DIR__ . "/php-errors.log"); будет не очень хорошей идеей, если файл error-handler.php выше корня веб-сервера. Ошибки надо прятать подальше.
    • ini_set('display_startup_errors', 1); - это какая-то дичь, которая кочует из руководства в руководство. Никто никогда этих стартап еррорс не видел, но многие старательно пишут это заклинание у себя в коде. Это по-любому связано с настройкой сервера, и в отладке ошибок поможет примерно ничем.
    • само по себе задание настроек через ini-set ненадежно. Ошибка может случиться до того, как РНР прочитает эту команду. Задавать надо в конфигурации веб-сервера.
    • в теории можно добавить флаг или автоматическую проверку на джейсон запрос. и соответственно кодировать ответ в джейсон. Но это только для криовруких фронтендеров, которые не умеют читать НТТР статусы, а ждут что им все разжуют в джейсоне, и без error: true они не поймут, что была ошибка
    • стек вызовов может быть довольно длинным, и раздувать логи. Можно подумать о более укороченном варианте.


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

    Я только не понял, почему вопрос про error_handler. Что именно смущает?
    Ответ написан
    5 комментариев
  • Скорость чистого перебора - как такое может быть?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Принты. Или наблюдения.
    1. Цикл где идет merge двух векторов - тривиален. Слабым местом может быть функция резерва памяти, которая по разному реализована в win/Linux. Я не утверждаю что в linux она плохая. Возможно просто звёзды сошлись так что page или другие свойства ос по отношению к аллокаций стали неблагоприятны.

    2. Что там с разрядностью 32/64? Надо проверить. Что с железом? Не пытается ли автор нас обхитрить, запуская все это на разном железе. Даже ничтожные различия в размере кешей L1 могли тут сработать.

    3. Версии STL. Автор использует не сырые указатели а итераторы. Причем хитрые. Какая там логика на инкремент и на разыменование под капотом.

    Чтоб отбросить мои предположения полностью - предлагаю этот цикл (предположительно самый горячий код со слов автора) переписать на указатели без STL.

    4. Опции GCC надо посмотреть. Оптимизацию подвигать. O1, O2.
    Ответ написан
    1 комментарий