아침에 제목만 쓰고 집에와서 내용 씁니다.
(블로그 일기에 빈 날짜가 있을까봐요. ^^;)

비즈니스를 하는 원칙 중 하나가, 확장 -> 내실 -> 확장 -> 내실... 입니다.
두 블로그에서 까인 JCO 행사였지만, 기우였다는 게 밝혀져서 다행입니다.

사실 새옹지마라고 예측은 할 수 없지만, 지나고 나면 쉽게 풀리는 게 인생입니다.
---- 이상 술김에 얘기한 것입니다. ----

오늘 발표는 무사히 넘어갔습니다. 웃어주신 분들께 고맙고, 웃음소리 들으신 만큼 복받으실 겁니다.

현재 개발자로 특히나 자바 개발자로 살아가는 많은 분들을 보고 찍었습니다. 아침에 한시간 이상을 줄 서면서도 그리고 속으로 욕하면서도 자리를 지키신 분들께 고맙습니다.
싫어도 불편해도 자리를 지킨다는 것은 자체가 쉽지 않기 때문입니다.

심형래 처럼 꿈을 쫓는 돈키호테를 제 인생의 모델로 삼았습니다. 둘시네아라는 결혼하지 못한 여자가 있고(저는 좀 낫습니다. ^^; 애가 둘이니까요.) 미친 놈처럼 풍차랑 싸우고...

후회없이 사는 것... 미련없이(미련하지 않게 스마트하게) 사는 것...

제 숙제입니다.

모두 수고하셨습니다.
^^ 내일은 더 행복하세요.

제9회 한국자바개발자 컨퍼런스(Enjoy Java! Change the World!)

http://media.daum.net
에서 jco로 검색하니까 조용하군요.
글을 올린 시간과 비슷하게 네이버쪽에 기사가 올라온 듯 하네요.
http://news.naver.com/search/search.naver?rcsection=&query=jco
전자신문과 함께 준비했는데, 아직 기사가 안나간 것 같습니다. 아마도 행사후 기사로 나갈 듯 하네요.
내일은 제 세션 발표 후 마소 편집장님과 만나기로 했는데, 무슨 말씀을 하실지 걱정 반 기대 반입니다.

40분의 시간 가운데, 신기술이나 어려운 내용은 없습니다. 프리젠테이션 자료도 아주 평범합니다. 이미지라도 추가할까 하다가 음성만 들어도 손색없는 강의를 해보자라는 욕심이 생겼습니다. 요즘 IT Conversations 의 강연 MP3를 podcast를 통해서 듣고 있어서 그런 것 같습니다.

사무실도 없는 JCO가 9년째 벌이는 일입니다. 자원봉사정신으로 커뮤니티를 운영한 사람들이 십시일반으로 모여서 수천명의 자바 개발자가 모이는 일을 벌입니다. 돈이 어디서 나겠습니까. 후원사죠. 작년의 1시간씩 4트랙 4개의 세션에서 이번엔 40분씩 5개트랙 6개 세션으로 두 배 조금 안 되게 늘였습니다. 이 가운데 절반이 후원사에서 강의를 하게 됩니다. 제품 광고가 안 들어갈 수는 없지만, 남에게 추천할 만한 제품이었으면 좋겠습니다. 이클립스 같이요. ^^;

준비한 몇 달 동안 회사와 가정에 소홀해진 운영위원들 고생많았습니다. 아무도 이기적인 의도로 이 행사를 준비하지는 않을 것입니다. 개발자에게 돈아끼지 않는 MS와는 달리 자바 커뮤니티 자체에서 시작한 행사라 의미가 있습니다.

이런 것은 차치하고라도 1년에 한 번 자바 개발자들이 전국방방곡곡에서 모여 의기투합할 공간이 생긴 것도 의미가 있다고 생각합니다. 기념품들 잘 챙기시고, 이직 때문에 보고 싶어도 못봤던 옛동료들을 만날 수 있는 좋은 자리입니다.

