• Почему регулярка ведёт себя странно?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    654a4b20f05f4769951183.png

    зашел на первый попавшийся эмулятор Hive. У меня ваш пример работает тут
    https://demo.gethue.com/hue/editor?editor=824614
    Ответ написан
    2 комментария
  • Почему при работе батника не отображается результат поиска файла?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Если в файле что-то есть, то может быть ваш парсин неправильный?
    Добавьте тут перед for
    if exist "%tempfile%" (
        for /f "delims=" %%I in ('type "%tempfile%"') do (


    type "%tempfile%"
    посмотрите
    Попробуйте его руками положить в файл и отпарсить в имя файла.

    p.s. вместо этого всего, я бы просто воспользовался гнушным find... и быстрее и проще.. даже из того же bat можно вызывать.
    Ответ написан
  • Почему скорость интернета с ноутбука в два раза меньше, чем с телефона?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    ну банально софт может отличаться. На телефона одна ОС, на ноуте другая. Сетевой стек отличается.
    "тест скорости" может быть банальным скачиванием файла во временную папку, которая на телефоне сохраняется на телефонный флеш, а на компе на HDD, например.

    Не доверяй этим "мерятелям скорости", если это не iperf
    Ответ написан
  • Как отправить процесс в фон?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    Здравствуйте.
    На Ubuntu server после ввода команды bg <номер процесса> ничего не происходит, просто возвращается строка на ввод.

    Так и должна просто возвращаться строка на ввод. Во первых если процесс уже был запущен и работал в фоне, то вы ничего не делаете. Если он был приостановлен, он просто должен перейти в running.
    Но для того, чтобы вам помочь, было бы неплохо чтобы вы привели лог своей консоли, как вы выполняете jobs, как вы указываете номер процесса. То есть выполнить jobs, bg номер, jobs

    При вводе команды bg <номер процесса> на экране начинает отображается вывод этого процесса, при этом окно терминала наглухо зависает и я ничего не могу сделать, даже остановить процесс (ctr+C)

    Как докажете что окно терминала именно зависает?
    для начала, если вы запустили процесс в фоновом режиме, то Ctrl+C естественно не может его остановить. Он же в фоне выполняется. Скорее всего вы не понимаете, что вам доступен терминал, в котором вы можете вводить другие команды.
    Фоновый процесс просто может писать текст в терминал.
    Напишите вслепую clear, например, проверьте что экран очистился ненадолго.
    И запускать процессы в фон, которые шлют много текста в терминал - в общем случае бессмысленно
    Ответ написан
    Комментировать
  • Как автоматически проставлять группу пользователя при создании файла через winscp?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    Тут системно надо подходить к вопросу. Много неясностей.

    1. Если все пользователи пишут в одну и ту же папку (типа upload), можно просто проставить SUID и SGID флаги на папку, и все файлы в ней будут создаваться от юзера/группы владельца upload/

    2. Также почему все кидают файлы от своего имени? Можно сделать специального пользователя, попросить всех юзеров сгенерировать ssh ключи и добавить в этого пользователя. Каждый будет логиниться со своим ssh ключом, но юзер будет один и тот же

    3. Добавить всех пользователей в одну группу и проверить чтобы umask был 0002
    Ответ написан
    Комментировать
  • Как в bash создать динамический select?

    saboteur_kiev
    @saboteur_kiev Куратор тега bash
    software engineer
    select, for, while, until - это просто четыре команды, которые создают цикл.
    То есть
    for a in 1 2; do
     for b in 1 3; do
       select list; do
         while something; do
           break
         done
      done
     done
    done

    это нормальная работа всех циклов..

    А у вас в скрипте case или лишний или криво написан, как мне кажется.

    Не совсем понял задачу, но может попробуйте поковыряться в этом примере:
    jsonlist="$(jq '.[][]|keys[]' sites.json|tr -d \")"
    select action in ${jsonlist};do
      echo "[$action]"
      test "$action" == "title" && break
      newlist="$(jq ".[][][\"$action\"][]" sites.json)"
      echo "$newlist"
    done
    Ответ написан
    1 комментарий
  • Ошибка в задаче bash при изменении оболочек юзеров из файла. Как исправить?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    Если у вас такая задача, то она непонятно чему учит.
    Слишком ненужные и длинные цепочки
    Итак.

    1. sed умеет сам открывать файлы. то есть вместо cat users.txt | sed можно просто sed users.txt
    2. учитесь смотреть промежуточные значения, тот же ваш $line перед выполнением
    3. Учитесь пользоваться sed без -i и смотреть промежуточный результат перед тем как он полезет в файл.
    4. Что у вас с кавычками?
    /^" $line ":/ это что?
    вы пытаетесь пользоваться регулярками без понимания что это такое?
    Вы вообще не понимаете как хотя бы одну строчку изменить через sed?

    Тут даже чинить нечего, в строчке с sed все неверно.

    for user in $(grep -vP "^(/s)*#" users.txt)
    do
       sudo sed -ir $user "/^$user:/s/\\bin\\sh/\\bin\\bash/" /etc/passwd
    done
    Ответ написан
    2 комментария
  • Может ли роутер выступать в качестве ретранслятора внешнего трафика?

    saboteur_kiev
    @saboteur_kiev Куратор тега Информационная безопасность
    software engineer
    Так а откуда берутся все эти "ботсети"?
    Это как раз зараженные устройства. Вебкамеры, розетки, роутеры, смартТВ - все что подключено к сети, особенно напрямую смотрит в инет.
    Для организации DDOS нужна не мощная машина а много-много маленьких устройств, которые могут вполне легально пинговать. ПРосто когда это делает десяток тысяч устройств - это проблема.
    Ответ написан
    Комментировать
  • Как сконвертировать RAW диск в NTFS или FAT без потери файлов и папок?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    С таким вопросом, проще обратиться в контору по восстановлению.
    Ну или на свой страх и риск попробовать поискать потерянные файловые системы чем-нить вроде DMDE
    Ответ написан
    Комментировать
  • Какая файловая система наиболее устойчива к сбоям?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    все очень просто.
    1. Бэкапы.
    2. УПС.

    И не искать себе выдуманное решение с файловыми системами.
    * Файловые системы не заботятся о пользовательских данных.
    * Целостность файловой системы это о том, что структура будет целая, то есть два файла не занимают один кластер, нет незавершенных операций, когда что-то недописано, или какой-то кластер считается занятым, а на самом деле нет и уже неконсистентность.
    * Эти проблемы решаются простым способом - все что криво удалить, и все. Не восстановить.
    * Второй момент - софт может просто записать кривые данные, и тут как бы от файловой системы не зависит. Вплоть до какого-нить криптера, который сделает совершенно корректные файловые операции и все пошифрует.
    * Если же глючит хард, то там все еще хуже.

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

    saboteur_kiev
    @saboteur_kiev
    software engineer
    в тимсити так нельзя.
    Да и в дженкинсе это не всегда хорошо работает.
    Можно несколько агентов поставить в разные директории, но понятно что столкнемся с проблемой лицензирования каждого агента.
    Ответ написан
    4 комментария
  • Жесткий диск нагрелся до 55 градусов это опасно?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Ничего там не расплавилось. Но температура высокая.
    Вроде как в среднем WD диски могут греться до 60 при высокой активности, но это предел их рабочей температуры
    https://products.wdc.com/library/SpecSheet/ENG/287...

    А вообще, нужно брать точное название модели и на сайте читать спецификацию.
    Ответ написан
    Комментировать
  • Возможно ли разлочить 120hz на мониторе?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    если монитор тянет, то ясен пень что тогда не тянет либо видяшка, либо кабель.
    Ответ написан
    2 комментария
  • Можно ли 2 человекам подключится к одному компу по Remote Desktop?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Если на той стороне Windows Server, то можно. Иначе - ковыряьт какой-нить RDP Wrapper
    Ответ написан
    3 комментария
  • Что на клиенте создается свою пару ключей для https соединения?

    saboteur_kiev
    @saboteur_kiev Куратор тега Компьютерные сети
    software engineer
    Для того, чтобы создать https, на стороне сервера нужен сертификат.
    Сертификат содержит внутри пару ключей (приватную, публичную), и некоторые другие поля, например доменное имя сайта для валидации.

    Клиент (браузер) при попытке подключиться по https получает сертификат и публичный ключ. По сертификату он может валидировать что он попал на нужный домен, а публичный ключ нужен чтобы отправить назад на сервер зашифрованный только что сгенерированный ключ-пароль для этой сессии.

    Сервер получив зашифрованный пакет расшифровывает его приватным ключом и вот у нас есть tls (https) сессия, и уникальный секрет у браузера и у сервера.

    Для каждой новой сессии этот секрет будет генерироваться заново.

    Ну а доверие к сертификату идет, если ты сертификат покупаешь у доверенных центров сертификации, чьи сертификаты встроены в систему/браузер и периодически обновляются с новыми версиями браузеров.

    Либо ты можешь руками установить сертификат в доверенные. Но самоподписанные нужно будет в каждую систему/браузер руками ставить.
    Ответ написан
    7 комментариев
  • Что такое WEB api?

    saboteur_kiev
    @saboteur_kiev Куратор тега Веб-разработка
    software engineer
    web api, это api по веб протоколам (обычно http/https).
    Ответ написан
    Комментировать
  • Как создать программу с готовыми шаблонами для формирования отчётов?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    1. Выбираем язык программирования
    2. Изучаем его
    3. Создаем базу с данными и учимся заполнять и извлекать данные из базы
    4. Пишем программу, которая умеет извлекать данные и выводить отчет
    5. Создаем шаблоны для титульной страницы и остальных страниц, интегрируем в программу

    Ну и все в таком духе.
    Ответ написан
    2 комментария
  • Как реализовать простую игру-вопросник в тг боте на js?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    я пишу бот на баше, там делаю просто.
    Храню во внешнем источнике (sql, например), информацию об играх.

    Если в текущем чате запущена игра, в sql будет timestamp запуска, chatid , правильный ответ и возможно вопрос, параллельно запущен тред с таймаутом, который завершит игру.

    Если игра запущена, все сообщения пользователей проверяются на наличие правильного ответа, и соответственно помечаются.
    Ответ написан
    Комментировать
  • Что такое компонент? Что такое модуль?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    контекст имеет значение.
    Компонент может быть целым приложением, которое является одним из сервисом в микросервисной архитектуре.
    Или может быть набором общих функций/библиотек.

    В целом, компонент достаточно самостоятельная сущность, которую можно либо использовать независимо, либо легко интегрировать.
    Модуль - явно часть чего-то, что не может существовать без основного продукта (например плагин). В этом случае он не столько интегрируется, сколько сразу подключается, а существовать самостоятельно не может.

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