javascript 를 이용해서 F1 키를 캡쳐하는 방법은 간단하다. 물론 shift 나 alt, ctrl 키를 잡아내는 방법은 다른 키들과 약간 다르지만, 그다지 삽질할만한 내용이 아니므로 설명하진 않겠다. 다음과 같은 예제를 이용하면 F1 키 뿐 아니라 어떤 키도 잡아낼 수 있다. 하지만 위와 같은 방법을 사용하면 F1 의 이벤트 시점을 잡아낼 순 있지만, F1 키로 인한 도움말이 실행되는 것을 막을 순 없다. 저런 방법으로는 뭔짓을 해도 안된다. 몇번의 삽질과 msdn 을 뒤진 끝에 찾아낸 방법은 두 가지가 있는데, 예제를 보면 알겠지만 두 가직의 원리는 결국 같다. 첫 번째는 document 객체의 onhelp 이벤트를 잡아내는 방법이다. 두 번째는 body element 의 onhelp 이벤트에..
어젯밤 우연히 방송에서 뉴스속보를 접하고는 깜짝놀랐었는데. 아침 출근길에 옆자리 사람이 보고 있는 중앙일보헤드라인이 '국보1호도 못 지킨 대한민국'이길래 출근하자마자 관련 기사를 찾아보았다. 설마설마 하면서 말이다. "아.. 정말 다 타버린건가..." 숭레문이 일반에 개방될때부터 이런류의 일이 어느 정도 걱정되었던 사실이지만, 훼손정도가 아니라 '전소'라니. 항상 이런 '큰' 사건이 터지고 나면 거의 모든 언론매체에서 여러가지 기사를 통해 문제점을 들춰내고, 그에 따라 관련 사람들이 책임을 지고 사퇴하네, 잘리네 말이 많다. 아마 지금도 거의 모든 포털이나 뉴스 사이트에는 분명 그런류의 뒷북 기사들이 수두룩 할것이다. 하지만 누가 누구를 무엇으로 책임진단 말인가? 그게 방화든, 누전으로 인한 화재발생이든..
이제 조만간 지금 있는 사이트에서 철수해서 다른 곳으로 투입될 예정이다. 가장 유력시 되는 곳은 C모 사이트인데, 이곳에서는 POJO를 기반으로 한 light-weight container를 사용하고 있는 관계로 요쪽에 대한 정확한 개념을 각인해야 할 필요가 있다. 대충 POJO 가 뭐다라고 말할 수 없는 수준이기에 요새 짬을 내서 관련 article 들을 뜯어 보고 있긴 한데, 꽤 유용한 링크를 발견해서 남겨 놓는다. IoC 와 DI 의 정확한 개념이해 없이는 light-weight container 에 대한 이해도 어렵다고 되는군. 출처는 역시나 Yonghoe.info 다. RSS 로 읽어가다 발견한 링크.. 링크 작성일이 2006년 10월인걸 보면 역시 나는 한참 뒤떨어졌도다.. 그럼 원문을 찾아가..
방금 전 기술적인 문제가 발생해서 pennybear 님과 msn 대화 중이었다. 나름대로 이슈가 된 내용을 정리하고 사적인 이야기 중에 pennybear 님이 하신 말씀. 때론 전투적으로 아니면 상냥하게... 이 말을 듣고 곰곰히 생각해보니, 처음 사회란 곳에 발을 디뎠을 때와 현재의 나의 모습이 참 많이 달라진걸 새삼 느낀다. 처음엔 무조건적인 친절함이었다가 무조건적인 전투태세였다가... 내가봐도 광돌이 수준이었던듯. 지금이 더 좋아졌다, 더 나빠졌다라고 판단할 순 없지만 그래도 그때의 열정은 참 대단했었는데...
말도 많고 탈도 많던 Internet Explorer 7.0(이하 IE70) 이 결국 처음 MS에서 말했던것 처럼 Windows Update를 통해 자동배포가 되었다. 대세는 IE70 이겠지만, 중요한건 국내 웹환경이 아직 IE70을 받아들일만한 준비가 안되어 있다는것. 대국민 서비스를 진행하는 금융권이나 온라인 게임업계 및 대형 포털들은 IE70에 맞게 많이 최적화가 된게 사실이고, 다른 웹사이트들도 결국엔 IE70의 바람을 꺽지 못할것이다. 하지만, 일반 사용자들(특히 올블로그나 블로그코리아등에서 열심히 MS의 ActiveX를 비판하는)의 생각과는 달리 국내 기업용 소프트웨어의 현실은 그렇지 못하다. 많은 기업용 소프트웨어가 웹베이스로 바뀌긴 했지만, 해당 도메인의 특수성으로 인해 ActiveX나 D..
다음달 큰 일을 앞두고, 이것저것 구입할 것들이 많은 상황이다. 왠만하면 생략하고, 시간을 두고 준비하려 했는데 어쩌다 보니 침대는 이번주말을 전후로 선택할 수 밖에 없는 상황이 되어버렸다.(침대커버를 사버린 데다가, 침대마다 사이즈가 틀리므로 제작에 들어가기 전에 침대가 결정되어야 한다고 하더라) 일요일, 수원역 A백화점에 볼일이 있어 들렀다가 오후 4시경에 서울로 출발을 하였는데, 교통방송에서 '시내 진입불가-각종집회,교통통제' 소식을 듣고는 집에 차를 두고, 지하철을 이용해서 '을지로입구-명동 L백화점'으로 향했다. 가격과 모델만 알아보려 들렀던 백화점이었는데, 알고보니 창립 28주년기념행사로 11/11(일)까지 몇가지 모델에 한해 세일을 해주고, 구입금액에 따라 상품권증정도 있다는걸 상담중에 알게..
우연히도 발견한 신기한 기능. Vista 를 쓰기전부터 본인은 윈도우 탐색기 대신 Toal Commander 를 주로 사용하지만, 아이콘 이미지의 사이즈를 알고 싶을땐, 간단하게 윈도우 탐색기를 이용해서 해당 파일을 선택만 하면 이미지의 가로, 세로 사이즈가 나오기 때문에 유용하게 사용하고 있다. 헌데, 이전에 어떤 일을 하다가 탐색기 옵션에서 '알려진 파일형식의 파일 확장명 숨기기'를 체크해제 해 두었기에 다시 체크하려고 탐색기 옵션을 열었는데. 맨 끝에 처음보는 옵션이 있는 것 아닌가? 바로 다음에 보이는 '확인란을 사용하여 항목선택'이라는 옵션이다. 뭐하는 녀석인지 궁금하여 체크해보았다. 그랬더니 무지 신기한 광경을 볼 수 있었다. 바로 다음처럼 각각의 파일을 Ctrl 키 없이 선택할 수 있는 체크..
사이트에 지원나왔다가 폰트를 자동으로 등록할 수 있는 방법이 필요하다면서 나한테 슬쩍 밀더라. 이전에도 알았지만 탐색기 상에서 폰트 파일을 %WINDIR%\Fonts 디렉토리에 옮겨다 놓으면 자동으로 폰트가 등록이 되지만, 다른 방법을 사용하면 등록할 수가 없다.(즉, 웹상에서 다른이름으로 저장을 선택해서 폰트 디렉토리를 선택하면, 자동 등록이 되지 않는다.) 처음에는 다음과 reg 파일을 생성해서 batch 파일 상에서 복사하고 reg 파일을 호출하는 방법을 쓰려했다. Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts] "Free 3 of 9 (True Type..
운영체제덕에 반나절을 삽질한 내용이다. 현재 운영중인 사이트에서 시스템 시간을 이용해서 특정 트랜잭션의 수행을 막기위한 부분을 추가하고 테스트에 들어갔다. 헌데 분명히 20분 이내의 상황인 경우에는 해당 트랜잭션이 수행되면 안되는데 수행이되는 이상야릇한 현상이 발생하는 것이었다. 로직의 문제가 없음을 살펴본뒤, 서버 로그를 찾아보니 어이없게도 현재 PC 시간과는 너무나도 차이가 많이 나는 것 아닌가? 날짜 선택도 다시 해 보고 시간 선택도 다시 해 보았으나 결과는 똑같았다. 순수 Java Application 으로 현재 시간을 찍어내는 코드를 다음과 같이 작성하였다. 복잡하게 이것저것 쓰지 않고 단순히 java.util.Date 를 사용해서 찍었더니. 역시나 서버로그에 있는 시간과 동일하게 잘못된 시간을..
미투를 처음 사용할 때 부터 FireFox 를 사용했는데, 우연히 노트북의 IE 6 으로 접속했다가 발견한 현상이다. 뭐가 문젠지 이것저것 많이 뒤져 봤는데... 미투에도 남겼지만 당췌 원인을 모르겠어서 다른 분들도 이러한 현상이 있는지 확인하고 싶어 글을 작성합니다. * 다음에 설명할 현상이 발생하는 PC의 사양은 다음과 같습니다. CPU : Intel Centrino M 1.7GHz RAM : 1GB (paging file : 1.5GB) O/S : Windows XP SP2 Browser : IE 6 (6.0.2900.2180.xpsp_sp2_gdr.070227-2254) * 발생현상 IE6 으로 미투에 접속한 다음 윈도우 크기를 늘렸다 줄였다를 반복하면 CPU 가 100% 현상이 이어지면서 han..
요 몇일 퇴근마다 저녁마다 우리팀의 생사가 걸려있는 한 대형 프로젝트에 '지원'이라는 명목으로 살짝 궁뎅이 붙이고 앉아있다 온다. 실제로 너무나 머나먼 길을 달려온 프로젝트이기에 중간에 끼어들어 뭔가를 마땅히 하기도 어렵고, 환경도 이제껏 겪어본 그것들과 너무 많이 달라 당황스러울때가 있다. 이쪽에서 새로 제작한 Framework 에 대한 부분은 거의다 파악이 끝났고, 개발환경 또한 별 다른 어려움 없이 쉽게 이해가 가능했었다. (Spring 이 가지고 있는 IoC 나 AOP 개념 기반이라 생각한다. 문제는 IoC나 AOP 개념에 대한 완벽한 이해가 어렵다는 것이지만) 헌데, 참으로 아기자기한 기능들이 매우 많은 것에 상당히 놀라고 있는 중이다. 어제는 자연어검색기능이 있다는 사실에 놀랐는데.(자세히는 ..
얼마전까지 개발환경으로 IntelliJ 를 사용하다가, 요 근래 MyEclipse 로 바꿨다. 가장 큰 이유는 html, css 등의 웹컨텐츠 개발의 편의성때문이었는데, 기존의 개발환경이 무거워지면서 IntelliJ를 사용하는 횟수가 점점 줄어들었기 때문이다. (VMWare + Windows XP, Toad, Jeus 4.2 or WebSphere 6.1, UltraEdit, Totalcmd, UI Tool 등을 기본으로 실행시켜두고 사용하니 Physical Memory가 2G 임에도 빡빡하다.) 어차피 IntelliJ의 다양한 기능이 필요한 경우가 별로 없기 때문에, 허접하지만 Eclipse로도 별다른 불편없이(처음엔 매우 불편했으나...) 사용하고 있었는데 JavaScript 파일만 열면, 한글이 모..
처음 접한 언어가 C++ 이었고, 조금 하다가 자연스레 MFC 를 이용한 클라이언트 프로그래밍을 하게 되었다. 수업으로 자바를 잠깐 들었지만, 절대로 자바는 하지 않겠다는 생각이 들만큼 어려웠었던 기억이 있었다. (아이러니하게도 지금은 자바만 한다. -_-) 어쩌다보니 Server-Side 만 만지게 되었는데, 직장을 얻기전까지도 해보지 않았던 부분이 바로 웹의 Presentation 영역이었다. 솔직히 얼마전까지만 해도 html, javascript 등의 클라이언트 부분은 하급기술이라 알고 있었고, 또한 맘만 먹으면 2-3주면 할 수 있다라는 생각까지도 가지고 있었다. 헌데, 요근래 들어 웹2.0 이라는 주제가 떠오르면서 웹표준에 대한 이야기가 쏠쏠히 나오고, 국내 웹을 점령했던 ActiveX 등의 기..
대분류 - Portability [PORT] 규칙명 - Do not hard code '\n', or '\r' as a line separator [PORT.LNSP-1] - 흔히 많은 개발자들이 메시지를 생성하기 위해 무심코 \n, \r 등을 사용한다. 허나. 이것 역시 특정 플랫폼에 종속적이기 때문에 사용하면 안된다. DESCRIPTION This rule identifies strings that contain hard coded '\n' or '\r' line separator characters. An error is reported for each occurrence. '\n', '\r' 과 같은 플랫폼에 종속적인 개행문자를 사용하는 부분을 찾아낸다. - 추가로 테스트는 못해봤지만, 개행문자 ..
대분류 - Portability [PORT] 규칙명 - Do not use 'System.getenv()' [PORT.ENV-1] - System.getenv() 를 이용해서 환경변수를 읽어오려 하지 말라는 것이다. - 이유는 아래에도 나오겠지만, 모든 플랫폼에서 환경변수를 지원하지는 않기 때문으로, 실제로 jdk 1.4 에서 deprecated 된 메소드이다. DESCRIPTION This rule identifies the use of 'System.getenv ()'. An error is reported for each occurrence. 본 규칙은 'System.getenv()' 메소드를 사용하는 경우를 찾아낸다. BENEFITS 'System.getenv ()' has been "deprec..
미투에서 프로필 사진이 변경이 안되는 경우가 발생했다. (그림 참조) 분명 픽셀사이즈도 맞췄고, 파일사이즈도 문제가 되지 않았기에(더 큰 사이즈도 변경이 되었다.) 뭔가 이미지 자체의 문제라고 판단이 되었다. 왜냐면... 처음 등록한 이미지는 2004년경에 찍은 디카사진이었고, 바꾸려고 한 이미지는 작년에 찍은 필름스캔 이미지였기 때문에.. 뭔가가 있다고(-_-내심) 생각했다. 그래서 등록이 되지 않는 이미지를 포토샵에서 열어서 Save for Web 을 통해 강제저장했다. 그리고 등록을 했더니 멀쩡하게 등록되는 것이 아닌가? 각각의 파일의 등록정보를 비교해봤다. 1. 원래 등록되어 있던 프로필 이미지(디카이미지) 2. 필름을 스캔한 이미지(등록이 되지 않던 이미지) 3. 등록이 되지 않던 필름스캔 이미..
대분류 - Struts Frameworks [STRUTS] 규칙명 - Do not declare instance variables in Struts Action classes [STRUTS.INST-3] - 스트럿츠의 액션클래스에서 인스턴스 변수를 만들지 말라는 이야기이다. - 왜냐하면, 스트럿츠의 액션클래스는 singleton 이기 때문에 당연히 다중 쓰레드에 대해 안전해야 한다.(thread-safe 해야 한다는 말이죠) 만약, 액션클래스에 인스턴스 변수를 선언하게 되면 해당 인스턴스 변수는 멀티쓰레드가 서로 공유하기 때문에 호출시마다 서로 다른값이 반환될 수 있다. 즉, 결과값을 보장할 수 없다는 뜻이다. - 또한 인스턴스 변수를 가지지 말아야하는 것 이외에도 스트럿츠의 액션클래스를 임의로 new ..
대분류 - Coding Conventions [CODSTA] 규칙명 - Avoid using negative logic in if-else statement [CODSTA.ANL-5] - 부정(not)을 이용해서 if-else 류의 비교문을 작성하지 말라는 뜻이다. - negative logic 은 제어흐름의 이해를 어렵게 하기 때문에 부정을 먼저 비교하기 보다는 긍정을 먼저 비교하도록 권장하고 있다. DESCRIPTION This rule identifies negative logic in 'if-else' control flow. 'if-else' control flow includes the patterns below: -if (cond) expr else expr -cond ? expr1 : ex..
ParaSoft JTest 를 이용한 Java Coding Standard 의 세부항목에 대한 설명 시리즈를 올릴까 한다. 흔히 알고 있는 부분도 있고, 잘 알지 못했던 부분도 있는데 JTest 에서 체크하는 항목만 다 알고 있어도 Java 의 올바른 사용법에 어느정도 근접할 수 있다고 생각된다. 대분류 - Coding Conventions [CODSTA] 규칙명 - Avoid nested assignments or assignments embedded in other expressions [CODSTA.NEA-1] 쉽게 말해서 복잡한 표현식을 사용하지 말라는 이야기이다. - 상당히 C-style 인 부분인데, 본인은 보기만 해도 헷갈려 하기때문에 전혀 사용하고 있지 않는 부분이며, IntelliJ 등의..
- Total
- Today
- Yesterday
- 웹표준
- Windows
- TyrusServerContainer
- SharedSection
- WsServerContainer
- Internet Explorer 7
- websocket
- 할인채
- Java
- 의왕
- 이미지
- 파생
- hp-ux
- logback
- qaos.com
- GDIProcessHandleQuota
- ActiveX
- CODSTA
- JavaScript
- WebLogic
- prudent
- Microsoft
- coding standard
- 미투데이
- 이표채
- VMware
- JTest
- 본사
- 채권
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |