• MongoDB создает не нужную мне бд. Почему?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    А где в вашем подключении к монгодб выбор базы?
    Либо перед запросом выполните use rusterscluster, либо в настройках подключения следует указывать базу по умолчанию.
    Подозреваю, что в настройках у вас прямо так и указано db=dbname, как это было в каком-то примере.
    Ответ написан
    Комментировать
  • Как послать сигнал на дочерний sh процесс?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    sh -c "java -jar ol.jar"
    Зачем такая команда, если можно сразу java -jar ol.jar?

    Я посылаю сигналы на PID sh процесса, и только 9 сигнал срабатывает (логично, он же его убивает), остальные сигналы sh съедает сам и не посылает дочернему процессу.

    sh ничего не съедает и передавать автоматом в дочерние процессы он может только sighup, который он не передаст поскольку у вас интерактивная сессия, и сигнал 9 до процесса не доходит - процесс прибивается ядром.

    Собственно пока не будет понятно, зачем вы запускаете sh из которого запускаете jar, не очень понятно что происходит.

    Возможно, вам нужно это делать вот так:
    java -jar  ol.jar &
    echo $! > ol.pid

    и следовательно получать pid джава процесса в файле, в дальнейшем с ним работать.
    Ответ написан
    Комментировать
  • Покупать ли новый ПК?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    скорее всего будет своя квартира

    Я бы лучше потратился на мебель, удобное технологичное кресло, кровать, шкаф, кондиционер.

    У компа, кроме начинки, есть еще монитор и наушники - можно посмотреть что с ними.
    Внешний диск для бэкапа.

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

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    нет

    gzip - потоковый архиватор, он не работает с файлами, он работает с потоками.

    tаr сам сжимать не может, опция говорит что нужно передать выходной поток не в файл а в gzip (можно убедиться, что удалив gzip из системы, опция в tar перестанет работать)

    Поэтому выход tar перенаправляется в gzip, который на ходу сжимает, и уже пишет в .tgz файл. Промежуточного файла не создается.

    P.S. степень сжатия gzip гораздо ниже любого другого архиватора, который имеет возможность проанализировать файл целиком, но именно его архитектурное преимущество и позволяют связке tar+gzip держаться на плаву столько лет.
    Ответ написан
    Комментировать
  • Как в git добавить определенную папку?

    saboteur_kiev
    @saboteur_kiev Куратор тега Git
    software engineer
    git add directory
    Добавит все файлы и поддиректории из directory

    Но естественно в directory должны быть файлы. пустые директории не добавятся.
    Ответ написан
    3 комментария
  • Насколько безопасны офисные программы?

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

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    Настроенная грамотным специалистом и в руках опытного пользователя.
    Ответ написан
    Комментировать
  • Какую литературу читать начинающему программисту?

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

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

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

    В связи с этим я начала искать литературу для изучения в свободное время

    Для начинающего важнее больше писать, чем читать.

    и поняла для себя, что нет смысла читать книги по типу Кнута о самой парадигме программирования

    Есть такое.

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

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

    Я знаю, как решить задачу - но как сам компьютер делает то, что я пишу в коде? Для меня это просто магия: скомпилировала и вот, держи результат. А как это все прошло внутри компьютера, для меня большая загадка.

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

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

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

    Поэтому хотела бы, чтобы здешняя аудитория порекомендовала, с чего стоит начать изучение, чтобы достичь моей цели(более-менее полное понимание архитектуры компьютера и процессов, которые в нем происходят)

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

    и также, возможно, на что ещё стоит обратить внимание начинающему программисту и изучить именно с точки зрения теории, а не "искусства программирования".

    Теории особо нет смысла. Нужна практика.

    На каком-то простом уровне необходимо освоить следующие вещи:

    Работа с базами данных - в любой программе чуть больше helloworld есть куча данных. Чаще всего их хранят в какой-то базе данных. Следовательно что-то простенькое надо осилить - sql (например sqlite или mysql), как с этим работать готовыми клиентами, как с этим работать из вашей программы.

    Как работать с JSON

    git - сейчас это требуется вообще везде.

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

    saboteur_kiev
    @saboteur_kiev Куратор тега IT-образование
    software engineer
    2 дня, но это меня напрягло, решил обратиться к профи, буду уделять больше внимания css чтобы понять его

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

    ИТ не для вас. Вот без обид, но это так.
    Ответ написан
    1 комментарий
  • Overtime на работе за или против?

    saboteur_kiev
    @saboteur_kiev Куратор тега Организация работы
    software engineer
    Для начала с терминологией.
    Overtime - это работа на работе во внеурочное время, СОГЛАСОВАННОЕ и одобренное с заказчиком. Обычно оно оплачивается или компенсируется.
    А то, что вы просто задерживаетесь на работе по личным причинам - это просто ваше личное желание.
    Если у вас какая-то проблема, никто не мешает пойти домой, сесть за комп, и разобраться с технологией, проблемой.

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

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

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

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

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

    Лучше либо поставить FTP сервер и пользоваться фтп клиентами, либо настроить между машинами VPN и шарить уже внутри него.
    Ответ написан
    1 комментарий
  • Как лучше всего изучать языки программирования?

    saboteur_kiev
    @saboteur_kiev Куратор тега IT-образование
    software engineer
    Учиться пользоваться поисковыми системами.
    Вы даже не в первом десятке миллионов "айтишников", которые проходят этот путь. Научитесь искать информацию.
    Пишите дальше. Пишите сложнее.
    Ответ написан
    Комментировать
  • Почему, 33,8 ГБ на HDD не влезают в 43 ГБ SSD?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Много моментов.
    Разметка файловой системы. Маркетинговый и реальный размер.
    Опять таки, 43 гб ssd странноватый размер, "неровный".
    Ответ написан
    2 комментария
  • Что делать с джуниор программистом, который самоучка и не с этой планеты?

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

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

    "И не можем так торговать своими нервами, у нас сердце пошаливает, голова кружится... Так и умереть можно на рабочем месте."

    Это ОЧЕНЬ СТРАННО, когда дедлайны целого проекта зависят от ДЖУНА. Что-то в вашем проекте вы недоговариваете.
    Ответ написан
    4 комментария
  • Как решить проблему синего экрана смерти от звуковой карты Xonar D2?

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

    Поэтому все что можно советовать - пробовать разные версии аудио, например 1.75, либо тупо поменять звуковуху.
    Ответ написан
    Комментировать
  • Что значит зелёная заливка имени файла в листинге?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    Означает Sticky Bit на каталоге /tmp. Обратите внимание на последнюю букву в правах доступа.
    Ответ написан
    Комментировать
  • Влияет ли кол-во файлов в директории на скорость записи (создания новых файлов) в ext4?

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

    Разница между 100 и 1000 файлов будет минимальна (менее процента)
    Разница между 100 и 1.000.000 файлов будет немного заметна, но только пока блоки содержащие директорию не закешируются в памяти.

    По сравнению с ext3, ext4 ОЧЕНЬ сильно оптимизировала работу с множеством файлов.

    Ниже edo1h привел пример теста, но он некорректно использовал внешнюю команду, получив основную нагрузку на процессор, а не на диск. Мой комментарий вышел слишком длинный поэтому решил его в ответ добавить:
    spoiler
    Давайте померяем еще раз вашим скриптом, а потом более правильным:
    $ test() { for A in `seq 1 10000`; do touch $RANDOM.$RANDOM.$A; done }

    $ time test
    real 0m8.406s
    user 0m5.939s
    sys 0m2.548s
    $ time test
    real 0m7.943s
    user 0m5.699s
    sys 0m2.333s
    $ time test
    real 0m7.929s
    user 0m5.647s
    sys 0m2.369s

    Как мы видим, ничего особо не видно. Непонятно быстрее или медленнее. Вдобавок user time занимает основную часть времени и видимо сильно влияет на результат.

    Перепишем скрипт:
    $ test1() { for A in `seq 1 10000`; do echo "" > $RANDOM.$RANDOM.$A; done }
    Почистим файлы и попробуем заново
    $ rm -rf *
    $ time test1
    real 0m0.310s
    user 0m0.111s
    sys 0m0.196s

    Сразу остановимся и увидим, что теперь у нас основное время это именно sys, а не user тайм, то есть уже чаще скрипт ждет пока выполнятся дисковые операции, а не дисковые операции ждут пока им дадут команду что-то делать. Повторим команду несколько раз:

    $ time test1
    real 0m0.331s
    user 0m0.101s
    sys 0m0.229s

    $ time test1
    real 0m0.331s
    user 0m0.129s
    sys 0m0.200s

    $ time test1
    real 0m0.402s
    user 0m0.118s
    sys 0m0.229s

    $ time test1
    real 0m0.324s
    user 0m0.087s
    sys 0m0.236s

    $ time test1
    real 0m0.382s
    user 0m0.129s
    sys 0m0.253s

    $ time test1
    real 0m0.387s
    user 0m0.102s
    sys 0m0.283s

    $ time test1
    real 0m0.421s
    user 0m0.115s
    sys 0m0.299s

    $ time test1
    real 0m0.465s
    user 0m0.115s
    sys 0m0.312s

    $ time test1
    real 0m0.465s
    user 0m0.139s
    sys 0m0.324s

    $ time test1
    real 0m0.467s
    user 0m0.139s
    sys 0m0.327s

    $ time test1
    real 0m0.553s
    user 0m0.156s
    sys 0m0.365s

    $ time test1
    real 0m0.560s
    user 0m0.194s
    sys 0m0.364s

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

    saboteur_kiev
    @saboteur_kiev Куратор тега IT-образование
    software engineer
    Никто не знает штаны ты протирал в школе и на первом курсе, или каждый день ходишь на дополнительные кружки по ядерной физике.
    Копать нужно туда, в чем разбираешься. А причем тут твой вопрос на ИТ портале - вообще непонятно.
    Ответ написан
    Комментировать
  • Мне 16, могу ли я работать?

    saboteur_kiev
    @saboteur_kiev Куратор тега Карьера в IT
    software engineer
    Знание кусочка каких-то технологий и психологически состоявшийся ответственный человек - разные вещи.
    Никто не хочется связываться с 16-летними интернами/джунами в условиях огромной конкуренции.

    И сделал пару учебных проектов, как по верстке так и по проганью.
    Надоело осваивать новые и новые технологии делать новые и новые проекты,

    Сделать пару учебных проектов и делать "новые и новые проекты" - взаимоисключающие параграфы. Новые и новые, это если вы хотябы пару десятков сделали. Более-менее состоявшихся проектов.
    Попробуйте принять участие в каком-нить опенсорсе, сделать не учебный а практичный проект.
    Ответ написан
    Комментировать
  • Какой выбрать дистрибутив линукс для вкатывания в консоль и программирования?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    Вы программируете непосредственно в линуксе, или в каком-то IDE?
    В этом случае совершенно не важно, какой Линукс, лишь бы в нем запустилось то, в чем вы непосредственно работаете. С этой точки зрения разные дистрибутивы мало отличаются. Максимум погуглить как установить окружение в вашем дистрибутиве и все - консоль есть в каждом популярном Линуксе, IDE тоже.

    А из-за обновления может много чего упасть.
    Для серверных вариантов - почти в каждом дистрибутиве есть LTS (long-term-support) версия.

    Для десктопа, берешь например монетку и кидаешь среди Fedora, Ubuntu, CentOs, Manjaro - этого выбора более чем достаточно.
    Ответ написан
    Комментировать