<< 늙은 부부 이야기 관람기 | Home | DBCP와 iBatis를 통한 Connection Pooling 사용기 >>

E-Commerce DEV DAY 참석 후기

금요일(12/7) 저녁 7시에 강남역 부근의 한국 과학 기술회관에서 GSEshop 개발팀이 진행한 E-Commerce DEV DAY에  참석했습니다. 웹개발자들의 노하우를 공유하는 좋은 기회인것 같아서 바쁜 업무에도 참가를 했습니다. 당근 좋은 기회였던 것 같습니다.
못 가신분들을 위해서 제가 요약한 부분을 공유합니다.

웹표준이냐 속도냐(UI개발자의 고뇌)

 - UI개발자? - 개발과 디지안의 중간에서 필터링해주는 가교역할을 하는 직무자
 - 속도 향상을 위한 방법
  . id, class를 명확히 해 주석을 최소화해라
  . 이미지 용량 보다는 개수를 줄여라
  . 로딩시 부대적인 자바 스크립트는 뒤로 옮겨라(popup, onclick 등등)
  . CSS, JS는 External File로 관리하여 캐싱되게 하라
  . 템플릿(CSS)을 만들어서 재활용하라
 - 웹 표준의 딜레마
  . 개발 속도를 올리냐? 5%의 브라우져를 수용하느냐에 대한 기획과 개발의 합일이 있어야 하고 접근성과 속도의 딜레마는 고려되어야 함 <- 어디를 가나 직면하는 문제인데 개발자 독단적으로 판단하지 말고 기획자와 합의를 해서 대안을 선택하는게 중요할듯 보입니다.

GS이숍만의 RIA 개발활용팁과 노하우
 - RIA(Rich Iternet Application) : 있어 보이는(화려한?) 클라이언트 기반의 인터페이스 <- 재밌는 표현이죠?
 - GSeshop에서는 플래쉬나 Flex가 Ajax의 기반 도구도 사용을 했군요.
  . Flash : 개발 생산성이 높고, 쉽고, 개발시간이 올라가고 파일 사이즈가 작음
  . Flex : 개발 시간이 짧고, 기술의 교육이 필요하고 불필요한 콤포넌트가 있어 파일 용량이 큼
 - Remote Data의 관리
  . XML, JSON, FlashVar의 전송 데이터 포멧중 JSON, FlashVar을 혼용하여 최적화 함
 - Ajax debug : outerHTML 사용(document.getElementByTagName("html")[0].outerHTML)
 - javascript tips
  . package형태로 자바스크립트 구성하여 Common.js의 비대화를 막고 가독성 높여 필요한 코드를 빨리 찾고 재사용성을 높이는게 가능
  . Error발생해도 서비스에 영향이 없도록 자바 스크립트 테스트 적용
  . OpenSource 기반의 javascript framework를 사용
  . 성능을 위해서 Cache 적용(물론 Cache Release 전략도 같이 중요함)

Spring Framework 도입 사례

 - 개발 생산성을 올리고 일관된 플랫폼을 통해 개발 품질 향상, 유지보수 비용 절감이라는 노력의 산물이 Spring Framework
 - 프레임워크(프레임워크가 유저 코드를 호출하고 관리를 함) : 라이브러리(유저 코드가 라이브러리를 호출하고 관리함)
 - GSechop에 적용 프레임워크 : SpringDAO(ORM은 사용안함), SpringMVC, Code Generator(XML생성 등의 개발 편의성을 위함), View Resolver(XML((Xstream)), RSS, Flash, JSON(Xstream)등 다양하게 사용함), 캐싱(Ehcache)라이브러리 사용
 - 향후 ORM 등의 프레임워크 추가 예정

유지보수의 최적화를 위한 개발 및 관리 전략
 - 기존 프로그램들의 문제점을 확인
  . javascript와 JSP가 한몸이고 비즈니스 레이어와 프리젠테이션 레이어가 한몸이 되는 구조가 많음
  . 테스트를 할 수 없는 구조(태스트를 할려면 따로 테스팅 코드를 만들어야함 <- 부가적 일이 늘어남 ^^)
  . 프로젝트 환경이 언제나 그랬듯이 빠듯한 일정이 대부분임
 - 해결 방안
  . JSP와 Javascript의 분리(Javascript안에 JSP코드를 넣지 말고 파라미터등의 형태로 진입점에 삽입하도록 함)
  . 비즈니스와 프리젠테이션을 기능별로 분리를 함
  . 작은 개발 단위로 상세화 필요(변경 최소화, 영향 최소화, 가독성 향상을 위해)
  . Lazy Loading기술 필요
 
