• Как можно сократить этот код?

    bingo347
    @bingo347 Куратор тега JavaScript
    Crazy on performance...
    const arr = [10, 20, 30, 50, 235, 3000];
    const digits = [1, 2, 5];
    for (const num of arr) {
      const digit = (num / 10 ** (Math.log10(num) | 0)) | 0;
      if (digits.includes(digit)) {
        console.log(num);
      }
    }
    Ответ написан
    Комментировать
  • SATAIII 600MB - это на все диски или на каждый?

    @edo1h
    Если материнка имеет 4 порта SATAIII 6Gbps - это на каждый порт или на все диски делится?
    На каждый

    Спрашиваю потому как подключил 4 диска к ПК и при копировании с диска на диск получаю 100-120МБ\с
    А что за диски? Может быть для них это нормальная скорость.

    При копировании между двумя sata ssd скорости выше 400 мегабайт в секунду вполне достижимы.
    Ответ написан
    Комментировать
  • Существует более мощный, чем nano текстовый редактор из командной строки?

    @Akela_wolf
    Extreme Programmer
    Для использования в терминале - vim (или vi, который часто идет "искаропки", то есть даже ставить отдельно не нужно). Кривая обучения высоковата, но зато возможностей хватит "с головой". На данный момент для меня вообще основной редактор (в виде плагина к IDEA).

    Вечный соперник вима - emacs. Но его не использовал, ничего сказать не могу. Вимом же пользуюсь постоянно
    Ответ написан
    4 комментария
  • Какими минимальными и необходимыми инструментами можно выяснить исправность тензометрического датчика давления на объекте?

    @lonelymyp
    Хочу вылезти из минуса по карме.
    В разрыв токовой петли подключить миллиамперметр (мультиметр) и считать показания.
    Свериться с паспортом на датчик, убедиться что на приборе отображается давление такое же, какое получается при показаниям мультиметра.

    Если по мультиметру давление выходит так же как и на приборе - сдох датчик. Если по мультметру и по прибору расхождение - сдох прибор.

    Если давление меняется быстро и невозможно засечь показания, придётся городить испытательный стенд с постоянным давлением, или подключать заведомо исправный датчик.
    Ответ написан
    7 комментариев
  • Как исправить ошибку при компиляции C++ кода?

    @Mercury13
    Программист на «си с крестами» и не только
    Тут поцапались макрос Verify в dbg.h и функция Verify в cryptlib.h.
    Я бы предпочёл переименовать одно из двух — лучше макрос — а затем разобрать, где должен быть макрос, а где функция.

    Виноват определённо разработчик макроса: он назвал его простым и распространённым словом Verify. Функция-то где-то внутри объекта, а макрос заменяет идентификатор Verify на всякую дрянь независимо от того, где этот идентификатор и в каком пространстве имён. Кроме того, подобные макросы принято называть как-нибудь DBG_VERIFY — если только это не макрос совместимости, подменяющий, например, более позднее nullptr в старое NULL.
    Ответ написан
    23 комментария
  • Какой самый надежный метод хранения данных, из используемых на сегодняшний день?

    vabka
    @vabka
    Токсичный шарпист
    Самый надёжный способ - резервное копирование на разные носители в разных локациях.
    С небольшим шансом даже арктическое хранилище может быть уничтожено метеоритом или каким-нибудь ещё катаклизмом.

    Даже если у тебя будет супер ненадёжный носитель, который выходит из строя на следующий день с вероятностью 50%, но у тебя есть 100 резервных копий, то шанс смерти всех копий в один день будет около нуля.
    Ответ написан
    2 комментария
  • Как организовать единую службу учетных записей?

    martin74ua
    @martin74ua Куратор тега Системное администрирование
    Linux administrator
    LDAP, MS AD
    как вариант...
    Ответ написан
    3 комментария
  • Что занимает место на сервере VDS (Ubuntu 20.04)?

    martin74ua
    @martin74ua Куратор тега Linux
    Linux administrator
    настроить logrotate корректно.... А то можно попасть на ситуацию - лог nginx удалили, но ему об этом не сказали... и он в него пишет...
    Ответ написан
    Комментировать
  • Должен ли программист при получении заказа выполнять и роль девопса?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Должен кому? Долг перед заказчиком определяется пунктами договора. Если вы не соглашались делать работу devops'а, то и не должны её делать. Но лично я считаю, что должен самому себе уметь делать решения под ключ. Правда, я за это всегда накручивал ценик равный оплате разработчика бэкенда, фронтенда, админа, аналитика и менеджера проекта.
    Ответ написан
    3 комментария
  • Как отсортировать произвольные точки так, чтобы при проведении линии через них последовательно получился многоугольник?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Точки, соединённые в любом порядке, дадут многоугольник. Он может быть самопересекающимся или невыпуклым, но у вас в задаче никаких ограничений нет.
    Ответ написан
    1 комментарий
  • Что может случиться после перехода по вредоносной ссылке?

    Сайт может запустить код на компьютере пользователя, например через уязвимости самих браузеров или DLL planting.

    Сайт может манипулировать другими сайтами через их уязвимости, например если где-то есть XSS уязвимость - он может эту уязвимость эксплуатировать.

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

    AgentSmith
    @AgentSmith
    Это мой правильный ответ на твой вопрос
    Для нагруженных сервисов железо не так важно, важна архитектура.
    Железо - это вертикальное масштабирование и оно всегда имеет ограничения, с которыми все сталкиваются через полгод-год-два. Впрочем, этот твой вопрос тому доказательство.
    Надо делать упор на горизонтальное масштабирование, чтобы не зависеть от характеристик железа.
    Другими словами, должно быть много недорогих (слабых) серверов, а не один дорогой и мощный.
    Лично мне такой подход позволяет держать нагрузку ~24000 запросов в секунду на десяти дешёвых серверах.
    Если нагрузка возрастёт, то я куплю ещё 2-5-10 дешёвых серверов вместо того, чтобы думать о характеристиках железа
    Ответ написан
    Комментировать
  • Программа для сетевого доступа к файлам (аналог Netlook), как реализовать?

    @rPman
    это netlook? читаем описание:
    Поддержка трех протоколов: SMB, FTP и HTTP.

    SMB - это майкрософтовский протокол доступа к файлам по сети в локальных сетях с машинами с windows, в linux поддержка этого протокола обеспечена с помощью samba и соответствующих библиотек. В терминах этой сети share (шара) - это опубликованный каталог на машине (расшарить) или сервере

    на windows для работы с файлами по сети не требуется дополнительных библиотек, и все функции работы с файлами принимают \\имя_сервера\имя_шары\путь\файл
    на linux придется пользоваться библиотеками либо монтировать шару на какой-либо каталог (smbmount или файловая система cifs)

    Есть универсальная библиотека и утилита curl, поддерживает десятки протоколов, включая указанные выше само собой, можно пользоваться ей.

    Есть одна проблема, ключевая, получение списка машин в сети и списка шар на каждой. В зависимости от языка программирования и ОС будут свои нюансы.
    на c++ с использованием win32 api - используй это, ну и пример с поиском всех шар в сети
    Ответ написан
    Комментировать
  • Является ли хорошим решением разбивать большой класс на несколько .cpp файлов (C++)?

    Adamos
    @Adamos
    До появления IDE это могло считаться решением.
    Сейчас - никому не нужный и даже мешающий костыль.

    Собственно, класс на тысячи строк - сам по себе не проблема.
    А вот то, что его хочется раскидать по пяти файлам - явный намек на то, что для упрощения кода требуется рефакторинг.
    Ответ написан
    3 комментария
  • Можно ли добавить базу данных PostgreSQL перенеся папку "data/base/baseID" с другого сервера?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега PostgreSQL
    Седой и строгий
    Нет, каталог данных непереносим даже в пределах одной машины.
    Ответ написан
  • Как уменьшить количество таблиц-справочников с тремя-четырьмя строками?

    @rPman
    тут несколько подходов, я трогал каждый из них и все они имеют право на существования
    1. оставь как есть, я рекомендую, пусть будет 100500 таблиц справочников (если проблем с именами нет ну и отлично), fk-индексы все это свяжут а инструменты анализа базы данных помогут с этим работать (автоматические query builder с мышевозекательным интерфейсом) и база будет сама следить за тем что идентификаторы справочников не противоречивы
    недостатков я не могу придумать, кроме может быть сильно разросшейся структуры, когда то давно я слышал что некоторые базы данных при увеличении количества таблиц начинают хуже работать но как я понимаю это если их будет десятки тысяч а не десятки и сотни.. может быть резервное копирование такой базы или ее репликация будет проходить чуть медленнее или еще хуже, организационно репликация может быть настроена на не рассылку ddl модификаций, в этом случае создание нового справочника будет задавать работу еще и админам, что нежелательно.

    2. противоположный, использование одной таблицы key-value для нескольких разнородных справочников (id, value, table_name), в 99% случаев можно использовать один сиквенс (одну последовательность идентификаторов), вам же не обязательно чтобы разные справочники начинали счет своих строк с одного и того же числа 1.
    Недостаток - база данных теперь не сможет контролировать что вы используете непротиворечивый идентификатор (можно в запись одного справочника указать номер из другого), хотя несуществующий так же нельзя будет указать (и будут работать delete cascade), так же удобной автогенерации sql не будет. Структура будет проще, так же интерфейс редактирования таких справочников может быть один вместо кучи форм и добавлять новые справочники будет сильно проще (хотя с точки зрения разработки нет особой разницы, один insert ты написал или create table перед этим)

    3. не хранить справочники в базе данных вообще, т.е. за значение справочников отвечает бакэнд (хранятся в статичных файлах или в коде) самый дибильный подход, редактировать такие справочники скорее всего только руками в конфигах/исходниках. Недостатки - база данных совсем не будет знать ничего о значениях и не сможет ни проконтролировать ни помочь с запросами
    Но это позволит снять немного нагрузки с базы данных, сделает структуру проще и позволит перенести управление значениями справочников на откуп ide редактора (если хранить значения справочников в коде, можно дать значениям имена переменных, так как в коде часто их так или иначе заводить придется)

    Лично я третьим подходом в чистом виде не пользовался, но у меня был набор скриптов, которые из справочников в базе данных формировали код с инициализацией констант и их именами для приложения (сами справочники приложением редактироваться не могли) и был соблазн перевести эту часть базы из 'оперативной' в 'для разработчика', так как справочник это что то - отвечающее за отображение информации, но не за бизнеспроцессы (ну примерно как языковые файлы для приложения, не хранить же переводы строк интерфейса тоже в базе, ну так и справочники смогут работать как часть этого интерйфейса и тоже может требовать перевода).
    Ответ написан
    4 комментария
  • Криптографические библиотеки для C/C++?

    maaGames
    @maaGames
    Погроммирую программы
    Ни в коем случае НЕ используейте самописные крипто-либы. Если нельзя использовать XOR для "шифрования", то ни в коем случае не испоьзуйте самописных библиотек. Криптографические библиотек иразрабатывают сотни человек десятками лет и они всё-равно содержат ошибки и уязвимости. Самописная либа на 99.99999% будет уязвима.
    Конкретных либ рекомендовать не буду, но я бы выбирал исключительно бибилиотеки, которые реализуют хорошо описанный алгоритм с открытым кодом (или хотя бы математическим описанием алгоритма шифрования). Если алгоритм шифрования засекречен, то независимые эксперты не могут его проанализирвоать и указать на ошибки и нет причит ему доверять.
    Ответ написан
    Комментировать
  • Как вписать длинное название для домашней Wi-Fi сети?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Я таки вас огорчу ещё сильнее. Поле SSID по стандарту может содержать 32 октета (а не символа). Для кириллицы в UTF8 это будет соответствовать 16 символам.
    Ответ написан
    Комментировать
  • Как вписать длинное название для домашней Wi-Fi сети?

    martin74ua
    @martin74ua
    Linux administrator
    переписать все стандарты, прошивки устройств, заменить софт везде...
    Ответ написан
    Комментировать