Какой рейтинг вас больше интересует?
|
Главная / Главные темы / Тэг «решений»
Итальянское правосудие: за все ответит капитан Costa Concordia Франческо Скеттино 2013-07-20 17:26:46
Судья по предварительному рассмотрению дела Пьетро Мулино сегодня, 20 июля 2013 г., огласил приговор ...
+ развернуть текст сохранённая копия
Судья по предварительному рассмотрению дела Пьетро Мулино сегодня, 20 июля 2013 г., огласил приговор а отношении пятерых сотрудников компании Costa Crociere — старшего помощника капитана Чиро Амброзио, офицера судна Сильвии Короника, рулевого Якоба Русли Бина, директора кризисного центра Costa Crociere Роберто Феррарини и директора бортовой гостиницы Манрико Джампедрони. Им было предъявлено обвинение в непреднамеренном убийстве [...]
Тэги: concordia, costa, crociere, адвокат, амброзио, бин, вердикт, гроссето, джампедрони, италии, итальянский, компенсация, конкордия, короника, коста, краткий, манрико, наказание, новость, приговор, решение, роберто, русли, сделка, сильвия, скеттино, следствие, суд, тюрьма, феррарини, франческо, чиро, якоб
Обработка и логирование исключений под Windows и в веб сервисах (часть 5) 2013-07-19 00:04:00
+ развернуть текст сохранённая копия
Продолжаю цикл переводов понравившейся мне статьи автора James Dingle про исключения.
Первый пост посвященный этой статье находится здесь.
3. Соберите вместе знание о том, что случилось, и контекст
Знание и контекст должны быть представлены вместе.
В этом случае 1 + 1 = 3.
Если один из этих двух упущен, то пользователь вашего приложения или сервиса потеряет время на понимание и локализацию проблемы.
Или вы показываете пользователю сообщение об ошибке, или пишете его в лог файл.
Удостоверьтесь, что вы комбинируете оба ингредиента.
Или пользователь не поймет, что не так с вашим приложением.
Знание о том, что не так, описано в пункте 2 данной статьи.
Контекст это то, какой удар получил бизнес.
Доставщик пиццы может получить проблемы с мотоциклом во время, когда он добирается на работу.
Или во время когда он доставляет заказ клиенту.
И в соответствии с этим менеджер не должен реагировать одинаково.
В первом случае он возможно отдаст меньше приказов.
Во втором случае, он также скорее всего сделает звонок клиенту с объяснениями, почему пицца не прибудет вовремя.
Сравните следующие строки в лог файле:
1)Знание без контекста:“Access denied on file C:\application\rev34en\2011-12-05.txt”.
Зачем этот файл ? Случилась ли эта ошибка ?
Это фатальное исключение, или что-то с чем система предположительно справится ?
Попытается ли система переоктрыть файл автоматически ?
2) Контекст без знания: “Unexpected error when importing the list of new users, task canceled.”.
Прекрасно...
Если вы расследуете это, вы подготовите себя к сложной сессии отладки.
Или вы попробуете мистику, и духи вас вдохновят знанием, что породило эту ошибку.
3) А теперь контекст и знание: “Unexpected error when importing the list of new users, task canceled: access denied on file C:\application\rev34en\2011-12-05.txt”.
При концентрации на этих двух элементах.
Человек, занимающийся поддержкой/доработкой вашего приложения, узнает какой компонент программы уже глючит, а какой еще функционирует нормально.
Также он узнает, как это ударило по всему приложению, и что является источником проблем.
Вы обязательно должны положить вместе знание, того что случилось, и контекст, когда вы обрабатываете исключение.
В любом случае. И когда вы пишете в лог файл. И когда вы показываете пользователю сообщение об ошибке.
И даже когда вы ждете ввода любого вида (после случившейся проблемы).
Это секретное правило для приложений.
Которые хотят оставаться дружественными к пользователю, даже когда произошли ошибки при выполнении чего-либо.
Что они предположительно должны были сделать.
Продолжение следует ...
А если вы сейчас находитесь в Украине, но хотите поехать на Кавказ. То самым логичным и удобным способом перемещения в пространстве будет авиаперелет. Например, вы хотите полететь из Киева в Баку. Тогда самым удобным и экономичным будет - покупка билетов онлайн. Купить авиабилеты по умеренным ценам в таком случае, вы сможете на сайте 711.UA. На этом сайте, кроме того, можно купить и железнодорожные билеты.
Тэги: (решение), исключение, сделать
Как создать свое интернет радио ? 2013-07-18 15:03:00
+ развернуть текст сохранённая копия
Изначально необходимо выбрать для себя радиопровайдера. Live365.com является одним из наиболее распространенных хостингов. Цена на данные услуги составляет от 300 рублей в месяц.
Далее требуется загрузить необходимое программное обеспечение. Для хостинга Live365.com — отличная программа Studio365. Интуитивный интерфейс, возможность работы с форматами файлов mp3, wav, aac.
Вполне возможно, что будет необходимо приобрести лицензию. Композиции могут быть защищены лицензиями BMI, ASCAP, SESAC. Подробную информацию можно найти в Wikipedia. Все, что связано с авторством, на Live365 входит в стоимость хостинга.
SAM Broadcaster является еще одной отличной программой для создания персональной радиостанции.
Программа под названием Shoutcast позволит вам загружать файлы на собственный хостинг и транслировать их.
Для качественного запуска радиошоу в прямом эфире необходимо наличие хорошего программного обеспечения, которое обладает необходимыми возможностями.
С помощью Live365 и SAM возможно ведение прямого эфира. Iceсast является еще одним сервисом, который отлично подойдет для таких целей.
Не забудьте о необходимости в хорошем микрофоне, подключенном к вашему ПК, только так слушатели смогут вас услышать.
Ну, а если вы загорелись идеей с интернет радио и хотите посмотреть уже существующие примеры. То в этом деле, вам поможет
radioprofusion.com - каталог радиостанций.
Тэги: (решение), сайт, сделать, создание
Юмористические метаморфозы Тони Спиры 2013-07-17 23:32:09
Польский художник и фотограф Тони Спира из обыденных вещей составляет удивительные композиции. В них ...
+ развернуть текст сохранённая копия
Польский художник и фотограф Тони Спира из обыденных вещей составляет удивительные композиции. В них предметы приобретают совершенно иной вид, причём, как правило, с юмористическим оттенком. Смотреть на них всегда весело и приятно. Источник: http://re-actor.net/
Тэги: достопримечательность, забавный, зрелище, искусство, исскуство, культура,, люди, оригинальный, польша, прикол, профессия, решение, смешно, смешной, спира, тонуть, фотография, фотохудожники, юмор
Обработка и логирование исключений под Windows и в веб сервисах (часть 4) 2013-07-17 13:33:00
... некоторого времени правильное решение будет найденонамного неньшими ...
+ развернуть текст сохранённая копия
Продолжаю цикл переводов понравившейся мне статьи автора James Dingle про исключения.
Первый пост посвященный этой статье находится здесь.
2. Документируйте ваше исключение: действие, объект, что ожидалось на самом деле, результат
Теперь вы знаете, как вы должны возбуждать исключение. Давайте этим займемся.
И давайте мы сделаем это правильно.
Даже если ваш парень развозящий пиццу не может справиться с ситуацией, вы должны также как и он сделать несколько уточнений.
Уточнений о том, что же не так с его мотоциклом.
Как много одиноких парней (не в смысле секса, но в смысле текущей ситуации) из IT техподдержки получали сообщения типа "мой компьютер не работает".
Которые посылал им пользователь в надежде на немедленное разрешение ситуации ?
Сравните предложенную ситуацию со следующим.
// Exception #1: "I have a problem"
if( header.FileFormat != "JPEG" ) throw new NotAnImageException();
// Exception #2: "I have a problem with X"
if( header.FileFormat != "JPEG" )
{
string error = string.Format("Cannot compute the image dimensions " +
"of file {0}.", path)
throw new NotAnImageException(error);
}
// Exception #3: "I have a problem with X, I got Z."
if( header.FileFormat != ”JPEG” )
{
string error = string.Format("Cannot compute the image dimensions " +
"of file {0}: the format {1} is not a recognized image.",
path, header.Format);
throw new NotAnImageException(error);
}
// Exception #4: "I have a problem with X, I was expecting Y and I got Z."
if( header.FileFormat != "JPEG" )
{
string error = string.Format("Cannot compute the image dimensions " +
"of file {0}: the format {1} is not a recognized image. Ensure " +
"the image is in Jpeg format.",
path, header.Format);
throw new NotAnImageException(error);
}
Во всех случаях предполагайте, что если исключение непоймано, то приложение повалится и будет дрыгать на боку ногами наводя шорох середи других приложений.
Но можно предположить, что пойманое исключение запишет некоторый лог событий.
И по прошествии некоторого времени правильное решение будет найденонамного неньшими силами и страданиями чем в первом случае (без лога, но сентенциями пользователя).
Не требудется тысяч строк лога или описаний ошибок.
Только релевантная (относящаяся к делу) строка необходима для локализации и разрешения проблемы.
Постарайтесь описать так много, насколько вы сможете:
- Какое дайствие привело к фиаско ? Что вам не удалось сделать ?
- Какой объект пытался совершить сие деяние ?
- Что вы наивно ожидали получить ?
- Что вы обнаружили на самом деле вместо ожидаемого ?
Помните. Гораздо лучше если все эти элементы будут свойствами вашего класса исключений.
Но иногда трудно иметь свойства для всего, что может пойти не так.
public class NotAnImageException : Exception
{
public string ImagePath { get; set; }
public string ActualImageFormat { get; set; }
// ...
}
Продолжение следует ...
Тэги: (решение), исключение, сделать
Главная / Главные темы / Тэг «решений»
|
Взлеты Топ 5
Падения Топ 5
|