웹페이지에서 백스페이스를 누르면 뒤로가기 가 되는데 

에디터를 이용해 글을 작성하는 중 포커스가 이동 되어 백스페이스를 누르면 

저장되지 않고 뒤로가기가 되어 작성중인 글을 날리는 경우가 있어 해당 기능을 막아달라는 고객의 요청이 있었습니다. 


코드를 수정하면 적용이 까다롭기 때문에 웬만하면 플러그인이나 설정을 통해 하려고 하였으나 

바람직 하지 않은것 같아 검색을 해보니 대부분 javascript 코드로 막는것 같았습니다. 


jquery 예제는 많지만 prototype 예제가 없어 테스트를 통해 예제를 만들었습니다.


        //prevent backspace key
         if( event.keyCode == 8) {
             // with no field focused, the target will be HTMLBodyElement
            if( event.currentTarget == document) {
               // stop this event from propagating further which prevents                     
               // the browser from doing the 'back' action
               if(event.target.nodeName == "INPUT" ||
                  event.target.nodeName == "TEXTAREA")
               {
                   
               }
               else
               {
                    return false;
               }
            }
          }

event는 event를 받은 변수명.
event.target.nodeName 은 이벤트를 발생시킨 객체의 <input><textarea> 와 같은 element이름 으로 보임. 

이 스크립트를 모든 페이지에 추가해야 backspace를 제대로 막을 수 있습니다. 

끝. 


Posted by 마법수정화살
,

오랫동안 블로그(지식습득)을 소흘히 한것을 반성합니다.

이 글은 jenkins plugin을 통해 빌드결과로 메일을 발송하려고 하였으나 뜻대로 되지 않았던 분들께 바칩니다. 

jenkins 1.597 버전에서 테스트한 내용임을 알려드립니다.


jenkins 플러그인은 친절하지 않습니다. (안 그런 것도 있지만)

실패해도 로그를 보고 원인을 찾기가 쉽지 않습니다. 


1. Email-ext plugin을 설치 합니다. 

jenkins관리 > 플러그인관리 > 설치가능탭 > mail-ext plugin 설치. 


2. 플러그인 설정.

jenkins관리 > 환경설정 >  Extended E-mail Notification

강조한 부분은 모두 필수 입력이라고 생각하면 됩니다. 6번 빼고

1. SMTP server 

- smtp server ip 를 넣습니다.

   기본 25 port를 사용하는 것 같으며 인증이 필요하거나 ssl을 사용할 경우 고급을 눌러 설정을 할수 있습니다. 

2. System Admin Email Address

- 메일이 발송될때 보낸사람(시스템)의 메일주소, 없으면 메일이 발송되지 않으므로 주의.

3. jenkins URL

- 메일 발송시 빌드 url을 보낼때 사용할 jenkins 접속 url 127.0.0.1로 되어 있으면 다른곳에서 접속 할수 있도록 수정

4. Default Recipients 

- 기본 받는사람 설정. 이 설정이 없고 job에 플러그인 설정에서 따로 받는사람이 설정되지 않으면 메일 발송 실패.

5.Default Subject, Default Contents

- 이 설정은 JENKINS_HOME 디렉토리 아래 hudson.plugins.emailext.ExtendedEmailPublisher.xml 에 있는 내용임.

   메일 제목과 내용을 jenkins에서 제공한 템플릿을 통해 만들 수 있다.

6. Enable Debug Mode

- 체크하면 뭔가 더 자세한 정보를 주겠죠?


3. job 설정 

jenkins job 설정 > 환경설정 

1. 빌드후 조치 추가 > Editable Email Notification 선택

1. Project Recipient List

- $DEFAULT_RECIPIENTS 는 환경설정의 값을 가져옴. 알림 메일을 받는사람들 설정

2. Project Reply-To List

- 답장받을 주소 (리스트 , 로 구분 )

3. Default Subject

4. Default Contents

- Default 값은 환경설정에서 설정된 값을 사용한다, job에 맞도록 메세지를 설정한다. 

