Re: Несколько вопросов вразброс

2012-07-12 Пенетрантность Stanislav Maslovski
On Wed, Jul 11, 2012 at 10:36:22PM +0400, "Артём Н." wrote:
> Приложил скрипт, который у меня получился.
> mkbackup - сам скрипт.
> mks  - парсер, убирающий тесты.
> ready- готовый скрипт после обработки.
> 
> Вроде, работает, хотя и не всё доделано.
> Ощущения: получилось очень "тяжеловесно".

[кусь]

> #!/bin/sh
> 
> fl="$1"
> fl=${-:-$fl}
> 
> awk '
>BEGIN {
>   prf = 0;
>}
> 
>/^#!\/bin\/bash/ {
>   print "#!/bin/sh";
>   next;
>}
> 
>/###TESTING/ {
>   prf = pfm + 1;
>   next;
>}
> 
>/###\/TESTING/ {
>   if (prf == 0)
>   {
>  print "Error: unexpected ###\/TESTING" > "/dev/stderr";
>  exit 1;
>   }
>   prf = prf - 1;
>   next;
>}
> 
>{
>   if (prf == 0) print;
>}
> 
>END {
>   if (prf > 0)
>   {
>  print "Error: unclosed ###TESTING";
>  exit 1;
>   }
>}
> ' "$fl"

Жесть.

$ sed -e '1s/#!\/bin\/bash/#!\/bin\/sh/;/###TESTING/,/###\/TESTING/d' mkbackup 
> ready

-- 
Stanislav


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20120712085042.GA7892@kaiba.homelan



Re: Пропал multicast

2012-07-12 Пенетрантность Artem Pastukhov
12 июля 2012 г., 10:11 пользователь Artem Pastukhov  написал:
> 11 июля 2012 г., 19:29 пользователь Oleg A Chernov
>  написал:
>> В сообщении от 11 июля 2012 18:03:44 автор Artem Pastukhov написал:
>>> 11 июля 2012 г., 19:02 пользователь Artem Pastukhov  
>>> написал:
>>> > 11 июля 2012 г., 18:02 пользователь Oleg A Chernov
>>> >  написал:
>>> >> В сообщении от 11 июля 2012 16:33:02 автор Artem Pastukhov написал:
>>> >>> 17:30:46.989811 IP 0.0.0.0 > 224.0.0.1: igmp query v2
>>> >>> 17:30:47.432864 IP 192.168.100.2 > 239.192.104.140: igmp v2 report
>>> >>> 239.192.104.140
>>> >>> И тишина
>>> >>>
>>> >>
>>> >> Теперь смотрите пакеты собственно на группу 239.192.104.140, доходят или 
>>> >> нет до сбойного сервера?
>>> >>
>>> >> tcpdump -i vmbr0 -nns0 ip and \( igmp or host 239.192.104.140 \)
>>> >>
>>> >> vmbr0 это что за интерфейс ?
>>> >> если виртуальный, то посмотрите пакеты на физическом.
>>> >>
>>> > Нет
>>> > только исходящие
>>> > 18:58:38.530241 IP 192.168.100.2.5404 > 239.192.104.140.5405: UDP, length 
>>> > 119
>>> > 18:58:40.434031 IP 192.168.100.2.5404 > 239.192.104.140.5405: UDP, length 
>>> > 119
>>>
>>> Причем на физическом вообще тишина
>>>
>>
>> На физ. интерфейсе должны быть исходящие 192.168.100.2 > 239.192.104.140: 
>> igmp v2 report 239.192.104.140 иначе мультикаст не прийдет.
>> Попробуйте посмотреть в сторону vmbr0, похоже в нем собака порылась.
>> vmbr0 просто бриджуется с физ. интерфейсом  или сетап какой-то иной ?
>>
> Просто бридж
>
> auto vmbr0
> iface vmbr0 inet static
> address  192.168.100.2
> netmask  255.255.255.0
> gateway  192.168.100.20
> bridge_ports eth0
> bridge_stp off
> bridge_fd 0

Вылечилось переменой eth0<->eth1


Re: Пропал multicast

2012-07-12 Пенетрантность Mikhail A Antonov
12.07.2012 15:32, Artem Pastukhov пишет:
> Вылечилось переменой eth0<->eth1 
Т.е. интерфейс перепутали или там какие-то хитры карточки стоят?


-- 
Best regards,
Mikhail
-
WWW: http://www.antmix.pp.ru/
XMPP: ant...@stopicq.ru



signature.asc
Description: OpenPGP digital signature


Re: Пропал multicast

2012-07-12 Пенетрантность Artem Pastukhov
12 июля 2012 г., 15:38 пользователь Mikhail A Antonov
 написал:
> 12.07.2012 15:32, Artem Pastukhov пишет:
>> Вылечилось переменой eth0<->eth1
> Т.е. интерфейс перепутали или там какие-то хитры карточки стоят?

Нет, Ethernet controller: Intel Corporation 82576 Gigabit Network
Connection (rev 01)
Странным образом одна из них глючила.

Переназвал их в  /etc/udev/rules.d/70-persistent-net.rules, поменял
местами шнурки и все заработало.

