블로그 이미지
좋은느낌/원철
이것저것 필요한 것을 모아보렵니다.. 방문해 주셔서 감사합니다..

calendar

1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30

Notice

    2009. 5. 13. 11:07 개발/Oracle
    WITH 구문 사용하기

    WITH ALIAS_NAME
    AS   (  복잡한 SQL


        )

    SELECT * 
        FROM TABLE1 A, ALIAS_NAME B
        WHERE .....

    UNION ALL
    SELECT *
        FROM TABLE2 A, ALIAS_NAME B
        WHERE ....


    한 번 만들어 놓은 SQL구문을 재활용해서 사용할 수 있다..
    posted by 좋은느낌/원철
    2009. 5. 13. 11:06 개발/Oracle
    MERGE INTO 구문

    MERGE INTO TABLE_NAME A
    USING (
                SELECT .....
                    FROM ....
                    WHERE ....
                 => 다른 테이블에서 가공된 자료

            ) B
        ON (
                A.COLUMN_NAME = B.COLUMN_NAME
                AND
                   A...... = B......
            => 업데이트가 되게하기 위한 조건   


            )
    WHEN MATCHED THEN UPDATE ....  => 조건이 맞으면 UPDATE 
                                    SET ....
    WHEN NOT MATCHED THEN INSERT ....        => 9i에서는 인서트까지 꼭 써줘야 한다.. 10g부터는 인서트는 없어도 된다..
                                                   VALUES ( ....)

      Examples - In the Xperts knowledge

    Merging into a Table: Example The following example uses the bonuses table in the sample schema oe with a default bonus of 100. It then inserts into the bonuses table all employees who made sales, based on the sales_rep_id column of the oe.orders table. Finally, the human resources manager decides that employees with a salary of $8000 or less should receive a bonus. Those who have not made sales get a bonus of 1% of their salary. Those who already made sales get an increase in their bonus equal to 1% of their salary. The MERGE statement implements these changes in one step:

    CREATE TABLE bonuses (employee_id NUMBER, bonus NUMBER DEFAULT 100);
    
    INSERT INTO bonuses(employee_id)
     (SELECT e.employee_id FROM employees e, orders o
     WHERE e.employee_id = o.sales_rep_id
     GROUP BY e.employee_id);
    
    SELECT * FROM bonuses;
    
    EMPLOYEE_ID BONUS
    ----------- ----------
     153 100
     154 100
     155 100
     156 100
     158 100
     159 100
     160 100
     161 100
     163 100
    
    MERGE INTO bonuses D
     USING (SELECT employee_id, salary, department_id FROM employees
     WHERE department_id = 80) S
     ON (D.employee_id = S.employee_id)
     WHEN MATCHED THEN UPDATE SET D.bonus = D.bonus + S.salary*.01
     DELETE WHERE (S.salary > 8000)
     WHEN NOT MATCHED THEN INSERT (D.employee_id, D.bonus)
     VALUES (S.employee_id, S.salary*0.1)
     WHERE (S.salary <= 8000);
    
    EMPLOYEE_ID BONUS
    ----------- ----------
     153 180
     154 175
     155 170
     159 180
     160 175
     161 170
     179 620
     173 610
     165 680
     166 640
     164 720
     172 730
     167 620
     171 740

    posted by 좋은느낌/원철
    2009. 5. 11. 16:23 개발/컴퓨터/일반

    '티맥스데이' 행사서… 독자개발 오피스ㆍ브라우저도 공개

    국내 독자기술로 개발한 PC용 운영체제(OS)로 기대를 모으고 있는 가칭 `티맥스윈도(Tmax Window)'가 오는 7월 첫 선을 보인다.

    티맥스소프트(대표 문진일)는 오는 7월 7일 코엑스에서 `티맥스데이'를 개최하고 이 자리에서 `티맥스윈도'를 공개, 시판에 들어간다고 10일 밝혔다. 티맥스데이는 업계 관계자 2000명 이상이 참석하는 대규모 행사로, 올해는 티맥스윈도 단일 제품으로 전체 행사를 구성할 예정이다.

    티맥스윈도는 데이터베이스관리시스템(DBMS) `티베로'와 함께 티맥스소프트의 차세대 먹거리 제품으로 꼽힌다. 지난 3년 6개월간 수백명의 연구인력을 투입, 개발해 왔으며 현재 한창 마무리 작업을 진행 중이다. 내달 1일부터 사내 직원을 대상으로 베타테스트가 시작되며 외부 파견 직원 등을 제외하면 PC 1000대 이상의 테스트가 될 전망이다.

    당초 티맥스소프트는 티맥스윈도의 강점으로 기존 마이크로소프트 윈도용 소프트웨어(SW)와의 호환성, 강화된 보안, 저렴한 가격 등을 내세웠었다.

    윈도용 SW와의 호환성과 관련해 회사측은 오피스를 비롯해 주요 SW에 대한 호환 기능이 순조롭게 구현되고 있다고 밝혔다. 허병근 티맥스소프트 상무는 "MS 윈도에서 실행되는 오피스 등은 무리 없이 실행된다"며 "티맥스가 독자 개발키로 한 오피스와 브라우저도 7월에 함께 공개될 것"이라고 말했다. 7월 행사에서는 참석자들이 티맥스윈도에서 MS 윈도용 게임 등을 직접 실행할 수 있는 체험 부스도 마련될 예정이다.

    논란이 됐던 주변기기 연동에 대해서는 이미 알려진 표준 스펙과 해당 기업과의 기술협력을 통해 해법을 찾았다. 허 상무는 "현재 출시돼 있는 모든 주변기기를 다 지원할 수는 없지만 그래픽카드, 마우스, 프린터 등 주요 디바이스 연동은 큰 걸림돌이 아니었다"고 말했다. 그러나 구체적으로 어떤 하드웨어, SW 업체와 기술협력을 진행했는 지에 대해서는 밝히지 않았다.

    티맥스윈도는 티맥스소프트의 첫 일반 소비자대상(B2C) 제품이라는 점에서 주목을 받고 있지만 중간 개발 과정과 시장전략 등 많은 부분이 여전히 베일에 싸여있다. 이에 대해 문진일 티맥스소프트 대표는 "미리 공개하는 것도 검토했지만 MS라는 거대 기업과의 경쟁을 고려했을 때 마케팅 전략 측면에서 리스크가 더 크다는 것이 내부 결론이었다"며 "7월 제품 발표와 함께 소비자 시장을 겨냥한 영업 전략 등도 함께 공개할 것"이라고 말했다.

    티맥스윈도의 초기 시장은 공공부문이 될 전망이다. 문 대표는 "초기에는 공공부문을 중심으로 시작해 시장을 점차 확대해 나갈 것"이라며 "국내 OS시장의 10%만 가져와도 그만큼의 수입 대체 효과가 있다는 점에서 의미가 크다"라고 말했다. 지난달 22일 이명박 대통령과 IT 업계간의 간담회 자리에서도 문 대표는 OS의 중요성을 설명하고 티맥스윈도에 대해 언급했다. 당시 이 대통령은 "제품이 출시되면 한 카피 구입하겠다"고 약속했다고 문 대표는 전했다.

    한편 티맥스소프트는 내달 베타테스트에 앞서 티맥스윈도 알리기에 시동을 걸었다. 각자 자신만의 도전 스토리를 응모하면 선정된 사람에게 총 1000만원 한도 내에서 신청한 자금을 후원하는 것으로, 티맥스윈도 전용 웹사이트(www.tmaxwindow.co.kr)를 이용한 첫 프로모션이다. 김대영 티맥스소프트 부장은 "티맥스윈도가 거대 기업에 맞서 독자 OS를 개발했던 것처럼 모든 사람들의 야심찬 도전을 응원하기 위한 것"이라며 "제품과 직접적으로 연계되지 않고 사회공헌 성격이 있다는 점에서도 의미 있는 이벤트가 될 것"이라고 말했다. 향후 업체 측은 이 사이트를 통해 티맥스윈도 관련 정보를 순차적으로 공개할 예정이다.

    박상훈기자 nanugi@ 
    posted by 좋은느낌/원철
    2009. 4. 30. 13:18 개발/컴퓨터/일반


     원문 : http://cafe.naver.com/easyit1/1044


    개발자 관련 속담

    가는 소스가 고와야 오는 파일에 바이러스 없다. 
    잦은 Warning 에 Error 날줄 모른다. 
    영업은 상사 편이다. 
    디자이너는 프로그래머 편이다. 
    프린터 밑에 누워 소스 떨어지기만을 기다린다. 
    printf 도 디버깅에 쓸려면 에러난다. 
    에러 무서워서 코딩 못 할까 
    소스가 한 박스라도 코딩을 해야 프로그램이다. 
    코더도 타이핑하는 재주는 있다!! 
    길고 짧은 것은 strlen을 써봐야 안다. 
    소스도 먼저 코딩하는 놈이 낫다. 
    믿는 팀장에 발등 찍힌다. 
    개발실 청소 아줌마 삼 년에 디버깅 한다. 
    보기 좋은 코드가 디버깅 하기 좋다. 
    소스 잃고 백업장치 구입한다. 
    아니 코딩한 소스에 버그 날까? 
    안 되는 코더는 엔터를 쳐도 PC가 다운된다. 
    잘되면 프로그래머 탓, 못되면 시스템 탓. 
    야한 화일도 위아래가 있다. 
    하룻 프로그래머 정품단속반 무서울줄 모른다. 
    백업을 안하면 삼대가 내리 흉하다. 

    Reply 
    잘 키운 개발자 한명 열 코더 안부럽다... 
    멀쩡한 프로그램에 날 세그먼트폴트... 
    바늘 버그가 치명적 버그된다.. 
    안에서 새는 메모리 밖에서도 샌다... 
    프로그램은 개발자가 짜고, 보너스는 영업이 받는다... 
    늦게 배운 코딩 날새는줄 모른다... 
    디버깅한번 으로 천버그 잡는다... 
    돌(완벽한) 코드도 생각해보고 컴파일하자... 
    경영다툼에 개발자등 터진다... 
    제 코드가 석자... 
    KLDP서 윈도우 찾기.... 
    개발일정 시계는 거꾸로 매달아도 간다... 

    버그보고 놀란가슴 오타보고 놀란다. 
    코딩 전 마음 다르고, 코딩 후 마음 다르다. 
    제 코드 구린줄 모른다.. 
    코드가 죽끓듯 하다.. 
    환경이 좋아야 개발자가 모인다.. 
    소스 놓고 main도 모른다.. 
    악습코드 구제는 팀장도 못한다.. 
    goto에 소스꼬인줄 모른다.. 
    프로그래머 많으면 프로젝트 완성될날 없다. 
    개 같이 코딩해서 정승처럼 사표쓴다. 
    숙제밭에 굴러도 학교가 좋다. 
    코딩도 전에 컴파일한다.. 
    컴파일 하자 컴 다운된다.. 
    VC 대신 Vi.. 
    개발자 간 빼먹기.. 
    리펙토링도 단숨에 하랬다.. 
    아는 코드도 다시봐라.. 
    개발자 망신은 Copy&Paste가 시킨다.. 
    짧은 코드가 더 아름답다.. 
    천줄코드도 #include부터... 
    한 프로그램에 개발자 되랴.. 
    사장도 버그날땐 온다.. 

    꽃보다 코딩! 

    선옵티마이징이 개발자 잡는다. 
    개발자 키워서 대기업 준다. 
    버그잡자고 빌드다 뽀갠다. 
    될성부른 코드는 들여쓰기부터 안다. 
    빌드 뽀갠 넘이 성낸다. 
    다된 프로젝트에 코 빠트리기. 
    개발자살이는 코딩 3년, 프로그래밍 3년, 파워포인트 3년 
    사표쓴다 사표쓴다 하면서 프로젝트 세개 한다. 
    같은 값이면 대기업 파견살이. 
    고와도 내 코드 미워도 내 코드. 
    코드 주고 뺨 맞는다. 
    코드 가는 데 버그 간다. 
    코드를 봐야 디버깅을 하지... 
    빌드 뽀갠 날 데모 하랜다. 

    발 없는 소스가 천리간다. 
    손은 삐뚤어 졌어도 코딩은 바로 해야한다. 
    소스 한줄로 천냥빚도 생긴다. 
    개발자 목에 usb 메모리 목걸이. 
    스파게티 코드 소스가 주석 안달린 소스 나무란다. 
    기능 많은 프로그램 버그잘날 없다. 
    3일에 짠 코드 80개월 간다. 

    원수는 메신저에서도 만난다. 
    모니터도 때리면 꿈틀거린다. 
    비트 모아 테라. 

    내일 정전이 된다해도 나는 오늘 한 줄의 코드를 쓰겠다. - 스피노자 
    스스로 돌아봐서 에러가 없다면 천만인이 가로막아도 나는 컴파일하리라. - 맹자 
    나는 하루라도 코드를 쓰지 않으면 입안에 가시가 돋는다. - 안중근 의사 
    가장 커다란 에러는 컴파일의 순간에 도사린다. - 나폴레옹 
    나는 코딩한다, 고로 나는 존재한다. - 데카르트 
    대박 프로그램은 1%의 영감과 99%의 노가다로 이루어진다. - 에디슨 

    네 코드를 알라. - 소크라테스 

    posted by 좋은느낌/원철
    2009. 4. 24. 10:20 개발/Oracle
    일단 유용한 분석함수를 보면

    select scott.emp.* 
                  , row_number() over (partition by deptno order by empno ) num
                  , rank() over (partition by deptno order by empno ) rank
                  , dense_rank() over (partition by deptno order by empno ) dense_rank
                  , lead(sal) over (partition by deptno order by empno ) next
                  , lag(sal) over (partition by deptno order by empno ) before
                  , sum(sal) over (partition by deptno order by empno ) sum

        from scott.emp

    ******************************************************************************************
    요걸 응용해서 
    세로로 되어 있는 자료를 가로로 바꿔주는 sql을 보자..

    SELECT 품목
         , MAX((CASE WHEN RK = 1 THEN 거래처 END)) AS "1등거래처"
         , MAX((CASE WHEN RK = 1 THEN 수량   END)) AS "1등수량"
         , MAX((CASE WHEN RK = 2 THEN 거래처 END)) AS "2등거래처"
         , MAX((CASE WHEN RK = 2 THEN 수량   END)) AS "2등수량"
         , MAX((CASE WHEN RK = 3 THEN 거래처 END)) AS "3등거래처"
         , MAX((CASE WHEN RK = 3 THEN 수량   END)) AS "3등수량"
      FROM (SELECT A.*
                 , ROW_NUMBER() OVER (PARTITION BY 품목 ORDER BY 수량 DESC) AS RK
              FROM 테이블명 A
           ) A
     WHERE RK <= 3
     GROUP BY 품목


    품목    1등거래처   1등수량   2등거래처   2등수량   3등업체   3등수량

    이렇게 나오게 된다..
    posted by 좋은느낌/원철
    2009. 4. 17. 20:02 개발/컴퓨터/일반
    원문 : http://zine.media.daum.net/h21/view.html?cpid=18&newsid=20090417181113413&p=hani21
    [한겨레21] 불법 복제와 MS 공세로 '내우외환'… MB의 '삽질 경제'에 소프트웨어 업계 위기감 
    1989년 4월, '아래한글 1.0'이 세상에 태어났다. 올해로 '아래한글'은 20돌이다. 아래한글 20년은 우리나라 소프트웨어의 잔혹사이기도 하다. 

    아래한글과 함께 출발한 대부분의 소프트웨어 업체들이 마이크로소프트(MS)에 맞서다 떨어져 나가버렸다. 거품에 취한 벤처들은 시장에서 흔적도 없이 사라졌다. 돈 먹고 돈 먹는 머니게임은 진승현·정현준·이용호 게이트로 이어졌고, 쇠고랑을 찬 최고경영자(CEO)도 매년 나왔다. 돈 안 되는 소프트웨어를 버리고 인터넷과 게임에서 대박을 내는 스타 CEO도 등장했다. 아래한글은 이를 묵묵히 지켜봐야 했다. 아래한글은 불법 복제라는 '만인의 만인에 대한 투쟁'을 거쳐 독점기업 MS와 '맞장'을 뜨기도 했다. 앞으로는 '삽질경제' 속에서 살아남아야 한다. 

    아래한글 20돌의 과거·현재·미래를 통해 껍데기뿐인 정보기술(IT) 강국 한국의 실상을 되짚어보고 괜찮은 일자리에 목말라하는 우울한 '
    88만원 세대'를 위한 대안을 찾아보자. 

    만인의 만인에 대한 투쟁 

    "컴퓨터에서 우리말을 제대로 쓰고 표현할 수 있는 워드프로세서는 없을까."
    1988년 서울대 공대 기계공학과 4학년이던 이찬진 현 드림위즈 사장은 당시 이런 생각을 했다. 아래한글 신화의 시작이었다. 이 사장은 동아리(컴퓨터연구회) 후배였던 김형집·우원식씨와 함께 소프트웨어 개발에 들어갔다. 마침 그해 10월1일 MS가 처음 한국 땅을 밟았다. 당시만 해도 생소한 회사였던 MS는 30명이 채 안 되는 직원으로 첫발을 내디뎠다. 

    그때에도 워드프로세서는 있었다. 삼보컴퓨터의 '보석글'과 금성의 '하나워드'가 많이 쓰였다. 하지만 이들 모두 외국 프로그램을 한글화한 것으로, 사람들을 만족시키는 데는 한계가 있었다. 1992년엔 삼성이 '훈민정음'이라는 소프트웨어를 만들기도 했다. 

    이찬진 사장은 98년 4월 첫 작품을 만든다. 많은 젊은이에게 벤처의 꿈을 심어준 '아래한글'의 탄생이다. 어떤 이름을 지을까 고민했다. 이 사장은 고등학교 때 도서모임에서 낸 소식지 이름에서 힌트를 얻는다. 소식지 이름은 한 가지 소리로 뜻을 모으라는 의미의 '한소리'였다. 우리나라 고어에서 '아래한'은 하나라는 뜻이다. 결국 '아래한글'은 '하나뿐인 글을 쓰는 소프트웨어'라는 뜻이 자연스럽게 나왔다. 

    아래한글은 대히트를 친다. 방위병 복무 중이던 이 사장은 90년 한글문화원의 한 귀퉁이 4평짜리 방에 사무실을 빌려 '한글과컴퓨터'(한컴)를 세운다. 아래한글 1.0의 판매 수익 5천만원으로 만든 것이다. 10월9일 한글날이었다. 이듬해 곧바로 매출 10억원을 기록하며 소프트웨어 업계의 '무서운 아이들'로 불렸다. 92년 '아래한글 2.0'을 내놓았다. 두 달 동안 3만 개가 팔리는 인기를 누렸다. 93년 드디어 매출액 100억원을 올렸다. 아래한글의 확장자(.hwp)가 워드프로세서의 고유 아이콘이 될 만큼 인기를 끌었다. 

    하지만 불법 복제는 한컴의 발목을 잡는다. 불법 복제가 아니었다면 '아래한글 잔혹사'가 아니라 '아래한글 승리의 역사'를 써야 했을 것이다. 아래한글 1.0이 나왔을 때 모든 사람이 정품을 샀다면 어떠했을까? 아래한글 1.0 가격은 4만7천원. 당시 우리나라에 깔린 컴퓨터가 150만 대가량. 이 가운데 100만 대에만 한글이 깔렸다고 가정해보자. 1개 팔 때마다 1만원의 이익이 들어온다 해도 무려 100억원이 순수익이다. 

    괜찮은 소프트웨어 하나로 당시 그 정도의 많은 돈을 번다면 제2의 이찬진을 꿈꾸는 많은 젊은이들이 소프트웨어 시장에 도전장을 냈을 것이다. 한국의 온라인 게임이 그랬다. '리니지'와 '바람의 나라'가 히트를 치면서 젊은이들은 게임 개발에 몰려들었다. 결국 우리나라 온라인 게임은 세계적인 경쟁력을 갖춘 산업으로 성장할 수 있었다. 

    대한민국 컴퓨터 2대 중 1대에는 꼭 깔려 있다는 알 모양의 아이콘 알탱이, '알집'이다. 
    이스트소프트라는 소프트웨어 업체가 이 알집으로 벌어들이는 돈은 1년에 20억~30억원에 그친다. 글로벌 소프트웨어 업체들이 설립한 사무용 소프트웨어연합(BSA)이 지난해 5월 발표한 자료를 보면, 우리나라 소프트웨어 불법 복제율은 43%로 세계 평균(38%)보다 높다. 피해액만도 연 7500억원에 이른다. 

    이는 부메랑으로 되돌아온다. 100대 소프트웨어 기업 가운데 한국 기업은 단 하나도 없다. 안철수연구소와 
    티맥스소프트 등이 300위권에 이름을 올린 것은 신화에 가까울 정도다. 

    골리앗 독점기업과의 투쟁 

    1998년 6월15일 서울 롯데호텔에서 한컴과 MS코리아의 공동 기자회견이 열렸다. 이 자리에서 이찬진 사장은 MS에 투항했다. 이 사장은 '아래한글' 프로그램 개발을 포기한다고 선언했다. 포기하는 조건으로 MS에서 2천만달러 투자계약을 받기로 한 것이다. 때마침 방한한 빌 게이츠 MS 회장은 김대중 대통령을 만나 우리나라 IT 산업에 투자하고 싶다는 뜻을 밝혔다. 국제통화기금(IMF) 관리 체제에서 외자 유치는 다른 어떤 것보다 높은 가치였다. 정부는 기업 활동에 정부가 참여해서는 안 된다며, 거대 외국기업과 싸워야 하는 국내 소프트웨어 업체들을 외면했다. 

    한컴이 백기를 든 이유는 자금난이었다. 단기부채가 100억원에 이르렀다. IMF로 자금시장이 꽁꽁 얼어붙었다. 한컴 부도는 시간문제였다. 98년 4월에 들어선 하루하루 어음 결제가 안 될 정도였다. 이찬진 사장은 국회의원직을 사임하고 부도를 막기 위해 사방팔방 뛰어다녔다. 

    구조적 문제는 불법 복제 때문이었다. 하지만 또 다른 이유는 MS였다. 잘나가던 웹브라우저 넷스케이프도 MS의 익스플로러에 무릎을 꿇었다. MS는 도스와 윈도라는 운영체계(OS)를 갖고 있었기 때문이다. MS는 운영체계에 소프트웨어를 끼워팔아 우리나라 소프트웨어 시장을 잠식해 들어왔다. MS의 파상공세에 힘없는 국내 소프트웨어 업체들은 순식간에 나뒹굴었다. 

    처음엔 아래한글이 MS의 도전을 뿌리쳤다. 아래한글 손맛에 길들여진 사람들이 MS워드에는 관심을 주지 않았다. 전세계 워드프로세서 시장을 거머쥔 MS워드가 유독 한국에서만 2인자에 머물러야 했다. 

    하지만 MS는 92년부터 도스를 벗어던지고 윈도로 운영체제를 바꾸며 시장을 확장해나갔다. 워드·엑셀·파워포인트 등 업무용 프로그램을 두루 갖춰놓고 아래한글을 압박했다. MS 제품들은 사용 방법이 서로 비슷해 한 가지 기능만 익히면 다른 프로그램에서도 이용할 수 있고, 무엇보다도 데이터를 공유하는 장점이 있다. MS는 워드에 세로쓰기, 옛글체 등을 내세워 한국적 감성에 호소하는 광고를 뿌려댔다. 윈도보다 MS워드 홍보비가 더 많다는 소문이 나돌 정도였다. 

    한컴은 아래한글만으로 MS를 이길 수 없다는 생각에 전선을 넓혀나갔다. 한컴은 MS를 따라 사무용 프로그램을 내놓고 조그만 벤처를 잇달아 합병하며 덩치를 키웠다. 포털 네띠앙·심마니와 같은 인터넷 사업과 함께 멀티미디어, 컴퓨터 교육 등으로 사업을 확장해가지만 실패를 거듭했다. 그러나 IMF를 맞아 무리한 확장이 결국 화를 불렀다. 

    98년 아래한글 포기 선언은 국민 정서를 자극했다. 아래한글을 MS에 내줄 수 없다는 여론이 들불처럼 일어난다. 한글학회를 비롯해 15개 사회단체가 '한글지키기국민운동본부'를 세우고 국민 모금에 나선다. 1만원 국민주 운동, 100만 회원 모집 운동 등을 펼쳐나간다. 
    벤처기업협회 이민화 회장(메디슨)은 "우리 국민들이 다시 MS워드를 배울 경우 재교육 비용에 3천억원, 한글문서 교체 비용으로 1천억원, MS워드 구매 비용으로 1천억원 등 적어도 5천억원 이상의 국가적 손실이 발생한다. 하지만 아래한글을 보완하고 발전시켜나가는 비용은 50억원이면 충분하다"고 주장했다. 

    결국 국민주 20억원과 메디슨의 50억원 등 100억원을 한컴에 투자하는 대신 MS와의 합의는 파기했다. 이찬진 사장은 경영 일선에서 물러났다. 그 뒤 한컴은 재정난 해결을 위해 아래한글을 쓰자는 취지로 '아래한글 8·15'를 1만원에 내놓는다. 

    벤처 붐이 절정이던 2000년 1월4일 한컴은 시가총액이 2조7380억원까지 올랐다. 주가가 무려 130배 가까이 급등한 셈이다. 명백한 거품이었다. 한컴도 아래한글과는 무관한 인터넷 비즈니스에 집착하기 시작한다. 후속 버전을 내지 못하면서 아래한글의 시장점유율은 점점 밀려나갔다. 이민화 회장은 메디슨 소유의 한글과컴퓨터 지분을 싱가포르 기업에 매각하며 막대한 차익을 얻었다. 

    닷컴 불황이 깊어지면서 한컴은 또다시 경영난에 봉착했다. 지배주주가 없는 상황에서 2003년 한컴은 외국 국적의 CEO를 맞게 된다. 새 사장은 외국 국적에다 한글을 쓸 줄 모르고 겨우 몇몇 단어로만 한국말을 하는 정도였다. 이같은 경영권 분쟁 끝에 2003년 부동산개발회사 프라임그룹이 지분 29.37%를 사들이며 한컴을 인수한다. 

    웹표준운동 시민단체인 오픈웹 김기창 대표(고려대 법학과 교수)는 "MS의 독점은 앞으로가 더 문제다. MS의 독점은 PC 안에서 그치지 않고 인터넷에까지 미친다. MS의 
    인터넷 익스플로러를 설치하지 않으면 인터넷뱅킹을 못한다. 이런 상황에서 어떤 업체가 인터넷 소프트웨어를 만들려고 하겠나"라고 말했다. 

    인터넷으로 은행 업무를 보거나 온라인 쇼핑몰에서 물건을 사려면 금융결제원의 공인인증서가 필요한데, 이것은 익스플로러의 '액티브X' 기술을 통해서만 설치할 수 있다. 김 교수는 누리꾼들을 모아 "익스플로러에서만 공인인증서를 발급하는 것은 부당하다"며 금융결제원을 상대로 민사소송을 제기하고 힘겨운 싸움을 이어가고 있다. 

    삽질경제 속에 살아남기 

    한컴은 지난 2월18일 서울 소공동 조선호텔에서 2009년 사업전략을 발표했다. 매출은 지난해 344억원에서 535억원으로, 
    영업이익은 145억원에서 150억원으로 높여 잡았다. 하지만 기자들은 실적보다 한컴의 운명에 더 관심을 쏟았다. 한컴은 6년 만에 또다시 '매물'로 나온다. 이미 프라임그룹은 유동성 확보를 위해 한컴 매각 의사를 밝혔다. 한 벤처기업 사장은 "프라임그룹의 한컴 인수 당시 논란이 있었다. 프라임은 소프트웨어 산업과 거리가 먼 건설·부동산 자본이었다. 긴 안목으로 기업을 키워나갈 수 있겠느냐는 당시의 우려가 현실화되고 있다"고 말했다. 

    이명박 정부 출범 뒤, 소프트웨어 업계의 강력한 반발에도 정보통신부는 해체됐다. 방송과 통신 위주의 정책을 남발하던 정부 부처의 쏠림 현상은 더욱 심해지고 있다. 같은 IT 테두리지만 소프트웨어 업계는 철저히 '주변인' 취급을 받고 있다. 

    공기업들은 정부 예산 감축 지시로 정보화 사업 예산을 가장 먼저 깎아버렸다. 소프트웨어 업체들이 1차 타격을 받았다. IT 투자를 줄이면 소프트웨어 정품 구입 예산도 줄어 불법 복제를 더 하게 된다. 기억하기 싫은 '불법 복제의 추억'이다. 

    이처럼 울고 싶을 때 뺨까지 맞았다. 한컴 기자회견이 열리기 보름 전인 2월4일 이명박 대통령은 
    지식경제부를 찾아 "요즘 닌텐도 게임기를 초등학생들이 많이 가지고 있던데, 닌텐도 게임기 같은 것을 개발해볼 수 없느냐"고 주문했다. 소프트웨어 업계 사람들은 대통령의 어처구니없는 발언에 부글부글 끓었다. 그들은 닌텐도는 겉보기에는 게임기지만 그 속에 들어가는 소프트웨어가 '고갱이'라고 한결같이 말한다. 

    대기업이 주도하는 반도체·휴대전화·디스플레이·자동차와 토목 경제만으로는 한국 경제의 지속 가능한 성장에 한계가 있다. 미국 IT 시장 조사기관인 VDC 자료를 보면, 하드웨어 안에 든 소프트웨어의 원가 비중은 △휴대전화 54.3% △자동차 52.4% △전투기 51.4% △의료기 40.9%인 것으로 나타났다. 소프트웨어 경쟁력이 곧 제품 경쟁력이라는 얘기다. 

    일자리를 따져봤을 때 소프트웨어 산업은 더 중요하다. 한국은행 자료를 보면, 매출 10억원당 고용 창출 효과는 소프트웨어 산업이 24.4명인 데 비해 제조업은 2.1명에 그친다. 지난해 100조원 안팎의 매출을 올렸던 삼성전자와 미국 IBM을 비교해도 상황은 비슷하다. 반도체·휴대전화·가전 등 제조업에 집중된 삼성전자의 직원이 17만 명인 데 비해, IT 서비스·컨설팅 등 서비스사업을 주로 벌인 IBM의 직원 수는 36만 명에 이른다. 괜찮은 일자리와 지속 가능한 미래 먹을거리 사업이라는 점을 고려하면 소프트웨어 산업과 건설업은 비교가 안 된다. 

    하지만 정부는 여전히 역방향 주행을 하고 있다. 정부는 지난 3월 사상 최대 규모의 추가경정 예산안을 발표했다. 지식경제부 등 여러 부처가 1조2천억원의 IT 관련 예산을 요청했다. 하지만 추경에 반영된 액수는 3361억원에 그쳤다. 전체 추경(28조9천억원)의 1%를 겨우 넘는 수준이었다. 미국과 일본은 경기 진작을 위해 IT 분야에 각각 연간 300억달러(약 41조원)와 3년간 3조엔(약 42조원)을 쏟아붓기로 했다. 

    대기업은 여전히 '슈퍼 갑'이고 소프트웨어 업체는 철저하게 '울트라 을'을 요구받는 권력관계도 변한 게 없다. 국회 지식경제위원회 소속 
    최철국 의원(민주당)은 "대기업들이 중소업체의 소프트웨어를 저렴하게 구입한 뒤 거래를 끊는 경우가 흔하다. 결국 재원 확보가 어려운 소프트웨어 업체의 도산이 줄을 잇고 있다. 하지만 현 정부는 정부 주도에서 민간 위주로의 전환만을 강조한다. 지금이야말로 소프트웨어를 살리기 위한 정부 대책 마련이 시급한 때"라고 말했다. 
    posted by 좋은느낌/원철
    2009. 4. 16. 11:30 개발/Java
    출처 : http://blog.naver.com/bbellsek/150002233551 

    자바 컴파일과 실행 에 사용되어지는 javac, java 명령어의 옵션 을 다음과 같이 정리하였습니다.


    javac - 자바컴파일러로써, 자바코드를 작성한 소스파일(.java)을 자바 가상머신이 인식할수 있는 바이트 코드(.class)
    타입으로 변환시켜주는 명령어 입니다.

    사용법: javac <options> <souce files>
    예를들어, Hello.java, Greeting.java 두개의 파일이 존재한다면,
    javac Hello.java Greeting.java
    javac *.java (*을 사용해서, 모든 확장자가 .java인 파일을 컴파일할수 있다.)

     

    1) 옵션:


    a) -classpath:

     -classpath(cp) path(파일 절대 경로):
     컴파일러가 컴파일 하기 위해서 필요로 하는 참조할 클래스 파일들을 찾기 위해서 컴파일시 파일 경로를 지정해주는
    옵션. 예를 들어,  Hello.java파일이 C:Java 디렉터리에 존재하고, 필요한 클래스 파일들이 C:JavaEngclasses에 위치한다면,
    javac -classpath C:JavaEngclasses C:JavaHello.java 로 해주면 된다. 만약 참조할 클래스 파일들이 C:JavaEngclasses외의 
    다른 디렉터리에도 존재한다면, C:JavaKorclasses 일경우, 
    javac -classpath C:JavaEngclasses;C;JavaKorclasses C:JavaHello.java
    그리고, 현재 디렉터리역시 포함하고 싶다면,
    javac -classpath .;C:JavaEngclasses;C;JavaKorclasses C:JavaHello.java
    기본적으로, dos에서는 .는 현재 디렉터리를 의미하고, ..는 현재 디렉터리의 상위디렉터리를 의미한다. 
    또한 classpath 대신 단축어인 cp를 사용해도 된다.
    javac -cp C:JavaEngclasses C:JavaHello.java 

     

    b) -d: 
     -d directory
     클래스 파일을 생성할 루트 디렉터리를 지정합니다.
    기본적으로 컴파일러는 -d옵션을 주지 않으면, 소스파일이 위치한 디렉터리에 클래스 파일을 생성시킵니다.
    예를 들어,  Hello.java파일이 C:Java 디렉터리에 존재하고 클래스 파일의 루트디렉터리를 C:JavaClassfiles라고 하면, 
    javac -d C:JavaClassfiles C:JavaHello.java 입니다.

    만약 -d 옵션을 사용하려고 하는데, 루트디렉터리(위예에서는 C:JavaClassfiles) 가 존재 하지 않는다면, 
    "The system cannot find the path specified"라는 에러 메시지를 보게 됩니다. 
    현재 작업 디렉터리가 C:JavaClassfiles 에 위치하면, 
    javac -d .Classfiles Hello.java 와 같이 상대 디렉터리로 표현할수 있습니다.

     

    c) -encoding:
    -encoding encoding name
    소스 파일에 사용된 문자열 인코딩을 설정합니다.
    만약 위옵션이 설정되어 있지 않으면, 플래폼의 기본적인 컨버터가 사용되어 집니다.

     

    d) -g:
    모든 디버깅 정보를 생성시킵니다.
    만약 위옵션이 설정되어 있지 않으면, 기본적으로, 라인넘버만 생성시킵니다.
    -g:none: 디버깅 정보를 전혀 생성 시키지 않습니다.
    -g:{lines, vars, source}:
    위처럼 명시적으로, 몇몇 디버깅 정보를 생성시킬수 있습니다.
    lines은 라인정보, vars는 지역변수, sounce는 소스 파일 정보를 나타냅니다.

     

    e) -nowarn:

    경고 메시지 (warning message)를 생성시키지 않습니다.

     

    f) -verbose:

    컴파일러와 링커가 현재 어느 소스파일이 컴파일되고 있고, 어느 파일이 링크되고 있는지 
    그정보를 출력한다.

     

    h) -deprecation:

    소스 코드내에서, 사용되어진 deprecated API의 위치 를 출력 합니다.

    ex)
    C:Java> javac World.java
    Note: World.java uses a deprecated API. Recompile with "-deprecation" for details
    .
    1 warning
    C:Java> javac -deprecation World.java
    World.java:52: Note: The method java.awt.Dimension size() in class java.awt.Compon
    ent has been deprecated.
    Dimension d = size();

    Note: World.java uses a deprecated API. Please consult the doc-umentation for a be
    tter alternative.

     

    i) -sourcepath:

    -sourcepath 소스패스

    소스파일의 위치를 지정합니다.

     

    j) -target:

    -target 자바버젼

    지정된 자바버젼의 VM에서 작동 되어지도록 클래스파일을 생성 시킵니다.

    1.1
    jvm 1.1 버젼에서 호환되어질수 있는 클래스 파일생성
    1.2
    jvm 1.2 버젼에서 호환되어질수 있는 클래스 파일생성
    1.3
    jvm 1.3 버젼에서 호환되어질수 있는 클래스 파일 생성

    ex)

    javac -target 1.2 Helloworld.java 

     

    k) -bootclasspath 패스:

    특정한 bootstrap또는 확장 클래스를 지정할수 있다.
    기본적으로, 자바컴파일러는 javac(컴파일러명령)이 설치된 플래폼의 bootstrap과 확장클래스들을 통해서, 컴파일작업을 수행하지만,
    bootclasspath 옵션을 사용하면, cross-compiling이라고 해서, 다른 자바플래폼의 bootstrap과 확장클래스들을 통해서, 컴파일 할수 있는 기능을 지원한다.
    예를들어,
    javac -target 1.1 -bootclasspath jdk1.1.7/lib/classes.zip -extdirs "" OldCode.java
    컴파일러에게 현재 자신의 bootstrap을 사용하지 말고, jdk1.1.7/lib/classes.zip bootstrap클래스들을 사용해서 컴파일 하라고
    명령하는것이다.
    참고로, 모바일자바에서, 모바일폰에 설정된, jvm에 맞도록, 소스코드를 컴파일하기 위해서, 주로 사용되어지는 옵션이다.

     

     

    l) -extdirs 디렉터리:
    특정한, 확장 디렉토리를 지정한다.cross-compiling시 주로, 사용되어지는 옵션이면, 각디렉터리들은 콜론(:)에 의해서, 분리되어진다.
    컴파일시, 기술한 디렉터리의 클래스 파일을 참조한다.

    posted by 좋은느낌/원철
    2009. 4. 6. 20:12 개발/컴퓨터/일반

    원문 : http://www.etnews.co.kr/troop/detail_sa.html?id=208

    나도 어지간한 글들은 구글크롬으로 읽고 있다..
    하지만 여기 티스토리에 글을 올릴 때에는 IE에서 올린다..
    WEB2.0의 선도주자라고 볼 수 있는 티스토리도 아직 타브라우저에 대한 지원은 그다지 별 볼 일 없나보다..
    하긴.. 전자정부 어쩌고 저쩌고 하면서 내놓은 사이트들이 100% IE전용이니 말해봐야 무슨 소용이랴..

    가끔 네이버 카페에 이미지 하나 올릴려면 구글 크롬을 쓰다가도 엄청 느린 IE를 켜고 네이버로 찾아들어가서 글을 쓰곤 한다..
    우리나라는 MS의 봉이다고 누가 그러던데 틀린 말이 아니다..

    그럼에도 불구하고 어떤 MS제품은 한국어 지원이 하나도 안 된다지??

    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

    마이크로소프트(MS)의 인터넷 익스플로러의 웹브라우저 점유율이 내년 초에60%로 떨어질 것이라는 소식에 다수 네티즌들은 우리나라는 아직도 멀었다며 냉소로 일관하고 있다.

    2일 주요 외신들은 3월의 MS 인터넷 익스플로러 시장 점유율이 전달에 비해0.7% 하락한 66.8%로 집계되었다고 넷 애플리케이션 자료를 인용 보도했다.

    모질라의 파이어폭스가 시장 점유율이 22%까지 올라가는 가운데, 현재 추세가 계속 될 경우 윈도7 운영체제가 공식 발표될 2010 1월에는 익스플로러 점유율이 60% 아래로 떨어질 것이라는 전망도 제기되고 있다.

    이 전망에 많은 네티즌들은 우리나라는 MS 노예라고 비꼬며 정부 기관 및 주요 공공기관에서 웹표준부터 지켜야 한다고 주장하고 나섰다.

    네티즌 oldgoriot님은 MS의 노예국가 한국이라는 제목의 글로 많은 네티즌의 추천을 얻었다. 그는 익스플로러의 점유율이 떨어지면 뭐하냐? 한국에선99%인데. 사파리와 파이어폭스를 쓰는데 익스플로러 없이는 네이버 같은 큰 사이트 동영상도 못 올린다. 입사원서도 익스플로러로만 쓸 수 있고, 금융결제도 익스플로러 아니면 안된다. 어떤 사이트는 익스플로러 아니면 로그인 자체가 안 된다라고 했다.

    이어 그는 미국은 대학 컴퓨터실을 가면 MS+파이어폭스 반, 25%로 리눅스25% 자기가 원하는 검색엔진을 선택할 수 있다. 이런 환경 속에서도 한국이 IT강국이라면서 착각 속에 살고 있는 사람들이라고 꼬집었다.

    czarihs님은 아무리 그래도 우리나라는 예외라는 제목으로 어딜 가나 익스플로러. 그 중에서 익스플로러6. 60% 붕괴는 외국 이야기죠라고 비꼬았고 이니님도 한국에선 99% MS. MS의 노예국가라고 비난하는 등 많은 네티즌들이 익스플로러에 최적화 된 현실을 꼬집었다.

    금융기관 또는 정부기관 등 주요 홈페이지에 깔린 액티브X에 대한 따가운 지적도 이어졌다.

    네티즌 Weekend님은 최소한 정부가 운영하는 사이트라도 웹표준을 지켜야할 것 아닌가. 이건 뭐 정부 사이트도 엑티브X 떡칠에 선택권 자체가 존재하질 않는. 노력하는 모습을 좀 보여봐라라고 정부에 일침을 가했다.

    oild님은 어여 은행들, 정부넘들 정신차리길이라는 제목으로 나도 파폭 쓴다.은행하고 쇼핑 빼고. 엑티브로 떡 된 컴퓨터 보고 있으면 한숨부터 나온단다.엑티브 깔 때마다 바이러스랑 해킹 때문에 더 무섭단다라고 토로했다.

    Interpreter님도 아 진짜 액티브X 없애라. 다른 대체 기술 만들던지 자바 프로그램을 이용하던지. 외국 은행 사이트는 로그인하면 그걸로 끝인데 왜 유독 우리나라 은행은 이거 깔아라 저거 깔아라. 진짜 생산적이지 못한 거 같다라고 비판했다.

    액티브X가 개인에게 보안 책임을 떠넘기려는 업체의 얄팍한 수작이라는 주장도 제기되는 등 네티즌들의 액티브X에 대한 불만의 글은 곳곳에서 추천을 받았다.

    회식늑대님은 은행사이트에 설치하는 엑티브엑스를 사용함으로써 은행은 보안에 관한 어떠한 것도 책임을 지지 않는다는 사실을 아시는지. 엑티브엑스를 설치하는 순간 모든 보안에 대한 책임은 개인 사용자에게 전가됩니다라고 주장했다.

    님도 Active X 왕국 대한민국이라는 제목으로 악덕업체에서 엑티브X 설치하라고 뜨는건 자신들의 서버 과부하는 줄이고 무거운 파일은 사용자에게 돌리기 위함이다. 또한 각종 인터넷 해킹 사고 등 책임을 사용자에게 떠넘기기 위함이다. 액티브X 설치를 통해 수 십개 바이러스가 한방에 걸리기도 한다라고 하는 등 액티브X 꼼수를 지적하고 나섰다.

    이렇듯 많은 네티즌들은 우리나라가 익스플로러와 액티브X의 노예국가라고 규정하며 정부부터 웹표준화를 실천해야 한다고 입을 모으고 있다. IT에 대한 그럴듯한 청사진도 좋지만, 기본부터 하나하나 실천하는 것만이 IT강국으로의 첫걸음일 것이다.

    posted by 좋은느낌/원철
    2009. 4. 6. 19:47 개발/컴퓨터/일반
    원문 : http://www.zdnet.co.kr/ArticleView.asp?artice_id=20090406110708

    우리 회사에서 와이브로 사업에 대한 여러 가지 비지니스모델을 고민하고 있는 중이다..
    특히 연구소 쪽에서는 여러 가지 기술개발에 박차를 가하고 있는데..
    찬물을 끼얹는 듯한 기사가 있어서 퍼왔다..

    이거 괜찮을 걸까?
    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

    [지디넷코리아]
    와이브로에 대한 사업적 성패를 두고 정부 정책의 근본적인 변화를 촉구하는 주장이 제기됐다. 

    한나라당 한선교 의원은 방송통신위원회의 자료를 분석한 결과, 2006년 와이브로 서비스 출시 후 작년까지 KT는 총 7,303억 원을, SK텔레콤은 총 6,205억원을 투자, 수도권 위주로 서비스를 제공하고 있으나 가입자는 고작 17만명(KT 16만명, SKT 1만명), 매출액은 2008년 KT 250억원, SKT 2억 원 수준에 불과하다고 밝혔다. 


    ▲ 와이브로와 IPTV서비스 비교


    와이브로 도입 초기, 한국전자통신연구원은  2008년 144만 가입자에 매출 2,900억, 오는 2011년에는 400만 가입자에 매출액 8,000억을 예측한 것 치고는 상당히 초라한 실적이다. 

    지난 2007년에는 한국전자통신연구원이 우리나라가 세계 최초로 개발한 와이브로가 3세대이동통신 국제표준으로 채택돼 향후 5년간 장비 수출 30조, 생산유발효과 15조원, 부가가치유발효과 8조원, 고용창출효과가 7만5,000명에 달할 것이라는 장밋빛 예측을 내놓았다. 

    하지만, 현재 와이브로의 인프라 부문 해외진출현황은 KT의 우즈벡 진출이 유일하며, 가입자 1,600명에 매출규모 약 5억 수준에 불과하다. 물론 인프라 구축과 별도로 장비나 단말기 위주의 수출은 얼마든지 가능하지만 서비스 운영이 핵심인 것을 감안하면 해외진출 역시 너무나 형편없는 실적인 것이다. 

    와이브로에 견줄 만한 또 다른 방송통신융합 서비스인 IPTV가 약 170만 여명의 가입자를 확보한 것과 비교해 본다면, 와이브로는 적어도 국내 수요, 즉 서비스 이용자 확대 측면에서는, 인프라 투자비만 소모하고 사라져버린 제 2의 시티폰이 될 수 있다는 우려를 낳고 있다. 

    ■와이브로 '해외 진출'로 눈 돌려야

    이는 결국 국내의 지형적 요인, 통신환경 등을 고려하지 않은 정부의 통신사업 정책에 기인한다는 지적이다. 현재 국내 인터넷 이용률은 가입자 기준으로 무려 72%에 달하고 무선통신은 약 4,600만명의 국민이 이용하고 있는 실정이다. 또한 현재는 핸드폰을 이용해 무선인터넷 접속이 가능한 HSDPA가 활성화되고 있는 실정이다. 

    이런 시장 상황에서 와이브로는 적어도 국내에서는 중복 투자로 인해 더 이상 사업적 효과가 창출되기 어렵다는 것이 전문가들의 일반적인 견해다. 

    통신업계 일각에서는 통신 인프라가 포화 상태인 우리나라에 계속 설비 투자를 지속하기 보다는 지형적으로 유선통신 인프라의 설치가 어려운 국가들 즉 인도네시아나 브라질과 같이 섬으로 이루어지거나 국토가 광활한 국가를 위주로 와이브로의 해외 진출, 즉 인프라 구축에 따른 서비스 운영을 통한 장기 안정적 사업기반 조성이 기업의 수익극대화나 국가이익에 부합할 것이라는 의견이 나오고 있다.  

    즉, 와이브로 서비스는 융합 서비스 모델을 제시하거나 국제 특허 획득을 통한 기술료 수입 등 기술적인 기여로 한정하여 미국 퀄컴사와 같이 기술적 수익을 창출하는 것이 더욱 바람직하다는 것이다. 퀄컴은 CDMA 기술원천보유율이 99%에 달한다. 

    한선교 의원은 "그 간의 와이브로 사업 추이로 보아 전국망 설치 및 서비스 확대는 요원해 보인다. 앞으로 투자가 더 이루어져도 가입자 및 수익성 확보가 의문시 된다"며, “방통위는 와이브로 사업 서비스를 국내보다는 해외 인프라 구축 진출로 선회하여 통신부문의 지배력 확보 및 세계 통신 시장 점유율 확대로 정책 목표를 수정해야 할 것"이라고 주장했다. 

    또한 한의원은 "방통위, 지식경제부 등 부처간 이해관계 및 갈등으로 일회성 행사로 전락할 우려가 있는 해외로드쇼 역시 일회성 수출보다는 인프라 구축을 통한 서비스 운영, 이를 통한 관련 산업 동반수출 등 산업연관파급효과를 극대화할 수 있는 방향으로 초점을 맞추어야 할 것"이라고 강조했다.
    posted by 좋은느낌/원철
    2009. 2. 24. 17:00 개발/JSP/Servlet

    출처 : http://www.potatosoft.com/tt/218

    Java 를 기반으로 구현된 모든 코드에서 국제화 등을 이유로 리소스 파일 작성을 할때에, 문자열 등의 리소스 파일은 ascii 값의 ISO-8859-1 인코딩으로 작성해 주어야 합니다.

    프로퍼티 파일들을 UTF-8 로 읽어주도록 변경되면 좋겠지만 어쨌든 현재는 그렇습니다.

    이 때문에 jdk 에는 native2ascii 라는 실행파일이 들어 있는데( $JAVA_HOME/bin 에 들어있음 ) 이놈을 이용해서 프로퍼티 파일을 파라메터로 건내주거나 파일 실행 후 문자열을 입력해보면 Latin-1 인코딩의 ascii 값을 알 수 있습니다.

    ANT에서도 native2ascii task 를 지원하기 때문에 일반적으로 컴파일 및 빌드 과정과는 별개로 native2ascii 를 이용해서 리소스 파일들을 바꾸어 주는 작업을 추가하게 됩니다.

    Quick and Dirty Hack for UTF-8 Support in ResourceBundle 라는 포스팅을 보면 PropertyResourceBundle 의 wrapper class 구현이 있는데 이런 걸 이용하는 것이 편하긴 합니다. 다만 해당 포스팅의 아래쪽 comment 를 보면 3가지 정도의 bug case 에 대한 지적이 있는데 특히 Brian 이 지적한 내용은 반드시 적용해서 사용하셔야겠습니다.

    Very cool however I found a bug in your impl. when asking for a resource bundle with a parent. This is how I fixed it. Notice the call to getString which makes sure to recursively go over the parent bundles. Also checking for null.

    protected Object handleGetObject(String key) {
        String value = (String)bundle.getString(key);
        if (value==null) return null;
        try {
            return new String (value.getBytes("ISO-8859-1"),"UTF-8") ;
        } catch (UnsupportedEncodingException e) {
        // Shouldn't fail - but should we still add logging message?
        return null;
        }
    }

    And another small thing: not all ISO-8859-1 chars are a subset of UTF-8. The (C) sign seems to clash. If I put a \u00a9 in a UTF-8 file, it fails. But if I put the actual sign, it works. For some reason it is encoded as two bytes even though it is below 192 decimal.

    Not a big deal though. Still very cool solution.

    첫번째 지적한 경우에 해당하는 문자는 저작권 표시와 유로화 표시, 그리고 무한대 표시 등이 있는 것 같네요.


    이런 프로그래밍적인 것 말고 이클립스 플러그인 형태의 '편집기'를 원하는 분이라면 Properties Editor 라는 것을 추천합니다.

    이클립스의 Help -> software updates -> add site 를 선택하고 http://propedit.sourceforge.jp/eclipse/updates/ 를 추가해서 업데이트를 하면 됩니다.

    설치를 하고 나서 파일을 생성할때 확장자를 .properties 로 설정하면 해당 파일을 편집할때 자동으로 이 Properties Editor 를 이용해서 편집이 되고 properties 파일의 아이콘도 에디터 설치 후에는 아래와 같이 녹색 P 모양으로 바뀌게 됩니다.

    image

    물론 파일을 선택하고 팝업메뉴를 띄워서 Open with... 로 파일을 열 수도 있습니다.

    package.properties 파일을 열어보면 이렇게 이쁘게 한글로 표시가 되어 있습니다...만...

    image

    Open with 를 선택하고 일반 텍스트 편집기로 열어보면

    image

    native2ascii 를 돌린 것처럼 이쁘게 변환되어 있습니다. 전체 프로젝트의 인코딩이 UTF-8로 지정되어 있어도 해당 .properties 파일은 ISO-8859-1 로 맞춰지기 때문에 별도로 파일 인코딩을 바꾸어주지 않아도 되니 편리하군요.

    posted by 좋은느낌/원철
    prev 1 2 3 4 5 6 7 ··· 10 next