Pull to refresh
31
0
Илья Абламонов @flamefork

Пользователь

Send message

Обновления на лету (zero-downtime deployment) вообще и в Ruby on Rails

Reading time 4 min
Views 10K
Сначала разберемся с определениями. Под обновлением на лету мы подразумеваем такое обновление системы, при котором не нарушается штатная ее работа: клиенты работают, посетители ходят и никто не наблюдает ошибок, увеличившегося времени отклика или таблички “УЧЁТ”.

Зачем это нужно? Если вы задаетесь этим вопросом — вам не нужно. Вешайте табличку, садитесь обедать.

Как это делается? Сложно. Почему? Главных причин две:
— вы не можете обновить систему мгновенно и атомарно (то есть ровно между двумя HTTP запросами). При наивном подходе пользователи заметят как минимум долгое время отклика, а то и ошибку, если, к примеру, БД обновлена, а код еще нет;
— состояние и конфигурация системы существуют и на клиенте и на сервере. Примеры: данные в сессии, имена полей формы, адреса в ссылках, состояние в javascript на открытой у пользователя странице.
Читать дальше →
Total votes 28: ↑24 and ↓4 +20
Comments 20

Transcode — аналог PuntoSwitcher для Mac OS X

Reading time 1 min
Views 6.2K
Пост из трех частей


Риторическая


А вас не удивляло, что на маке нет корректировки текста в неправильной раскладке?

Историческая


Меня удивляло. Пунто есть уже лет N (наверное даже M!), а тут… По-удивляло, и перестало. Понял, что надо писать.
Написал.
Показываю.

Проект.
Программа.

Работает, как Service (не знаю, как в русской версии переводится). Назначен на Command-\
Чтобы сервис появился, нужно один раз запустить программу (да, при запуске ничего не должно происходить).
Поддерживается только Leopard, не хотелось с deprecated api работать…

Идейная


Давайте доведем его до ума :) Я один не то, чтобы не потяну, но вместе — интереснее!
Как минимум, нужны:
— предложения по хоткею — вроде выбрал нормальный, но это только на мой взгляд
— иконка программы
— возможность выбирать хоткей самому

… ваши предложения?
Total votes 8: ↑8 and ↓0 +8
Comments 23

Information

Rating
Does not participate
Location
Самара, Самарская обл., Россия
Date of birth
Registered
Activity