Posted
Filed under JSP, JAVA
create file from /usr/local/tomcat/bin/setenv.sh
chmod 707 setenv.sh

export JAVA_OPTS="-Dfile.encoding=UTF-8 -Xms128m -Xmx1024m -XX:PermSize=64m -XX:MaxPermSize=512m"

java out of memeory  문제 해결 방법

2015/04/24 15:51 2015/04/24 15:51
Posted
Filed under Linux
00 09 * * * root rdate -s time.bora.net && /sbin/clock -w
2015/04/15 10:25 2015/04/15 10:25
Posted
Filed under Linux

[원문]http://openwiki.kr/tech/sulinux#rewrite_module_활성화

Rewrite module 활성화

* 일단 모듈이 올라가있는지 확인..(phpinfo) * /usr/local/apache/conf/httpd.conf 수정

# rewriteEngine On
<IfModule mod_rewrite.c>
rewriteEngine On
</IfModule>

* 다음을 찾아서 AllowOverride All로 수정

<Directory />
    Options FollowSymLinks
    AllowOverride All
    Order deny,allow
    #Deny from all
</Directory>
2015/04/14 09:12 2015/04/14 09:12
Posted
Filed under Htm&Javascript

delimiter $$
create trigger update_check BEFORE UPDATE on tb_list FOR EACH ROW
BEGIN
 
 IF NEW.tname <> OLD.tname THEN
           SET NEW.tname = OLD.tname;
 END IF;
END$$

delimiter ;

2015/03/31 23:08 2015/03/31 23:08
Posted
Filed under Htm&Javascript

[원문]http://stackoverflow.com/questions/1649086/detect-rotation-of-android-phone-in-the-browser-with-javascript
[설명] 크롬 <-- 안드로이드 에서 모바일 환경에서 핸드폰 회전할 때  width 값을  구할 수 있는 스크립트


var isMobile = {
    Android: function() {
        return /Android/i.test(navigator.userAgent);
    },
    iOS: function() {
        return /iPhone|iPad|iPod/i.test(navigator.userAgent);
    }
};
if(isMobile.Android())
    {
        var previousWidth=$(window).width();
        $(window).on({
        resize: function(e) {
        var YourFunction=(function(){

            var screenWidth=$(window).width();
            if(previousWidth!=screenWidth)
            {
                previousWidth=screenWidth;
                alert("oreientation changed");
            }

        })();

        }
    });

    }
    else//mainly for ios
    {
        $(window).on({
            orientationchange: function(e) {
               alert("orientation changed");
            }  
        });
    }

2015/03/26 10:11 2015/03/26 10:11
Posted
Filed under Mysql

1. MySQL Replication 환경에서 지우기

  - MySQL Replication MASTER 서버
    shell> mysql -u root -p
    mysql> RESET MASTER;

  - MySQL Replication SLAVE 서버
    shell> mysql -u root -p
    mysql> RESET MASTER;

2. MySQL Binary Log sequence number 또는 특정 일자로 지우기

  shell> mysql -u root -p
  mysql> PURGE BINARY LOGS TO 'mysql-bin.000015';
  shell> mysql -u root -p
  mysql> PURGE BINARY LOGS BEFORE '2009-05-01 00:00:00';

3. mysqladmin flush-logs 명령어를 통해서 MySQL Binary Log 지우기

   shell> mysqladmin -u root -p flush-logs

4. MySQL Binary Log 생성을 방지하는 방법

  /etc/my.cnf 파일에서 아래 라인을 주석 처리
  log-bin

5. MySQL Binary Log 를 특정 1주일까지만 생성 및 보관하기
  /etc/my.cnf 파일에서 아래 라인을 추가
  expire_logs_days = 7

[원문] http://faq.hostway.co.kr/Linux_DB/1307

 

2015/03/12 09:05 2015/03/12 09:05
Posted
Filed under Linux
SSL 인증서 발급 절차
 
1. 서버에서 인증서 CSR 발급
 1) openssl genrsa -des3 -out www.abc.co.kr.key 2048
 2) openssl rsa -noout -text -in www.abc.co.kr.key
 3) openssl req -new -days 365 -key www.abc.co.kr.key -out www.abc.co.kr.csr
 * CN 값은 도메인명 입력
 4) openssl req -noout -text -in www.abc.co.kr.csr
 
2. PC로 CSR 다운로드
 
3. 신청 사이트에서 SSL 발급 신청
 
