봄날을 찾아 떠나는 여정의 끝에서..

2009/09/22

한글 자음 (초성) 으로 시작하는 문자열을 검색하기 위한 쿼리

Filed under: sybase — 동천홍 @ 8:46 오전

HANTERM 은 컬럼명..


select *

from 테이블

where case when HANTERM < ‘ㄱ’ then SUBSTRING(HANTERM, 1, 1)

            when ascii(‘ㄱ’) <= ascii(HANTERM) and

                 ascii(HANTERM)<= ascii(‘ㅎ’) then HANTERM

            when HANTERM < ‘나’ then ‘ㄱ’

            when HANTERM < ‘다’ then ‘ㄴ’

            when HANTERM < ‘라’ then ‘ㄷ’

            when HANTERM < ‘마’ then ‘ㄹ’

            when HANTERM < ‘바’ then ‘ㅁ’

            when HANTERM < ‘사’ then ‘ㅂ’

            when HANTERM < ‘아’ then ‘ㅅ’

            when HANTERM < ‘자’ then ‘ㅇ’

            when HANTERM < ‘차’ then ‘ㅈ’

            when HANTERM < ‘카’ then ‘ㅊ’

            when HANTERM < ‘타’ then ‘ㅋ’

            when HANTERM < ‘파’ then ‘ㅌ’

            when HANTERM < ‘하’ then ‘ㅍ’

            else                  ‘ㅎ’

       end = ‘ㄴ’        <–이 부분이 검색을 하고자 하는 ‘ㄴ’ 으로 시작하는 문자열 검색 부분.   

 

출처 : http://nicebury.tistory.com/5

2009/07/24

jQuery and XML

Filed under: javascript, xml — 동천홍 @ 2:14 오전

jQuery and XML

2009/06/29

유지보수하기 쉽고 확장성 있는 XML 형식 만들기

Filed under: xml — 동천홍 @ 12:41 오전

유지보수하기 쉽고 확장성 있는 XML 형식 만들기

폰트를 런타임(run time)시 동적으로 불러와 적용하는 방법

Filed under: flex — 동천홍 @ 12:33 오전

폰트를 런타임(run time)시 동적으로 불러와 적용하는 방법

2009/06/25

FLEX에서 폰트(font) Embed의 이점과 제한점

Filed under: flex — 동천홍 @ 2:38 오전

폰트를 Embed할 때 이점을 먼저 언급해보면…
1. 클라이언트클라이언트 환경에서 폰트 설치가 필요없다.
2. Embed된 폰트는 안티-알리어스(anti-aliased:경계선부분을 부드럽게함)가 된다. 그래서그래서 글자가 더 부드럽게 되고 읽기가 쉬워진다. 이것은 특별히 텍스트 이미지가 커질때커질때 나타난다.
3. Embed된 폰트는 부분적으로나 전체적으로 투명하게 할 수 있다.
4.4. Embed된 폰트는 회전시킬 수 있다.
5. Embed된 폰트는 줌을 할 좀 더 부드럽게 볼 수 있다.
6. Embed된 폰트를 사용할때 Text가Text가 기대한 것대로 정확하게 나타난다.
7. 폰트를 Embed할때 추가적인 고급 안티-알리어스안티-알리어스 정보를 사용할 수 있다. 이에 대해서는 Embedding fonts in ActionScript의 Using advanced anti-aliasinganti-aliasing 를 참고한다.

Embed된 폰트의 제한점은 다음과 같다.
1. Embed폰트는 트루타입(TrueType) 폰트만 가능하다. 자세한 정보는 Embedding fonts from SWF files를 참고한다.
2. Embed된 폰트는 메인 어플리케이션의 파일 사이즈를 증가시킨다. 왜냐하면 문서안에 폰트정보가 포함되기 때문이다. 이 결과 사용자는 프로그램을 실행하기 위해 다운로드 시간이 길어질 수 밖에 없다.
3.3. Embed된 폰트는 일반적으로 10pt보다 더 작은 텍스트에 대해서는 가독성이 떨어진다. Embed된Embed된 폰트는 안티-알리어스가 적용되기 때문에 작은 사이즈의 텍스트는 희미하고 불명료한 글자로 보일보일 수 있다. 이것을 피하기 위해 고급 안티-알리어싱을 사용해야한다. 이에 대해서는 Embedding fonts in ActionScript의 Using advanced anti-aliasing 를 참고한다.
4. 어떤 경우에는 Embed된 폰트는폰트는 비주얼 컴포넌트 안에서 잘려보일 수 있다. 이러한 경우에는 padding관련 속성을 조정하여조정하여 방지할 수 있다. 흔이 있는 경우는 아니다.

이러한 특징을특징을 알아야, 언제 Font를 Embed할지 알 수 있지 않을까요?

관련자료
Using embedded fonts : http://livedocs.adobe.com/labs/flex3/html/help.html?content=fonts_04.html#133099
Using FontsFonts : http://livedocs.adobe.com/labs/flex3/html/help.html?content=fonts_01.html

출처 : 지돌스타 http://blog.jidolstar.com/248

2009/06/14

equals & String 비교

Filed under: java — 태그: — 동천홍 @ 3:04 오전

1. 주소값 비교

String s1 = new String(“Hello”)

String s2 = new Sttring(“Hello”)

if(s1==s2)

정답 : ==을 이용한 비교는 내용비교가 아닌 주소를 비교하므로 False이다

2.내용비교

String s1 = new String(“Hello”)

String s2 = new String(“Hello”)

if(s1.equals(s2))

정답 : True “equals()”를 이용한 비교는 내용을 비교하므로 True

단 equals()를 이용한 내용비교는 Wrapper클래스와 String클래스만 해당된다

3.주소값 비교2

StringBuffer s1 = new String(“Hello”)

StringBuffer s2 = new String(“Hello”)

if(s1 equals(s2))

정답 : False

“equals()를 이용한 비교는 Wrapper클래스와 String클래스만 해당되므로 당근 주소비교이므로 False이다.”

jsp에서 한글로된 파라미터값을 GET방식으로 보내기..(URL encoding)

Filed under: javascript — 태그:, — 동천홍 @ 3:02 오전

한글로 된 파라미터값을 get방식으로 보내다가 에러가 나는 경우가 있습니다.

원인은 URL encoding을 안해주어서 그렇더군요 브라우져마다 처리하는 방식이 다르다나…

암튼 이 문제를 처리하는 방식은 컨테이너에서 설정하는 방법이 있고 아에 값을 보낼 때 encoding 을 하여 보내는 방법이 있습니다…

구글을 해매다가 찾은 것입니다… javascript를 이용한 방법입니다..~~ 참고해 주세요.

저는 그냥 파라미터 값을 스크립트로 받아와서 처리하여 바로 전송하는 방법을 사용했지만 방법은 여러가지가 있겠지요…

아~~ 고수의 길은 멀고도 멀다는 생각이 듭니다..ㅋ

 

<script type=”text/javascript”>
  function encodeURL(email, userName){

     var s0, i, s, u; 
     s0 = “”;                // encoded str 
     for (i = 0; i < userName.length; i++){   // scan the source
         s = userName.charAt(i);
         u = userName.charCodeAt(i);          // get unicode of the char
         if (s == ” “){s0 += “+”;}       // SP should be converted to “+”
         else {
             if ( u == 0x2a || u == 0x2d || u == 0x2e || u == 0x5f || ((u >= 0×30) && (u <= 0×39)) || ((u >= 0×41) && (u <= 0x5a)) || ((u >= 0×61) && (u <= 0x7a)))
             {       // check for escape
                 s0 = s0 + s;            // don’t escape 
             }
             else {                  // escape
                 if ((u >= 0×0) && (u <= 0x7f)){     // single byte format
                     s = “0″+u.toString(16);
                     s0 += “%”+ s.substr(s.length-2);
                 }
                 else if (u > 0x1fffff){     // quaternary byte format (extended)
                     s0 += “%” + (oxf0 + ((u & 0x1c0000) >> 18)).toString(16);
                     s0 += “%” + (0×80 + ((u & 0x3f000) >> 12)).toString(16);
                     s0 += “%” + (0×80 + ((u & 0xfc0) >> 6)).toString(16);
                     s0 += “%” + (0×80 + (u & 0x3f)).toString(16);
                 }
                 else if (u > 0x7ff){        // triple byte format
                     s0 += “%” + (0xe0 + ((u & 0xf000) >> 12)).toString(16);
                     s0 += “%” + (0×80 + ((u & 0xfc0) >> 6)).toString(16);
                     s0 += “%” + (0×80 + (u & 0x3f)).toString(16);
                 }
                 else {                      // double byte format
                     s0 += “%” + (0xc0 + ((u & 0x7c0) >> 6)).toString(16);
                     s0 += “%” + (0×80 + (u & 0x3f)).toString(16);
                 }
             }
         }
     }
     location.href=”forumContent.htm?email=” + email + “&userName=” + s0;
     return s0;
 }
  
 </script>

