Sunday, December 30, 2012

Статья на Хабре

По просьбам трудящихся написал статью на Хабр о хакатоне и проекте нашей команды. Ссылка: http://habrahabr.ru/company/epam_systems/blog/164201/

Tuesday, December 11, 2012

Доклад на JUG KPI


В прошедшую субботу мы вместе с Олегом Тымчаком выступали на встрече Java User Group KPI с докладом о своем хакатон-проекте и делились полученным опытом веселого и полезного времяпрепровождения на таком мероприятии. Слайды презентации доступны по ссылке.

Среди прозвучавших докладов отдельно следует выделить захватывающую дух облачную платформу Jelastic, которую представлял Константин Александров. 

Сама встреча проходила в очень уютной атмосфере офиса компании EPAM, с печеньками и другими ништяками.

Wednesday, December 5, 2012

Unicode transformation format

Волей случая пришлось разобраться в том, где и когда применяются кодировки UTF-8 и UTF-16, и в чем же их отличия.

Привожу тезисно свои выводы:
1) Сначала было слово, и записывалось оно в кодировке ASCII – 256 символов (1 байт), предполагалось наличие латинского и одного регионального алфавита (семейство ASCII-совместимых кодировок, например, КОИ-8). Все еще применяется в критичных к размеру сообщений сервисах и в вебе, но морально устарела, полагаю что место этой кодировки – в музее
2) Кодировка UTF-8 содержит 2^16 = 65536 символов и обратно совместима с ASCII.
Каждый символ может кодироваться в 1-4 байта. Символы русского алфавита и некоторые другие алфавиты имеют длину 2 байта
3) Кому-то и такого количества символов показалось мало, и был введен стандарт UTF-16. Иногда пишут UTF-16LE или UTF-16BE (little-endian/big-endian) для указания порядка байтов.
Количество символов: 1112064. Каждый символ кодируется в 2 или 4 байта. Совместимость с UTF-8 и ASCII: нет
4) Для передачи данных по сети гораздо выгодней использовать UTF-8 (что в большинстве случаев и делается) – короче длина сообщений. Еще аргумент в пользу UTF-8 – при потере одного байта остальной текст может быть восстановлен, а вот для UFT-16 в таком случае возможно полное искажение текста
5) Есть еще кодировка UTF-32, которая кодирует символы только в 4 байта и используется в специфичных случаях
6) В Java все символы кодируются в UTF-16, вопрос применения кодировок в той или иной версии ОС – тема для отдельной дискуссии

Источники:
1) На удивление толковая статья в английской википедии