• Почему при передаче аргумента в функцию у него обрезаются пробелы?

    saboteur_kiev
    @saboteur_kiev Куратор тега bash
    software engineer
    Возьмите параметр в кавычки, иначе команда echo не видит где заканчивается ваш параметр.
    Ну и если версия баш не древняя, то команда read сама умеет промпт выводить типа
    read -p "$1" var
    Ответ написан
    Комментировать
  • Чем записать возможности программы, чтобы показать на собеседовании?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    можно в зум записать видео.
    можно в https://asciinema.org записать консоль.
    А вообще, гитхаб или просто текстом описать. Никому не интересно какие компоненты ты делал визуально, если ты не дизайнер. Просто суть поясни и стек технологий. Если что, тебя спросят конкретнее
    Ответ написан
    Комментировать
  • Что по операционным системам лучше подтянуть Go разработчику?

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

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

    Ну и все это в идеале в командной строке линукс, так как большинство вещей пишут под линукс.
    Ответ написан
    Комментировать
  • Как узнать какое приложение на моем компьютере шлет запросы в интернет или во вне?

    saboteur_kiev
    @saboteur_kiev Куратор тега Информационная безопасность
    software engineer
    tcpview из sysinternals попробуй.
    Ответ написан
    Комментировать
  • Как сделать самоподписанный сертификат доверенным на Windows?

    saboteur_kiev
    @saboteur_kiev Куратор тега Windows
    software engineer
    У сертификата есть поле Common Name или Certificate Subject, там где ты указывал имя при генерации сертификата.
    Оно должно соответствовать имени домена (например localhost)

    Либо у сертификата есть дополнительное поле Alternative Subject Names, где можно перечислить несколько DNS имен, тогда localhost должен быть или там или там.
    Иначе не пройдет валидация, браузер не будет видеть что сертификат соответствует твоему сайту localhost
    Ответ написан
    Комментировать
  • Резервный backup с windows на linux?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    та банально можно по ssh скопировать.
    На виндовс есть scp, rsync которые скопируют файлы или директории или посинкают их.
    При этом ставить ничего не нужно, бинарники для винды можно просто скачать, много вариантов.
    Ответ написан
    2 комментария
  • Как вызвать подтверждение выключения убунту (команда через терминал)?

    saboteur_kiev
    @saboteur_kiev Куратор тега Ubuntu
    software engineer
    Скрипт написать, который будет спрашивать.
    Можно даже простенький пароль запрашивать, или требовать написать yes полностью.
    Ответ написан
    Комментировать
  • Как избавиться от циклического запуска ПК?

    saboteur_kiev
    @saboteur_kiev Куратор тега Windows
    software engineer
    Я бы посмотрел как подключены кнопки корпуса на материнку. Может там перепутаны пины
    Ответ написан
    1 комментарий
  • Как получить список всех удаленных файлов из всех коммитов?

    saboteur_kiev
    @saboteur_kiev Куратор тега Git
    software engineer
    git log --diff-filter=D --summary | grep delete
    Ответ написан
    Комментировать
  • Как в Git в организовано хранение файлов?

    saboteur_kiev
    @saboteur_kiev Куратор тега Git
    software engineer
    Вообще-то как раз гит хранит целые копии файла.
    Для каждого файла создается его хеш, и файл-объект хранится под именем с этим кешом.

    If you again examine your objects directory, you can see that it now contains a file for that new content. This is how Git stores the content initially — as a single file per piece of content, named with the SHA-1 checksum of the content and its header. The subdirectory is named with the first 2 characters of the SHA-1, and the filename is the remaining 38 characters.


    То есть любое изменение файла - создает еще один файл-объект.
    Два одинаковых файла не будут занимать два места, даже если они хранятся под разными именами.

    Каждый коммит - содержит список файлов и хеш для содержимого.
    А ветка - это просто ссылка на конкретный коммит и немного метаданных.

    Также файлы-объекты хранятся упакованными, а периодически файлы-объекты могут быть объеденены в отдельный пакет.

    Чтобы посмотреть содержимое любого гит-объекта, юзай
    git cat-file -p ID_объекта (где айди объекта это как раз его хеш)

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

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

    saboteur_kiev
    @saboteur_kiev Куратор тега IT-образование
    software engineer
    нужно не изучать а поработать.
    Написать рестфулл веб сервис с использованием ООП и чистой архитектуры, поработаьт с реляционной базой данных.
    А то, что ты "изучил" без реальной практики - ничто.
    Ответ написан
    2 комментария
  • Есть ли задача на распределенные вычисления, которую легко проверить?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    На СИ?
    Попробуйте распределенную компиляцию, например icecc, distcc
    Даже считать не нужно
    Ответ написан
    Комментировать
  • Какие есть фриланс-направления в разработке?

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

    saboteur_kiev
    @saboteur_kiev Куратор тега Организация работы
    software engineer
    1. commit message
    2. task tracker (JIRA или аналоги)

    Если их интегрировать друг с другом, будет еще и довольно просто перемещаться по коммитам
    Ответ написан
    Комментировать
  • Есть ли open-source Bash скрипты, позволяющие собирать информацию с серверов?

    saboteur_kiev
    @saboteur_kiev Куратор тега bash
    software engineer
    В крайнем случае интересуют любые исходники подобных сервисов на иных ЯП, в которых можно прокопаться и поглядеть, как оно изнутри работает.


    Так подучите системное администрирование линукс. Вся информация о хосте берется из /proc и /dev.
    Все системные утилиты оттуда все забирают и парсят.
    Банальные команды типа df, cpuinfo, free лазят именно там
    Ответ написан
    4 комментария
  • Помощь в интернет соединении?

    saboteur_kiev
    @saboteur_kiev Куратор тега Компьютерные сети
    software engineer
    Но суть вопроса , в том что как мне определить , к какому подключается мой пк, и как если устранить? У меня оптика 100 мб

    Что именно устранить?
    Вы хотите проложить оптический кабель от вашей квартиры прямо к игровому серверу?
    Который может находиться, например, где-то в Европе? Это может потребовать миллионы а то и больше баксов.

    Чтобы посмотреть к чему подключается игра или другая программа, можно использовать, например, tcview
    https://learn.microsoft.com/en-us/sysinternals/dow...
    Ответ написан
    4 комментария
  • Алгоритм или бестпрактис для синхронизации .dotfiles?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer

    Предполагаю, что можно сделать его зашифрованным через openssl и именно его синхронизировать или даже версионировать через git (или оставить текущую схему с ансибл). При входе в систему расшифровывать его, кладя в RAM и подключать через "source .bashrc". Работать. После окончания рабочего дня расшифрованный файл надо удалить (ну или изначально при начале работы класть его в RAM).
    Но в этот файл регулярно вносятся изменения, бывает раз в день, а бывает лишь один раз в месяц.


    Не самый плохой вариант шифровать через openssl.
    Только зачем расшифровывать файл? Расшифровывайте прямо в память во время использования

    то есть в .bashrc можно например так

    dbuser=database_user
    dbpass="$(openssl enc -d -base64 -aes-128-ctr -nopad -k secret_key.txt<<<"l1k2j3kl14jjkl321h4lk124123;ljk2`13jlkj")"

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

    saboteur_kiev
    @saboteur_kiev Куратор тега Разработка игр
    software engineer
    название сперва ввести а потом уже жать плюс?
    Ответ написан
  • Как запустить 2 команды одновременно в рамках одного скрипта?

    saboteur_kiev
    @saboteur_kiev Куратор тега Python
    software engineer
    Можно в качестве команды вызвать многострочник в шелле, или вообще отдельный шелл скрипт, где пишем, например так:

    #!/user/bin/bash
    mycommand1 &
    mycommand2 &
    wait
    echo "completed"


    В питоне я думаю можно написать однострочник:

    coproc mycommand1; coproc mycommand2;wait;echo "completed"
    Ответ написан
    Комментировать
  • Куда приложение Обо мне(mugshot) записывает данные о созданном пользователе?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    да, можно в /etc/passwd - там есть поле gecos

    username:password:userid:groupid:gecos:home-dir:shell

    которое даже имеет под-поля разделенные запятой, где можно указать дополнительную инфу:
    username:password:userid:groupid:FullName,RoomAddress,WorkPhone,HomePhone,Others:home-dir:shell

    некоторые команды умеют ее оттуда доставать, например почтовые клиенты или finger
    Ответ написан
    Комментировать