Whiteship's Note


S1A - Spring Dynamic Modules Updates : Costin Leau

Spring/S1A : 2008. 12. 5. 12:33


스프링 DM 기본 설명

스프링 애플리케이션에서 추가 코드 없이 OSGi를 사용할 수 있다.
=> 스프링 철학과 일맥상통한다. non-invasive

스프링 DM
- 오라클(/BEA)와 함꼐 협업하고 있다.
=> 스프링 DM이 OSGi 스펙을 주도 하고 있다.

Raw OSGi
=> 다이나믹스를 다루기 위한 반복적인 코드가 필요하다.
=> OSGi 번들은 일반 JAR 파일로 무엇을 사용하고공개할지 정의한 파일을 가지고 있다.
=> 손수 해야 할 일이 많다.

OSGi에서 스프링 사용하기
=> OSGi 서비스를 룩업하지 말고 DI하기

POJO developement in OSGi

기능 살펴보기

번들 == ApplicationContext
=> 하나의 번들은 하나의 application context를 가지고 있다. 직접 만들 필요는 없다. 모듈을 정의하고 설정을 만들고 배포하면 되지.. 스프링을 이용하려고 뭔가를 하지 않아도 된다.

OSGi-aware Contexxt
=> OSGi 환경에 대해 알고 싶다면(예를 들어, BundleContextAware)같은 인터페이스를 사용할 수 있다.
=> bundle 스코프 제공
=> 여러 모듈에 걸친 application context 설정파일 사용가능

애플리케이션 == 모듈 집합

OSGi 서비스 == 스프링 빈

=> 서비스 레지스트리는 loose coupling을 실현해준다.

서비스 공개하기(export)
=> 보통 인터페이스를 기준으로 공개한다.
=>  auto-export 속성

서비스 참조하기(import)
=> 서비스 다이나믹스를 내부에서 다뤄준다.

데모
1. STS에서 dm 서버 실행한다.
2. localhost 2401로 telnet한다.
3. osgi> 콘솔 확인 help로 기본 명령어 확인
4. ss로 설치된 번들 확인
5. bundle 번들id로 번들 정보 확인

1. 간단한 서비스 공개(하나는 all-classses, 하는 interface)
2. 번들을 dm 서버에 설치하고 공개된 서비스 확인

1.  shape 번들 만들고 서비스 세 개 공개
2. MF 파일 고칠 거 없다.
3. dm 서버에 배포하고 공개된 서비스 확인

1. painter manager 번들 만들고 painter와 packageAdmin 서비스 레퍼런스 가져온다.
2. osgi:list로 여러 서비스를 참조할 수 있다.
3. BundleLogger에  packageAdmin 주입.

서비스 다이나믹(dynamics)
=> dynamic은 서비스가 언제든지 새로 추가되거나 없어질 수 있다는 거다.
Dependency resilience

만약
- 대응하는 서비스가 없다면
- 대응하는 서브시가 여러 개라면
- 대응하는 서비스가 사용 도중 없어지면
- 더 잘 매칭하는 새로운 서비스가 배포 되면

import cardinality
- 1..X: 애플리케이션 시작할 때 필요하다
=> X .. 1 일 때 서비스가 사라지면 다른 서비스 참조한다.
=> X .. N 일 때 서비스가 사라지면 컬렉션에서 빼준다.

데모

1. 쓰레드로 2초마다 그림그리는 메소드 실행하는 번들 만듬
2. painterManager 번들 stop
3. 다시 start
4. 로깅을 stop(등록한 서비스를 제거한다.)
=> 없어지면 대체제를 찾고 대체제가 없으면 기다린다.
5. 로깅 다시 start

리스닝
=> 메소드 매개 변수에서 서비스를 필터링할 수 있다.

통합 테스트 데모
1. AbsractConfigurableBundleCreatorTests 상속 받기
2. bundleContext.getBundles() 사용하기
3. getPlatformName으로 테스트할 플랫폼 선택가능. Platform.EQUINOX

1.2.0은 Compendium Services Integration
- Configuration Admin 속성을 참조하라.
- osgix 네임스페이스 공부할 것...

OSGi 4.2 계획
- Spring DM은 OSGi 4.2를 기준으로 한다.
RFC 124의 RI가 된다.
- 2009년 5/6월을 배포를 목표로..
=> 스프링 네임스페이스랑 OSGi 네임스페이스가 거의 비슷한 형태로..

