$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Lambdaで勤怠連絡
Search
k-kurikuri
April 17, 2018
Technology
1
1.6k
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
680
Laravel Sparkでサービス開発に注力する
k_kurikuri
0
1.2k
GKEとGaurunで作るPush通知サーバ
k_kurikuri
3
480
Starting Laravel Spark
k_kurikuri
0
460
[Laravel5.6]CHANGELOGを斜め読み
k_kurikuri
0
5.3k
GoビギナーがGCPでGoアプリをリリースした話
k_kurikuri
1
930
英語で質問した話を 聞いて欲しい
k_kurikuri
0
260
Laravel5.5 - Package Auto Discoveryを理解する
k_kurikuri
0
1.2k
Laravelで乙女ゲームを開発した話
k_kurikuri
2
630
Other Decks in Technology
See All in Technology
Kiro Autonomous AgentとKiro Powers の紹介 / kiro-autonomous-agent-and-powers
tomoki10
0
280
Noを伝える技術2025: 爆速合意形成のためのNICOフレームワーク速習 #pmconf2025
aki_iinuma
2
2k
なぜ使われないのか?──定量×定性で見極める本当のボトルネック
kakehashi
PRO
1
1.1k
モバイルゲーム開発におけるエージェント技術活用への試行錯誤 ~開発効率化へのアプローチの紹介と未来に向けた展望~
qualiarts
0
640
re:Invent2025 コンテナ系アップデート振り返り(+CloudWatchログのアップデート紹介)
masukawa
0
300
著者と読み解くAIエージェント現場導入の勘所 Lancers TechBook#2
smiyawaki0820
12
5.8k
プロダクトマネージャーが押さえておくべき、ソフトウェア資産とAIエージェント投資効果 / pmconf2025
i35_267
2
580
AI時代におけるアジャイル開発について
polyscape_inc
0
120
Kubernetes Multi-tenancy: Principles and Practices for Large Scale Internal Platforms
hhiroshell
0
110
会社紹介資料 / Sansan Company Profile
sansan33
PRO
11
390k
MapKitとオープンデータで実現する地図情報の拡張と可視化
zozotech
PRO
1
120
eBPFとwaruiBPF
sat
PRO
4
2.5k
Featured
See All Featured
Build your cross-platform service in a week with App Engine
jlugia
234
18k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
7.8k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.6k
Become a Pro
speakerdeck
PRO
30
5.7k
KATA
mclloyd
PRO
32
15k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Automating Front-end Workflow
addyosmani
1371
200k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
36
6.2k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
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
͝੩ௌ ͋Γ͕ͱ͏͍͟͝·ͨ͠