Есть подозрение, что это как-то ipmi влияет.


"Неизвестный" sort. Прошу заставить его работать...

2012-07-12 Пенетрантность Oleksandr Gavenko
Я думал что знаю, но теперь я "знаю что ничего не знаю". Итак имелись
словарные статьи вида:

  WORD - SENTENCE

и нужно проверить упорядоченость по алфавиту компоненты WORD. diff показал
"странный" результат. Помучился, пока не пришел к примеру:

  bash# LANG=C printf 'abc\na ba' | sort
  a ba
  abc
  bash# LANG=C printf 'abc\na bd' | sort
  abc
  a bd

Что ж, настало время почитать "исчники". Про поля я и не слыхал. Затем
осознал, что правильным решением для поставленой задачи является:

  bash# printf 'abc\na bd' | sort -k 1,1
  a bd
  abc

Но все же для меня осталось "запутанным" содержание:

  $ info coreutils 'sort invocation'

Вопрос: можно ли как то указать sort сортировать так как считают "глупые"
пользователи, т.е. ord(SPACE) = 0x20 < ord([:alnum:]) и они полагают что sort
работает как в последнем примере?

Ну я попробывал установить поля в пусто (--field-separator=SEPARATOR), и ниче,
впрочем логичный результат из-за отсутствия понимания спицификации...

-- 
Best regards!


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/87r4sht93p@desktop.home.int



Re: "Неизвестный" sort. Прошу заставить его работать...

2012-07-12 Пенетрантность Oleksandr Gavenko
On 2012-07-12, Oleksandr Gavenko wrote:

> Я думал что знаю, но теперь я "знаю что ничего не знаю". Итак имелись
> словарные статьи вида:
>
>   WORD - SENTENCE
>
> и нужно проверить упорядоченость по алфавиту компоненты WORD. diff показал
> "странный" результат. Помучился, пока не пришел к примеру:
>
>   bash# LANG=C printf 'abc\na ba' | sort
>   a ba
>   abc
>   bash# LANG=C printf 'abc\na bd' | sort
>   abc
>   a bd
>
> Что ж, настало время почитать "исчники". Про поля я и не слыхал. Затем
> осознал, что правильным решением для поставленой задачи является:
>
>   bash# printf 'abc\na bd' | sort -k 1,1
>   a bd
>   abc
>
Я тут поспешил...

> Но все же для меня осталось "запутанным" содержание:
>
>   $ info coreutils 'sort invocation'
>
> Вопрос: можно ли как то указать sort сортировать так как считают "глупые"
> пользователи, т.е. ord(SPACE) = 0x20 < ord([:alnum:]) и они полагают что sort
> работает как в последнем примере?
>
Работая над постом, упустил что искомое - практическая задача. У меня не
только отдельные слова, но фразы. Пример лучше томов обьяснения:

  $ printf 'b - AAA\na - XXX\na bit - YYY\na bit of - ZZZ' | sort
  a bit of - ZZZ
  a bit - YYY
  a - XXX
  b - AAA

а надо:

  a - XXX
  a bit - YYY
  a bit of - ZZZ
  b - AAA

-- 
Best regards!


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/87mx35t8ph@desktop.home.int



Re: "Неизвестный" sort. Прошу заставить его работать...

2012-07-12 Пенетрантность Oleksandr Gavenko
On 2012-07-12, Oleksandr Gavenko wrote:

> On 2012-07-12, Oleksandr Gavenko wrote:
>
>> Я думал что знаю, но теперь я "знаю что ничего не знаю". Итак имелись
>> словарные статьи вида:
>>
>>   WORD - SENTENCE
>>
>> и нужно проверить упорядоченость по алфавиту компоненты WORD. diff показал
>> "странный" результат. Помучился, пока не пришел к примеру:
>>
>>   bash# LANG=C printf 'abc\na ba' | sort
>>   a ba
>>   abc
>>   bash# LANG=C printf 'abc\na bd' | sort
>>   abc
>>   a bd
>>
>> Что ж, настало время почитать "исчники". Про поля я и не слыхал. Затем
>> осознал, что правильным решением для поставленой задачи является:
>>
>>   bash# printf 'abc\na bd' | sort -k 1,1
>>   a bd
>>   abc
>>
> Я тут поспешил...
>
>> Но все же для меня осталось "запутанным" содержание:
>>
>>   $ info coreutils 'sort invocation'
>>
>> Вопрос: можно ли как то указать sort сортировать так как считают "глупые"
>> пользователи, т.е. ord(SPACE) = 0x20 < ord([:alnum:]) и они полагают что sort
>> работает как в последнем примере?
>>
> Работая над постом, упустил что искомое - практическая задача. У меня не
> только отдельные слова, но фразы. Пример лучше томов обьяснения:
>
>   $ printf 'b - AAA\na - XXX\na bit - YYY\na bit of - ZZZ' | sort
>   a bit of - ZZZ
>   a bit - YYY
>   a - XXX
>   b - AAA
>
> а надо:
>
>   a - XXX
>   a bit - YYY
>   a bit of - ZZZ
>   b - AAA
>
Получилось, обнаружил невнимательность в ходе своего экспериментирования:

  $ printf 'b - AAA\na - XXX\na bit - YYY\na bit of - ZZZ' | LANG=C sort
  a - XXX
  a bit - YYY
  a bit of - ZZZ
  b - AAA

