Slide 1

Slide 1 text

俺の物理メモリが足りない 俺の話を聞け!!LT大会 #9 !1 株式会社Fusic @seike460

Slide 2

Slide 2 text

seike460 seike460 seike460 seike460 株式会社Fusic 清家史郎 (@seike460) !2 # 得意な技術 - PHP - Server - AWS - Backend # 得意になりたい技術 - golang - Serverless - Elixir

Slide 3

Slide 3 text

こんな事がありました !3

Slide 4

Slide 4 text

• 弊社、Slack無いと生きてきません。常に開いています • Todoは無料アプリ
 スケジュールはicalで出力出来るグループウェアで管理してました • 僕の頭にはこの情報を保持できるメモリ容量はありませんでした
 (内部MTGスッポカシた事あります • 記憶も大事ですよ?でも時代はpollingではなくてpushですよね
 (僕は悪くない
 • Slackが通知してくれる事で業務中にコードに集中出来る
 (むしろ予定を忘れていた方が効率的なんだ • この課題を解決するServerlessで作ろう(お金は書けたくない
 (本当にごめんなさい !4

Slide 5

Slide 5 text

Serverless Notificator !5

Slide 6

Slide 6 text

utakata !6

Slide 7

Slide 7 text

!7 utakata Architecture 5PEPొ࿥

Slide 8

Slide 8 text

!8 utakata Architecture JDBM 6UBLBUB ొ࿥σʔλ

Slide 9

Slide 9 text

なに使ってるの? !9

Slide 10

Slide 10 text

lestrrat-go/ical !10

Slide 11

Slide 11 text

• @lestrratさんが作成しているical読み込みライブラリ
 面倒なicalをmapに展開してくれる為、凄く助かった !11 lestrrat-go/ical

Slide 12

Slide 12 text

Serverless Framework !12

Slide 13

Slide 13 text

• 主にAWS LambdaとAWS API Gatewayを使った
 いわゆるServerlessを作成出来るFramework • npmを利用してインストールすることができます • 簡単にServerless Architectureを作成して、
 Serverlessすることが可能 !13 Serverless Framework

Slide 14

Slide 14 text

serverless.yml設定(Go版) • runtimeをgo1.xにする • handlerをコンパイルした
 Goバイナリを指定する !14

Slide 15

Slide 15 text

build • Serverless Frameworkが指定するバイナリをbuildする時は
 GOOS=linuxをつける事を忘れずに! !15

Slide 16

Slide 16 text

!16 npm run deploy

Slide 17

Slide 17 text

• Go製のServerless Notificator(β版) • https://github.com/seike460/utakata • フロントエンドはSPAで作ってはいるのですが、
 Googleカレンダーで良くね?って思い出して
 モチベーションダウン中… • 複数Ical使えないので、ササッと対応したい !17 utakata(泡沫)

Slide 18

Slide 18 text

これで俺のスケジュール 管理は完璧だ!!!!! !18

Slide 19

Slide 19 text

待てよ…
 システムが止まったら… 悲劇が繰り返される… !19

Slide 20

Slide 20 text

エラーに怯える日々は嫌だ… !20

Slide 21

Slide 21 text

Fusicではある
 エラートラッキングツール を使ってます !21

Slide 22

Slide 22 text

!22 Faultline

Slide 23

Slide 23 text

!23 faultline Architecture • @k1LoWさんが作っているエラートラッキングツール • Error発生時にそのエラー情報をDynamoDBに保存 (WEBUI有 • Slackにも通知してくれ、即座にWEBUIから状況分析、対応が可能

Slide 24

Slide 24 text

faultline-go !24

Slide 25

Slide 25 text

faultline-go 導入 • ※私は環境変数を仕込んで設定情報を書き込んでいます !25

Slide 26

Slide 26 text

• 人間に予定を記憶することは無理です
 諦めましょう • 身の回りの小さな事を解決するのもエンジニアリング
 →ミニマムツールを作るのGolangオススメです! • Slack+AWSな人達はもし良かったらutakataを… • エラーに怯えている方、是非Faultline使って見てください!
 Go版出来ましたよ!!!! !26 まとめ

Slide 27

Slide 27 text

ちょっと宣伝 !27

Slide 28

Slide 28 text

!28 PHPカンファレンス福岡

Slide 29

Slide 29 text

!29 (非公式)PHP Conference Fukuoka
 After Hack!!(無限ビール!!)

Slide 30

Slide 30 text

ご清聴ありがとうございました! !30 株式会社Fusicは技術の大好きなエンジニアを募集してます!