• Выбор нужной строки с последующей обработкой?

    saboteur_kiev
    @saboteur_kiev Куратор тега bash
    software engineer
    command2 "$(command1 | grep -oP "vm.*Z "| tail -n1)"
    Ответ написан
    Комментировать
  • Какую выбрать систему мониторинга для работы за NAT для небольшого разношерстного парка?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    grafana. Обычно она уже идет с influxDB, можно метрики слать напрямую в influxDB через его АПИ
    Ответ написан
  • Как практиковаться в программировании?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    Забей на программирование, это не твое.

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

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

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    у меня так сработало
    sshd -T | grep -oiP '[a-z0-9-.]*etm@[a-z0-9-.]*'
    Ответ написан
    Комментировать
  • Совместимость мобильных и десктопных процессоров?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Адаптер это же не просто ножки перепаять.
    Там может быть разное питание, разное количество ножек, для поддержки процессора его должен поддерживать чипсет материнки, ибо разные возможности могут быть у проца.
    Тут нужна инженерия и в плане разводки и в плате прошивки.
    Ответ написан
    Комментировать
  • Как сделать исключение в .gitignore?

    saboteur_kiev
    @saboteur_kiev Куратор тега Git
    software engineer
    It is not possible to re-include a file if a parent directory of that file is excluded. Git doesn’t list excluded directories for performance reasons, so any patterns on contained files have no effect, no matter where they are defined.

    Можно только добавить разово .pub руками.
    Ответ написан
    5 комментариев
  • Как в ubuntu полностью удалить python?

    saboteur_kiev
    @saboteur_kiev Куратор тега Ubuntu
    software engineer
    В убунту на питоне даже yum работает, поэтому совсем удалить не выйдет
    Ответ написан
    Комментировать
  • SSH как сделать скрин на сервере и увидеть, что происходит на рабочем столе?

    saboteur_kiev
    @saboteur_kiev Куратор тега SSH
    software engineer
    читай доку по селениуму. Смотря на чем написан бот, дописать туда снятие скриншота селениумом, он умеет.
    пример на питоне
    from selenium import webdriver
    driver = webdriver.Chrome("D:\Selenium\chromedriver_win32\chromedriver.exe")
    driver.get('https://www.testim.io/')
    driver.save_screenshot("screenshot.png")
    Ответ написан
    1 комментарий
  • Какая утилита подобна wget, но умеет делать upload дерева файлов по https?

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

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

    А так - слишком обтекаемая фраза, чтобы приделять слишком большое значение
    Ответ написан
    1 комментарий
  • Отличается ли з/п в США для кандидатов находящиеся на территории США или за её пределами?

    saboteur_kiev
    @saboteur_kiev Куратор тега Карьера в IT
    software engineer
    Конечно отличается. Там в каждом штате своя цифра налогов может быть. Для каждого человека может своя калькуляция быть.
    Там даже в кафе часто цены без налогов, чтобы было видно, что булочка в маке стоит везде одинаково, а платишь по-разному потому что в другой штат заехал.
    Ответ написан
    8 комментариев
  • Как происходит обмен с БД данными в Lineage2?

    saboteur_kiev
    @saboteur_kiev Куратор тега Разработка игр
    software engineer
    1. Каждое открытие инвентаря это запрос к БД (т.е. при стоянии на месте и щелкая кнопку, мы будем нагружать БД запросами)?

    Нет. Данные загружаются в оперативку при логине персонажа. Изменения также касаются оперативки. В базу скидывается при логауте. Ну еще периодически для синхронизации.

    2. Каждое выпадение золота в мир это новая запись в общую таблицу мира, что в такой-то точке есть объект "золото"?

    Да. есть объект "предмет". Есть структура "список предметов", скорее всего двухсторонний список. Он обновляется, в него добавляется, из него извлекается. Предметы в мире не записываются в базу вообще (если вы помните, при ребуте все что не в чьем-то инвентаре, пропадает. Не так уж много оперативки это занимает. Просто посчитайте.
    Максимальный онлайн на шарде - 5000 игроков.
    Объект - ну учитывая тип предмета, уникальный айди, разные параметры типа заточки, владельца, место, и так далее - 10-20 байт более чем достаточно. Ну давайте 50 байт возьмем, хотя на деле я уже не помню сколько там было, явно меньше.
    50 байт * 5000 игроков и скажем 100 предметом у каждого - получим примерно 23 мегабайта.
    Добавить клановые хроанилища. ну 30 мегабайт. Много это оперативки на сегодня? По-моему вообще разговор ни о чем.

    3. Что происходит после того, когда золото было поднято, эта запись превращается в null?

    Объект удаляется из списка.

    4. При интенсивном обороте этих действий, как реализуется такая таблица, чтобы она не переполнялась за неделю?

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

    5. Для игр подходит любая БД (например Postgres) или есть определенный тип игровых БД?

    Любая. В Lineage2 использовался MSSQL, в самописном народном java эмуляторе использовался mysql
    Ответ написан
  • Как верифицировать вебсайт пользователя?

    saboteur_kiev
    @saboteur_kiev Куратор тега Веб-разработка
    software engineer
    гугл верифицирует просто - дает тебе файл с уникальным кодом, который нужно положить на свой сайт.
    Ответ написан
    Комментировать
  • Подходит ли Python для первого языка ребёнку?

    saboteur_kiev
    @saboteur_kiev Куратор тега IT-образование
    software engineer
    С одной стороны можно и Питон.
    Но на пальцах поясните что такое байты, что такое память, как в памяти хранятся разные типы данных.

    Эх. В свое время было легко пояснять на примере спектрума с его линейной адресацией и прямым доступом к экранной памяти, где можно было биты "посмотреть"
    Ответ написан
    Комментировать
  • Как передать переменную окружения в команду?

    saboteur_kiev
    @saboteur_kiev Куратор тега SSH
    software engineer
    ssh docker-user@192.168.100.3 image=$(docker-ci-cd 'docker ps -f ancestor=\$(printenv image)")
    Ответ написан
  • Как выполнить команду подхватывая окружения хоста и удалённого сервера?

    saboteur_kiev
    @saboteur_kiev Куратор тега SSH
    software engineer
    ssh docker-user@192.168.100.3 "(docker stop \$(docker ps -q -f ancestor=docker-ci-cd)) && echo CONTAINER docker-ci-cd STOPPED || echo CONTAINER docker-ci-cd NOT FOUND"


    ssh $REMOTE_SERVER_ADDRESS "(docker stop \$(docker ps -q -f ancestor=$CI_PROJECT_NAME)) && echo CONTAINER $CI_PROJECT_NAME STOPPED || echo CONTAINER $CI_PROJECT_NAME NOT FOUND"
    Ответ написан
    3 комментария
  • Какой Road Way сделать чтоб прокачать навыки девопса под php разработку?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    ну изучи

    1. какую-то систему мониторинга, чтобы мог развернуть, настроить какие-то метрики и смотреть за ними. Возможно + графану для визуализации
    2. Какой-нить инструмент для CI (Jenkins, Gitlab CI...)
    3. Какой-нить инструмент для CD (можно реализовать на базе тех же Jenkins, Gitlab CI)
    4. собственно сам git и систему код ревью (Gitlab, Bitbucket, Github, Gerrit)
    5. системное администрирование на уровне установки и базовой настройки пакетов - все что вам нужно, типа кафки, раббит, elastic search и др
    6. bash маст хев для автоматизации установок. Питон на базовом уровня для простых вещей, возможно кусков мониторинга

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

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

    Вообще вопрос немного неясен. Ответ как бы элементарный - установка и настройка бота.
    Детальный ответ тут больше будет как выполненная за вас работа, а в этом случае вам на фриланс
    Ответ написан
    3 комментария
  • Стоит ли использовать Docker в продакшене для нескольких сайтов на одной VPS?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Для сайтов - нет смысла.
    Докер для развертывания удобен в случае различных кастомных настроек, установки плагинов и так далее. А банальный nginx+php разворачивается на любой ОС очень быстро.

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

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

    Либо использовать Докер только в крупных проектах которые размещаются на отдельных VPS.

    IMHO докер вообще для сайтов не лучшее решение. А самое крутое преимущество докер получает вместе с оркестрацией типа kubernetes/openshift, когда десятки и сотни приложений/микросервисов.
    Ответ написан
    Комментировать
  • Как правильно написать bash alias?

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