С LANG=ru_RU.UTF-8 sort работает как описано выше. Как можно жить с такими
"приколами"?

-- 
Best regards!


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/87ipdtt7hn@desktop.home.int



Re: "Неизвестный" sort. Прошу заставить его работать...

2012-07-12 Пенетрантность Oleksandr Gavenko
On 2012-07-12, Oleksandr Gavenko wrote:

> On 2012-07-12, Oleksandr Gavenko wrote:
> Получилось, обнаружил невнимательность в ходе своего экспериментирования:
>
>   $ printf 'b - AAA\na - XXX\na bit - YYY\na bit of - ZZZ' | LANG=C sort
>   a - XXX
>   a bit - YYY
>   a bit of - ZZZ
>   b - AAA
>
> С LANG=ru_RU.UTF-8 sort работает как описано выше. Как можно жить с такими
> "приколами"?
>
Самого главного не спросил: почему в некоторых локалях включается режим
"инопланетной" сортировки:

  bash# printf 'b - AAA\na - XXX\na bit - YYY\na bit of - ZZZ' | 
LANG=en_EN.UTF-8 sort
  a - XXX
  a bit - YYY
  a bit of - ZZZ
  b - AAA

  bash# printf 'b - AAA\na - XXX\na bit - YYY\na bit of - ZZZ' | 
LANG=en_DK.UTF-8 sort
  a bit of - ZZZ
  a bit - YYY
  a - XXX
  b - AAA
  bash# printf 'b - AAA\na - XXX\na bit - YYY\na bit of - ZZZ' | 
LANG=ru_RU.UTF-8 sort
  a bit of - ZZZ
  a bit - YYY
  a - XXX
  b - AAA

-- 
Best regards!


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/87ehoht79f@desktop.home.int



Re: Несколько вопросов вразброс

2012-07-12 Пенетрантность Артём Н.
On 12.07.2012 12:50, Stanislav Maslovski wrote:
> On Wed, Jul 11, 2012 at 10:36:22PM +0400, "Артём Н." wrote:
>> Приложил скрипт, который у меня получился.
>> mkbackup - сам скрипт.
>> mks  - парсер, убирающий тесты.
>> ready- готовый скрипт после обработки.
>>
>> Вроде, работает, хотя и не всё доделано.
>> Ощущения: получилось очень "тяжеловесно".
> 
> [кусь]
> 
>> #!/bin/sh
>>
>> fl="$1"
>> fl=${-:-$fl}
>>
>> awk '
>>BEGIN {
>>   prf = 0;
>>}
>>
>>/^#!\/bin\/bash/ {
>>   print "#!/bin/sh";
>>   next;
>>}
>>
>>/###TESTING/ {
>>   prf = pfm + 1;
>>   next;
>>}
>>
>>/###\/TESTING/ {
>>   if (prf == 0)
>>   {
>>  print "Error: unexpected ###\/TESTING" > "/dev/stderr";
>>  exit 1;
>>   }
>>   prf = prf - 1;
>>   next;
>>}
>>
>>{
>>   if (prf == 0) print;
>>}
>>
>>END {
>>   if (prf > 0)
>>   {
>>  print "Error: unclosed ###TESTING";
>>  exit 1;
>>   }
>>}
>> ' "$fl"
> 
> Жесть.
> 
> $ sed -e '1s/#!\/bin\/bash/#!\/bin\/sh/;/###TESTING/,/###\/TESTING/d' 
> mkbackup > ready
Вложенность не поддерживается (может быть не закрытый тег). :-D
А, вообще, awk мне просто понятнее и привычнее.
Это дело вкуса.


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/4ffed947.6030...@yandex.ru



Re: "Неизвестный" sort. Прошу заставить его работать...

2012-07-12 Пенетрантность Andrey Rahmatullin
On Thu, Jul 12, 2012 at 04:54:04PM +0300, Oleksandr Gavenko wrote:
> Самого главного не спросил: почему в некоторых локалях включается режим
> "инопланетной" сортировки:
Потому что в разных LC_CTYPE разный порядок символов, очевидно.

-- 
WBR, wRAR


signature.asc
Description: Digital signature


Re: "Неизвестный" sort. Прошу заставить его работать...

2012-07-12 Пенетрантность Andrey Rahmatullin
On Thu, Jul 12, 2012 at 08:10:39PM +0600, Andrey Rahmatullin wrote:
> > Самого главного не спросил: почему в некоторых локалях включается режим
> > "инопланетной" сортировки:
> Потому что в разных LC_CTYPE разный порядок символов, очевидно.
LC_COLLATE 

-- 
WBR, wRAR


signature.asc
Description: Digital signature


Re: Несколько вопросов вразброс

2012-07-12 Пенетрантность Артём Н.
Больше, конечно, интересно, что по основному скрипту..?


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/4ffedbd8.6070...@yandex.ru



Re: Несколько вопросов вразброс