4. 인증서 발급 받은 후 key 파일과 함게 제공
2015/02/25 15:50 2015/02/25 15:50
Posted
Filed under JSP, JAVA
<dependency>
   <groupId>org.apache.commons</groupId>
   <artifactId>commons-lang3</artifactId>
   <version>3.3.2</version>
  </dependency>


디버깅 할 때 클래스 객체를 스트링으로 변환해서 출력 해주는 util
  vo 클레스에 추가 한다.

   @Override
    public String toString() {
        return ToStringBuilder.reflectionToString(this, ToStringStyle.SHORT_PREFIX_STYLE);
    }

baseVO를 만들고 해당 vo에 추가한다.
2015/02/23 17:32 2015/02/23 17:32
Posted
Filed under JSP, JAVA
//java save data as image from image url

public static void image_download(String turl, String fname) throws Exception{
   URL url = new URL(turl);
   InputStream in = new BufferedInputStream(url.openStream());
   ByteArrayOutputStream out = new ByteArrayOutputStream();
   byte[] buf = new byte[1024];
   int n = 0;
   while (-1!=(n=in.read(buf)))
   {
      out.write(buf, 0, n);
   }
  
   out.close();
   in.close();
   byte[] response = out.toByteArray();
  
   FileOutputStream fos;
   fos = new FileOutputStream(fname);
   fos.write(response);
   fos.close();
 }
2015/02/12 16:36 2015/02/12 16:36
Posted
Filed under Linux
[원문]:http://ns.actrun.com/bbs/board.php?bo_table=adm_server&wr_id=563

첫페이지 로딩속도는 그 사이트의 운명을 좌우할 만큼 중요합니다.

왜냐면 대부분의 웹사용자는 3초를 기다리지 못하고 사이트를 떠나는게 현실이며

0.1초라도 더 빨리 첫페이지를 보여주는 것이 운영자의 사업이익과도 직결된다고 할 수 있겠습니다.

공통된 문제는 대부분의 사이트 첫페이지가 실시간으로 DB에 접속하고 DB에서 게시물을 가져온다는 것입니다.

이러다 보니 동시접속자가 많아지면 자연 로딩속도가 늘여지고 이탈현상이 발생되는 것이지요.

보여줄 메인HTML(최근 게시물 등 기타 MySQL쿼리 결과물 포함)을 미리 만들어 놓고 운영하는 방법입니다.

자세히 설명드리면

Linux에는 cron이라는 것이 있는데 이는 특정시간에 특정Job을 수행하는 시스템유틸리티 입니다.

이를 이용하여 매시간 5,15,25,35,45,55분에 10분뒤에 사용할 메인HTML을 만들고

사용자에게는 10분전에 만들어진 현재 시간대의 메인HTML을 보여주는것이지요.

예로 13:15이면 cron에 의해 main_1320.htm을 만들고 사용자는 main_1310.htm을 보여주고 main_1300.htm은 지웁니다.

이를 구현한 Full Source입니다.

1) cron의 내용

   $ crontab -l [Enter]
     5,15,25,35,45,55 * * * * /절대PATH/make_main.sh
   $

   크론과 쉘이 무었인지 잘 모르시면 Linux 참고문헌을 보세요.

  
2) make_main.sh의 내용

   cd /절대PATH/
   php < ./make_main.php
  
  
3) make_main.php의 내용

   <?php
   $main_path = "/절대PATH/main_";
   $before    = $main_path.substr(date("Hi",strtotime("-10 minute")),0,3)."0.htm";
   $after     = $main_path.substr(date("Hi",strtotime("+10 minute")),0,3)."0.htm";
  
   $falg = 0;
   $fi   = fopen ("http://도메인/main.php", "r");
   $fo   = fopen ($after, "w");
   while (!feof ($fi)) {
           $buff = fgets($fi,4096);
           if (ereg("<!-- MAIN.HTM 시작 -->",$buff)) $flag = 1;  //앞부분 버림
           if ($flag == 1) fputs($fo, $buff);
   }
   fclose ($fo);
   fclose ($fi);
   if (file_exists($before)) unlink($before);
   ?>

4) index.html의 내용

   <?php
    include("상단HTML");
    $main_path = "/절대PATH/main_";
    $current = $main_path.substr(date("Hi",strtotime("now")),0,3)."0.htm";
    include($current);
    include("하단HTML");
   ?>
2015/02/12 10:40 2015/02/12 10:40