Re: Java + Linux
От: Passer  
Дата: 11.09.08 11:34
Оценка: 1 (1) +1
Здравствуйте, sdo.daemon, Вы писали:

SD>Доброго времени суток.

SD>Собственно являюсь джавистом без опыта работы в *NIX, однако при приеме на работу часто спрашивают про экспириенс *NIX систем.
SD>Подскажите какой багаж знаний нужно приобрести в выше указанных ОС? если можно подскажите литературу.

по мне нужно знать чуть-чуть. и пользоваться ман-ом.

желательлно хоть раз в глаза видеть
svc
cron
traceroute
netstat
vi

обязательно хоть немного работать с
grep
awk
sed
vim

Знат
bash

знать что такое файрвол и как с ним работать..
чуть-чуть понимать в сетях.

т.к. очень часто проблемы в программе бывают результатом проблем извне.
Re[6]: Java + Linux
От: dotidot Россия  
Дата: 13.09.08 17:56
Оценка: 4 (1)
Здравствуйте, Пацак, Вы писали:

П>Все, больше случаев возникновения "мусора" в проекте я не припоминаю. У тебя всё по-другому, и такие файлы возникают регулярно?

ну например в позапрошлом проекте, в котором я участвовал, помимо мусора от vim, xemacs и kate, которыми я пользовался, генерировались исходники на sql, python, сишные хедеры для юнит тестов с константами, корбовые прокси для питона и с++, было еще немного мусора от scons, какие то непонятные логи левые вылазали в странных местах. В среднем после scons -c в trunk было около 300-400 файлов с вопросиками. Если прогнать автоматические тесты, а потом scons -c, то раза в два больше. Я пытался это хоть немного поправить, когда занялся deb пакетом, но потом плюнул на это безнадежное дело.
Проект благополучно сдан и слава богу всеми забыт нафиг
Re[4]: Java + Linux
От: LeonidV Ниоткуда http://vygovskiy.com
Дата: 15.09.08 12:46
Оценка: 4 (1)
Здравствуйте, Nicht, Вы писали:

N>У svn add нет параметра --recursive. Как раз наоборот есть --non-recursive. svn add рекурсивная по умолчанию.

N>svn add * не работает в том случае, если ты к примеру добавишь файл в поддиректорию которая уже в svn, то svn add * уже этот файл не добавит, ругнется что эта директория уже добавлена и рекурсию по ней не продолжает.

А, это я перепутал ключики. Помню, что-то добавить нужно было:

По умолчанию, команда svn add * пропустит любые каталоги уже находящиеся под контролем версий. Но иногда, все же, бывает нужно добавить все неверсионированные объекты в вашей рабочей копии, включая те, что находятся внутри каталогов. Указав параметр --force принудит svn add рекурсивно пройтись и по версионированным каталогам:

Это из svn book.
http://jvmmemory.com — простой способ настройки JVM
Re[2]: Java + Linux
От: Passer  
Дата: 11.09.08 11:43
Оценка: 1 (1)
Здравствуйте, Passer, Вы писали:

еше обязательно уметь работать с правами на файл. тож часто бывает нужно
Re[3]: Java + Linux
От: LeonidV Ниоткуда http://vygovskiy.com
Дата: 14.09.08 15:58
Оценка: 1 (1)
Здравствуйте, Cyberax, Вы писали:
C>Putty прекрасно работает под Линуксом!
Может быть. Но зачем он нужен под Линуксом?
http://jvmmemory.com — простой способ настройки JVM
Java + Linux
От: sdo.daemon  
Дата: 11.09.08 10:41
Оценка:
Доброго времени суток.
Собственно являюсь джавистом без опыта работы в *NIX, однако при приеме на работу часто спрашивают про экспириенс *NIX систем.
Подскажите какой багаж знаний нужно приобрести в выше указанных ОС? если можно подскажите литературу.
Re: Java + Linux
От: Nicht Россия  
Дата: 11.09.08 10:50
Оценка:
Здравствуйте, sdo.daemon, Вы писали:

