Старый 05.05.2011, 16:44   #1

 
Аватар для NikolayUB
 
Регистрация: 14.05.2008
Адрес: Санкт-Петербург
Сообщений: 2,785
Пол:
Вы сказали Спасибо: 815
Поблагодарили 1,050 раз(а) в 556 сообщениях
По умолчанию

Мы, программисты, часто развлекаемся очень специфическим юмором.
Недавние споры на форуме навеяли мне вот такое творение в этом жанре:

Департамент: Heavens Corp
Owner Иешуа (senior developer)
Тип проблемы: Software defect
Product family: млекопитающие
Unit: человечество
Severity: critical
Operating System: HeavenOS
CPU: Galaxy2011
Resources: Все природные ресурсы земли

Краткое описание проблемы:
Периодическая 100% загрузка процессора и слишком большое потребление природных ресурсов

Полное описание:
Большое количество безконтрольных подпроцессов производятся процессом "человечество", которые все вместе периодически отбирают всё процесcорное время.

В логах также возникает интересная циклическая ошибка:
Resources usage 50%
ApocalypsePanicTask activated!
CPU usage 95%
Ошибка в процессе "человечество" org.heaven.NoApocalypseException
at org.heaven.ApocalypseModule.<init> (line: 15)
at com.human.ApocalypsePanicTask.<finish> (line:666)
caused by
org.heaven.AccessException
Access denied!
ApocalypsePanicTask terminated
...
Resources usage 50.2%
ApocalypsePanicTask activated!
CPU usage 98%
Ошибка в процессе "человечество" org.heaven.NoApocalypseException
at org.heaven.ApocalypseModule.<init> (line: 15)
at com.human.ApocalypsePanicTask.<finish> (line:666)
caused by
org.heaven.AccessException
Access denied!
ApocalypsePanicTask terminated
....

- Алоха Иешуа! Какие у Тебя есть идеи по поводу NoApocalypseException?
- Алоха Шеф! Какой-то процесс, прожденный "человечеством", пытается активировать ApocalypseModule, но не может этого
сделать из-за нехватки прав доступа.. ApocalypsePanicTask - это какая-то недокументированная функциональность.
ApocalypseModule был спроектирован таким образом, что только Вы сможете его активировать с помощью специальной команды из своей консоли..

- Понятно, проблема очень похожа на критическую..в ближайшие 2 года я хотел бы получить от Тебя полный отчет по всем процессам, порожденным "человечеством"...

Через 2 года исследований:
- Процессы, пророжденные человечеством, отсортированные по степени потребления природных ресурсов
com.human.PetroleumBurning - 60%
com.human.AtomSplitting - 30%
сom.human.HadronCollider - 8%
сom.human.RiverTurnOver - 1%
сom.human.EarthTrample - 1%

- Процессы, пророжденные человечеством, отсортированные по степени потребления времени CPU
com.human.Science + com.human.ScienceScholasticism - 30%
com.human.PhilosophySophistic - 15%
com.human.DreamyInactivity - 5%
com.human.ApocalypseThinking - 50%
(think - думать, dream - мечтать)


- Отличная работа, Иешуа!Я полагаю, что как раз com.human.ApocalypseThinking и создает нам проблему?
- Нет шеф, я так не думаю.. есть предположение, что ApocalypseThinking происходит из PhilosophySophistic и DreamyInactivity.. Если мы попробуем удалить com.human.ApocalypseThinking, то скорее всего этот модуль возродится снова уже под другим названием, и снова потребуются годы на его поиски.


- И, наверно, возможно самосоздание всех модулей из com.human после их удаления?
- Да, безусловно!

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

- Но, например, мегапроцесс "волки" тоже состоит из множества таких же химических микропроцессов, и в то же время "волки" не порождают никаких недокументированных процессов и тем более не создают целые библиотеки типа "com.human"

- Согласен, я думаю, что стоит понаблюдать с помощью отладчика за "волками" и "человечеством".. хотя вместо "волков" я бы понаблюдал за "обезьянами"..

- И сколько лет Ты собираешься за ними наблюдать?
- Думаю, лет 100 хватит..

- А у нас крайний срок решения этой проблемы всего 200 лет... Что говорится в документации по поводу API "человечества" и API других млекопитающих?
Почему бы для начала просто не сравнить их API по документации?

- Это к сожалению невозможно! Документация была залита лавой во время извержений вулкана забыл уже сколько тысяч лет назад!

- Черт! И никто даже не помнит когда и в каком месте и при извержении какого вулкана это произошло?
Появляется Черт: - никто, я тоже не помню!

- Ладно, Иешуа, запускай свой отладчик, но смотри в основном на различия в API.. исследуй все три процесса "волки", "человечество", "обезьяны"..

Прошло 5 лет:
- Алоха шэф! Я нашел принципиальные отличия в API:

Цитата:
public interface Волк { \\тоже самое для обезьян

public boolean isОпасность();
public void setОпасность(ПризнакиОпасности);

public boolean можноСъесть();
public void setМожноСъесть(ПризнакиCъедобного);

public boolean аНеСъестЛиЭтоТебяСамого();
.....
}

Цитата:
public interface Человек {

public boolean isОпасность();
public void setОпасность(ПризнакиОпасности);

public boolean можноСъесть();
public void setМожноСъесть(ПризнакиCъедобного);

public boolean аНеСъестЛиЭтоТебяСамого();
.....
public abstract String почему();
public abstract void потомуЧто(String описание):

}
А в остальном все абсолютно одинаково, у всех видов есть хранилище данных для входной информации и механизмы передачи этих данных по наследству от старых процессов к новым..

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

Последний раз редактировалось NikolayUB; 05.05.2011 в 18:12..
NikolayUB вне форума   Ответить с цитированием
Этот пользователь сказал Спасибо NikolayUB за это полезное сообщение:
Wild Falcon (05.05.2011)
Старый 05.05.2011, 18:33   #2
Дирижер

 
Аватар для Wild Falcon
 
Регистрация: 19.04.2007
Адрес: Львов
Сообщений: 1,926
Пол:
Вы сказали Спасибо: 137
Поблагодарили 305 раз(а) в 187 сообщениях
Отправить сообщение для Wild Falcon с помощью ICQ
По умолчанию

В тему не могу не добавить знаменитый Генезис: http://zhurnal.lib.ru/n/nowickaja_k_a/genesis.shtml
Wild Falcon вне форума   Ответить с цитированием
Этот пользователь сказал Спасибо Wild Falcon за это полезное сообщение:
NikolayUB (05.05.2011)
Ответ

Опции темы
Опции просмотра
Комбинированный вид Комбинированный вид

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 01:48. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot