처음으로 GDG (Google Developers Group) Korea에서 주최하는 행사인 Google I/O Extended 2019 Daejeon에 참석했다. I/O Extended는 Google I/O 현장을 참석하지 못하였지만, Google I/O의 현장 경험과 발표한 내용을 공유해주는 이벤트이다.

사실 이러한 IT 이벤트에는 한 번도 가본 적이 없는 지라 꼭 한 번 가보고 싶어서 커뮤니티 사이트에 올라와있는 글을 보고 신청을 해 보았다.

1시에 접수하고 소정의 사은품을 받았는 데, 참가비 가격 대비 많은 걸 받아가는 느낌이 들었다. 머그컵, 미니 선풍기, 스티커, 뱃지, 연필!

사은품

현장에 도착하기 전날에 몇 명이 신청했는 지 궁금해서 살짝 봤는 데 100명 이상이 신청한 걸 보고 놀랐다. 그리고 실제로 현장에 도착했을 때도 생각보다 많은 사람들이 있었다. 당일 날 갑자기 비가 많이 내려서 사람이 적을 거라 생각했는 데!

발표무대

세션은 아래와 같이 구성되어 있다.

세션일정표

아래부터는 발표 내용을 간단히 요약했다.

ML on Google Cloud

  • 구글 클라우드 위에서 돌 수 있는 머신러닝에 대해 간단한 얘기
  • Public Cloud로는 아마존 AWS, 마이크로소프트 애저 등이 있다.
  • 구글에는 구글 클라우드 플랫폼이 있다.
    • 사용한 만큼 비용을 지불하고 쉽고 편하고 간단하다.
    • 인스턴스를 생성하는 것은 가상환경을 설정하는 것과 동일하다.
    • 클릭 몇 번으로 내 손으로 GPU를 사용할 수 있지만 비싸다.
    • Google Cloud Platform
  • 클라우드 머신 러닝 엔진은 AI 플랫폼이라는 이름으로 변경되었다.
    • 인프라 위에 던져놓고 학습이 끝나면 스택드라이버에서 확인이 가능하다.
    • 쉘 스크립트를 알아야한다.
    • 커스텀 모드를 사용할 수 있다. config 파일 작성 필요
    • AI Platform
  • Cloud Talent Solution
    • 구직자와 고용주 모두에게 인재 채용 환경을 제공한다.
    • 채용정보 검색 및 프로필 검색같은 기능을 학습하여 그 결과를 추천해준다.
    • 일반 사용자는 사용할 수 없다.
    • Cloud Talent Solution
  • Vision AI
    • 사진을 넣으면 그 사진을 사용하고 있는 사이트 목록을 나타낸다.
    • 사진이 음란물인지 판단한다.
    • Vision API
  • BigQuery ML
    • 표준 SQL 쿼리를 사용하여 머신러닝 모델을 만들고 실행할 수 있게 한다.
    • BigQuery ML

Web Updates at I/O 2019

  • 구글에서 25개의 웹 기술을 발표했다.
  • Google I/O 2019: What’s new with Chrome and the Web
  • 구글의 제품전략 : 대부분의 제품이 Progressive enhancement 전략을 취한다.
  • 왜냐하면 기술이 발전되는 속도는 정말 빠르나 유저의 대부분이 기술의 발전 속도를 따라가지 못한다.
  • 그래서 컨텐츠는 모두가 접근할 수 있되 유저의 환경에 따라 다른 UX를 제공한다.
  • 브라우저의 옛날 버전은 기본적인 기능은 작동되게
  • MVP를 하나 만들고 그를 기준으로 성장시킨다.
  • Lighthouse
    • 크롬을 설치하면 기본적으로 설치되는 분석 도구
    • 구글이 생각하는 베스트를 기준으로 웹 사이트의 성능, 접근성을 점검한다.
    • 구글의 모든 제품들이 Lighthouse를 기준으로 성능 체크를 한다.
    • Performance Budget을 사용해 코드에 대한 용량을 체크한다. 용량이 성능에 영향을 미친다.
  • Portals
    • iframe의 개량형
    • 서로 다른 사이트 간에 하나의 유기적인 구조로 만들 때 사용한다.
    • 각 서비스 마다 도메인이 다른 경우 페이지를 이동할 때 사용한다.
    • 기존의 보안 이슈와는 다른 이슈는 있을 수도 있으나 기본적으로는 이슈가 발생하진 않을 것 같다.
  • Web Perception toolkit
    • 웹에서 카메라를 사용할 수 있게 하는 도구
    • QR코드, 바코드, 형태 등을 인식시킬 수 있다.
    • 인식시키는 대상을 미리 정해놓고 그 대상이 인식되는 순간 해당 페이지로 이동시키는 형태롤 이용할 수 있다.
    • 오프라인과 온라인을 결합한 서비스에서 자연스럽게 나타낼 수 있다.
    • 인식률이 높지 않다.
    • 크롬 최신 버전에서 지원한다.
  • PWA
    • 웹을 이용해 앱을 만드는 도구
    • 마치 앱처럼 동작하는 어플리케이션
    • 구글이 바라보는 웹 기술은 거의 PWA
    • 크롬 76버전
    • 모바일에서는 크롬이나 삼성인터넷에서만 지원한다.
  • TWA
    • PWA를 안드로이드로 작동시킴
    • 플레이스토어에 올릴 수 있게 한다.
  • Web Share API
  • Proxx
    • 다양한 기기에서 60 프레임을 보장하는 지뢰찾기 게임
    • 모든 그래픽은 Canvas로 구현
    • 이벤트 제어만 DOM을 사용한다.
  • Web GPU
    • 사파리에서 시작한 WebGL의 다음 단계
    • WebGL2로도 일정 수준의 애니메이션을 만드는 것이 가능하다.
  • Google Search
    • 구글 봇이 업데이트되면서 최신 API를 사용할 수 있다.
    • Structured Data는 이 페이지 내의 콘텐츠가 무엇인지 알 수 있게 한다.

구글의 AI, 그리고 소프트웨어

  • 텐서플로우 : 머신러닝 플랫폼을 만들기 위한 오픈소스
  • 디바이스에서 돌아가는 머신러닝은 단순하다.
  • 굉장히 큰 모델을 압축해 디바이스에 심는다.
  • 학습한 데이터를 사용자의 디바이스 안에서 가지고 있는다.

Flutter And beyond Web

  • Hot Reload를 통해 UI를 작성하거나 수정한다.
  • 강력한 성능의 엔진을 사용해 리액티브 급의 성능을 보여준다.
  • 다양한 플랫폼의 어플리케이션을 제작할 수 있다.
  • Declarative 선언
  • 모든 UI가 위젯으로 이루어져있다.
  • 앱 개발을 하다가 네이티브 API나 3rd Party API를 호출하기 위해 플랫폼 채널을 이용한다.
  • Hummingbird는 Flutter의 코드네임
  • 초기 Hummingbird는 모든 렌더링 대상을 HTML Element 형태로 변환했다.
  • Flutter Web
    • Dom, Canvas, CSS의 적절한 조합을 가지고 모던 브라우저에서 유저 경험을 제공한다.
  • Flutter의 언어는 Dart만 지원한다.
  • 모바일을 만들기에 좋다. 그러나 나머지 플랫폼에서는 정식지원이 아니기 때문에 아쉬운 부분이 있다.