SlideShare uma empresa Scribd logo
1 de 93
Baixar para ler offline
#今日の食神
Dentoo.LT #25 2021/06/06 @ ONLINE


whywaita
こんにちは∼
whywaita
✓ 橘 和板 (Tachibana waita)


✓ 電気通信大学 13学部入学 19大学院卒


✓ Dentoo.LT 2代目主催


✓ 仕事: サーバと仲良くしたり喧嘩したりする日々


✓ 趣味: 自宅サーバ、VTuber、麻雀とか
whywaita
✓ 橘 和板 (Tachibana waita)


✓ 電気通信大学 13学部入学 19大学院卒


✓ Dentoo.LT 2代目主催


✓ 仕事: サーバと仲良くしたり喧嘩したりする日々


✓ 趣味: 自宅サーバ、VTuber、麻雀とか
whywaita
✓ 橘 和板 (Tachibana waita)


✓ 電気通信大学 13学部入学 19大学院卒


✓ Dentoo.LT 2代目主催


✓ 仕事: サーバと仲良くしたり喧嘩したりする日々


✓ 趣味: 自宅サーバ、VTuber、麻雀とか
ジジイ
Dentoo.LT #4 (2013.07.07)
Dentoo.LT #4 (2013.07.07)
ジジイ
本題
食神知ってる人? 🙋
食神 餃子王
• 電通大の近くにある中華料理屋


• 2001年1月12日オープンらしいよ


• 読みは「しょくじん」らしいけどどっちでもいいらしいよ


• 600, 750円で腹一杯中華の定食が食べられる


• 依存性が高くオフライン時代は週5のオタクも……
食神行ったこと


ある人? 🙋
食神好きな人? 🙋
食神愛してる人? 🙋
食神関連のOSS


作ってる人? 🙋
#今日の食神
ものがたりのはじまり
https://twitter.com/shokujinjp/status/1009082689389858816
なるほど 🤔
🤔🤔🤔
💡
https://twitter.com/whywaita/status/1010048833915576321
作りました😊
#今日の食神
• https://github.com/shokujinjp


• いくつかの便利リポジトリ群


• shokujinjp/data: メニュー一覧


• shokujinjp/docs: お役立ち情報のまとめ


• shokujinjp/api: 食神のWebAPI
これは私撮影の看板↑
shokujinjp/data
shokujinjp/data
% curl -s https://api.shokujin.jp/menu/today | jq
.

