한글의 초, 중, 종성 분리 및 조합의 예제입니다.

 

public class HangulTest{
     //한글 초성
     final char[] first = {'ㄱ', 'ㄲ', 'ㄴ', 'ㄷ', 'ㄸ', 'ㄹ', 'ㅁ', 'ㅂ',
         'ㅃ', 'ㅅ', 'ㅆ', 'ㅇ', 'ㅈ', 'ㅉ', 'ㅊ', 'ㅋ', 'ㅌ', 'ㅍ', 'ㅎ'};
     //한글 중성
     final char[] middle = {'ㅏ', 'ㅐ', 'ㅑ', 'ㅒ', 'ㅓ', 'ㅔ', 'ㅕ', 'ㅖ',
         'ㅗ', 'ㅘ', 'ㅙ', 'ㅚ', 'ㅛ', 'ㅜ', 'ㅝ', 'ㅞ', 'ㅟ', 'ㅠ', 'ㅡ',
         'ㅢ', 'ㅣ'};
     //한글 종성
     final char[] last = {' ', 'ㄱ', 'ㄲ', 'ㄳ', 'ㄴ', 'ㄵ', 'ㄶ', 'ㄷ',
         'ㄹ', 'ㄺ', 'ㄻ', 'ㄼ', 'ㄽ', 'ㄾ', 'ㄿ', 'ㅀ', 'ㅁ',
         'ㅂ', 'ㅄ', 'ㅅ', 'ㅆ', 'ㅇ', 'ㅈ', 'ㅊ', 'ㅋ', 'ㅌ', 'ㅍ', 'ㅎ'};
     /**
     *한글 한 글자(char)를 받아 초성, 중성, 종성의 위치를 int[]로 반환 한다.
     *@param char : 한글 한 글자
     *@return int[] : 한글 초, 중, 종성의 위치( ex:가 0,0,0 )
     */
     public int[] split(char c){
         int sub[] = new int[3];
         sub[0] = (c - 0xAC00) / (21*28); //초성의 위치
         sub[1] = ((c - 0xAC00) % (21*28)) / 28; //중성의 위치
         sub[2] = (c -0xAC00) % (28);//종성의 위치
         return sub;
     }

    /**
     *한글 한 글자를 구성 할 초성, 중성, 종성을 받아 조합 후 char[]로 반환 한다.
     *@param int[] : 한글 초, 중, 종성의 위치( ex:가 0,0,0 )
     *@return char[] : 한글 한 글자
     */
     public char[] combine(int[] sub){
         char[] ch = new char[1];
         ch[0] = (char) (0xAC00 + (sub[0]*21*28) + (sub[1]*28) + sub[2]);
         return ch;
     }
    
     /**
     *한글 초,중,종성 분리/조합 테스트 메소드
     */
     public void doSomething(){
         int[] x = null;
         String str = "그래도 살만한 세상이다. 아?? 구랗쥐 구람";
         int loop =  str.length();
         char c;
         System.out.println( "============한글 분리============" );
         for( int i = 0; i < loop; i++ ){
             c = str.charAt( i );
             if( c >= 0xAC00 ){
                 x = split( c );
                 System.out.println( str.substring( i, i+1) + " : 초=" + first[x[0]]
                         + "\t중="+middle[x[1]]
                         + "\t종="+last[x[2]] );
             }else{
                 System.out.println( str.substring( i, i+1) );
             }
         }
         System.out.println( "\r\n============한글 조합============" );
         System.out.println( "0,0,0 : " +
                     new String( combine( new int[]{0,0,0} ) ) );
         System.out.println( "2,0,0 : " +
                     new String( combine( new int[]{2,0,0} ) ) );
         System.out.println( "3,0,0 : " +
                     new String( combine( new int[]{3,0,0} ) ) );
         System.out.println( "11,11,12 : " +
                     new String( combine( new int[]{11,11,10} ) ) );
         System.out.println( "10,11,12 : " +
                     new String( combine( new int[]{10,11,14} ) ) );
     }

    public static void main( String[] agrs ){
         new HangulTest().doSomething();
     }
 }


Posted by 철냄비짱
,

OS X - OS 업데이트 후 git 등 오류 발생 시 솔루션

최근 macOS Sierra 업데이트가 있었다.

