Задать вопрос
  • Как делаются подсказки в консоли?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    Автодополнение в linux shell это большой и длинный набор скриптов на bash, которые можно дописывать и самому.

    Если пишешь свою оболочку, то собственно можно и самому написать автодополнение по там.

    Не очень понятно как можно собраться писать свою CLI оболочку и не знать как в ней сделать реагирование на нажатие клавиш.
    Ответ написан
    2 комментария
  • Как игровые движки понимают инородные языки?

    saboteur_kiev
    @saboteur_kiev Куратор тега Разработка игр
    software engineer

    Каким образом движок написанный на C++ понимает другие языки?

    Движок - это набор функций. Он может быть создан в виде стандартных библиотек для Windows/Linux
    Ну а библиотеки может использовать любая другая программа, включая другие языки программирования.
    Тем более, что движки и пишут так, чтобы их было удобно использовать в вызове из другой программы.
    Ответ написан
    Комментировать
  • Как начать писать код?

    saboteur_kiev
    @saboteur_kiev Куратор тега IT-образование
    software engineer
    Напиши сперва hello world
    потом усложни.
    А уже потом попробуй змейку.

    Вроде основы выучил,


    Вот тут проблема. Основы ты не выучил, а просмотрел. Выучил, это когда на практике попробовал и у тебя много раз получилось.
    Ответ написан
    4 комментария
  • Как сканировать QR коды камерой и записывать информацию в файл?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Когда-то очень давно я делал такой трансфер данных, на одном компе через консольный qrencode кодировал данные в QR коды и пускал их с частотой примерно 1 в секунду

    Потом видео на другом компе через ffmpeg разрезал на кадры и кадры парсил через консольную утилиту zbar (zbarimg).

    Но это было очень давно и я не помню точно. В черновиках скриптов у меня еще фигурирует https://zxing.org/w/decode, в который похоже можно отправить картинку с qr кодом и получить данные из него.

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

    saboteur_kiev
    @saboteur_kiev Куратор тега Карьера в IT
    software engineer
    Ну мне не нужно научиться ездить на машине, мне нужно понять, как это делать теоретически. А дальше я уже сам додумаю, как я это буду тренировать практически.

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

    И только после этого начинаются нюансы разработки и программирования.

    В офисе сразу идут нюансы разработки и программирования.

    Так что хочешь идти во фриланс - вперед.
    Ответ написан
    Комментировать
  • Чем деплоиться на bare metal?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Да все пишется скриптами.
    Любой инструмент, который может подключиться по ssh или имеет свой агент.
    Начиная от дженкинс/ансибл и заканчиваая какими-нить ентерпрайзными IBM uDeploy/Octopus

    Нужно понимать, что bare metal или просто виртуалки не умеют откатываться автоматически - им просто руками нужно прописать откат, а для этого во время деплоя просто делать бэкап (fs snapshot, tar.gz, или версионирование как сам придумаешь).

    В подавляющем большинстве случаев, проблема отката больше с тем как базу назад откатить.
    Ответ написан
    Комментировать
  • Как выглядит файл Логирование в гейм-дев документации?

    saboteur_kiev
    @saboteur_kiev Куратор тега Разработка игр
    software engineer
    эм. логирование может быть разнообразным, и вообще не обязательно в файл.
    Зависит от игры, зависит от того, что надо.

    Можно логировать технические моменты, например работу 3д движка, подключаемые библиотеки и функции, детект что может карточка, разрешение, мониторы, использование ресурсов.
    Можно логировать игровые действия игроков или npc
    Можно логировать сетевую активность
    Можно логировать пользовательскую активность по интерфейсу (сбор метрик для ui дизайнеров)
    Мало ли что.
    формат НИЧЕМ не отличается от логирования любого другого софта.
    Смотришь сколько логов, думаешь нужно больше или меньше. думаешь как оптимизировать.
    можно в файл, можно в базу, можно в несколько сразу
    Ответ написан
    3 комментария
  • Как мне визуализировать огромное количество данных из xml-файла?

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

    saboteur_kiev
    @saboteur_kiev
    software engineer
    #!/bin/bash
    
    function check_srv() {
    ping $1 && echo "$1 is <font color=green>online</font>" || echo "$1 is <font color=red>offline</font><br>" >>status.html
    }
    echo "Status<br>">status.html
    check_srv server1.com
    check_srv server2.com
    Ответ написан
    Комментировать
  • Каково реальное актуальное ограничение по скорости интернета со стороны провайдера/серверов?

    saboteur_kiev
    @saboteur_kiev Куратор тега Компьютерные сети
    software engineer
    Вопрос в том, реальна ли скорость в гигабит (и выше) в повседневном использовании со стороны клиента, либо сервера с сайтами, приложениями, играми и т.п. не способны задействовать полные возможности даже гигабитной сети провайдера (не говоря уж об оптике без искусственного ограничения) и нет смысла в тарифах свыше 500 Мбит/с? Если реальна, то каков сейчас "потолок" скорости передачи трафика при условии отсутствия ограничения провайдером?


    В том случае, если кабель выходит из твоего копьютера и напрямую втыкается в сервер - да.
    Но ты немного не учитываешь реалии. От твоего провайдера, кабель приходит не к тебе, а в лучшем случае в ваш дом, и еще в неплохом случае прямо в ваш подъезд, и в удачном случае в вашем подъезде нет других парочки геймеров/любителей торрента, с которыми ты будешь этот кабель разделять.

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

    Поэтому и тарифы зачастую не только ограничены банальными 100 мб или 1гб, но еще и указано, что "до 1 гб", потому что не гарантировано.

    10 гб между клиентом и серверов на междугородном и тем более международном уровне организовать КРАЙНЕ сложно и дорого. Во всяком случае гарантированную - для этого зачастую арендуют каналы, а не покупают подключение к интернет.
    Ответ написан
    Комментировать
  • Как в играх находят нужные участки памяти?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Какими способами ты находишь нужные слова, чтобы сказать предложение? Можешь вкратце описать?

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

    Вот и тут. Когда ты ищешь жизнь просто по количеству - это одно.
    Когда ты, разработчик, отлаживаешь программу, ты примерно понимаешь что ты ищешь, потому что можешь придумать несколько способов, как бы ты сам это реализовал. Эти вещи и ищешь.
    Чем выше квалификация, тем больше способов ты знаешь, как копнуть.
    Ответ написан
    Комментировать
  • Какая книга лучше?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Да какая разница?
    Одной книги в любом случае не хватит, чтобы изучить с нуля программирование. В любом случае будешь заглядывать в справку, гуглить решения, писать вопросы.

    Ну и английский не стоит откладывать в сторону.
    Ответ написан
    Комментировать
  • Как ограничить поиск в bash?

    saboteur_kiev
    @saboteur_kiev Куратор тега bash
    software engineer
    добавить параметр к опции -depth в вашем find
    Ответ написан
  • Написание системы на базе Linux kernel?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    установить на него dotnet

    нет, нельзя, потому что линукс кернел это просто ядро операционной системы, а не операционная система.

    Нельзя на ядро что-либо устанавливать. Тебе нужно сделать операционную систему, поддержку package манагера для инсталлятора (или написать свой вариант как дотнет будет у тебя интегрироваться и работать, и сделать свой инсталлятор).
    В общем ядро это грубо говоря то, как запускаются процессы в линукс, как разграничивается к ним права доступа и выделяются ресурсы. А все остальное, включая работу с файловыми системами, пакетами, библиотеками - это уже ОС.
    Ответ написан
    2 комментария
  • Как убрать лишний вывод из скрипта и прописать информацию о неустановленных дисках?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    for dev in sd{a..i};do echo -e "Device $dev: \033[0;32m$(hddtemp /dev/$dev 2>/dev/null)\033[0m";done
    Ответ написан
    Комментировать
  • Какой ноутбук выбрать для начинающего программиста?

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

    saboteur_kiev
    @saboteur_kiev Куратор тега Git
    software engineer
    Банально сделать несколько "енвайрнментов", то есть тестовых ботов, и привязать ветки к этим веткам.

    Намример можно привязать к именованиям бренчей, и создать заранее токены для release-bot, main-bot, dev1-bot, dev2-bot.
    Каждый разработчик делает свои ветки согласно dev1/feature-blabla и так далее.

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

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

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

    вот на этом моменте нужно найти старт-скрипт дженкинса или его unit файл, и посмотреть что внутри происходит.
    Подозреваю, что там тупо лажа с определением как найти запущенный дженкинс. МОжет связано с путаницей местоположения PID файла, или просто кривой скрипт.
    Ответ написан
  • Как работает killall -w в ubuntu?

    saboteur_kiev
    @saboteur_kiev Куратор тега Ubuntu
    software engineer
    Это не какая-то волшебная команда, которая умеет убивать процессы, это просто отправка SIGNAL, что есть часть архитектурного соглашения POSIX систем.

    То есть команда killall пошлет всем указанным процессам указанный сигнал (или SIGTERM по умолчанию), а при указании -w будет ждать, пока все указанные процессы не завершатся, проверяя их наличие раз в секунду.
    Если процессы зависли и не завершаются, killall будет ждать вечно.
    Ответ написан
    Комментировать