2012-07-12 Пенетрантность Igor Chumak

11.07.2012 19:24, "Артём Н." пишет:

On 11.07.2012 01:08, Igor Chumak wrote:

-Куть

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

Я и делаю. Как-раз хотел спросить (очередной провокационный вопрос).
Как организовывать обработку ошибок?>:-)
Т.е., вызывается функция. Она должна вернуть код завершения.
В функции м.б. вложенные функции.
В функции может выполниться только часть вызовов вложенных функций.
К примеру, бэкап БД не прошёл, но бэкап состояния пакетов, который делается
следующим, должен быть сделан.
Какой код возвращать?

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

Я не про показ статистики, а именно про возврат кода.

Результат работы функции не обязательно short int ;)
Если очень хочется именно _кода_ - можно вернуть % успешно выполненных 
задач.



Можно писать ошибки в глобальный массив, в конце работы его анализировать.

М... Снова глобальный. :-|



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



Код возврата, вызванной программы, видимо, не вариант. Сделал на флагах.
Чтобы было понятно в какой функции произошла ошибка. Но как-то...
А как правильно?

Как сказано было выше, у perl есть use Carp; задачу "определить в какой функции
ошибка " поможет решить

Про Perl буду знать. Но, увы, в моём случае: shell.



Зачем такое ограничение??

Хотя в bash тоже есть
FUNCNAME
  An array variable containing the names of all shell 
functions currently in the execution call stack.



Делаем функцию die(), которая анализирует и печатает FUNCNAME. Why not?


--
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/4ffedf4d.8050...@gmail.com



Re: Несколько вопросов вразброс

2012-07-12 Пенетрантность Артём Н.
On 12.07.2012 02:55, Stanislav Maslovski wrote:
> On Wed, Jul 11, 2012 at 08:35:48PM +0400, "Артём Н." wrote:
>> On 11.07.2012 04:18, Stanislav Maslovski wrote:
>>> Они есть. Этого уже достаточно.
>> Недостаточно. Достаточно было бы, если бы их на практике было просто
>> применить... Часто ли это применяется и просто ли?
> Применяется в mission-critical systems, насколько часто и насколько
> просто - вопрос скорее к тем, кто этими системами плотно занимается.
Эм... Точно. Спрошу.

>>> Нет. Повторюсь: построение *полного* теста в общем случае эквивалентно 
>>> решению
>>> исходной программной задачи. Как ты собираешься доказывать правильность
>>> самого теста? Ещё одним тестом? И так до бесконечности?
>> М... Ну да. Про тест я не подумал. Но, если тест - просто тупой перебиратель
>> результата..?
> В таком случае, и сама программная задача тупа в той же мере, в какой
> туп ее *полный* тест.
Я подумал о следующем варианте...
1. Есть программа, которая получает данные (к примеру, пакет фиксированного
размера из сети).
2. Она обрабатывает данные (это чёрный ящик), в зависимости от того, что
поступило на вход и того, что поступало ранее (но память ограничена).
3. При её запуске состояние всегда одинаковое (не ведётся база или всегда
обнуляется).
4. На выходе - пакет.
5. Программа не учитывает временные характеристики, поступающих данных.

Пакет - число определённой разрядности. Длина, в данном случае, фиксирована.
Обработка может быть сколь угодно сложной (например, это модуль ЦОС, принимающий
данные от АЦП).

Тест - это простая таблица, в общем случае.
В случае ограниченной памяти (а для тестирующего, функция - "белый ящик" и все
ограничения известны), достаточно просто составить цепочки значений входов.
И проверить, что будет на выходе после каждого такта.

В принципе... Такую функцию возможно заменить таблицей. Но ведь не всегда это
может быть возможно (к тому же, составление таблицы возможно автоматизировать).
Хотя, конечно, уж больно частный случай. :-|

И сомнительно это.

> Вот тебе элементарный пример: докажи теорему Пифагора *тестами* =)
 Возможно повысить уверенность в том, что алгоритм доказательства теоремы
 реализован правильно, используя тесты.
>>> Это ещё что за новая сущность? "алгоритм доказательства теоремы"?
>> Я именно про конкретный случай. Есть доказательство по опр. алгоритму.
>> Тесты позволят повысить уверенность в нём.
> Я - пас :) Желающие продолжить - велкам.
Ну, хорошо. :-D
В общем-то, про тесты, во многом я согласен, просто поспорить охота.
Тут, кажется, есть достаточно определённое решение:
1. Естественно, никакого "доказательства тестами" нет (я про такое и не писал),
если тесты не могут покрыть всю область определения.
2. Писать тесты лучше, чем не писать тесты.
3. У тестов есть один серьёзный минус: сложная задача требует сложных тестов. И,
как выясняется, объём тестов сопоставим с объёмом задачи, а в некоторых случаях,
даже больше.
4. Пункт 3 заставляет серьёзно подумать над пунктом 2.
5. Если возможно однозначно доказать корректность, то тест проще выкинуть, чем
поддерживать. Да он и не требуется.

