SlideShare ist ein Scribd-Unternehmen logo
1 von 54
WebApp 개발 후기




               leech-win@hanmail.net
Story


 발단     전개   위기   절정   결말
이 이야기는 개발자 Lee 의 WebApp - 집에가자 개발 스토리로 실화에 입각해 구성되었습니다.
발단
발단
발단




수많은   Web 기술 Study 및 세미나
발단




내 업무는   Web IDE 개발
발단




내가 만든   IDE 로 개발한적이 있던
가..
발단

         파트장 曰 :

         각자 WebApp 을
          하나씩 만들어 보도록




          1등하면 무선 마우
          스,키보드셋트를
          주려고했는데.



그러던
어느날...                  최선을
                        다해야죠.
전개
전개




     창작의 고통
     - 어떤 App 을 만들까?
     - 이런 App 이 있으면 좋겠다.
     - 고퀄인가?
전개
전개
전개
전개
전개




- 안되고 되고는 나중에 생각하자?
- 필요한기술은 구현하면서 배우자?
- 몰라서 안하는게 아니라 안해서 모르는 것?
전개




그런데 어디서 뭐부터 시작해야 하나?
전개




     Search, Search, Search
전개
전개




- 웹통신의 데이타포맷
- Name, Value 쌍으로 구성
- 읽기쉬움
전개




- 자바스크립트를 사용한 비동기 통신
- 클라이언트와 서버간에 데이터를 주고받는
  기술
- 비동기요청 가능
- 서버에 요청하고, 응답올때까지 손놓고 기다
  리지 않아도 되는 기술
전개



     +
전개




- Powerful javascript library
- Control for DOM, CSS, AJAX..etc
전개




- Mobile javascript framework
전개




     필요한 기본 Web 기술은 알았다.
     다음은?
전개




- Map service 선정
  -   Needs : 내가 필요한 서비스와 API 를 지원하는가?
      - 현위치 근처 버스 정류장 검색 정보
      - 목적지까지의 대중교통경로 및 환승 정보
      - 목적지까지의 버스정류장 정보
      - 버스정류장의 버스정보
전개


서울시 공공버스운행정보
- 당시 공공정보 공개안함
Gooxxx, Navxx, Daxx
- 버스정보 및 경로API 지원안함
전개
전개




 서비스중인 사이트는 어떻게 경로를 찾는 것일까?
전개




이런저런 시도와 삽질... 중...

패킷분석도중 REST API 득템!
위기




     잘 풀리는 듯 했지만 위기는 찾아오고...
위기




     Map API 가 동작하지 않는다~!
위기

                                인증 : abcdef11
                                                       123.456.789.11 / abcdef11




                                   인증 : abcdef11


                                                       123.456.789.22 / abcdef11



- Map Server Access List –
                                       인증 : abcdef11
 1. 123.456.789.11 / abcdef11
 2. ...
 3. ...


                                                       123.456.789.33 / abcdef11




        API 인증을 받은 URL 에서만 Map API Access 가능
        App 을 설치한 Device 마다 URL 이 다를텐데 어쩌지?
위기




     대안은 Proxy!!!
위기




    또 하나의 문제~!
    - Same Origin Policy
         : javascript 에서 타도메인의 URL 로부터 값을 가져오는것은 원천적으로 불가
출처 : http://windowx.tistory.com/entry/jsonp-springmvc-example
위기




출처 : http://windowx.tistory.com/entry/jsonp-springmvc-example
위기


                             - 사내 웹서버를 Web Proxy 로 이용



                                      123.456.789.11 / abcdef11   Map 요청



                      인증 : abcdef11

                                                                            123.456.789.22


                                                                   Map 요청

- Map Server Access List –

 1. 123.456.789.11 / abcdef11
 2. ...
 3. ...



                                                                            123.456.789.33
위기




- RSS, JSON 등의 웹자료를 필터링하여 수집가능한 서비스
- Pipe Web Address 제공
절정
절정




디자이너를 만나기 전 UX는 나름 만족중
절정




 디자이너를 만난 후 UX는 신세경~!
