Linux скіл для Java девелопера

Чи обов’язково Java девелоперу знання пінгвіна?
Якщо так, то на якому рівні?
В багатьох вакансіях часто зустрічається є така вимога.

👍НравитсяПонравилось0
В избранноеВ избранном0
LinkedIn
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Думаю, этого курса от LinuxFoundation будет достаточно
www.edx.org/...tionx-lfs101x-2

Если не будет JNI, то большего не потребуется.

откуда вы только беретесь вендузятники херовы
иди на c#

иди на c#
мене ще так ніхто не посилав

по сабжу, давно юзаю лінукс і горя не знаю. просто цікаво було уточнити, що такого незвичайного потрібно знати, коли в вакансії пишуть Strong Linux skill

По личному опыту могу сказать, что не обязательно, но плюсом будет. да и вопше от проекта и задачи зависит. Был у меня случай когда грохнулась дев машина, через putty over ssh подключался и рылся, что там запустить, сколько памяти осталось как на диске и сколько оперативки сожрало, удалял дампы старые памяти когда по OOME падало, что бы диск почистить и т.д. могу сказать интересно, но когда не пользуешься — то забывается =(((

Наверняка имеется ввиду уровень продвинутого пользователя. Причем, конечно, командной строки, ГУИ на серверах, тем более облачных, нафиг не сдались никому.
Большинство здесь присутствующих его имеет, так что можно смело писать — «ДА».
.
Пара дистрибутивов де факто стандарт — centos/redhat и opensuse/suse под коммерцию + debian под стартапы-идеи-етц.

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

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

За несколько часов буквально можно освоить на элементарном уровне. ls, cp, mv, tail, cat, ln, df, du, rm, chmod, kill, sudo, top, ps, chmod, chown. Немного сложнее — vi (главное разница insert mode/command mode), grep, sed или awk. С флагами постепенно можно разбираться уже в процессе.

освоить — это перечитать? Чтоб даже базовое запомнить нужно время.

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

да, а потом пишут мультитредовость через скрины.

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

ну вы же поняли о каких я скринах написал?

Меня Джава покусала.

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

верно. так вот я видел когда запускали по несколько джава-процессов в каждом отдельном скрине и таким образом реализовівали многозадачность.

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

Во многих вакансиях требуют этот скилл.
Чего там только не требуют. Иногда от php-шника требуют знание C++ например. На практике может и не понадобиться.

по-моему, если занимаешься server-side разработкой под linux, то независимо от языка, linux надо знать.
Как минимум: типы юзеров, привилегий и права доступа (id,chmod,chown,sudo / kill / killall ), работа с файлами (cp/mv/tail -f / grep / find / rm / tee), ssh + scp — этого достаточно для начала, vi на примитивно уровне. Скорее всего с такими знаниями тебя возьмут и дальше ты у коллег научишься более продвинутым вещам

Более продвинутый уровень — разные команды позволяющие посмотреть состояние системы или отдельных процессов или послать запрос куда-то — ps / top / strace (наверное для java-софта не очень полезен) / netstat / tcpdump / lsof / telnet / netcat / ping / openssl s_client / dig - всё это может сильно помочь при поиске проблем в уже работающей системе

И что, есть те кто не осилил? Объясни, на кой хрен это на собеседовании? К примеру, я не помню синтаксис команды chown — мне сесть и плакать? Или всё-таки man chown?

Если бы ты собеседовался у меня, то хватило бы ключевого слово chown

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

Так кажете, ніби це щось погане. «К сожалению», «самое плохое»...

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

Осталось выяснить, как можно под виндой работать ?

Посмотреть список процессов, посмотреть правильно ли запущено то, что тебе нужно было запустить, где лежат логи, пойти их почитать, что такое lsof, ulimit, jstack, jmap. Вроде бы и все, что нужно именно программисту.

Это бесполезно учить, это надо пробовать и смотреть что получится. Читай, когда понадобится — тогда и погуглить или у коллег спросить, или даже [о, ужас] почитать мануалы. Если просто выучить — этого хватит на 2 дня.

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

Если этот даунтайм на полигоне — почему бы и нет?

А если на продакшне? Бывает же такое, что даунтайм на продакшне?:)

Даже если предположить что джуна оставили одного поддерживать какой-то проект, то самое простое — это пнуть собственный саппорт. Profit!

Багато Java програм працює на лінуксових серверах і єдиний доступ до них це ssh. Тому варто себе комфортно почувати в консолі:
файли — навігація, створення, редагування, видалення
процеси — подивитись, вбити
права доступу

додатково раджу розібратись з основами bash і можливостями команд grep, sed/awk

Я б ще додав керування службами системи. Іноді треба перезапустити Apache або базу даних.

Где-то из 10 собеседований на 1 требовали конкретный скилл, так как там они писали софт под линуксом для интеграции какой-то мультимедиа-коробки. Еще на 1 контора просто линукс использовала и их устроил ответ в стиле «сидел дома на Gentoo», на остальных восьми на проектах была винда.
Так что желательно, но в принципе не обязательно.

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

сидел дома на Gentoo
Это само по себе уже скилл.

Скажи что его знаешь. На уровне достаточном для программиста — осваивается за один день. Мой совет — тупо поставь себе второй операционкой и сам всё увидишь. У меня долгое время был первой, но надоел. Всё-таки отдал предпочтение винде — софт под неё делают качественнее.

Как и с виндой — тебе не нужно учить операционку. Тебе нужно настроить её под себя, и она будет тебя радовать. Другими словами — поставь, попробуй, будь уверен.

Вот админам — да, учить нужно. Хотя и там прошло время когда нужно пилить именно операционку, есть куча специального софта под все задачи.

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

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

Надо ставить не убунту, а арч/генту, и не в качестве второй, а в качестве основной, и не на вторичный ноут, а на основную машину.

Ни в коем случае не надо.

Ну сидел я на арче в качестве основной ОС. И что я узнал? Да, я понял, что поднять проприетарные драйвера на видюху может стать реальной проблемой после очередного обновления. После этого же обновления может похериться вообще что угодно. А теперь, представим, что это основная ось. Приходишь ты с работы, как раз остается время попилить свой собственный стартап. Врубаешь ноут, вспомнил, что не обновлялся давно (примерно три дня), обновился и в итоге все выходные разгребаешь дерьмо. И зачем оно надо? Чем это мне помогло?

обновился и в итоге все выходные разгребаешь дерьмо.
Это и есть ад и медитативная нирвана на земле в одном лице!
(примерно три дня)
Я не обновлялся два года, но после того как обновился сидел две недели в нирване,и так и не смог его восстановить. На этом мой путь воина и закончился.
Но вопрос не в пути воина, вопрос в «знать линукс», не находите ?

Именно это я и имел в виду. Не нужно иметь арч/генту к качестве основной ОС, чтобы «знать линукс». Подойдет и обычная убунта. Тогда путь воина сокращается до минимума.

Убунта какраз не подойдет. Ибо для браузера и аптитюда использовать коммандную строку и править конфиги/фиксить лажу — вообще не нужно.

И не только GUIями пользоваться, но и командной строкой, освоить mc, vim, emacs. По собственному опыту скажу, что не так страшен волк, нужно терпение и время на изучение, ну, и желание, как же без него. Да и кноповками реально быстрее многие вещи делаются.

И не только GUIями пользоваться, но и командной строкой
Еслы вы сумеете установить арч с десктопом, то можно вполне уверенно говорить что вы уже умеете пользоваться командной строкой.
emacs — не нужен (для жава програмиста)
mc — на любителя.
vim — вполне гугулиться при необходимости.
И вообще в арче нано есть по умолчанию.
Еслы вы сумеете установить арч с десктопом, то можно вполне уверенно говорить что вы уже умеете пользоваться командной строкой.

Да, есть такое :). Уже больше двух лет на Арче. Были и Кеды и Гномы и XFCE, в конце концов пришел к awesome-wm, заодно и Lua изучил по дороге.

Подписаться на комментарии