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
410
私が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.6k
さくっとGAE/GoでAPIを作って本番環境にリリースする / gaego-api-init-release
kyokomi
0
4k
Go言語で作られたAPIのレガシーコードと戦った話 / Go Conference 2015 winter
kyokomi
4
4k
Go製の拡張可能なSlack bot
kyokomi
3
8.4k
go generate tips
kyokomi
4
3.4k
Gomaについて
kyokomi
4
3.1k
Gunosy APIチームGo開発フロー
kyokomi
7
6.2k
Other Decks in Technology
See All in Technology
「データ無い! 腹立つ! 推論する!」から 「データ無い! 腹立つ! データを作る」へ チームでデータを作り、育てられるようにするまで / How can we create, use, and maintain data ourselves?
moznion
8
4.4k
Progressive Deliveryで支える!スケールする衛星コンステレーションの地上システム運用 / Ground Station Operation for Scalable Satellite Constellation by Progressive Delivery
iselegant
1
190
AI時代の戦略的アーキテクチャ 〜Adaptable AI をアーキテクチャで実現する〜 / Enabling Adaptable AI Through Strategic Architecture
bitkey
PRO
4
470
Rubyist入門: The Way to The Timeless Way of Programming
snoozer05
PRO
7
510
[mercari GEARS 2025] Building Foundation for Mercari’s Global Expansion
mercari
PRO
1
140
ステートレスなLLMでステートフルなAI agentを作る - YAPC::Fukuoka 2025
gfx
8
1.3k
第65回コンピュータビジョン勉強会
tsukamotokenji
0
150
身近なCSVを活用する!AWSのデータ分析基盤アーキテクチャ
koosun
0
1.7k
FFMとJVMの実装から学ぶJavaのインテグリティ
kazumura
0
120
重厚長大企業で、顧客価値をスケールさせるためのプロダクトづくりとプロダクト開発チームづくりの裏側 / Developers X Summit 2025
mongolyy
0
140
セマンティックHTMLによる アクセシビリティ品質向上の基礎
zozotech
PRO
0
110
グローバルなコンパウンド戦略を支えるモジュラーモノリスとドメイン駆動設計
kawauso
1
740
Featured
See All Featured
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Building Adaptive Systems
keathley
44
2.8k
GitHub's CSS Performance
jonrohan
1032
470k
Writing Fast Ruby
sferik
630
62k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8.1k
Music & Morning Musume
bryan
46
6.9k
Balancing Empowerment & Direction
lara
5
750
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
34
2.3k
Scaling GitHub
holman
463
140k
Six Lessons from altMBA
skipperchong
29
4.1k
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