Разработчики winamp озаботились об обработке сообщений окна, как то происходит в любом GUI приложении. Любое взаимодействие (манипуляции с окном, клики, нажатие кнопки, и т.д.) — есть сообщение (message) в оконную функцию. Для понимания посмотрите хотя бы пару примеров Чарльза Петцольда (Charles Petzold). А лучше книжку почитать.
Декомпилировать тоже ничего не нужно, достаточно подсмотреть для FindWindow классы главного и дочернего окна например с помощью Spy++ из комплекта визуалстудии (в 6.0 точно было такое добро, дальше — не уверен). Ну а оконные сообщения все стандартные и документированные в MSDN.
Кстати, забыл еще такую вещь, что в опере в настройках есть минимальный размер отображаемого шрифта. Возможно ваш маленький тестовый шрифт был меньше чем значение этой настройки, и опера его просто увеличивала.
Значит отдельный раздел boot и отдельный раздел с минисистемой (аналог rescue). Правим в бут вариант загрузки по умолчанию, ребутимся в минисистему, разворачиваем обновления для основной. Так максимально безопасно.
> таблица будет в 5 раз больше, чем нужно
Чем нужно кому? Заказчик хочет хранить версии, значит нужен доступ к ним. Соответственно нельзя сказать, что связанная с хранением прошлых версий информация избыточна.
> не эффективно
Я описал простейший вариант. Разумеется его можно оптимизировать по различным парметрам:
1. Занимаемому объему
2. Времени сохранения
3. Времени выборки
4. Времени разработки :)
5.…
Предложенный вариант оптимизирован по п.4 :)
Если предполагается хранение множества версий объемных статей, возможно стоит подумать над хранением в другом формате: например, как было предложено, диффом. А можно еще и жать гзипом, например. Естественно дополнительные сложности, помимо очевидных плюсов, поведут к увеличению времени (а значит и стоимости) разработки, увеличению времени сохранения и выборки из архива.
Так что в некоторых случаях достаточно этого хеллоувёлдного варианта, не так ли? :)
> с таким видом решения я знаком… apache там вообще не нужен
Если свой проект — то да. Основная проблема в завязке на апачевские фичи (в основном с .htaccess): защита через папок, реврайт (корявый, но апачевский). Естественно все это под nginx переписывается, но требует дополнительных усилий, что не всегда возможно.
Я удивляюсь, почему до сих пор под нжайникс нету транслятора .htaccess'а.