수업시간이 아닙니다. 말 그대로 트렌드를 전달하는 시간입니다. 물론 트렌드야 TSS나 JavaBlogs.com을 가면 빨리 알 수 있지만, 강의를 맡은 분들은 그 기술의 체험담을 얘기할 것입니다.

내일 기대됩니다. 걱정도 많이 됩니다. 그렇게 구하기 힘들다는 자바 프로그래머들의 행사에 아무 미디어도 관심을 쏟아주지 않는 현실이 참 거시기 합니다.

내일 뵙죠. ^^ 웃는 얼굴로...
n모사는 또 이쁜 부쓰걸 보내주실 걸로 기대합니다.

어제 보낸 메일링리스트 답장이 왔습니다. Sun Microsystems에서 근무하시는 분이십니다. Aaron Houston 님.

그래서 답장 보냈습니다. ㅎㅎ 먼저 한글로 쓰고 번역기 돌렸습니다. 머릿속에 있는 ^^;

답신 내용은 이렇습니다.


고맙습니다.

기대하지 못했던 답장입니다.

이번 컨퍼런스는 한국 개발자들의 축제입니다. 5월에 열리는 자바원 2008 전세계 자바인의 축제인 것처럼요.

양수열 님은 2006년에 옥상훈 님에게 회장자리를 물려주었고, 2008년에는 최상훈 님으로 이어받게 됩니다.

 

조인영 에반젤리트께서 갑자기 아프다는 연락이 와서 이번에 참석을 못하게 됩니다.

그분의 쾌유를 빕니다.

 

한국에서는 엔터프라이즈 프로그래밍 언어로 자바가 주류입니다.

가끔씩 한국의 자바 커뮤니티 소식을 메일링리스트를 통해서 전달하겠습니다.

 

행복하세요.


아래가 진짜...

-------------------------

Thank you, Aaron Houston.

I'm appreciate for your reply that I unexpected.

 

This conference is a big festival for Korean Java Programmers, such as JavaOne 2008 in May for the World Java Programmers.

 

Mr. Sooyeol Yang passed Chairmanship to Mr. Sanghoon Ok in 2006, And Mr. Sanghoon Choi, who is vice chairman now will be the next in this year.

 

Unhappily, Evangelist Inyoung Cho's abrupt sickness make her absence this time.

She was expected to open a new java trend session.

I wish her getting well ASAP.

 

In Korea, many enterprise software projects are based in java technology.

So we train java programmers more and more.

Maybe it's almost 100,000 java programmers in Korea.

 

Now, I was encouraged for your reply.

So, I'll send Korean java community news occasionally.

I've subscribed this mailing list over 3 years. Just reading.

 

Sincerely,

 

Kenu, Heo

82-11-9595-2045

www.okjsp.pe.kr

 

 

-----Original Message-----

From: Aaron.Houston@Sun.COM [mailto:Aaron.Houston@Sun.COM]

Sent: Thursday, February 14, 2008 1:28 AM

To: jug-leaders@jugs.dev.java.net

Subject: Re: [jug-leaders] 9th Korea Java Conference will be open this Saturday.

 

Hello Kenu Heo...

 

And WELCOME to the JUG Leaders mailing list... Give my respects to your

Chairman: Mr. Sooyeol Yang. Good Luck on your Conference this weekend!

 

The Java Community Organization (JCO) is a very large JUG from Korea.

Our Evangelists Inyoung Cho and Sang Shin visit there often. They have a membership of over 8000 Java Developers....

 

Again....Welcome Aboard...Nice to have a representative from your community on this list.

 

 

Cordially,

 

Aaron Houston

Program Coordinator

Java User Groups

Java Champions

Technology Outreach

Sun Microsystems, Inc.

Menlo Park, Ca

 

 

허광남 wrote:

> 

> Hi. Jug-leaders

> 

> I’m Kenu Heo

> 

