lovesera: ART of VIRTUE

[행사] 2007 E-Commerce Dev Day 후기 - 개발자들의 즐거운 이야기 시간 본문

일과 사람들

[행사] 2007 E-Commerce Dev Day 후기 - 개발자들의 즐거운 이야기 시간

일상예술가 2007. 12. 9. 00:47

지난 금요일에는 퇴근후에는 GS홈쇼핑 EC정보팀에서  주관하는
2007 E-Commerce Dev Day 에 다녀왔습니다.
http://ecs.gseshop.co.kr/devday/web/conference.jsp

사용자 삽입 이미지


그런데 지금까지 열렸던 컨퍼런스와는 다른 색다른 성격의 즐거운 행사였습니다.

- 거창한 기술을 다루는 것도 아니고
- 그것도 평일 퇴근 후에
- 2시간 동안 8개의 세션을
- 같은 회사에 근무하는 8명이 15분씩

위와 같이 진행하는 열린 형식의 컨퍼런스였습니다.

저는 업무가 조금 늦게 끝나 두 번째 세션의 중간 부터 들었습니다.

중간 중간 빈자리가 보이기는 했지만
실내는 100명 가까운 사람들로 거의 꽉 차 있었습니다.

퇴근 후 급하게 오시는 분들을 위해 간단한 핫도그와 음료수도 준비해 주셨네요.

사용자 삽입 이미지


대중 앞에서 특정 주제에 대해 발표하는 경우 사실 15분은 정말 짧은 시간이죠.
가치 있는 정보를 설득력 있게 전달하고 발표자와 청중 사이에 교류가 생기려면
40분 정도는 필요하다고 생각합니다.
그러나 대부분의 발표자들이 시간을 잘 지키신 것으로 보아
많은 연습을 했음을 알 수 있었습니다.
 
사용자 삽입 이미지

사용자 삽입 이미지


중간에 쉬는 시간없이 모든 세션을 다 듣고 나니 금방 밤 9시가 넘어갔습니다.

가족들과의 약속으로 뒤풀이 까지는 못 갔지만
잠시 이번 행사의 기둥(?)역할을 하신 허광남님과 팀장님을 만나
잠시 걸으며 이야기 할 수 있어서 다행이었습니다.

이와 같은 Dev Day는 다음과 같은 의미를 가진다고 생각합니다.

* 엄청나게 대단한 기술을 전하는 자리가 아님
* 내부의 소리를 외부로 전달하는 소통의 자리
* 개발자 들이 자신의 경험과 생각에 대해 대중앞에서 이야기 할 수 있는 기회
* 그들이 근무하는 회사/사이트에 대한 관심/호감이 증가
* 다른 개발자의 경험과 이야기를 듣는 화기 애애한 자리

크건 작건 간에 이러한 행사를 준비하고 진행하는 것은 쉬운 일이 아닙니다.
외부와의 소통의 가치를 먼저 이해하고 Dev Day를 준비하고
멋지게 발표해 주신 GS홈쇼핑 EC정보팀원 여러분의 용기와 노력에 박수를 보내드립니다.

2008년에는 이런 성격의 열린 행사들이 더 많이 생겼으면 좋겠습니다.
 

다음은 간단하게 정리한 발표 내용입니다.

2.  GS이숍만의 RIA 개발활용팁과 노하우 : 오창훈대리

▷ AJAX를 이용하여 표현된 HTML 소스 보기
- 디버깅 노하우
 * document.getElementByTagName("html")[0].outerHTML
- 내가 짠 코드를 브라우저가 어떻게 해석하고 있는가 눈여겨 보아야 한다

▷ 패키지 단위 개발 기대 효과
 *  common.js 의 비만 방지
 *  작성된 JS 를 빨리 찾을 수 있다
 *  유지보수가 용이하다

▷ Error가 발생해도 서비스에 지장없게 실제 서비스에 쉽게 JS Test 적용하기

▷ JS로 만든  RIA의 대명사
 * protoye.js : $

- '변화의 시기에는 배우려는 사람들이 세상을 차지한다'




3. 효율적인 유지보스를 위한 개발 및 관리 : 김현과장

▷  무엇이 문제인가?
- 1만 라인이상의 소스들
- 로직과 Presentation이 얽혀있다
- 추가, 수정 어려움
- 시간이 없고 할일이 많다

▷  어떻게 하면 테스트 쉽고 유지보수 가능한 소스를 만들까?
- JS 파일 분리 : 가독성 향상

▷Business 와 Presentation Layer 분리
 - 업무 분업화
 - View 단의 다변화
▷ 어떻게?
 - MVC 2.0 적용
 - 프레임웍, 오픈소스 도임

▷ 작은 단위 개발
 - 모든 구성요소의 컴포넌트화

▷ 컴포넌트 특징
   - 실행코드 기반
   - 명세서, 표준화, 패키지화
   - 배포가능

▷ 장점
   - 수정 용이, 테스트 용이, 이해도 쉽다

