「Netlifyで始めるサーバーレス開発」を読んで
書籍

Netlifyで始めるサーバーレス開発 (技術の泉シリーズ(NextPublishing))
- 作者: 竹本雄貴
- 出版社/メーカー: インプレスR&D
- 発売日: 2019/04/12
- メディア: オンデマンド (ペーパーバック)
- この商品を含むブログを見る
TL;DR
- Netlifyの概要からFunctionの使い方まで幅広く学べる。
- SlackやLineのURL Hookの方法が学べ、業務や日常生活を改善するための引き出しが増える。
この本を選んだ理由
印象に残った点
Netlifyとは何ぞや?という概要、Netlifyの良い点が書かれている
- Netlifyは開発者が決めたブランチにコミットがされると自動でサイトのデプロイをやってくれたり、PullRequest毎に環境を作ってくれたたりする。
- こんな開発環境憧れるなぁ。今の会社の開発環境との差を痛感。
- NetlifyはHostingだけではなく、FaaSのFunctions、認証サービスのIdentify、フォームサービスのFormsがある。
- Netlifyってこんなに色々できることがあるのか。知らなかった。
- 著者がNetlifyのFaaSを推す理由としては導入/運用のしやすさ。
- Netlify Functionsの実行基盤はAWS Lambda。
LineBotやSlackAPIを学習題材にNetlify Functionの使い方を学べる
- 単純にHello, worldを返すだけのNetlify Functionsの作成から始まり、LineBotやSlackAPIを絡めてNetlify Functionの使い方を学べる。
- LineBotやSlackAPIを利用することになるので、どういった仕組みで開発者にサービスを利用してもらおうとしているのか?も学べて良い。
- どちらも共通してURL Hookできるような仕組みが提供されていた。互いに共生していくスタイルを取りたいのだろう。
- 本記載時からLine Developersのプランが変更になっており、少し焦った。
- プランについて設定画面に出てこないのも納得。(参考にした記事)
- Slack APIを使って投稿する際のメッセージフォーマットはJSON形式。
外部に公開するようなサービスの一般論について教えてくれる
- Tokenのように外部に見せるべきではないものは環境変数として定義するのが一般的。
- Netlifyではプロジェクトの設定画面にて環境変数を設定できる。
- 外部に公開するようなサービスを作ったことがないので、こういう一般論は凄く有り難い。
- Netlifyで環境変数を設定できるのか。公開するようなサービスはどれも同じような事ができるんだろうなぁ。利用時には気にしていきたい。
ちょっとした誤字があった
- 下記は間違っていると思われる。
// Kindle版:位置No.485あたりの「src/game.js」 // 誤り const targetEvent = body.events[0] // 正しい const targetEvent = webhookBody.events[0]
// Kindle版:位置No.511あたりの「src/game.js」 // 誤り import messageData from './gameMessages' // 正しい import messageData from './gameMessage' // jsファイルは複数形ではないので。もしくはファイル名を直すか。
今後
- Firebase Functionについて学習したい。
- TypeScriptちょっと興味が出てきたので学習したい。
余談
- Node.jsってバージョン管理するツール入れる人が多いんだ。知らなかった。Windows環境なのでnodist入れてみた。
- npm init -y ってどういう意味なんだろうか?知らないことが多すぎる。
- 「プロジェクトを新規追加するときに、毎回同じ情報を入力することにうんざりしているなら、-yフラグを使って多くの項目をデフォルト設定にできます。」とあった。そういうことね。(参照)
- NetlifyのFunctionsを使うためにTOMLファイルが必要。TOMLって何??今まで独学してきたけど出会わなかった。。。
- netlify-lambdaパッケージを使うと動作環境用の開発サーバを立ち上げてくれて毎回Pushしなくても確認できる。
- netlify-lambdaはバンドルツールであるwebpackのラッパーライブラリとのこと。