이렇게 Oracle 과 Sun이 길고긴 인수합병의 과정을 거쳐 하나로 합쳐졌다.

그리고 어느날인가 이렇게 로고가 바뀌었다. 어색한 느낌이 아직 남아있다.

오라클은 여전히 Java를 기반으로 하고 있는 다양한 애플리케이션을 제공하고 있기 때문에, 앞으로 더욱더 Java를 넓게 퍼뜨릴 것이다.

프로그래밍에 대한 정확한 이해를 하고, 자바를 배우고, 영어를 익히고 개발자로서의 마인드를 잘 갖춘다면,

우리나라의 많은 개발자들도 해외로 진출할 수 있을 것이다.

우리나라는 개발자가 살아가기 힘든 나라다. 노동자가 살아가기 힘든 나라다.

Oracle 은 Java 개발자들에게 희망을 안겨줄 수 있을까?
저작자 표시

http://ihoney.pe.kr/trackback/721 관련글 쓰기

댓글을 남겨주세요

Name *

Password *

Link (Your Homepage or Blog)

Comment

Secret

SQL Developer 를 다운로드 받아서 설치를 했다.
2010/01/09 - [허니몬의 IT 이야기/허니몬의 리눅스 이야기, 우분투] - Ubuntu 9.10에서 Oracle SQLDeveloper 설치하기

신이 나서 노트북에도 설치를 하고 JDK 생성해서 실행했더니
  보는 것처럼 한글들이 박스로 표현되면서 깨지는 것을 확인할 수 있었다. 그래서 인터넷을 뒤적이면서 원인이 무엇인지 파악하는데 중점을 두었다.

참고자료 :
http://theduck.tistory.com/25
http://hajimaro.springnote.com/pages/3756683

JRE 실행 환경에 한글폰트가 설치되어 있지 않을 경우에 발생한다.
그래서 해결하는 방법은 간단하다.
# sudo mkdir $JAVA_HOME/jre/lib/fonts/fallback


명령으로 JRE 아래에 fallback 폴더를 생성한 후에 그 안에다가 한글폰트를 하나(현재 리눅스에서 설정된 폰트면 더욱 좋다)를 넣어준다.
그런 후에 실행하면


처럼 정상적으로 폰트가 적용된 것을 확인하여 볼 수 있을 것이다.

이렇게 해놓으면, JRE를 이용해서 실행설치되는 다른 설치프로그램이나 실행파일들도 정상적으로 한글이 나타날 것으로 보인다.




저작자 표시

http://ihoney.pe.kr/trackback/703 관련글 쓰기

  1. 2010/01/09 22:28 [Edit/Del] [Reply]
    좋은 정보군요.
    저는 조금만 깊이 들어가도 어려운 것이 기술입니다. ㅠㅠ
    • 2010/01/10 08:45 [Edit/Del]
      ^^; 그래서인지 깊이 들어갈수록 조금씩 재미가 있어지는 것도 기술인듯 합니다. 기술로 밥벌어먹고 살려면!! ㅎㅎ

      탐진강님의 글은 재미나게보고 있습니다~ ^^
      즐거운 주말 보내세요.

댓글을 남겨주세요

Name *

Password *

Link (Your Homepage or Blog)

Comment

Secret

관련 내용 : http://java.sun.com/developer/media/deepdivejdk7.jsp



JDK 7 버전이 릴리즈 된지 얼마 되지 않았다.

Host: Ed Ort, Senior Staff Information Engineer, Sun Microsystems
Guest: Danny Coward, Chief Architect for Client Software at Sun Microsystems

두 사람이 나누는 대담을 통해 JDK 7 에 깊이 빠져들어가보자.


JDK 7 : Top 5 New Features

#1 : Modularity
#2 : Multi-Language
#3 : New Garbage Collectors
#4 : Nio.2 File System APIs
#5 : Swing API Additions

#1 : Modularity
// Declaring that a class belongs to a module:
module M;
package P;

public class Foo {...}

//Defining a module in a module-info.java file

module M @1.0 {
requires N @2.1;
requires L @0.5;
}
Java SE 7 : Project Jigsaw
  • Low Level Modularity System in JDK 7
  • Breaking Up the JDK 7 Code
  • Packaging Format
  • Uses Java Language Modularity(JSR 294) // ㅡㅅ-);; JSR 은 뭐지?
http://openjdk.java.net/projects/jigsaw
http://jcp.org/en/jsr/detail?id=294

아래에 나오는 내용은 "Coin Project"란다.


String animal ="...";
   
    if ( animal.equals("dog")) {
        takeForWalk(animal);
    } else if ( animal.equals("cat")) {
        leaveMilkFor(animal);
    } else if ( animal.equals("mouse")) {
        cleanCageFor(animal);
    } else {
        leaveOutside(animal);
    }
※  JDK 7 에서는 switch 에서 case에 char 타입 이외에 String 타입도 사용이 가능하게 됩니다. 조건문이 쉬워지는군요.
    String animal = "...";
   
    switch(animal) {
    case "dog" : takeForWalk(animal);
    case "cat" : leaveMilkFor(animal);
    case "dog" : cleanCageFor(animal);
    default : leaveOutside(animal);
    }

※ Exception 처리
try {
        doWork(file);
    } catch ( IOException ioe ) {
        logger.log(ioe);
        throws ioe;
    } catch ( SQLException sqle ) {
        logger.log(sqle);
        throws sqle;
    }
  JDK 7 에서는 이렇게 가능하다. Ed Ort 씨 처럼 Ah~~ha~~!!
try {
        doWork(file);
    } catch ( final IOException | SQLException ex ) {
        logger.log(ex);
        throws ex;
    }

※ 다음은 Genericㄴ 사용법 : 아직 본인은 generics 사용법에 대해서 익숙하지 못하다. ㅡㅅ-);;;
Map<String, List<String>> anagrams = new HashMap<String, List<String>>();
JDK 7 에서는 이렇게 된다고 한다. ㅡㅅ-)b
Map<String, List<String>> anagrams = new HashMap<>();

※ 다음은 Operator
Object anObject;
    ...
    if (anObject == null ) {
        s = "nothing";
    } else {
        s = anObject.toString();
    }
   
    int i;
    ...
    if ( anInteger == null ) {
        i = -1;
    } else {
        i = anIntegerr;
    }
JDK 7 에서는 이렇게 바뀐다고 한다. " ?:  " 요놈인 건데... ㅡㅅ-)> 요건 뭐가 좋은거지? ?: == null 인건가?
   String s = anObject?.toString() ?: "nothing";
    int i = anInteger ?:-1;


#2 : Multi-Language  : supporting non-Java languages at the VM level
JVM에서의 실행속도를 높인다는 건가? Bytecode를 역동적으로!? 메소드 핸들러를 가볍게!? 최적화를 변동적으로?
Broadening the JVM to Accelerate Runtimes
  • Bytecode for Dynamic Invocation
  • Lightweight Method Handles
  • A Variety Of Other Possible Optimizations
JRuby is the Pioneer
The DaVinci Project
http://openjdk.java.net/projects/mlvm

#3 : New Garbage Collectors - Garbage First,
Predictably Low Pauses + Few Full Garbage Collectors + Good Throughput
Greate for a Wide Variety of Application

#4 : Nio.2 File System APIs
DirectorySearchOperations 라는 클래스가 추가된 듯 하다. 자바로 새로운 파일 시스템을 사용해볼 기회가 있었어야 말이지..ㅡㅅ-);; 흠...
  • New Filesystem API File Notifications Directory Operations
  • Asynchronous I/O

#5 : Swing API Additions
  Java의 Swing API에 대한 불만은 여전히 있었고, ㅡㅅ-);; 추가되었다는 내용을 봐도 불만은 여전히 유지가 될 것 같다. 사용자가 필요에 따라서 자신이 디자인한 부분에 대해서 적용할 수 있도록 해주면 좋지 않을까? ㅡㅅ-)~ 현재 나는 조용히 쓰라는 대로 써야지. ㅎㅎ.
JSR 296 : Swing Application Framework
http://jcp.org/en/jsr/detail?id=296

JDK 7 과 관련된 홈페이지(MileStone)
JDK 7 Milestones Homepage
http://openjdk.java.net/projects/jdk7/milestones/
openJDK Project Homepage
http://openjdk.java.net/project/jdk7/
JDK 7 Project Homepage
https://jdk7.dev.java.net/
The Planetarium Blog
http://blogs.sun.com/theplanetarium/

http://ihoney.pe.kr/trackback/492 관련글 쓰기

댓글을 남겨주세요

Name *

Password *

Link (Your Homepage or Blog)

Comment

Secret

2009년 8월 14일(금) 오후에 발표가 있었습니다.
ㅡㅅ-);; 보시는 것처럼 피곤에 찌들어 초췌한 얼굴이 보이시나요? OTL... 마지막날이 제일 힘들었습니다. 흑흑 전날까지 코드 손보고, 늦게까지 시나리오 수정하고 외우느라 늦게 자고, 늦지 않으려고 일찍 일어나야 했거든요.

여전히 얼굴에는 피곤함이 가득 담겨 있습니다. 5개월의 교육과정 중에서 마무리를 짓는 시간이다 보니 나름 열과 성의를 다해서 했습니다. 다음에는 장인정신으로 코드를 만들어보겠습니다. ㅡㅅ-)b


작은 발표회였지만, 많은 사람들 앞에서 발표를 한다는 것은 살짝 긴장이 되더군요. 시간이 충분치 않아서 시나리오도 제대로 외우지를 못한 상황이라서 중간중간 많이 버벅거림이 있었습니다. ^^; 긴장은 안할래야 안할 수가 없더군요.


그래도 발표는 웃으면서!! +_+)b


오른손에는 컨닝페이퍼를 들고서(발표 하는 중간에도 까먹었다는... ㅡㅅ-);; 잽싸게 데이터를 입력하는 동안에 훑어보면서 다음 순서를 찾았습니닷!!). 화면을 보면서 설명을 드렸습니다. 나름 시나리오를 짜서 움직임이나 손동작을 구상을 했는데, 발표하는 중간에 살며시 머릿 속에서 지워져 나가더군요. 흠냠...


발표를 마치고 다른 사람이 발표하는 내용들이 다이어리에 적어두고 있습니다. 나중에 발표를 할 때 참고해두려고요... ^^; 앞으로 발표를 할 기회가 자주 있을 것 같아서 말이죠.


" 요렇게~? " 발표 중에 할 손동작들을 연습하며 웃어보고 있습니다. ^^;


이런 자세로 발표하면 안되겠죠? ^^;;


컨닝페이퍼를 보면서 연습하고 있습니다.


이렇게 프로젝트가 끝났습니다. 발표가 끝나고 기념촬영을 하러 밖으로 나갔습니다. 때마침 햇살이 좋아서... 멋지게 나왔군(?)요!! 잘 찍어준 덕분도 있겠지요. ^^;; 다른 이들의 사진을 같이 올려서 발표회 풍경을 보여드리려고 했던 애초의 의도에서 제 사진들로만 채우게 되었습니다. 다른 사람들에게 사진을 올려도 좋다는 동의를 얻지 못해서 말이죠. 그 점은 굉장히 죄송하게 생각을 합니다. ^^;; 이상 길다면 길었던 CJ정보기술교육센터에서의 5개월간의 교육이 끝났습니다.
  이제 18명의 수료생이 각자 자신의 길을 찾아서 떠나는 독립의 여정에 들어섰습니다. 모두의 행운을 빕니다. 무운이 함께하길 바랍니다.


http://ihoney.pe.kr/trackback/461 관련글 쓰기

댓글을 남겨주세요

Name *

Password *

Link (Your Homepage or Blog)

Comment

Secret

if ( keyword != null ) {
     String charset[] = {"euc-kr", "ksc5601", "iso-8859-1", "8859_1", "ascii"};
     
     for(int k=0; k<charset.length ; k++){
             for(int l=0 ; l<charset.length ; l++){
                     if(k==l){
                             continue;
                     }else{
                             System.out.println(charset[k]+" : "+charset[l]+" :"+new String(keyword.getBytes(charset[k]),charset[l])+"<br>");
                     }
             }
     }
   }

ㅡㅅ-);; charset 형만 알아내는 거지, 그거에 대한 반환타입이 없어서...
조건식에다가 쓸 수가 없잖아!!!

자바내에서는 받는 파라메타의 charset 이 무엇인지 알아내는 메소드는 없는 듯 합니다. ㅡㅅ-);;
위의 식은 받은 문자열(keyword)을 반복문을 돌려서 문자셋을 바꿔가면서 출력하는 코드입니다.

출력결과를 확인하고서 파라메터가 어떤 charset으로 들어오는지 확인하고서 거기에 맞춰서 처리를 해줘야 한다.
우리 프로젝트 처리를 진행하면서는 크게 쓸모는 없었다. 자바스크립트를 통해서 파라메터를 생성해서 받는 것은
ISO8895_1 타입으로 하는 걸 알고 있으니까, 특정 조건을 만족했을 때, 해당 파라메터를 인코딩하도록 만들어 처리했다.


선생님께 여쭈어 또다른 방법을 알아냈다. get 방식으로 파라메터를 전달하는 자바스크립트 방식일 경우에 유용하다.
예 : javascript:location.href="list.jsp?page=555&subpage=444  의 경우

          //searchform 폼에서 입력한 값이 있을 경우 넣어줄 것 불러오기
          if ((request.getMethod()).equalsIgnoreCase("get") && category != null && keyword != null ) {
              keyword = new String(keyword.getBytes("ISO8859_1"), "EUC_KR");
          }

request 의 method 방법을 알아내는 메소드(함수) getMethod() 를 이용해서 "get" 방식을 경우에 변환해주는 방법입니다.

또다른 방법은 <form method="post" action="">을 하나 만들어서 그 안에다가 <input type="hidden" name=""> 으로 해서  해서 form.submit() 방식으로 다음페이지에서 필요한 값들을 넘기는 방법이 있다.


AJAX 실행한 단계에서 다음 페이지에서는
equest.setCharacterEncoding("euc-kr"); 의 식으로 코딩을 지정해주면 글자가 깨진다는 점을 주의하라.


http://ihoney.pe.kr/trackback/432 관련글 쓰기

댓글을 남겨주세요

Name *

Password *

Link (Your Homepage or Blog)

Comment

Secret


SCJP 자격증 도착. ㅡㅅ-)b 시험을 쉽게 생각했다가 한번 낙방하고, 정신 바짝 차려서 본 시험입니다.

ㅡㅅ-)> 뭐... 금장 두른 Sun의 마크와 카드가 나름 뿌듯하게 하네요. 생각은 안하고 있었는데 비교적 빨리 도착했습니다. ^^

시험을 보면서 생각한 것은 Generic 클래스와 상속에 대한 개념을 조금 더 명확하게 하자는 것입니다.

@_@) 지금은 프로젝트 진행중이라 별도로 자바만을 공부할 그런 시간이 없군요. 그게 아쉽네요!!

이로써 취업을 위한 스펙이 하나 완성된 셈입니다. 과연 이녀석이 얼마나 도움이 될지 미지수로군요!!

http://ihoney.pe.kr/trackback/423 관련글 쓰기

댓글을 남겨주세요

Name *

Password *

Link (Your Homepage or Blog)

Comment

Secret

이 글은 허니몬님의 2009년 7월 21일의 미투데이 내용입니다.

http://ihoney.pe.kr/trackback/421 관련글 쓰기

댓글을 남겨주세요

Name *

Password *

Link (Your Homepage or Blog)

Comment

Secret

교육생들과 함께 도시락(한솥도시락)을 싸들고서 다음주 화요일에 양재천으로 가기로 했습니다. ^^; 아마 그 때쯤 되면 날은 초여름 날씨를 보이면서 매우 더운 날씨를 보여주지 않을까 싶기도 하네요. 양재천에는 버들나무들이 점점 푸르름을 드리우고 있습니다. 이상한 날씨 때문에 몇몇 벚나무들은 미처 꽃을 피우지 못하고 허겁지겁 푸른 잎사귀를 펼치는 녀석들고 있습니다. 벚나무들마다 작년에 떨구지 못한 삭아버린 나뭇잎들이 붙어있는 채로 벚꽃이 열린 모습은 화려하지만은 않더군요.

건조한 우리나라의 가을-겨울-봄 날씨 때문에 벚꽃들이 혼란스러워 하는 것 같습니다. 이제 우리나라의 기후가 우기, 건기의 뚜렷한 구분을 지어가는 듯 합니다. 전문가들과 정부에서는 변해가는 기후에 대비하여 수자원 관리 체계 개선 및 생태계 정비가 필요합니다. 삽질하면서 전국토를 공장으로 만들 생각하지 말고, 자연을 잘 관리하고 보호해서 수자원의 고갈을 막아줬으면 합니다.

ㅡ0-);; 제 사설이 길었군요. 일단~ 풍경을 보시죠!!

  양재천 한켠에서 비둘기 한쌍이 식사를 즐기고 있습니다. ^^; 단렌즈를 달고서 찍는터라 가까이 들이댔는데도 놀라지 않고 가만히 자기들의 할 일을 하더군요. ㅡㅅ-);; 배짱도 좋구나!!

양재천의 한켠에는 고층 건물들의 모습을 볼 수가 있습니다. 지금 건물들도 높은데, 정부(콕 찝어서 누구라고 이야기 안해도 아실분은 아실겁니다)에서는 왜, 굳이 서울공항 근처에다가 112층 짜리 롯데월드2(제2롯데월드-위키백과)를 지으려는지 모르겠군요.


아침에, 옥수역 모습입니다. 느긋하게 가려고 한대를 보내고 난 뒤에 찍은 사진이라 역 내는 한적합니다. ^^; 매일 오가는 곳이기도 합니다. OTL... 매일 오고가는 길에 있는 응봉역에서 내려서 개나리 축제(Photo by 썬도그)를 한번 가줬어야 했는데... 그것도 못가고 말이죠. 이제 개나리들도 슬슬 노란빛의 꽃잎들을 지우고 푸른 빛으로 옷을 갈아입어가고 있습니다.

이제 교육장 풍경을 올립니다. ^^; 모두들 낯설은 자바(JAVA)를 긴급으로 배우다보니 머리에 쥐가 나는가 봅니다. 수업이 끝날 때마다 넉다운 되어 지쳐 쓰러져버리는 사람들이 많습니다. ㅡ0-);; 그런 때일수록 맑은 공기 마시고 힘을 내봅시다!!


교육 중 카메라를 슬쩍 꺼내어 찍는 도촬....!!

모두들 열심히 듣고 있군요. ㅡㅅ-)b 보기 좋습니다. 모두들 열공하는 겁니다!!

어허라~~ 딱 걸려버렸습니다. ㅡㅅ-);; 실습 중에 게임을 하고 있는 자네!! 교육 중에는 게임 하지말라고~~~

제 짝궁 진호군 입니다. ㅡㅅ-);; 모니터에 빠져들어버맀겠습니다, 그려. 모니터와 충분한 안전거리를 확보해야지. 안그러면 몇달 사이에 눈이 급 나빠져버릴거야.

카메라를 들이대니 센치한 표정을 지어주는 동갑내기 정근식 군입니다. ㅡ0-)~ ㅎㅎ 하긴 뭐... 저도 카메라를 들이대면 움찔합니다...!!

자~~ 모두들 열심히 듣고 계시는군요. ㅎㅎ 모두 힘냅시다~~ 벌써 한달이 지나갔어요!!

자~ 약간 늦은 시간~ 교육센터 구석구석을 슬쩍슬쩍 찍어보았습니다. ^^; 교육센터를 관리하는 매니저분들 계실 때는 웬지 카메라를 들이대면 날카로운 시선을 받을 것 같아서... ^^; ㅎㅎ 카메라를 부끄럽게 들이대 봅니다.
제가 교육받는 제 1강의실 입니다. ㅡㅅ-)~
교육장으로 들어오는 복도. 매일 이곳을 수십번 오고갑니다. ^^

교육생들이 모두 떠나버린 교육장. 많이 휑하죠~? ^^;

이제 교육 한달째에 들어섰습니다. 자바를 맛보고 있습니다. ㅡㅅ-)b 한주 뒤에는 오라클을 또 살며시 맛을 보게 됩니다. 아직 객체지향에 대한 개념도, 프로그래밍 알고리즘도 제대로 개념을 잡지 못했는데... 시간은 훌쩍훌쩍 지나가는 군요. ^^;;

  몇년동안 굴리지 않던 짱구를 돌리려니 머리에 과부하가 많이 걸리는군요. 매번 느끼는 거지만, 너무나 좁아져 버린 시야 때문에 넓은 시야로 새로운 분야에 접근하는 것이 어렵습니다. ^^; 지금은 눈을 크게 뜨고 넓은 세상을 둘러볼 때입니다.
많은 격려와 응원 부탁드립니다!! 핫핫핫!!!

http://ihoney.pe.kr/trackback/309 관련글 쓰기

  1. 2009/04/12 15:38 [Edit/Del] [Reply]
    딱걸렸어.. 분명. 스트레트 파이트 게임 화면임.. 이미 저장도 해두었음..
    저분 누구임??
    이름만 말해주면 됌...ㅋㅋㅋㅋ

댓글을 남겨주세요

Name *

Password *

Link (Your Homepage or Blog)

Comment

Secret