로드맵
- 1.2.0은 2009년 1/2월
- 2.0(Spring, 3.0, JDK 5.0, RFC 124 RI) 2009년 5/6월

top

Write a comment.


어느덧 S1A 3일 째



지금은 S1A 세 번째 날 중 해변 파티 시간.. 수영장에서 잠깐 물놀이를 하고 호텔로 들어와서 조금 쉬고 있습니다. 처음 로드 존슨이나 유명한 스프링소스 개발자들을 봤을 때는 멀리서 얼핏 보는 것 만으로도 설레고 긴장되고 그랬는데 이젠 바로 옆에 로드 존슨이 지나가도 '아.. 로드 존슨 지나가네..' 이러고 말 정도로 스프링 소스 직원들을 정말 자주 볼 수 있었고 그래서 인지 금방 적응할 수 있었습니다.

시간이 갈 수록 이곳이 더 좋아집니다. 맑은 공기, 멋진 경치, 최고의 서비스까지.. 저같은 초짜 개발자가 이런 행복을 누려도 되는건지 좀 자숙하게 만드는 환경이기도 합니다. 다음에는 영어가 지금보다 나아지지 않으면 오지 않겠습니다.

전 이제 BOF 들으러~
top

TAG 3일째, S1A

Write a comment.


S1A - OSGi best practive by 코스틴 리우

Spring/S1A : 2008. 12. 4. 06:53


자바 애플리케이션 모듈화는 어렵다. 하지만 해결책은 있다.

개요
- 모듈성 개요
- 클래스 & 리소스 로딩
- 서비스 다아나믹스

모듈화 목적
=> 차 사고 났을 때 헤드라이트 나가면 거기만 갈아 낄 수 있도록.
=>

모듈성이 없는 app
- web/facade/repository 한 덩어리

모듈성이 있는 app
- ADao, BDao, CService

OSGi
- 1999년부터 사용 가능
- JDK 1.2 호환

모듈화 대안 - JSR277/JAM
- JAva Module
- "Opaque" 스펙 진행중
=> 어떻게 되가고 있는지 모르겠다.
- JDK 7.0 호환
=> 왜냐면 새로운 키워드를 사용해야 해서...
- OSGi 호환

모듈화 대안 - HK2
=> glassfish 팀이 사용하고 있다.
- 2007년 말에 밸표됨
- 애노테이션 기반 간단 IoC
- 정적인 시스템

OSGi/JSR 277 비교
- http://www.osgi.org/blog/
- http://underlap.blogspot.com/

클래스로딩
- 모듈은 자기 내부 패키지와 다른 모듈에서 가져온 패키지만 로딩할 수 있다.
- 모든 패키지는 버전을 가지고 있다.

Type Leakage
  - 공개한 클래스 계층 구조에서 내부 클래스
  - 공개한 시그너쳐에 있는 내부 클래스
