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
63
習慣的にやりたいことを手助けしてくれる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
150
Haskell-Rinko-11
momotaro98
0
42
AlertForViber_20171207
momotaro98
0
210
アウトプット駆動スキルアップ
momotaro98
1
72
マイクロサービスの概要と構築 統合編
momotaro98
0
85
Other Decks in Technology
See All in Technology
「何となくテストする」を卒業するためにプロダクトが動く仕組みを理解しよう
kawabeaver
0
120
落ちる 落ちるよ サーバーは落ちる
suehiromasatoshi
0
140
絶対に失敗できないキャンペーンページの高速かつ安全な開発、WINTICKET × microCMS の開発事例
microcms
0
390
ライブサービスゲームQAのパフォーマンス検証による品質改善の取り組み
gree_tech
PRO
0
530
機械学習を扱うプラットフォーム開発と運用事例
lycorptech_jp
PRO
0
120
シークレット管理だけじゃない!HashiCorp Vault でデータ暗号化をしよう / Beyond Secret Management! Let's Encrypt Data with HashiCorp Vault
nnstt1
3
210
allow_retry と Arel.sql / allow_retry and Arel.sql
euglena1215
1
150
Vault meets Kubernetes
mochizuki875
0
270
複数サービスを支えるマルチテナント型Batch MLプラットフォーム
lycorptech_jp
PRO
0
140
バッチ処理で悩むバックエンドエンジニアに捧げるAWS Glue入門
diggymo
3
110
テストを軸にした生き残り術
kworkdev
PRO
0
150
DuckDB-Wasmを使って ブラウザ上でRDBMSを動かす
hacusk
1
140
Featured
See All Featured
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
31
2.2k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
A designer walks into a library…
pauljervisheath
207
24k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
RailsConf 2023
tenderlove
30
1.2k
Documentation Writing (for coders)
carmenintech
74
5k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Gamification - CAS2011
davidbonilla
81
5.4k
Code Review Best Practice
trishagee
70
19k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.6k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Scaling GitHub
holman
463
140k
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
[email protected]
: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
[email protected]
$ 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