SimpleFormController에서 입력값 형식 체크

Filed under: SpringFrameWork — 태그:, — 동천홍 @ 2:54 오전

이번 포스트는 SimpleFormController의 onBindAndValidate()에서 이메일 혹은 기타 입력값의 형식 체크 하여 값을 view로 넘겨주는 것입니다.

입력값 비교를 위해 Perl5Util을 사용했습니다.(이것에 대한 자세한 것은 더 알아봐야 겠습니다.ㅠㅠ)

jakarta-oro-2.0.8.jar를 lib폴더에 넣고 임포트 시킵니다.

import org.apache.oro.text.perl.Perl5Util;

준비가 끝났습니다. 이것만 있으면 되더군요…

정규식 표현을 상수로 정의 하였습니다.

아우 정규식 어려웠다는… (정규식에 대한 것은 검색해 보시고 이것저것 적용을 해보는 게…)

// 정규식 표현
 private static final String EMAIL_REGEXP = “/^[a-z0-9]+([_\\.-][a-z0-9]+)*@([a-z0-9]+([\\.-][a-z0-9]+)*)+\\.[a-z]{2,}$/i”;  <- 이메일 형식
 private static final String ENAME_REGEXP = “/^[a-zA-Z]+$*/”; <- 영문명만들어오게

 private static final String NAME_REGEXP =”/^[ㄱ-ㅣ가-힣]+$*/”; <- 한글만 입력받게

이렇게 선언을 해주고

onBindAndValidate() 함수안에서 사용을 합니다. 공백값과 함께 체크를 하기 위해서 onBindAndValidate()안에서 사용하면 공백처리등을 바로 할 수 있더군요.(신기했습니다–)

 

Perl5Util perl5Util = new Perl5Util(); 이렇게 생성을 하고

각각에 대해서

if(forumIct.getEmail() != null){
   if(!perl5Util.match(EMAIL_REGEXP, forumIct.getEmail())){
    errors.rejectValue(“email”, “errors.invalid”, new String[]{“email”}, “”);
   }
  }
  else {
   ValidationUtils.rejectIfEmpty(errors, “email”, “errors.required”, new String[]{“email”}, “”);
  }

 이렇게 체크를 했습니다. 공백이 들어왔을 때와 잘못된 값이 들어 왔을 때.. 구분해서 error에 값을 보내 주어야 해서.

다른 방법이 있다면 알려주세요.. 처음 해보는 거라서..^^;

 

spring framework는 controller를 잘 써야 하더군요.. 스프링 만쇄이~~

 

자바에서 원하는 정규표현식의 문자열 뽑기..

Filed under: java — 동천홍 @ 2:50 오전

public class Test {

 public static void main(String[] args) {
  String surfix = “24-44번지 302호”;
  
  String result = surfix.replaceAll(“(^[0-9-]*)([\\w\\W]*)”, “$1,$2″);
  System.out.println(result);
 }
}

 $1, $2의 구분은 정규표현식의 괄호를 기준으로 구분된다.

NTLDR is compressed error

Filed under: 컴퓨터일반 — 동천홍 @ 2:43 오전

이 문제는 NTLDR이 압축되어 있다라는 에러 메세지라고 합니다. NTLDR에 관한 것은 검색엔진에서 찾아 보기 바랍니다.~

해결방법은 아래와 같습니다.~~

  1. 복구콘솔로 부팅한다.(부팅콘솔로 부팅하는 방법은 따로 포스팅하도록 하겠습니다.)
  2. dir ntldr을 통해서 압축 속성이 있는 지 확인한다.
  3. attrib 명령으로 풀 수 있으며 자세한 것은 help를 참조하기 바랍니다.
  4. c:\>attrib -c ntldr  을 입력하고 실행하면 압축이 해제 됩니다.
  5. ctrl+alt+delete 하여 컴퓨터를 재부팅하면 작업완료…

출처가 어디 인지는 기억이 나지 않습니다…ㅠ ㅠ 감사합니다.~~

예전 글 »

테마: Silver is the New Black. WordPress.com 제공.

팔로우

Get every new post delivered to your Inbox.