[

{

"id": "59"
,

"name": "水煮牛肉"
,

"price": "780"
,

"category": "牛・豚・鶏・ラム"
,

"day_start": ""
,

"day_end": ""
,

"can_weekday": ""
,

"description": "
"

}
,

{

"id": "1"
,

"name": "麻婆豆腐定食"
,

"price": "600"
,

"category": “定食"
,

(snip)
shokujinjp/api
% curl -s https://api.shokujin.jp/menu/today | jq
.

[

{

"id": "59"
,

"name": "水煮牛肉"
,

"price": "780"
,

"category": "牛・豚・鶏・ラム"
,

"day_start": ""
,

"day_end": ""
,

"can_weekday": ""
,

"description": "
"

}
,

{

"id": "1"
,

"name": "麻婆豆腐定食"
,

"price": "600"
,

"category": “定食"
,

(snip)
shokujinjp/api
% curl -s https://api.shokujin.jp/menu/today | jq
.

[

{

"id": "59"
,

"name": "水煮牛肉"
,

"price": "780"
,

"category": "牛・豚・鶏・ラム"
,

"day_start": ""
,

"day_end": ""
,

"can_weekday": ""
,

"description": "
"

}
,

{

"id": "1"
,

"name": "麻婆豆腐定食"
,

"price": "600"
,

"category": “定食"
,

(snip)
shokujinjp/api
shokujinjp/api
• https://api.shokujin.jp


• GET /menu/all


• (過去含め)保存されている全メニュー


• GET /menu/today


• 今日注文できるメニュー
shokujinjp/api
• 言語: Golang / HTTP Router: gorilla/mux


• 全部で100行ぐらいの小さいWebアプリ


• https://github.com/shokujinjp/api/blob/
f214eaa7a6eb89ef9944cdc8917c7ebd92129deb/main.go


• わたしのおうちKubernetes上で動いてる
shokujinjp/web-menu
shokujinjp/web-menu
shokujinjp/web-menu
shokujinjp/web-menu
shokujinjp/web-menu
% curl -s https://api.shokujin.jp/menu/today | jq
.

[

{

"id": "59"
,

"name": "水煮牛肉"
,

"price": "780"
,

"category": "牛・豚・鶏・ラム"
,

"day_start": ""
,

"day_end": ""
,

"can_weekday": ""
,

"description": "
"

}
,

{

"id": "1"
,

"name": "麻婆豆腐定食"
,

"price": "600"
,

"category": “定食"
,

(snip)
% curl -s https://api.shokujin.jp/menu/today | jq
.

[

{

"id": "59"
,

"name": "水煮牛肉"
,

"price": "780"
,

"category": "牛・豚・鶏・ラム"
,

"day_start": ""
,

"day_end": ""
,

"can_weekday": ""
,

"description": "
"

}
,

{

"id": "1"
,

"name": "麻婆豆腐定食"
,

"price": "600"
,

"category": “定食"
,

(snip)
shokujinjp/web-menu
• https://menu.shokujin.jp


• TypeScript + React / Netlify


• 席についてからスマホでポチポチすると注文できる


• LINEアカウントで注文できるのは公式


• MMAフロントエンド部 @mizdra @hogextend に


手伝ってもらった
便利 ✨
できるだけ


手をかけずに


継続してメンテする
大事なこと
週替わり定食
https://twitter.com/shokujinjp/status/1399187367987073032
毎週手で追加は無理


><
自動化だ!!!
週替わりメニュー追加自動化
週替わりメニュー追加自動化
• 毎週月曜日に定期実行 on GitHub Actions


• shokujinjp Twitterアカウントの投稿を検索


• 見つけた画像をOCRで文章化


• 上手く読み込めたら shokujinjp/data に自動追加
わたしが何もせずとも


メニュー追加に対応 ✨
web-menuにも自動追加 😊
とはいえ完全に


ノーメンテとはいかず…
面白事例集
自動なのでちょっと怪しいところも……
自動なのでちょっと怪しいところも……
自動なのでちょっと怪しいところも……
自動なのでちょっと怪しいところも……
ク 🤔
https://twitter.com/shokujinjp/status/1381432216769556482/photo/1
😭
https://twitter.com/shokujinjp/status/1386535269466198019/photo/1
https://github.com/shokujinjp/data/runs/2434898609?check_suite_focus=true
😭
面白いので放置


気づいた時に直す


ぐらいの運用
週”がわり”問題
https://twitter.com/shokujinjp/status/1399187367987073032
週替わり定食
週替わり定食


(2019.07.22∼)
🤔
週代わり定食


(∼2019.07.15)
😇😇😇
歴史を確認できる
2019/10/01


消費税率 引き上げ


8% → 10%
https://twitter.com/shokujinjp/status/1178182527111925760
歴史じゃん
https://twitter.com/shokujinjp/status/1378894586995568640
めったに出ない 🤔
https://twitter.com/whywaita/status/1378931719395364869
便利 ✨
公式からのレスも ✨
https://twitter.com/shokujinjp/status/1378935279671648258
そしたら
なんかバズった!!!
https://twitter.com/kebin628/status/1378938839180341252
世の中なにがあるか


分からん 🤔
まとめ
• GitHub https://github.com/shokujinjp の紹介


• だいたいオープンにやっているので興味のある人は


声かけてネ


• くだらなさそうでも面白そうと思った物を作ると良い


• 数年後バズったりする
余談
Dentoo.LT #25


開催記念で作りました
curl -s https://api.shokujin.jp/joke/markov
% curl -s https://api.shokujin.jp/joke/markov | jq
.

{

"id": "joke"
,

"name": "豚肉と玉子とキャベツとしめじとじゃがいもの旨定食"
,

"price": "69589"
,

"category": "不明"
,

"day_start": ""
,

"day_end": ""
,

"can_weekday": ""
,

"description": "joke menu generated by markov chain
"

}

Mais conteúdo relacionado

Mais de whywaita

CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...
CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...
CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...
whywaita
 
最高のslack体験を求めて 〜新バージョンリリースに添えて〜 / introduce-slack-aggregator-in #dentoolt 21
最高のslack体験を求めて 〜新バージョンリリースに添えて〜 / introduce-slack-aggregator-in #dentoolt 21最高のslack体験を求めて 〜新バージョンリリースに添えて〜 / introduce-slack-aggregator-in #dentoolt 21
最高のslack体験を求めて 〜新バージョンリリースに添えて〜 / introduce-slack-aggregator-in #dentoolt 21
whywaita
 

Mais de whywaita (20)

CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...
CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...
CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...
 
Kubernetesの良さを活かして開発・運用!Cloud Native入門 / An introductory Cloud Native #osc19tk
Kubernetesの良さを活かして開発・運用!Cloud Native入門 / An introductory Cloud Native #osc19tkKubernetesの良さを活かして開発・運用!Cloud Native入門 / An introductory Cloud Native #osc19tk
Kubernetesの良さを活かして開発・運用!Cloud Native入門 / An introductory Cloud Native #osc19tk
 
なぜディスクレスハイパーバイザに至ったのか / Why did we select to the diskless hypervisor? #builde...
なぜディスクレスハイパーバイザに至ったのか / Why did we select to the diskless hypervisor? #builde...なぜディスクレスハイパーバイザに至ったのか / Why did we select to the diskless hypervisor? #builde...
なぜディスクレスハイパーバイザに至ったのか / Why did we select to the diskless hypervisor? #builde...
 
Prometheus monitoring from outside of Kubernetes
 〜どうして我々はKubernetes上のPromet...
Prometheus monitoring from outside of Kubernetes
 〜どうして我々はKubernetes上のPromet...Prometheus monitoring from outside of Kubernetes
 〜どうして我々はKubernetes上のPromet...
Prometheus monitoring from outside of Kubernetes
 〜どうして我々はKubernetes上のPromet...
 
ISUCON8忘年会 LT / 430,000 uses
ISUCON8忘年会 LT / 430,000 usesISUCON8忘年会 LT / 430,000 uses
ISUCON8忘年会 LT / 430,000 uses
 
最高のslack体験を求めて 〜新バージョンリリースに添えて〜 / introduce-slack-aggregator-in #dentoolt 21
最高のslack体験を求めて 〜新バージョンリリースに添えて〜 / introduce-slack-aggregator-in #dentoolt 21最高のslack体験を求めて 〜新バージョンリリースに添えて〜 / introduce-slack-aggregator-in #dentoolt 21
最高のslack体験を求めて 〜新バージョンリリースに添えて〜 / introduce-slack-aggregator-in #dentoolt 21
 
[公開版] 自宅APIのススメ #dentoolt
[公開版] 自宅APIのススメ #dentoolt[公開版] 自宅APIのススメ #dentoolt
[公開版] 自宅APIのススメ #dentoolt
 
スイッチをお手軽にしよう! #wakate2018w
スイッチをお手軽にしよう! #wakate2018wスイッチをお手軽にしよう! #wakate2018w
スイッチをお手軽にしよう! #wakate2018w
 
ブロックチェーン概要のご紹介 #wakate2017
ブロックチェーン概要のご紹介 #wakate2017ブロックチェーン概要のご紹介 #wakate2017
ブロックチェーン概要のご紹介 #wakate2017
 
LT大会 #osc17tk
LT大会 #osc17tkLT大会 #osc17tk
LT大会 #osc17tk
 
帯域確保していき隊 #oscnagoya #東海道らぐ
帯域確保していき隊 #oscnagoya #東海道らぐ帯域確保していき隊 #oscnagoya #東海道らぐ
帯域確保していき隊 #oscnagoya #東海道らぐ
 
地獄のご紹介 #dentoolt
地獄のご紹介 #dentoolt地獄のご紹介 #dentoolt
地獄のご紹介 #dentoolt
 
自宅ネットワークの話 #MCCMMANCC
自宅ネットワークの話 #MCCMMANCC自宅ネットワークの話 #MCCMMANCC
自宅ネットワークの話 #MCCMMANCC
 
https://whywrite.it/dust/dentoolt/15.5/ #dentoolt
https://whywrite.it/dust/dentoolt/15.5/ #dentoolthttps://whywrite.it/dust/dentoolt/15.5/ #dentoolt
https://whywrite.it/dust/dentoolt/15.5/ #dentoolt
 
スライド、作ってみませんか? #osc16tk
スライド、作ってみませんか? #osc16tk スライド、作ってみませんか? #osc16tk
スライド、作ってみませんか? #osc16tk
 
自宅DCのススメ (2) #dentoolt
自宅DCのススメ (2) #dentoolt 自宅DCのススメ (2) #dentoolt
自宅DCのススメ (2) #dentoolt
 
インフラ #kosenconf
インフラ #kosenconfインフラ #kosenconf
インフラ #kosenconf
 
自宅DCのススメ #dentoolt
自宅DCのススメ #dentoolt自宅DCのススメ #dentoolt
自宅DCのススメ #dentoolt
 
コミュニケーション for MSP
コミュニケーション for MSPコミュニケーション for MSP
コミュニケーション for MSP
 
ictsc4 サーバを支える技術
ictsc4 サーバを支える技術ictsc4 サーバを支える技術
ictsc4 サーバを支える技術
 

Último

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Último (20)

Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 

#今日の食神 #dentoolt / today's shokujinjp