클라우드 프로그램의 제일 힘든 것은 시스템이 아니라 그 기반 하에서 어떻게 프로그래밍 하느냐 입니다. 




sponsored post : [http://www.ibm.com/developerworks/kr/
대단합니다.

메시지가 ㄷㄷㄷ
회사에서는 ubuntu를 사용하고 있습니다. ubuntu 9.x에서 10.x 버전이 소프트웨어 업데이트로 그냥 진행되는 것에 감동했었지요. 예전 리눅스를 설치할 때보다 많이 편해졌습니다. 하지만 아직도 잘 모르겠는 것이 파티션을 어떻게 나눌까 라고 나오면 ?..? 음 뭐지? 라는 생각과 함께, 주저없이 Default 옵션을 찾기 시작합니다. ubuntu도 그렇게 설치를 했지요.

http://www.ibm.com/developerworks/kr/library/l-lpic1-v3-102-1/index.html 글에 리눅스의 기초를 다질 내용이 있어 소개합니다. Linux 학습, 기초 과정: 하드 디스크 레이아웃 
루트(/)에 있는 다음 경로들은 상식적으로 알아두면 좋을 것 같습니다.
디렉토리설명
bin 필수 명령 2진 파일
boot 부트 로더의 정적 파일
dev 장치 파일
etc 특정 호스트에 적합한 시스템 구성
lib 필수 공유 라이브러리 및 커널 모듈
media 이동식 매체용 마운트 지점
mnt 파일 시스템을 임시로 마운트하기 위한 마운트 지점
opt 추가 기능 애플리케이션 소프트웨어 패키지
sbin 필수 시스템 2진 파일
srv 이 시스템에서 제공하는 서비스를 위한 데이터
tmp 임시 파일
usr 보조 계층 구조
var 변수 데이터

이 외에도 임시 공간인 swap영역을 얼마의 크기로 할당할지 그리고, 서버쪽에서 많이 사용하는 SCSI방식의 드라이브나 흔히 많이 사용하는 IDE방식의 드라이브 등을 연결하고 파티션을 사용하는 방법들을 설명합니다.

애플리케이션 프로그래머인 저에게는 조금 버거운 내용이지만, 그래도 촌티를 벗기위한 좋은 가이드가 아닌가 생각됩니다.

이것은 미친 짓이었다. 혁신을 위한 준비와 의욕, 열정이 충천한 팀이 있었다. 그들은 소비자들의 욕구를 충족시킬 뿐 아니라 이것을 뛰어넘는 훌륭한 의견을 생각해냈다. 그것은 모바일 매체를 더 넓은 비즈니스 전략으로 통합시키는 것이었으며 솔직히 가장 좋은 아이디어 중 하나였다. 그러나 이것은 임원의 독단에 의해 짓밟혀졌다. 다름 사람이 그런 말을 했다면, 못마땅한 얼굴로 "넌 도움이 안 돼!" 하는 소리를 들었을 것이다.

결국, 그 프로젝트는 시행되지 못하였다. 열매도 맺지 못하고 죽어버린 것이다. 그 방에 있었던 대부분의 사람들은 마침내 다른 부서로 옮겨가거나 그 회사를 떠났다. 그리고 필자가 알기로는, 그 프로젝트를 없앴던 간부는 아직도 거기에 있다.

from: 모바일 디자인 & 개발, 브라이언 플링, 지앤선, 78p

10/04일에 maven 3.0이 나왔습니다. http://maven.apache.org/
가볍게 2.8M의 파일을 받아서 압축을 풀었습니다. /home/kenu/java/apache-maven-3.0/

환경변수 $PATH에 maven실행파일 경로를 추가했습니다.
JAVA_HOME=/home/kenu/java/jdk1.6.0_18
PATH=$PATH:$JAVA_HOME/bin:/home/kenu/java/apache-maven-3.0/bin
export JAVA_HOME
export PATH

환경변수를 적용하고, mvn 버전을 확인합니다.
$. ~/.profile
$mvn -version
Apache Maven 3.0 (r1004208; 2010-10-04 20:50:56+0900)
Java version: 1.6.0_18
Java home: /home/kenu/java/jdk1.6.0_18/jre
Default locale: ko_KR, platform encoding: UTF-8
OS name: "linux" version: "2.6.32-25-generic" arch: "amd64" Family: "unix"

설치는 잘 되었습니다.
샘플 프로젝트를 만들어봅니다. phase는 generate , groupId는 com.mycompany.app, artifactId는 my-app 정도가 됩니다.
mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

이렇게 만들어집니다.
kenu@kenu-ubuntu:~/maven$ cd my-app
kenu@kenu-ubuntu:~/maven/my-app$ tree
.
|-- pom.xml
`-- src
    |-- main
    |   `-- java
    |       `-- com
    |           `-- mycompany
    |               `-- app
    |                   `-- App.java
    `-- test
        `-- java
            `-- com
                `-- mycompany
                    `-- app
                        `-- AppTest.java


이제 컴파일하고 빌드를 해봅니다.
mvn package

경로를 바꾸고 실행은 다음과 같이 할 수 있습니다.
java -cp target/my-app-1.0-SNAPSHOT.jar com.mycompany.app.App
Hello World!

설치는 잘 되었습니다.
사용자 홈 디렉토리 아래 .m2 라는 폴더가 생겨서 여기에 다운로드되는 파일들이 많이 있습니다. 로컬 캐시역할을 하기 때문에 처음 실행시에는 시간이 많이 걸립니다.

Ant를 넘어서 maven으로 갈아탈 준비중입니다.

구글 덕에 한글날 기념되고 있습니다.
564돌 한글날

디자인 담당자는 재밌게 살고 계실 것 같습니다.
혹시나 해서 보냈는데, 여지없이 반송입니다.
76통! 
다음 번 메일링에서는 제외해야겠습니다. 


구글이 맘만 먹으면 세계정복은 시간문제겠지만, 그 전에 제가 세상을 뜨겠죠.

이곳 저곳에 연락처가 널린 채로 있으면 괜히 복잡해질까봐 기존 것 csv로 일단 백업하고 모든 주소록 싹 지웠습니다.

그리고 구글 저장소를 이용하기 시작하려고 합니다.
아이폰, 안드로이드폰, 맥, 아이팟터치, 아이패드 등에서 고루 사용할 수 있겠죠.

아웃룩보다 Gmail이 편하게 느껴지는 것은 디바이스를 오가면서 동일한 정보를 볼 수 있기 때문이죠. 애증의 구글이지만 가장 범용성이 뛰어난 것은 인정합니다.

 
맥의 주소록 메뉴에서 주소록 > 환경설정... > 계정 탭에 구글과 동기화 항목이 있습니다.

구글의 주소록 관리페이지는 gmail에 있는데 꼭꼭 숨어있습니다.
파일첨부합니다.

+ Recent posts