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;
}
2013-02-19
DB2] 프로시저 script 확인하는 쿼리
-- procedure명으로 조회.
select * from SYSIBM.SYSPROCEDURES where PROCNAME like '%프로시저 명%';
-- oracle 의 dual 에 해당하는 테이블 :: sysibm.sysdummy1
select current_timestamp from sysibm.sysdummy1;
select * from SYSIBM.SYSPROCEDURES where PROCNAME like '%프로시저 명%';
-- oracle 의 dual 에 해당하는 테이블 :: sysibm.sysdummy1
select current_timestamp from sysibm.sysdummy1;
오라클] 프로시저 내용 확인하는 sql
select * from all_source where name = upper('프로시저명');
select * from user_source where name = upper('프로시저명');
2013-02-08
Javascript ] javascript 날짜(Date) 관련 함수.
// 현재 일자보다 7일전 날짜 구하기.
var dt = new Date();
var fd = timeShift(dt, "-7");
var val = fd.getFullYear()+"-"+(fd.getMonth()+1)+"-"+fd.getDate();
// fd 값을 가진 날의 요일
fnSetFromDateVal(fd);
// fd ~ dt 의 기간.
betweenDay(fd, dt);
/**
* a : date()
* s : 이동하고자 하는 일자 기간.(7 - 7일, 15 - 15일)
*/
function timeShift(a,str){
b = new Date();
b.setTime(a.getTime() + ((str) * 24 * 60 * 60 * 1000));
return b;
}
/**
* 특정날짜의 요일을 구한다.
* time : 날자형식의 데이터.
*/
function getDayOfWeek(time) {
var now = new Date(time);
var day = now.getDay(); //일요일=0,월요일=1,...,토요일=6
// var week = new Array('일','월','화','수','목','금','토');
// return week[day]; // 리턴값은 일 ~ 토 로 표시된다.
return day; // 리턴값은 0 ~ 6 로 표시된다.
}
/**
* 입력받을 날자 사이의 기간을 리턴
* fd : 시작일자, td : 종료일자.
*/
function betweenDay(fd, td) {
var betweenDay = (fd.getTime() - td.getTime())/1000/60/60/24;
return betweenDay;
}
라벨:
날짜,
자바스크립트,
date,
javascript
피드 구독하기:
글 (Atom)