절정




 하지만 과정은...
절정




디자이너 :
 Floating 버튼정도는 넣어줘야 App이지~
 JQM 스타일 Header 의 Back 버튼도 후져




                    디자이너와의 협업
절정




그러나 해보면 안되는건 없더라...
절정




     디자이너 : 나와 다른 분야의 전문가
절정




     Designer   Developer
     창의적        일관성
     주관적        객관적
     경쟁         협동
     마우스, 타블렛   키보드
     감수성        논리적사고
절정




Responsive Web design?
절정
절정




     맞춤형 CSS 와 Image
절정




     반응형 웹 디자인의 완성
절정




     CSS 는 삽질로 쌓은 노하우가 기술
결말




Web App 어렵지 않아요~

HTML5, CSS3, WebSocket...

기술은 많지만 나한테 필요한건 얼마안된다는 점~!
결말
Thank you

Weitere ähnliche Inhalte

Ähnlich wie Web app개발후기

프론트엔드 개발자의 자바스크립트
프론트엔드 개발자의 자바스크립트 프론트엔드 개발자의 자바스크립트
프론트엔드 개발자의 자바스크립트 jeong seok yang
 
Rhea_MMO_SNG_Convergence_Server_Architecture
Rhea_MMO_SNG_Convergence_Server_ArchitectureRhea_MMO_SNG_Convergence_Server_Architecture
Rhea_MMO_SNG_Convergence_Server_ArchitectureRhea Strike
 
서버학개론(백엔드 서버 개발자를 위한)
서버학개론(백엔드 서버 개발자를 위한)서버학개론(백엔드 서버 개발자를 위한)
서버학개론(백엔드 서버 개발자를 위한)수보 김
 
Node.js
Node.jsNode.js
Node.jsymtech
 
.net core 에서 SignalR 사용해보기
.net core 에서 SignalR 사용해보기.net core 에서 SignalR 사용해보기
.net core 에서 SignalR 사용해보기Ji Lee
 
Cloud-Barista 제5차 오픈 컨퍼런스 : 멀티클라우드 인프라 연동 (CB-Spider)
Cloud-Barista 제5차 오픈 컨퍼런스 : 멀티클라우드 인프라 연동 (CB-Spider)Cloud-Barista 제5차 오픈 컨퍼런스 : 멀티클라우드 인프라 연동 (CB-Spider)
Cloud-Barista 제5차 오픈 컨퍼런스 : 멀티클라우드 인프라 연동 (CB-Spider)Cloud-Barista Community
 
