Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
Lambdaで勤怠連絡
k-kurikuri
April 17, 2018
Technology
1
1.3k
Lambdaで勤怠連絡
Go(Un)Conference
k-kurikuri
April 17, 2018
Tweet
Share
More Decks by k-kurikuri
See All by k-kurikuri
Awesome goにあるOSSをGithubStar数高い順に出力するツールを作った
k_kurikuri
0
310
Laravel Sparkでサービス開発に注力する
k_kurikuri
0
750
GKEとGaurunで作るPush通知サーバ
k_kurikuri
2
310
Starting Laravel Spark
k_kurikuri
0
260
[Laravel5.6]CHANGELOGを斜め読み
k_kurikuri
0
4.5k
GoビギナーがGCPでGoアプリをリリースした話
k_kurikuri
1
610
英語で質問した話を 聞いて欲しい
k_kurikuri
0
170
Laravel5.5 - Package Auto Discoveryを理解する
k_kurikuri
0
890
Laravelで乙女ゲームを開発した話
k_kurikuri
2
530
Other Decks in Technology
See All in Technology
マネージャーからみたスクラムと自己管理化
shibe23
0
1k
The application of formal methods in Kafka reliability engineering
line_developers
PRO
1
160
プログラマがオブジェクト指向しても幸せになれない理由
shirayanagiryuji
0
120
QiitaConference2022
fuwasegu
0
180
Build 2022で発表されたWindowsアプリ開発のあれこれ振り返ろう
hatsunea
1
380
The Fractal Geometry of Software Design
vladikk
0
810
Scrum Fest Osaka 2022 段階的スクラムマスターのススメ
orimomo
0
760
Oracle Cloud Infrastructure:2022年6月度サービス・アップデート
oracle4engineer
PRO
0
130
What's new in Vision
satotakeshi
0
200
HoloLens2とMetaQuest2どちらも動くWebXRアプリをBabylon.jsで作る
iwaken71
0
190
Design for Humans: How to make better modernization decisions
indualagarsamy
2
120
FoodTechにおける商流・金流・物流の進化/Evolution of Commercial, Financial, and Logistics in FoodTech
dskst
0
400
Featured
See All Featured
A better future with KSS
kneath
225
15k
Automating Front-end Workflow
addyosmani
1351
200k
Rails Girls Zürich Keynote
gr2m
86
12k
Documentation Writing (for coders)
carmenhchung
48
2.6k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
655
120k
The Pragmatic Product Professional
lauravandoore
19
3k
What's new in Ruby 2.0
geeforr
336
30k
Principles of Awesome APIs and How to Build Them.
keavy
113
15k
Building Better People: How to give real-time feedback that sticks.
wjessup
344
17k
Build your cross-platform service in a week with App Engine
jlugia
219
17k
Infographics Made Easy
chrislema
233
17k
Adopting Sorbet at Scale
ufuk
63
7.6k
Transcript
AlexaͱLambdaͰ ۈଵ࿈བྷΛ͔ͨͬͨ͠… Go(Un)ConferenceLTେձ@k-kurikuri
ΞδΣϯμ • AlexaͱAWS Lambda(Go)Ͱۈଵ࿈བྷ͍ͨ͠ • Ͱ͍᪴ͨͷͰஅ೦ͨ͠ • ͰସҊͰ։ൃͨ͠ͷͰৼΓฦΓ • σϞ
• TODOͳͲɺ·ͱΊ
։ൃʹࢸΔ͖͔͚ͬ • Amaozon EchoΛߪೖͨ͠ • Alexa Skill։ൃΩοτ͕͋ΓɺΧελϜεΩϧ ΛAWS LambdaͰ࣮Ͱ͖Δ •
2018/01ʹެࣜαϙʔτ͞ΕͨGoΛ͍͍ͨ
AWS Lambdaͱ? • ͍ΘΏΔαʔόʔϨεΞʔΩςΫνϟ • EC2ͷΑ͏ʹৗ࣌αʔόΛՔಇ͢ΔͷͰͳ ͘ɺΠϕϯτۦಈͰඞཁͳ࣌ʹॲཧΛߦ͏ • ඞཁͳ࣌ʹػೳΛ༻͢ΔͨΊඅ༻͕҆͘͢Ή •
Python, Java, Node.js, C#, GoͰ࣮Ͱ͖Δ
͔ͤͬ͘࡞ΔͳΒ ࣗͷʹཱͭͷΛ
ۈଵϝʔϧΛૹΔͷ͕ ࠷ߴʹμϧ͍
ஂͷத͔Βۈଵ࿈བྷ͍ͨ͠ • ʮΞϨΫαɻମௐෆྑͰࠁ(or ܽۈ)͢Δɻग़ࣾ 12:00ͷ༧ఆʯ • ͬͦ͘͞Amazon Developer͔ΒLambdaͱAlexaΛɹ ࿈ܞͤͯ͞ΈΔ •
Alexa͕εΩϧͷԻೝࣝͯ͘͠Εͳͯ͘υϋϚϦ • ͦͦงғؾ։ൃ͕ྑ͘ͳ͍
ͬ͞͞ͱAlexaஅ೦ʂ
ํస • ͱʹ͔͘LambdaͰGo͍͍ͨΜ • APIGateway + LambdaͰGmailૹ৴͠Α͏ • ػೳͷ࣮͓͚ͯ͠ΠϕϯττϦΨʔɹ ޙͰ࿈ܞͰ͖Δ
ཧ
ݱ࣮
։ൃπʔϧ • serverless (npm) • goenv • aws-lambda-go • oauth2/google,
api/gmail/v1 • IntelliJ + FileWatcher + go fmt
serverless (sls) module • CLIͰLambdaͷ։ൃ͕ग़དྷΔnpmϞδϡʔϧ • sls create, sls deployͰςϯϓϨʔτϓϩδΣΫτ
࡞͔ΒσϓϩΠ·Ͱ • σϓϩΠͷϑϩʔCloudFormation, S3, Lambda • Node.js, Python, JavaϩʔΧϧ։ൃՄೳ
Goͷ࣮Ͱ٧·ͬͨՕॴ • Golang͔ΒGmailΛૹ৴͢Δ࣌ʹɺSubjectͷຊޠ͕จࣈ Խ͚͢Δ • DotenvͰ༻͢ΔϑΝΠϧϏϧυʹؚ·Εͳ͍? • depͰ “golang.org/x/oauth2/google”Λensureͯ͠ࢀর Ͱ͖ͳ͍
• Go1.9vͰϏϧυͨ͠ޙʹɺbrew upgrade goͰ1.10ʹ্͛ ͨΒϏϧυ͕௨Βͳ͘ͳͬͨ
σϞ
TODO • ग़ࣾ࣌ؒͱࠁཧ༝͕ܾΊଧͪͳͷͰɺΦϓγϣϯ ͰࢦఆͰ͖ΔΑ͏ʹ͢Δ • GoͰ٧·ͬͨՕॴ1ͭͣͭղফ • ஂ͔Βۈଵ࿈བྷ͢ΔͨΊɺAlexaͷεΩϧ։ൃΛ ଓ͚͍ͨ •
։ൃίετ8hҐ (֓ࢉ)
github.com/k-kurikuri/lambda-send-mail
͝੩ௌ ͋Γ͕ͱ͏͍͟͝·ͨ͠