한국의 개발자들을 위한 Google for Developers 국문 블로그입니다.
Android Things Developer Preview 7
2018년 4월 25일 수요일
<블로그 원문은
이곳
에서 확인하실 수 있으며 블로그 번역 리뷰는 양찬석(Google)
님이 참여해 주셨습니다>
게시자:
Dave Smith
, IoT 디벨로퍼 어드보케
안드로이드 위에서 친숙한 기술을 활용해 사물 인터넷(IoT) 기기를 만들 수 있는 Android Things 플랫폼의 Developer Preview 7(DP7) 버전이 최근 출시되었습니다. 동영상 및 오디오 처리와 TensorFlow를 통한 온보드 기계 학습과 같은 강력한 기능을 지원합니다.
최신 프리뷰는 안드로이드 8.1 기반이며 Google Play 서비스
버전 11.8.0
을 지원합니다. DP7에 포함된 기능에 대한 자세한 내용은
출시 노트
를 참조하세요. 몇 가지 주요 사항은 다음과 같습니다.
콘솔 기능 개선 및 기기 업데이트
Android Things Console
에서 프로토타입에서 실제 프로덕션 출시까지 제품 관리를 위한 새로운 기능을 제공합니다.
제품 모델.
동일한 하드웨어 제품에 대한 여러 개의 소프트웨어 변형을 만들고, 각 변형 별로 빌드와 업데이트를 독립적으로 관리할 수 있습니다.
제품 공유.
관리자는 특정 제품의 모델, 빌드 및 업데이트를 확인하고 관리할 수 있는 사용자 계정을 추가하고 액세스 권한을 부여할 수 있습니다.
애널리틱스.
기기 활성화에 대한 통계를 보고 제품의 통계를 업데이트할 수 있습니다.
업데이트 채널.
프로덕션 버전은 계속 유지하면서, 개발이나 베타 테스트를 위해 소프트웨어 빌드를 특정 기기 그룹에 배포할 수 있습니다.
UpdateManager에 추가된 새 API를 사용하여 기기에서 여러 업데이트 채널을 확인하고 원하는 채널을 통해 업데이트를 받을 수 있습니다. 업데이트 채널 구독을 구성하는 방법에 대해 자세히 알아보려면
Device Updates API 가이드
와
콘솔 문서
를 참조하세요.
개발자 피드백 반영
지금까지 많은 개발자들이 수많은 피드백을 전달해주셨습니다. 이번 버전에서는 가장 많이 보고된 다음 이슈들을 처리하는 데 집중하고 있습니다.
향상된 카메라 해상도 지원.
이제 앱에서 카메라의 최대 기본 해상도로 이미지 데이터를 캡처할 수 있습니다.
MIDI 지원.
MidiManager
API를 사용하면 앱이나 인터페이스에서 외부 MIDI 컨트롤러로 가상 MIDI 기기를 빌드할 수 있습니다.
Android Things 앱의 더욱 향상된 테스트 성능.
이제
Peripheral I/O
API는 추상 클래스 대신 인터페이스를 노출시키므로, 로컬 단위 테스트에서 이들 객체를 mock 객체 혹은 stub 구현으로 쉽게 대체해 테스트를 진행할 수 있습니다.
일관된 API 명명.
전체적으로 보다 일관된 개발자 환경을 제공하기 위해 이번 릴리스에서는 기존 Android Things API 클래스 중 여러 클래스의 이름을 바꿉니다. 패키지 및 클래스 이름이 어떻게 바뀌었는지 알아보려면 업데이트된
API 레퍼런스
를 참조하세요.
새로운 블루투스 API
안드로이드 휴대기기에서는 Settings 앱을 통해 블루투스 기기에 페어링하고 연결하기 위한 컨트롤이 사용자에게 노출됩니다. Android Things가 실행되는 IoT 기기는 이와 동일한 작업을 프로그래밍 방식으로 수행해야 합니다. 새로운 BluetoothConnectionManager API는 앱이 페어링 및 연결 프로세스를 제어할 수 있도록 해줍니다. 자세한 내용은 새로운
블루투스 API 가이드
를 참조하세요.
샘플 업데이트
작년 Google I/O에서 저희는 Android Things에서
Kotlin을 사용한 앱 빌드
를 선보였습니다. Kotlin을 사용하는 개발자를 위해 저희는 Kotlin 버전의 Android Things 샘플을 게시하기 시작했습니다. 이제 Kotlin 언어와 Java 언어에서 모두
버튼 및 LED 샘플
을 다운로드할 수 있으며, 곧바로 더 많은 샘플이 나올 것입니다.
또한
TensorFlow Lite
라이브러리를 사용하도록
TensorFlow Image Classifier
샘플 앱을 마이그레이션했으며, 사전 학습된 TensorFlow 모델의 크기가 90% 이상 감소했고 이미지 분류에 걸리는 시간이 약 50% 감소했습니다.
피드백
버그 신고
및
기능 요청
을 작성하여 피드백을 보내주시고 또한 궁금한 사항이 있는 경우
Stack Overflow
에 올려주시기 바랍니다. 또한, Google+를 통해 업데이트를 구하고 아이디어를 토론할 수 있는 아주 유용한 리소스인
Google IoT 개발자 커뮤니티
에 가입하실 수 있습니다. 여러분이 Android Things를 어떻게 활용할지 기대가 큽니다!
구글플레이 인디게임 페스티벌을 맞아 국내 모바일 생태계 성장을 다시한번 응원합니다
2018년 4월 21일 토요일
작성자: 민경환 구글 한국 안드로이드 앱/게임 비즈니스 개발 총괄
오늘 드디어 인디 게임 개발자들의 축제의 장인 제 3회 구글플레이 인디 게임 페스티벌 파이널 행사가 넥슨 아레나에서 열립니다. 올해는 어떤 개발사들이 성공을 만들어갈지 벌써부터 설렙니다. 지난 3년 동안 인디 게임 페스티벌을 통해 국내 중소 개발사를 발굴하고 지원 프로그램을 담당해오면서 개발사분들께 꼭 강조하고 싶은 내용을 정리해보았습니다.
► 190개국 글로벌 유저에게 다가갈 수 있는 기회
구글플레이는 전 세계 사용자들과 개발자를 연결해주는 글로벌 앱마켓으로, 전 세계 190개 국가에서 10억 명의 사용자들이 이용하고 있습니다. 따라서 글로벌 사용자에게 도달할 수 있는 플랫폼입니다. 전년 기준으로 구글 플레이 스토어에서 820억 회의 앱 다운로드가 이루어졌으며 이는 지구 상 모든 사람이 11개의 앱을 다운로드 한 것과 같은 수치입니다. 카메라앱인
레트리카
의 경우 구글플레이 기준 해외 다운로드 비중이 99%를 차지할 만큼, 구글플레이는 개발사들이 글로벌 시장에서 성공할 수 있도록 돕는 플랫폼입니다.
► 개발자 콘솔의 활용
개발사들은 구글플레이 개발자 콘솔을 통해 개발한 게임 타이틀에 대해 사전 예약이나 A/B테스팅 기능 등을 사용하여 효과적으로 런칭할 수 있도록 하고, 또한 런칭된 게임에 대한 유저 리뷰 분석, 퍼포먼스 분석 및 유사 게임들과의 벤치마킹 분석을 쉽게 할 수 있습니다. 개발자 콘솔에 있는 클릭투콜(전화 연결)을 통해 개발사 피드백이나 피처링에 대한 문의 등도 가능합니다.
► 인디 개발사 지원 프로그램 활용
구글플레이팀에서는 제품 개발부터 제품 런칭, 그리고 사용자 인게이지먼트가 쉽지 않은 중소 개발사를 위해 ‘구글플레이 인디 게임 페스티벌', ‘구글플레이 앱 엑설런스 프로그램’, ‘구글플레이 인디 코너’, ‘플레이 타임’ 등으로 지원해오고 있습니다. 특히 2016년에 시작해 올해 3회째를 맞는 ‘구글플레이 인디 게임 페스티벌’을 통해 중소 개발사 발굴과 개발사들이 게임 유저와 직접 소통할 수 있는 오프라인 기회를 함께 제공하고 있습니다. 특히 올해는 대기업 및 대형 게임 개발사의 참여로 인디 개발사에 대한 지원이 다양하고 풍성해졌습니다.
컴투스(Com2uS)와 게임문화재단에서 지원하는 컴투스 동반성장 지원금을 비롯하여 삼성전자 ‘갤럭시 어워드(Galaxy Award)’, ‘네이버 웹툰 어워드(NAVER WEBTOON Award)’, 구글이 제공하는 개발사 마케팅 캠페인 지원을 위해 마련된 ‘마케팅 아레나 어워드’도 추가되었습니다.
물론 구글플레이 인디 게임 페스티벌은 일회성 이벤트에 그치지 않고 개발사들의 지속 성장과 글로벌 시장 진출을 위한 통합적 지원을 제공할 것입니다. 행사를 통해 선발된 개발사들은 구글플레이 스토어 인디 컬렉션 피처링이나 앱 엑셀런스 프로그램 참여 기회도 갖게 됩니다.
이번 기회를 빌려 강조드리고 싶은 것은 게임 콘텐츠를 어느 앱스토어에 런칭할지는 “개발자의 선택"이라는 것입니다. 모든 개발자는 구글플레이 스토어를 통해 앱을 배포할 수 있는 계정등록을 할 수 있습니다. 또한 구글플레이
개발자 배포 계약
과
개발자 프로그램 정책
을 준수하는 한 모든 앱은 구글플레이에 출시될 수 있습니다. 구글플레이는 플레이 스토어에만 앱을 출시하기로 결정한 개발자에게 어떠한 혜택도 제공하지 않습니다. 마찬가지로 구글플레이상의 모든 앱은 타사 앱 마켓 출시 여부와 관계 없이 사용자에게 보여지고 추천되는 기회가 제공됩니다.
인디게임 페스티벌 파이널 이벤트를 통해 소개할 Top 20 게임들이 유저들로부터 어떤 반응을 받을지 정말 궁금합니다. 구글플레이 인디 게임 파이널 행사에서 뵙겠습니다. 감사합니다.
4월 21일 서초구 서초동 넥슨아레나에서 개최되고 있는
‘제 3회 구글플레이 인디 게임 페스티벌’ 오프라인 전시 및 결승 이벤트
이제 AMP 페이지에서 게시자가 사용자 제어 기능들을 구현할 수 있습니다
2018년 4월 19일 목요일
<블로그
원문
은 이곳에서 확인할 수 있으며 블로그 번역 리뷰는
Jimmy moon님(
WebTech GDE)
이 참여해주셨습니다>
게시자: Rudy Galfi, AMP 제품 관리자
오늘날의 사용자들은 자신의 온라인 환경을 더 자세하고 다양하게 제어할 수 있기를 원합니다. 또한 게시자는 알림과 선택을 사용자에게 제공하는 방식에 있어, 공급업체 정책부터 곧 발표될
개인정보 보호법(GDPR)
등 진화하는 법적 요구사항에 이르기까지 여러 가지 다양한 요구에 직면하고 있습니다. 오픈소스 AMP 프로젝트는 게시자와 기술 공급업체들이 선호하는 사용자 제어 기능을 구현할 수 있는 도구를 제공하고, 그들의 AMP 페이지에서 다양한 개별 규정 준수 요구사항을 지원하기 위해 노력하고 있습니다.
새로운
구성 요소
가 현재 개발 중이며 곧 AMP 페이지에 통합될 수 있을 것입니다. 이렇게 하면 게시자가 자신의 웹사이트에 필요할 것으로 생각되는 알림, 선택 및 동의 절차를 더욱 쉽게 구현할 수 있습니다. 출시될 기능에는 “수락” 및 “거절” 의미 체계를 통해 사용자 인터페이스 알림에 선택을 표시하는 기능과 사용자 선택에 반응하는 AMP 요소 동작을 구성하는 기능이 포함됩니다. 댓글 달기, 구독 및 최신 상태로 유지하는 방법에 대한 자세한 내용은
해당 GitHub 문제
를 참조하시기 바랍니다.
사용자 컨트롤을 구현하고 GDPR과 같은 법률을 준수하기 위한 접근방식은 게시자마다 다릅니다. 따라서 모든 사람이
AMP 프로젝트 GitHub
를 사용하여 참여하고 요구사항을 전달하도록 권장합니다. 언제든지
새로운 문제를 제기
하여 프로젝트에서 구체적 기능 요청과 아이디어를 보내주시면 감사하겠습니다.
또한 AMP에서는 100개 이상의 공급업체 제공 기능을 지원하며 여기에는 애널리틱스, 광고 기술, 비디오 플레이어 및 다른 종류의 콘텐츠 임베딩이 포함됩니다. 게시자로서, 공급업체가 AMP의 사용자 컨트롤 기능과 통합하도록 보장하고 싶으면, 공급업체에게 AMP 프로젝트에 적극적으로 참여하도록 권장하십시오.
게시자가 새로운 구성 요소를 구현하도록 돕기 위해 저희가 몇 주 안에 문서와 예시를 게시할 것입니다. 더 자세한 내용을 계속 공유할 예정이니 여기에서 추가적인 업데이트를 확인하세요.
TensorFlow Dev Summit 2018의 하이라이트를 전해드립니다
2018년 4월 19일 목요일
<블로그 원문은
이곳
에서 확인하실 수 있으며 블로그 번역 리뷰는 권순선(Google)
님이 참여해 주셨습니다>
게시자: Sandeep Gupta, TensorFlow 제품 관리자, TensorFlow 팀을 대신하여
TensorFlow 블로그
에 최초 게시
3월 30일 저희는 두 번째
TensorFlow Developer Summit
을 캘리포니아주 마운틴 뷰의 컴퓨터 역사 박물관에서 주최했습니다! 이 행사에는 500명 이상의 TensorFlow 사용자가 직접 참석했으며, 전세계 TensorFlow 행사에서 수천 명의 사용자가 라이브스트림을 시청했습니다. 이 날은 TensorFlow 팀과 초청 연사들과의 기술 대담과 함께 신제품 발표로 가득 채워졌습니다. 다음은 이 행사의 주요 사항입니다.
전세계 모든 사람에게 영향을 미치는 어려운 문제들을 머신러닝이 해결하고 있습니다. 불가능하거나 너무 복잡해서 해결하기 어려울 것으로 생각했던 문제들을 이제 이 기술로 해결할 수 있게 되었습니다. TensorFlow를 사용하여 저희는 이미 다양한 여러 분야에서 상당한 발전을 이루었습니다. 예를 들면 다음과 같습니다.
천체 물리학자들이 TensorFlow를 사용하여 케플러 탐사선으로부터 전송되는 대량의 데이터를 분석함으로써
새로운 행성을 발견하고 있습니다
.
의료 연구원들이 TensorFlow와 함께 ML 기법을 사용하여 사람의
심장마비와 뇌졸중과 같은 심혈관 위험을 평가하고 있습니다
.
항공 교통 관제사들이 TensorFlow를 사용하여
붐비는 하늘에서 안전하고 효율적인 착륙을 위해 비행 경로를 예측하고 있습니다
.
엔지니어들이 TensorFlow를 사용하여 열대 우림에서 청각 데이터를 분석함으로써
벌목용 트럭과 기타 불법 행위를 탐지하고 있습니다
.
아프리카의 과학자들이 TensorFlow를 사용하여 카사바 농장에서 질병을 탐지함으로써농부의 수확량을 늘리고 있습니다.
TensorFlow의 이와 같은 놀라운 용도를 알게 되어 기쁘게 생각하며, 더 많은 개발자들이 TensorFlow를 이용할 수 있도록 최선을 다하고 있습니다. 이를 위해 저희는 개발자 환경 개선에 도움이 되는 TensorFlow의 새로운 업데이트를 기쁜 마음으로 발표합니다!
저희는 TensorFlow를 더욱 사용하기 쉽게 만들고 있습니다
연구원과 개발자들은 더욱 단순한 방법으로 TensorFlow를 사용하고자 합니다. 저희는
Eager Execution
이라고 불리는 보다 직관적인 Python 개발자용 프로그래밍 모델을 통합하는 중입니다. 이 모델은 계산 그래프의 구성과 실행 사이에 존재하는 차이를 제거해 줍니다. 개발자는 Eager Execution으로 개발한 다음, Estimator 고수준 API를 사용하여 동일한 코드로 규모에 맞는 트레이닝을 위한 등가 그래프를 생성할 수 있습니다. 저희는 또한 단일 시스템의 다중 GPU에서
Estimator 모델을 실행
하는 새로운 방법도 발표했습니다. 이를 통해 개발자가 최소한의 코드 변경만으로 신속하게 모델을 확장할 수 있습니다.
머신러닝 모델이 더욱 풍부해지고 복잡해짐에 따라 저희는 개발자들이 더욱 쉽게 공유하고 재사용하고 디버깅할 수 있도록 만들고 싶습니다. 개발자들이 모델을 공유하고 재사용할 수 있도록 저희는
TensorFlow Hub
를 발표했습니다. TensorFlow Hub는 유사한 작업에서 재사용될 수 있는 모듈(TensorFlow 그래프의 독립적인 조각)의 게시 및 검색을 촉진하기 위해 제작된 라이브러리입니다. 모듈에는 대규모 데이터세트에서 사전 학습된 가중치가 포함되며, 여러분의 애플리케이션에서 모듈이 재학습되고 사용될 수도 있습니다. 모듈을 재사용함으로써 개발자는 더 작은 데이터세트를 사용하여 모델을 학습시키거나, 일반화를 개선하거나, 학습 속도를 높일 수 있습니다. 모델 디버깅을 더욱 쉽게 만들기 위해 저희는 또한 새로운 대화형
그래픽 디버거 플러그인
을 TensorBoard 시각화 도구의 일부로 출시했습니다. 이 플러그인은 계산 그래프의 내부 노드를 실시간으로 검사하고 단계별로 실행하도록 도와줍니다.
모델 학습은 머신러닝 프로세스의 일부분에 불과하며, 개발자가 실제 ML 시스템을 구축하기 위해서는 완벽하게 작동하는 솔루션이 필요합니다. 이 목표를 향해 저희는 TensorFlow Model Analysis 출시와 함께 TensorFlow와 Apache Beam의 성능을 결합하여 평가 측정항목을 계산하고 시각화하는 오픈소스 라이브러리인 TensorFlow Extended(TFX)의 로드맵을 발표했습니다. 지금까지 출시된 TFX의 구성 요소(
TensorFlow Model Analysis
,
TensorFlow Transform
,
Estimators
및
TensorFlow Serving
포함)는 잘 통합되며 이를 통해 개발자가 데이터를 준비하고 TensorFlow 모델을 학습, 검증하고 프로덕션에 배포할 수 있습니다.
더 많은 언어와 플랫폼에서 사용 가능한 TensorFlow
TensorFlow를 더욱 사용하기 쉽게 만드는 것과 더불어, 개발자가 새로운 언어로 TensorFlow를 사용할 수 있음을 알려드립니다.
TensorFlow.js
는 JavaScript 개발자를 위한 새로운 ML 프레임워크입니다. 브라우저에서 TensorFlow.js를 사용하는 머신러닝은 흥미로운 새로운 가능성을 열어주며, 여기에는 대화형 ML 및 모든 데이터가 클라이언트측에 남아있는 시나리오 지원이 포함됩니다. 이 머신러닝을 사용하면 오로지 브라우저에서 모듈을 빌드하고 학습시킬 수 있을 뿐만 아니라, WebGL 가속을 사용하여 추론을 위해 오프라인으로 학습된 TensorFlow 및 Keras 모델을 가져올 수 있습니다.
Emoji Scavenger Hunt 게임
은 TensorFlow.js를 사용하여 제작된 애플리케이션의 재미있는 사례입니다.
또한 Swift 프로그래머를 위한 몇 가지 흥미로운 뉴스가 있습니다.
Swift용 TensorFlow
소스가 올해 4월에 공개됩니다. TensorFlow for Swift는 TensorFlow를 위한 일반적인 언어 바인딩이 아니며, 최고 수준의 컴파일러와 언어 지원을 통합하여, Eager Execution의 사용성과 함께 완벽한 성능의 그래프를 제공합니다. 이 프로젝트는 여전히 개발 중이며 더 많은 업데이트가 곧 나올 것입니다!
저희는 또한 TensorFlow의 경량 버전 솔루션인
TensorFlow Lite
의 최신 업데이트를 공유하고 있습니다. 이 솔루션은 학습된 ML 모델을 모바일 및 기타 종단 기기에 배포하기 위한 크로스 플랫폼 솔루션입니다. Android 및 iOS에 대한 기존 지원 외에도 Raspberry Pi에 대한 지원과 연산/모델(사용자설정 연산 포함)에 대한 향상된 지원도 발표하며, 개발자가 앱에서 TensorFlow Lite를 쉽게 사용할 수 있는 방법도 설명합니다. 현재 TensorFlow Lite 코어 인터프리터는 크기가 겨우 75KB에 불과하며(TensorFlow는 1.1 MB), 양자화 이미지 분류 모델을 실행할 경우 TensorFlow 대비 TensorFlow Lite에서 속도가 최대 3배나 빠릅니다.
하드웨어 지원을 위해 이제 TensorFlow가
NVIDIA의 TensorRT
와 통합됩니다. TensorRT는 추론을 위해 딥 러닝 모델을 최적화하는 라이브러리이자 프로덕션 환경에서 GPU에 배포하기 위한 런타임을 생성하는 라이브러리입니다. TensorRT는 TensorFlow에 다양한 최적화를 적용하며, 추론 중에 GPU에서 처리량을 최대화하고 지연 시간을 최소화하기 위해 플랫폼별 커널을 자동으로 선택합니다.
TensorFlow를 CPU에서 실행하는 사용자를 위해, 저희는 Intel과의 파트너십을 통해 딥 러닝을 위한
고도로 최적화된 Intel MKL-DNN 오픈소스 라이브러리와의 통합
을 제공하고 있습니다. Intel MKL-DNN을 사용할 경우, 다양한 Intel CPU 플랫폼에서 추론 속도가 최대 3배까지 빨라지는 것으로 판명되었습니다.
TensorFlow를 실행하는 플랫폼 목록이 Cloud TPU를 포함하도록 확장되었으며, 지난 달에
베타 버전이 출시되었습니다
. Google Cloud TPU 팀은 출시 이후 이미 1.6배 향상된 ResNet-50 성능을 선보이고 있습니다. 이러한 성능 개선은 곧 출시될 1.8 릴리스를 통해 TensorFlow 사용자에게 제공될 것입니다.
TensorFlow를 사용하여 새로운 애플리케이션과 도메인 지원
많은 데이터 분석 문제들은 통계 및 확률 메서드를 사용하여 해결됩니다. 딥 러닝과 신경망 모델을 넘어 이제 TensorFlow는
TensorFlow Probability API
를 통해 베이지안 분석을 위한 최신 메서드를 제공합니다. 이 라이브러리에는 확률 분포, 샘플링 메서드, 새로운 측정항목 및 손실과 같은 빌딩 블록이 포함됩니다. 기존의 다른 여러 ML 메서드에 대한 지원도 강화되었습니다. 예를 들어,
사전 제작된 고수준 클래스
를 사용하여 향상된 의사결정 트리를 쉽게 학습하고 배포할 수 있습니다.
머신러닝과 TensorFlow는 다양한 여러 분야에서 어려운 문제들을 이미 해결했습니다. TensorFlow가 지대한 영향을 미치는 또 다른 분야로는 유전체학이 있습니다. 저희가 TensorFlow에서 사용하기 위해 일반적인 유전체학 파일 형식을 읽고 쓰고 필터링하는 라이브러리인
Nucleus
를 출시하는 이유는 이 때문입니다. 이와 함께
DeepVariant
(게놈 변형을 검색하기 위한 오픈소스 TensorFlow 기반 도구)는 유전체학에서 새로운 연구와 발전을 촉진하도록 도와줄 것입니다.
커뮤니티 리소스와 참여 확대
TensorFlow에 대한 이러한 업데이트의 목적은 사용자 및 기고자 커뮤니티를 활용하고 성장시키는 것입니다. 이 커뮤니티에서 수천 명의 사람들이 TensorFlow를 전세계에서 가장 인기있는 ML 프레임워크 중 하나로 만들기 위해 노력하고 있습니다. 커뮤니티에 지속적으로 참여하고 TensorFlow를 최신 상태로 유지하기 위해 저희는 새로운 공식
TensorFlow 블로그
와
TensorFlow YouTube 채널
을 출시했습니다. 또한 저희 커뮤니티가 더욱 쉽게 공동 작업을 수행할 수 있도록 특정 프로젝트에서 오픈소스 작업을 지원하도록 고안된
새 메일링 리스트
와
SIG(Special Interest Groups)
를 공개할 예정입니다. 커뮤니티의 일원이 되는 방법에 대해 알아보려면
TensorFlow 커뮤니티
페이지를 방문하시고, 또한 항상 그렇듯이
Twitter
에서 TensorFlow를 팔로우하여 최신 뉴스를 받아보세요.
지난 2년 동안 TensorFlow가 성공적인 ML 프레임워크가 되도록 도와주신 모든 분들께 진심으로 감사드립니다. 참여하고 시청해주셔서 감사드립니다. #MadeWithTensorFlow를 사용하여 머신러닝 및 TensorFlow와 관련된 영향력 있고 도전적인 문제를 해결하는 방법을 공유하는 것을 잊지 마십시오!
한국어 지원을 출시한 Google Fonts를 소개합니다.
2018년 4월 16일 월요일
블로그 원문은
이곳
에서 확인할 수 있습니다.
게시자: Google Fonts 팀
이제 Google Fonts 카탈로그에는 민족 고유의 한글 표기 체계를 사용하는 디자이너와 개발자를 위한
한국어 웹 글꼴
이 포함됩니다. 지금까지 몇년 동안 일부 글꼴이 베타 버전에 제공되긴 했지만, 중국어, 일본어 및 한국어(CJK) 글꼴 파일을 제공하기 위한 보다 효율적인 수단을 연구한 끝에 이달 초 저희가 한국어 공식 지원을 발표했습니다. 이 CJK 글꼴 파일은 문자 집합과 파일 크기가 매우 큽니다.
저희는 CJK 글꼴을 제공하려고 항상 생각해 왔으며 이를 실현하기 위해
WOFF2
및
CSS3 유니코드 범위
와 같은 기초 기술에 대해 오랫동안 연구를 수행했습니다. 작년에 Google 엔지니어들은 글꼴을 더 작은 하위 집합으로 슬라이싱하는 다양한 접근방법을 사용하여 실험을 수행했으며, 매우 뛰어난 결과를 이끌어낸 몇몇 기술을 발견함으로써 이번 출시가 가능하게 되었습니다.
한글 문자는 중국어 한자와 일본어 간지 문자와는 완전히 다릅니다. 어떤 면에서 한글은 음성 문자로 구성되기 때문에 오히려 서양식 표기 체계와 더 유사합니다. 한자 및 간지는 시각적인 표어 문자이며 그 발음을 직접 나타내지 않는 반면, 한글은 표음 문자이므로 쓰여진 단어는 그 단어를 이루고 있는 소리로 구성됩니다.
한글은 19개의 자음 세트와 21개의 모음 세트로 시작합니다(1). 하나의 문장을 작성할 때 먼저 개별 문자가 확인되고(2), 이들 개별 문자가 한 덩어리를 이루어 전체 단어를 나타내며(3), 끝으로 문법적인 형태로 연결되고 배열되어 하나의 문장을 이룹니다(4).
한글 서체의 우아한 로직에도 불구하고, 중국어 및 일본어 글꼴처럼 한국어 글꼴이 개발자에게 어렵기는 마찬가지입니다. 한글 문자는 겨우 40개의 기본 요소로부터 구성될 수 있지만, 그 최종적인 형태의 수는 빠르게 늘어납니다. 한국어 글꼴은 궁극적으로 1만개 이상의 문자를 필요로 합니다. 즉, 대부분의 사용자가 다운로드하기에 파일이 너무 크기 때문에 웹사이트를 방문하자마자 즉시 글꼴이 나타날 것입니다. 일반적인 전체 한국어 글꼴이 약 4Mb를 차지하는 반면, 상당히 방대한 라틴어 글꼴이라도 대개 250Kb를 넘지 않습니다.
Google Fonts
사전 체험판
시스템에서만 한국어 글꼴이 제공되던 시절에, 저희는 전체 글꼴 파일을 사용자에게 제공할 때 발생하는 지연 시간을 많은 웹 개발자들이 기꺼이 감수한다는 사실에 놀랐습니다. 이러한 글꼴을 사전 체험판 시스템에서 제거하기 위해 저희는 더욱 넓은 계층의 웹 사용자(특히, 연결이 비교적 느린 사용자)가 이 글꼴을 사용할 수 있는 방법을 찾아야만 했습니다.
Google Fonts API는 큰 글꼴 파일을 여러 개의 하위 집합(예: "라틴어" 및 "키릴어")으로 나누어 제공합니다. 서비스가 출시될 때 개발자가 이들 하위 집합을 선택해야 했습니다. 몇년 동안 저희는 지원하는 브라우저에서 CSS3의 '유니코드 범위' 속성을 활성화했습니다. 즉, 큰 글꼴 파일을 하위 집합으로 슬라이싱할 때, 각 하위 집합의 유니코드 문자 범위는 @font-face 선언의 일부분으로 선언됩니다. 이렇게 하면 이들 문자가 웹페이지에 나타날 때 브라우저가 특정 하위 집합만을 가져올 수 있습니다.
Google Fonts API의 주요 이점 중 하나는 바로
교차 사이트 캐싱
이며, 이러한 이점은 유니코드 범위에서 글꼴 하위 집합을 제공할 때도 그대로 적용됩니다. 저희가 제공하는 글꼴 파일은 많은 도메인에서 사용되므로, 여러분이 사이트를 방문하고 브라우저가 글꼴을 다운로드한 후에는 해당 파일이 브라우저의 캐시에 저장됩니다. 그런 다음, 이와 동일한 글꼴 파일을 사용하는 또 다른 사이트를 다시 방문할 때는 브라우저가 해당 파일을 다시 다운로드할 필요가 없습니다. 이와 같은 지연 시간 관련 이점은 시간이 지남에 따라 더욱 커집니다. 또한 큰 글꼴 파일의 많은 하위 집합들이 이와 동일한 방식으로 캐시에 저장되므로 CJK 글꼴에서도 교차 사이트 캐싱의 이점을 동일하게 누릴 수 있습니다.
지난 수년 동안 저희는 유니코드 범위의 원활한 지원을 보장하기 위해 W3C 및 웹 개발자들과 협력해 왔습니다. 이제 Chrome, Firefox, Safari 및 Edge에도 이 기능이 제공되므로, 이들 브라우저에서 완벽하게 작동하는 한국어 웹 글꼴을 제공하기 위한 새로운 수단을 충분히 지원할 수 있게 되었습니다.
caniuse.com
에 따르면 유니코드 범위 기능에 대한 지원이 더욱 넓어지고 있습니다.
효율성 극대화를 위해 저희는 어떤 문자를 하위 집합에 모아놓아야 가장 적합한지 알고 싶었습니다. 저희는 한국어 웹의 텍스트를 분석하여 유니코드 문자의 패턴을 추출하는 방식으로 슬라이싱 전략을 고안했으며, 동일한 페이지에 함께 나타나는 경향이 있는 문자의 주제 모델을 빌드했습니다.
각 하위 집합에 어떤 한국어 문자를 포함할지 결정하기 위한 다양한 슬라이싱 전략을 평가할 때 저희의 목표는 하위 집합의 수와 요청의 수를 동시에 최소화하는 것이었습니다. 사용량과 공통성을 고려하지 않은 채 스크립트를 1,000개의 임의 하위 집합으로 슬라이싱한다면 너무 많은 HTTP 요청이 사라질 것입니다. 저희는 사전 체험판 시스템을 사용하여 다양한 전략들이 실제 트래픽을 어떻게 처리하는지 그 방법을 알아보기 위해 테스트 프레임워크를 빌드했으며, 지금까지 발견한 것 중에서 가장 효율적인 한국어 글꼴을 저희 디렉토리에 출시했습니다.
전략 1에는 슬라이싱이 없습니다. 최적의 전략은 최악의 전략보다 연결 요청이 1/20 이상 적었고, 이 경우에는 언어 사용 패턴을 고려하지 않고 글꼴이 동일한 부분으로 나눠집니다.
앞으로 더욱 나아질 것으로 기대합니다. 저희 기준으로 볼 때, 아주 작은 개선이라도 이루어진다면 많은 노력이 그만한 가치가 있을 것입니다. 슬라이싱에 대한 다양한 접근방법에서 테스트 프레임워크를 계속 사용함으로써 서비스를 최대한 효율적으로 조정할 수 있습니다. 저희 API를 사용하는 웹 개발자와 모든 최종 사용자들에게 있어 이러한 종류의 변화는 완전히 투명하게 수행되며 어떠한 추가 작업도 수행할 필요가 없습니다. 예를 들어 WOFF2가 2015년에 나왔을 때, WOFF2를 지원하는 브라우저를 사용하는 모든 사용자의
환경이 25% 더 빨라졌습니다
. 저희는 모든 사용자에게 더 나은 환경을 지속적으로 투명하게 제공할 것입니다. 앞으로 CJK 글꼴 제공이 개선될 가능성이 매우 높습니다.
이번 출시는 5개의 한국어 글꼴로 시작되었고, 이들 글꼴은 한국 최고의 한국어 활자 주조소인 산돌이 네이버용으로 처음 디자인한 것입니다. 초기 출시 이후로 저희 컬렉션은 23개 한국어 제품군으로 성장했으며, 이들 제품군을 소개하기 위해 뉴욕시의 디지털 디자인 스튜디오인 Math Practice사로부터
디지털 견본 웹사이트
를 의뢰했습니다. 여기에서 아름다운 한국어 서체를 실제로 볼 수 있고 새로운 슬라이싱 기법을 통해 빠른 페이지 로딩이 가능합니다.
한국어 글꼴 컬렉션의 수를 늘리고 미니사이트를 개발하는 데 참여하신 SooYoung Jang, Irin Kim, E Roon Kang, Wonyoung So, Guhong Min, Hannah Son, Aaron Bell, Marc Foley 그리고 모든 서체 디자이너들에게 감사의 말씀을 전합니다.
Android Things & Actions on Google 코드랩 후기를 들려드립니다
2018년 4월 16일 월요일
안녕하세요, 구글코리아의 Android Things 코드랩 팀입니다.
지난 2월 24일 구글코리아에서 열린 'Android Things & Actions on Google' 코드랩 행사가 참석자 여러분들의 성원에 힘입어 성공적으로 마무리 되었습니다. 보내주신 성원에 감사드리며, 이번에 진행된 코드랩 행사에 대한 후기를 공유하고자 합니다.
먼저 코드랩에 사용된 기술에 대해 간략히 말씀 드리도록 하겠습니다.
Android Things
는 안드로이드 기반의 사물인터넷 플랫폼입니다. Android Things는 사물인터넷 기기 개발 프로토타이핑을 손쉽게 가능하도록 하고, 양산 단계까지 빠르게 갈 수 있는 환경 제공을 목표로 하고 있습니다. 또한, 사물인터넷 기기를 위한 특화된 안드로이드 OS(운영체제)를 제공하고, 모바일 앱 개발과정와 같이 친숙한 Android Studio을 사용하여 사물인터넷 앱을 개발하는 등 안드로이드의 장점을 활용할 수 있고, 텐서플로와 구글 클라우드 API를 비롯한 구글 서비스를 쉽게 탑재 할 수 있습니다.
구글 어시스턴트
는 인공지능 비서 서비스입니다. 구글 어시스턴트는 사용자의 세계를 이해하고 도움을 줄 수 있는 사용자와 구글 사이의 양자간 대화를 기반으로 합니다. 원하는 시간에 영화표를 사고, 영화를 기다리는 동안 가족과 함께 식사할 수 있는 식당을 찾고, 식사가 끝나고 영화관으로 가는 길을 찾을 수 있도록 안내 해줍니다. 사용자들은 어디에 있든, 어떤 상황에 처해있든 언제든지 구글에 도움을 요청할 수 있습니다.
개발자 여러분은
Actions on Google
(AoG) 플랫폼을 통해 구글 어시스턴트의 기능을 확장하고 사용자에게 서비스를 제공할 수 있습니다. 사용자는 기존의 모바일 앱과는 달리 대화형 상호작용을 통해 필요한 작업을 수행할 수 있습니다.
Dialogflow
는 개발자가 대화형 상호작용을 쉽게 정의하고 만들고 관리할 수 있도록 돕는 챗봇 빌더 플랫폼입니다. Dialogflow는 높은 수준의 자연어처리 능력을 갖추고 있습니다. 개발자는 ‘오늘 날씨 알려줘’ 등과 같이 특정 요청을 위해 자주 사용하는 구문이나, 특정 도시명이나 학교명 등의 주요 입력 변수들을 입력하고, 학습을 위한 몇 가지 예시 구문을 추가하는 것 만으로 대화형 상호작용을 위한 기본적인 로직을 생성할 수 있습니다.
코드랩은 크게 두 가지 코스로 진행되었습니다. 첫 번째는 Android Things 키트에 구글 어시스턴트를 설치하여 음성 인식을 테스트 해보는 코스였고, 두 번째는 Actions on Google로자신만의 챗봇을 만들고 DialogFlow를 활용하여 음성 명령어를 처리해 보는 코스였습니다.
코드랩 행사는 아래와 같이 진행됐습니다.
Android Thigns와 Actions on Google에 대한 키노트 세션
코드랩 자료 공유 후 정해진 시간 동안 두 가지 코스 자율 진행
예외상황이 발생하여 진행이 안 될 시 현장에 있는 기술 튜터들이 지원
이번 코드랩이 성공적으로 치뤄질 수 있었던 이유는 참석자분들의 높은 관심과 튜터분들의 노력 덕분이었습니다. 이번 행사를 위해 다섯 명의 구글 직원분들과 다섯 명의 GDG(Google Developers Groups) 커뮤니티 운영자분들로 구성된 총 10명의 튜터분들이 참여해 주셨습니다.
이번에 진행된 코드랩을 직접 재현해 보기를 원하시거나, Android Thing 키트를 대여하여 자신만의 코드랩을 진행해 보고 싶으신 분들은
여기 링크
를 통해 그룹 단위로 신청이 가능합니다. 신청서 검토 후 목적에 부합하다고 판단되면 개별 연락을 통해 공지드립니다. 대여 신청은 당분간 기한 없이 신청이 가능합니다.
구글코리아는 앞으로도 더욱 다양한 프로그램을 마련할 예정이며, 끝으로 몇 장의 코드랩 현장 사진과 함께 후기를 마칩니다. 모든 분께 정말 감사드리며, 조만간 곧 다시 찾아뵙도록 하겠습니다. 감사합니다.
사이트 신뢰성 엔지니어링을 통해 구글의 서비스 개발과 운영 노하우를 소개합니다.
2018년 4월 13일 금요일
사이트 신뢰성 엔지니어링(Site Reliability Engineering; SRE)은 정보통신 기술의 운영단계에서 발생가능한 문제들을 소프트웨어 엔지니어링 측면에서 대응하기 위해 만들어진 분야입니다. 사이트 신뢰성 엔지니어링의 주된 목적은 뛰어난 확장성과 신뢰성을 갖춘 소프트웨어 시스템을 구축하는 것입니다.
기존에
영문
으로만 존재하던 본 도서가 이번에 다양한 언어로 번역된 후 공개되었고, 한국어판 도서 또한 함께 출판되었습니다. 아래는 출판사의 문구를 인용한 도서 소개글입니다.
“
다음 단계로 성장하기 위한 영감으로 가득한 책!
실제로 동작하는 코드가 가장 중요하다고 여기는 구글의 원칙을 체험한다!
소프트웨어 시스템의 수명은 보통 디자인이나 구현 단계가 아니라 실제로 사용되는 기간에 좌우된다. 그렇다면 어째서 소프트웨어 엔지니어는 대용량 컴퓨팅 시스템을 디자인하고 구현하는 과정을 가장 중요하게 생각해 온 것일까?
이 책에서는 구글의 사이트 신뢰성 엔지니어링팀의 핵심 구성원들이 소프트웨어의 전체 생명주기에 집중함으로써 세계에서 가장 거대한 소프트웨어 시스템을 구현하고, 배포하고, 관측하며, 유지하는 방법과 그 이유를 다양한 에세이와 사설을 통해 소개한다. 이를 통해 구글 엔지니어들이 더 확장 가능하고, 신뢰할 수 있으며, 효과적인 시스템을 구축할 수 있었던 원리와 사례를 여러분의 조직에도 적용할 수 있게 될 것이다.
이 책의 주요 내용
소개
: 사이트 신뢰성 엔지니어링이 무엇인지, 그리고 기존 IT 분야의 사례와는 어떻게 다른지를 소개한다.
원리
: 패턴과 행동 양식, 그리고 사이트 신뢰성 엔지니어의 작업에 영향을 미치는 여러 사안을 소개한다.
사례 연구
: SRE의 일과인 대용량 분산 컴퓨팅 시스템을 구축하고 운영하기 위한 이론과 사례들을 학습한다.
관리
: 구글이 권장하는 신규 입사자에 대한 교육, 의사소통, 회의 진행 방식 등을 자신의 조직에 적용하기 위한 방법들을 살펴본다.
”
Contents
ML/Tensorflow
Android
Flutter
Web/Chrome
Cloud
Google Play
Community
Game
Firebase
검색
Tag
인디게임페스티벌
정책 세미나
창구프로그램
AdMob
AI
Android
Android 12
Android 12L
Android 13
Android 14
Android Assistant
Android Auto
Android Games
Android Jetpack
Android Machine Learning
Android Privacy
Android Studio
Android TV
Android Wear
App Bundle
bootcamp
Business
Chrome
Cloud
Community
compose
Firebase
Flutter
Foldables
Game
gdg
GDSC
google
Google Developer Student Clubs
Google I/O
Google Play
Google Play Games
Interview
Jetpack
Jetpack Compose
kotlin
Large Screens
Library
ma
Material Design
Material You
ML/Tensorflow
mobile games
Now in Android
PC
Play Console
Policy
priva
wa
wear
Wearables
Web
Web/Chrome
Weeklyupdates
WorkManager
Archive
2026
7월
6월
5월
4월
3월
2월
1월
2025
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2024
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2023
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2022
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2021
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2020
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2019
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2018
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2017
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2016
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2015
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2014
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2013
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2012
12월
11월
10월
9월
8월
7월
6월
5월
3월
2월
1월
2011
12월
11월
Feed