> I live in South Korea. Owner of JSP/Servlet Community Site,

> www.okjsp.pe.kr <http://www.okjsp.pe.kr> ,

> 

> JCO(www.jco.or.kr <http://www.jco.or.kr>) member site

> 

> This Saturday 16^th , Feb. We will open 9^th Korea Java Conference

> 

> “Enjoy Java! Change the World”

> 

> Site: http://www.jco.or.kr/conference/conferenceInfo9th.jsp

> 

> (sorry for all Korean Languange)

> 

> It’s free enterence, conference book will be sold in about $10 optionally.

> 

> We have 2 keynotes, and 30 sessions.

> 

> Until yesterday evening, about 4,500 korean java developers registered.

> 

> Many vendors sponsor this conference.

> 

> Let’s Enjoy Java! Change the World.

> 

> From South Korea

> 

> Kenu, Heo

> 

> 82-11-9595-2045

> 

> www.okjsp.pe.kr <http://www.okjsp.pe.kr>

> 



영어로 호들갑 떨고 있는 제 자신이 아직 어리게 느껴집니다. ^^; 환갑이 23년 남은 사람이 철없긴...

dev.java.net 이라는 사이트에 jugs.dev.java.net 이라는 그룹이 있습니다.
전 세계의 Java User Groups 의 모임이라고 할 수 있는데, 여기 메일링리스트를 3년째 구독해오고 있었죠. 오늘 처음으로 여기에 메일을 날렸습니다.

Hi. Jug-leaders

I’m Kenu Heo

I live in South Korea. Owner of JSP/Servlet Community Site, www.okjsp.pe.kr ,

JCO(www.jco.or.kr) member site

This Saturday 16th, Feb. We will open 9th Korea Java Conference

“Enjoy Java! Change the World”

Site: http://www.jco.or.kr/conference/conferenceInfo9th.jsp

(sorry for all Korean Languange)

 

Its free enterence, conference book will be sold in about $10 optionally.

We have 2 keynotes, and 30 sessions.

 

Until yesterday evening, about 4,500 korean java developers registered.

Many vendors sponsor this conference.

 

Lets Enjoy Java! Change the World.

 

From South Korea

Kenu, Heo

82-11-9595-2045

www.okjsp.pe.kr

 

세계에 내놓아도 손색없는 행사인데, 그노무 영어 때문에 너무 숨겨진 것 아닌가 생각됩니다.
힘내야죠.

2008년 제9회 JCO 자바컨퍼런스에서 발표할 내용입니다.
대략의 줄거리는 다음과 같습니다.

레거시 코드 관리 전략
허광남
GS이숍

목차
레거시 코드란?
남이 짠 코드 빨리 알아보기
리팩토링 방법
테스트케이스라굽쇼?
인터페이스의 역할
복사할 것인가 상속할 것인가
기능 추가 방법
팀역량

수많은 방법론 중에
개발 방법론은 넘쳐나지만 유지보수에 관한 방법론은 어디에?
소프트웨어의 변경주기는 짧아지고 있다.
웹 비즈니스 애플리케이션은 기민하고 안정적으로 변경하는 것이 관리의 목표

레거시 코드
누군가 나에게 맡겨놓은 코드
자기가 직접 짜지 않은 누군가가 만들어 놓은 코드
많은 의문의 그림자와 중압감을 내포한 코드
얽히고 설킨, 아둔하게 짜놓은, 갈아엎고 싶지만   그럴 자신이 안 생기는 코드

레거시 코드
기능 하나 추가하려면 몇 일 밤 새게 만드는 코드
어느 누구도 선뜻 나서지 않는 코드
손을 대면 댈수록 나락으로 빠져버리는 코드
“차라리 날 죽여줘”라고 절규하게 만드는 코드
개선한다는 생각 자체가 몸서리처지는 코드

남이 짠 코드 빨리 알아보기
들여쓰기 (Indent)
Code Formatter
IDE 코드 네비게이션 기능
- F3
- ctrl+K
- 형광펜

남이 짠 코드 빨리 알아보기
팀원간 용어의 일관성
변수명, 함수명의 기능에 따른 변경
- buy() -> order()
남이 짠 코드 빨리 알아보기
프레임워크 사용시 명명규칙은 절대적
- /order/order.jsp
- /js/order/order.js
- /css/order/order.css
- OrderController.java
- OrderService.java
Open Resources(ctrl+shift+R)
Convention over Configuration

리팩토링 방법
Re + Factor + ing
- 소스(Factor)의 재(Re)구성(ing)
Martin Fowler
- Refactoring, 1999
- 외부 동작은 바꾸지 않으면서    내부 구조를 개선하는 방법

사연 많은 JSP 리팩토링
JSP 파일 하나에 11,000 라인의 코드
7년간 산전화수전화 다 겪은 전설의 코드
그와 결부된 사촌형제 코드들 각각 6,7천라인
1차 프로젝트 Java와 Javascript의 분리
자바스크립트의 분리
객체를 이용하기

자바스크립트의 분리
함수에 파라미터를 통해 전달

자바스크립트의 분리
JSP, Javascript 스파게티 분리
리팩토링 고려사항
소스의 증가
- 선별적 js로딩으로 효율화
보안이슈
- 권한 및 로직 유효성 체크는 이중화 또는 서버단으로 이동
JS캐쉬 이슈
- 자주 변경되는 내용은 jsp 안에서 처리
- js파일에 날짜별 버전
서버단과 클라이언트단 혼재된 로직
- 로직을 단순화하거나 jsp에서 처리하고 분리하지 않는다.

JSP,JS 분리 효과
서버단의 속도 개선효과
  1005.352223 -> 757.8979948

javascript를 잘 하는?전문가가??js 파일을 따로 최적화 작업할 수 있다. (관리 포인트의 전문성 확보)

js 변경시 기존 jsp를 수정하지 않아도 된다.

전체 소스의 가독성과 이해력 향상 (jsp, js)

인터페이스의 역할

복사할 것인가 상속할 것인가

테스트케이스라굽쇼?

Edit & Pray
        vs
Cover & Modify

Backup, Cover Fire!
Acrobatic Net

기능 추가 방법

팀역량
깨진 유리창 비유
코드리뷰, 짝 프로그래밍
- 버그의 최소화
- 코딩 공감대 확장
- 더 이상 겁나지 않는 휴일 전화
낳은 정보다는 기른 정

정리
레거시 코드는 비운의 코드입니다.
좋은 유모를 만나서 제대로 리팩토링하면 버그 없고, 건강하게 자랄 수 있습니다.
함께 키우려면 코드 리뷰, 짝 프로그래밍 등을 이용하면 됩니다.
잘 키운 레거시 코드 하나, 열 개발자 안 부럽다

참고자료
Working Effectively With Legacy Code, Michael C. Feathers, Prentice Hall, 2005
리팩토링, 마틴 파울러, 대청, 2002
소프트웨어 공학의 사실과 오해, Robert L. Glass, 인사이트, 2004
GS이숍 주문리팩토링 보고서, 김현,김현기, GS이숍, 2008

CCL


폐인이 다 되서 강연을 했습니다.
들어주신 분들께 감사드립니다.
강의 파일은 일전에 블로그에 올렸습니다.
http://okjsp.tistory.com/1165643104

오픈 소스, 하시기 바랍니다.
참여의 기쁨이 있습니다.

최초 컨셉입니다.

오픈소스 활용 전략
시대의 흐름 오픈소스
개발자 마인드를 바꿔라
오픈소스 라이프사이클
오픈소스 에코시스템
개발팀 내의 오픈소스 방법론 적용
오픈소스 이용시 주의 사항

텍스트 시안입니다.

초안 파일 첨부합니다.
오픈소스 활용 전략 - 2007/10/13 초안

+ Recent posts