MySql - 랜덤으로 정렬하기 (RAND)

*** 설명 ***
RAND() 함수를 ORDER BY 절에 사용.

*** 사용예 ***
SELECT * FROM table_name ORDER BY RAND();

MySql - 문자열을 날짜로 변경하기 (STR_TO_DATE)

*** 설명 ***
STR_TO_DATE 함수 사용
문자열 형식의 값을 날짜형식의 값으로 변경
DATE_FORMAT함수의 반대 기능

*** 사용예 ***
SELECT STR_TO_DATE('20161006182238', '%Y%m%d%H%i%s');
-> 2016-10-06 18:22:38
SELECT STR_TO_DATE('2016-10-06 18:22:38', '%Y-%m-%d %H:%i:%s');
-> 2016-10-06 18:22:38
SELECT STR_TO_DATE('2016/10/06 18:22:38', '%Y/%m/%d %T');
-> 2016-10-06 18:22:38

*** 사용되는 표현식 ***

표현식    설명
%M      월(Janeary, December, ...)
 %W     요일(Sunday, Monday, ...)
 %D      월(1st, 2dn, 3rd, ...)
 %Y      연도(1987, 2000, 2013)
 %y     연도(87, 00, 13)
 %X      연도(1987, 2000) %V와 같이 쓰임.
 %x      연도(1987, 2000) %v와 같이 쓰임.
 %a      요일(Sun, Tue, ...)
 %d      일(00, 01, 02, ...)
 %e     일(0, 1, 2, ...)
 %c      월(1, 2, ..., 12)
 %b      월(Jan, Dec, ...)
 %j      몇번째 일(120, 365)
 %H      시(00, 01, 02, 13, 24)
 %h      시(01, 02, 12)
 %i      분(00, 01, 30)
 %r      "hh:mm:ss AM|PM"
 %T      "hh:mm:ss"
 %S     초
 %s      초
 %p     AM, PM
 %w      요일(0, 1, 2) 0:일요일
 %U      주(시작:일요일)
 %u      주(시작:월요일)
 %V      주(시작:일요일)
 %v     주(시작:월요일)

Java - StringBuilder와 StringBuffer의 차이

StringBuilder와 StringBuffer의 차이는 멀티쓰레드 지원 여부.

*** StringBuilder ***
멀티쓰레드에서 동기화 지원 X
StringBuffer 보다 빠름

*** StringBuffer ***
멀티쓰레드에서 동기화 지원 O
StringBuilder 보다 느림

웹에서 이미지 편집 가능한 사이트

*** 웹 상에서  이미지 편집 기능 제공하는 사이트 ***

Pixlr Editor - Online Photo Editor
https://pixlr.com/editor/

Java - 만 나이 계산

*** 생년월일을 기준으로 현재 나이 계산 ***
 public int getAge(int birthYear, int birthMonth, int birthDay)
{
        Calendar current = Calendar.getInstance();
        int currentYear  = current.get(Calendar.YEAR);
        int currentMonth = current.get(Calendar.MONTH) + 1;
        int currentDay   = current.get(Calendar.DAY_OF_MONTH);
      
        int age = currentYear - birthYear;
        // 생일 안 지난 경우 -1
        if (birthMonth * 100 + birthDay > currentMonth * 100 + currentDay) 
            age--;
      
        return age;
}

JQuery 화면 로딩 후 버튼 클릭 이벤트 발생시키기


*** 설명 ***
화면 로딩 후 이름이 searchButton인 버튼의 클릭 이벤트를 실행

*** Sample ***
$(window).bind("load", function() {
     $("#searchButton").trigger("click");
});


   



Java - 이미지 크기 변경

String imgSourcePath= "test_image.jpg";       // 원본 이미지 파일명 (경로 포함)
String imgTargetPath= "test_imageNew.jpg";    // 새 이미지 파일명(경로 포함)
String imgFormat = "jpg";                     // 새 이미지 포맷. jpg, gif 등
int newWidth = 640;              // 새 이미지 넓이
int newHeight = 360;             // 새 이미지 높이



imgResize(imgSourcePath, newImgFilePath, imgFormat, newWidth, newHeight);


/**
 * Image Resize
 */
public void imgResize(String imgSourcePath, String imgTargetPath, String imgFormat, int newWidth, int newHeight)
{
    try
    {
        // 원본 이미지 가져오기
        Image imgSrc = ImageIO.read(new File(imgSourcePath));

        // 이미지 리사이즈
        // Image.SCALE_DEFAULT : 기본 이미지 스케일링 알고리즘 사용
        // Image.SCALE_FAST    : 이미지 부드러움보다 속도 우선
        // Image.SCALE_SMOOTH  : 속도보다 이미지 부드러움을 우선
        // Image.SCALE_AREA_AVERAGING  : 평균 알고리즘 사용
        Image resizeImage = imgSrc.getScaledInstance(newWidth, newHeight, Image.SCALE_SMOOTH);

        // 새 이미지  저장하기
        BufferedImage newImage = new BufferedImage(newWidth, newHeight, BufferedImage.TYPE_INT_RGB);
        Graphics g = newImage.getGraphics();
        g.drawImage(resizeImage, 0, 0, null);
        g.dispose();
        ImageIO.write(newImage, imgFormat, new File(imgTargetPath));
    }
    catch (Exception e)
    {
    }
}