20
T map 로로로로 로로로 Java Locale 로로로 T map 을 을을을을 을을을 을을을을 을을을을

T map 로그에서 발생한 Java Locale 문제들

Embed Size (px)

Citation preview

Page 1: T map 로그에서 발생한 Java Locale 문제들

T map 로그에서 발생한Java Locale 문제들

T map 을 사용하는 한국에 거주하는 세계인들

Page 2: T map 로그에서 발생한 Java Locale 문제들

2015/05 Tmap 로그 유입 현황 (KR빼고 )

Page 3: T map 로그에서 발생한 Java Locale 문제들

Dotted and dotless I

Page 4: T map 로그에서 발생한 Java Locale 문제들

어느 날 이상한 로그가 들어왔다 ...

Page 5: T map 로그에서 발생한 Java Locale 문제들

ınıt_locatıon_provıder

Page 6: T map 로그에서 발생한 Java Locale 문제들

ınıt_locatıon_provıder

Page 7: T map 로그에서 발생한 Java Locale 문제들

İstanbul

Page 8: T map 로그에서 발생한 Java Locale 문제들

터키어 에서는 i(I) 가 4 개

Page 9: T map 로그에서 발생한 Java Locale 문제들

"INIT_LOCATION_PROVIDER".toLowerCase(Locale.getDefault())

ınıt_locatıon_provıder

Page 10: T map 로그에서 발생한 Java Locale 문제들

Javadoc

Page 11: T map 로그에서 발생한 Java Locale 문제들

T map App 코드에 Locale 을 명시하는 것으로 정리

Page 12: T map 로그에서 발생한 Java Locale 문제들

هندية أرقام

Page 13: T map 로그에서 발생한 Java Locale 문제들

이상한 로그가 들어왔다 .또

Page 14: T map 로그에서 발생한 Java Locale 문제들

{ "_index": "ge_tmap_2015_04_reindex", "_type": "client_error", "_id": "AU0Jy6oy0iad18sLvjgJ", "_version": 1, "_score": 1, "_source": { "base_time": "٢٠١٥٠٤٢٣٠٣٢٤٢٤٧٢٩", "log_version": "14.09.25", "ip": "210.111.172.71", "language_code": "EG", "carrier_name": "olleh", "recv_host": "RAKEcollect09", "os_version": "4.4.2", "app_version": "4.4.5.4188", "body": { "client_error_code": 304 }, "os_name": "Android", "screen_width": 1202, "rake_lib_version": "r0.5.0_c0.3.13", "log_type": "client_error", "manufacturer": "LGE", "recv_time": "20150423032521576", "device_model": "LG-F340S", "token": "8c80506e17477dde41acd7a0976b8dbf56e061eb", "local_time": "٢٠١٥٠٤٢٣٠٣٢٤٢٤٧٢٩", "rake_lib": "android", "resolution": "720*1202", "network_type": "WIFI", "screen_height": 720 }}

Page 15: T map 로그에서 발생한 Java Locale 문제들

{ "_index": "ge_tmap_2015_04_reindex", "_type": "client_error", "_id": "AU0Jy6oy0iad18sLvjgJ", "_version": 1, "_score": 1, "_source": { "base_time": "٢٠١٥٠٤٢٣٠٣٢٤٢٤٧٢٩", "log_version": "14.09.25", "ip": "210.111.172.71", "language_code": "EG", "carrier_name": "olleh", "recv_host": "RAKEcollect09", "os_version": "4.4.2", "app_version": "4.4.5.4188", "body": { "client_error_code": 304 }, "os_name": "Android", "screen_width": 1202, "rake_lib_version": "r0.5.0_c0.3.13", "log_type": "client_error", "manufacturer": "LGE", "recv_time": "20150423032521576", "device_model": "LG-F340S", "token": "8c80506e17477dde41acd7a0976b8dbf56e061eb", "local_time": "٢٠١٥٠٤٢٣٠٣٢٤٢٤٧٢٩", "rake_lib": "android", "resolution": "720*1202", "network_type": "WIFI", "screen_height": 720 }}

"base_time": "٢٠١٥٠٤٢٣٠٣٢٤٢٤٧٢٩",

"local_time": "٢٠١٥٠٤٢٣٠٣٢٤٢٤٧٢٩",

Page 16: T map 로그에서 발생한 Java Locale 문제들

Eastern Arabic numerals

٠ ١ ٢ ٣ ٤ ٥ ٦ ٧ ٨ ٩

0 1 2 3 4 5 6 7 8 9Western Arabic

Eastern Arabic

Page 17: T map 로그에서 발생한 Java Locale 문제들
Page 18: T map 로그에서 발생한 Java Locale 문제들

DateFormat localeTimeFormat = new SimpleDateFormat("yyyyMMddHHmmssSSS");Date now = new Date();String formatted = localeTimeFormat.format(now);

٢٠١٥٠٦٣٠١٦٣٤٢١٧٩٨

Locale 설정이 없다 .

Page 19: T map 로그에서 발생한 Java Locale 문제들

Rake-Android 모듈에 Locale 설정을 명시 요청

Page 20: T map 로그에서 발생한 Java Locale 문제들

오늘 우리가 배운 것Default Locale 사용을 조심하자 .터키어에는 i 가 4 개 있다 .

Eastern arabic numerals 를 읽을 수 있게 됐다 .