Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
2018-09-29.okayama.pdf
Search
Okamuuu
September 29, 2018
Technology
0
57
2018-09-29.okayama.pdf
Okamuuu
September 29, 2018
Tweet
Share
More Decks by Okamuuu
See All by Okamuuu
2018-08-04.js-beer-bash.pdf
okamuuu
0
55
hachiojipm#72
okamuuu
0
34
チームで取り組む Singe Page Application
okamuuu
0
700
Other Decks in Technology
See All in Technology
「XX試験の環境作ってよ」と言われた時によく使うAWSのソリューションについて
bun913
0
120
家族アルバム みてねで直面してきた技術的負債 / MIXI KAG 2024
isaoshimizu
17
7.7k
AWS アーキテクチャクイズ
yuu26
2
700
既存プロセスからの脱却と変化に適応するために必要なこと
cybozuinsideout
PRO
2
170
検証からプロダクトへ: シームレスなLLM開発の ためのしくみ作り
nunukim
1
170
LLM + RAG を使った SORACOM Support Bot の裏側の歴史
soracom
PRO
1
640
統計的学習理論読み Chapter 2
kmatsui
1
210
オブジェクト指向宗教史
tanakahisateru
13
12k
Tohoku.Tech #1 「Cursorを使ったRaspberry Piの開発」by ねこまた
jun2882
0
250
技術イベントはなんとかひねり出す 日経の技術広報の取り組み/techpr3
nishiuma
0
220
Autopsy of a Cascading Outage from a MySQL Crashing Bug
jfg956
0
200
どう買う?Azure
kuniteru
1
190
Featured
See All Featured
How GitHub (no longer) Works
holman
301
140k
The Art of Programming - Codeland 2020
erikaheidi
40
12k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
355
22k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
501
140k
Navigating Team Friction
lara
177
13k
Designing Experiences People Love
moore
135
23k
It's Worth the Effort
3n
180
27k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
28
5.9k
Mobile First: as difficult as doing things right
swwweet
215
8.5k
BBQ
matthewcrist
78
8.7k
Visualization
eitanlees
135
14k
Creatively Recalculating Your Daily Design Routine
revolveconf
209
11k
Transcript
Contentful を使ってみました 岡山城 天守閣 2018-09-29 okamuuu 1 / 17
あくまで個人の感想です。 2 / 17
Contentful とは? いわゆる Headless CMS です。 Contentful ButterCMS storyblok GraphCMS
など 3 / 17
CMS vs Headless CMS ざっくり説明すると Response を HTML で返すのが CMS
Response を JSON で返すのが Headless CMS わかりやすく言うと WordPress は CMS Contentful は Headless CMS 4 / 17
Contentful の特徴 型を自由に定義できる 型に沿ったオブジェクトを出し入れできる CRUD 画面が現れる REST API も生える 位置情報検索もできる
個人で開発する時にとても便利 5 / 17
Contentful を使ってみた感想 CRUD 画面が自動生成される。気持ちいい。 API にちょっと癖がある。 リレーションできない? 通信回数がN+1 にならないように工夫が必要? 6
/ 17
CRUD 画面が自動生成される 7 / 17
CRUD 画面が自動生成される users という型を管理画面で作成する この時点で CRUD 画面が用意される。 そこに user object
を追加する /entries?content_type=users で一覧取得できる 8 / 17
API にちょっと癖がある 9 / 17
API にちょっと癖がある 期待している Response { "id": 2073765716208129 "name": " 神牛前3
丁目", "state: " 東京", } 10 / 17
API にちょっと癖がある { "fields": { "id": { "en-US": 2073765716208129 },
"name": { "en-US": " 神牛前3 丁目" }, "state": { "en-US": " 東京" } }, "sys": { "id": "5KsDBWseXY6QegucYAoacS", "type": "Entry", "createdAt": "2016-12-20T10:43:35.772Z", "updatedAt": "2016-12-20T10:43:35.772Z", "revision": 1 } 11 / 17
リレーションできない? 12 / 17
リレーションできない? Entry 取得した場合、関連する型の sys.id しか取得 できない。ドキュメントには include を指定するよ うに書いているが... //
console.log(user.fields.status) { sys: { type: 'Link', linkType: 'Entry', id: '6Bw3NLBDJ6KEyOc2YwucYk' } } 13 / 17
通信回数がN+1 にならないよう にする 14 / 17
通信回数がN+1 にならないよう にする リレーションができないのであれば、の話ですが 一覧表示画面を実装するときにあえて非正規化す る場面がでてくるかも Promise.all してももっさりしがちなのでできれ ば API
の向こう側で解決したい 15 / 17
まとめ Contentful はかなり便利だった なんだけどリレーションができない? ドキュメントを分かりやすくして欲しい example がもっと欲しい Cognito と Contentful
があれば色々できる予感 16 / 17
おしまい 17 / 17