Задать вопрос
  • Какую структуру данных надо использовать что бы посчитать уникальные ip в огромном количестве?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Дан файл с ip адресами. ip могут повторяться. Вес файла многократно превышает объём оперативной памяти.

    Сколько оперативки?

    Надо посчитать количество уникальных ip.
    Простое решение, не учитывающее объём задачи - загнать все ip в хештаблицу и количество элементов в ней будет ответом.

    Есть же алгоритмы сортировки, которым не нужно все грузить в память. Работать будет долго, но рано или поздно создаст файл, где все будет отсортировано. А количество уникальных IP в отсортироавнных данных уже школьный уровень.
    Ответ написан
    Комментировать
  • Как запустить Bash скрипт от имени суперпользователя?

    saboteur_kiev
    @saboteur_kiev Куратор тега bash
    software engineer
    В юникс суперпользователь это ID 0
    В винде - нет.
    Скорее всего там тупо есть проверка на ID юзера и я подозреваю, что надо скрипт править.
    Ответ написан
  • Как рекурсивно сжать определенные файлы в tar?

    saboteur_kiev
    @saboteur_kiev Куратор тега bash
    software engineer
    Ваша команда все должна сделать.
    Но нужно уточнить уровень вложенности каталогов - он должен совпадать с маской
    Ответ написан
  • Что будет, если постоянно держать температуру процессора без разгона на близких к критическим значениям (к примеру, 85-90 градусов при TJUNCTION 100)?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    На практике - каждый процессор это выращенный кристалл со своими допусками.
    Определенные нагрузочные тесты все процессоры прошли, и по идее должен выдерживать разрешенный температурный режим.
    Но процессор - это реальный физический объект, и вполне может где-то в какой-то момент немного поплыть, что необратимо.
    А может быть данный конкретный экземпляр вышел удачный, и легко выдержит такую нагрузку в течение десятка лет.
    В принципе риск небольшой.
    Ответ написан
    Комментировать
  • Как запретить ввод пустого значения в параметр командной строки bash?

    saboteur_kiev
    @saboteur_kiev Куратор тега bash
    software engineer
    ну просто проверять, например так

    while true; do
    read -p "Enter value: " MYVAR
    [[ -n $MYVAR ]] && break
    done
    Ответ написан
    Комментировать
  • Как повысить базовые знаний архитектуры?

    saboteur_kiev
    @saboteur_kiev Куратор тега IT-образование
    software engineer
    И вот таких моментов 1000 и 1 поиск по гуглу и стаку.

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

    Продолжай делать как делаешь. Много практики, много гугления. Можно смотреть чужой код, но тут проблема в том, что чужой код, для того чтобы понять его смысл, нужно не посмотреть, а хорошо вникнуть, а это время. Поэтому надо выбрать 1-2 опенсорс проекта и с ними разобраться, там уже изнутри, будет понятно где архитектура хорошая (и почему и для чего сделано было так), а где "исторически сложилось" или "срочно надо было заделать".
    Ответ написан
    Комментировать
  • Программа для скрытого удаленного доступа?

    saboteur_kiev
    @saboteur_kiev Куратор тега Системное администрирование
    software engineer
    radmin иконку отклбючить, процесс переименовать.
    Ответ написан
    Комментировать
  • Как закодировать запрос в base64 с помощью cURL?

    saboteur_kiev
    @saboteur_kiev Куратор тега bash
    software engineer
    curl -d $(base64<<<"exmple=$1&log=$reslt") -X POST example.com
    Ответ написан
    Комментировать
  • На какое направление в ВУЗе поступать программисту?

    saboteur_kiev
    @saboteur_kiev Куратор тега IT-образование
    software engineer
    Но в то же время я боюсь, что "информатика и вычислительная техника" сделает из меня какого-то системного администратора

    Что из вас сделала школа? Отличника, который знает весь школьный материал на 100%?
    Или во время школы у вас были какие-то свои увлечения, в которых вы разбираетесь, а ваши одноклассники нет?

    Институт не делает из кого-то что-либо. Только ученик может взять или не взять знания. И от вас зависит сколько и что вы возьмете в институте, а сколько самостоятельно и отдельно. Также не забывайте, что институт - не школа, никто не будет за вами бегать и тянуть за уши в следующий класс. Не выучил - завалил - вылетел.

    В институте учи математику. Особенно геометрию, раз 3д графика интересует, и математику (теорвер, матанализ), раз искусственный интеллект интересует. А ИТ области учи сам, в институте там обычно даже на стажера не всегда могут дать знаний.
    Ответ написан
    8 комментариев
  • Можно ли витую пару крепить строительным степлером к гипосокартону? Кабель на фото не поврежден?

    saboteur_kiev
    @saboteur_kiev Куратор тега Компьютерные сети
    software engineer
    Не надо так делать.
    В момент удара провода могут быть прибиты, и даже если не перебиты, они могут быть и деформированы или защитный слой немного сцарапан, что будет влиять на наводки. А чем больше скоб, тем хуже. И даже если связь заработает, вместо уверенного гигабита может периодически пробивать потери.
    Ответ написан
    Комментировать
  • В какой программе можно сделать 3D моделирование помещения в деталях?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    pro100
    Ответ написан
    Комментировать
  • Как удалить все паки с файлами на всех сайтах на сервере ubuntu Lunix?

    saboteur_kiev
    @saboteur_kiev Куратор тега Ubuntu
    software engineer
    Так и пиши:
    rm -rf /var/www/html/*/temp/*

    Или удалить сами папки целиком:
    rm -rf /var/www/html/*/temp
    Ответ написан
    Комментировать
  • Как правильно отправлять ssl сертификаты?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    3.4 Форматы PKCS1 и PKCS8 это форматы только для ключей или для сертификата тоже?

    https://en.wikipedia.org/wiki/PKCS

    3.2 Отправить запрос получается только в том случае, если ключ указан в самом файле сертификата, то есть я их объединил в один файл и тогда запрос заработал. Почему по отдельности не работает?

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

    Но не успел я им ничего отправить, как они прислали мне новый сертификат. Как они его сгенерили без реквеста? Типа по старому реквесту? То есть реквест не имеет срока годности?

    Генерация сертификатов для общения двух сервисов договаривается между разработчиками этих сервисов. Если вы используете самоподписанные сертификаты, то любой может сгенерить. Если вы используете один и тот же CA, доступный обеим командам, любая команда может запросить новый сертификат. Если вы работаете в разных компаниях, у каждой есть свой внутренний CA и процедура получения сертификатов, тогда они бы не могли сгенерировать новый сертификат, но раз смогли то у час не этот случай.

    Но запросы при этом по этому сертификату отправляются с любого другого домена. Зачем тогда в сертификате вообще указывать домен, если можно отправлять запросы с любого?

    Обычно сертификат лежит на сервере, который соответствует домену, а не на клиенте.
    Вы же когда на google.com ходите по HTTPS, то можете это делать с любого компа, а не только с сервера гугла?

    Вам нужно просто разобраться зачем у вас используются сертификаты - для TLS, для двухстороннего TLS или для авторизации.
    Нужно разобраться как у вас проверяется валидация - может у вас просто стоит ignoreinvalidcert и все
    Никто кроме вас в вашем приложении не разберется. Поднимите кого-то из тех, кто принимал архитектурное решение и выясните как у вас надо делать, и так и делайте. А то вполне возможно что у вас даже так как планировали сейчас не работает.
    Ответ написан
    Комментировать
  • Как правильно переписать bash под windows?

    saboteur_kiev
    @saboteur_kiev Куратор тега bash
    software engineer
    Поставить git for windows, с которым идет баш, и ничего не переписывать.
    Ответ написан
    1 комментарий
  • Курс или полный гайдлайн по git?

    saboteur_kiev
    @saboteur_kiev Куратор тега Git
    software engineer
    Посмотри пару видяшек в ютубе о git-flow и зачем он нужен.

    Буквально 2-3 примера разных флоу будет достаточно для ознакомления с преимуществами каждой. А дальше мутишь в своем проекте под свои нужды.

    Кому-то нужно CI/CD прямо в продакшен каждый раз как закоммитил. Кому-то нужны коробочные релизы раз в полгода. Кому-то нужны простые регулярные релизы, но при этом распределенная команда из 100 разработчиков 300 тестеров, которые работают в разные спринты, и пока один релиз тестят, другой уже разрабатывают.

    Но это не курс по git, а именно по git-flow (или другими словами настройка code-review/ci/cd процессов).

    Например, если у вас CI с автоматическими тестами не настроен, то мерж любой фича ветки может ломать develop/master ветку. А CI это уже вообще не гит.
    Ответ написан
    Комментировать
  • Перебор и изменение файлов bash скриптом?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    если файлы в одном каталоге, то
    sed -i 's/было/стало/g' /home/user/mydir/*.ini

    Комментируем строку:
    sed -i 's/Notify="notify/11111"/#Notify="notify/11111"/g' /home/user/mydir/*.ini
    Ответ написан
    4 комментария
  • Как расширить историю вывода в консоль для tmux?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Жми Ctrl+b и [, после чего можно поскроллить историю tmux

    или чтобы скроллить нормально мышкой, напиши
    tmux set -g mouse on

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

    saboteur_kiev
    @saboteur_kiev Куратор тега C++
    software engineer
    Сейчас же я захотел переделать код, начав с соблюдения принципа «один класс - одна задача»

    Почему? Откуда взялся этот принцип?

    Следуйте следующим принципам:
    1) данные, которые находятся внутри класса обрабатывались методами этого класса
    2) Избегайте суперклассов (слишком больших классов, которые не помещаются в голову одного программиста, и вызывают много конфликтов при поддержке приложения)
    3) Соблюдайте баланс между первыми двумя пунктами.

    Учитывая, что вы единственный разработчик, то нет смысла делить класс на несколько, даже если он великоват.
    Если у вас есть визуализация этапов, можно было бы разве что в отдельный класс вывести эту визуализацию. А так - скорее всего у вас все хорошо. Может быть названия методов пересмотреть и все.
    Ответ написан
    Комментировать
  • Как в ubuntu запускать скрипт по крону через терминал?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    Из крона программа запускается в терминале, но не в вашем, а в фоне.
    И это нормально, так и должно быть.
    Если хотите следить за ходом выполнения - ваш скрипт должен писать действия в лог файл, который вы можете просматривать в удобное время.
    Ответ написан
    Комментировать
  • Где производить вычисления для онлайн игры?

    saboteur_kiev
    @saboteur_kiev Куратор тега Разработка игр
    software engineer
    Когда-то слышал что для этого нужен VPS, хотел уже идти покупать, но прочёл что не только его можно оказывается. Но что можно ещё я так и не понял.

    А уже есть сама игра? Или что ты собрался вычислять?

    По твоему вопросу вообще непонятна твоя цель. Где-то что-то вычислять, но еще даже не начал писать саму игру? Или какие конкретно вычисления тебя интересуют?

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

    Можешь сервер игры запустить на домашнем ПК и вычислять.
    Ответ написан
    8 комментариев