Отправляет email-рассылки с помощью сервиса Sendsay

За 2006-01-14

Re: Трубопровод в Linux

On Sat, 14 Jan 2006 11:39:39 +0200
Konstantin Korikov <lostcl***@i*****.ua> wrote:
> > > > > Напротив, данные принятые от пользователя нужно проверять, и при
> > > > только после прекращения работы конвеера, когда результат уже будет получен.
> > > А почему не во время?
> > [user]# other_prog1 | my_prog | other_prog2 | other_prog3
> > И когда?
> В данном случаи my_prog при обнаружении ошибки в данных должна выдать
> сообщение на stderr и завершить работу с ненулевым кодом.
Согласен, полный коментарий в конце письма.
> $ ls | gunzip |gunzip
> gunzip: stdin: not in gzip format
> gunzip: stdin: unexpected end of file
> $ echo $?
> 1
По логике *nix систем результат предсказуем. Коментраий в конце.
> Тогда почему other_prog2 должна получать полные и
> правильные данные или совсем их не получать или совсем не выполнятся,
> если my_prog получает ошибочные данные?
Согласен, other_prog2 в принципе не должна даже запуститься.
>Если пользователь хочет
> $ other_prog1 >tmp_file1 &&
> my_prog tmp_file1 >tmp_file2 &&
> other_prog2 tmp_file2 >tmp_file3 &&
> other_prog3 tmp_file3
> $ rm tmp_file1 tmp_file2 tmp_file3
Коментарий в конце письма.
> В том то и дело что пример некорректный.
> $ find -type f -exec grep -H word \{\} \;
^^^^
Спасибо, знал, но не догадывался ;)
> > > > 1) Выдать в stderr сообщение об ошибке, а в stdin не выдавать ни чего.
> > > Обычно так и происходит.
> > Обычно да, но существуют необычные, но возможные ситуации.
> Вот я и хочу понять что это за ситуации. Вдруг и мне пригодится.
Обещанный коментарий: Наверное я очень сильно испорчен оффтопом. Начинал когда-то
вообще со Spectrum. И первой полноценной операционкой была IS-DOS. Потом началась
эпопея MS Windows (3.0, 3.11, 95, NT 3.51, NT 4.0 SP3, 98, Me, 2000, XP, Server
2003). Написал версии не в порядке появления, а в порядке моего знакомства с
ними. С *nix системами знаком не очень давно. Некоторые напрвления идеологии
пока не понял (объяснить, что за направления, не смогу). Как я считаю, главное,
что стало понятно из этой дискуссии (правильнее дебат) - это то что в *nix системах
ползователь не обезьяна с гранатой, а нормальный, дееспособный индивидум. Константин,
Вам большое спасибо. Если есть желание публичного продолжения нашего разговора,
то я готов к этому. Если нет, то все коментарии на мои высказывания готов принять
в личку.
> > PS. Употребление жидкости с большим процентным содержанием некоего химического
> > соединения не позволило своевременно продолжить debate. Приношу свои извинения.
> Дык, праздники же! :)
Если бы только праздники, а ведь существуют переговоры с людьми от которых что-то
зависит.

   2006-01-14 21:24:24 (#501552)

Re: Трубопровод в Linux

On Wed, 11 Jan 2006 06:00:19 +0200
Konstantin Korikov <lostcl***@i*****.ua> wrote:
> А вы смотрели исходники
> gzip'а? Легко в них разобраться?
Коментарий не к всему письму, а только к этой фразе.
(Написан после написания ответа на основную ветку дебат)
Года 2 назад (может меньше, не помню, конкретно могу посмотреть только в
понедельник) в журнале Мир ПК была поднята тема об открытости документации
(точную фомулировку опять же не помню). Суть в том, что при написании прграмм
необходимо нормально документировать (коментировать) код программы. Ибо
коментарии типа:
int a = 1; // переменной a присваиваем значение 1
IMHO, нельзя считать коментарием вообще. Об этом сказано в таком количестве
книг, что просто диву даешься, почему программисты (особенно пишущие программы
в
открытых исходниках) не придерживаются этих правил.
Вчера мне подсказали о наличии программы rux-0.73. Скачал, читаю исходники, ни
... не понял. Сутки разбирался. Кое что дошло. Да, возможно я тупой. Но
используя основной принцип, провозглашенный Торвальдсом в своей книге, звучащий
примерно как: "Не нравится, сделай сам", я скорее сделаю сам, чем использую
наработку автора программы, тем более, что у меня используется более простой
и
понятный алгоритм определения кодировки (более тупой, но понятней, проверено).

Это не упрек автору, а скорее КРИК о том, что все-таки нужно показать другим
людям направление своей мыслительной деятельности (пусть заумно, но, надеюсь,
поняли все). То есть, хотябы, описать для чего та или иная функция и что за
параметры ей передаются.
Тогда ведь намного проще разбираться с алгоритмом самой функции. И,
следовательно, со всей программой. И, ИМХО, после этого у меня не возникнет
желания писать самому. Я посчитаю лучшим написать письмо автору со своими
предложениями. И, может быть, от этого программа станет лучше.

   2006-01-14 21:24:20 (#501551)

Re: Трубопровод в Linux

On Sat, 14 Jan 2006 11:55:12 +0200
Matvey <mathw***@l*****.ru> wrote:

> > ИМХО == IMHO == In My Horrible Opinion == По моему скромному мнению.
> >
> Это вы пошутили, или над вами кто-то? ;) horrible == ужасный. Там изначально
> было humble
А чё, нормально: по моему ужасному мнению ;)

   2006-01-14 21:24:14 (#501550)

Re[2]: Трубопровод в Linux

# Маша <al***@k*****.ua> писал:

Что значит слово "ИМХО" чё т я не понимаю все везде тут пишут это странное
|слово :) ?

