about me - Masashi Salvador Mitsuzawa - Senior Engineer @ eureka - Monetization Team Leader / Server Side Engineer Leader - Love #Curry #Haskell #Golang #Algorithm #MachineLearning - see : #ΧϨʔ৯͏ͨΊʹੜ͖ͯΔ @instagram - Twitter: @MasashiSalvador - Major : Computational Neuroscience @ Graduate School - 2013 - 2015 DeNA - 2015 - current eureka
Why Go? - Minimum syntax (minimum Spec) - bundle with formatter - easy to learn - able to keep clean codebase - easy to read! (important : able to read all OSS code) - Static Typing - Safe - High Performance - Concurrency - goroutine / channel - Good Standard Libraries (net/http, database/sql)
Why NOT Go? - No “Modern” Syntax - map / reduce - No Class syntax - No Exception - Less established Libraries and frameworks - WAF(gin? revel? beego? echo?) - testing - ORM
go generate - handing with routing - naively (like many WAFs) main.go config/route mapping URL -> controller - a way to realize it in Go generator/main.go routes/api_xxx_v1.tml api_yyy_v1.tml api_zzz_v1.tml Read Read app/main_gen.go routes_gen.go Generate
ginkgo -> standard library - Why NOT ginkgo? - heavy - Rspec Syntax - JustBeforeEach, BeforeEach, JustBefore, Before - not like Golang - members’ unfamiliar with RSpec - Standard testing + testify