모바일 웹 서비스 신기술 도입 프로세스 및 실무 사례

GS홈쇼핑 IT혁신팀 조범석 대리
@ACodeFarmer
   Strongberry
@ACodeFarmer
                Strongberry
활자중독, 커피 핸드 드립, 싱글, 초식남
@ACodeFarmer
                Strongberry
활자중독, 커피 핸드 드립, 싱글, 초식남
@ACodeFarmer
                 Strongberry
 활자중독, 커피 핸드 드립, 싱글, 초식남
2002년 11월 이후로 소프트웨어 엔지니어
@ACodeFarmer
                 Strongberry
 활자중독, 커피 핸드 드립, 싱글, 초식남
2002년 11월 이후로 소프트웨어 엔지니어
                    어쩌다 보니...
@ACodeFarmer
                                              Strongberry
     활자중독, 커피 핸드 드립, 싱글, 초식남
 2002년 11월 이후로 소프트웨어 엔지니어
                                                    어쩌다 보니...

    PHP, Java(JSP,Struts,Spring), Ruby(RoR), ASP/ASP.NET(VB,C#),
MobileC, WML, HTML, CSS, Javascript, Flex(AS3.0), MySQL, Oracle,
             PostgreSQL, SQLite, Tomcat, IIS, Windows, Linux, OSX
@ACodeFarmer
                                              Strongberry
     활자중독, 커피 핸드 드립, 싱글, 초식남
 2002년 11월 이후로 소프트웨어 엔지니어
                                                    어쩌다 보니...

    PHP, Java(JSP,Struts,Spring), Ruby(RoR), ASP/ASP.NET(VB,C#),
MobileC, WML, HTML, CSS, Javascript, Flex(AS3.0), MySQL, Oracle,
             PostgreSQL, SQLite, Tomcat, IIS, Windows, Linux, OSX
                                                      알고 보면...
@ACodeFarmer
                                              Strongberry
     활자중독, 커피 핸드 드립, 싱글, 초식남
 2002년 11월 이후로 소프트웨어 엔지니어
                                                    어쩌다 보니...

    PHP, Java(JSP,Struts,Spring), Ruby(RoR), ASP/ASP.NET(VB,C#),
MobileC, WML, HTML, CSS, Javascript, Flex(AS3.0), MySQL, Oracle,
             PostgreSQL, SQLite, Tomcat, IIS, Windows, Linux, OSX
                                                      알고 보면...

     없던 일도 만들어내는 업무폭풍 유발자
시간과 기술은 우리
를 기다려주지 않습
니다
2009년 12월
Javascript
따라서 우리는 준비
되어 있어야 합니다
개인의 역량
문제를 해결할 줄 안다

문제의 해결법을 안다
문제의 해결법을 빨리 찾을 수 있다
해결법을 바탕으로 결과물을 내놓을 수 있
다
도구를 사용하여 결과물을 더 빨리 내놓을
수 있다
SNS
SNS
Delicious
SNS
Delicious
SNS
  Delicious

twitter/me2day
Seminar
Seminar
Seminar
개발도구
개발도구

개인의 취향 vs. 공통 개발툴
http://jslint.com
조직의 역량
모바일 서비스 경험
모바일 서비스 경험
단말기 특성(I/O)
모바일 서비스 경험
단말기 특성(I/O)
사용자 특성
모바일 서비스 경험
단말기 특성(I/O)
사용자 특성
개발서비스 특성
아쉬운 부분
아쉬운 부분
동료 개발자
아쉬운 부분
 동료 개발자

기획자/사업부서
그러면 필요할때 달
릴 수 있습니다
제약
제약
일정
제약
  일정

커뮤니케이션
제약을 넘어서
일정

일정과 비용은 고정시키
고 기능을 타협하라
이런 일은 꼭 우리나라
에서만 벌어지는 일은
아니더라
커뮤니케이션
커뮤니케이션
내가 알고 있는 것
=== 남이 알고 있는 것?
커뮤니케이션
내가 알고 있는 것
=== 남이 알고 있는 것?
적어도 조직내에서 사용되는 용
어만큼은 정리가 되야 함
커뮤니케이션
내가 알고 있는 것
=== 남이 알고 있는 것?
적어도 조직내에서 사용되는 용
어만큼은 정리가 되야 함
커뮤니케이션 비용에 대한 고려
기술 문제
기술 문제
슬라이딩 배너
기술 문제
슬라이딩 배너

트위터 연동
슬라이딩 배너
슬라이딩 배너
m.yahoo.com
슬라이딩 배너
m.yahoo.com
touch 관련 이벤트
슬라이딩 배너
m.yahoo.com
touch 관련 이벤트
일정의 문제
슬라이딩 배너
m.yahoo.com
touch 관련 이벤트
일정의 문제
결국 요구조건이 바뀜
슬라이드 배너를 구현하자
슬라이드 배너를 구현하자


            구글링: slide, scroll
슬라이드 배너를 구현하자


            구글링: slide, scroll


                          iScroll
슬라이드 배너를 구현하자


              구글링: slide, scroll

개발 담당자에게 넘김
                            iScroll
슬라이드 배너를 구현하자


              구글링: slide, scroll

개발 담당자에게 넘김
                            iScroll

       일정 문제
슬라이드 배너를 구현하자


              구글링: slide, scroll

개발 담당자에게 넘김
                            iScroll

       일정 문제
                 결국 나에게로 ㅠㅠ
슬라이드 배너를 구현하자


                   구글링: slide, scroll

개발 담당자에게 넘김
                                 iScroll

               일정 문제
                       결국 나에게로 ㅠㅠ
 translate3d
슬라이드 배너를 구현하자


                   구글링: slide, scroll

개발 담당자에게 넘김
                                 iScroll

               일정 문제
                       결국 나에게로 ㅠㅠ
 translate3d

        요구조건 변경
슬라이드 배너를 구현하자


                   구글링: slide, scroll

개발 담당자에게 넘김
                                 iScroll

               일정 문제
                       결국 나에게로 ㅠㅠ
 translate3d
                           해결
        요구조건 변경
translate3d(dX,dY,dZ)
트위터 연동
트위터 연동

연동키 혹은 로그인 정보 저장
위치의 문제
트위터 연동

연동키 혹은 로그인 정보 저장
위치의 문제
개인 정보 보호 정책이 강화
Local Database
varLOCAL_DB_ENABLED=null;

varLocalDatabase={
db:null,
initDb:function(){
vardbName=gsshop;
vardbVersion=1.0;
vardbDisplayName=GsShopMobileApp;
vardbMaxSize=65536;
try{
if(!window.openDatabase){
LOCAL_DB_ENABLED=false;
}else{
for(vari=0;iarguments.length;i++){
if(i===0){this.dbName=arguments[0];}
if(i===1){this.dbVersion=arguments[1];}
if(i===2){this.dbDisplayName=arguments[2];}
if(i===3){this.dbMaxSize=arguments[3];}
}
this.db=openDatabase(this.dbName,this.dbVersion,this.dbDisplayName,this.dbMaxSize);
LOCAL_DB_ENABLED=true;
returnthis.db;
}
}catch(e){
LOCAL_DB_ENABLED=false;
returnnull;
}
},
insertQry:function(){…⋯},
updateQry:function(){…⋯},
deleteQry:function(){…⋯},
createTable:function(){…⋯},
dropTable:function(){...}
};

vardb=newLocalDatabase();
vard={aa:1,bb:13};
LocalDatabase.insertQry(someTable,d);
그 이후
감사합니다.

Web devmobile 8회열린세미나