Несколько лет назад в Амурской области подрядчик прокладывал оптику в тайге. Просека уже существовала — когда-то давно там прокладывали медь — на которой интернет работал, но плохо. Просека была размером чуть шире укладочной машины (читай — трактора). И конечно же они умудрились на одном из участков перемолоть около двух километров меди и проложить поверх нее оптику. В итоге интернета в населенном пункте не было недели три — пока не закончили оптику.
От теперь пусть сами прочувствуют каково это, платить деньги за воздух. Я бы посчитал предложение этой троицы справедливым, если бы они отказались от взымаемой с HTC и ему подобных дани до того, как запахло жареным.
Есть такой сайт Ruby Toolbox Там есть много интересного про гемы и проекты — особенно радует возможность посмотреть тенденции «популярности» того или иного гема. Все это категоризировано.
У меня аналогичная схема организации контроллеров, только не ApplicationController, а Base контроллер и у меня «форматы ответа» не отражаются в иерархии, там скорее «точки зрения» на приложения или упрощенно — роли пользователей. Пока что работает идеально и новые фичи имплементятся прекрасно — с cancan разделением «ролей» было бы хуже — проверяли.
С онлайн трансляцией все понятно — ей быть. Однако, будет ли возможность просмотреть трансляцию в записи тем, кто купил на нее билет — это было бы очень удобно.
После долгих дискуссий и поисков я пришел к выводу, что гарантии может дать только runit. Однако есть у меня один могильничек… В общем gem whenever (cron) + проверка на живость мастера (bash). Если с купюрами, то выглядит как-то так:
if environment == 'production'
every 1.minute do
command «if [! -f #{unicorn_pid} ] || [! -e /proc/$(cat #{unicorn_pid}) ]; then rvm #{ruby} && cd #{current} && bundle exec unicorn_rails -c #{unicorn_conf} -E #{rails_env} -D; fi»
end
end
1. Основной язык (фреймворк) разработки.
2. Почему не используете TDD/BDD?