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
Golangの紹介(基礎)
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Yusuke AONO
October 28, 2014
Programming
190
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Golangの紹介(基礎)
Yusuke AONO
October 28, 2014
More Decks by Yusuke AONO
See All by Yusuke AONO
Webアプリのテスト(Atrae社内勉強会)
ysk1031
1
110
Twilioの簡単な説明
ysk1031
1
76
Other Decks in Programming
See All in Programming
Datadog × OpenTelemetry 入門と実践のあいだ
kn_to_maxpno
1
180
AI時代のUIはどこへ行く?その2!
yusukebe
22
7.5k
Hatena Engineer Seminar #37「言語モデルの活用に関する研究」
slashnephy
0
210
Mujeres en SEO Summit 2026 - Greatest Disaster Hits en Web Performance
guaca
0
200
トークンをケチるな、設計しろ:GitHub Copilotを賢く使うコンテキスト戦略
ochtum
0
210
ローカルLLMでどこまでコードが書けるか -拡張版 / How much code can be written on a local LLM Extended
kishida
12
4.5k
肥大化するレガシーコードに立ち向かうためのインターフェース分離と依存の逆転 / JJUG CCC 2026 Spring
hirokunimaeta
0
640
Developing with AI Agents — Codex, Claude Code & Cowork Practical Guide
x5gtrn
PRO
0
1.3k
生成AI時代にこそ効くGo | Why Go Works in the Age of Generative AI
mom0tomo
8
3.3k
LaravelLive Japan の裏方のすべて — 第188回 PHP勉強会@東京 (2026-06-24)
suguruooki
2
130
Semantic Version 単位で戦略を柔軟に変えて、パッケージアップデートを自動化する
daitasu
1
310
フロントエンドとバックエンドで「1文字」を揃えよう
youkidearitai
PRO
0
750
Featured
See All Featured
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
640
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
66
55k
Designing for humans not robots
tammielis
254
26k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
150
Typedesign – Prime Four
hannesfritz
42
3.1k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.5k
The Curse of the Amulet
leimatthew05
2
13k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.6k
How to train your dragon (web standard)
notwaldorf
97
6.7k
We Have a Design System, Now What?
morganepeng
55
8.2k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
210
Technical Leadership for Architectural Decision Making
baasie
3
420
Transcript
Goݴޠೖͷೖ 2014/10/28 Atraeࣾษڧձ
Goݴޠͱ • 2009ʹൃද͞ΕͨΦʔϓϯιʔεͷݴޠ • Google͕։ൃ • CݴޠɺUTF-8ɺmemcachedͷ։ൃऀΒ͕ઃ ܭʹࢀՃ • ݱࡏόʔδϣϯ1.3.3
ಛ • ੩తͳܕ͖ݴޠ • γϯϓϧʢͳߏจʣ • ʮྫ֎ʯ͕ແ͔ͬͨΓ͢Δ • ίϯύΠϧɺ࣮ߦ͕͍ •
҆શੑ͕ߴ͍ • ྫɿະ༻ͷมύοέʔδ͕͋ΔͱɺίϯύΠϧ௨Βͳ͍ • ฒྻॲཧָ͕ʹॻ͚Δ
࠾༻ࣄྫ • ίϚϯυϥΠϯπʔϧϛυϧΣΞʹΘΕΔ͜ͱଟ͠ɻ ·ͩRailsతͳఆ൪ແ͍ײ͕ͩ͡ɺWAF͋Δ • peco • hub • Docker
• Packer • mackerel
Πϯετʔϧ • MacͳΒɺhomebrew͏͕ΑΖ͠ • GOPATHͱ͍͏ڥมͷઃఆ͕ඞཁͰ͢ • ੨ϗʔϜσΟϨΫτϦΛઃఆͯ͠Δ • ڥߏஙΊΜͲ͍ਓɺGolangͷαΠτͰͱΓ͋͑ ͣಈ͔͢ͷ͕Φεεϝ
• http://play.golang.org/p/-URiXol0GB
ϋϩʔϫʔϧυ
ϓϩάϥϜͷ࣮ߦ • ຊདྷίϯύΠϧΛͯ͠͏ݴޠ • ͕ɺgo run ίϚϯυͰɺίϯύΠϧ͠ͳͯ͘ ࣮ߦՄೳ • ίϯύΠϧɺgo
build ίϚϯυͰ • ίϯύΠϧͰੜ͞ΕΔͷɺ࣮ߦܗࣜͷόΠ φϦϑΝΠϧ
ϑΥʔϚοτ • ͭ͡ίʔσΟϯάن͕͔ͳΓݫ͍͠ • Πϯσϯτɺϋʔυλϒ͡Όͳ͖Όμϝ • ֯εϖʔεΛೖΕΔ/ೖΕͳ͍ॴ etc. • ࣗ༝͕͍ɺ౷Ұੑ͕ੜ·ΕΔ
• go fmt ίϚϯυͰࣗಈܗՄೳ • ࣗಈͰߏจνΣοΫͯ͘͠ΕΔϓϥάΠϯ͕ɺ͍͍ͩͨͷΤ σΟλʹ͋Δʢඞਢͩͱࢥ͏ʣ
جຊจ๏ • εϥΠυʹ͢ΔͷΊΜͲ͍ ϒϩάʹॻ͍ͨ • http://yusuke-aono.hatenablog.com/entry/ 20141026/1414313149
Goroutine • Goݴޠͷେ͖ͳಛͷҰͭɺಉظʢฒߦॲ ཧʣϓϩάϥϛϯάΛ؆୯ʹ࣮ݱ͢Δػೳ • ಡΈํΰϧʔνϯ • ͍ΘΏΔεϨουతͳͷ • main()
ؔ1ͭͷΰϧʔνϯͷதͰ࣮ߦ͞Ε ͍ͯͨ
Not Goroutine
Goroutine (ʆŋωŋ´)ʎ
Channel • ෳͷΰϧʔνϯؒͰσʔλΛΓͱΓ͢Δ ʹʁ • ͦͷࡍʹ͏ͷ͕ɺνϟωϧ • ΈࠐΈͷ make() ؔΛར༻
Channelͷར༻
νϟωϧɺͲ͏͑Δ͔ • ྫ͑ɺಉ࣌ʹෳͷαʔόʔʹϦΫΤε τΛग़ͯ͠େྔͷ໋ྩͱେྔͷσʔλΛฒྻ ॲཧ͢ΔϓϩάϥϜɺͱ͔ʁ • GoͷϛυϧΣΞ͕ଟ͍ͷɺGoroutine ͱChannelͷଘࡏ͕͋Δ͔ΒͩͱࢥΘΕΔ
GoͷWAF • Revel • Martini • Goji • net/http and
so on. SinatraͬΆ͍ͷ͔ΒRailsΈ͍ͨͳશ෦ೖΓ·Ͱ৭ʑ͋Δɻ ৮ͬͯࢼ࣌ؒ͢ͳ͔ͬͨɺ͢Μ·ͤΜɻɻ
·ͱΊ • γϯϓϧʹ࡞ΒΕ͍ͯͯɺ݁ߏ͍֮͑͢ • ίϯύΠϧ࣌ʹνΣοΫͯ͘͠ΕΔͷྑ͍ʢϙΧϛεݮΔʣ • ฒྻॲཧ͕؆୯ʹॻ͚ͯͼͼΔ • ͱ͍͑ɺ੩తܕ͚ίʔσΟϯάͷεϐʔυײ͕ଟগམ ͪΔͩΖ͏ʢಛʹRubyʹͱͬͯʣ
• ܭࢉʢߦྻͷੵͱ͔ʣॲཧೳྗͱ͔ɺWAFͱͯ͠ͷ͍ ͢͞ͱ͔͏গ͠ௐͯΈ·͢