Submit Search
Upload
ヘッドレスCMS調査 Strapiを試してみた
•
0 likes
•
448 views
S
SosukeYamada
Follow
バックエンドエンジニアが調べるヘッドレスCMS
Read less
Read more
Engineering
Report
Share
Report
Share
1 of 14
Download now
Download to read offline
Recommended
SlideShareをやめて Speaker Deckに移行します
SlideShareをやめて Speaker Deckに移行します
Moriwaka Kazuo
Hadoop -NameNode HAの仕組み-
Hadoop -NameNode HAの仕組み-
Yuki Gonda
楽しいShaderToy
楽しいShaderToy
Masaki Sasaki
組織の問題も解決するアーキテクチャ BackendsForFrontends
組織の問題も解決するアーキテクチャ BackendsForFrontends
PIXTA Inc.
Apache Arrow - データ処理ツールの次世代プラットフォーム
Apache Arrow - データ処理ツールの次世代プラットフォーム
Kouhei Sutou
グラフデータベースNeo4Jでアセットダウンロードの構成管理と最適化
グラフデータベースNeo4Jでアセットダウンロードの構成管理と最適化
gree_tech
エンジニアという仕事を楽しみ続けるためのキャリア戦略
エンジニアという仕事を楽しみ続けるためのキャリア戦略
Shuichi Tsutsumi
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織
Takafumi ONAKA
Recommended
SlideShareをやめて Speaker Deckに移行します
SlideShareをやめて Speaker Deckに移行します
Moriwaka Kazuo
Hadoop -NameNode HAの仕組み-
Hadoop -NameNode HAの仕組み-
Yuki Gonda
楽しいShaderToy
楽しいShaderToy
Masaki Sasaki
組織の問題も解決するアーキテクチャ BackendsForFrontends
組織の問題も解決するアーキテクチャ BackendsForFrontends
PIXTA Inc.
Apache Arrow - データ処理ツールの次世代プラットフォーム
Apache Arrow - データ処理ツールの次世代プラットフォーム
Kouhei Sutou
グラフデータベースNeo4Jでアセットダウンロードの構成管理と最適化
グラフデータベースNeo4Jでアセットダウンロードの構成管理と最適化
gree_tech
エンジニアという仕事を楽しみ続けるためのキャリア戦略
エンジニアという仕事を楽しみ続けるためのキャリア戦略
Shuichi Tsutsumi
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織
Takafumi ONAKA
マスターデータの キャッシュシステムの改善の話
マスターデータの キャッシュシステムの改善の話
natsumi_ishizaka
新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?
新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?
naoki koyama
イミュータブルデータモデルの極意
イミュータブルデータモデルの極意
Yoshitaka Kawashima
心理的安全性と、Veinの紹介 Psychological safety and introduction of Vein
心理的安全性と、Veinの紹介 Psychological safety and introduction of Vein
Tokoroten Nakayama
Digitaltransformation Journey
Digitaltransformation Journey
toshihiro ichitani
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
Takahiro Inoue
「自分のとこでは動くけど…」を無くす devcontainer
「自分のとこでは動くけど…」を無くす devcontainer
Yuta Matsumura
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
Takuto Wada
アジャイル開発におけるクラフトマンシップの重要性
アジャイル開発におけるクラフトマンシップの重要性
Shigeru Tatsuta
Gocon2017:Goのロギング周りの考察
Gocon2017:Goのロギング周りの考察
貴仁 大和屋
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
shinjiigarashi
ベロシティを上手く使って 技術的負債を計画的に解消する
ベロシティを上手く使って 技術的負債を計画的に解消する
Koichiro Matsuoka
「スキルなし・実績なし」 32歳窓際エンジニアがシリコンバレーで働くようになるまで
「スキルなし・実績なし」 32歳窓際エンジニアがシリコンバレーで働くようになるまで
Shuichi Tsutsumi
スキルチェックリスト 2017年版
スキルチェックリスト 2017年版
The Japan DataScientist Society
なぜコンピュータを学ばなければならないのか 21世紀の君主論
なぜコンピュータを学ばなければならないのか 21世紀の君主論
Tokoroten Nakayama
Pythonによる黒魔術入門
Pythonによる黒魔術入門
大樹 小倉
「関心の分離」と「疎結合」 ソフトウェアアーキテクチャのひとかけら
「関心の分離」と「疎結合」 ソフトウェアアーキテクチャのひとかけら
Atsushi Nakamura
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
Koichiro Matsuoka
境界付けられたコンテキスト 概念編 (ドメイン駆動設計用語解説シリーズ)
境界付けられたコンテキスト 概念編 (ドメイン駆動設計用語解説シリーズ)
Koichiro Matsuoka
イミュータブルデータモデル(世代編)
イミュータブルデータモデル(世代編)
Yoshitaka Kawashima
Webアプリを公開するまで
Webアプリを公開するまで
SosukeYamada
PythonフレームワークDRFの便利機能
PythonフレームワークDRFの便利機能
SosukeYamada
More Related Content
What's hot
マスターデータの キャッシュシステムの改善の話
マスターデータの キャッシュシステムの改善の話
natsumi_ishizaka
新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?
新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?
naoki koyama
イミュータブルデータモデルの極意
イミュータブルデータモデルの極意
Yoshitaka Kawashima
心理的安全性と、Veinの紹介 Psychological safety and introduction of Vein
心理的安全性と、Veinの紹介 Psychological safety and introduction of Vein
Tokoroten Nakayama
Digitaltransformation Journey
Digitaltransformation Journey
toshihiro ichitani
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
Takahiro Inoue
「自分のとこでは動くけど…」を無くす devcontainer
「自分のとこでは動くけど…」を無くす devcontainer
Yuta Matsumura
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
Takuto Wada
アジャイル開発におけるクラフトマンシップの重要性
アジャイル開発におけるクラフトマンシップの重要性
Shigeru Tatsuta
Gocon2017:Goのロギング周りの考察
Gocon2017:Goのロギング周りの考察
貴仁 大和屋
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
shinjiigarashi
ベロシティを上手く使って 技術的負債を計画的に解消する
ベロシティを上手く使って 技術的負債を計画的に解消する
Koichiro Matsuoka
「スキルなし・実績なし」 32歳窓際エンジニアがシリコンバレーで働くようになるまで
「スキルなし・実績なし」 32歳窓際エンジニアがシリコンバレーで働くようになるまで
Shuichi Tsutsumi
スキルチェックリスト 2017年版
スキルチェックリスト 2017年版
The Japan DataScientist Society
なぜコンピュータを学ばなければならないのか 21世紀の君主論
なぜコンピュータを学ばなければならないのか 21世紀の君主論
Tokoroten Nakayama
Pythonによる黒魔術入門
Pythonによる黒魔術入門
大樹 小倉
「関心の分離」と「疎結合」 ソフトウェアアーキテクチャのひとかけら
「関心の分離」と「疎結合」 ソフトウェアアーキテクチャのひとかけら
Atsushi Nakamura
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
Koichiro Matsuoka
境界付けられたコンテキスト 概念編 (ドメイン駆動設計用語解説シリーズ)
境界付けられたコンテキスト 概念編 (ドメイン駆動設計用語解説シリーズ)
Koichiro Matsuoka
イミュータブルデータモデル(世代編)
イミュータブルデータモデル(世代編)
Yoshitaka Kawashima
What's hot
(20)
マスターデータの キャッシュシステムの改善の話
マスターデータの キャッシュシステムの改善の話
新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?
新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?
イミュータブルデータモデルの極意
イミュータブルデータモデルの極意
心理的安全性と、Veinの紹介 Psychological safety and introduction of Vein
心理的安全性と、Veinの紹介 Psychological safety and introduction of Vein
Digitaltransformation Journey
Digitaltransformation Journey
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
「自分のとこでは動くけど…」を無くす devcontainer
「自分のとこでは動くけど…」を無くす devcontainer
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
アジャイル開発におけるクラフトマンシップの重要性
アジャイル開発におけるクラフトマンシップの重要性
Gocon2017:Goのロギング周りの考察
Gocon2017:Goのロギング周りの考察
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
ベロシティを上手く使って 技術的負債を計画的に解消する
ベロシティを上手く使って 技術的負債を計画的に解消する
「スキルなし・実績なし」 32歳窓際エンジニアがシリコンバレーで働くようになるまで
「スキルなし・実績なし」 32歳窓際エンジニアがシリコンバレーで働くようになるまで
スキルチェックリスト 2017年版
スキルチェックリスト 2017年版
なぜコンピュータを学ばなければならないのか 21世紀の君主論
なぜコンピュータを学ばなければならないのか 21世紀の君主論
Pythonによる黒魔術入門
Pythonによる黒魔術入門
「関心の分離」と「疎結合」 ソフトウェアアーキテクチャのひとかけら
「関心の分離」と「疎結合」 ソフトウェアアーキテクチャのひとかけら
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
境界付けられたコンテキスト 概念編 (ドメイン駆動設計用語解説シリーズ)
境界付けられたコンテキスト 概念編 (ドメイン駆動設計用語解説シリーズ)
イミュータブルデータモデル(世代編)
イミュータブルデータモデル(世代編)
Similar to ヘッドレスCMS調査 Strapiを試してみた
Webアプリを公開するまで
Webアプリを公開するまで
SosukeYamada
PythonフレームワークDRFの便利機能
PythonフレームワークDRFの便利機能
SosukeYamada
クラウド x IoT実践事例のご紹介
クラウド x IoT実践事例のご紹介
masaoki_ohashi
Ecsとlambdaのバッチ処理
Ecsとlambdaのバッチ処理
政雄 金森
リクルートにおけるFirefox OSアプリへの取り組み ~0.8人月でできるアプリ!?~
リクルートにおけるFirefox OSアプリへの取り組み ~0.8人月でできるアプリ!?~
Recruit Technologies
アイデアを形にする ③3時間でアプリ公開!ゼロからのプログラミング講座
アイデアを形にする ③3時間でアプリ公開!ゼロからのプログラミング講座
DIVE INTO CODE Corp.
JPC2018[H4]マイクロソフトの Azure オープン ソース戦略とパートナー エコシステム
JPC2018[H4]マイクロソフトの Azure オープン ソース戦略とパートナー エコシステム
MPN Japan
関西Hadoop勉強会#1 Hadoopの紹介
関西Hadoop勉強会#1 Hadoopの紹介
Ryuji Tamagawa
パソナテック Find Your Ability 講演資料 「ディレクターにとってのWeb業界って? 」
パソナテック Find Your Ability 講演資料 「ディレクターにとってのWeb業界って? 」
naoki ando
PaaSに適したアプリケーション設計がもたらすメリット
PaaSに適したアプリケーション設計がもたらすメリット
Ayumu Aizawa
デブサミ2015 クラウドを活かす組織運営 ガバナンス入門
デブサミ2015 クラウドを活かす組織運営 ガバナンス入門
雄哉 吉田
俺とHashiCorp
俺とHashiCorp
Toru Makabe
リクルート式Hadoopの使い方
リクルート式Hadoopの使い方
Recruit Technologies
基幹業務もHadoopで!! -ローソンにおける店舗発注業務へのHadoop + Hive導入と その取り組みについて-
基幹業務もHadoopで!! -ローソンにおける店舗発注業務へのHadoop + Hive導入と その取り組みについて-
Keigo Suda
初めてのWebプログラミング講座
初めてのWebプログラミング講座
DIVE INTO CODE Corp.
ゼロからのプログラミングRails講座 Codeanywhere版
ゼロからのプログラミングRails講座 Codeanywhere版
DIVE INTO CODE Corp.
【入門】3時間でアプリ公開!ゼロからのプログラミングRails講座
【入門】3時間でアプリ公開!ゼロからのプログラミングRails講座
DIVE INTO CODE Corp.
サービスクラス、その前に
サービスクラス、その前に
Yasutomo Uemori
2013年08月 夏サミ2013-A5「DevOpsってどうなのよ?」
2013年08月 夏サミ2013-A5「DevOpsってどうなのよ?」
Serverworks Co.,Ltd.
リクルートにおけるPaaS活用事例
リクルートにおけるPaaS活用事例
Recruit Technologies
Similar to ヘッドレスCMS調査 Strapiを試してみた
(20)
Webアプリを公開するまで
Webアプリを公開するまで
PythonフレームワークDRFの便利機能
PythonフレームワークDRFの便利機能
クラウド x IoT実践事例のご紹介
クラウド x IoT実践事例のご紹介
Ecsとlambdaのバッチ処理
Ecsとlambdaのバッチ処理
リクルートにおけるFirefox OSアプリへの取り組み ~0.8人月でできるアプリ!?~
リクルートにおけるFirefox OSアプリへの取り組み ~0.8人月でできるアプリ!?~
アイデアを形にする ③3時間でアプリ公開!ゼロからのプログラミング講座
アイデアを形にする ③3時間でアプリ公開!ゼロからのプログラミング講座
JPC2018[H4]マイクロソフトの Azure オープン ソース戦略とパートナー エコシステム
JPC2018[H4]マイクロソフトの Azure オープン ソース戦略とパートナー エコシステム
関西Hadoop勉強会#1 Hadoopの紹介
関西Hadoop勉強会#1 Hadoopの紹介
パソナテック Find Your Ability 講演資料 「ディレクターにとってのWeb業界って? 」
パソナテック Find Your Ability 講演資料 「ディレクターにとってのWeb業界って? 」
PaaSに適したアプリケーション設計がもたらすメリット
PaaSに適したアプリケーション設計がもたらすメリット
デブサミ2015 クラウドを活かす組織運営 ガバナンス入門
デブサミ2015 クラウドを活かす組織運営 ガバナンス入門
俺とHashiCorp
俺とHashiCorp
リクルート式Hadoopの使い方
リクルート式Hadoopの使い方
基幹業務もHadoopで!! -ローソンにおける店舗発注業務へのHadoop + Hive導入と その取り組みについて-
基幹業務もHadoopで!! -ローソンにおける店舗発注業務へのHadoop + Hive導入と その取り組みについて-
初めてのWebプログラミング講座
初めてのWebプログラミング講座
ゼロからのプログラミングRails講座 Codeanywhere版
ゼロからのプログラミングRails講座 Codeanywhere版
【入門】3時間でアプリ公開!ゼロからのプログラミングRails講座
【入門】3時間でアプリ公開!ゼロからのプログラミングRails講座
サービスクラス、その前に
サービスクラス、その前に
2013年08月 夏サミ2013-A5「DevOpsってどうなのよ?」
2013年08月 夏サミ2013-A5「DevOpsってどうなのよ?」
リクルートにおけるPaaS活用事例
リクルートにおけるPaaS活用事例
ヘッドレスCMS調査 Strapiを試してみた
1.
ヘッドレスCMS調査 Strapiを試してみた 山田創介
2.
自己紹介 経歴 勤怠管理システムの Saasの開発経験後、フリーランスとして起業。 2022年1月に株式会社
coroutineの取締役 に就任フリーランスの事業と並列して業務を行う バックエンドを軸とし開発を行う。業務では Laravel(PHP) や DRF(Python)などを取り扱う。その他にも React.js をはじめとしたフロントエンド開発や GitHub Actionsを利用したCI/CDの整備なども行っている。 現在は アパレルの物販で収益を上げる会社で DXを行うプロジェクトの開発に参画中 スキル DRF(Python)/Laravel/Nuxt.js React.js/Vue.js/Cypress.js/Tailwind CSS Go lang/ AWS 山田創介 フリーランス / 株式会社 coroutine 取締役
3.
なぜヘッドレスCMS バックエンドエンジニアとして数年勤めてきたが、昨今のサーバーレスの流行りやフ レームワークの進化を見る限りバックエンドのアプリケーション開発の進化が今後縮小 していくように最近、感じました。 バックエンドのアプリケーション層の特にREST APIによる設計には時間をかける事自 体をせずにフロントエンドの開発もしくは、複雑なロジックのみに関心ごとがいくような開 発が主流になると思います。今回のヘッドレスCMSの調査に至ったのはバックエンドの 開発を軽量に済ませられる手段の一つとして考え調査に至りました。
4.
ヘッドレスCMSとは 従来のCMS(コンテンツ マネジメント システム)では、Web ページ上に表示する内容(記事やタイトルなど)とどのよう に表示するかのデザインを同一のサーバ内で管理してい ます。 ただしCMRバックエンドをベースとして作成されているた めテンプレートの改修にはバックエンドの修正・変更が必 要になってきます。 ヘッドレスCMSはバックエンドで取り扱うデータをフロント エンドと分離して管理します。そうする事で、テンプレート の解消をフロントエンドのみで解決できるようにしていま す。
5.
ヘッドレスCMSの種類 クラウドサービス クラウド上のサービスを利用する事で自前でサーバーを用意せずに管理を行う。 メリット ・・・ 導入が楽。サーバーのメンテナンスを気にしなくていい。コンソール画面しかいじらないの で操作方法で手こずることが少ない。日本初のサービスもあるためドキュメントを確認しやすいサー ビスもある。 デメリット
・・・実装したい機能がサービス上の仕様で実装できない可能性がある。 WordPressのよう なわかりやすいデファクトスタンダードがないので仕様に対する回避策が多くない。予期せぬタイミン グ(サービス会社によるもの)でサーバーが落ちる事がある
6.
ヘッドレスCMSの種類 セルフホスティング 自前で用意したサーバーに対して導入を行い管理をする。例Ghost, Strapi,など メリット ・・・
ネットワークセキュリティの関係でセルフホスティングしないといけない場合の選択にな る。本番環境とstg環境が分けやすい。大規模なサービスを取り扱う際に CMS部分を別サービスと同 様のデプロイメントラインにおくことが可能 デメリット ・・・ デプロイやモニタリングなどインフラに対する管理コストが別途必要 ソースコードを自分でいじれるのでアーキテクトの設計は正しく行わないとカオスなことになる
7.
ヘッドレスCMSの種類 今回の調査ではセルフホスティングで導入できる。Strapiを試してみようと思います。 理由 ・ヘッドレスCMSを採用する以上ある程度、柔軟な開発が求められるのでセルフホスティング して自分で調整しやすい方がいい。 ・StrapiはJavaScriptで作成されているのでフロントエンドエンジニアが導入で迷うことがない はず
8.
Strapi 読み: ストラーピ https://strapi.io/ Koa.js(Express.jsの作者が開発したNodeの Web FW)をベースに開発を行っているヘッドレス CMSです。 REST
APIのみでなくGraphqlでの実装も可能 TOYOTAやNASAがスポンサーだったりする
9.
Strapi導入 Node.jsとnpmの事前にインストールする必要がある インストール npx create-strapi-app {service
name} --quickstart インストール後は管理画面がブラウザで立ち上がりスー パーユーザの作成をしていく クイックリファレンス https://docs.strapi.io/developer-docs/late st/getting-started/quick-start.html
10.
設定の変更 設定ファイルの編集 src/admin配下にある app.example.jsをapp.jsにリネー ムし編集 ビルド 設定を反映させるためビルド npm run build 起動コマンド npx
strapi develop
11.
Contentsを作成 アクセスを行うコンテンツの作成とアクセス 方法を設定してきます。 初回にコンテンツの作成方法は表示される チュウトリアルを進めていくと作成する事が できるようになります。
12.
Contentsへのアクセス コンテンツのアクセスするURLは以下にリクエストするとデータを取得できます。 http://{ホスト}/api/{API IDの複数形} この際に認証トークンとしてチュートリアルで作成したAPI トークンをBearer認証でリク エストヘッダー内に含めてください
13.
Strapiで今後調べたいこと ・ユーザ認証(おそらくあるはず) ・GraphQL ・多言語対応 ・Contents Typeを元にOpen API仕様のファイルのGenerateができたら
14.
ご清聴ありがとうございました! Twitter: @yamasaw44
Download now