# Вот, что я на это отвечу сегодня 14/01/06:
ИМХО - аббревиатура (англ IMHO)/ in my чето-там =))..в переводе означает "по
моему скромному мнению" или "в моем скромном понимании" =))) вот...

C уважением, РэдХаттыр.

#mailto: aksu[dot]hatter[at]mail[dot]ru
#icq: 11058800
#irc: host.irc.kz/6667 #yopp
#realname: Vasilkov Oleg



-*Название листа "Обсуждения и споры о свободных системах и всём сопутствующем"
Написать в лист: comp.soft.linux.debate-list@subscribe.ru
Архив Листа - http://subscribe.ru/archive/comp.soft.linux.debate Поиск: http://www.google.com
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.debate/rules
Номер письма: 2833; Возраст листа: 815; Участников: 874
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.debate/msg/501546

   2006-01-14 21:20:31 (#501546)

Re: Трубопровод в Linux

On Sat, 14 Jan 2006 11:55:12 +0200
Matvey wrote:

> > > > Если Я пишу МОЮ программу и допускаю в ней "ляп" наподобие
> > > > приведенного Вами, то
> > > > это, ИМХО, не программирование. И проверки на такие ситуации
> > > > допустимы
> > > Что значит слово "ИМХО" чё т я не понимаю все везде тут пишут это
> > > странное слово :) ?
> >
> > ИМХО == IMHO == In My Horrible Opinion == По моему скромному мнению.
> >
> Это вы пошутили, или над вами кто-то? ;) horrible == ужасный. Там
> изначально было humble

Это очепятка. :)

   2006-01-14 14:26:43 (#501413)

Re: Трубопровод в Linux

В сообщении от 1137189346 секунд после начала Эпохи Владимир Ковалев написал(а):

> > > > Напротив, данные принятые от пользователя нужно проверять, и при
> > > только после прекращения работы конвеера, когда результат уже будет получен.
> > А почему не во время?
> [user]# other_prog1 | my_prog | other_prog2 | other_prog3
> И когда?

В данном случаи my_prog при обнаружении ошибки в данных должна выдать
сообщение на stderr и завершить работу с ненулевым кодом.

$ ls | gunzip |gunzip

gunzip: stdin: not in gzip format

gunzip: stdin: unexpected end of file
$ echo $?
1

Это не надежно, потому что other_prog2 получит не полные (считай не
правильные данные)? Тогда почему other_prog2 должна получать полные и
правильные данные или совсем их не получать или совсем не выполнятся,
если my_prog получает ошибочные данные? Если пользователь хочет
выполнить операцию надежно, то сделает так:

$ other_prog1 >tmp_file1 &&
my_prog tmp_file1 >tmp_file2 &&
other_prog2 tmp_file2 >tmp_file3 &&
other_prog3 tmp_file3
$ rm tmp_file1 tmp_file2 tmp_file3

> Как пример, пусть и не совсем корректный:
> grep word $(find -type f)
> на каталоге, в котором есть подкаталоги с именем типа "Folder :: and :: files"
> Приходится делать что-то типа
> grep word $(find -type f | sed '/:/ d')
> Но в этом случае теряем ряд файлов. Да и до понимания подобного решения
> приходишь не сразу.

В том то и дело что пример некорректный.

$ find -type f -exec grep -H word \{\} \;

Это команда отработает нормально независимо от имен файлов.

> > > 1) Выдать в stderr сообщение об ошибке, а в stdin не выдавать ни чего.
> > Обычно так и происходит.
> Обычно да, но существуют необычные, но возможные ситуации.

Вот я и хочу понять что это за ситуации. Вдруг и мне пригодится.

> PS. Употребление жидкости с большим процентным содержанием некоего химического
> соединения не позволило своевременно продолжить debate. Приношу свои извинения.

Дык, праздники же! :)

   Konstantin Korikov 2006-01-14 13:09:38 (#501384)

Re: Трубопровод в Linux

В сообщении от 1137169459 секунд после начала Эпохи Маша написал(а):

> Что значит слово "ИМХО" чё т я не понимаю все везде тут пишут это странное

> слово :) ?

IMHO - In My Humble Opinion (по моему скромному мнению).

   Konstantin Korikov 2006-01-14 13:09:35 (#501383)

Re: Трубопровод в Linux

On Sat, 14 Jan 2006 11:02:35 +0300
Vladimir Rusinov <vladim***@l*****.ru> wrote:

> On Fri, 13 Jan 2006 18:24:19 +0200
> Маша wrote:
>
> > > Если Я пишу МОЮ программу и допускаю в ней "ляп" наподобие
> > > приведенного Вами, то
> > > это, ИМХО, не программирование. И проверки на такие ситуации
> > > допустимы
> > Что значит слово "ИМХО" чё т я не понимаю все везде тут пишут это
> > странное слово :) ?
>
> ИМХО == IMHO == In My Horrible Opinion == По моему скромному мнению.
>
Это вы пошутили, или над вами кто-то? ;) horrible == ужасный. Там изначально
было humble

   Matvey 2006-01-14 12:53:46 (#501374)

Re: Трубопровод в Linux

On Fri, 13 Jan 2006 18:24:19 +0200
Маша wrote:

> > Если Я пишу МОЮ программу и допускаю в ней "ляп" наподобие
> > приведенного Вами, то
> > это, ИМХО, не программирование. И проверки на такие ситуации
> > допустимы
> Что значит слово "ИМХО" чё т я не понимаю все везде тут пишут это
> странное слово :) ?

ИМХО == IMHO == In My Horrible Opinion == По моему скромному мнению.

   2006-01-14 12:17:35 (#501368)