2012/05/20 23:57

Chapter 6. Basic Widget

Last Modified Date : May, 20, 2012

Please Download File to


6. Basic Widget.pdf


Posted by 꿈이 있는 자유
2012/05/17 01:15

Chapter 5. Layout

Last Modified Date : May, 17, 2012

Please Download File to


5. Layout.pdf


Posted by 꿈이 있는 자유
2012/05/16 01:37

Chapter 4. Activity and Intent

Last Modified Date : May, 16, 2012

Please Download File to


4. Activity and Intent.pdf


Posted by 꿈이 있는 자유
2012/05/13 21:35

Chapter 3. Hello, World

Last Modified Date : May, 15, 2012

Please Download File to

 

3. Hello, World.pdf

Posted by 꿈이 있는 자유
2012/05/13 17:19

Chapter 2. Setting up Android Development Environment

Last Modified Date : May, 13, 2012

Please Download File to



2. Setting up Android Development Environment.pdf

google_0.82.apk


Posted by 꿈이 있는 자유
2012/05/13 16:27

Chapter 1. What is Android?

Last Modified Date : May, 13, 2012

Please Download File to

 

1. What is Android.pdf

Posted by 꿈이 있는 자유
2012/01/12 18:31
지난 글에서 Ubuntu에 Windows 프로그램을 돌리기 위해 Wine 을 설치했었다. 특별히 개발자에게 있어서 UML Tools 이 필요한데, 이번 글에서는 개발자들이 무료로 사용하고 있는 StarUML 을 Ubuntu 에 설치하는 방법을 설명하도록 하겠다. StarUML 은 다루기가 쉽고 UML 스펙에서 제시하는 대부분의 다이어그램들을 무료로 사용할 수 있게 해주는 아주 편리한 CASE Tool 이다. 하지만, Ubuntu 에서는 그림의 떡이었다. 왜냐하면 StarUML 은 Windows 에서만 실행되기 때문이다. 필자같이 Ubuntu 에서 Java를 개발하고 있는 개발자들은 StarUML 을 사용하고 싶지만, 다이어그램을 그리기 위해서는 할 수 없이 부득불 Windows 로 부팅했어야 했다. 그렇다면 지금부터는 Ubuntu 에 설치하고 굳이 Windows 로 부팅하지 않아도 된다는 것... 다만, 이미 Wine 이 설치되어 있어야 한다. 현재 필자의 Ubuntu는 11.10이며, Wine 버전은 1.3 이다.

1. Google 에서 'StarUML'로 검색하면 가장 위에 나오는 링크를 클릭한다. 또는 아래의 경로를 방문한다.


2. 왼쪽 프레임의 메뉴에서 [StarUML 다운로드] 링크를 클릭한다.

 3. 현재 필자가 다운로드 받으려는 StarUML 은 2005년 12월 30일 버전인 5.0 이다. 더 이상 버전 업을 하고 있지 않는데, 아쉽다. 이런 훌륭한 툴이... 다운로드하기 위해 링크를 클릭하자.

4. 설치하기 위해 당연히 소스파일인 아닌 exe 파일을 다운로드 받자. 파일 사이즈는 약 22.7MB 이다.

5. 필자는 /home/계정/Downloads 디렉토리에 다운로드했다. 다운로드받은 파일의 이름은 [staruml-5.0-with-cm.exe] 이다.

6. 파일을 선택하고 마우스 오른쪽 버튼을 클릭하여 컨텍스트 메뉴중 [Open With] --> [Wine Windows Program Loader] 을 선택하여 Wine 을 이용한 프로그램 설치를 하자.

7. 출발이 좋다~. Windows 에서 설치하는 것처럼 설치 Wizard 가 시작된다. [Next] 버튼을 클릭하자.

8. 사용자 계약 동의를 하고...

9. 설치 위치는 Windows 와 똑같이 [C:\Program Files\StarUML] 로 한다.


10. 시작메뉴의 메뉴이름 지정이다. 기본값 그대로 쓰자.


11. 바탕화면(<-Windows 처럼)에 단축 아이콘 갖다 놓자.



12. 자~ 이제 설치해보자.


