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
「それいけ!アンパンマン vs APIリクエスト:技術的勝利への道」
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Shuma
October 13, 2024
Programming
0
280
「それいけ!アンパンマン vs APIリクエスト:技術的勝利への道」
10月12日IT勉強会で発表した内容です。
Shuma
October 13, 2024
Tweet
Share
More Decks by Shuma
See All by Shuma
Ansible で Vector を導入し Slack 通知とログレベル色分けまでした話
shubox
0
31
阿部寛のホームページをSRE観点で改善出来るか考えてみた。
shubox
0
100
一日の終わりに、晩酌しながら眺めたいシステムログの世界
shubox
0
93
プロダクトがクローズした話
shubox
0
35
今も熱いもの!魂を揺さぶる戦士の儀式:マオリ族のハカ
shubox
0
250
信頼性工学とは? ~カツオを題材に~
shubox
0
110
バージョン管理と人生設計の類似点ver2 -リポジトリから学ぶ生きるヒント-
shubox
0
290
バージョン管理と人生設計の類似点
shubox
0
130
今年を振り返り、来年の抱負
shubox
0
280
Other Decks in Programming
See All in Programming
CSC307 Lecture 07
javiergs
PRO
0
550
QAフローを最適化し、品質水準を満たしながらリリースまでの期間を最短化する #RSGT2026
shibayu36
2
4.4k
副作用をどこに置くか問題:オブジェクト指向で整理する設計判断ツリー
koxya
1
600
Data-Centric Kaggle
isax1015
2
770
フロントエンド開発の勘所 -複数事業を経験して見えた判断軸の違い-
heimusu
7
2.8k
dchart: charts from deck markup
ajstarks
3
990
Automatic Grammar Agreementと Markdown Extended Attributes について
kishikawakatsumi
0
180
AIと一緒にレガシーに向き合ってみた
nyafunta9858
0
220
Amazon Bedrockを活用したRAGの品質管理パイプライン構築
tosuri13
4
300
それ、本当に安全? ファイルアップロードで見落としがちなセキュリティリスクと対策
penpeen
7
3.9k
AI前提で考えるiOSアプリのモダナイズ設計
yuukiw00w
0
220
Architectural Extensions
denyspoltorak
0
280
Featured
See All Featured
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
930
Discover your Explorer Soul
emna__ayadi
2
1.1k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
300
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
66
36k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
56
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.2k
Darren the Foodie - Storyboard
khoart
PRO
2
2.4k
A better future with KSS
kneath
240
18k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
180
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
110
Transcript
「それいけ!アンパンマン vs APIリクエスト:技術的勝利への道」 Shuma
自己紹介 名前:Shuma 現職:ベンチャー企業でインフラエンジニア 経歴:飲食店店長→バイト→インフラエンジニア 技術:クラウド(AWS、GoogleCloud ) PHP,Python 好きなパン:あんぱん
このLTの対象者 • APIを初めて学ぶ人 • APIの基本概念を楽しく復習したい人 • アンパンマンが好きな人
APIとは? • Application Programming Interface(アプリケーション・プログラミング・インター フェース)の略 • ソフトウェアコンポーネント間の通信を可能にする • Webサービスでよく使用される
アンパンマンとは? 漫画家:やなせたかしが作った日本の人気アニメキャラクター 特徴:顔がアンパン、正義の味方 主な能力: • 顔を新しいアンパンに交換可能 • 空を飛ぶ • アンパンチという必殺技
• 困っている人を助ける 仲間たち:ジャムおじさん(生みの親)、バタコさん、メロンパンナ等 対抗者:バイキンマン
アンパンマンが技術的に勝利するために 普通に考えてもアンパンマンが APIリクエストに勝つことは難しい。。 ですが、アンパンマンの強みを考えた時に ・顔が新しいアンパンに交換可能 ・正義の心と勇気 ・仲間たちのサポート 彼にはこれらの強みがあるので今回はこれらの強みを 技術的に強化していこうと思います。
クイズ① アンパンマンの最高飛行速度は次のうちどれでしょうか? 1.秒速 1.5km (マッハ4.4) 2.秒速 7.9km (マッハ23) 3.秒速 15.0km
(マッハ43.9)
技術的勝利への道①(アンパンチ = 高速化 (キャッシュ)) ・アンパンマン:「僕のアンパンチは一撃必殺だよ!」 ・API:「私のレスポンスも一瞬で返せるんです!」 このコードでは、最新の投稿を Redisにキャッシュしています。キャッシュがある場合は即座に返し、なければデータベースから取得してキャッシュします。
技術的勝利への道②(顔の交換 = スケーラビリティ (オートスケーリング)) ・ジャムおじさん:「アンパンマン、新しい顔だよ!」 ・API:「負荷に応じて、私も新しいサーバーを立ち上げます!」 この設定では、CPU使用率が50%を超えると自動的にポッドを増やし、最大10個まで拡 張します。
クイズ② 名作アニメ「アンパンマン」に登場する「バタコ」さんは、新しい顔をどのくらいの速度でアンパンマンに投げ ているでしょうか?アンパンマンとの距離は15m、投げる角度は45°です。 1. 時速 87km 2. 時速 540km 3.
時速 5400km
技術的勝利への道③バタコさんの投げ = ロードバランシング • バタコさん:「アンパンマン、ちゃんと届けるわよ!」 • API:「リクエストも適切なサーバーに振り分けます!」
技術的勝利への道④ジャムおじさんの回復力 = レジリエンス (エラーハンドリング) • ジャムおじさん:「大丈夫、すぐに新しい顔を作るよ!」 • API:「エラーが起きても、自動で回復します!」 具体例 :Pythonでのリトライ機能実装
この関数は、失敗した場合に最大 3回まで再試行します。待機時間は指数関数的に増加します。
まとめ
まとめ アンパンマン:「みんなで力を合わせれば、どんな困難も乗り越えられるよ!」 API:「そうですね!各機能が協調して働くことで、強靭で効率的なシステムになりま す!」 バイキンマン:「うぎゃー!こんなに強いAPIじゃ、僕の出る幕がないよ〜!」
参考文献 参考資料 アンパンマン公式サイト : [アンパンマンポータルサイト (anpanman.jp)] バタコさんの投球速度 :[名作アニメ「アンパンマン」強肩!「バタコ」さん徹底解説!魅力溢れる「バタコ」さんの 秘密│雑学探求心 (sakihopapa.com)]
Super源さんの雑学辞典:[アンパンマンの飛行速度は、秒速 7.9km? | Super源さんの雑学事典 (zatsugaku-jiten.net)] 実践:はじめてのWebAPI設計:[ 実践:はじめてのWebAPI設計 #Python - Qiita] API開発とは?何ができるの?分かりやすく解説 :[API開発とは?何ができるの?分かりやすく解説 | WEBシステム開発・アプリ開 発なら株式会社イーポート (e-port.co.jp)]
おわり ・このスライドを作成するまで ジャムおじさんとバタコさんが妖精だと知りませんでした・・・