SD>Доброго времени суток.

SD>Собственно являюсь джавистом без опыта работы в *NIX, однако при приеме на работу часто спрашивают про экспириенс *NIX систем.
SD>Подскажите какой багаж знаний нужно приобрести в выше указанных ОС? если можно подскажите литературу.

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

Самый лучший способ, постаить себе на рабочую машину какой нибудь нормальный дистрибутив linux и начать там программировать. В процессе решения насущьный проблем очень быстро появляется беглось и выражения типа
svn status | grep ? | sed s/^?\ *//g | xargs svn add

перестают быть тарабарщиной.
Re: Java + Linux
От: C0s Россия  
Дата: 11.09.08 11:09
Оценка:
Здравствуйте, sdo.daemon, Вы писали:

SD>Собственно являюсь джавистом без опыта работы в *NIX, однако при приеме на работу часто спрашивают про экспириенс *NIX систем.

SD>Подскажите какой багаж знаний нужно приобрести в выше указанных ОС

отправной список:

Re[2]: Java + Linux
От: Blazkowicz Россия  
Дата: 11.09.08 11:13
Оценка:
Здравствуйте, C0s, Вы писали:

C0s>
  • уверенная навигация по каталогам, поиск нужных логов (cd, find, grep)
    C0s>
  • чтение логов с помощью less, cat -f

    Midnight Commander — ответ лентяя. Хотя навигация и многое другое в консоли, безусловно удобнее.
  • Re[3]: Java + Linux
    От: C0s Россия  
    Дата: 11.09.08 11:15
    Оценка:
    Здравствуйте, Blazkowicz, Вы писали:

    B>Midnight Commander — ответ лентяя. Хотя навигация и многое другое в консоли, безусловно удобнее.


    часто приходится работать там, где заказчик определяет набор софта... mc лучше по определению не учить, дабы знать остальное
    Re: Java + Linux
    От: Kswapd Россия  
    Дата: 11.09.08 14:42
    Оценка:
    SD>Собственно являюсь джавистом без опыта работы в *NIX, однако при приеме на работу часто спрашивают про экспириенс *NIX систем.
    SD>Подскажите какой багаж знаний нужно приобрести в выше указанных ОС? если можно подскажите литературу.

    Рискну предложить несколько экстравагантный способ "вхождения" в Linux: установка Gentoo. Распечатать Gentoo Handbook, прожечь minimal CD и установить систему на какой-нибудь физический или виртуальный компьютер. Там дана пошаговая процедура с объяснениями. Ненавязчиво знакомимся с cd, ls, cp, mv, grep, tar, links, grub, сборкой ядра, chroot, mount и тучей других полезных вещей.
    Re[2]: Java + Linux
    От: Cyberax Марс  
    Дата: 11.09.08 18:26
    Оценка:
    Здравствуйте, C0s, Вы писали:

    C0s>
    Putty прекрасно работает под Линуксом!
    Sapienti sat!
    Re: Java + Linux
    От: Protey Россия  
    Дата: 12.09.08 10:30
    Оценка:
    Здравствуйте, sdo.daemon, Вы писали:

    SD>Доброго времени суток.

    SD>Собственно являюсь джавистом без опыта работы в *NIX, однако при приеме на работу часто спрашивают про экспириенс *NIX систем.
    SD>Подскажите какой багаж знаний нужно приобрести в выше указанных ОС? если можно подскажите литературу.

    Самое главное — не пользовать jdk 1.4 от опенcоурса, (что идет в дефолтной поставке от RedHat, например) , ибо класс Date глючил и функции по работе с датой тоже не ахти работали в нашей локали ...
    Re[2]: Java + Linux
    От: dotidot Россия  
    Дата: 12.09.08 14:52
    Оценка:
    Здравствуйте, Nicht, Вы писали:

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

    N>
    N>svn status | grep ? | sed s/^?\ *//g | xargs svn add
    N>

    N>перестают быть тарабарщиной.
    и понимать почему так делать нельзя. особенно если проект в собранном состоянии.
    Re[3]: Java + Linux
    От: . Великобритания  
    Дата: 12.09.08 16:47
    Оценка:
    dotidot wrote:

    > N>перестают быть тарабарщиной.

    > и понимать почему так делать нельзя. особенно если проект в собранном
    > состоянии.
    Это ещё почему? svn:ignore тебе в помощь.
    Posted via RSDN NNTP Server 2.1 beta
    но это не зря, хотя, может быть, невзначай
    гÅрмония мира не знает границ — сейчас мы будем пить чай
    Re[4]: Java + Linux
    От: dotidot Россия  
    Дата: 12.09.08 17:18
    Оценка:
    Здравствуйте, ., Вы писали:

    .>Это ещё почему? svn:ignore тебе в помощь.


    Вы серьезно предлагаете не глядя скопом добавить весь посторонний мусор по случаю оказавшийся в директории под контролем версий (кстати скрипт с ошибкой, знак вопроса грепом искать надо не так)? На все виды мусора игнор не поставиш, его обычно только на файлы IDE и build директорию ставят. Конечно, перед коммитом можно посмотреть список добавляемых файлов, но зачем их добавлять, если этот же список можно увидеть без добавления?
    ИМХО это всё таки неправильный способ упрощения жизни.
    Re[5]: Java + Linux
    От: abch-1  
    Дата: 12.09.08 17:53
    Оценка:
    Здравствуйте, dotidot, Вы писали:

    D>Вы серьезно предлагаете не глядя скопом добавить весь посторонний мусор по случаю оказавшийся в директории под контролем версий (кстати скрипт с ошибкой, знак вопроса грепом искать надо не так)? На все виды мусора игнор не поставиш, его обычно только на файлы IDE и build директорию ставят. Конечно, перед коммитом можно посмотреть список добавляемых файлов, но зачем их добавлять, если этот же список можно увидеть без добавления?

    D>ИМХО это всё таки неправильный способ упрощения жизни.

    <imho> "посторонний мусор по случаю", в рабочей директории лежать не должен (кстати скрипт без ошибки). На штатный есть svn:ignore </imho>
    Кста, после тезиса по теме — "появляется беглость и выражения ... перестают быть тарабарщиной", разговор резко отклонился и от Java, и от Линукса. В философию или закончим, пока нас модератор не закончил?
    Re[6]: Java + Linux
    От: dotidot Россия  
    Дата: 12.09.08 19:21
    Оценка:
    Здравствуйте, abch-1, Вы писали:

    A1><imho> "посторонний мусор по случаю", в рабочей директории лежать не должен (кстати скрипт без ошибки). На штатный есть svn:ignore </imho>

    A1>Кста, после тезиса по теме — "появляется беглость и выражения ... перестают быть тарабарщиной", разговор резко отклонился и от Java, и от Линукса. В философию или закончим, пока нас модератор не закончил?
    :~/Projects/test$ svn stat
    ?      a
    ?      b
    :~/Projects/test$ svn status | grep ? | sed s/^?\ *//g
    svn: Write error: Broken pipe
    :~/Projects/test$ svn status | grep ?
    svn: Write error: Broken pipe
    :~/Projects/test$ svn --version
    svn, version 1.4.6 (r28521)
       compiled Mar 11 2008, 08:26:35
    :~/Projects/test$ uname -a
    Linux hvan 2.6.24-19-generic #1 SMP Wed Aug 20 22:56:21 UTC 2008 i686 GNU/Linux
    :~/Projects/test$ bash --version
    GNU bash, version 3.2.39(1)-release (i486-pc-linux-gnu)
    Copyright (C) 2007 Free Software Foundation, Inc.
    :~/Projects/test$ grep --version
    GNU grep 2.5.3

    у меня не кошерный греп, да? ИМХО даже скрипты на выброс стоит тестировать.
    Re[7]: Java + Linux
    От: Cyberax Марс  
    Дата: 12.09.08 19:47
    Оценка:
    Здравствуйте, dotidot, Вы писали:

    D>у меня не кошерный греп, да?

    Да.

    cyberax@devsrv:~/App$ svn st
    ?      .gwt-cache
    cyberax@devsrv:~/App$ svn st | grep ? | sed s/^?\ *//g
    .gwt-cache
    cyberax@devsrv:~/App$
    cyberax@devsrv:~/App$
    cyberax@devsrv:~/App$ ls -la
    total 560
    drwxr-xr-x  12 cyberax cyberax   4096 2008-09-06 03:19 .
    drwxr-xr-x 114 cyberax cyberax   4096 2008-09-12 21:50 ..
    drwxr-xr-x   5 cyberax cyberax   4096 2008-08-29 03:36 common-lib
    drwxr-xr-x   2 cyberax cyberax   4096 2008-08-29 03:39 deployment
    drwxr-xr-x   3 cyberax cyberax   4096 2008-07-14 19:44 .gwt-cache
    -rw-r--r--   1 cyberax cyberax    392 2008-01-28 15:41 .hgignore
    drwxr-xr-x   5 cyberax cyberax   4096 2008-08-29 03:36 hib-bear-lib
    drwxr-xr-x   5 cyberax cyberax   4096 2008-08-29 03:36 lake-lib
    -rwxr-xr-x   1 cyberax cyberax    789 2008-04-11 17:41 make_release.sh
    -rw-r--r--   1 cyberax cyberax  15863 2008-09-06 03:18 pom.xml
    -rwxrw-r--   1 cyberax cyberax   1851 2008-08-29 03:42 profiles.xml
    -rw-r--r--   1 cyberax cyberax   1780 2008-08-29 03:23 profiles.xml.template
    -rw-r--r--   1 cyberax cyberax    186 2007-09-26 08:24 rebuild.cmd
    drwxr-xr-x  11 cyberax cyberax   4096 2007-11-09 19:04 resources
    drwxr-xr-x   5 cyberax cyberax   4096 2008-08-29 03:36 sd-main
    drwxr-xr-x   5 cyberax cyberax   4096 2008-08-29 03:39 sd-server
    drwxr-xr-x   6 cyberax cyberax   4096 2008-08-29 03:36 sd-server-api
    -rw-r--r--   1 cyberax cyberax   1384 2007-09-26 08:54 sd-spring-app.iml
    -rw-r--r--   1 cyberax cyberax 444701 2007-09-26 09:13 sd-spring-app.ipr
    -rw-r--r--   1 cyberax cyberax  32253 2007-09-26 09:22 sd-spring-app.iws
    drwxr-xr-x   6 cyberax cyberax   4096 2008-09-06 03:18 .svn
    Sapienti sat!
    Re[5]: Java + Linux
    От: Cyberax Марс  
    Дата: 12.09.08 19:55
    Оценка:
    Здравствуйте, dotidot, Вы писали:

    .>>Это ещё почему? svn:ignore тебе в помощь.

    D>Вы серьезно предлагаете не глядя скопом добавить весь посторонний мусор по случаю оказавшийся в директории под контролем версий (кстати скрипт с ошибкой, знак вопроса грепом искать надо не так)?
    У меня, например, мусора не бывает. Перед коммитом глазками проверяю вывод "svn st | grep ?", а потом использую как раз такой же скрипт для добавления всех новых файлов.

    D>На все виды мусора игнор не поставиш

    Почему?

    D>ИМХО это всё таки неправильный способ упрощения жизни.

    Не стоит просто её усложнять.
    Sapienti sat!
    Re[8]: Java + Linux
    От: dotidot Россия  
    Дата: 12.09.08 21:04
    Оценка:
    Здравствуйте, Cyberax, Вы писали:
    D>>у меня не кошерный греп, да?
    C>Да.

    C>
    C>cyberax@devsrv:~/App$ svn st
    C>?      .gwt-cache
    C>cyberax@devsrv:~/App$ svn st | grep ? | sed s/^?\ *//g
    C>.gwt-cache
    C>cyberax@devsrv:~/App$
    C>

    попробуй с двумя неизвестными svn-у файлами, как у меня в примере.
    Re[9]: Java + Linux
    От: dotidot Россия  
    Дата: 12.09.08 21:07
    Оценка:
    Здравствуйте, dotidot, Вы писали:

    вобщем с грепом 2.5.3 не работает. с 2.5.1 — работает.
    Re[9]: Java + Linux
    От: Cyberax Марс  
    Дата: 12.09.08 21:17
    Оценка:
    Здравствуйте, dotidot, Вы писали:

    D>попробуй с двумя неизвестными svn-у файлами, как у меня в примере.

    cyberax@devsrv:~/App$ svn st
    ?      .gwt-cache
    cyberax@devsrv:~/App$ touch DoNotKnow
    cyberax@devsrv:~/App$ svn st | grep ? | sed s/^?\ *//g
    .gwt-cache
    DoNotKnow

    Что неудивительно...
    Sapienti sat!
    Re[10]: Java + Linux
    От: Cyberax Марс  
    Дата: 12.09.08 21:18
    Оценка:
    Здравствуйте, dotidot, Вы писали:

    D>вобщем с грепом 2.5.3 не работает. с 2.5.1 — работает.

    cyberax@devsrv:~/App$ apt-cache policy grep
    grep:
      Installed: 2.5.3~dfsg-5ubuntu2
      Candidate: 2.5.3~dfsg-5ubuntu2
      Version table:
     *** 2.5.3~dfsg-5ubuntu2 0
            500 http://ubuntu.intergenia.de intrepid/main Packages
            100 /var/lib/dpkg/status


    Может у тебя там какие-нибудь руткиты завелись?
    Sapienti sat!
    Re[5]: Java + Linux
    От: Пацак Россия  
    Дата: 13.09.08 11:14
    Оценка:
    Здравствуйте, dotidot, Вы писали:

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


    А откуда там возьмется "посторонний мусор? Из своей практики я помню только три таких случая:

    1) Перенаправление стандартного вывода в файл для последующего анализа и ускорения сборки/тестирования. Решилось тем, что вместо текущей папки стал перенаправлять в файл из /tmp
    2) Результат преобразования native2ascii и обратно. Решается через svn:ignore
    3) Бэкап-файлы vim'а (с тильдой перед именем), как результат редактирования файлов "по-быстрому". Решается настройкой vim'а

    Все, больше случаев возникновения "мусора" в проекте я не припоминаю. У тебя всё по-другому, и такие файлы возникают регулярно?
    Ку...
    Re[7]: Java + Linux
    От: Nicht Россия  
    Дата: 15.09.08 06:46
    Оценка:
    Здравствуйте, dotidot, Вы писали:

    D>ну например в позапрошлом проекте, в котором я участвовал, помимо мусора от vim, xemacs и kate, которыми я пользовался, генерировались исходники на sql, python, сишные хедеры для юнит тестов с константами, корбовые прокси для питона и с++, было еще немного мусора от scons, какие то непонятные логи левые вылазали в странных местах. В среднем после scons -c в trunk было около 300-400 файлов с вопросиками. Если прогнать автоматические тесты, а потом scons -c, то раза в два больше. Я пытался это хоть немного поправить, когда занялся deb пакетом, но потом плюнул на это безнадежное дело.

    D> Проект благополучно сдан и слава богу всеми забыт нафиг

    Может надо быть сразу один раз настроить процесс сборки и не парится потом с чисткой автосгенеренных файлов?
    Лично у меня в каждом проекте есть папка target, куда кладутся все что появляется в проекте в процессе сборки. И эта папка заносится в svn:ignore. И все. С учетом того, что практически всю эту работу берет на себя maven2, то я вообще ничего не делаю.
    А еще ,так как в проекте много модулей,у меня в корне лежит файл ignores.txt, в котором прописаны все игноры, которые должны быть во вновь созданом модуле. И после создания папки для нового модуля я просто вызываю команду
    svn propset svn:ignore -f ignores.txt .

    И дальше наслаждаюсь беззаботной жизнью.

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

    Да, и заканчивай писать программы в emacs, ты не Столман. Нормальные IDE не оставляют мусора.
    Re[2]: Java + Linux
    От: LeonidV Ниоткуда http://vygovskiy.com
    Дата: 15.09.08 07:48
    Оценка:
    Здравствуйте, Nicht, Вы писали:
    N>
    N>svn status | grep ? | sed s/^?\ *//g | xargs svn add
    N>

    Я правильно понял, что это рекурсивное добавление всех документ в каталоге в СУВ? Тогда можно сильно проще:
    svn add --recursive *

    (В точности синтаксиса не уверен, но идея абсолютно такая)
    http://jvmmemory.com — простой способ настройки JVM
    Re[3]: Java + Linux
    От: Nicht Россия  
    Дата: 15.09.08 08:02
    Оценка:
    Здравствуйте, LeonidV, Вы писали:

    LV>Я правильно понял, что это рекурсивное добавление всех документ в каталоге в СУВ? Тогда можно сильно проще:

    LV>
    LV>svn add --recursive *
    LV>

    LV>(В точности синтаксиса не уверен, но идея абсолютно такая)

    У svn add нет параметра --recursive. Как раз наоборот есть --non-recursive. svn add рекурсивная по умолчанию.
    svn add * не работает в том случае, если ты к примеру добавишь файл в поддиректорию которая уже в svn, то svn add * уже этот файл не добавит, ругнется что эта директория уже добавлена и рекурсию по ней не продолжает.
    Re[4]: Java + Linux
    От: Cyberax Марс  
    Дата: 15.09.08 11:54
    Оценка:
    Здравствуйте, LeonidV, Вы писали:

    C>>Putty прекрасно работает под Линуксом!

    LV>Может быть. Но зачем он нужен под Линуксом?
    Удобнее стандартного SSH.
    Sapienti sat!
    Re[5]: Java + Linux
    От: LeonidV Ниоткуда http://vygovskiy.com
    Дата: 15.09.08 12:43
    Оценка:
    Здравствуйте, Cyberax, Вы писали:
    C>Удобнее стандартного SSH.
    Странно. Для меня преимущество работы в Linux'е с удаленным компьютером как раз заключается в полной прозрачности действий — что тут, то и там. Только профиль поменять да на отдельный виртуальный стол кинуть. С Linux putty не работал, но Windows Putty с консолью сильно не удобней работать, чем со стандартным ssh в Линуксе.

    А почему вы считаете, что с putty удобнее?
    http://jvmmemory.com — простой способ настройки JVM
    Re[5]: Java + Linux
    От: Nicht Россия  
    Дата: 15.09.08 13:32
    Оценка:
    Здравствуйте, LeonidV, Вы писали:

    LV>А, это я перепутал ключики. Помню, что-то добавить нужно было:

    LV>

    LV>По умолчанию, команда svn add * пропустит любые каталоги уже находящиеся под контролем версий. Но иногда, все же, бывает нужно добавить все неверсионированные объекты в вашей рабочей копии, включая те, что находятся внутри каталогов. Указав параметр --force принудит svn add рекурсивно пройтись и по версионированным каталогам:

    LV>Это из svn book.

    О, воистину. Спасибо.
    Re[6]: Java + Linux
    От: Cyberax Марс  
    Дата: 15.09.08 15:22
    Оценка:
    Здравствуйте, LeonidV, Вы писали:

    LV>А почему вы считаете, что с putty удобнее?

    Например, есть killer-feature — "duplicate session". Создаёт ещё одну сессию до того же хоста.

    Потом, в Putty очень удобные графические настройки консоли. Например, как ты будешь отключать "xterm-style mouse reporting", чтоб не мешал делать cut&paste из Midnight Commander? В Putty — это одна галочка.

    Ещё у меня авторизация по SSH-ключам, а Putty позволяет их легко указывать.
    Sapienti sat!
     
    Подождите ...
    Wait...
    Пока на собственное сообщение не было ответов, его можно удалить.