오늘은 간만에 프로그래밍과 관련된 글을 하나 끄적여 봅니다. 이번 글도 물론 제 경험을 바탕으로 쓴다는 것을 미리 밝혀 둡니다. 오늘은 JSP와 관련된 문제를 하나 발견했답니다. 저는 Eclipse를 사용해서 JSP 문서를 작성하고 있는데요. 얼마전부터인가 웹페이지상에서 자꾸 이유없는 빈공간이 발생하는 것이었답니다. 그래서 추적에 추적을 거듭하여 오늘 이유를 밝혀냈는데요. 제가 생성한 문자가 아닌 이상한 문자가 하나 생겨 빈공간을 만들어 내고 있는 것이었습니다. 문제의 문자는 "癤?" 입니다. 해결법을 찾기 위해 인터넷 검색을 해보니 "癤?"는 UTF-8 포맷으로 파일을 저장시에 발생되는 BOM(Byte Order Mark)으로 인해 발생되는 문제였습니다. 그런데 이상한 것은 Eclipse에서 작성해서 ..
Tomcat으로 웹서비스를 제공하는 웹서버를 돌리고 있는데 몇일전 갑자기 이런 에러 메시지를 몇시간 계속 로그파일에 뿌리더니 어느순간인가 부터는 톰캣을 살아 있는데 웹서버에 연결이 되지 않는 현상이 발생되었네요. 로그는 아래와 같습니다. 해결방법을 찾기 위해 여기저기 해결방안을 찾던 중 아래 사이트에서 다음과 같은 내용을 발견하였습니다. tomcat에서 rmi client 돌리다 발생하는 에러 MalformedURLException
아직도 문제가 해결되지는 않았지만 몇일동안 SQL에서 발생되는 교착상태(일명 DeadLock) 때문에 고생하면서 검색했던 자료 중 괜찮은 자료가 있어서 기록해둘까 합니다. 출처 : mssql lock ** LOCK ** 트랜잭션은 LOCK 과 떨어져서 설명될 수 없는 관계이고, LOCK 도 트랜잭션 없이 설명될 수 없다. LOCK 즉 잠금의 문제는 동시성 문제이다. 어떤 자원을 누군가 사용하고 있다면 어떤 형태로든 잠금이 설정된다. 그리고 그 잠금의 종류에 따라서, 해당 자원은 다른 사람이 어느 한계까지만을 사용할 수도 있고 아예 엑세스 자체도 불가능할 수도 있다. 그래서 여러 사용자가 함께 사용하는 응용프로그램이거나 특히 웹사이트 같은 경우엔 트랜잭션 사용 시 잠금에 관한 설정을 꼭 고려해야 한다. 1..
오늘은 자바스크립트를 이용해서 서비스 팩2 의 팝업 차단 기능을 무시하고 팝업을 여는 방법에 대해 적어보도록 하겠습니다. 웹페이지를 만들면서 제컴이 팝업 차단 기능이 해제되어 있어서 신경도 안쓰던 부분이었는데 오늘 다른 곳에서 보니 팝업 창 차단 관련 메시지가 뜨거나 창이 자동으로 바로 닫혀 버리는 일이 발생하여 이러저리 방법을 수소문 하던 중 괜찮은 팁(Tip)을 하나 발견하여 이래야 나중에 다시 검색해서 원하는 자료를 찾는 번거로움을 줄일 수 있겠단 생각에 글을 남겨둡니다. 그리고 아래 소스 중에서 setTimeout('k_Popup2("'+url+'","'+target+'","'+flag+'")', 500); 부분이 있는데 저는 setTimeout을 사용하지 않고 바로 setTimeout이 호출하는..
오늘은 AUTOCOMPLETE 기능에 대해서 적어볼까 합니다. AUTOCOMPLETE 기능은 보통 우리가 웹페이지에서 어떤 검색 항목에서 글자를 입력할 때 입력하는 글자와 매칭되는 이전의 입력 데이터의 리스트를 사용자에게 보여줌으로서 빠른 입력을 가능하게 해 주는 좋은 기능입니다. 물론 위와 같은 좋은 장점 이면에는 단점도 있답니다. 기존에 입력한 내용이 보여지는 것이기 때문에 PC방이나 공용 PC와 같은 여러 사용자가 사용하는 PC에서는 사용자들의 중요한 정보가 노출되는 보안적인 문제도 발생하게 됩니다. 때문에 중요한 정보가 입력되는 부분에 있어서는 이 AUTOCOMPLETE 기능을 잠재워 중요 정보가 노출되는 것을 막아야 합니다. AUTOCOMPLETE 기능은 기본적으로 "ON"으로 되어 있기 때문에..
오늘 struts를 사용하면서 태그에서 한글깨지는 현상 때문에 거의 반나절을 삽질을 하였습니다. 역시 모르면 찾아봐야 한다는 걸 또 느끼게 된 하루였네요. ㅡㅡㅋ struts 사용시 html:link 태그를 포함하여 RequestUtils 를 사용하는 Class 들에서 한글깨짐현상을 만날 가능성이 매우 높습니다. 이유는 RequestUtils 내의 encodeUrl() 메쏘드 내에서 URLEncoding 을 무조건 UTF-8 로 하도록 하드코딩 되어 있기 때문입니다. 따라서 html:link 태크에 Map 으로 넣은 파라미터 값 중에 한글이 들어가 있으면, UTF-8 을 사용하도록 페이지를 만들지 않으면, 한글이 전부 깨지게 됩니다. 다행히도 Struts 1.2.x 에서 부터는 이 부분이 개선되었습니다...