Но смущают некоторые вещи:
1. TDD. Ведь оно существует? Вероятно, оно создавалось для больших проектов.
Где-нибудь используется?
2. Но ведь модульное тестирование продвигается и приветствуется...


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/4ffee7a4.2040...@yandex.ru



Re: Несколько вопросов вразброс

2012-07-12 Пенетрантность Артём Н.
On 12.07.2012 18:29, Igor Chumak wrote:
> 11.07.2012 19:24, "Артём Н." пишет:
>> On 11.07.2012 01:08, Igor Chumak wrote:
>>> -Куть
> Это если ты делаешь ошибку, которую тест уже ловит.  А если ты делаешь
> ошибку, которую тест еще не ловит (а она будет, и не одна), то результат
> будет тот же самый, как если бы теста не было вообще.  Внятная и
> подробная диагностика поэтому обязательна.
 Я и делаю. Как-раз хотел спросить (очередной провокационный вопрос).
 Как организовывать обработку ошибок?>:-)
 Т.е., вызывается функция. Она должна вернуть код завершения.
 В функции м.б. вложенные функции.
 В функции может выполниться только часть вызовов вложенных функций.
 К примеру, бэкап БД не прошёл, но бэкап состояния пакетов, который делается
 следующим, должен быть сделан.
 Какой код возвращать?
>>> Обычно возвращают статистику "время выполнения, сколько задач в  задании
>>> провалилось, сколько файлов скопировано, сколько байт прочитано, сколько
>>> записано...". Если какая-то часть логики вынесена в функцию,значит 
>>> результат ее
>>> должен что-то означать?
>> Я не про показ статистики, а именно про возврат кода.
> Результат работы функции не обязательно short int ;)
> Если очень хочется именно _кода_ - можно вернуть % успешно выполненных задач.
Но что он даст? Я же не смогу определить какие задачи провалились...

>>> Можно писать ошибки в глобальный массив, в конце работы его анализировать.
>> М... Снова глобальный. :-|
>>
> 
> В общем сферическом случае использование глобальных переменных может казаться
> некошерным. В частном случае - надо смотреть.
Согласен. Но, всё-равно, это ещё один "выход" из функции.

 Код возврата, вызванной программы, видимо, не вариант. Сделал на флагах.
 Чтобы было понятно в какой функции произошла ошибка. Но как-то...
 А как правильно?
>>> Как сказано было выше, у perl есть use Carp; задачу "определить в какой 
>>> функции
>>> ошибка " поможет решить
>> Про Perl буду знать. Но, увы, в моём случае: shell.
> Зачем такое ограничение??
Сейчас у меня уже есть скриптик на нём. Не переделывать же на Perl, который я не
знаю? К тому же, в данном случае (при попытке попробовать), ограничение лишним
не будет (ведь этот модуль очень специфичная для Perl вещь, которой нет в
большинстве языков).

> Хотя в bash тоже есть
> FUNCNAME
>   An array variable containing the names of all shell functions
> currently in the execution call stack.
И я его использую. См. скрипт в треде.

> Делаем функцию die(), которая анализирует и печатает FUNCNAME. Why not?
Нельзя сдыхать. В этом проблема. :-) Если бы возможно было завершить функцию, то
никаких проблем. А меня интересует более общий случай. К тому же, печатать - не
всегда вариант. Хотя... Может.



-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/4ffee8cc.20...@yandex.ru



Re: Несколько вопросов вразброс

2012-07-12 Пенетрантность Stanislav Maslovski
On Thu, Jul 12, 2012 at 06:14:48PM +0400, "Артём Н." wrote:
> Больше, конечно, интересно, что по основному скрипту..?

Дык, кто же будет это читать... Нужна мотивация.

-- 
Stanislav


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20120712161635.GA18587@kaiba.homelan



Re: Несколько вопросов вразброс

2012-07-12 Пенетрантность Stanislav Maslovski
On Thu, Jul 12, 2012 at 06:03:51PM +0400, "Артём Н." wrote:
> On 12.07.2012 12:50, Stanislav Maslovski wrote:
> > $ sed -e '1s/#!\/bin\/bash/#!\/bin\/sh/;/###TESTING/,/###\/TESTING/d' 
> > mkbackup > ready
> Вложенность не поддерживается (может быть не закрытый тег). :-D

Вложенность, вероятно, нужна для того, чтобы в тесты встраивать тесты
тестов ;)

-- 
Stanislav


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20120712162038.GB18587@kaiba.homelan



Re: Несколько вопросов вразброс

2012-07-12 Пенетрантность Артём Н.
> Дык, кто же будет это читать... Нужна мотивация.
Вы прям убили мою светлую идею на корню. :-D
Я понимаю, что читать и разбирать по строчке нафиг никому не нужно.
Общее впечатление: читабельно, нечитабельно, читабельно ли без тестов, помогают
ли они там (без учёта того, что "ну это возможно было и без тестов" (и ответить,
как известно, возможно: "если код заслуживает быть написанным"...)), что плохо с
первого взгляда, что стоит изменить?

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


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/4ffefbe4.5060...@yandex.ru



Re: Несколько вопросов вразброс