13. 정말 Windows 같다.


14. 어라~? 잘 설치돼다가 마지막쯤에 가서 아래와 같은 오류가 나타난다. 당황스럽다. 이 에러의 의미는 특정 컴포넌트가 Ubuntu 에 설치돼있지 않아서 발생하는 문제이다. 일단 [Abort]를 클릭하여 설치를 강제 종료한다.


15. Windows 용 컴포넌트 파일을 설치하기 위해 일단 Wine 환경으로 들어가자. Dash-Home 에서 [wine] 을 입력하고 목록 중에서 [Winetricks] 를 선택한다.


16. [Winetricks] 창이 나타난다. 목록 중 [Select the default wineprefix] 가 선택돼있는 것을 확인하고, [OK] 버튼을 클릭한다.


17. 뭐라고 잔뜩 씌여진 창이 나타난다. 자세히 읽어 보니, 도움을 주는 말(?)이다. winetricks 개발시 필요한 정보로 보자. [Yes] 버튼 클릭.(빨리 넘어가야지~)


18. 뭔가 고맙단다. ㅎㅎ [OK] 버튼 클릭.


19. 지금 wine 환경설정을 하려는 이유는 특정 컴포넌트를 설치하기 위함이다. 따라서 아래의 목록 중 [Install a Windows DLL or component] 를 선택하고 [OK] 버튼을 클릭하자.


20. 2개의 컴포넌트를 설치한다. [vcrun6]와 [msxml4] 이다. 이 2개의 컴포넌트가 Ubuntu 에 설치되지 않아서 아니 정확하게는 Wine 에 설치돼있지 않아서 문제가 발생한 것이다. 뭐든지 알면 쉽다. 해당 목록을 체크하고 [OK] 버튼을 클릭한다.


21. 음~ msxml4 부터 설치한다.


22. msxml 설치 중...


23. 계약 동의하고...


24. 사용자 정보를 넣으라고 하는데, 그냥 지나가도 된다. 다음...


25. 설치시작하기 위해 [Install Now] 버튼 클릭하자.


26. MSXML 4.0 설치 끝...


27. 이제 vcrun6 설치할 차례이다.


28. 설치가 모두 정상적으로 끝나면 다시 아래의 그림처럼 환경설정 창으로 돌아간다. 설치가 모두 끝났기 때문에 [Cancel] 버튼 클릭.


29. 역시 [Cancel] 클릭.


30. 이제 다시 설치해 보자. 이번에는 필요한 컴포넌트를 미리 설치했기 때문에 별 문제없이 설치될 것이다.



31. 역시 설치가 성공적으로 마쳤다. [Finish] 버튼을 클릭하여 프로그램을 실행해 보자.


32. 프로그램이 시작된다. 짜짠~ Windows 에서는 당연한 그림이 Ubuntu 에서는 이렇게 반가울 수가~


33. 와우~ 정상적으로 설치됐다.


34. 프로그램을 닫을 때 혹시 아래의 그림과 같은 경고가 나타날 수 있다. [Yes] 버튼을 클릭한다. 다음 부터는 다시 나타나지 않는다.


35. 바탕화면에는 Windows 처럼 단축 아이콘이 떠~억 버티고 있다.


36. 단축 아이콘을 Bar 에 드래그 하여 아이콘을 위치해 놓자.


37. 필자는 다시 프로그램을 실행하여 아주 간단하게 클래스 다이어그램을 그려봤다. 성공~ 이제 Windows 에서만 실행됐던 StarUML 을 Ubuntu 에서도 똑같이 사용할 수 있게 됐다. 여기서 강의 끝~~~

Posted by 꿈이 있는 자유
2012/01/10 18:46
<Wine>은 Linux 위에서 Windows 프로그램을 설치 및 실행하게 만드는 레이어이다. 이 사실 하나만 가지고도 얼마나 흥미로운 일인가? Linux 위에서 StarCraft 게임을 하고, Microsoft Office 를 사용할 수 있으며, 기타 Windows 에서 실행하는 프로그램들을 리눅스에서 사용가능하다. 야호~

필자 본인은 Java 관련 과목들을 강의하면서 당연히 Linux 플랫폼에서 수업을 하고 있지만, 때때로 특정 프로그램 때문에 Windows 플랫폼을 실행해야 할 때가 많았었다. 뭐 Microsoft Office 대신에 LibreOffice 를 사용하고, Notepad, Editplus 대신에 gedit 를 사용하는 것은 별 문제가 없었다. 하지만, UML 다이어그램을 그리기 위해 StarUML 을 사용하고 싶은데, 안타깝게도 StarUML 은 리눅스에서는 설치조차 할 수 없다. 따라서 그동안 Java class 작성은 Linux 의 Eclipse 에서 하고, UML 다이어그램 작업은 Windows 플랫폼에서 할 수 밖에 없었다. 그래서 아예 작심하고 이참에 Wine 을 설치해서 Linux 플랫폼상에 Windows 프로그램을 실행할 수 있도록 하겠다.

이에 필요한 레이어 패키지는 Wine 말고도 여러 프로그램들이 있다. 가령, PlayOnLinux, Wine-Door 같은 프로그램들을 설치해도 된다. 필자는 가장 대표적인 패키지로 Wine 을 설치해 보도록 하겠다.

1. 먼저 Wine 홈페이지를 방문해 보자. http://www.winehq.org 이다. 
  


2. 현재 필자가 작성하는 버전은 Wine 1.3.36 버전이 최신이다. 사이트 여기저기 방문해 보자. 필자는 Wine 홈페이지 [Download] 에서 제시하는 방법 그대로 진행하도록 하겠다.

3. 터미널 창을 열어서 아래와 같이 입력하여 레포지터리에 추가하자.
    


4. 당연히 관리자 암호를 입력하고.
    


5. 그러면 PPA 에 공식적인 WineHQ 가 추가된다. [Enter] 키를 누르자.


6. 리포지터리 추가가 끝났다.


7. 리포지터리 추가가 끝나면 당연히 업데이트를 해줘야 한다.


8. 업데이트가 끝났다.


9. 자~ 이제 Wine 을 설치해보자. 다시한번 이 글을 쓰고 있는 지금의 최신 버전은 1.3.x 이다.


10. 한번 묻는다. 'y'를 누른다.


11. Wine 설치가 끝났다. 의외로 쉽다.


12. 설치가 모두 끝나면 Dash home 에 가서 'wine'을 입력해 보자. 그리고, 아래의 그림처럼 목록이 나타나면, 여기서 [Winetricks] 아이콘을 클릭하여 선택한다. 이 작업은 Wine 초기화를 위한 작업이다.


13. Wine 초기화 작업을 하고 있다. 이 작업은 홈디렉토리 본인 계정 디렉토리 하위에 숨김속성의 wine 디렉토리를 생성한다. 이제, 이 디렉토리의 비밀을 알아보자.


14. 지금부터 wineprefix 설정을 시작한다. [Winetricks] 창이 나타나면, 환경설정을 위해 [Select the default wineprefix] 라디오버튼을 선택하고 [OK] 버튼을 클릭하자.


15. Wine 초기화 작업이 모두 끝나면 본인의 home 디렉토리로 가보라. 그리고 숨김속성의 화일과 디렉토리를 디스플레이하기 위해 [Ctrl + H] 키를 누르자. 그러면 아래의 그림처럼 모든 디렉토리와 파일들을 보여준다. 여기서 특별히 없던 디렉토리가 생겼는데, 바로 [.wine] 디렉토리이다. 이 디렉토리는 반드시 Wine 초기화 작업을 하고 나면 자동으로 생성된다. 한번 들어가보자.


16. 어~ 뭔가 비슷하다. 그렇다. Windows 의 C 드라이버이다. 기본적으로 drive_c 에는 [windows] 디렉토리와 [program files] 디렉토리가 있다. 아래 그림처럼 [windows] 디렉토리를 방문해 보면 거의 똑같다는 것을 알 수 있다. 신기하고 재밌다.


17. 설치가 잘 됐는지, 그리고 신기해서 간단히 한 개의 프로그램을 실행해 보자. 목록중에 [regedit.exe] 즉 레지스트리 편집기로 들어가 보자. [regedit.exe]를 마우스로 선택하고 오른쪽 마우스를 눌러 컨텍스트 메뉴 중 [Open with] --> [Wine Windows Program Loader] 메뉴를 선택하자. 즉 Wine 을 이용한 Windows 프로그램 실행이다.


18. 허걱~ 똑같네(~!, 개콘의 어느 코너 개그맨처럼). Windows 의 레지스트리 편집기와 거의 흡사하다. 신기하다. 재밌다. Linux 가 더더욱 좋아진다.

Posted by 꿈이 있는 자유
2011/12/17 11:14
Ubuntu 11.10에 Java 를 설치해 보자.
일단 설치하는 방법은 크게 보면 2가지다. 하나는 Oracle 에서 개발하고 있는 Oracle Java(Sun Java)이고, 또 하나는 Open Source Java 이다. 각각은 장단점을 갖고 있다.

1. Oracle Java 를 설치한다는 것은 항상 최신 버전을 설치한다는 것을 의미한다. 그것은 Java 를 개발하고 있는 회사의 사이트에서 다운로드를 받기 때문이다. 하지만, 이 방법은 현재 Ubuntu를 지원하고 있지 않는다. 만일 Linux Fedora 를 사용한다면 rpm 버전을 다운로드 받아서 설치하면 될 것이다. 하지만 Ubuntu 에 설치하려면 별도의 설치방법을 사용해야 한다. 그 방법은 다음 글에서 설명하도록 하겠다.

2. Open Source Java 를 설치한다는 것은 Ubuntu 에 최적화된 패키지를 설치한다는 것을 의미한다. 따라서 보다 편하게 그리고 에러없이 설치할 수 있다. 하지만 이 방법은 Oracle Java 의 최신버전을 사용하지는 않는다. 아마도 한 두 단계 하위 버전을 사용할 것이다. 이번 글에서는 이 방법을 설명하려고 한다.

이 설치방법은 일반적으로 Ubuntu 에서 패키지를 설치하는 방법과 동일하다.

1. 일단 저장소를 확인해 보자. 현재 대부분 한국에서 Ubuntu 를 사용하는 분들은 아마도 Update Server 를 Daum 으로 할 것이다. 물론 이 서버로도 업데이트 혹은 다운로드하는데 큰 문제는 없다. Daum Server 를 사용해도 된다. Terminal(Ctrl + Alt + T) 을 열어서 아래의 저장소를 추가해 보자. ppa 에 대해서는 여기를 참고해 보라.
    1) sudo add-apt-repository ppa:ferramroberto/java
    2) sudo add-apt-repository ppa:nilarimogard/webupd8

2. repository 가 Daum Server 이든 위에서 추가한 저장소이건 상관없이 반드시 update 하자.

sudo apt-get update


3. 설치할 패키는 다음과 같다. 
   openjdk-7-jdk, openjdk-7-jre, openjdk-7-demo, openjdk-7-doc
  
sudo apt-get install openjdk-7-jdk openjdk-7-jre openjdk-7-demo openjdk-7-doc



4. apt-get 은 패키지종속성(dependencies)를 관리하며, 변경사항들을 목록화한다. 'y' 키를 눌러 설치를 진행하자.



5. 자~ 설치가 모두 끝났다. 간단하다. 무지 쉽다.

 



6. 설치가 끝나면 /usr/lib/jvm/java-7-openjdk-i386/ 에 설치될 것이다.



7. 그럼...Java 버전과 Java Compiler 를 확인해 보자.



8. 근데, 이상하다. Java Compiler 의 버전은 최신버전인데, Java 의 버전은 초기값 그대로다. 즉 업데이트가 되지 않았다는 것일까? 사실은 재 등록해줘야 한다. 그래서 alternatives list 에서 java 를 확인해보자.

sudo update-alternatives --config java




9. 예상한 대로 기본적으로 설치돼있는 6 버전으로 맞춰져 있다. 방금 설치한 7 버전의 번호를 확인한다. 필자의 머신에서는 2번이다. 2번을 입력한다.  



