Задать вопрос
  • Что за профессии такие - Release Engineer и Configuration Manager?

    alexclear
    @alexclear
    A cat
    Release engineer - это не профессия, а должностная инструкция (роль). Это человек, который выполняет release engineering (https://en.wikipedia.org/wiki/Release_engineering), фактически - человек, который находится в конце цикла процесса разработки программного продукта. Он делает из предоставленного разработчиками кода готовый к развертыванию продукт - занимается написанием инсталляторов, сборкой пакетов, определением зависимостей и т.п.
    Configuration manager - это роль, человек, выполняющий которую, занимается управлением конфигурацией (https://en.wikipedia.org/wiki/Configuration_manage... Управление конфигурацией - это описание конфигурации, достижение повторимости, развертывание новых узлов, реакция на изменения внешних условий, внесение изменений по запросу, планирование емкости, определение бюджета и другие похожие задачи.
    Ответ написан
    Комментировать
  • Объясните как работает php-fpm?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Для начала почитайте что такое SAPI. Затем представьте что apache + mod_php разделили на web-сервер, который проксирует запросы на php-fpm и отдает статику, и собственно отдельный web-сервер который имплементит SAPI и выполняет запросы связанные только с php. То есть статику отдавать мы можем только через php. Суть примерно та же что и у apache2 + prefork + mod_php но оптимизированный только для работы с php. Так же можно поставить на фронт более быстрый и легковесный сервер который умеет проксировать запросы.

    То есть php-fpm это эдакий fast-cgi сервер который постоянно держит готовые для работы пул-процессов (сколько в пуле процессов настраивается, так же как и от какого пользователя их запускать и все такое прочее). Каждый новый запрос уходит в какой-либо процесс из пула, запрос отрабатывает, возвращаем результат тому кто попросил (web-серверу обычно). Если процесс падает (fatal допустим) - поднимаем новый.

    Принципиальной разницы между apache2+mod_php нету, просто упрощается инфраструктура. Наш web-сервер должен только уметь проксировать запросы и отдавать статику, а php-frpm вообще может быть на разных машинах (балансировщиком можно раскидывать запросы). Ну и сами понимаете, nginx + php-fpm будет быстрее обрабатывать запросы чем apache2+mod_php какой бы мы менеджер процессов не использовали в апаче. Минусов по сравнению с apache+mod_php я даже не могу предложить.

    А php-runtime не зависит от этого. Он один на всех, CLI, FPM, mod_php...
    Ответ написан
    7 комментариев
  • Как по SSH с линукса на линукс получить доступ к GUI?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Как по SSH с линукса на линукс получить доступ к GUI?

    Зависит от того, что подразумевается под "доступом к GUI". Есть как минимум два варианта:
    - возможность запускать GUI приложение на удалённой машине с отображением интерфейса на локальной машине
    - возможность взаимодействовать с локальной машины с дисплеем удалённой машины

    Первое делается либо тупо запуском приложения внутри сессии ssh -X, либо запуском удалённого vnc-сервера и присоединением к нему. "Тупо" -- потому что при обрыве связи в первом случае приложение будет потеряно, а во втором -- нет, можно будет присоединиться к vnc повторно и продолжить.

    Второе делается запуском x11vnc на удалённой машине с параметром -display указывающим на нужный X11-дисплей и последующим присоединением к этому vnc-серверу.
    Ответ написан
    Комментировать
  • Совместное использованние мощного компьютера в семье. Как лучше организовать?

    mashletov
    @mashletov
    Math.random()
    Какую-то ересь сейчас прочитал. Оптимальное решение — докупить ещё один комп.
    Ответ написан
    12 комментариев
  • Зачем программисту работать на кого-то?

    saboteur_kiev
    @saboteur_kiev Куратор тега Карьера в IT
    software engineer
    Познав дзен программирования, вам еще нужно будет познать дзен администратора, дзен экономики, дзен управленца, дзен маркетолога, дзен продажника.

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

    Jump
    @Jump
    Системный администратор со стажем.
    Для чего может понадобится электрическая розетка, если существуют переходники?
    Попалась мне недавно такая интересная штука, картинка тут: delumo.ru/upload/resize_cache/iblock/6b8/488_488_2... Не совсем понимаю, в чём разница использования такой штуки и когда есть два обжатых конца, соединённых в коробке-переходнике? Итог одинаковый, или же нет?
    Ответ написан
    1 комментарий
  • PPTP туннель между VPS и сервером?

    @ruha02
    Учусь работать
    1. Делаешь подключение
    2. На клиентском сервере добавляешь маршрут в сеть 10.1.1.0 и указываешь интерфейс pptp
    3. На серверном сервере добавляешь маршрут до IP адреса сервера 1
    Я на линуксе не знаю точный сиснтаксис, но что то типоэтого:
    route add -net 10.1.1.0 netmask 255.255.255.0 gw 10.1.1.1 dev ppp0
    а не сервере
    route add -host (ip клиентского сервера) netmask 255.255.255.0 gw 10.1.1.1 dev ppp0
    Ответ написан
    Комментировать
  • Обрезать строки по шаблону?

    yarkov
    @yarkov
    Помог ответ? Отметь решением.
    Файл test.txt со строками:
    какой-то текст с пробелами /search?query=текст_запроса&page=56565 какой-то текст с пробелами
    какой-то текст с пробелами /search?query=текст_запроса&page=100500 какой-то текст с пробелами
    какой-то текст с пробелами /search?query=979879879&param=запроса&page=100500 какой-то текст с пробелами
    other line
    какой-то текст с пробелами /search?query=4535345&page=100500 какой-то текст с пробелами 5465465464654

    И команда в терминале
    cat test.txt | grep '/search' | sed -r 's/^.+ (\/search[^[:space:]]+) .+$/\1/g'

    Результат
    /search?query=текст_запроса&page=56565
    /search?query=текст_запроса&page=100500
    /search?query=979879879&param=запроса&page=100500
    /search?query=4535345&page=100500
    Ответ написан
    Комментировать
  • Готовая сборка Web сервер на Linux (без мусора)?

    opium
    @opium
    Просто люблю качественно работать
    А зачем сборка?
    Просто ставьте минимальный Дебиан и на него то что вам нужно, никакого мусора не будет
    Ответ написан
    6 комментариев
  • Есть ли какой-нибудь брокер (не форекс) с адекватным веб-интерфейсом?

    norlin
    @norlin Автор вопроса
    НЕТ в природе (в РФ) брокеров с полноценным веб-интерфейсом, к сожалению.

    UPD.: финам-whotrades тоже той ещё шарашкой оказались. Неудобно, нет полноценного счёта (как следствие – нельзя перевести бумаги по ACAT). См. ниже.

    В итоге остановился всё-таки на Финаме.
    Оказалось, что для интересующих меня услуг веб-интерфейса всё равно нет (зарубежные биржы, акции + ETF – услуга "счёт ROX" у Финама).
    В отличие от БКС, открывается всё 100% онлайн (договор, при этом, есть) и быстро (открытие счёта вообще в течение 1 дня). Потом 1-5 дней на перевод средств из вашего банка. + 1 день на "зачисление" средств (если они придут после начала торговой сессии – то можно будет ими пользоваться только на следующий день).

    Беда с софтом – я так понимаю, это вообще глобальное – у всех всё заточено ТОЛЬКО под винду.

    UPDATE: Перешёл на Interactive Brokers – у них есть минимальная комиссия $10 в месяц, зато при редких операциях комиссии за операции вычитаются из этой общей минимальной. Зато плюсов море – нормальный личный кабинет, приложения для мобильных устройств, полноценный брокерский счёт, никаких посредников.
    Ответ написан
    Комментировать
  • Не работает условие по времени в bash скрипте?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    Пользуйтесь timestamp, баш сравнивать даты не умеет.
    Пользуйтесь declare -i, иначе все переменные по умолчанию в баше это строка, а не число.

    опция --date позволяет указать какую дату вы хотите использовать
    date --date="2011/12/12 12:12:12"
    Monday, 12 december 2011 12:12:12 +0200

    опция +%s позволяет при помощи date вывести нужную дату в виде "секунды с 1970 года", получите целые числа, которые может сравнить bash. Простой пример:

    #!/bin/bash
    
    declare -i MYDATE1=`date --date="2011/12/12 12:12:12" +%s`
    declare -i MYDATE2=`date --date="2017/07/06 11:11:11" +%s`
    declare -i CURRDATE=`date +%s`
    
    echo $MYDATE1 $MYDATE2 $CURRDATE
    
    if [ $MYDATE1 -lt $CURRDATE -a $MYDATE2 -gt $CURRDATE ]; then
      echo "Сейчас больше чем $MYDATE1 и меньше чем $MYDATE2"
    else
      echo "не-а"
    fi
    Ответ написан
    Комментировать
  • Как вы организуете свою работу?

    paulradzkov
    @paulradzkov
    Дизайнер, верстальщик, начальник отдела UI
    Про GitHub.

    1) Любой проект, даже самый маленький начинаю в новом репозитории. Потому что:
    - мало ли что из него вырастет,
    - код в Гитхабе это бэкап, не засерается место в Дропбоксе или других облаках,
    - мгновенный поиск по коду в репозитории, актуально когда проект уже достаточно большой,
    - легче спросить совета у коллег или показать проблему, когда исходники можно посмотреть онлайн,
    - проект удобно хоронить, если он заглох, или закинуть в портфолио, если он клевый.

    2) Создал себе на Гитхабе две дополнительные организации внутри своего аккаунта.
    - «paulradzkov-forks» — для форков чужих проектов.
    - «paulradzkov-heaven» — кладбище для старых проектов, куда перемещаются все неактуальные проекты.
    Эти две дополнительные организации позволяют очистить основной аккаунт от мусора. В нем теперь только несколько актуальных проектов, в которых легко ориентироваться.

    3) Перемещаю все старые проекты из Дропбокса на Гитхаб в «paulradzkov-heaven». Проектов много, это долго, но освободилось уже несколько гигов (т.к. там кроме кода psd-исходники, архивы с инсталляторами и прочее). Место в облаках заканчивается, а на Гитхабе — резиновое.
    Это кладбище уже пригодилось, когда у меня попросили поискать исходники проекта, над которым я работал 3 или 4 года назад, а я через минуту ответил им ссылкой на нужный репозиторий. Не пришлось никуда лезть, распаковывать, искать, запаковывать, отправлять почтой или закачивать в облако.
    Повторюсь, что на Гитхабе классный поиск по исходникам: если нужно посмотреть, как что-то сделал в старом проекте, но не помнишь в каком — можно довольно быстро найти искомое без возни с архивами.

    Итого.
    Код должен лежать на Гитхабе.
    В том числе старые проекты.
    Используйте организации, чтобы рассортировать проекты, если их много.
    Порядок там, где у каждой вещи есть своё место. Придумайте себе правила порядка заранее и соблюдайте их, чтобы не тратить время на ликвидацию беспорядка.
    Ответ написан
    10 комментариев
  • Почему SVN не позволяет выполнить commit?

    t3adog
    @t3adog Автор вопроса
    Проблему удалось решить, добавив в конфигурационный файл апача в настройках доступа к svn по http следующий параметр:

    SVNAdvertiseV2Protocol off

    Возможно, кому-нибудь это решение поможет.
    Ответ написан
    Комментировать
  • Как вставить переменную в os.system?

    longclaps
    @longclaps
    [12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
    Тебе такая нумерация месяцев нужна? Тогда вот однострочник:
    os.system("tar cvf backup/backup_month/%d.tar.gz * && rm backup/*" % ((datetime.date.today().month - 2) % 12 + 1))
    Ответ написан
    1 комментарий
  • Как сделать архивацию файлов внутри каждой из директорий и удалить исходники?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    find /srv/sh/folder/* -maxdepth 0 -type d -exec bash -c 'cd {} && tar --remove-files -czf archive.tgz *' \;
    Ответ написан
    Комментировать
  • Как запустить bash скрипт как демон в systemd?

    Xuxicheta
    @Xuxicheta Автор вопроса
    инженер
    Решил проблему.
    Скрипт
    #!/bin/bash -
    #ссылка на интерпретатор обязательна
    
    function monitoring() {
        inotifywait -e create,delete,modify,move -mrq $1 | while read events 
        do
           echo "$(date +"%m.%d.%Y_%T")   $events"
        done
    }
    DIR="%mydir%"
    LOGFILE="%mylogfile%"
    echo "Start filesystem monitoring: Directory is $DIR, monitor logfile is $LOGFILE"
    monitoring $DIR  >> $LOGFILE &

    Сервис-файл
    [Unit]
    Description=File system Monitoring -- /root/.bin/monitor.sh
    After=local-fs.target systemd-sysctl.service systemd-modules-load.service
    
    [Service]
    Type=forking
    ExecStart=/root/.bin/monitor.sh
    EnvironmentFile=/root/monitor.cfg
    
    [Install]
    WantedBy=multi-user.target
    Ответ написан
    Комментировать
  • Как отсортировать кортеж?

    @deliro
    Я сейчас скажу прописную истину, но она, оказывается, далеко не очевидна для питон-программистов.
    Кортеж - это не "неизменяемый список". Кортеж - это структура данных. То, что кортеж умеет итерироваться - это хак, о котором даже сам Гвидо говорил.
    Как минимум, существование таких штук, как __slots__ и namedtuple должно натолкнуть на эти размышления.

    Касательно твоей задачи:
    def cmp(x):
        x = x.split('x')
        return int(x[0]) * int(x[1])
    
    sorted(SIZES, key=cmp)
    Ответ написан
    Комментировать
  • Как получить переменные BASH их TXT файла?

    ky0
    @ky0
    Миллиардер, филантроп, патологический лгун
    Записываете переменные в файл, как в обычном sh-скрипте - VAR1=foo, VAR2=bar и т. д, а в начале вашего скрипта говорите "source /path/to/varsfile", и все переменные оттуда подтягиваются.
    Ответ написан
    2 комментария
  • Как написать bash скрипт, который будет прослушивать изменения в файле?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    while true; do
        inotifywait -qq -e create,close_write,modify,move,delete $CHECK_FOLDER && $BUILD_COMMAND
    done
    Ответ написан
    5 комментариев