Slide 1

Slide 1 text

APIって結局何?世界を広げよう マサカリ解説シリーズ(続け)

Slide 2

Slide 2 text

自己紹介 s3i7h / スミス Developer @ YUMEMI 󰠈 プロフィール:https://s3i7h.com

Slide 3

Slide 3 text

そのAPI定義はなんだ〜!╰((#°Д°))╮🪓 出典:https://x.com/csharpVtuber/status/1819693444098630077 APIってブラウザからHTTPサーバと通信して実現するもの以外もある ぞ!(意訳) (余談)Web APIって呼び方でいいんだっけ・・

Slide 4

Slide 4 text

じゃあ何がAPIなんだってばよ🤔

Slide 5

Slide 5 text

API

Slide 6

Slide 6 text

よく見かける(馴染みが深い)API

Slide 7

Slide 7 text

GitHub REST API https://docs.github.com/ja/rest ● GitHubでやりたいこと大体できます ● 無料 ● 未認証でもある程度使えるよ

Slide 8

Slide 8 text

Google Cloud APIs https://cloud.google.com/apis?hl=ja ● Google Cloudのあれこれをプログラム経由で操作で きる! ● 従量課金(リソースに対しての課金が多い) (余談) 某世界的ECサイトのクラウドはドキュメントが( ry

Slide 9

Slide 9 text

他の身近なAPI(馴染みはないかも?)

Slide 10

Slide 10 text

POSIX (IEEE 1003.1) https://standards.ieee.org/ieee/1003.1/7700/ ● Linux, macOS で何気なく使ってるやつら ● ファイル操作、プロセス管理、ネットワーク通信などをさ せてくれる ● open、read、write、fork、execなど

Slide 11

Slide 11 text

Web API https://developer.mozilla.org/ja/docs/Web/API ● ブラウザから活用できるAPI全般 ● 通知、位置情報、カメラ、クリップボード、ファイル、 WebRTC、Websocket、fetchなどなど

Slide 12

Slide 12 text

https://dev.mysql.com/doc/c-api/8.0/en/ ● 何気なく使うDBとのやりとりもAPI経由 ● C(から利用するための) API RDBMS

Slide 13

Slide 13 text

つまり

Slide 14

Slide 14 text

APIとは システムとシステムを繋ぐ架け橋 である

Slide 15

Slide 15 text

APIを利用しよう!

Slide 16

Slide 16 text

APIを作ろう!

Slide 17

Slide 17 text

作れるAPIの例

Slide 18

Slide 18 text

OpenAPI / GraphQL / gRPC ● URL割愛 ● い つ も の ● 私たちがAPI作る、というときは大体こいつら ● サーバーで定義した動作をさせたい ● 認証認可しっかり ● 型定義も共有できるといいね

Slide 19

Slide 19 text

exec ● 実行可能ファイル ● コマンドラインオプション ● 標準入出力 ● 立派なAPI

Slide 20

Slide 20 text

matter https://csa-iot.org/all-solutions/matter/ ● IoT向けプロトコル ● なんと!!各社が作るIoTデバイス同士を連携させる プロトコルがあるって〜!? ● 準拠するしかないっしょ!(チラッチラッ ● (冗談です)

Slide 21

Slide 21 text

APIとは システムとシステムを繋ぐ架け橋 である

Slide 22

Slide 22 text

そして

Slide 23

Slide 23 text

APIは システムを使っていいよ というコミュニケーションでもある

Slide 24

Slide 24 text

大事な話

Slide 25

Slide 25 text

ルール

Slide 26

Slide 26 text

できる !== やっていい

Slide 27

Slide 27 text

⚠リバースエンジニアリング ● アプリやその通信内容を解析して機能を切り出す

Slide 28

Slide 28 text

⚠スクレイピング・bot ● あなたはbotではないですか?の確認のあれ ● LibraHack事件

Slide 29

Slide 29 text

やる前に聞こう!!!

Slide 30

Slide 30 text

システムが やってほしくないことはやめよう

Slide 31

Slide 31 text

そのためのAPI

Slide 32

Slide 32 text

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

Slide 33

Slide 33 text

まとめ

Slide 34

Slide 34 text

APIとは システムとシステムを繋ぐ架け橋 である

Slide 35

Slide 35 text

APIとは システムとシステムの約束事 である

Slide 36

Slide 36 text

󰠁 🫶 🌎

Slide 37

Slide 37 text

ご清聴ありがとうございました