Deferred для JavaScript (Prototype)

Posted by Андрей on Май 29, 2009

Prototype and Twisted

Продолжая тему Deferred для JavaScript предлагаю еще одно переписывание Deferred, теперь в терминах Prototype. Подробнее о самом Deferred можно почитать в двух моих прошлых заметках: Асинхронное программирование: концепция Deferred и Deferred: все подробности. Если кратко, самое распространенное и полезное применение Deferred в JavaScript – это работа с AJAX или другими RPC-over-HTTP вызовами, когда необходимо совершить цепочку логически связанных вызовов, корректно обрабатывать возникающие ошибки и т.п. С моей точки зрения, Deferred крайне необходим в таких ситуациях.

Перейдем к примерам: обращение к некоторому JSON-RPC API на основе Prototype’овского Ajax.Request можеть быть обернуто в Deferred следующим образом:

Continue reading…

Пожар на газопроводе и информационный вакуум

Posted by Андрей on Май 11, 2009

В ночь с 9-е на 10-е мая произошел разрыв газопровода, об этом знают все. Мы живем в Ново-Переделкино, примерно в шести километрах от места аварии. Как раз в момент взрыва (около 0:40) мы вышли на балкон, услышали сильный хлопок и небо осветилось. Повернув голову, мы увидели огромный гриб пламени, поднимающийся в небо. Раздался сильный гул, который не прекращался. Определить расстояние на глаз было невозможно, казалось, что пожар совсем близко, километрах в двух за Чоботовским лесом. Первая реакция – позвонить 01, но ни с городского телефона, ни с сотового двух разных операторов это не удавалось – сразу короткие гудки. Может быть, очень много позвонило в тот момент, может быть, уже какие-то кабели были повреждены на месте пожара. Сегодня я уже знаю, где место пожара, и что пожарная часть располагается буквально в 200 метрах, звонить было вряд ли полезно – все знали о произошедшем. Но если бы, не дай Бог, был где-то еще пожар, как дозвониться? Мне кажется, что телефоны оперативных служб должны быть организованы так, чтобы возможность дозвониться оставалась.

Через еще несколько минут возник вакуум информации, где горит? Что горит? По виду столба пламени можно было догадаться, что горит газ, но знать наверняка вряд ли было возможно. Есть ли угроза для нас, для нашего дома? По моим первым предположениям, что горит прямо за лесом, в случае, если огонь перекинется на лес, нам надо было будить нашу маленькую дочку и уезжать отсюда. По телевидению в новостных каналах тишина, никакой информации. Помогает поиск по блогам, уже через несколько минут первая информация – пожар где-то внутри МКАД, в районе Мичуринского проспекта. Становится чуточку легче. Спасибо вам, блоггеры!

Еще через несколько минут около часа ночи прекращает работать интернет (Стрим), с ним погибает и телевидение №1 (Стрим-ТВ). Тут же умирает и телевидение №2 (кабельное в доме). Интересно, как они связаны? По радио тишина. Остается последний источник информации, сотовый телефон, ленты новостных агентств. Через их сайты удается узнать какую-то информацию, действительно пожар около поста ДПС на пересечении Мичуринского и МКАД. Всё, можно спать.