과거 OS X El Capitan 업데이트도 포함됨

언제나 처럼 먼저 업데이트하면 골치아픈 일이 많이 생기네요 ㅠ

그러던 중에 Xcode Command Line Tools 의존성 이슈가 발생하는 경우가 생겼다. git을 실행시키는데 아래와 같은 오류와 함께 실행이 되지 않는 케이스이다.

 

$ git --version
xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun

 

XCode를 재설치하면 해결되나 나와 같은 전체설치가 필요하지 않는 경우에는 Xcode Command Line Tools만 설치할 수 있다.

 

$ xcode-select --install

 

설치 후 2343 최신버전으로 확인된다.

 

$ xcode-select -v
xcode-select version 2343.

Posted by 철냄비짱
,




 

맥을 쓰면 좋은 점은 바로 ~



 

소리가 아닐까 싶습니다만.



 

주변 사람들을 흠칫! 하고 쳐다보게 만드는 소리...



 

민망하기도 합니다.



 



 

소리를 없애고자, 공공장소에서 예의를 지키고자,



 

진행합니다.



 

부팅시 소리 없애기!



 



 



 



 



 



 

1. 터미널을 찾아서 실행!



 



 

一 心 O 0



 



 



 



 

2. 터미널에서 아래 명령어를 입력합니다!



 

sudo nvram SystemAudioVolume="%00"



 

00 말그대로 수치입니다. 수치를 조금 키우면 소리를 작게 만들 있습니다!



 

하지만 저는 아예 소거 시키길 원해서 00 줬습니다.



 

입력 , 패스워드를 넣어주면 !



 

* 패스워드 입력시, 아무 문자도 나타나지 않지만, 입력은 되고 있으니 자연스럽게 입력하세요!!



 



 

moonyeonsu 
— -bash — 80x24 
Last login: Sat Mar 19 12:55:45 on console 
moonyeonsu$ sudo nvram 
http://pabit.tistory.com



 



 



 



 



 



 



 



 



 



 



 

이렇게 하면 부팅 소리 없애기 끝입니다!



 



 

하지만, 다시 부활을 시키고 싶다면



 

아래 명령어를 터미널에 써줘서 부활 시키면 됩니다!!



 



 

sudo nvram -d SystemAudioVolume



 

출처http://palpit.tistory.com/859 [palpit's log-b]



 

출처http://palpit.tistory.com/859 [palpit's log-b]



 

출처http://palpit.tistory.com/859 [palpit's log-b]



 

출처http://palpit.tistory.com/859 [palpit's log-b]


 


 


Posted by 철냄비짱
,

For some reason mysql on OS X gets the locations of the required socket file a bit wrong, but thankfully the solution is as simple as setting up a symbolic link.

You may have a socket (appearing as a zero length file) as /tmp/mysql.sock or /var/mysql/mysql.sock but 1 or more apps is looking in the other location for it.

Rather than move the socket and have to edit config files and remember to keep edited files local and away from servers where the paths are correct, simply create a symbolic link so your mac finds the required socket, even when it's looking in the wrong place!

If you have /tmp/mysql.sock but no /var/mysql/mysql.sock then...

cd /var
sudo mkdir mysql
sudo chmod
755 mysql
cd mysql
sudo ln -s /tmp/mysql.sock mysql.sock

If you have /var/mysql/mysql.sock but no /tmp/mysql.sock then

cd /tmp
ln -s /
var/mysql/mysql.sock mysql.sock

You will need permissions to create the directory and link, so just prefix the commands above with sudo if necessary.

Hope this helps. It has sorted this exact issue for me on 3 macs so far.

Posted by 철냄비짱
,

제작사 홈페이지 : http://www.titanium.free.fr/index_us.html

 
찌꺼기 파일을 한번에 날려주는 프로그램
이미지는 자동으로 삭제하기 탭
한가지 안좋은 점은 한영변환 편리 유틸의 설정파일도 날라간다.
 
다른 유틸의 설정파일은 그대로 인데 말이지.
 
그래도 한번 싹 비우고 나면 컴퓨터가 가벼워졌다는 느낌을 받는다.
 
제작사 홈페이지 첨부. 무료 유틸리티.
Posted by 철냄비짱
,