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
ずっとRubyをやっていたエンジニアがGoに入門して挫折して再挑戦した話
Search
Kenta Suzuki
June 05, 2017
Programming
2
5k
ずっとRubyをやっていたエンジニアがGoに入門して挫折して再挑戦した話
Kenta Suzuki
June 05, 2017
Tweet
Share
More Decks by Kenta Suzuki
See All by Kenta Suzuki
レガシーアプリケーションのリニューアルにNuxt.jsで戦う #vuefes_reject
suusan2go
9
20k
rescue されない例外?! / A Exception not rescue #megurorb
suusan2go
0
2.6k
Rails サービスクラス再考 / have a rethink on Rails service class
suusan2go
6
9.6k
フロントエンドエンジニアも知っておきたいgRPC
suusan2go
19
11k
Flutterでアプリ作ってる話
suusan2go
2
2.8k
Nuxt.js + TypeScript = Great!
suusan2go
8
41k
ポストRailsとしてのKotlin + Spring Boot #m3kt
suusan2go
4
1.9k
gRPC on Spring Boot
suusan2go
0
2.6k
非SPAなRailsアプリでレールに乗りつつReactを使う話
suusan2go
6
7.4k
Other Decks in Programming
See All in Programming
Doctrine ORMでValue Objectを扱う方法4選 #phpstudy / 4 ways to handle Value Objects with Doctrine ORM
77web
4
110
チーム力を高めるスクラム実践法:カンバン公開と課題攻略について - ニフティのスクラムトーク Vol. 2 - NIFTY Tech Talk #18
niftycorp
PRO
1
110
Milestoner
bkuhlmann
1
400
脱・初心者!脱・マネコン!AWS CDKを使ってみませんか!?
har1101
0
300
Designing for tomorrow's programming workflows
honnibal
PRO
2
110
What We Can Learn From OSS
inouehi
0
400
StreamlitとTerraformでデータカタログを作った話
gussan0223
0
300
ゆるい個人開発のススメ
kuroppe1819
10
950
⼤規模⾔語モデルの拡張(RAG)が 終わったかも知れない件について
nearme_tech
22
15k
今の SmartHR にエンジニアで入社するとどうなるの?
daisukeshinoku
5
4.6k
Micro Frontends for Java Microservices - Devnexus 2024
mraible
PRO
0
430
StoreKit2によるiOSのアプリ内課金のリニューアル
kangnux
0
100
Featured
See All Featured
The Pragmatic Product Professional
lauravandoore
24
5.8k
Fashionably flexible responsive web design (full day workshop)
malarkey
397
65k
Web Components: a chance to create the future
zenorocha
305
41k
How to Ace a Technical Interview
jacobian
272
22k
Creatively Recalculating Your Daily Design Routine
revolveconf
209
11k
Six Lessons from altMBA
skipperchong
20
3k
Adopting Sorbet at Scale
ufuk
67
8.6k
Statistics for Hackers
jakevdp
789
220k
Web development in the modern age
philhawksworth
202
10k
Done Done
chrislema
178
15k
Building an army of robots
kneath
300
41k
4 Signs Your Business is Dying
shpigford
175
21k
Transcript
ͣͬͱRubyΛ͍ͬͯͨ ΤϯδχΞ͕Goʹೖ͠ ͯ࠳ંͯ͠࠶ઓͨ͠ 2017/6/5 GoݴޠLTେձʂ ʮ࠷ۙɺGoݴޠ࢝Ί·ͨ͠ʯͷձ @suzan2go
ࣗݾհ • גࣜձࣾΫϥυϫʔΫε • ླ݈ଠ (Twitter / GitHub @suzan2go) •
ࣄͰRuby / JavaScriptΛॻ͍͍ͯΔΞϓϦ έʔγϣϯΤϯδχΞ • 4݄͔ΒझຯͰGoݴޠΛͪΌΜͱ৮Γ࢝Ί·ͨ͠
None
ॻ͍ͯ·ͤΜ ผਓͰ͢
ࠓͷ RubyΛ͍ͬͯͨ ΤϯδχΞ͕GoΛ࢝Ίͯ Կʹ࠳ંͯ͠ Ͳ͏࠶ઓͯ͠͏·͍ͬͨ͘ ͔
Goݴޠͱͷग़ձ͍
Goݴޠͱͷग़ձ͍(20164݄)
Goݴޠͱͷग़ձ͍ • ಉ྅͕ͪΐͬͱ৮͍ͬͯͨͷͰ໊લ͘Β͍ͬ ͍ͯͨ • GAE / GoͷΈ߹Θͤੌ͍ʂʂ • ͪΐ͏Ͳ৽نࣄۀͷ্ཱͪ͛ʹؔΘ͍ͬͯͯͲΜ
ͳߏͰ࡞Δͷ͔ߟ͍͑ͯͨ • ͜Ε͔ΒGo͕དྷͦ͏ͩʂʂͳΜ͔࡞ͬͯΈΑʂ
࠳ંɾɾɾ
ഊҼ • GoݴޠͰRubyͷΑ͏ͳΦϒδΣΫτࢦΛ Ζ͏ͱͯ͠͠·ͬͨ • GoݴޠͰRubyͷΑ͏ʹָʹॻ͘ํ๏͕ͳ͍ ͔୳͠ٻΊͯ͠·ͬͨ
GoݴޠͰRubyͷΑ͏ͳΦϒδΣ ΫτࢦΛΖ͏ͱͯ͠͠·ͬͨ Ҿ༻ : GoͷΞϯνύλʔϯ http://golang.rdy.jp/2016/07/26/antiptn/
GoݴޠͰRubyͷΑ͏ʹָʹॻ͘ ํ๏͕ͳ͍͔୳͠ٻΊͯ͠·ͬͨ • Goےྗ͕…ͱ͍͏ͭʁ • λΠϓΛݮΒ͢Α͏ͳ͜ͱΛؤுΖ͏ͱ͢Δͱେମ ·ͬͨ • ࣌ɺʮ͜Εઈରͬͱָͳॻ͖ํ͋ΔͩΖʔ͆ʯͱԿ ͔ॻ͘ʹ୳͠ճͬͯ͠·ͬͨ…
• ݁ՌɺGoͩͱ͜͏ॻ͔͘͠ͳ͍ɺΈ͍ͨͳͱ͜Ζʹམͪ ண͍ͯɺ·ͬͨ͘ΞϓϦέʔγϣϯͷ։ൃਐ·ͳ͔ͬͨ
ͦͯ͠Ұ͘Βཱ͍ͬͨ ࠓͷ4݄ ཧ༝Ε͚ͨͲ Goݴޠ࠶ઓ
GitHubͰGoݴޠͷΞϓϦέʔ γϣϯΛ৭ʑݟͯΈΔ https://github.com/shohhei1126/bbs-go
Goݴޠͷઃܭʹ͍ͭͯͷهࣄΛ ৭ʑಡΜͰΈΔ http://www.alexedwards.net/blog/organising-database-access
Goݴޠͷઃܭʹ͍ͭͯͷهࣄΛ ৭ʑಡΜͰΈΔ http://deeeet.com/writing/2016/10/25/go-interface-testing/
GoʹैͬͯݟΔͱ ָ͘͠ͳͬͯ͘Δ
͜Μͳͱ͜Ζָ͕͍͠Ͱ͢Go • golintͰॻ͖ํΛڧ੍͞ΕΔͷͰ໎Θͳͯ͘ྑ͍(vs Ruby) • ܕ͕͋Δͷʹ(ΤσΟλͷαϙʔτ͕͋Δͷ͕͜Μͳʹ࠷ߴͱ)ɺ͔ͭίϯύΠϧ͕ ૣ͍ • σϑΝΫτͳWAFͱ͔͕·ͩͳ͍ɺ৭ʑࣗͰߟ͑ͳ͍͚ͯ͘ͳ͍ͷָ͕͍͠ (DBΞΫηεͲ͏͢ΔɺͲ͏͍͏ߏମ࡞Δ
etc) • GoDocੌ͍ɻখ͍͞ϓϩδΣΫτͰGoDocʹใ͕͋Δࣄ͕ଟ͍(golintͰίϝ ϯτͳ͍ͱౖΒΕΔ͔Βʁ) • ۪ʹॻ͘͜ͱ͕ٻΊΒΕΔ(ؾ͕͢Δ)ͷͰɺΓ͍ͨ͜ͱʹϑΥʔΧεͨ͠ίʔυ ʹͳΔ(ݸਓͷײͰ͢)
͜ΜͳΜ࡞ͬͯ·͢(झຯ)ᶃ • ՈఉهΞϓϦͷόοΫΤϯυAPI(·ͩࣗͷՈఉݶఆ ެ։) ͍ͬͯΔύοέʔδlabstack/echoɺjinzhu/gormͳͲ
͜ΜͳΜ࡞ͬͯ·͢(ࣄ)ᶄ • GitHubͷ͓আ͢Δͭ(ࠓͷͱ͜ΖReleasesΛফ͚ͩ͢…) ༻ύοέʔδ spf13/cobraɺgoogle/go-github ͳͲͳͲ
·ͱΊ • GoʹೖΕGoʹै͑ • ʮΦϒδΣΫτࢦݴޠʯͱ৭ʑҧ͏ͱ͜Ζଟ͍͜ͱΛೝΊΑ͏ • ָΛ͢Δ(͘ॻ͚Δ)Α͏ͳॻ͖ํΛؤு͕ͬͯ͢͞ΑΓɺ۪ʹॻ ͍͍ͯ͘΄͏͕݁ՌతʹΑ͍ίʔυʹͳΔؾ͕͢Δ(ݸਓͷײͰ ͢) •
ઌਓͷॻ͍ͨίʔυɾݟΛࢁࢀߟʹ͠Α͏ • GoʹैͬͯΈΔͱGoॻ͘ͷָ͘͠ͳͬͯ͘Δʂ
ࠓޙͷల •ͬͱࣄͰ Goݴޠͬͯ ͍͖͍ͨ