-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathfirebase.html
executable file
·467 lines (459 loc) · 26.4 KB
/
firebase.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
<html lang="">
<head>
<meta charSet="utf-8"/>
<meta http-equiv="x-ua-compatible" content="ie=edge"/>
<title>
Firebase Sessions | GDG DevFest 2018 Tokyo
</title>
<meta name="description" content="9月1日(土)に開催するGDG DevFest 2018 Tokyo、Firebaseセッションの登壇者とセッションの紹介を紹介します! "/>
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/>
<meta property="og:image" content="assets/tm7unis8.jpg?w=1200&h=630&fit=crop"/>
<link rel="icon" href="assets/gp8tlgr0.png"/>
<link rel="stylesheet" href="styles.css"/>
<script async="" src="https://www.googletagmanager.com/gtag/js?id=UA-119683141-2">
</script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-119683141-2');
</script>
</head>
<body>
<div style="font-family:Helvetica,sans-serif;font-size:14px">
<div>
<header class="header" style="color:#fff;font-weight:400">
<div class="wr">
<a id="headerLogo" href="/" class="header__logoImg">
<img src="assets/lkivl1yf.png?w=300" width="150"/>
</a>
<nav id="headerNav" class="header__nav">
<div class="header__navCtas">
<a href="https://gdg-tokyo.connpass.com/event/95307/" class="btn btn--c btn--primary" style="color:#fff;background-color:rgba(12,85,255,1)">
イベントのconnpassページ
</a>
<a href="/sessions" class="btn btn--c btn--primary" style="color:#fff;background-color:rgba(12,85,255,1)">
セッション紹介
</a>
<a href="/timetable" class="btn btn--c btn--primary" style="color:#fff;background-color:rgba(12,85,255,1)">
タイムテーブル
</a>
<a href="/codelabs" class="btn btn--c btn--primary" style="color:#fff;background-color:rgba(12,85,255,1)">
Codelabs
</a>
<a href="/contact" class="btn btn--c btn--primary" style="color:#fff;background-color:rgba(12,85,255,1)">
お問い合わせ
</a>
</div>
</nav>
<nav id="headerMenu" class="header__nav header__nav--hidden">
<button id="headerMenuButton" class="btn btn--c btn--primary" style="color:#fff;background-color:rgba(12,85,255,1)">
Menu
</button>
</nav>
<nav id="headerDrawer" class="headerMenu">
<div id="headerDrawerBackdrop" class="headerMenu__backdrop">
</div>
<ul class="headerMenu__links">
<li>
<a href="https://gdg-tokyo.connpass.com/event/95307/" class="btn btn--c btn--primary" style="color:#fff;background-color:rgba(12,85,255,1)">
イベントのconnpassページ
</a>
</li>
<li>
<a href="/sessions" class="btn btn--c btn--primary" style="color:#fff;background-color:rgba(12,85,255,1)">
セッション紹介
</a>
</li>
<li>
<a href="/timetable" class="btn btn--c btn--primary" style="color:#fff;background-color:rgba(12,85,255,1)">
タイムテーブル
</a>
</li>
<li>
<a href="/codelabs" class="btn btn--c btn--primary" style="color:#fff;background-color:rgba(12,85,255,1)">
Codelabs
</a>
</li>
<li>
<a href="/contact" class="btn btn--c btn--primary" style="color:#fff;background-color:rgba(12,85,255,1)">
お問い合わせ
</a>
</li>
</ul>
<button id="headerDrawerClose" class="headerMenu__close btn">
Close
</button>
</nav>
</div>
<script>
(function() {
var buffer = 10;
var margin = 60 + 40 + buffer;
// button
var button = document.getElementById('headerMenuButton');
var buttonWrapper = document.getElementById('headerMenu');
// drawer
var drawer = document.getElementById('headerDrawer');
var drawerBackdrop = document.getElementById('headerDrawerBackdrop');
var drawerClose = document.getElementById('headerDrawerClose');
// header UI
var logo = document.getElementById('headerLogo');
var nav = document.getElementById('headerNav');
var logoWidth = logo.offsetWidth;
var navWidth = nav.offsetWidth;
var determineVisibility = function() {
var parent = window.innerWidth;
if (logoWidth + navWidth > parent - margin) {
nav.classList.add('header__nav--hidden');
buttonWrapper.classList.add('headerMenu--visible');
} else {
nav.classList.remove('header__nav--hidden');
buttonWrapper.classList.remove('headerMenu--visible');
}
};
var showDrawer = function() {
drawer.classList.add('headerMenu--visible');
};
var hideDrawer = function() {
drawer.classList.remove('headerMenu--visible');
};
button.onclick = showDrawer;
drawerBackdrop.onclick = hideDrawer;
drawerClose.onclick = hideDrawer;
window.addEventListener('resize', determineVisibility);
determineVisibility();
})();
</script>
</header>
</div>
<div>
<div class="section section--hero" style="background-image:url(assets/iuawn1mv.jpg?w=1300&h=800&q=50&fit=crop)">
<div class="wr heroWr heroWr--center">
<div class="heroWrapper heroWrapper--center" style="--margin-bottom-scale:0.1;--margin-top-scale:0.1">
<h1 class="hero__title" style="color:#fff;font-weight:700;font-family:Helvetica,sans-serif">
</h1>
<h2 class="hero__subtitle" style="color:#fff;font-weight:400">
</h2>
<div class="hero__ctas">
</div>
</div>
<div>
</div>
</div>
</div>
</div>
<div>
<div class="section" style="background-color:#fff">
<div class="wr">
<h2 class="section__title center" style="color:#000;font-weight:700;font-family:Helvetica,sans-serif">
Firebase登壇者
</h2>
<h3 class="section__subtitle center" style="color:rgba(74,74,74,1);font-weight:400">
登壇コミュニティ:Firebase Japan User Group (FJUG)
</h3>
<div class="team team--left">
<div class="team__member">
<div class="member__avatar" style="background-image:url(assets/9i46rhv1.jpg?w=80&h=80&trim=crop&crop=faces)">
</div>
<h3 class="member__name" style="color:#000;font-weight:400">
sota1235
</h3>
<h4 class="member__role" style="color:rgba(74,74,74,1);font-weight:400">
@sota1235
</h4>
<p class="member__description" style="color:rgba(74,74,74,1);font-weight:400">
2017年1月にメルカリに入社。最初の3ヶ月間は US チームに所属し、USメルカリの成長に尽力。4 月から日本チームに異動。昨年の7月にリリースされたメルカリチャンネルのチームに立ち上げ当初から参画し、サーバサイドエンジニアとして開発を行う。
今年の7月よりWebのRearchitectチームに異動。念願のJavaScriptエンジニアとして日々開発中。
</p>
</div>
<div class="team__member">
<div class="member__avatar" style="background-image:url(assets/rgo296my.jpg?w=80&h=80&trim=crop&crop=faces)">
</div>
<h3 class="member__name" style="color:#000;font-weight:400">
shihochan
</h3>
<h4 class="member__role" style="color:rgba(74,74,74,1);font-weight:400">
@shihochandesu
</h4>
<p class="member__description" style="color:rgba(74,74,74,1);font-weight:400">
Yuki Shiho, Android app developer at AbemaTV, Inc. Gourmet, Traveler, Organizer of shibuya_apk, Author of WEB+DB PRESS Vol.105.
Also a keen cat lover, crazy about Keyakizaka46.
</p>
</div>
<div class="team__member">
<div class="member__avatar" style="background-image:url(assets/ka3xl1ku.jpg?w=80&h=80&trim=crop&crop=faces)">
</div>
<h3 class="member__name" style="color:#000;font-weight:400">
青野 健利(ブルーノ)
</h3>
<h4 class="member__role" style="color:rgba(74,74,74,1);font-weight:400">
@brn227
</h4>
<p class="member__description" style="color:rgba(74,74,74,1);font-weight:400">
株式会社サイバーエージェント・アドテクスタジオでAIメッセンジャーというプロダクで開発責任者をしています。
技術者としてはフロントエンドが主ですが、javascript以外にもC++・Rust等も好きです。
Google V8 javascriptエンジンのコントリビュータをしています。
</p>
</div>
</div>
</div>
</div>
</div>
<div>
<div class="section" style="background-color:#fff">
<div class="wr">
<div class="team team--left">
<div class="team__member">
<div class="member__avatar" style="background-image:url(assets/zqdxrexd.jpg?w=80&h=80&trim=crop&crop=faces)">
</div>
<h3 class="member__name" style="color:#000;font-weight:400">
タイラー
</h3>
<h4 class="member__role" style="color:rgba(74,74,74,1);font-weight:400">
@dshukertjr
</h4>
<p class="member__description" style="color:rgba(74,74,74,1);font-weight:400">
Flutter, Polymer, and Firebase が好きな25歳の日米ハーフのプログラマー
</p>
</div>
<div class="team__member">
<div class="member__avatar" style="background-image:url(assets/kctuacma.jpg?w=80&h=80&trim=crop&crop=faces)">
</div>
<h3 class="member__name" style="color:#000;font-weight:400">
gremito
</h3>
<h4 class="member__role" style="color:rgba(74,74,74,1);font-weight:400">
@grem_ito
</h4>
<p class="member__description" style="color:rgba(74,74,74,1);font-weight:400">
ゲームアプリ開発とCtoC(マッチング)サービス開発が大好き。最近は、自称QAエンジニアです。
</p>
</div>
<div class="team__member">
<div class="member__avatar" style="background-image:url(assets/33ampz62.jpg?w=80&h=80&trim=crop&crop=faces)">
</div>
<h3 class="member__name" style="color:#000;font-weight:400">
Daiki Matsudate
</h3>
<h4 class="member__role" style="color:rgba(74,74,74,1);font-weight:400">
@d_date
</h4>
<p class="member__description" style="color:rgba(74,74,74,1);font-weight:400">
iOSエンジニア。学生の頃からiOSアプリを作りはじめ、スタートアップ数社、フリーランスを経て株式会社FOLIOへ。Swift Contributorでもあり、try!Swiftのオーガナイザーの一人でもある。
著書「iOSアプリエンジニアのためのFirebase入門」「iOSアプリ設計パターン入門」
</p>
</div>
</div>
</div>
</div>
</div>
<div>
<div class="section" style="background-color:#fff">
<div class="wr">
<div class="team team--left">
<div class="team__member">
<div class="member__avatar" style="background-image:url(assets/xe3irfwx.jpg?w=80&h=80&trim=crop&crop=faces)">
</div>
<h3 class="member__name" style="color:#000;font-weight:400">
1amageek
</h3>
<h4 class="member__role" style="color:rgba(74,74,74,1);font-weight:400">
@1amageek
</h4>
<p class="member__description" style="color:rgba(74,74,74,1);font-weight:400">
半導体エンジニアからiOSエンジニアにコンバート、クックパッドでサーバーレス開発を推進しフルFirebaseのプロダクトを手がける。独立後もFirebase Japan User Groupのオーガナイザーとして、精力的にFirebaseの普及に尽力している。
</p>
</div>
<div class="team__member">
<div class="member__avatar" style="background-image:url(assets/kadz2do1.png?w=80&h=80&trim=crop&crop=faces)">
</div>
<h3 class="member__name" style="color:#000;font-weight:400">
</h3>
<h4 class="member__role" style="color:rgba(74,74,74,1);font-weight:400">
</h4>
<p class="member__description" style="color:rgba(74,74,74,1);font-weight:400">
</p>
</div>
</div>
</div>
</div>
</div>
<div>
<div class="section" style="background-color:#fafafa">
<div class="wr">
<h2 class="section__title center standalone" style="color:#000;font-weight:700;font-family:Helvetica,sans-serif">
Firebaseセッション紹介
</h2>
<div class="faq">
<div class="faqItem">
<h3 class="faqItem__question" style="color:#000;font-weight:600">
Realtime Database for high traffic production application
</h3>
<p class="faqItem__answer" style="color:rgba(74,74,74,1);font-weight:400">
メルカリではFirebase Realtime Databaseをライブコマース機能であるメルカリチャンネルで使用しています。Realtime Databaseは迅速なサービスのリリースを後押しする強力な機能ですが、リリースを終えた後に待っているのはパフォーマンスモニタリングや障害時の仕組みづくり等、継続的にお客さまに価値を届けるための少し愚直な工夫です。
本セッションではメルカリチャンネルでのRealtime Databaseの使用例と運用時の工夫や幾多の障害時を乗り越えておこなった工夫を紹介します。
【セッションレベル:中級】
【登壇者:sota1235】
</p>
</div>
<div class="faqItem">
<h3 class="faqItem__question" style="color:#000;font-weight:600">
Growing your app with Firebase
</h3>
<p class="faqItem__answer" style="color:rgba(74,74,74,1);font-weight:400">
Firebaseはユーザー層の拡大と利用促進に関するプロダクトを数多く提供しており、それらを組み合わせることによってアプリの状態を正しく分析し、ビジネスの成長につなげることができます。
本セッションでは、各プロダクトの概要を説明すると共に実際の現場での活用事例について紹介します。
対象
・ビジネス成長に関わるプロダクト(βの機能も含む)の全体像を知りたい人
・Firebaseを活用してビジネスとプロダクトを成長させたい人
【セッションレベル:中級】
【登壇者:shihochan】
</p>
</div>
<div class="faqItem">
<h3 class="faqItem__question" style="color:#000;font-weight:600">
Firebase Realtime Database in Production
</h3>
<p class="faqItem__answer" style="color:rgba(74,74,74,1);font-weight:400">
Firebase Realtime Databaseを利用したチャットサービスの構築・運用をして得た知見をお伝えできればと思います。
パフォーマンスについて、障害に対してどう対応すべきか、フロントエンド側の知見等。
【セッションレベル:中級】
【登壇者:青野 健利(ブルーノ)】
</p>
</div>
<div class="faqItem">
<h3 class="faqItem__question" style="color:#000;font-weight:600">
"Fan out" to create twitter like timeline with Cloud Firestore and Cloud Functions
</h3>
<p class="faqItem__answer" style="color:rgba(74,74,74,1);font-weight:400">
Firebaseを使ってtwitter的なタイムライン機能をもつアプリケーションを作る方法を紹介します。
NoSQLデータベースを使う上で重要となるFan outと呼ばれるテクニックと、それを実現するためにどのようにCloud Functionsが使われているかをEveryhubというクラウドサービス上での実例を交えて紹介します。
【セッションレベル:中級】
【登壇者:タイラー】
</p>
</div>
<div class="faqItem">
<h3 class="faqItem__question" style="color:#000;font-weight:600">
Game Development for Firebase Unity SDK
</h3>
<p class="faqItem__answer" style="color:rgba(74,74,74,1);font-weight:400">
ゲームアプリ開発では、Unityが使われているケースが多く、カジュアルゲームアプリやソーシャルゲームアプリ、これら以外でも幅広くUnityが採用されています。そんなUnityにFirebaseはサポートしており、ゲームアプリ開発にFirebaseを活用することでどんなメリット・デメリットがあるのか、またFirebase Unity SDKを扱う際のTipsを紹介・解説をしていきます。
対象
- ゲームアプリ開発に興味がある人
- Unityに関わっている人
- これからFirebaseとUnityで何か作ろう・作りたいと考えている人
【セッションレベル:初級】
【登壇者:gremito】
</p>
</div>
<div class="faqItem">
<h3 class="faqItem__question" style="color:#000;font-weight:600">
Firebase Overview for native application
</h3>
<p class="faqItem__answer" style="color:rgba(74,74,74,1);font-weight:400">
Firebaseはもはやモバイルアプリケーションには欠かすことのできないサービスとなりつつあります。iOS, Android, Flutterなど、様々なモバイルプラットフォームで利用することができます。このセッションでは、Firebaseの一通りのサービスを説明しながら、「とりあえずいれてほしいもの」「使い所をよく考えたいもの」を分けていき、Firebaseを技術選定手段のひとつとして見つめなおします。エンジニアだけでなく、Firebaseが気になるすべての方が対象です。
【セッションレベル:初級】
【登壇者:Daiki Matsudate】
</p>
</div>
<div class="faqItem">
<h3 class="faqItem__question" style="color:#000;font-weight:600">
Firestore Database Design
</h3>
<p class="faqItem__answer" style="color:rgba(74,74,74,1);font-weight:400">
FirestoreにおけるNoSQLのデータベース設計についてお話します。Firestoreでは、データ構造がUX・セキュリティルール・料金に影響を及ぼします。
FirestoreのQueryを使ったデータ構造のメリット、SubCollectionを使ったデータ構造のメリットなど、トレードオフの話を考慮しながら解説します。
【セッションレベル:中級】
【登壇者:1amageek】
</p>
</div>
</div>
</div>
</div>
</div>
<div>
<div class="section section--cta section--left" style="background-color:#fff">
<div class="wr">
<div class="cta__titles">
<h2 class="section__title center" style="color:#000;font-weight:700;font-family:Helvetica,sans-serif">
セッション紹介
</h2>
<h3 class="section__subtitle center" style="color:rgba(74,74,74,1);font-weight:400">
今年のGDG DevFest 18 Tokyoは、8つのセッショントラックで開催します。
</h3>
</div>
<div class="cta__ctas">
<a href="/android" class="btn btn--c btn--primary btn--large" style="color:#fff;background-color:rgba(12,85,255,1)">
Android
</a>
<a href="/gcp" class="btn btn--c btn--primary btn--large" style="color:#fff;background-color:rgba(12,85,255,1)">
GCP
</a>
<a href="/web" class="btn btn--c btn--primary btn--large" style="color:#fff;background-color:rgba(12,85,255,1)">
Web
</a>
<a href="" class="btn btn--c btn--secondary btn--large" style="color:rgba(12,85,255,1)">
Firebase
</a>
<a href="/ml" class="btn btn--c btn--primary btn--large" style="color:#fff;background-color:rgba(12,85,255,1)">
ML
</a>
<a href="/assistant" class="btn btn--c btn--primary btn--large" style="color:#fff;background-color:rgba(12,85,255,1)">
Assistant
</a>
<a href="/flutter" class="btn btn--c btn--primary btn--large" style="color:#fff;background-color:rgba(12,85,255,1)">
Flutter
</a>
<a href="/go" class="btn btn--c btn--primary btn--large" style="color:#fff;background-color:rgba(12,85,255,1)">
Go
</a>
</div>
</div>
</div>
</div>
<div>
<footer class="section section--footer" style="background-color:#fff">
<div class="wr">
<div class="footer" style="color:rgba(74,74,74,1);font-weight:400">
<div class="footer__primary">
<span>
2018 © GDG Tokyo. All rights reserved.
</span>
<nav class="footer__linkRow">
<a href="/contact">
お問い合わせ
</a>
<a href="https://www.meetup.com/gdg-tokyo-jp/">
Join GDG Tokyo
</a>
<a href="https://twitter.com/hashtag/DevFest18">
#DevFest18
</a>
</nav>
</div>
<ul class="footer__social">
<li>
<a href="https://twitter.com/gdgtokyo" target="_blank">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
<path d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z" fill="rgba(74,74,74,1)">
</path>
</svg>
</a>
</li>
<li>
<a href="https://www.facebook.com/gdgjapan" target="_blank">
<svg viewBox="0 0 448 512">
<path d="M448 56.7v398.5c0 13.7-11.1 24.7-24.7 24.7H309.1V306.5h58.2l8.7-67.6h-67v-43.2c0-19.6 5.4-32.9 33.5-32.9h35.8v-60.5c-6.2-.8-27.4-2.7-52.2-2.7-51.6 0-87 31.5-87 89.4v49.9h-58.4v67.6h58.4V480H24.7C11.1 480 0 468.9 0 455.3V56.7C0 43.1 11.1 32 24.7 32h398.5c13.7 0 24.8 11.1 24.8 24.7z" fill="rgba(74,74,74,1)">
</path>
</svg>
</a>
</li>
</ul>
</div>
</div>
</footer>
</div>
</div>
</body>
</html>