2012-07-12 Пенетрантность Артём Н.
On 12.07.2012 20:20, Stanislav Maslovski wrote:
> On Thu, Jul 12, 2012 at 06:03:51PM +0400, "Артём Н." wrote:
>> On 12.07.2012 12:50, Stanislav Maslovski wrote:
>>> $ sed -e '1s/#!\/bin\/bash/#!\/bin\/sh/;/###TESTING/,/###\/TESTING/d' 
>>> mkbackup > ready
>> Вложенность не поддерживается (может быть не закрытый тег). :-D
> Вложенность, вероятно, нужна для того, чтобы в тесты встраивать тесты
> тестов ;)
Зря смеётесь. У меня, конечно, этого нет. :-\ Но я видел: реально делают тесты
для тестов (для основных тестов).


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/4ffefc13.6070...@yandex.ru



Re: Несколько вопросов вразброс

2012-07-12 Пенетрантность Артём Н.
Да, из хороших впечатлений: если что-то ломается, тест это отлавливает.
Без теста мне бы потребовалось больше времени.
Но однозначного ответа: стоят ли тесты того, чтобы их писать, лучше ли сильно
неполное покрытие, чем никакое и оправдана ли TTD, у меня так и нет... :-(


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/4ffefca8.7040...@yandex.ru



Re: Несколько вопросов вразброс

2012-07-12 Пенетрантность Артём Н.
On 06.07.2012 00:07, Artem Chuprina wrote:
> Артём Н. -> debian-russian@lists.debian.org  @ Thu, 05 Jul 2012 20:49:27 
> +0400:
> 
>  >>  >> Машина Тьюринга заняла эту нишу много лет назад, и даже
>  >>  >> лямбда-исчислению ее не отдала.  И ООП не отдаст.
>  >>  АН> Я про ту концепцию, которую возможно использовать на практике.
>  >> Теорема Геделя нам как бы намекает, что такой концепции не существует.
>  АН> Теорема Гёделя об этом не говорит (про практику и частности).
>  АН> Я про концепцию, типа реляционной в БД (на том же месте)...
> 
> Я ж говорю: намекает.  На самом деле есть еще теорема Гёделя о полноте,
> но опять же стоит глянуть на ее доказательство, чтобы понять, в чем
> будет проблема такой концепции.  А проблема, собственно, в том, что чем
> универсальнее концепция, тем она менее полезна.  А чем она менее
> универсальна, тем более узкий круг задач она способна решить.

>  >>  >> Хочешь писать хорошие программы - изучи несколько парадигм, и применяй
>  >>  >> наиболее подходящие к задаче.  А не суй где надо и где не надо ту
>  >>  >> единственную, которую ты знаешь.
>  >>  АН> Плохо то, что единственной парадигмы, подходящей везде, - нет.
>  >> Извини, это в некотором смысле объективный закон.  Что-то вроде закона
>  >> всемирного тяготения.  Не просто нет, а доказуемо не может быть.
>  АН> Ну везде, с некоторыми ограничениями...
> Все зависит от ограничений ;-) Классическое "автомобиль может быть
> любого цвета, если этот цвет черный" - это тоже "с некоторым
> ограничением".
И, тем не менее, в данном случае ограничение оказалось успешным. Причём, затем,
его убрали. А идея, подходящая почти под любое производство осталась...
Хотя, да. Идея для специфических задач: тех, которые возможно "поставить на 
поток".

>  >>  >>  >>  >> Помнится, код, переписанный с C++ на C со старательным 
> выкидыванием всей
>  >>  >>  >>  >> объектности, кроме нужной, стал на порядок компактнее, вдвое 
> понятнее, и
>  >>  >>  >>  >> давал в разы меньший результат при компиляции.
>  >>  >>  >>  >> Tcl - он же функциональный по сути, зачем ему объекты?
>  >>  >>  >>  АН> Хм... Честно не знаю. Объекты, в принципе, не лишние. Но как 
> совмещается
>  >>  >>  >>  АН> объектный и функциональный подход..? Хотя, библиотеки-то 
> есть...
>  >>  >>  >> Никогда не надо пользоваться тем, что "в принципе не лишнее".
>  >>  >>  >> Пользоваться надо только тем, что тебе действительно нужно, и 
> понимая,
>  >>  >>  >> почему именно оно, а не альтернативы.
>  >>  >>  АН> Да, бритву Оккама не отменяли. :-) Но, во-первых, не всегда
>  >>  >>  АН> возможно выбрать лучшую из альтернатив, потому что обе они имеют
>  >>  >>  АН> взаимокомпенсирующие достоинства и недостатки, так что, ни одна 
> из
>  >>  >>  АН> них не является лучшей. Во-вторых, иногда просто недостаточно
>  >>  >>  АН> информации для выбора.
>  >>  >> Я видел только один вариант "недостаточно информации для выбора" -
>  >>  >> незнание альтернатив.
>  >>  АН> Нет, почему же?
>  >>  АН> Незнание всех характеристик альтернатив, незнание того, как поведёт
>  >>  АН> себя данная альтернатива, незнание того насколько сильнее одна
>  >>  АН> характеристика влияет на абстрактное "качество" системы, чем
>  >>  АН> другая. Много что возможно не знать.
>  >> Перечисленное тобой либо сводится к незнанию альтернатив (не знаешь как
>  >> поведет - ну, попробуй на тестовом примере; если тебе это слишком сложно
>  >> или дорого, это значит, что ты знаешь о существовании этой альтернативы,
>  >> но не знаешь ее саму), либо к задачам, которые решать не надо
>  >> (совершенно не нужно оценивать влияние характеристик на абстрактное
>  >> качество системы, если тебе нужно, чтобы система работала - тебе может
>  >> быть интересно только несколько _конкретных_ качеств).
>  АН> В общем случае, да. Но незнание альтернатив почти всегда есть.
> При наличии образования - отнюдь не почти всегда.  Конечно, чтобы
> правильно задать вопрос, надо знать половину ответа.  Но затем и
> образование.
Хех. Что даёт образование? Вы правда в него верите? Веком ранее так не считали?
Да и в каком плане "образования" и какого? :-)