5. Attach Build Log

- 체크시 발송되는 메일에 빌드 log 를 첨부해 주는 기능 

6. Trigger

- 빌드 상태에 따라 설정을 할수 있는 기능 : 꼭 선택해야 한다.

- 여러가지 상태가 있는데 알림 받고 싶은 경우에 선택 한다. (자세한 설명은 생략합니다.ㅠ)


4. JOB을 빌드하여 설정된 트리거에 메일이 발송되는지 확인!


*SMTP 서버로 메일이 발송되지 않는다면..

메일서버확인, 방화벽 확인. dns 확인, relay 설정 확인을 해볼 필요가 있습니다~

SMTP의 장애 해결 방법 참조


* 기본으로 있는 mailer plugin은 이상하게 테스트가 안되는 것을 확인했는데 원인은 잘 모르겠습니다.

'JENKINS' 카테고리의 다른 글

windows node(slave) 로그 한글깨짐.  (0) 2014.01.07
Posted by 마법수정화살
,
성능모니터링이 왜 필요 한가? 
windows 서버를 모니터링하는 방법중에 하나는 resource를 보는것이다. 
제품 장애를 처리하는 일을 하는 나에게는 pc 모니터링이 필요 할때가 있다. 

예를들어 pc가 느려서 javascript 수행속도가 엄청 느려야 발생하는 문제를 발견했을때. 
재현이 힘들다. 그래서 대상 pc에 cpu 모니터링을 통해 100을 치는 순간이 얼마나 되는지 체크해 보려고 한다. 

서버의 경우도 마찬가지 장시간의 리소스 사용기록을 보고 싶을 때 따로 툴을 만들지 않아도 된다.
맨 아래 bat로 실행하는 간단한 툴에 대한 소개가 있습니다.

windows7에서 해본 내용입니다.

참조 블로그 : http://jkmoon.tistory.com/76

windows xp 제어판 > 성능정보 및 도구 > 고급도구 > 성능 모니터 열기
또는 실행 > perfmon.msc 명령어로 실행 합니다.

아래와 같은 창이 나옵니다.


1. 모니터링 하고 싶은 할목 추가. 



Processor 항목을 펼치면 카운터들이 나오는데 필요한 것을 골라서 세팅 한다.  


성능모니터 우클릭 > 새로만들기 > 데이터 수집기 집합


- 이름 지정 cpu
- 저장 위치 지정 > 기본값
- 수집기 집합 > 기본값 

2. 데이터 수집기 설정.


디렉터리 속성에서는 날짜 별로 하위 드렉토리를 생성 할수 있게 설정 할 수 있다. 
(같은 디렉토리에 이미 파일이 있으면 실행 되지 않는다.)


일정탭으로 이동하여 일정을 등록 한다.


중지조건을 설정 할 수 있다. 
10시간 지나면 중지 (아직 완료가 안됨)


등록된 작업의 속성 확인.


1초 간격으로 값을 가져오도록 설정 합니다. 


시작을 누르면 모니터링 시작


C:\PerfLogs\Admin\cpu 경로에 파일이 생겨있는지 확인 합니다. 

파일이 생성 되었으면 성공.


이거말고 command를 이용하고 싶고 파일로 남기고 싶다면 

아래내용을 붙여서 bat 파일을 만들면 
1초에 한번씩 수집된 cpu 정보가 홈디렉토리 밑에 문서 밑에 해당 날자의 로그가 쌓인다.

@echo off

set CPUFILE_DATE=%DATE:~6,4%.%DATE:~3,2%.%DATE:~0,2%
set CPUFILE_TIME=%TIME:~0,2%.%TIME:~3,2%
set CPUFILE=spectra-cpu-%CPUFILE_DATE%-%CPUFILE_DATE%.log

@echo %CPUFILE%

typeperf "\Processor(_Total)\%% Processor Time" > %HOMEPATH%\Documents\%CPUFILE% 2>&1


Posted by 마법수정화살
,