Задать вопрос
  • Болят глаза через 5-10 минут, что можно сделать?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    1. Возрастные изменения. Все, ушла молодость. Теперь отдыхать, следить за яркостью монитора, капать капли, кушать чернику.

    2. Подбирать правильные очки. У хорошего офтальмолога.

    3. Если недавно перенес ковид/грипп, то последствия усталости еще могут полгода-год ощущаться. Отдых давай.
    Ответ написан
  • Как обращаться к устройствам, находящимся за NAT?

    saboteur_kiev
    @saboteur_kiev Куратор тега Компьютерные сети
    software engineer
    на роутере пробрасываешь порт на ноутбук №1, на ноутбуке этот же порт пробрасываешь на телефон, на телефоне на этот порт вешаешь софт, к которому хочешь обратиться.
    На роутере проброс порта скорее всего делается в интерфейсе, на ноутбуке нужно покопать файрвал. Не помню в штатной винде такое есть или нет. Должно быть по идее, но мало ли.
    Ответ написан
    Комментировать
  • Насколько полезно писать велосипеды?

    saboteur_kiev
    @saboteur_kiev Куратор тега Веб-разработка
    software engineer
    Если что-то в готовом решении кажется сложным, значит ты не уловил какие именно проблемы успели порешать те, кто это решение писал.

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

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

    Поэтому свои велосипеды пиши или в очень простых кейсах или когда уже будешь четко понимать зачем ты решил не юзать готовое.
    Ответ написан
    Комментировать
  • Free inodes в Windows. Что это и как с этим бороться?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Надо смотреть каким образом zabbix смотрит инфу на диске С
    На ntfs нету айнодов. Или у вас там какая-то ошибка, или wsl может ругается.
    Ковыряйтесь в заббиксе
    Ответ написан
    4 комментария
  • Как сделать две консоли при работе одного python-приложения?

    saboteur_kiev
    @saboteur_kiev Куратор тега Python
    software engineer
    Никак в том смысле, в котором ты подразумеваешь.
    Консоль у тебя открывается не к файлу, а к операционной системе.

    То, что ты хочешь - сделай проще логирование в два разных файла и смотри их разными консолями.
    Ответ написан
    Комментировать
  • Что из себя программно представляет API?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    API это то место, через которое одна программа общается с другой программой.
    Это может быть открытый порт, куда можно подключиться и отправить/получить данные.
    В случае веб-апи, это может быть определенный эндпоинт
    Это может быть брокер или база данных
    Это может быть вообще файл на диске.
    Другими словами, это именно контракт - сам придумываешь как одна программа может общаться с другой программой. А реализация уже второй вопрос.
    Ответ написан
    Комментировать
  • Как и где лучше всего хранить список постоянно используемых [консольных] команд?

    saboteur_kiev
    @saboteur_kiev Куратор тега Организация работы
    software engineer
    сделай два файлика, в одном git в другом sql
    Ответ написан
    4 комментария
  • Scss, работать по FTP обновлением стилей без перезагрузки страницы?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Хм. а что за необходимость? Подержку FTP из браузеров сейчас откручивают, если уже не открутили.
    Подозреваю, что может быть и вообще невозможно будет.
    Ответ написан
    Комментировать
  • Что значит выучить язык программирования?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    А что значит выучить английский язык - это сдать какой-то тест, или просмотреть фильм без перевода и все понять? Это написать контрольную или свободно пообщаться с кем-то на английском?

    Тоже и с языком программированием. Нужно уметь писать программы разного уровня сложности. Чем больше технологий освоил, чем более сложные программы можешь написать, тем лучше ты как программист.
    Ответ написан
  • Как починить ПК после чистки системника?

    saboteur_kiev
    @saboteur_kiev Куратор тега Железо
    software engineer
    раньше запускалось на 60 фпс, заметно начало фризить.


    Больше напоминает троттлинг - снижение частоты процессора при перегреве.

    Проверить еще раз нормально ли прижат кулер к процессору, если снимала кулер, возможно термопасту нужно заменить. Проверить что точно кулер крутится.
    Короче проверь систему охлаждения.
    Ответ написан
    1 комментарий
  • Доп. вопрос к ответу - Это будет 2 RAID1 по 4 диска или 4 RAID1 по 2 диска, которые дальше объединены в RAID0?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    raid10 это просто raid 0 из двух raid 1

    если 8 дисков, то ТЕОРЕТИЧЕСКИ может выйти из строя 4 диска, главное чтобы они были по разную сторону зеркала.

    Если нужна отказоустойчивость с бОльшим количеством - наод смотреть другие варианты рейда, например raid 6
    Ответ написан
    Комментировать
  • Как полностью перенести всё содержимое с одного FTP сервера на другой с сохранением прав?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    ftp протокол не умеет в такое. Тем более что все еще зависит от того с какими правами и настройками запущен ftp на дестинейшене.
    Ответ написан
    Комментировать
  • Как записать вводимые данные в определенном формате?

    saboteur_kiev
    @saboteur_kiev Куратор тега bash
    software engineer
    магия awk и любой формат.

    read -p ' Please input MACaddress BMC: '
    MAC=$(echo "${REPLY}"|awk '{for(i=1;i<=length($0);i++){if (substr($0,i,1) !~ "[0-9a-fA-F]"){continue};if (a==2){printf ":";a=0};printf substr($0,i,1);a+=1}}')
    echo "$MAC"
    Ответ написан
    Комментировать
  • Что не так с кавычками в bash?

    saboteur_kiev
    @saboteur_kiev Куратор тега bash
    software engineer
    Перед тем как выполнить любую команду происходит parameter expansion
    Поэтому если выполнить команду
    find . -name a*
    и в каталоге есть файлы a1, a2 и a3, то баш проведет expansion и на самом деле попытается выполниться команда
    find . -name a1 a2 a3
    что будет синтаксической ошибкой, так как непонятно что такое a2 и a3

    А если написать так:
    find . -name "a*"
    то параметр "a*" уже отправится именно в find и он его распарсит согласно всем правилам wildcard в линукс

    P.S. это касается выполнения любой команды. Просто в find . -name люди чаще всего попадаются.
    А так можно поэксперементировать на
    echo a*
    echo "a*"
    Ответ написан
    Комментировать
  • Как правильно в bash скрипте использовать $?

    saboteur_kiev
    @saboteur_kiev Куратор тега bash
    software engineer
    #!/bin/bash
    d=$(date +%Y-%m-%d-%H%M%S)
    
    if pg_dump -U postgres zkgu -F c -Z 1 -f /mnt/NStore/1c-sqldump/$n$d.gz; then
      find /mnt/NStore/1c-sqldump/ -type f -mtime +25 -delete
    else
      echo "$d The dump didn't happen" >> /var/log/pgdump.log
    fi
    Ответ написан
    Комментировать
  • Должен ли программист выполнять роль девопса на сервере заказчика?

    saboteur_kiev
    @saboteur_kiev Куратор тега Веб-разработка
    software engineer
    С хрена ли это работа девопса? Поднять и запустить проект программист не способен?
    Девопс на отдельную ставку - это оркестрация сотнями и тысячами виртуалок/контейнеров/пайплайнов и так далее.

    А вот то, что это ввязали вам в работу это уже совсем другой вопрос, который должен был уточняться на этапе начала работ, в каком виде вы передаете проект.
    Ответ написан
  • Что нужно просить у заказчика при разработке сайта на фрилансе?

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

    saboteur_kiev
    @saboteur_kiev
    software engineer
    это base64 кодирование какого-то файла.
    Не текстового.
    Ответ написан
    Комментировать
  • Как поставить пароль на архив tar/gzip?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    mysqldump -u $USER -p$PASS --ignore-table=myBase.log_chat --ignore-table=myBase.log_main --routines $DB > $BACKUP_DIR/mysql.sql
    + tar -czvf $ARCHIVE $BACKUP_DIR


    Странное применение targzip в данном случае. совершенно бессмысленное.
    Юзай просто zip, у него есть -e (encrypt) опция, но там слабенькая защита. уж проще openssl, как указали в другом ответе.

    Чтоже касается tar. Весь смысл тар и gzip в том, что они умеют работать с потоком, а не файлом. Поэтому то, что вы сперва сохраняете в файл, а потом отдельно еще в tar/gz - бессмысленная работа, которая ничего не дает. Вдобавок и сам тар там не нужен, у вас же один файл.
    Поэтому можно сделать так:
    mysqldump -u $USER -p$PASS --ignore-table=myBase.log_chat --ignore-table=myBase.log_main --routines $DB | gzip > $BACKUP_DIR/mysql.gz


    и потом шифровать файл чем угодно.
    Или сразу:
    mysqldump -u $USER -p$PASS --ignore-table=myBase.log_chat --ignore-table=myBase.log_main --routines $DB | gzip | openssl enc -aes-256-cbc -out encrypted $BACKUP_DIR/mysql.gz.encrypted

    Пароль или руками или перенаправить
    mysqldump -u $USER -p$PASS --ignore-table=myBase.log_chat --ignore-table=myBase.log_main --routines $DB | gzip | openssl enc -aes-256-cbc -out encrypted $BACKUP_DIR/mysql.gz.encrypted<<<"mysecretpassword"
    Ответ написан
    Комментировать
  • В чем разница между способами тестирования (в контексте web и php)?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    юнит - тестирование минимального модуля, обычно один класс.

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

    Функциональный - тестируем полноценно какую-то функцию, например пользовательский юзеркейс, который для работы может использовать один юнит, а может и десять.

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

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