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
Lambdaで勤怠連絡
Search
k-kurikuri
April 17, 2018
Technology
1
1.5k
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
570
Laravel Sparkでサービス開発に注力する
k_kurikuri
0
1.1k
GKEとGaurunで作るPush通知サーバ
k_kurikuri
3
420
Starting Laravel Spark
k_kurikuri
0
400
[Laravel5.6]CHANGELOGを斜め読み
k_kurikuri
0
5k
GoビギナーがGCPでGoアプリをリリースした話
k_kurikuri
1
850
英語で質問した話を 聞いて欲しい
k_kurikuri
0
240
Laravel5.5 - Package Auto Discoveryを理解する
k_kurikuri
0
1.1k
Laravelで乙女ゲームを開発した話
k_kurikuri
2
600
Other Decks in Technology
See All in Technology
100 名超が参加した日経グループ横断の競技型 AWS 学習イベント「Nikkei Group AWS GameDay」の紹介/mediajaws202411
nikkei_engineer_recruiting
1
170
初心者向けAWS Securityの勉強会mini Security-JAWSを9ヶ月ぐらい実施してきての近況
cmusudakeisuke
0
120
Why does continuous profiling matter to developers? #appdevelopercon
salaboy
0
190
AWS Lambdaと歩んだ“サーバーレス”と今後 #lambda_10years
yoshidashingo
1
170
サイバーセキュリティと認知バイアス:対策の隙を埋める心理学的アプローチ
shumei_ito
0
380
個人でもIAM Identity Centerを使おう!(アクセス管理編)
ryder472
3
200
いざ、BSC討伐の旅
nikinusu
2
780
AIチャットボット開発への生成AI活用
ryomrt
0
170
【Pycon mini 東海 2024】Google Colaboratoryで試すVLM
kazuhitotakahashi
2
500
Terraform Stacks入門 #HashiTalks
msato
0
350
フルカイテン株式会社 採用資料
fullkaiten
0
40k
IBC 2024 動画技術関連レポート / IBC 2024 Report
cyberagentdevelopers
PRO
0
110
Featured
See All Featured
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
27
840
XXLCSS - How to scale CSS and keep your sanity
sugarenia
246
1.3M
How GitHub (no longer) Works
holman
310
140k
StorybookのUI Testing Handbookを読んだ
zakiyama
27
5.3k
Testing 201, or: Great Expectations
jmmastey
38
7.1k
The Cost Of JavaScript in 2023
addyosmani
45
6.7k
Docker and Python
trallard
40
3.1k
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.2k
Optimising Largest Contentful Paint
csswizardry
33
2.9k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
6
410
Making the Leap to Tech Lead
cromwellryan
133
8.9k
YesSQL, Process and Tooling at Scale
rocio
169
14k
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
͝੩ௌ ͋Γ͕ͱ͏͍͟͝·ͨ͠