>  >>  >> Важный момент: совершенно не обязательно выбирать
>  >>  >> лучшую из альтернатив.  Если ты не можешь решить, которая из 
> нескольких
>  >>  >> лучше по описанной причине, это по крайней мере значит, что ни одна из
>  >>  >> них не будет существенно хуже других.  Выбери любую.
>  >>  АН> Ага. И тут получается проблема "буриданова осла". Принятие решения. 
> :-)
>  >> Монетку брось.
>  АН> Не то...
> KISS!
Ну да. Забываю.

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

Re: Несколько вопросов вразброс

2012-07-12 Пенетрантность Dmitry Nezhevenko
On Thu, Jul 12, 2012 at 08:59:14PM +0400, "Артём Н." wrote:
> 
> Я не вижу ни отсутствия надёжности, ни медлительности. Где?
> И пример - тот же апач. Вариант без потоков?

nginx/lighttpd умеют в одном потоке пачку соединений обрабатывать. Ибо
FSM. 
 
-- 
WBR, Dmitry


signature.asc
Description: Digital signature


Re: Несколько вопросов вразброс

2012-07-12 Пенетрантность Артём Н.
On 12.07.2012 21:07, Dmitry Nezhevenko wrote:
> On Thu, Jul 12, 2012 at 08:59:14PM +0400, "Артём Н." wrote:
>>
>> Я не вижу ни отсутствия надёжности, ни медлительности. Где?
>> И пример - тот же апач. Вариант без потоков?
> 
> nginx/lighttpd умеют в одном потоке пачку соединений обрабатывать. Ибо
> FSM. 
Хм... Посмотрел. lighttpd, кажется, серьёзный сервер (судя по тому, где
используется).
Но что значит "обрабатывать"? Подключения? Или отдачу данных?
И ведь, всё-равно, они отдают данные, в этом случае, последовательно, а если
соединений будет много, будут задержки..?
Или они там наподобие планировщика своего что-то сделали?
И как распараллелить, ведь наверняка там всё-равно используются потоки (просто в
одном потоке обрабатывается несколько соединений)?
И причём здесь FSM (как я понял, это простой советский конечный автомат)?


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/4fff079e.20...@yandex.ru



Re: Несколько вопросов вразброс

2012-07-12 Пенетрантность Stanislav Maslovski
On Thu, Jul 12, 2012 at 08:31:32PM +0400, "Артём Н." wrote:
> У меня сложилось ощущение, что тесты сильно затягивают время, требуемое на
> написание. Причём, если меняется функция, часто требуется менять и тест. Ещё я
> заметил, что в тестах тоже бывают ошибки, поэтому их надо проверять...

Артём, я думаю, эта тема с тестами уже всех тут замонала. Пора
возвращаться ближе к топику.

-- 
Stanislav


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20120712172455.GA22728@kaiba.homelan



Re: Несколько вопросов вразброс

2012-07-12 Пенетрантность Артём Н.
On 12.07.2012 21:24, Stanislav Maslovski wrote:
> On Thu, Jul 12, 2012 at 08:31:32PM +0400, "Артём Н." wrote:
>> У меня сложилось ощущение, что тесты сильно затягивают время, требуемое на
>> написание. Причём, если меняется функция, часто требуется менять и тест. Ещё 
>> я
>> заметил, что в тестах тоже бывают ошибки, поэтому их надо проверять...
> 
> Артём, я думаю, эта тема с тестами уже всех тут замонала. Пора
> возвращаться ближе к топику.
Ээээ... О чём он был? o.O


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/4fff0e70.5010...@yandex.ru



Re: Несколько вопросов вразброс

2012-07-12 Пенетрантность Eugene Berdnikov
On Thu, Jul 12, 2012 at 09:50:40PM +0400, "Артём Н." wrote:
> On 12.07.2012 21:24, Stanislav Maslovski wrote:
> > On Thu, Jul 12, 2012 at 08:31:32PM +0400, "Артём Н." wrote:
> >> У меня сложилось ощущение, что тесты сильно затягивают время, требуемое на
> >> написание. Причём, если меняется функция, часто требуется менять и тест. 
> >> Ещё я
> >> заметил, что в тестах тоже бывают ошибки, поэтому их надо проверять...
> > 
> > Артём, я думаю, эта тема с тестами уже всех тут замонала. Пора
> > возвращаться ближе к топику.
> Ээээ... О чём он был? o.O

 Топик? IMHO, здесь рассылка по дебиану, а не школа юного программиста.
