Posted
Filed under Mysql
  트리거는 테이블에 INSERT, UPDATE, DELETE 가 발생 할 때 그 과정의 전후로 무언가를 하도록 지정 할 수 있다.

 

DELIMITER $$

CREATE TRIGGER 트리거이름
BEFORE UPDATE ON 테이블이름
FOR EACH ROW 
BEGIN 
 IF (NEW.AA <> OLD.AA) THEN
    SET new.BB = new.AA;
 END IF ;
END$$
;
 

 

위의 쿼리는 트리거의 한 예제이다.

 

이 쿼리는 특정 테이블에 UPDATE가 발생 할 때 AA 의 값이 이전값과 이후값이 다를 경우에 

 

BB 컬럼에 값을 새로운 AA의 값으로 치환하라는 트리거이다.

 

녹색 : AFTER, BEFORE 

붉은색 : INSERT, UPDATE, DELETE

푸른색 : 쿼리(INSERT, UPDATE, DELETE 등)

 

NEW : 새로운 값

OLD : 이전 값

AFTER 를 사용할 때 같은 테이블에 INSERT, UPDATE, DELETE를 하게된다면 문제가 발생할 수 있다.

[원문] http://wofmaker.blog.me/220116117593

2015/01/28 23:33 2015/01/28 23:33
Posted
Filed under Linux
common.lib.php  파일의  2788번째 줄의 소스를 아래와 같이 아이피로 수정 한다.

// 아이코드 사용자정보
function get_icode_userinfo($id, $pass)
{
    //$res = get_sock('http://www.icodekorea.com/res/userinfo.php?userid='.$id.'&userpw='.$pass);
    $res = get_sock('http://211.172.232.124/res/userinfo.php?userid='.$id.'&userpw='.$pass);
    $res = explode(';', $res);
    $userinfo = array(
        'code'      => $res[0], // 결과코드
        'coin'      => $res[1], // 고객 잔액 (충전제만 해당)
        'gpay'      => $res[2], // 고객의 건수 별 차감액 표시 (충전제만 해당)
        'payment'   => $res[3]  // 요금제 표시, A:충전제, C:정액제
    );

    return $userinfo;
}
2015/01/12 16:39 2015/01/12 16:39
Posted
Filed under Link
1. 서버를 운영하다보면, 시스템의 메모리가 꽉차서 ... 재시작  을 해야되는 상황이 생긴다.
  해결책은 단순 하다 재부팅 (reboot)하면 되겠지만. 잘 운영되는 서버를 리붓 하기에는 서비스 지연이 생길 수 있고 부담이 발생한다.
 그래서 버서가 느려진다면, 아래 명령어를 통해서 매모리를 최적화 시켜준다. 

  echo 1  >/proc/sys/vm/drop_caches
  echo 2  > /proc/sys/vm/drop_caches
  echo 3  > /proc/sys/vm/drop_caches


/usr/local/memory/memory_init.sh
chmod 755 ./memory_init.sh

크론탭 등록
00 08 * * * root /usr/local/memory/memory_init.sh
00 12 * * * root /usr/local/memory/memory_init.sh
00 18 * * * root /usr/local/memory/memory_init.sh

service crond restart


2015/01/12 16:16 2015/01/12 16:16
Posted
Filed under JSP, JAVA
c:set var="pages" value="${totalCnt/rowsPerPage}" />

 

내림 : ${pages-(pages%1)}

올림 : ${pages+(1-(pages%1))%1}

반올림 : ${pages+((pages%1>0.5)?(1-(pages%1))%1:-(pages%1))}

2015/01/07 19:15 2015/01/07 19:15
Posted
Filed under JSP, JAVA
dev-tool  : sts
spring - version 3.2.x

when i use spring-mobile-device then  
error ocured fallowing
"Could not instantiate bean class [org.springframework.mobile.device.Device]: Specified class is an interface] with root cause"

i try to solved this problem , 
example : https://spring.io/guides/gs/device-detection/ 
 
but 

same error occoured..


 .. search and more .. google...

1.  pom.xml <-- inject to dependency

<dependency>
   <groupId>org.springframework.mobile</groupId>
   <artifactId>spring-mobile-device</artifactId>
   <version>1.1.3.RELEASE</version>
  </dependency>

2. web.xml  <--add  filter config

<!--device filter_start() -->
 <filter>
        <filter-name>deviceResolverRequestFilter</filter-name>
        <filter-class>org.springframework.mobile.device.DeviceResolverRequestFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>deviceResolverRequestFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
 <!--device filter_end() -->

3. using like this ... (controller)
 
 if( DeviceUtils.getCurrentDevice(request).isMobile() ||  DeviceUtils.getCurrentDevice(request).isTablet() ){
   model.addAttribute("is_mobile", true);
  }else{
   model.addAttribute("is_mobile", false);
  }



2015/01/07 11:39 2015/01/07 11:39
Posted
Filed under JSP, JAVA
spring 3.2 부터
<exclude-mapping path="/login/**/"/>추가 되었습니다.
3.1 버전은 에러 발생 ..
pom.xml에서 spring 버전을 변경 합니다.
<!--
<org.springframework-version>3.1.1.RELEASE</org.springframework-version>
-->
<org.springframework-version>3.2.2.RELEASE</org.springframework-version>

sts tool을 이용하여 작업시 위 사항들을 유의 합니다.
<mapping path="/**/"/>  로그인 인터셉터를 사용하기 위해서 모든 url을 로그인 체크를 합니다.
<exclude-mapping path="/login/**/"/>로그인 페이지는 로그인을 누구나 할 수 있도록 해야 하기 때문에 intercepter에서 체크 할 대 제외 시킵니다.

[example]
<interceptors>
  <interceptor>
   <mapping path="/**/"/>
   <exclude-mapping path="/login/**/"/>
   <exclude-mapping path="/resources/**/"/>
   <beans:ref bean="LoginInterceptor"/>
  </interceptor>
 </interceptors>
2015/01/06 10:48 2015/01/06 10:48