Задать вопрос
  • Как сменить стэк?

    saboteur_kiev
    @saboteur_kiev Куратор тега Карьера в IT
    software engineer
    Не совсем понятно, где его заполучить. Чтобы получить этот опыт, нужно джуном устраиваться что ли? Это же бред какой-то. Или всё-таки предыдущий опыт как-то котируется в глазах HR-ов и прочих рекрутеров?

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

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

    И там и там же руль.

    Ну да, можно переключиться на другой язык. И опыт поможет. Но нужно брать и учить. С потолка опыт не придет. Придется потратить сколько-то лет
    Ответ написан
    3 комментария
  • Как научиться удерживать код в голове?

    saboteur_kiev
    @saboteur_kiev Куратор тега IT-образование
    software engineer
    Этот навык прокачивается собственным опытом.
    Читать чужой код в данном случае сложнее, чем собственный, который ты написал и понимаешь его "скелет".

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

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

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

    saboteur_kiev
    @saboteur_kiev Куратор тега Git
    software engineer
    Если ты делаешь для себя, делай как хочешь.
    Но смысл делать подобный .md файл немного отсутствует - есть же git log
    Сейчас не совсем понятна мысль - ты хочешь автоматический change log, или тебе просто хочется иметь текстовый файлик?
    Но в бренче может быть много коммитов, пока не закончишь фичу, и зачастую "чистовик" пишется уже при слиянии в основной ветке, со сквизом промежуточных коммитов.
    Ответ написан
  • Профессиональная переподготовка СПБ, куда пойти?

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

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Потому что он устарел. Не развивался, не поддерживает многие современные стандарты.

    Важный критерий - на нем никто не пишет.
    На коболе есть некоторое количество старых проектов, которые дорого/сложно переписать заново, поэтому специалисты востребованы. Но их количество ОЧЕНЬ СИЛЬНО ограничено, а новые проекты никто не планирует на нем писать.
    Ответ написан
    Комментировать
  • Почему выводится только одна единица?

    saboteur_kiev
    @saboteur_kiev Куратор тега bash
    software engineer
    echo -e "\n"PC-{001..150}


    for i in {0..150}; do printf "%03d\n" $i; done


    for i in $(seq -w 1 150); do echo "PC-$i"; done

    ну или сравнение чисел делается через спец. операторы -gt, -ge, -lt, -le, -eq, -ne
    #!/bin/bash
    
    for ((i=1; i < 150; i++)); do
        if [[ $i -lt 10 && $i -ge 0 ]] ; then
            out="00$i"
        fi
        if [[ $i -lt 100 && $i -ge 10 ]] ; then
            out="0$i"
        fi
        if [[ $i -lt 1000 && $i -ge 100 ]] ; then
            out="$i"
        fi
        echo PC-$out
    done
    Ответ написан
    2 комментария
  • Как передать переменную из телеграмм бота в приложение?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Да наверное никак.
    Как я понимаю, miniapps передают данные в структуре initData и initUnsafeData, но там нет рандомных переменных, только внутренние userID, userName и так далее.
    Сохраняйте внутреннюю переменную вместе с user_id в базе данных, и когда юзер переходит в веб приложение, то доставайте его из базы по user ID
    Ответ написан
  • Почему нет выбора максимальной частоты экрана?

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

    Между прочим hdmi 2.1 - это вообще-то не то, что используют для высоких частот. 120 он тянет, 144 я уже даже сомневаюсь.
    Обычно для таких вещей уже используют displayport
    Ответ написан
    Комментировать
  • Библиотека на питоне, позволяющая рисовать точки, линии и круги на карте по заданным географическим координатам?

    saboteur_kiev
    @saboteur_kiev Куратор тега Python
    software engineer
    ну нет конечно.
    Если карту еще можно натянуть и сделать подсчеты координат очень быстро, то города еще и с дорогами, еще и мастшабирование, это задача не библиотека а крупного сервиса, типа гугл, типа www.openstreetmap.org, так как это уже база данных с огромным количеством регулярно обновляемых данных.
    Ответ написан
  • Что такое сборка?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Если взять компиляцию и сборку исполняемого файла, например .exe, то обычно ты используешь вызовы различных библиотек.
    Системные библиотеки обычно доступны в системе, поэтому можно собрать файл динамически, где в самом файле будут ссылки на системные библиотеки, и файл будет не слишком большой. Но есть вероятность что на другой версии операционки какой-то библиотеки может не быть, или она будет более старой/новой версии, что может привести к несовместимости.

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

    Аналогичные вещи есть и в ассембли.
    Ответ написан
    Комментировать
  • Как при выполнении команды bash, которая использует grep, получить код выхода команды, а не самого grep?

    saboteur_kiev
    @saboteur_kiev Куратор тега bash
    software engineer
    Храни результат diff в промежуточном значении
    result="git diff --diff-filter=AM --name-only origin/master"
    grep "app/" <"$result" > ./log

    соответственно каждую команду можешь отдельно почекать
    result="git diff --diff-filter=AM --name-only origin/master"
    if [ $? -eq 0 ]; then echo OK; else echo NOT OK; fi
    grep "app/" <"$result" > ./log
    Ответ написан
    2 комментария
  • Стоит ли хранить изображения base64 в БД?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    В общем случае - нет.
    В конкретных случаях - ну если много маленьких иконок, то можно использовать такой вариант. Или svg текстом можно так хранить.
    base64 кодирует все триолями, поэтому любой файл увеличивается на ~30%, если что то уж хотя бы в бинарных blob можно пробовать. А так - просто в виде файлов или специализированная база типа s3 предпочтительнее
    Ответ написан
    2 комментария
  • Как быть при утечке памяти? Можно ли "очистить" ОЗУ скриптом?

    saboteur_kiev
    @saboteur_kiev Куратор тега Windows
    software engineer
    Вы вообще не в ту сторону шагаете.Какие тут скрипты??

    Утечки памяти это не проблема операционной системы (ну разве что утечки именно в ней).

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

    В этом и суть утечек, что их никак не починить, только перезапускать то приложение, которое разрослось.
    Чинить может только разработчик этого приложения, выпустив новую версию с исправлением.

    Тут нужно разбираться с вашими приложениями, с теми кто их писал.
    Иначе - ну ребутать разросшиеся приложения регулярно, если этот вариант возможен.
    Ответ написан
    Комментировать
  • Как вы выставляете memory and cpu requests для подов?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Приложения приложениям рознь.
    Тут основной вопрос к разработчикам, чтобы они могли написать приложение, которое требует минимум ресурсов и в случае чего легко скейлится горизонтально.
    Можно вообще выделить максимум 1 cpu/4gb памяти на под и сказать разработчикам - крутитесь как хотите, но чтобы все влезало в эти лимиты. Сюда влезет 90% микросервисов, но понятно что или придется пилить много микросервисов, и вдобавок какие-то тяжелые вещи типа базы данных сюда не влезут.
    НО, все ведь зависит от нагрузки и количества клиентов.

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

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

    saboteur_kiev
    @saboteur_kiev Куратор тега Организация работы
    software engineer
    нанимается проджект менеджер, который рулит людями
    выбирается тимлид, который рулит командой.
    проджект и тимлид делят проект на задачи - проджект с точки зрения бизнеса, тим лид с точки зрения технической реализации
    потом задачи выдаются разработчиками.
    Технически в этом помогает какой-то трекер, типа JIRA и система контроля версий и система ревью. Типа битбакет, гитхаб, гит, и другие.
    А так - слишком общий и нетехнический вопрос,
    Ответ написан
    2 комментария
  • Скорость интернета 100 мбит вместо 1 гбит, что делать?

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

    Если от провайдера в роутер приходит 1 гбит, а от провайдера напрямую в комп будет 100 мбит, то проблема в компе (сетевушка/драйвера/настройки).

    Сделать пару экспериментов и выяснить в каком именно месте проблема.
    Ответ написан
    5 комментариев
  • Какие бывают биты типов файлов в Linux и где это применять?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Изменить тип файла нельзя. Потому что это по сути не тим файла, а тим directory entry на файловой системе.
    Есть общеизвестные типы.

    Но block special file и character special file, это не "файлы", а ссылки на устройства. Просто слово file имеет более широкий смысл.

    В линкус с идеологией "все есть файл" или "все есть поток", можно маунтить различные устройства на файловую систему, что в ряде случаев очень упрощает работу с ними.
    Ответ написан
    Комментировать
  • Почему команда ls -l возвращает только total 0?

    saboteur_kiev
    @saboteur_kiev Куратор тега bash
    software engineer
    ls -ld testdir

    по умолчанию, команда ls выводит указанные файлы, если же указаны директории, то их содержимое.
    Чтобы "залочиться" в текущей папке, нужно использовать опцию -d
    Ответ написан
    Комментировать
  • Можно ли сделать автокликер для неактивного окна?

    saboteur_kiev
    @saboteur_kiev Куратор тега Python
    software engineer
    Запусти виртуалбокс и кликай в нем
    Ответ написан
  • Бот/программа для автоматического отправления сообщений в telegram в определенное время?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Автоматизация действий от имени обычного аккаунта запрещена самим телеграмом, и ведет к бану.
    Сообщение в определенное время можно отправлять от имени бот аккаунта, там все очень просто, за 10 минут можно нагуглить как бота сделать, как отправить.
    Секунда в секунду это невозможно в принципе. Пока команда дойдет до бота, пока бот отправит на апи телеграма, пока сервер телеграма отправит уведомление на телефон, пока телефон его воспримет. Рассчитывать можно на 1-5 секунд. А секунда в секунду это можно внутри корпоративной сети что-то придумать, а не такими глобальными сервисами как телеграм.
    Ответ написан
    4 комментария