10. 그러면 2번 즉 방금 설치한 Java 7 으로 설정될 것이다.



11. 다시 한번 Java 버전 확인하자.   



12. 마지막으로 JAVA_HOME 설정하자. 굳이 PATH 는 설정할 필요가 없다. 왜냐하면 필요한 /usr/lib/java 가 설정되어 있기 때문에 PATH 는 설정할 필요는 없지만, 많은 Console 관련 패키지들은 JAVA_HOME을 참조하기 때문에 확실히 하기 위해 설정하도록 하자.

sudo gedit /etc/profile

 



13. 제일 마지막 라인에 아래와 같이 입력하고 저장한 다음 gedit 를 닫는다.

export JAVA_HOME="/usr/lib/jvm/java-1.7.0-openjdk-i386"

 



14. 이제 마지막으로 source 명령어로 변경된 profile 을 적용하도록 하자.

source /etc/profile

 


 

Posted by 꿈이 있는 자유
2011/07/20 01:18
일단 제목은 거창하게 잡았다. [JDBC를 통해 Microsoft Excel File 연결하기] 그럴듯하다.  일반적으로 JDBC 프로그래밍을 하면 Oracle, MySQL 같은 RDBMS 를 가지고 한다. 당연하다. 하지만 꼭 RDBMS 의 데이터만 핸들링하란 법은 없다. JDBC 스펙에 의하면 비정형화되어 있는 파일들(csv, xls, txt) 같은 파일들도 핸들링할 수 있다고 나와있다. 그래서 이번 글에서는 일반 텍스트파일을 Microsoft Excel 파일로 변환해서 JDBC를 통해 연결하는 프로그램을 설명하려고 한다.

일단 특별한 프로그램이나 툴을 설치하지 않는다면 일반적인 Text 파일들은 직접 Java 가 핸들링할 수 없다. 그래서 할 수 없이 Excel 파일로 변환한 다음, ODBC 를 거쳐 JDBC까지 연결하도록 하자.

1. 먼저 필자는 Editplus 를 이용해서 아래의 그림과 같이 텍스트 파일을 만들었다. 앞에서부터 제품이름, 제품수량, 제품판매단가, 매입단가, 운송료이다. 현재 이 파일의 이름은 data.dat 이다.


 
2. 직접 JDBC가 텍스트 파일을 핸들링할 수 없기에, xls 파일로 변환하기 위해 Microsoft Excel 프로그램을 열었다.

 
3. 파일 열기를 하고, 이미 생성한 data.dat 파일을 선택했다.그러면 아래와 같이 [Text Import Wizard] 창이 나타난다. 먼저 [Original data type] 섹션에서 기본값 [Delimited] 가 선택돼있는 것을 확인하고 [Next] 버튼을 누른다. 미리보기를 통해 열고자 하는 파일이 보인다.

 
4. 두번째 스텝. [Delimiters] 섹션에 보면 기본값은 [Tab]이다. 필자가 생성한 파일은 탭으로 구분하지 않고, 컴마로 구분했기 때문에 [Comma] 를 선택했다. 그럼, 미리보기창에 보면 각각의 데이터가 Delimiter 기준으로 나눠짐을 볼 수 있다. [Next] 를 클릭하자.

 
5. 마지막 스텝. [Column data format] 의 기본값 [General] 을 확인하고, [Finish] 버튼을 클릭하면 변환작업이 모두 끝난다.

 
6. 변환작업이 모두 끝나면 아래의 그림처럼 [data.dat] 파일이 Excel 파일로 변환됐음을 확인할 수 있다.그리고 컴머로 구분된 자료들이 각각의 Excel 의 셀에 잘 위치하고 있음을 알 수 있다. 그리고 특별히 기억할 것은 지금 오픈한 파일의 이름이 Sheet 의 이름으로 들어온다는 것이다. 파일 아래의 Sheet 이름을 확인하자. 이건 매우 중요하다.

 
7. 이제 JDBC작업을 위해 이 data.dat 파일을 xls 파일로 변환하자. 한가지 아쉬운 점은 xlsx 즉 Excel 2007 버전 이상파일로 변환할 수 없다는 것이다. 그래서 필자는 할 수 없이  [다른 이름으로 저장]할 때 [Excel 97-2003 Workbook]으로 저장했다.

 
8. 필자는 C 드라이브의 Temp 폴더에 data.xls 라는 이름으로 저장했다.

 
9. 저장이 모두 끝났다. 


 
10. 이제 ODBC 로 연결하자. [제어판] 으로 들어가서 [Performance and Maintenance] 로 가자.

 
11. [관리도구] [Administrative Tools] 로 가자.

 
12. [Data Source (ODBC)] 가 보인다. 더블클릭하자.


