2013-05-26

Linux] Ubuntu 리눅스 설치 후 X윈도우 해상도 맞지 않아서 해상도 조정이 필요한 경우.

- 리눅스 부팅시 터미널 모드 진입
ctrl - alt - F1 : TTY1 로 진입

- 우분투 설치 완료 후 CUI 환경(터미널 모드)로 부팅시 GUI(X-window) 로 부팅하기 위한 설정 방법.
  1. 설치시 설정한 user 로 로그인.
  2. startx 명령을 했을때 에러 발생시 sudo apt-get install xinit 실행하여 x-widnow를 설치
  3. sudo apt-get update 를 실행하여 업데이터 및 설치
  4. sudo apt-get upgrade 를 실행 및 업그레이드
  5. sudo apt-get install ubuntu-desktop 실행해서 desktop manager 설치
  6. startx 로 x-window 실행.

- 위 과정으로 GUI 모드로 부팅후 화면 주사율(해상도)가 맞지 많아 화면이 제대로 나오지 않으면
아래의 과정으로 해결한다.
ubuntu 13.x 버전을 기준으로 한다.

1. 부팅 후 GUI로그인 화면에서  ctrl - alt - F1 를 눌러  TTY1 로 진입한다.
2. 사용자 계정으로 로그인한다.
3. $sudo service ligthdm stop <== service 종료
4. $sudo Xorg -configure   <== 현재 디렉토리에 신규 xorg.conf.new 파일 생성
5. $sudo mv ~/xorg.conf.new /etc/X11/xorg.conf  <== 신규 생성된 파일로 conf  파일 대체
6. $sudo reboot <== 시스템 재시작

위와 같이 하면 GUI에서도 제대로 사용 가능한다.

2013-05-10

SQL] DB2 date 를 milliseconds 로 변환하기.


DB2
=======
select to_number(sysdate - to_date('1970-01-01','YYYY-MM-DD')) * (24 * 60 * 60 * 1000)
FROM sysibm.sysdummy1 ;


ORACLE
========

select to_number(sysdate - to_date('1970-01-01','YYYY-MM-DD')) * (24 * 60 * 60 * 1000)
FROM dual;


2013-04-17

Javascript] Javascript 에서의 replace


자바스크립트에서  replace는 query, java 의 replace 와 달리 처음 등장한 딱 한개만 바꿔준다.

아래와 같이 실행하면,

str = "aaabbbaaa";
result = str.replace("aaa", "ccc");

result는 내가 의도한 "cccbbbccc"가 아닌 "cccbbbaaa"가 나온다.


따라서, 원하는 문자열을 모두 바꾸어 주려면 정규식 표현을 사용해야 한다.

str = "aaabbbaaa";
result = str.replace(/a/g, "c");


위의 /a /g 의 의미는  아래와 같다.
    /a/ : str 변수의 값 중 'a'라는 문자를
    g (완전일치(발생할 모든 pattern에 대한 전역 검색)) str 의 전체 문자열에 대해, 'c'로 변환.

그 외에 다른  플래그는 아래와 같다.

i : 대/소문자 무시, gi : 대/소문자 무시하고 완전 일치

2013-04-03

DB] oracle 에 있는 sign() 의 기능


오라클에 있는  SIGN이라는 함수의 기능은 원하는 결과값(?!)이 양수 / 음수 / 0 이냐에 따라서 값을 반환해주는 함수.

예)
SELECT SIGN(1+1) a, SIGN(1-1)  b, SIGN(1-5) c
FROM DUAL;

결과
---------------------------

a | b | c
==========
1 | 0 | -1


추가적인 예)
필드의 값이 100 이상인 것의 합과 미만인 것의 합을 구하는 쿼리.
출처 : http://ssiso.net/cafe/club/club1/board1/content.php?board_code=oracle%7Coratip&idx=31597&club=oracle


SELECT SUM(CASE SIGN(A-100)
                         WHEN 0 THEN A
                         WHEN 1 THEN A
                         ELSE 0
                     END)                      AS OVER100,
             SUM(CASE SIGN(A-100)
                         WHEN -1 THEN A
                         ELSE 0
                     END)                      AS DOWN100
    FROM DUAL;

2013-03-26

DB2] locking 정보 확인


-- db2 locking 정보 확인.  

SELECT lock_name,
  hld_member,
  lock_status,
  hld_application_handle
FROM  TABLE (MON_GET_APPL_LOCKWAIT(NULL, -2))

2013-02-20

cross site scripting(XSS) 공격 우회방법.


1. xss (cross site scripting) 공격을 was 설정을 통해 방어하는 방법
   ==> java class 와 web.xml 의 설정을 통한 방어로 기존의 작업분의 변경이 많이 필요할 수 있다.

2. jstl 태그를 사용해서 코딩을 한 경우 아래의 사이트를 참조하셔도 될것 같습니다. 

3. jsp 메소드를 사용하는 방법 (아래 메소드를 jsp에서 호출해서 사용하면 됩니다.)
/**
 * XSS 제거
 * @param value
 * @return
 */
public static String removeXSS(String value){
     
     value = value.replaceAll("&", "&");
     value = value.replaceAll("<", "<");
     value = value.replaceAll(">", ">");
     value = value.replaceAll("", null);
     value = value.replaceAll("\"", "";");
     value = value.replaceAll("\'", "';");
     value = value.replaceAll("%", "%;");    
     value = value.replaceAll("../", "");
     value = value.replaceAll("..\\\\", "");
     value = value.replaceAll("./", "");
     value = value.replaceAll("%2F", "");
     
     return value;
}