=> 이런 일이 발생하면 안 돼. 그럼 어떻게 해야 할까?
- 내부 패키지를 공개해(
- '연결' 인터페이스를 축출해
- Generic public 타입을 사용해
- 검증 도구(bnd)를 사용해

추이적인 의존성
- A -> C1, B ->C2 => 이렇게 여러 버전 배포 가능하다. 이럴 때 X -> A, B 이렇게 되면.. C 패키지는 어떤 버전 사용하게 되는거야?? => A나 B가 사용하고 X가 직접 사용 안 하면 상관없겠지만 X가 직접 해당 패키지를 사용하게 되면 타입 캐스팅 충돌 발생할꺼다 그래서 바운더리를 만들어줘야 한다. X -> A, B, C1 이런식으로..
또는
=> A, B, X -> C2 이런식으로 한 버전을 참조하도록 한다.
- uses 지시어를 사용해서 둘 사이의 관계를 기술하라.

AOP
- 동적 클래스 확장
- 기존 모듈 경계를 깨트린다.
=> AOP의 아름다움은 바로 transparent하게  로깅이나 트랜잭션 등을 처리해 준다는 것이다.

(과거) 컴파일-타임 위빙
- Imports를 수정해야 한다.
- provisioning 을 통해서 한다.

로드 타임 위빙
=> 이미 리졸브 된 상태에서 추가로 필요한 패키지가 있으면 못 가져온다.
- Synthetic 클래스로더 하나가 Proxy Creator Module, Advoce Module, Target Module을 모두 관리해야 한다.

동적인 로드 타임 위빙
=> 위에서 설치한 모듈이 중간에 없어지면 어떡하냐.. 프록시를 없앴다가 다시 만들어야 돼.
- 의존하는 모듈을 update 해줘야 돼
=> SpringSource DM 서버에서는 알아서 해준다.

영속화/리모팅
- 클래스 로더 사용과 연관이 많다. => 해결책은 synthetic classloader

DynamicImport-Package
- 이 건 사용을 권장하지 않아.
=> 일관성이 없이 매번 실행할 때마다 문제가 있을 수도 있고 없을 수도 있다. 여러 버전을 사용할 수 있을 경우에 완전 운에 달린 게임이다.
- 프로토타입에서나 사용하고 제품에선 사용하지 말아라.

리소스 로딩
=> 클래스 로딩과 비슷한데 silent error가 발생한다.
- 리소르를 클래스와 동일한 곳에 둔다. 클래스에서 사용할 수 있도록 -> portable cnofig 자동으로 export 된다.

공유 자원
- META-INF/services
- 버저닝이 문제가 딜 수 있다.
=> 헤결 책은 extender

Externder 패턴
=> 번들 내부 리소스를 OSGi 서비스에서 사용가능하게 해준다.

웹 애플리케이션

오너쉽 문제 누가 로딩을 주도하는가?
- OSGi 플랫폼이?
- 웹 컨테이너가?
옵션
- HttpService
- Servlet Bridge
- ClassLoader bridge(스프링 DM 서버)

웹 애플리케이션에서 클래스 로딩
- WAR는 미리 정의되어 있는 클래스패스가 있다.
- OSGi에서는 뭔가가 필요하다. => 번들 처리 도구를 사용하거나, dm 서버가 해준다.

리소스 로딩
=> 스프링DM/dm 서버가 알아서 해준다.

서비스 Dynamics

OSGi 서비스
- 간적접인 계층
- 객체를 서비스 registry에 추가하거나 제거할 수 있다.
- 타입 필터링이 자동으로 적용된다.
- 서비스는 동적이다.(언제든 사라지고 나타날 수 있다.)
- OSGi 서비스는 싱글톤이다.

OSGi 서비스와 스프링 DM
- 그림
=> decoupling

서비스 Dynamics
- org.osgi.util.ServiceTracker
- Tracking Proxy(Spring DM) => 참조하던 서비스 없어지면 대체 가능한 다른 걸로 update 해준다.

다른 이슈
- 쓰레드 Context 클래스로더
- TCCL을 사용하지 말거나 스프링 DM/dm 서버처럼 관리하라.
- 쓰레딩
- 번들/애플리케이션 관리

결론
- STS, Spring DM, dm 서버를 사용하라. @.@

top

Write a comment.


S1A 첫 날 - 캐나다 개발자 셋과 미국 내에서 혼자온 한 분

Spring/S1A : 2008. 12. 2. 16:21


키노트가 끝나고 한국인들끼리 모여 있다가 토비님이 다른 쪽 테이블로 이동하는 걸보고 조금 이따가 그 쪽 테이블로 따라가 봤습니다. 캬오.. 가보길 잘 했습니다. 재밌었습니다.

캐나다 토론토에서 온 세 분의 개발자들과 미국 내에서 혼자온 한 분과 얘길 나누고 있었습니다. 넷 모두 동양인처럼 생겼는데 영어는 정말 완전 잘 했습니다. 거의 미국인이더군요. 미국에서 일하신다는 분도 뭐; 거의 미국인 수준의 영어. 영어권에서 일하는 분들은 출신이 동양인이어도 미국어를 완전 유창하게 구사하고 있었습니다. 나도 저 정도 쯤은 하고 싶다는 생각이 절로 들더군요. 그리고 좀 더 잘 알아듣고 잘 말하려고 노력하기 시작했습니다.

하지만 실수를 몇 번 했죠. ㅋㅋ 다른 나라 사람에게는 결혼했는지, 몇 살인지, 등을 물어보는게 실례인데 깜빡하고 넘 어려보이시는 분께서 결혼하셨다길래 결혼한지 몇 년이나 됐는지를 물어봤었습니다. 다행히 분위기가 좋고 토비님이 설명을 잘 해주셔서 좋게 넘어가고 포토 타임을 가지고, 명함도 나눠 갔고, 바이 바이 했습니다.

사용자 삽입 이미지

대화는 굉장히 다양했습니다.

스프링을 사용하고 있는가? 버전은 몇인가? ~
지금 어떤 일, 프로젝트를 하고 있는가? ~
옆에 분과 같은 회사에 다니나? ~
혼자 왔나? ~
오늘 키노트를 본 소감이 어떤가? 마케팅 성격이 강했던 것 같다.
Data Access쪽은 어떤 프레임워크를 사용하는가?
iBatis를 선택한 이유는?
하이버네이트는 왜? RMI 할 때 프록시 객체가 말썽이었다. 토비답: 그럴 땐 DTO를 만들어서..
이 분(kenu님) 나이가 몇 일것 같은가?
등등등...

아.. 이젠 머리가 아파서;; 정말 자야겠습니다.
top

  1. Favicon of http://seal.tistory.com BlogIcon 물개 2008.12.02 18:07 PERM. MOD/DEL REPLY

    여기 저기서 염장 포스트가 막~ 올라오넹.. 누군 플젝 마무리하느라 야근도 불사하고 일하는데 말야 --+ 선물 꼭 사와~

    Favicon of https://whiteship.tistory.com BlogIcon 기선 2008.12.03 03:29 신고 PERM MOD/DEL

    흐흣;; ㅋㅋ;;
    여기 정말 좋아요~ 다음엔 물개선생님도 같이 와요~

  2. Favicon of http://yunsunghan.tistory.com BlogIcon Max 2008.12.02 22:07 PERM. MOD/DEL REPLY

    흠... 역시 부러운거 맞습니다. 맞고요..
    앞으로도 계속 기대하고, 대리만족 할께요 ^^*

    Favicon of https://whiteship.tistory.com BlogIcon 기선 2008.12.03 03:29 신고 PERM MOD/DEL

    넵 맥스님도 다음에 같이와요. 캬캬

Write a comment.


S1A 첫 날 - 뢉 해럽 Q&A

모하니?/Thinking : 2008. 12. 2. 16:06


이번에는 사부님이 좋아하는 프로 스프링의 저자 뢉 해럽을 만났습니다. 다른 사람과 대화가 거의 끝나가던 중이라 쉽게 접근이 가능했습니다. 이번에는 영회형이 먼저 나서서 붙잡고 그 뒤를 따라 달라 붙었습니다.ㅋㅋ

사용자 삽입 이미지

사용자 삽입 이미지

스프링에서 가장 좋아하는 부분이 어디인지? JdbcTemplate
내가 Pro Spring 2.5 번역에 참여하고 있는데 너가 없더라? ㅇㅇ그 책은 젊은 책이다.(?)
개발 할 때 주로 OS는 무엇을 사용하는가? 맥 OS(단순히 이뻐서가 아니라 XP인지 비스타의 단점, 그리고 리눅스에서 불편했던 뭔가를 말했는데 잘 이해가 안 됐음)
얼마전 스프링소스 웨비나에서 dm 서버를 사용한 개발 과정을 따라해봤더니 잘 안 되더라? (어디가 안 됐는지 설명.. 좌르륵..) 아 그건 저기 보이는 쟤 때문이다.ㅋㅋㅋ 아마도 제대로 동작하지 않는 버전의 dm 서버 플러긴을 설치한 거 같은데 그 플러긴 버전을 캡춰해서 메일 보내주면 확인해주겠다. 이클립스에서 뭔가가 잘 안 되면 껐다 켜라. 그럼 된다. ㅋㅋㅋㅋ

(참고로 질문은 저 혼자 한게 아니라 토비님, 영회형, kenu님, 저 이렇게 넷이서 같이 했습니다.)

상당히 유머러스한 캐릭터라는 걸 금방 알 수 있었습니다. 스프링 시큐리티 프로퍼티즈 파일을 한글화해서 토비님께 보낸적이 있었는데 그게 아직 전달이 안 된 것 같기도 하고.. 흠.. 이슈 트래커에 올라가진 않았나 봅니다. 흠. 번역 다시해서 올려야쥐~
top

Write a comment.


S1A 첫 날 - 유겐 휄러와 Q&A

Spring/S1A : 2008. 12. 2. 15:54


정말 정말 보고 싶었던 유겐 휄러. 착해보이고 성실해보이고 잘 생겼고 개발도 잘해 여친인지 부인인지 암튼 이쁜 짝도 있고 지금까지 제가 봐왔던 유겐 휄러는 그야말로 짱입니다.

유겐 휄러를 알게 된 건 스프링 소스 코드가 아니라 이슈 트래커를 통해서였습니다. 한 참 스프링 공부를 시작하고 레퍼런스를 요약해가며 그 안에 있는 말과 코드를 이해하려고 엄청 애쓰던 때였죠. 그 때 문서에서 발견한 오타나 코드에서 이상한 점들을 이슈 트래커에 올리면 거의 매번 유겐 휄러가 이슈를 처리해줬습니다. 그리고 한 번은 OSAF 초기 모델을 만들 때 @SessionAttributes에 대해 이슈 트래커로 상당히 길게 얘기를 나누면서 그가 얼마나 자상하고 꼼꼼한지도 알 수 있었습니다.

어쨋든 보고 싶은 사람이 바로 옆에 있었는데 누군가와 매우 오래 얘길하고 있었습니다. 어쩔 수 없이 끼어들었습니다. 한 15분은 옆에서 멀뚱멀뚱 있었던 것 같습니다. 끼어들어서 3.0-m1에 대한 이야기를 나누기 시작하자 영회형, 사부님, kenu님이 함세해 주셨습니다. 캬캬

기선: 얼마전에 이슈 트래커를 봤더니 3.0-m1 이슈가 모두 처리 됐더라. 언제 공개할 생각이냐?

유겐: 이번 내에 공개할 거다. 아마 너가 돌아가기 전에 하지 않을까? ^^

기선: 오호~! 귿. 참. 난 한국에서 왔고 너가 정말 보고 싶었다. 우린 이미 이슈트래커를 통해 얘기를 많이 나눈적이 있다. @SessionAttributes에 관한 것이었는데 그 당시 너무 친절하게 답변을 달아줘서 감동먹었다. 고맙다. 사진 한 장 찍고 싶다.

유겐: 오케

사용자 삽입 이미지

대충 이렇게 시작한 대화는 상당히 길고 재밌게 이어졌습니다.

하루에 몇 시간 정도 코딩을 하는지? 주당 50~60(기억이 가물 가물)
왜 스프링 코어 이슈는 혼자 그렇게 많이 차지하고 있는지? 자기가 배정 해 줌. 배정해 줄 사람 없으면 자기가 함.
로드 존슨과 유겐 휄러의 나이는 몇인지? maybe 38, I'm 33
개발할 때 테스트를 먼저 작성하는지 나중에 작성하는지? After
스프링 3.0에서는 빌드가 어떻게 바뀌었는지? Ant + Ivy
스프링 개발을 통해 행복함을 느끼는지? intent, 신중해야 하기 때문에 압박감을 받기도 한다.
개발자로써 어떤 방법이 학습이나 성장에 도움이 될까? 현장의 문제를 다뤄라.

이 밖에도 질문과 답변 내용이 많고 유겐이 상당히 길고 친절하게 답변해줬지만 제가 지금 좀 피곤해서 짧게 요약하고 넘어갑니다. 양해해 주세요.

처음엔 말을 어떻게 걸어야 하나 고민도 많이 하고 아.. 그냥 지나칠까 말까 하다가 용기내서 말을 걸어봤는데 정말이지 세미나를 하나도 안 들었는데 이대로 집에가도 여한이 없을 정도입니다.

다음엔 싸인 받으러 또 찾아가겠다고 바이 바이 했습니다. 다음 타겟은 뢉 하랍!!
top

  1. Favicon of http://kingori.egloos.com BlogIcon kingori 2008.12.02 16:37 PERM. MOD/DEL REPLY

    오, 궁극의 질문, "나이"를 물어보셨군요!!

    Favicon of http://whiteship.tistory.com BlogIcon 기선 2008.12.02 21:05 PERM MOD/DEL

    ㅋㅋ제가 물어보진 않았어요. 잘못 물어보면 실례라는거.. 특히 여자한텐 금지래요.

  2. Favicon of http://benelog.egloos.com BlogIcon benelog 2008.12.02 19:10 PERM. MOD/DEL REPLY

    둘다 생각보다 젊네요.; 암튼 멋지고, 부럽습니다~ ^^

    Favicon of http://whiteship.tistory.com BlogIcon 기선 2008.12.02 21:06 PERM MOD/DEL

    네 젊더라구요. 무엇보다 이쁜 여친이 있다는게;;; 부럽던데요.ㅋㅋ

Write a comment.


S1A 키노트 - 로드 존슨

Spring/S1A : 2008. 12. 2. 15:33


LA에서 아침 일찍 뱅기타고 마이애미로 날아오는 도중 우여곡절이 있어서 가까스로 S1A 저녁시간에 맞춰서 도착했습니다. 도착해서 DAUM과 삼성 SDS에서 오신 분들을 만나서 인사를 나누고 같이 저녁식사를 하고 그 자리에서 키노트가 시작됐습니다.

키노트에서 언급한 내용은 많았지만, 그걸 전부 요약하긴 힘들고 제가 중간 중간 요약한 것만 공개하겠습니다.

스프링 3.0
- 스프링 설정 파일에서 EL 사용 가능
- JavaConfig에 Ajax 지원 기능 추가
- 웹에서 REST 지원
- Web Flow 관련 기능 중 일부 Core 패키지에 추가

Spring stands for the creative destraction of complexity.
=> 스프링은 복잡함을 무너트림으로써 발생하는 창조적인 무언가를 대변한다.

Grails is Spring
=> Grails는 거인의 어꺠 위에 앉는 전략을 선택.

SpringSource tc Server
- 톰캣은 개발자들이 가장 많이 개발과 제품 배포에 사용하는 WAS
- 단점: 관리와 운영 툴이 약함
- 그래서 tc 서버를 만들어서 톰캣 다수의 리소스 관리 및 운영 WAR 배포를 할 수 있는 tc Server를 만들었다.

SpringSoucrce dm Server
- 완전히 새로운 차 세대. 모듈기반 애플리케이션을 위한 서버

Bundle Repository
- 수천개 라이브러리의 의존성, 소스, 문서 다운로드 가능한 라이브러리 저장소
- 번들은 어차피 JAR니까 여기를 이용하면 된다.

SpringSource Application Platform Configurator
- 완전 대박 애플리케이션. 예전에 사부님이 만들고자 했던 바로 그걸 스프링소스가 만들었다.
- 개발할 애플리케이션 플랫폼을 만들어 준다.
- 워크 프로우를 타면서 애플리케이션 종류(웹, 배치, 기타 덩덩덩), 웹 이라면 사용할 MVC 프레임워크(JSF, SWF, ..), 웹 일 경우 애플리케이션 돌릴 서버 선택, 예제 애플리케이션 추가 여부 선택, 개발자 테스트 추가 여부 선택 등을 거치면 최종적으로 압축 파일로 애플리케이션 플랫폼을 만들어 준다.

말은 거의 못 알아듣고 화면만 보면서 유추한거라 틀린 내용이 있을 수도 있습니다. 양해해 주세요.

로드 존슨과 기념샷

사용자 삽입 이미지
내일은 책 들고가서 싸인 받아야겠다. 너무 좋아서 얼굴이 엉망이네.ㅋㅋ
top

  1. epro 2008.12.02 16:20 PERM. MOD/DEL REPLY

    하하하 로드 존슨 만났구나!! 완전 멋진데~

    Favicon of https://whiteship.tistory.com BlogIcon 기선 2008.12.02 16:23 신고 PERM MOD/DEL

    ㅋㅋ하고 싶은 포즈가 있다고 했더니.. 제가 하고 싶은 건 줄 알고 안 따라하시더라구요. 그래서

    "유 투 유 투"

    그럤더니 웃으면서 따라해 주시던데요.ㅋㅋ

  2. Favicon of http://helols.tistory.com BlogIcon 성윤 2008.12.02 16:23 PERM. MOD/DEL REPLY

    헉;; 대박이다;; ㅜㅜ

    Favicon of https://whiteship.tistory.com BlogIcon 기선 2008.12.02 16:26 신고 PERM MOD/DEL

    네 대박이었죠. 다른 글 댓글에도 댓글을 달고 싶은데 인터넷이 느려서 그런지 잘 안 열리네요.

    지금은 너무 머리가 아파서 잡니다.

  3. Favicon of http://sonegy.egloos.com BlogIcon sonegy 2008.12.03 14:51 PERM. MOD/DEL REPLY

    거진 미국에 간 애인 만난 표정이네요~

    Favicon of https://whiteship.tistory.com BlogIcon 기선 2008.12.03 17:55 신고 PERM MOD/DEL

    ㅋㅋ너무 좋아하는 표정이죠.

Write a comment.


12월 Whiteship's 미국 비행기 일정표

모하니?/Planning : 2008. 10. 17. 13:17


일단 크게 컨퍼런스를 마친 다음 아틀란타에 가서 볼 일을 보고 돌아옵니다.



top

Write a comment.


S1A 비행기 예약 + 호텔 예약

모하니?/Planning : 2008. 9. 23. 13:20


사용자 삽입 이미지

맨 위 세 개는 가는거, 아래 세 개는 오는거 입니다.

원래는 나리타에서 1시간, 디트로이트에서 1시간 25분 텀으로 갈아타게 되어있었는데, 너무 촉박한것 같아서 여행사에 문의해서 좀 더 여유롭게 바꿔달라고 요청했습니다.

결국 나리타에서 2시간, 디트로이트에서 8시간을 보내다보니, 도착 시간이.. 12월 1일 오전 1시정도가 됩니다. 호텔에 들어가면 2시가 될 것 같은데.. 그날 자고 일어나서 바로 컨퍼런스에 참여하면 될 것 같네요. 캬오~ 호텔비가 줄어듭니다. 후훗.

나리타 항공에서 갈아타는 방법은 쉬운 것 같더군요. 짐도 알아서 이동하기 때문에, 챙길 필요도 없고, 한국어도 적혀 있으니.. 안심입니다.

디트로이트에서는 일단 입국 심사와 세관을 거친다음 갈아타야 합니다. 이건 좀 불안하지만, 시간은 넉넉하니까 차근차근 하면 될 것 같습니다.

비행기는 결제하려면 여권이 있어야 되서 저녁에 집에가서 해야 할 듯.

사용자 삽입 이미지

호텔 예약은 미리 지불하는게 아니라 다행입니다. 일단 예약 완료.

이것으로... 컨퍼런스 갈 준비는 다 됐습니다. 이제 예습해서 머리를 채우고, 영어 듣기를 해서 귀를 뚫어둬야겠습니다. 가서 주변사람들이랑 할 말도 준비해야되고 말이죠. 할 것들이 많네요.
top

Write a comment.


S1A(Spring One America) 질렀다. 가는거다.

모하니?/Planning : 2008. 9. 22. 22:12


리스트의 라 캄파넬라(종소리)

낮에 카드 한도 때문에 고생했는데, 집에 굴러다니던 카드는 한도가 남아있었나봅니다. 캬하하.. 1350달러를 질러보긴 처음인데 기분이 째지는군요. 현재 환율로 155만원 정도 입니다. 몇 주 전까지만 해도 150만원 미만이였는데, 요즘 환율이 갑자기 오르는 바람에.ㅎㅎ. 낭패로군요.

제가 번 돈으로 제가 가고 싶은 세미나에 참석하게 됩니다. 다니는 회사에서 원랜 지원해주기로 했었지만, 사정이 사정이다 보니;; 걍 제 돈으로 질렀습니다. 후훗.

이제 비행기랑 호텔만 지르면 됩니다. 일단은 비행기부터 지르고,, 친구 말로는 호텔 말고 주변 여관가서 싸게 자라는데;;; 그러긴 위험할까봐 싫고, 비싸도 걍 호텔에서;; 혼자 호텔에서 된장남 놀이하는 한이 있더라도..ㅋ

사용자 삽입 이미지

오.. 나 정말.. 가는건가.. ㅎㅎㅎㅎ;; 실감이 나질 않아~

top

  1. Favicon of http://whitebear.tistory.com BlogIcon Matthew Kim 2008.09.22 22:47 PERM. MOD/DEL REPLY

    이제 SpringOne 세미나 참석에 한발 다가 가네요...
    저도 해외 세미나를 가고 싶은 마음은 굴꾹 같지만.. 여러가지 여건이 안되서 (핑곈가..)
    못가고 있습니다.
    세미나까지 차근차근 준비하세요.. ^^

    Favicon of https://whiteship.tistory.com BlogIcon 기선 2008.09.22 23:39 신고 PERM MOD/DEL

    넵~ 차근차근.. 열심히 준비해야 될 것 같네요.

    영어도 꾸준히 들어야 하고 발표자 공략과 발표에 대한 사전 예습까지.. @_@

Write a comment.