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
習慣的にやりたいことを手助けしてくれるLINEボットを作った話
Search
Shintaro Ikeda
April 18, 2018
Technology
0
54
習慣的にやりたいことを手助けしてくれるLINEボットを作った話
https://github.com/momotaro98/yarana-bot
Shintaro Ikeda
April 18, 2018
Tweet
Share
More Decks by Shintaro Ikeda
See All by Shintaro Ikeda
Difference between Swagger and OpenAPI
momotaro98
0
140
Haskell-Rinko-11
momotaro98
0
36
AlertForViber_20171207
momotaro98
0
180
アウトプット駆動スキルアップ
momotaro98
1
66
マイクロサービスの概要と構築 統合編
momotaro98
0
80
Other Decks in Technology
See All in Technology
NFV基盤のOpenStack更新 ~9世代バージョンアップへの挑戦~
vtj
0
350
JavaにおけるNull非許容性
skrb
2
2.6k
Pwned Labsのすゝめ
ken5scal
2
440
LINE NEWSにおけるバックエンド開発
lycorptech_jp
PRO
0
240
コンピュータビジョンの社会実装について考えていたらゲームを作っていた話
takmin
1
600
日経のデータベース事業とElasticsearch
hinatades
PRO
0
230
Iceberg Meetup Japan #1 : Iceberg and Databricks
databricksjapan
0
370
RayでPHPのデバッグをちょっと快適にする
muno92
PRO
0
190
わたしがEMとして入社した「最初の100日」の過ごし方 / EMConfJp2025
daiksy
14
5k
遷移の高速化 ヤフートップの試行錯誤
narirou
6
1.2k
EDRの検知の仕組みと検知回避について
chayakonanaika
12
4.9k
OSS構成管理ツールCMDBuildを使ったAWSリソース管理の自動化
satorufunai
0
640
Featured
See All Featured
Building Adaptive Systems
keathley
40
2.4k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
27
1.9k
Building Applications with DynamoDB
mza
93
6.2k
Fireside Chat
paigeccino
34
3.2k
Scaling GitHub
holman
459
140k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
129
19k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
6
570
Designing on Purpose - Digital PM Summit 2013
jponch
117
7.1k
Fashionably flexible responsive web design (full day workshop)
malarkey
406
66k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
Transcript
"QSUI ಉظ-5ձ 4IJOUBSP*LFEB श׳తʹΓ͍ͨ͜ͱΛखॿ͚ͯ͘͠ΕΔ-*/&ϘοτΛ࡞ͬͨ
·ͣσϞ
4ZTUFNPWFSWJFX .FTTBHF"1* #PUTFSWFS "1*TFSWFS
-*/&CPUCZ(PMBOHPO%PLLV PO͘͞Βͷ714
͘͞Βͷ714 αʔόΛཱͯΔ ϙʔτΛ։͚Δ ಠࣗυϝΠϯΛඥ͚Δ
%PLLVͱ HerokuޓͷOSSͳPaaS VPSͱ͔ࣗḉͱ͔ʹΠϯετʔϧͨ͠ΒԶͷPaaS HerokuʹσϓϩΠ͍ͯͨ͠ΞϓϦΛͦͷ··ҠߦͰ͖Δ Dockerίϯςφୡ͕ཪͰؤு͍ͬͯΔ Nginxίϯςφ ΞϓϦέʔγϣϯαʔόίϯςφ ศརͳϓϥάΠϯ͕༗ࢤʹͯ࡞͞Ε͍ͯΔ
'MPXGPSVTJOH%PLLV $ wget https://raw.githubusercontent.com/dokku/dokku/v0.11.6/bootstrap.sh $ sudo DOKKU_TAG=v0.11.6 bash bootstrap.sh *OTUBMM%PLLV
$ vi /home/dokku/.ssh/authorized_keys 4FU44)LFZ $SFBUFBQQ $ dokku apps:create myapp %FQMPZGSPNMPDBM1$ $ git remote add dokku dokku@your-root-domain.com:myapp $ git push dokku master
%PLLVͷ)5514Խͯ͘͠ΕΔϓϥάΠϯ͕/JDF *OTUBMMEPLLVMFUTFODSZQUQMVHJO $ sudo dokku plugin:install https://github.com/dokku/dokku-letsencrypt.git "QQMZUPBQQ $ dokku
config:set --no-restart myapp DOKKU_LETSENCRYPT_EMAIL=your@email.tld $ dokku letsencrypt myapp ͜Ε͚ͩͰ͋ͳͨͷΞϓϦ)5514ରԠ
-*/&ϘοτΛ࡞Δ LINEσϕϩού͕GoΛؚΉෳݴޠͷΫϥΠΞϯτϥΠϒϥ ϦΛఏڙ͍ͯ͠Δ APIͷϨϑΝϨϯε͕͓͠ΌΕͰͪΌΜͱ͍ͯ͠Δ V̋̋erͱେҧ͍ ͔͠͠։ൃ༻ΞΧϯτ50Ϣʔβʔ·Ͱ ຊ൪༻݄3ສԁҎ্͢Δ
ਓ։ൃ͚ͩͲ GitHubʹͯ ϒϥϯν͚ͯϓϧϦΫ ࣗͰϨϏϡʔίϝϯτ&Ϛʔδ ← ͕Ք͛Δʂ ୯ମςετΛ͢Δ DIͯ͠ϞοΫΛ͏ςετ CircleCIΛಋೖͪ͠ΌΜͱCI͔ͯ͠ΒϚʔδ ৄࡉιʔεͰ
https://github.com/momotaro98/yarana-bot
"1*CZ$PO"[VSF'VODUJPOT
"1*αʔό"[VSF'VODUJPOT Azure FunctionsαʔόϨεΞʔΩςΫνϟͷαʔϏε ίετͰεέʔϥϒϧͰEvent DrivenͳΞϓϦΛߏஙͰ͖Δ ֎෦ετϨʔδͱͷ࿈ܞ؆୯ APIఆٛʹSwaggerαϙʔτ
࢝ΊετϨʔδʹ"[VSFͷ/P42-Λ͍ͬͯͨͷ͕ͩ 50Ϩίʔυ͔ͭ110ϦΫΤετ͘Β͍ͩͬͨͷʹ1ϲ݄Ͱ͜ͷ͓ஈ Table StorageʹΓ͑ͨΒମײͦͷ··Ͱ1/50·ͰԼΓ => ΫϥυαʔϏεΛબͿͱ͖ͪΌΜͱۛຯ͠Α͏ʂʂ
'VUVSF Δ͜ͱΛฤूɾআ͢Δ༻ͷWEBը໘ ͬͨཤྺͷϨϙʔτػೳ CUI → GUI → ͦͯ͠VUI..
DPNJOHTPPO