Struts2 의 국제화는 Struts2의 TextProvider에 의해 이루어진다. 내부적으로는 PropertyResourceBundle 을 사용하고 있어서 기본적으로는 한글을 사용할 수가 없다. Java의 properties 파일은 ISO-8859-1 인코딩을 사용하고 있기 때문이다. properties 파일의 인코딩을 UTF-8로 바꾼다 해도 내부적으로 ISO-8859-1로 취급해버린다. Struts의 소스 코드를 건드리지 않고 한글을 제대로 출력할 수 없을까 하고 생각해보았다. 또한 Struts2 i18n layout에 익숙한 사용자도 있을 것이기 때문에 xml … 계속 읽기 »
야후! 홍콩 입사 시험 문제
내가 입사할때의 NHN의 시험문제와 거의 비슷한 수준의 난이도이다. (심지어 같은 문제도 있다. -_-) 아래 부터 문제와 나의 풀이이다. C and C++: Q1. What is wrong with the following code? char a[256]; unsigned char x; for (x=0; x< sizeof(a); x++) a[x]=0; The loop ends with x has 256. but, x is never become 256. because … 계속 읽기 »
LG텔레콤 정보 유출 관련 기사 해명
어제 경찰의 수사 발표 이후 수 많은 기사를 접할 수 있었습니다. 대부분의 오해는 역량부족으로 인한 경찰의 부실 결과도출이 원인이겠습니다만, 이미 경찰의 손을 떠났고, 언론을 통해 잘못된 정보를 접하신 분들이 대부분이기에 각 기사의 잘못된 부분을 하나씩 짚어가며 해명해보겠습니다. 1. 초보 수준의 웹 프로그래머라도 쉽게 취약점을 알아낼 보안 수준해당 취약점은 웹프로그래머가 아니라도 주소라는 개념을 이해할 수 있는 … 계속 읽기 »
LGT 정보 유출 관련 내용보충
그간 미처 생각을 못하고 있었는데, 어제 경찰로부터 돌려받은 PC에서 제가 만든 휴대폰 정보 조회 전체 소스를 보던 중 해당페이지에 “구글 접속통계”가 적용되어 있음을 확인하였습니다. 이에 해당 내용을 공개합니다. 통계는 아래 이미지를 클릭하셔서 보시면 됩니다. 반송률: 사이트에 들어오자마자 나간 방문자의 비율입니다. 종료율: 해당 페이지를 조회한 후 사이트를 바로 떠난 방문자의 비율을 나타냅니다. 위 통계에서 알 수 … 계속 읽기 »
LG 텔레콤 개인 정보 유출 건 반박
얼마전에 제 홈페이지에 3월 21일에서 25일까지 운영된 “휴대폰 정보 조회”라는 페이지를 만든 적이 있습니다. 위 화면이 그것인데, 입력창에 전화번호를 입력하면, 해당 전화번호에 대한 정보가 아래 화면 처럼 나오게 됩니다. 휴대폰 주소록에 등록된 몇 몇 사람들의 전화번호를 입력해본 결과 LG텔레콤 사용자의 정보는 모두 검색되는 듯 했습니다. 하지만, 이 것은 제 홈페이지에서 해당 정보를 가지고 있는 것이 … 계속 읽기 »
2008년 한국 인터넷 분야 전망 하나
다가오는 2월 1일에 있을 FutureCamp 2008에 즈음하여, 나도 올해의 전망을 한번 해볼까 한다. 한국 인터넷 서비스 중 점유율이 가장 높은 곳이 “네이버”이고, 네이버 서비스 중 이용비율이 가장 높은 서비스가 “검색” 이니, 이 검색에 관하여 전망해보는 것이 올해의 인터넷 분야를 가늠하는데 도움될 것이라 생각한다. 흔히들, 네이버 검색은 노가다 검색이라고들 한다. 많은 수의 네이버 검색 운영인력이 쉬지 … 계속 읽기 »
Simple Javascript Form Validator
회사에서 사용중인 웹개발 프레임워크인 Lucy는 Webwork를 감싸서 사용하고 있는데, Validation Annotation 을 엉망으로 꼬아놓는 바람에 Webwork Client-Side Validation을 사용할 수 없고 촉박한 일정등의 상황때문에 간단한 Javascript form validator를 생각해보게 되었다. Concept은 http://tetlaw.id.au/view/javascript/really-easy-field-validation 에서 따왔으나, alert 으로 알려주는 국내 방식(우리 회사 방식? 별로 맘에 들진 않는다.)에 맞지 않고, 검색 서비스 특성상 무거운 prototype.js 를 사용할 수도 없기 … 계속 읽기 »
window.onscrollend 이벤트
function showExample() { var win = window.open(‘about:blank’,’_blank’); win.document.write(“”); win.document.write(“window.onscrollend = function() {alert(‘스크롤의 끝에 다다랐음’);return false}”); win.document.write($(“windowOnScrollEndCode”).innerHTML); win.document.write(“”); win.document.write(“ Scroll Down↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓End of scroll “); win.document.close(); } window에서 scroll의 끝에 다다랐을때의 이벤트가 필요해서 만들었다.세로 스크롤을 끝까지 내리면 발생하는 Event. (창, 스크롤의 크기를 확인하는 function은 lightbox.js 로 부터 가져왔다.) 예제보기 코드는 아래와 같다. // creates “onscrollend” event window.onscroll … 계속 읽기 »
구글 Web Developer 문제
얼마전 Google Developer Night에 참석했다가 기회가 닿아 Web Developer position에 지원하게 되었으나, 오늘 불합격 통보를 받게 되었다. 홧김에! 는 아니고, 메일 내용 중 비밀 유지에 관한 의무가 없길래 문제 내용을 한 번 올려본다. 참고로, 이전에 구글로 부터 이런류의 테스트를 받았을때에는 비밀 유지 서약서(?) 같은 것을 작성했던 기억이 있다. Web Developer Exercise Details Attached are three … 계속 읽기 »
Zendframework 를 이용한 Google 즐겨찾기 공유
Google의 다른 서비스들은 GData라는 모델을 통해서 데이터를 가져올 수가 있는데, 구글툴바에 포함된 구글 즐겨찾기 (http://www.google.com/bookmarks/)는 개인정보라 생각해서인지, 그럴 수 없었다. 그동안 유용하다고 생각해서 추가한 즐겨찾기들을 del.icio.us처럼 공유하고 싶어서 한번 만들어 보았다. 간단히 http://www.google.com/bookmarks/lookup?output=rss&num=10000 만 읽어오면 되는데, 접근하기 위해서는 구글 인증이 필요하다. num 이라는 parameter는 몇 개의 item을 가져올 건지 나타내는 값인데, 모두 가져오기 위해서 10000이라는 … 계속 읽기 »