-- 
 Eugene Berdnikov


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20120712181139.gd3...@sie.protva.ru



Re: Несколько вопросов вразброс

2012-07-12 Пенетрантность Артём Н.
On 12.07.2012 22:11, Eugene Berdnikov wrote:
> On Thu, Jul 12, 2012 at 09:50:40PM +0400, "Артём Н." wrote:
>> On 12.07.2012 21:24, Stanislav Maslovski wrote:
>>> On Thu, Jul 12, 2012 at 08:31:32PM +0400, "Артём Н." wrote:
 У меня сложилось ощущение, что тесты сильно затягивают время, требуемое на
 написание. Причём, если меняется функция, часто требуется менять и тест. 
 Ещё я
 заметил, что в тестах тоже бывают ошибки, поэтому их надо проверять...
>>>
>>> Артём, я думаю, эта тема с тестами уже всех тут замонала. Пора
>>> возвращаться ближе к топику.
>> Ээээ... О чём он был? o.O
> 
>  Топик? IMHO, здесь рассылка по дебиану, а не школа юного программиста.
Одно другому мешает? :-)


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/4fff14cd.5010...@yandex.ru



Re: Несколько вопросов вразброс

2012-07-12 Пенетрантность Eugene Berdnikov
On Thu, Jul 12, 2012 at 10:17:49PM +0400, "Артём Н." wrote:
> On 12.07.2012 22:11, Eugene Berdnikov wrote:
> > 
> >  Топик? IMHO, здесь рассылка по дебиану, а не школа юного программиста.
> Одно другому мешает? :-)

 Да. Я не хочу тратить своё время на разгребание кучи мусора.
 Предпочитаю жить там, где мусора нет, а население культурно.
-- 
 Eugene Berdnikov


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20120712183941.ge3...@sie.protva.ru



Re: Несколько вопросов вразброс

2012-07-12 Пенетрантность Артём Н.
On 12.07.2012 22:39, Eugene Berdnikov wrote:
> On Thu, Jul 12, 2012 at 10:17:49PM +0400, "Артём Н." wrote:
>> On 12.07.2012 22:11, Eugene Berdnikov wrote:
>>>
>>>  Топик? IMHO, здесь рассылка по дебиану, а не школа юного программиста.
>> Одно другому мешает? :-)
> 
>  Да. Я не хочу тратить своё время на разгребание кучи мусора.
>  Предпочитаю жить там, где мусора нет, а население культурно.
Вы конечно извините, но кто вас заставляет читать именно данную тему, раз вы
считаете тут написанное мусором, оставленным некультурными людьми?


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/4fff1be5.6050...@yandex.ru



Re: Несколько вопросов вразброс

2012-07-12 Пенетрантность Stanislav Maslovski
On Thu, Jul 12, 2012 at 09:50:40PM +0400, "Артём Н." wrote:
> On 12.07.2012 21:24, Stanislav Maslovski wrote:
> > On Thu, Jul 12, 2012 at 08:31:32PM +0400, "Артём Н." wrote:
> >> У меня сложилось ощущение, что тесты сильно затягивают время, требуемое на
> >> написание. Причём, если меняется функция, часто требуется менять и тест. 
> >> Ещё я
> >> заметил, что в тестах тоже бывают ошибки, поэтому их надо проверять...
> > 
> > Артём, я думаю, эта тема с тестами уже всех тут замонала. Пора
> > возвращаться ближе к топику.
> Ээээ... О чём он был? o.O.

Я про рассылку в целом, а не про этот конкретный тред.

-- 
Stanislav


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20120712185301.GA25399@kaiba.homelan



Re: Несколько вопросов вразброс

2012-07-12 Пенетрантность Eugene Berdnikov
On Thu, Jul 12, 2012 at 10:48:05PM +0400, "Артём Н." wrote:
> On 12.07.2012 22:39, Eugene Berdnikov wrote:
> > On Thu, Jul 12, 2012 at 10:17:49PM +0400, "Артём Н." wrote:
> >> On 12.07.2012 22:11, Eugene Berdnikov wrote:
> >>>
> >>>  Топик? IMHO, здесь рассылка по дебиану, а не школа юного программиста.
> >> Одно другому мешает? :-)
> > 
> >  Да. Я не хочу тратить своё время на разгребание кучи мусора.
> >  Предпочитаю жить там, где мусора нет, а население культурно.
> Вы конечно извините, но кто вас заставляет читать именно данную тему, раз вы
> считаете тут написанное мусором, оставленным некультурными людьми?

 Вопрос не в том, заставляет ли меня кто-то спотыкаться о кучку мусора,
 которую можно спокойно обойти. Не заставляет. Но я всё равно хочу жить
 там, где мусора нет, а не там, где можно не обращать на него внимания.
-- 
 Eugene Berdnikov


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20120712195000.gi3...@sie.protva.ru