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
APIって結局何?世界を広げよう - マサカリ解説シリーズ
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Yuichiro Smith
August 08, 2024
Programming
160
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
APIって結局何?世界を広げよう - マサカリ解説シリーズ
Yuichiro Smith
August 08, 2024
More Decks by Yuichiro Smith
See All by Yuichiro Smith
老人会? いえ、技術継承です @ builderscon 2024 LT
s3i7h
0
170
Other Decks in Programming
See All in Programming
技術記事、AIに書かせるか、自分で書くか? 〜それでも私が自分の手で書く理由〜 / #QiitaConference
jnchito
2
1.4k
セキュリティの専門家じゃなくてもできる。「セキュリティ意識」をアップデートして サプライチェーン攻撃への耐性を高めよう。
tk3fftk
5
880
「なぜそう決めたのか」を残し続ける仕組み ― Notion AI カスタムエージェント × Slack連携による設計判断の自動記録 - NIKKEI Tech Talk #47
niftycorp
PRO
0
210
脅威をエンジニアリングの糧にして――現場編 / Turning Threats into Engineering Fuel — Field Edition
nrslib
0
290
TAKTでAI駆動開発の品質を設計する
j5ik2o
7
1.4k
Oxlintのカスタムルールの現況
syumai
6
1.1k
JavaDoc 再入門
nagise
1
370
Datadog × OpenTelemetry 入門と実践のあいだ
kn_to_maxpno
1
160
Vue × Nuxt × Oxc どこまで使える?実運用の現在地
andpad
0
270
LLM本来の能力を解き放つサンドボックス技術とAI民主化への適用
yukukotani
3
4.3k
ふつうのFeature Flag実践入門
irof
8
4k
Spec Driven Development | AI Summit Lisbon
danielsogl
PRO
0
200
Featured
See All Featured
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.5k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
330
Utilizing Notion as your number one productivity tool
mfonobong
4
320
Rebuilding a faster, lazier Slack
samanthasiow
85
9.5k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
200
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
600
WENDY [Excerpt]
tessaabrams
11
38k
Raft: Consensus for Rubyists
vanstee
141
7.5k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.7k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
170
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
240
Transcript
APIって結局何?世界を広げよう マサカリ解説シリーズ(続け)
自己紹介 s3i7h / スミス Developer @ YUMEMI プロフィール:https://s3i7h.com
そのAPI定義はなんだ〜!╰((#°Д°))╮🪓 出典:https://x.com/csharpVtuber/status/1819693444098630077 APIってブラウザからHTTPサーバと通信して実現するもの以外もある ぞ!(意訳) (余談)Web APIって呼び方でいいんだっけ・・
じゃあ何がAPIなんだってばよ🤔
API
よく見かける(馴染みが深い)API
GitHub REST API https://docs.github.com/ja/rest • GitHubでやりたいこと大体できます • 無料 • 未認証でもある程度使えるよ
Google Cloud APIs https://cloud.google.com/apis?hl=ja • Google Cloudのあれこれをプログラム経由で操作で きる! • 従量課金(リソースに対しての課金が多い)
(余談) 某世界的ECサイトのクラウドはドキュメントが( ry
他の身近なAPI(馴染みはないかも?)
POSIX (IEEE 1003.1) https://standards.ieee.org/ieee/1003.1/7700/ • Linux, macOS で何気なく使ってるやつら • ファイル操作、プロセス管理、ネットワーク通信などをさ
せてくれる • open、read、write、fork、execなど
Web API https://developer.mozilla.org/ja/docs/Web/API • ブラウザから活用できるAPI全般 • 通知、位置情報、カメラ、クリップボード、ファイル、 WebRTC、Websocket、fetchなどなど
https://dev.mysql.com/doc/c-api/8.0/en/ • 何気なく使うDBとのやりとりもAPI経由 • C(から利用するための) API RDBMS
つまり
APIとは システムとシステムを繋ぐ架け橋 である
APIを利用しよう!
APIを作ろう!
作れるAPIの例
OpenAPI / GraphQL / gRPC • URL割愛 • い つ も の •
私たちがAPI作る、というときは大体こいつら • サーバーで定義した動作をさせたい • 認証認可しっかり • 型定義も共有できるといいね
exec • 実行可能ファイル • コマンドラインオプション • 標準入出力 • 立派なAPI
matter https://csa-iot.org/all-solutions/matter/ • IoT向けプロトコル • なんと!!各社が作るIoTデバイス同士を連携させる プロトコルがあるって〜!? • 準拠するしかないっしょ!(チラッチラッ •
(冗談です)
APIとは システムとシステムを繋ぐ架け橋 である
そして
APIは システムを使っていいよ というコミュニケーションでもある
大事な話
ルール
できる !== やっていい
⚠リバースエンジニアリング • アプリやその通信内容を解析して機能を切り出す
⚠スクレイピング・bot • あなたはbotではないですか?の確認のあれ • LibraHack事件
やる前に聞こう!!!
システムが やってほしくないことはやめよう
そのためのAPI
API ❤ドキュメント • APIという形をとることで自然に、こういう形で使ってね、 を伝えることができる • helpメッセージ、manページはAPIの定義そのもの • man 1
hoge, man 2 fuga を使いこなそう The sections of the manual are: 1. General Commands Manual 2. System Calls Manual 3. Library Functions Manual 4. Kernel Interfaces Manual 5. File Formats Manual 6. Games Manual 7. Miscellaneous Information Manual 8. System Manager's Manual 9. Kernel Developer's Manual
まとめ
APIとは システムとシステムを繋ぐ架け橋 である
APIとは システムとシステムの約束事 である
🫶 🌎
ご清聴ありがとうございました