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
私がGo言語を選んだ理由
Search
kyokomi
June 01, 2015
Technology
3
380
私がGo言語を選んだ理由
Geek Salon vol.7 Go肉で発表した内容。
Go入門する前を方を対象とした内容になります。
kyokomi
June 01, 2015
Tweet
Share
More Decks by kyokomi
See All by kyokomi
goaを導入した話
kyokomi
0
2.5k
さくっとGAE/GoでAPIを作って本番環境にリリースする / gaego-api-init-release
kyokomi
0
3.8k
Go言語で作られたAPIのレガシーコードと戦った話 / Go Conference 2015 winter
kyokomi
4
3.9k
Go製の拡張可能なSlack bot
kyokomi
3
8.2k
go generate tips
kyokomi
4
3.3k
Gomaについて
kyokomi
4
3k
Gunosy APIチームGo開発フロー
kyokomi
7
6k
Other Decks in Technology
See All in Technology
Lexical Analysis
shigashiyama
1
150
Lambda10周年!Lambdaは何をもたらしたか
smt7174
2
110
ドメイン名の終活について - JPAAWG 7th -
mikit
33
20k
障害対応指揮の意思決定と情報共有における価値観 / Waroom Meetup #2
arthur1
5
470
DMARC 対応の話 - MIXI CTO オフィスアワー #04
bbqallstars
1
160
Amazon Personalizeのレコメンドシステム構築、実際何するの?〜大体10分で具体的なイメージをつかむ〜
kniino
1
100
Why does continuous profiling matter to developers? #appdevelopercon
salaboy
0
190
Python(PYNQ)がテーマのAMD主催のFPGAコンテストに参加してきた
iotengineer22
0
470
RubyのWebアプリケーションを50倍速くする方法 / How to Make a Ruby Web Application 50 Times Faster
hogelog
3
940
Exadata Database Service on Dedicated Infrastructure(ExaDB-D) UI スクリーン・キャプチャ集
oracle4engineer
PRO
2
3.2k
マルチプロダクトな開発組織で 「開発生産性」に向き合うために試みたこと / Improving Multi-Product Dev Productivity
sugamasao
1
300
Can We Measure Developer Productivity?
ewolff
1
150
Featured
See All Featured
Embracing the Ebb and Flow
colly
84
4.5k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Rails Girls Zürich Keynote
gr2m
94
13k
The Pragmatic Product Professional
lauravandoore
31
6.3k
A designer walks into a library…
pauljervisheath
204
24k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.4k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
191
16k
Agile that works and the tools we love
rasmusluckow
327
21k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
329
21k
Designing the Hi-DPI Web
ddemaree
280
34k
YesSQL, Process and Tooling at Scale
rocio
169
14k
Optimising Largest Contentful Paint
csswizardry
33
2.9k
Transcript
ࢲ͕GoݴޠΛબΜͩཧ༝ Geek Salon vol.7 Go @k_yokomi, 2015/05/29 ʮGeek Salon vol.7
Go ࢲ͕GoݴޠΛબΜͩཧ༝ʯ 1
ࣗݾհ • Twitter: @k_yokomi ʢ͖ΐ͜Έʣ※1 • GunosyͰGoΤϯδχΞͬͯ·͢ • Cocos2d-xͰήʔϜ࡞ͬͨΓͯ͠· ͨ͠
• Gunosy.goͷओ࠵ͱ͔ͬͯ·͢ ʢ࣍6/2Ͱ͢ʣ ※1 ΞΠίϯ݄ඣͷᘡᘚ͞ΜͰ͢ɻ @k_yokomi, 2015/05/29 ʮGeek Salon vol.7 Go ࢲ͕GoݴޠΛબΜͩཧ༝ʯ 2
͡Ίʹ ࠓճͷ༰ʹ͍ͭͯز͔ͭҙࣄ߲͕͋ Γ·͢ɻ 1. ͕ࣗGoΛͬͯɺࣄझຯ։ൃ Λ͠Β͍ͬͯ͘͜͏ͱࢥͬͨཧ ༝͕ϝΠϯͷͰ͢ 2. ͭ·Γฐ͕ࣾGoΛ࠾༻ͨ͠ཧ༝Ͱ ͋Γ·ͤΜ
3. ܾͯ͠ଞͷݴޠΛDis͍ͬͯΔΘ͚Ͱ ͋Γ·ͤΜ @k_yokomi, 2015/05/29 ʮGeek Salon vol.7 Go ࢲ͕GoݴޠΛબΜͩཧ༝ʯ 3
࣍ • खʹೃછΉݴޠ • ͕ࣗGoݴޠΛ৮Γ࢝ΊͨΩοΧέ • ͕ࣗGoݴޠͰؾʹೖ͍ͬͯΔ • ͕ࣗࠓ·Ͱ͍ͬͯͨݴޠͱGoݴޠͷ͍ॴΛൺֱ •
͕ࣗGoݴޠͰ࡞ͬͨͷΛհ @k_yokomi, 2015/05/29 ʮGeek Salon vol.7 Go ࢲ͕GoݴޠΛબΜͩཧ༝ʯ 4
खʹೃછΉݴޠ @k_yokomi, 2015/05/29 ʮGeek Salon vol.7 Go ࢲ͕GoݴޠΛબΜͩཧ༝ʯ 5
खʹೃછΉݴޠ ͱ Ҏલʮkyonmm * kaorit_spica ݁ࠗॕ͍LTେձ in TokyoʯͰ @mizchi ͞Μ͕ൃදͨ͠εϥΠυʮؾ͍ͮͨΒϓϩάϥϚʹͳ
ͬͯͨʯ͕ݩωλͰ͢ɻ ͦͷதͰ͞Ε͍ͯͨɺ खʹೃછΉݴޠΛ࣋ͱ͏ ͱ͍͏ʹͱ ͯڞײ͠·ͨ͠ɻ εϥΠυͪ͜Β => http://mizchi.github.io/kyonmm-lt @k_yokomi, 2015/05/29 ʮGeek Salon vol.7 Go ࢲ͕GoݴޠΛબΜͩཧ༝ʯ 6
ͪͳΈʹͦͷࠒͷࣗ • Java : αʔόʔαΠυͱAndroidॻ͍ͯͨ • C++ : Cocos2d-xͰήʔϜ࡞ͬͯͨ •
Node.js : ͨ·ʹπʔϧͱ͔αʔόʔαΠυͱ͔ • Ruby : ࣄ͕JavaͩͬͨͷͰԑ͕ͳ͔ͬͨ • Objective-C : ࣄͰνϣοτμέ @k_yokomi, 2015/05/29 ʮGeek Salon vol.7 Go ࢲ͕GoݴޠΛબΜͩཧ༝ʯ 7
ͦ͜ͰGo!! @k_yokomi, 2015/05/29 ʮGeek Salon vol.7 Go ࢲ͕GoݴޠΛબΜͩཧ༝ʯ 8
GoݴޠΛ ৮Γ࢝ΊͨΩοΧέ @k_yokomi, 2015/05/29 ʮGeek Salon vol.7 Go ࢲ͕GoݴޠΛબΜͩཧ༝ʯ 9
ग़ձ͍rebuild.fm GoݴޠΛͬͨͷɺ20144݄͘Β͍ͷrebuild.fmͰ͢ɻ @lestrrat ͞Μ͕͍ͯͨ͠ճͰ͢ɻ http://rebuild.fm/42/ ͨͩɺ͜ͷ࣌ͷҹʮͳΜ͔ྑͦ͞͏ͳݴޠͩͳʙࠓ৮ͬ ͯΈΑ͏ɻʯఔͰͨ͠ɻ @k_yokomi, 2015/05/29 ʮGeek
Salon vol.7 Go ࢲ͕GoݴޠΛબΜͩཧ༝ʯ 10
࣮ࡍʹॻ͖͡ΊͨͷΧ݄ޙ Swift͕ൃද͞Εͯ৮͍ͬͯͨ࣌ʹGoͱࣅͯΔͱ͍͏ίϝϯτΛ Twitterͱ͔Ͳ͔͜Ͱݟͯɺ ൺֱ͠Α͏ͱࢥͬͯGoΛ৮ͬͨͷ͕ΩοΧέɻ ͱΓ͋͑ͣ৮ͬͯΈΔͷେࣄͰ͢Ͷ @k_yokomi, 2015/05/29 ʮGeek Salon vol.7
Go ࢲ͕GoݴޠΛબΜͩཧ༝ʯ 11
GoݴޠͰ ؾʹೖ͍ͬͯΔ @k_yokomi, 2015/05/29 ʮGeek Salon vol.7 Go ࢲ͕GoݴޠΛબΜͩཧ༝ʯ 12
Ұ൪ɺॻ͍͍ͯͯؾ͍͍࣋ͪ • gofmt, golint, go build, go get, godocͳͲඪ४Ͱπʔϧ͕ἧ ͍ͬͯΔ
• ඪ४ύοέʔδͰͻͱ௨Γػೳ͕ἧ͍ͬͯΔͷʹ͕গͳ͘ ͍֮ͯ͑͢ • ຐ๏Έ͍ͨͳίʔυ͕ແͯ͘ɺݟͨΒେମΘ͔Δͷͱී௨ʹ ॻ͍ͯΕݟ͍͢ίʔυʹͳΔ @k_yokomi, 2015/05/29 ʮGeek Salon vol.7 Go ࢲ͕GoݴޠΛબΜͩཧ༝ʯ 13
ࣗͷΓ͍ͨ͜ͱͱ͔ۙͬͨ • GitHub͕͖ͳͷͰ૬ੑ͕͍͍ • ϥΠϒϥϦͷimport͕GitHubͱີͳ͕ؔ͋ͬͯɺίʔ υΛެ։͍͢͠ • ͕ࣗڵຯ͋ΔʢπʔϧWebAPIʣ͕ൺֱత࡞Γ͢ ͔ͬͨ @k_yokomi,
2015/05/29 ʮGeek Salon vol.7 Go ࢲ͕GoݴޠΛબΜͩཧ༝ʯ 14
͕ࣗࠓ·Ͱ͍ͬͯͨݴޠͱ Goݴޠͷ͍ॴΛൺֱ @k_yokomi, 2015/05/29 ʮGeek Salon vol.7 Go ࢲ͕GoݴޠΛબΜͩཧ༝ʯ 15
GoҎલʹ͍ͬͯͨݴޠ @k_yokomi, 2015/05/29 ʮGeek Salon vol.7 Go ࢲ͕GoݴޠΛબΜͩཧ༝ʯ 16
Go৮ͬͯΈͯݸਓతͳײ ※͋͘·ͰݸਓతͳײͰ͢ʢॏཁʣ @k_yokomi, 2015/05/29 ʮGeek Salon vol.7 Go ࢲ͕GoݴޠΛબΜͩཧ༝ʯ 17
Goݴޠͷ͍ॴ1ʢπʔϧʣ • ։ൃ࣮ߦָ • όΠφϦʹ͔ͨΊͯͯ͠͠·͑ڥґଘ͕΄ͱΜͲͳ ͍ͷͰָ • npmͱ͔gemΈ͍ͨͳґଘϥΠϒϥϦཧͱ͔Θͣඪ४ύ οέʔδ͚ͩͰେମͷͷ͕ͭ͘ΕΔ •
go routineͰฒߦॲཧָ͕ʹॻ͚Δ @k_yokomi, 2015/05/29 ʮGeek Salon vol.7 Go ࢲ͕GoݴޠΛબΜͩཧ༝ʯ 18
Goݴޠͷ͍ॴ2ʢWebAPIʣ • Jsonύοέʔδ͕ศརͰJsonΛฦ͢APIΛ࡞Δͷ͕؆୯ • ߴԽͱ͔ඞࢮʹߟ͑ͳͯ͘ɺΘΓͱૣ͍ • RDSѻ͏ϥΠϒϥϦ͕·ܾͩఆ൛ͳ͍͚ͲmongoͳΒmgo ͕ɺ͔ͳΓ͍͍ײ͡ • herokuϏϧυύοΫ͋Δ
@k_yokomi, 2015/05/29 ʮGeek Salon vol.7 Go ࢲ͕GoݴޠΛબΜͩཧ༝ʯ 19
ͪΐͬͱ͚͕ͩࣗ GoͰ࡞ͬͨͷΛհ @k_yokomi, 2015/05/29 ʮGeek Salon vol.7 Go ࢲ͕GoݴޠΛબΜͩཧ༝ʯ 20
πʔϧ/ϥΠϒϥϦ/WebΞϓϦ • github.com/kyokomi/emoji : fmtͱಉ͡Α͏ʹ:beer:Λֆ จࣈͱͯ͠ग़ྗͰ͖ΔϥΠϒϥϦ • github.com/kyokomi/goma : go
generateͰDBͷΞΫηεί ʔυΛࣗಈੜ͢Δπʔϧ • github.com/shumipro/meetapp : goͰ࣮ͨ͠WebαʔϏ εʢherokuͰӡ༻தʣ ଞʹ͠ΐ΅͍ϥΠϒϥϦπʔϧ͕ͨ͘͞Μ͋Γ·͢ɻ @k_yokomi, 2015/05/29 ʮGeek Salon vol.7 Go ࢲ͕GoݴޠΛબΜͩཧ༝ʯ 21
·ͱΊ • Goඪ४ύοέʔδެࣜπʔϧ͕ἧ͍ͬͯΔͷͰೖָ͕ Ͱɺπʔϧ/APIͷ։ൃָ͕ • Goجຊతʹ։ൃڥ࣮ߦڥΛબͳ͍ • ॻ͖͢͞ॻ͍ͯͯؾ͍͍͔࣋ͪॏཁ͚ͩͲɺࣗͷ Γ͍ͨ͜ͱͱ߹͍ͬͯΔݴޠΛબͿͷ͕େࣄ •
GoΛखʹೃછΉݴޠʹ͠Α͏!!!!!!!! @k_yokomi, 2015/05/29 ʮGeek Salon vol.7 Go ࢲ͕GoݴޠΛબΜͩཧ༝ʯ 22
͓ΘΓ @k_yokomi, 2015/05/29 ʮGeek Salon vol.7 Go ࢲ͕GoݴޠΛબΜͩཧ༝ʯ 23