abbra: (Default)
[personal profile] abbra
В мире постоянно происходят изменения в законодательствах разных стран и некоторые изменения при всей своей "некомпьютерности" затрагивают не только подданных этих стран, но и все остальных. Так, в 2005 году правительство США приняло акт об экономии энергоресурсов, в рамках которого изменились даты перевода часов на зимнее и летнее время, начиная с 2007 года.

Не нужно думать, что раз это изменение происходит в США или Зимбабве, или еще какой стране, оно нас не касается. Напротив, касается напрямую, ведь многие серверы установлены в США, почта приходит отовсюду, а для бизнес-приложений утечка времени вообще крайне вредна. Так что от того, что CST из GMT-6 станет GMT-7, может пострадать значительно больше, чем может показаться. К тому же, изменения в США -- не единственные, в этом году нас коснутся изменения в Канаде и западной Австралии. В последней, кстати, это сделано, чтобы не разрывать Игры Содружества и для тестирования перевода часов на зимнее/летнее время, сроком на три года.

Однако основная проблема вовсе не в том, что изменения происходят постоянно. Проблема, как отметил недавно Ульрих Дреппер из glibc и RedHat, в том, что отсутствует единство в представлении информации о временных зонах и часовых поясах в разных компонентах информационных систем. Так, большинство "правильно" написанного программного обеспечения в POSIX-совместимых средах использует функции системной библиотеки libc, в которой база данных часовых поясов достаточно легко обновляется независимо от самой системы и имеет стабильный формат. Однако различные реализации Java не опираются на системные возможности по обработке времени, они таскают за собой свои базы данных часовых поясов. Обновление такой базы для старой версии Java может выглядеть вообще заменой старого интерпретатора на новый, с которым может не работать приложение, это еще цветочки...

Дальше -- больше. В базах данных время может храниться в разном формате, зачастую без указания часового пояса. Ладно, с типовыми веб-приложениями в этой области более-менее разобрались, профили пользователей во всевозможных форумах имеют специальную настройку "часовой пояс", которая используется для корректного отображения даты, а сама дата хранится в UTC, что уже не плохо.

Хуже всего в Windows. Например, Exchange внедряет информацию о временных зонах в создаваемые события, что требует переписывания всей информации в базе данных при изменении часовых поясов. Кстати, таких изменений не так и мало -- по утверждению Дреппера, в мире в год происходит в среднем порядка 20 локальных изменений в порядке вычисления часовых поясов.

Что касается GNU/Linux, то здесь ситуация такая:

  • Основные дистрибутивы выпустили обновления пакета с базой часовых поясов: Novell/SUSE, RedHat, для остальных рекомендуется проверить, что в системе стоит свежая версия tzdata (2005m и новее). Обратите внимание, что исправление у Novell не является куммулятивным и требует установки нескольких пакетов для охвата как США, так и Канады.

  • IBM выпустила свои рекомендации по обновлению GNU/Linux на соответствие с текущими настройками часовых поясов.

  • IBM также опубликовала аналогичный документ для IBM Java Development Kit.

  • Sun Microsystems представила информацию по почти 50 своим продуктам

  • PostgreSQL также нуждается в обновлении до 8.0.4+ для тех, кто это еще не сделал. Лучше до 8.0.10+, чтобы включить в себя Канаду и западную Австралию.


Уф. На последок, аналогичные статьи от Microsoft: Visual Studio, обновления для Windows XP, 2003 и базовый Центр помощи при смене часовых поясов.
This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

If you are unable to use this captcha for any reason, please contact us by email at support@dreamwidth.org

April 2016

S M T W T F S
     12
3456789
1011121314 1516
17181920212223
24252627282930

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jun. 15th, 2025 09:08 am
Powered by Dreamwidth Studios