Задать вопрос
  • Как правильно списывать ИТ оборудование в компании?

    saboteur_kiev
    @saboteur_kiev Куратор тега Системное администрирование
    software engineer
    Правильный ответ - этим занимается не систадмин, а бухгалтерия.
    С вашим бухгалтером и обсудите что для этого нужно.
    Как минимум все оборудование должно быть на балансе организации, у бухгалтера есть варианты как оно было поставлено на баланс, и по какой статье у него идет списание и амортизация. Ваша задача там чисто консультативная
    Ответ написан
    Комментировать
  • Как разумно поставить себе начало в программировании (C++ и C#)?

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

    Я разобрался как работает стек и как адресуется память в пятом классе без интернета и практически без документации. Была какая-то книжка по С++, которую просто перечитал раза 3-4, пока не понял смысл.

    На протяжении обучения в школе я размышлял о начале изучения языка программирования.

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


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

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

    Если тебе интересна разработка и в будущем планируешь стать айтишником - просто бери и работай с компом. Пиши программы, сайты, поделки, настраивай что-то, интегрируй. Набирай фундамент. Интенсивность - по своему увлечению.
    В какой-то момент сможешь понять что тебе приятнее заходит, тогда может быть начнешь продвигаться уже в более узкой области, в конкретном языке, технологии. Специализация обычно начинается на уровне ну хотя бы джуниор, а не новичок/стажер.

    А про трудоустройство начинай думать, когда при прочтении описания вакансии ты считаешь, что 50-60% ты знаешь.
    Ответ написан
    12 комментариев
  • Можно ли заменить серверные вентиляторы обычными и чем это чревато?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Можно и обычный ставить.
    Разница может быть в том, что оригинальный использует более дорогую технологию, типа подшипниковый. Он громче, зато годами без проверок будет крутиться.
    Ну и плюс переплата за бренд.
    Может быть еще какой-то вариант умного вентилятора, который может материнке сообщить что он перестал крутиться, там надо смотреть.
    В принципе за прошедшие годы технологии подешевели, и дешевый вентилятор может все это тоже уметь и работать не хуже, разве что проверять что он крутится нужно периодически.
    Ответ написан
    2 комментария
  • Куда двигаться дальше, чтобы создать web приложение?

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

    Для начала просто разберись как работает веб сервер. То есть базовый http (не html) а именно http, чтобы понимать что он делает, как работает, и уже потом как его использует джава.
    Ответ написан
    Комментировать
  • Является ли такой мессенджер безопасным?

    saboteur_kiev
    @saboteur_kiev Куратор тега Информационная безопасность
    software engineer
    Пользователи сами настраивают свой личный сервер для переписки

    Уязвимость номер раз, требуется квалифицированный пользователь, который понимает как и что он настраивает и может оценить риски.

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

    Уязвимость в оффлайн формате какая-то есть. Если они передают друг другу по бумажке - одно. Если по телефону, или почте - то что за телефон, что за почта, могут ли пользователи оценить риски?

    Сообщение шифруется локально на пк отправителя и отправляется на сервер, откуда пользователь получает его, если он в сети. Расшифровывается сообщение локально на пк получателя при помощи полученного от собеседника ключа шифрования.

    Как проверяется, что сервер не дешифрует сообщение?

    Притом, на сервере хранится только последнее сообщение каждого пользователя(история не сохраняется)

    В каком виде? Дешифрованном или шифрованном? Какова вероятность компроментации сервера?

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

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

    Ну и вообще, такой мессенджер скорее всего бесполезен. Если пользователи настолько опытные, что могут арендовать и настроить виртуальную машину, поставить и настроить там сервер, подключить к нему клиент, обменяться ключами, то в чем проблема ПРОСТО установить сервер, подключиться любым ссш клиентом и уже на самом сервере пообщаться в talk/write ?
    Ответ написан
    2 комментария
  • Почему мой линукс, команда ">" не работает?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    Что-то не то с вашей консолью. | и > редиректят совершенно одинаково, не может одно работать, другое не работать.
    Или что-то у вас еще вокруг хелма делается или непонятно.
    Ответ написан
    Комментировать
  • Как правильно делаются Telegram Web App?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Так собственно через ссылку и своего бота оно и делается.
    Ссылку проще всего кидать через inline keyboard
    Ссылка может запуститься только в приватном чате с ботом, в общих чатах следует создать ссылку на своего бота с предустановленным start=something, которая при старте в приватном чате запустит нужное приложение
    Ответ написан
    7 комментариев
  • Git удалил коммит/ы при переключении веток с помощью checkout?

    saboteur_kiev
    @saboteur_kiev Куратор тега Git
    software engineer
    повезло что я переименовал тогда файлы и сейчас нахожусь на предпоследней версии.


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

    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 комментария