소셜게임 서버 개발 관점에서 본 Node.js의 장단점과 대안
소셜게임 서버 개발 관점에서 본 Node.js의 장단점과 대안소셜게임 서버 개발 관점에서 본 Node.js의 장단점과 대안
소셜게임 서버 개발 관점에서 본 Node.js의 장단점과 대안Jeongsang Baek
 
Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Spider - 멀티 클라우드 인프라 연동(Multi-Cloud Infrastruc...
Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Spider - 멀티 클라우드 인프라 연동(Multi-Cloud Infrastruc...Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Spider - 멀티 클라우드 인프라 연동(Multi-Cloud Infrastruc...
Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Spider - 멀티 클라우드 인프라 연동(Multi-Cloud Infrastruc...Cloud-Barista Community
 
Akka.NET 으로 만드는 온라인 게임 서버 (NDC2016)
Akka.NET 으로 만드는 온라인 게임 서버 (NDC2016)Akka.NET 으로 만드는 온라인 게임 서버 (NDC2016)
Akka.NET 으로 만드는 온라인 게임 서버 (NDC2016)Esun Kim
 
[111217 아꿈사연말모임] 웹소켓과온라인게임
[111217 아꿈사연말모임] 웹소켓과온라인게임[111217 아꿈사연말모임] 웹소켓과온라인게임
[111217 아꿈사연말모임] 웹소켓과온라인게임sung ki choi
 
Opensource apm scouter in practice
Opensource apm scouter in practiceOpensource apm scouter in practice
Opensource apm scouter in practicedonghoonlee18659041
 
Cloud-Barista 제7차 컨퍼런스 : 멀티클라우드 인프라 서비스 연동 (CB-Spider)
Cloud-Barista 제7차 컨퍼런스 : 멀티클라우드 인프라 서비스 연동 (CB-Spider)Cloud-Barista 제7차 컨퍼런스 : 멀티클라우드 인프라 서비스 연동 (CB-Spider)
Cloud-Barista 제7차 컨퍼런스 : 멀티클라우드 인프라 서비스 연동 (CB-Spider)Cloud-Barista Community
 
웹:앱 기술 동향
웹:앱 기술 동향웹:앱 기술 동향
웹:앱 기술 동향ssuser0e53c8
 
스마일게이트 서버개발캠프 - QuadCore - BTS Deck
스마일게이트 서버개발캠프 - QuadCore - BTS Deck스마일게이트 서버개발캠프 - QuadCore - BTS Deck
스마일게이트 서버개발캠프 - QuadCore - BTS DeckServerDevCamp
 
쇼핑검색 React 전환 경험 공유
쇼핑검색 React 전환 경험 공유쇼핑검색 React 전환 경험 공유
쇼핑검색 React 전환 경험 공유NAVER SHOPPING
 
[KAU UMC 컨퍼런스] Java 기반 Web의 역사 - 김준기
[KAU UMC 컨퍼런스] Java 기반 Web의 역사 - 김준기[KAU UMC 컨퍼런스] Java 기반 Web의 역사 - 김준기
[KAU UMC 컨퍼런스] Java 기반 Web의 역사 - 김준기JunGi Kim
 
세션3 node.js의 의미와 자바의 대안
세션3 node.js의 의미와 자바의 대안세션3 node.js의 의미와 자바의 대안
세션3 node.js의 의미와 자바의 대안Lee Ji Eun
 
[네이버오픈소스세미나] Pinpoint를 이용해서 서버리스 플랫폼 Apache Openwhisk 트레이싱하기 - 오승현
[네이버오픈소스세미나] Pinpoint를 이용해서 서버리스 플랫폼 Apache Openwhisk 트레이싱하기 - 오승현[네이버오픈소스세미나] Pinpoint를 이용해서 서버리스 플랫폼 Apache Openwhisk 트레이싱하기 - 오승현
[네이버오픈소스세미나] Pinpoint를 이용해서 서버리스 플랫폼 Apache Openwhisk 트레이싱하기 - 오승현NAVER Engineering
 

Ähnlich wie Web app개발후기 (20)

프론트엔드 개발자의 자바스크립트
프론트엔드 개발자의 자바스크립트 프론트엔드 개발자의 자바스크립트
프론트엔드 개발자의 자바스크립트
 
Rhea_MMO_SNG_Convergence_Server_Architecture
Rhea_MMO_SNG_Convergence_Server_ArchitectureRhea_MMO_SNG_Convergence_Server_Architecture
Rhea_MMO_SNG_Convergence_Server_Architecture
 
서버학개론(백엔드 서버 개발자를 위한)
서버학개론(백엔드 서버 개발자를 위한)서버학개론(백엔드 서버 개발자를 위한)
서버학개론(백엔드 서버 개발자를 위한)
 
Node.js
Node.jsNode.js
Node.js
 
.net core 에서 SignalR 사용해보기
.net core 에서 SignalR 사용해보기.net core 에서 SignalR 사용해보기
.net core 에서 SignalR 사용해보기
 
Cloud-Barista 제5차 오픈 컨퍼런스 : 멀티클라우드 인프라 연동 (CB-Spider)
Cloud-Barista 제5차 오픈 컨퍼런스 : 멀티클라우드 인프라 연동 (CB-Spider)Cloud-Barista 제5차 오픈 컨퍼런스 : 멀티클라우드 인프라 연동 (CB-Spider)
Cloud-Barista 제5차 오픈 컨퍼런스 : 멀티클라우드 인프라 연동 (CB-Spider)
 
소셜게임 서버 개발 관점에서 본 Node.js의 장단점과 대안
소셜게임 서버 개발 관점에서 본 Node.js의 장단점과 대안소셜게임 서버 개발 관점에서 본 Node.js의 장단점과 대안
소셜게임 서버 개발 관점에서 본 Node.js의 장단점과 대안
 
Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Spider - 멀티 클라우드 인프라 연동(Multi-Cloud Infrastruc...
Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Spider - 멀티 클라우드 인프라 연동(Multi-Cloud Infrastruc...Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Spider - 멀티 클라우드 인프라 연동(Multi-Cloud Infrastruc...
Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Spider - 멀티 클라우드 인프라 연동(Multi-Cloud Infrastruc...
 
Akka.NET 으로 만드는 온라인 게임 서버 (NDC2016)
Akka.NET 으로 만드는 온라인 게임 서버 (NDC2016)Akka.NET 으로 만드는 온라인 게임 서버 (NDC2016)
Akka.NET 으로 만드는 온라인 게임 서버 (NDC2016)
 
[111217 아꿈사연말모임] 웹소켓과온라인게임
[111217 아꿈사연말모임] 웹소켓과온라인게임[111217 아꿈사연말모임] 웹소켓과온라인게임
[111217 아꿈사연말모임] 웹소켓과온라인게임
 
Opensource apm scouter in practice
Opensource apm scouter in practiceOpensource apm scouter in practice
Opensource apm scouter in practice
 
Opensource apm scouter in practice
Opensource apm scouter in practiceOpensource apm scouter in practice
Opensource apm scouter in practice
 
Cloud-Barista 제7차 컨퍼런스 : 멀티클라우드 인프라 서비스 연동 (CB-Spider)
Cloud-Barista 제7차 컨퍼런스 : 멀티클라우드 인프라 서비스 연동 (CB-Spider)Cloud-Barista 제7차 컨퍼런스 : 멀티클라우드 인프라 서비스 연동 (CB-Spider)
Cloud-Barista 제7차 컨퍼런스 : 멀티클라우드 인프라 서비스 연동 (CB-Spider)
 
웹:앱 기술 동향
웹:앱 기술 동향웹:앱 기술 동향
웹:앱 기술 동향
 
스마일게이트 서버개발캠프 - QuadCore - BTS Deck
스마일게이트 서버개발캠프 - QuadCore - BTS Deck스마일게이트 서버개발캠프 - QuadCore - BTS Deck
스마일게이트 서버개발캠프 - QuadCore - BTS Deck
 
Showroom 2019-react
Showroom 2019-reactShowroom 2019-react
Showroom 2019-react
 
쇼핑검색 React 전환 경험 공유
쇼핑검색 React 전환 경험 공유쇼핑검색 React 전환 경험 공유
쇼핑검색 React 전환 경험 공유
 
[KAU UMC 컨퍼런스] Java 기반 Web의 역사 - 김준기
[KAU UMC 컨퍼런스] Java 기반 Web의 역사 - 김준기[KAU UMC 컨퍼런스] Java 기반 Web의 역사 - 김준기
[KAU UMC 컨퍼런스] Java 기반 Web의 역사 - 김준기
 
세션3 node.js의 의미와 자바의 대안
세션3 node.js의 의미와 자바의 대안세션3 node.js의 의미와 자바의 대안
세션3 node.js의 의미와 자바의 대안
 
[네이버오픈소스세미나] Pinpoint를 이용해서 서버리스 플랫폼 Apache Openwhisk 트레이싱하기 - 오승현
[네이버오픈소스세미나] Pinpoint를 이용해서 서버리스 플랫폼 Apache Openwhisk 트레이싱하기 - 오승현[네이버오픈소스세미나] Pinpoint를 이용해서 서버리스 플랫폼 Apache Openwhisk 트레이싱하기 - 오승현
[네이버오픈소스세미나] Pinpoint를 이용해서 서버리스 플랫폼 Apache Openwhisk 트레이싱하기 - 오승현
 

Web app개발후기