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
20250301_CircLeT
Search
saku
March 01, 2025
Programming
53
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
20250301_CircLeT
saku
March 01, 2025
More Decks by saku
See All by saku
20260715_新卒N年目のLT交流会!最近沼ったことをシェアしよう!
saku0719
0
45
2026.06 LoGeek LT会
saku0719
0
14
20250930_LoGeek_LT会.pdf
saku0719
0
4
20251216_LoGeek_LT会.pdf
saku0719
0
13
20250617_LoGeek_LT会
saku0719
0
20
Other Decks in Programming
See All in Programming
TSKaigi Night Talks 2026_TypeScriptでサプライチェーンの整合性を型に閉じ込める
geekplus_tech
0
440
LaravelLive Japan の裏方のすべて — 第188回 PHP勉強会@東京 (2026-06-24)
suguruooki
2
150
AI 輔助遺留系統現代化的經驗分享
jame2408
1
1.2k
1B+ /day規模のログを管理する技術
broadleaf
0
130
【やさしく解説 設計編 #0】DDDのコード、読めるのに分からない人へ
panda728
PRO
2
240
OS アップデート対応の取り組み方がもっと共有されてほしい
andpad
0
110
鹿野さんに聞く!『TypeScriptコードレシピ集』で磨く実践力
tonkotsuboy_com
4
1.1k
キャリア迷子上等 ─ "ない道"は自分で作ればいい
16bitidol
3
2.8k
Contextとはなにか
chiroruxx
1
390
Hatena Engineer Seminar #37「言語モデルの活用に関する研究」
slashnephy
0
500
壊れたパーサから始める関数型設計と構成的なパーサ #fp_matsuri
raiga0310
2
190
使用 Meilisearch 建立新聞搜尋工具
johnroyer
0
120
Featured
See All Featured
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.8k
エンジニアに許された特別な時間の終わり
watany
107
250k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
340
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.3k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
It's Worth the Effort
3n
188
29k
Paper Plane (Part 1)
katiecoart
PRO
0
9.5k
The SEO Collaboration Effect
kristinabergwall1
1
500
Designing Experiences People Love
moore
143
24k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
650
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
550
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
320
Transcript
/FUMJGZ'VODUJPOTΛ &YQSFTTKTΛ͖ͬͯΕ͍ʹͨ͠ Saku 2025/03/01
1 目次 1. なぜやったのか 2. Netlify Functionsとは 3. Express.jsとは 4.
なにがどうなった??? 5. まとめ
2 なぜこれをやったか • フロントエンドとバックエンドの両方を自分で実装したアプリ ケーションを作ってみたい。 • 授業にて「データベース」という科目があった。 • フロントエンドとバックエンドをTSで共通化したかった。 /FUMJGZ'VODUJPOTΛ&YQSFTTKTΛͬͯߏԽͨ͠
3 作ったもの 日程調整アプリ • 実装した機能 • 基本的な日程調整アプリの機能 • 日程調整を時間含め入力可能 •
日程調整の入力をもとに参加人数の多い日のサジェスト機能
4 バックエンド • バックエンドはデータベースとしてSupabaseを利用 • Supabaseとやり取りするAPIを Netlify Functions × TypeScriptで実装
使用技術 Netlify functions Supabase
5 Netlify Functionsとは Netlifyというホスティングサービスが提供している FaaS(Function as a Service)のこと。 特徴:簡単な設計でAPIのエンドポイントを立てることができる。 簡単なAPIならば作成可能だが、複雑なエンドポイントの設計に
は向いていない(多分。。。)
6 Netlify Functionsとは Netlify Funtions簡単な仕組み OFUMJGZGVODUJPOT UFTU VTFS FWFOU •
ここまでしか指定できない • ${baseUrl}/test/ • ${baseUrl}/user/ • ${baseUrl}/event/ • ${baseUrl}/test/example のようなエンドポイントは ${baseUrl}/test/に集約される。 → 複雑なAPIはコード内で自分で分岐を書く必要がある。 (メソッドの分岐も自分で書く必要がある。) (/user/:user_id/のようなエンドポイントも自分で書く必要がある)
7 Express.jsとは • HTTPリクエストを受け取ってルーティングを実現してくれる Node.jsのフレームワーク (ちゃんと学んでないから間違ってる気しかしない)
8 なにがどうなった??? OFUMJGZGVODUJPOT UFTU VTFS FWFOU • Netlify Functionsで立てたエンドポイントのファイル内 にexpress.jsを利用したrouterを作る。
/.netlify/functions/test/example のgetとpostを実装できた
9 なにがどうなった??? 比較 前 後
10 まとめ • Netlify Functionsを活用するときがあれば思い出してもらえ ると嬉しいです。 ͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