Philographer

Progressive Webapp

  • Progressive Webapp이란

    • Native앱을 따라하자
    • splash도 있음, Single Web App 비슷함
    • 점차 앱처럼 변해감
  • 배경

    • mobile 트래픽의 증가 => 모바일 프로그레시브 웹앱의 미래?
    • 플랫폼을 그대로 사용하자
  • 목표

    • 오버헤드 줄이기
    • 첫 interaction time 줄이기
    • 오프라인 first
  • 특징 1. 오버헤드 줄이기

    • 잘게 쪼개놓은 웹컴포넌트 재사용 가능
    • HTTPS 사용(서비스워커, 푸시, geolocation, http/2 때문에 사용해야함), broili가 머징?
    • HTTP/2 + Server Push 한번의 요청으로 묶음받음
    • babel, web components, css next, http => fetch
  • 특징 2. 첫 interaction time 줄이기

    • App Shell, cached shell
    • Running on RAIL!
    • DevTools Screenshots, 퍼포먼스 측정가능
    • polymer.js
    • Angular2 mobile App Shell
    • Service Worker!
    • sw-toolbox => 서비스워커 이용 툴
    • sw-precahe => 캐시 이용
    • lighthouse => frontend 테스팅
  • 특징 3. Offline First

    • Offline Error Handling 가능
    • 캐시가 훨씬 빠름, lie-fi
    • installable Web => manifest generator를 이용하면 편함
    • indexedDB를 사용(npm 으로 idb 제공(promise 기반)
    • PolymerFire, app-storage
    • sync(오프라인시 저장했던 데이터가 실제로 온라인에 연결되면 동기화) => message 기반
    • Web Push => 비즈니스 효과 good, 서비스워커가 중개

FireBase Analytics

  • Bad App

    • 시작하자마자 login, crash, 바로 평가해라등등
  • Nice App

    • 데이터를 어떻게 수집할지
    • 트렌드를 어떻게 따라갈지
  • FireBase

    • 식당의 메뉴판 골라서 주문하듯 골라서 쓰자
    • 간단하게는 database만 쓰자
    • Google cloud function => 구글링해봐
    • event 기반 callback 구조, noSQL Json
    • logic뿐만 아니라 UI까지 제공
    • Anonymous Accounts 제공
    • lie-fi, Remote Config 기능 제공
    • 이벤트기반 Analytics, Analytics기반 추천기능
  • 사용예. Group Photo sharing

    • 사진은 하나 올리고, 새로운 릴레이션 만들어서 사용자 리스트 집어넣고
      있으면 사진접근가능, 아니면 사진접근 불가
    • codelab 한글화 되어있음
    • DB Access Simulator 제공
    • production level에서 테스트하기, remote config 할때 평가기능 끄기 ㅋㅋ
    • 특정 Audience에게 notification 제공
    • Target Audience 사용 가능
  • 사용예. 퍼즐 게임 리플레이 셰어링

    • 원래는 Dynamic Link 기반으로 작성함
    • funnel

FireBase로 레고블럭 조립하기

  • FireBase란?
    • 사용하기 쉬운 개발도구, 다양한 플랫폼, 통합 개발환경
    • 콘솔, 하나의 sdk로 모든 툴 사용가능.

Analytics

  • firebse의 핵심기능
  • 장점(무료, 적용이 쉽다, 커스텀 이벤트)
  • 단점(직관적이지 않다, 커스텀 파라미터는 안 되고, 빅쿼리 연동해야함)

Crash Reporting

  • 장점(간단하다, Analytics와 연동 가능)
  • 단점(프로세스가 하나 더 생김, issue close, share 불가)

Authentication

  • 장점(무료제공, 구현 단순, 인증서버 필요없음, Oauth로도 인증 가능, 인증서버 필요없음)
  • 단점(이메일템플릿이 한정적임, 타 provider의 경우 구현하기 까다로움)
  • 현재 제공중인 provider: email, facebook, google, twitter, github, anomynous 6가지 지원

Dynamic Link

  • 멀티 플랫폼(같은 링크로 지원) + Deep Link의 느낌
  • 장점(Analytics 연동기능)
  • 단점(shorten URL 불가능, Meta tag 수정 불가능)
  • Google URL shortener 사용시 ios 작동 안함

Notification

  • 장점(구현이 간단함, sdk만 집어넣고 콘솔에서 쏘면 자동으로 날아감, 자체 서버 없이 푸시 운영 툴 제공, Analytics 연계분석, 로컬 타임존 지원)
  • 단점(이미지 푸시, 테스트 디바이스 설정 불가능)

Why Firebase

  • SDK로 통합된 개발환경 + Analytics 까지 intergration

Conclusion

  • 최근 개발 트렌드: 레고블럭 을 만드는 사람(구글) + 레고블럭을 조립하는 회사(서비스 회사)
  • 최대한 범용성 있고, 좋은 레고 블록을 빠르게 모으고 조립해서 좋은 제품을 출시하여 사용자에게 좋은 서비스를 제공하자.
  • 안해도 되는 일은 하지 말자.


텐서플로우

  • 텐서플로우란?

    • Machine Intelligence library
    • 파이썬이 가장 잘 바인딩 되어있음
    • gpu 가능한 버전은 리눅스만…
  • 텐서플로우 설치

    • 환경변수 설정(버전마다 다름)
    • docker에서 써라
  • 튜토리얼

    • Hello world
    • MNIST 데이터베이스를 잉요한 이미지처리 학습
    • 원핫벡터(n번째 차원만 1이고 나머지는 0인 벡터) + 이미지를 배열의 형태로 치환
    • 소프트맥스 회귀(사람은 0-9를 직관적으로 판별하지만, 기계는 0-9까지 어디에 속하는지 확률을 계산해서 어디에 가장 가까운지를 판단)
    • 긍정적 가중치, 부정적 가중치
  • 훈련

    • 데이터 모델링
    • 훈련: cross-entry를 비용으로 사용
    • 최적화 알고리즘을 선택(경사 하강법)
    • 초기화
    • 세션에 모델을 넣고 변수명 초기화, 몇번 훈련해야 할지 설정
    • 모델의 평가


'경험 > 행사' 카테고리의 다른 글

171109 Play.Node  (0) 2017.11.26
Let's Swift 2016  (0) 2016.07.10
2016 메이커톤  (0) 2016.06.22
댓글 로드 중…

트랙백을 확인할 수 있습니다

URL을 배껴둬서 트랙백을 보낼 수 있습니다