13. [ODBC Data Source Administrator] 창이 나타난다. 여러 탭 중에 [System DSN] 탭을 선택한다. 그리고 [Add] 버튼을 클릭하여 새로운 DSN 을 추가하자.


14. [Create New Data Source] 창이 나타났다. 목록 중에서 [Driver do Microsoft Excel(*.xls)] 을 선택한다. 왜냐하면 지금 ODBC 로 연결할 파일의 확장자가 xls 즉 Excel 파일이기 때문이다. [Finish] 버튼 클릭. 

 
15. [Finish] 버튼을 클릭하면 [ODBC Microsoft Excel Setup] 창이 나타난다. 여기서 몇가지 중요한 포인트가 있다. 

  • Data Source Name : mydata (<-- 여러분들은 알아서 의미있는 이름을 주면 된다.)
    Description : (<-- 굳이 작성하지 않아도 된다.)

    [Select Workbook...] 버튼을 클릭하여 Excel 파일을 선택하도록 하자. 

 
16. [Select Workbook]창이 나타난다. 여기서 위에서 xls 파일 저장한 디렉토리에 가서 저장한 파일을 지정한다. 그리고 [OK] 버튼을 클릭하여 창을 닫자.

 
17. 그러면 아래와 같이 [Version] 밑에 [Workbook:] 이 들어오고 방금 선택한 파일의 경로가 나온다. [OK] 버튼을 클릭하여 창을 닫자.

 
18. 아래 그림과 같이 [mydata] 라는 이름의 Data Source Name 이 완성됐다. [OK] 버튼을 클리하여 ODBC 관리자 창을 닫자.

 
19. 이제 Java 프로그래밍 할 차례이다. 아래와 같이 코딩했다. 
이 코드에서 중요한 부분은 
1) JDBC Driver 가 JDBC-ODBC Bridge Driver 라는 점.
2) JDBC url 은 jdbc:odbc:Data Source Name 이라는 점
3) Select 할 때 테이블의 이름은 Excel 의 Sheet 이름이며, Sheet 의 이름을 갖고 올 때  반드시 [Sheet Name$]로 해야한다는 점
4) Excel 파일의 각 셀에 저장한 값을 갖고 올 때 데이타타입별로 갖고 올 수 있다는 점. 즉 갖고 올 데이터가 정수이면 비록 텍스트파일에 저장돼있을 때 스트링이었다 하더라도 정수로 갖고 올 수 있다는 점이다.


20. 결과는 아래와 같다. 성공적으로 데이터를 갖고 온 것임을 알 수 있다. 이로써, 텍스트 파일이나 csv 혹은 xls 파일같은 비정형 데이터도 JDBC 에서 처리할 수 있다는 것을 확인했다. 재밌다. 여기서 한 가지 주의할 점은 Excel 파일의 데이터를 갖고 올 때 첫 행 글이 들어오지 않을 것이다. 이것은 첫 행은 헤더로 보기 때문이다. 그래서 Excel 파일에서는 첫 행에 반드시 제목을 주어야 한다. 잊지 말자. 


 
※ 필자의 본 글을 작성하기 위해 참조한 사이트 주소를 소개합니다. 
http://javaprogrammingforums.com/jdbc-database-tutorials/356-how-connect-excel-spreadsheet-using-jdbc-java.html

http://www.ehow.com/how_4810548_use-jdbc-connect-ms-excel.html 

http://www.jdbctutorial.net/jdbc-read-data-microsoft-excel-sheet.php 

Posted by 꿈이 있는 자유