"중요한 것은 기술이 아니라 어떤 의도와 철학을 가지고 적용했느냐"

▷ 성능 최적화
 - 서버 - [네트웍!] - [클라이언트!]
 - 일부만 보여주고 나머지는 AJAX로 스크롤할 때 보여주자

▷ 어떤 개발자가 되고 싶은가?
 * 일의 속도가 점점 빨라지는 사람



4.  Spring Framework : EC정보팀 추경돈

▷  상황

- 여러가지 JAVA 프레임이 섞여 있어 표준화가 안되어 있음
- 각 개발자가 소신것 개발하고 있었음 : 소스가 역사와 사연을 가짐 
- 불필요한 자바 소스 생성이 만연

▷  개편 프로젝트
- WEB 2.0을 도입하자
- 새로운 프레임의 도입 고려

▷   프레임워크 선택 시
- 라이브러리, 디자인패턴, 아키텍쳐, 시간 + 기존 개발자와 커뮤니케이션*  
- '결론적으로  SPRING 하나로 모두 가능하겠다'
 * ORM 빼고 나머지 전부 도입

▷  장점
- 개발자들의 프레임웍에 대한 인식 변화
- 생산성/재사용성 증가
- Lesson & Learn 시간 단축
- 테스트 프레임웍의 자연스러운 도입

▷  단점
- 프레임웍 만능 주의
  
▷  숙제
- 레거시 코드는 어찌 할 것인가?
- UI도 아케텍쳐로 보아야 한다



5.  웹 표준 스펙 - 명세서에 살고 명세서에 죽다 : 김풍주대리

▷  뿌리를 찾아서
 - 최종적인 코드는 HTML 이다
 - HTTP 1.1 , JSP 2.0 ,  : 뿌리가 약하면 금방 쓰러진다
 

▷ 수면의 오리
 - 오리 : 고객의 화면
 - 수면의 오리발 : 개발자들
 - 수면 : SPEC

▷  시나리오
- 10만개의 페이지, 특정 IP를 막아야 한다면?
- 표준 SPEC에 필터가 포함되어 있다.


▷  교훈  
- 스펙을 잘 보면 새로운 아이디어를 얻을 수 있다
- "멀리 있어서 잘 안보이면 가까이 가 보아라"
- 프레임웍은 편하기 위해 감추어 놓은 것이다
- 기본에 충실하면 쓰러지지 않는 나무가 될 것이다



6. 2007 쇼핑몰 트랜드 : 초청강사 김태진

- 고객이 느끼는 가치는?
- 획기적인 사이트를 만든다고 대박이 나오지 않는다
- 가치는 소비자가 정한다
- 너 왜 안 사니? - 나도 몰라!
- 고객조차 스스로를 모른다
- 고객의 입장에서 생각하라
- 쇼핑몰 많이 망함
 * 하루에 300개 생기고 600 개 망함
 * 96%가 6개월 안에 망함
- 지방 중소 쇼핑몰 운영자들의 절망적인 상황을 이야기 하려는 순간! 시간 부족
 



7. 레거시 코드 관리 - 남이 짠 코드 빨리 알기 : 허광남과장

▷  레거시 코드란?
- 남이 나에게 준 코드
- '차라리 날 죽여'
- 소똥에 빠지는 빼꼼
- 그래도 살아날 구멍이 있더

▷  관리 기법
- 컴파일 안되는 코드는 버려라
- Copy & Paste 범위를 최소화 해라
  * 시간이 걸려도 쓰는 코드만 복사
  * 이클립스 코드 네이비게이션 기능 활용

▷  리팩토링
- 코드의 재구성
- 중복 삼진 아웃제
  * ' 사건이 한번 일어나면 흘려보내라, 두번이상 일어나면 준비해라'

▷  팀웍
- 다행이 내가 짠 부분이 아니네!
- 코드의 공동 소유가 필요하다
  * CVS, SVN
  * 코드리뷰, 짝프로그래밍
     
▷  정리
- "잘 키운 레거시 코드 열 개발자 안 부럽다"



8. 웹개발자의 약한고리 SQL 뛰어넘기 : 박광일대리

▷ INDEX
- TYPE이 안 맞으면 INDEX 를 타지 못한다
- JAVA 69개 잘짜고 1개의 SQL에 무너지지 마라

▷ 속도 비교
 - ORACLE Data Block 8K
 * Register : 3초
 * 메모리 : 7.5분
 * 디스크 : 7.7 개월
 
▷ INDEX의 중요성
 - 튜닝의 가장 중요한 포인트
 - 사용할 수 없는 경우
 * 외부적인 변향,내부적 변형
 * 부정형 비교, NULL비교

- Oracle 9i -> 10G
- 결국 개발자의 실력이 중요

▷PLAN : PLAN을 보고 문제가 있음을 알아야 한다

▷ TRACE
   - Index 는 Plan 으로 본다
   - 실제 동작 상황을 Trace 로 보아라

▷ "아름다운 개발자로 남기를 바란다"