웹 표준스펙 살펴보기 (명세서에 살고 명세서에 죽다)
 - 우리가 프레임워크를 도입하고 성능을 향상하고 개발 생산성을 높이는 건 브라우져에 기능을 보여주기위한 일련의 과정임 <- 상당히 철학적인 냄새가 ^^
 - HTTP1.1, Servlet 2.4, JSP2.0 등의 기본 스펙을 알 필요가 있음 <- 아마 대부분의 개발자는 스펙은 생각하지 않을 것 같네요
 - 기본 스펙만 알면 Security요소라든가 APM툴의 기능 개발은 쉽게 응용이 가능함

쇼핑몰 컨설턴트가 바라본 쇼핑몰 트렌트
 - 쇼핑 운영자들은 가난하다
 - 대기업의 영역과 쇼호스트의 영역의 세분화가 필요함
 - 궁극적인 목표는 고객에게 어필하는 가치를 만드는 것임

레거시 코드 관리 전략(남이 짠 코드 빨리 알아보기)
 - Copy & Paste를 최소화 하자(이클립스 코드 네비게이션 활용, 상속 활용)
 - Refactoring을 하자(중복 코드 삼진아웃제를 통해 중복성 제거 활동 - 깨진 창문 이론 부연 설명)
 - 팀워크 기반의 업무환경을 만들자(코드 재사용을 위한 라이브러리화, SVN, CVS 활용, 코드 리뷰, 짝프로그래밍 도입)

웹개발자의 약한고리 SQL 뛰어넘기
 - 수만개의 코드의 성능보다 1개의 SQL Query가 잘못되면 그 프로젝트는 실패를 불러온다는 중요한 격언(?)을 통해 중요성 강조
 - 인덱스 활용성을 강조(인덱스를 타게하는 쿼리 필요)
 - SQL 튜닝 방법 소개(Explan, Trace)
 - 10g로 가면서 Cost-Based Optimiazer밖에 없어서 개발자의 쿼리 사용 중요성이 커짐

나름대로 Presentation Layer, Business Layer, Persistance Layer 그리고 백그라운드로 프로젝트 관리 분야까지 골고루 섹션으로 나누어 발표를 한 노력이 보입니다. 하나의 서비스를 만들기 위해서 꼭 필요한 파트들이죠.
좋은 세미나 고맙습니다.
그리고 또 한가지 중요한 사실은 자신의 지식을 가지고 있는 것보다 알려줌으로써 자신 뿐만아니라 제3자에게도 많은 도움이 된다는 것을 GSeshop분들은 아시는 것 같습니다.
GSeshop 홧팅!!!


Avatar: kenu

Re: 참석 후기 잘 읽었습니다.

내용을 잘 요약해주셔서 감사합니다. 글 잘 읽었고, 더 화이팅하겠습니다. Mimul님 블로그는 종종 방문했는데, 인사도 못드렸네요. 다시 한 번 후기 감사드립니다. (__) 행복하세요.
Avatar: 미물

Re: 참석 후기 잘 읽었습니다.

네 저도 세미나 잘 들었습니다. 항상 개발자들을 위해서 노력하시는 분들에 대해서는 감사하게 생각합니다.

Re: E-Commerce DEV DAY 참석 후기

이렇게 꼼꼼히 들어 주시고 정리하시는 분이 있으셨다니 ...

담부턴 절대 대충 할 수 없을거 같네요 ^^

멋진 후기 보고 갔니다. ^^

 

Avatar: 미물

Re: E-Commerce DEV DAY 참석 후기

^^ 좋은 내용으로 발표 하신 분들의 노고를 널리 알리고자 함입니다.
그리고 덤으로 시간이 허락하지 않으신 분들을 위해서 제 블로그를 통해서나마 공유하고자 해서 우째 적다보니 이렇게 되었습니다. ^^

Add a comment Send a TrackBack