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
jollyjoester
April 23, 2017
Programming
0
610
Go合宿進捗ありません
Go合宿@土善旅館でのLT
jollyjoester
April 23, 2017
Tweet
Share
More Decks by jollyjoester
See All by jollyjoester
AIコードアシスタントとiOS開発
jollyjoester
1
310
市民のためのセキュリティ講座
jollyjoester
0
41
コミュニティMTG in WWDC24
jollyjoester
0
300
BengaluruでLTしてきた
jollyjoester
0
350
try! Swift Tokyo 2024
jollyjoester
0
340
エンジニアが直接会う場の価値について
jollyjoester
8
4.4k
来年Proposalを出すつもりで参加するときっともっと楽しい!
jollyjoester
0
370
My favorite sessions in WWDC 23
jollyjoester
0
660
みんなでAIと戯れよう
jollyjoester
0
150
Other Decks in Programming
See All in Programming
より安全で効率的な Go コードへ: Protocol Buffers Opaque API の導入
shwatanap
2
750
Improving my own Ruby thereafter
sisshiki1969
1
160
@Environment(\.keyPath)那么好我不允许你们不知道! / atEnvironment keyPath is so good and you should know it!
lovee
0
120
ぬるぬる動かせ! Riveでアニメーション実装🐾
kno3a87
1
230
AI時代のUIはどこへ行く?
yusukebe
18
9.1k
MCPでVibe Working。そして、結局はContext Eng(略)/ Working with Vibe on MCP And Context Eng
rkaga
5
2.3k
基礎から学ぶ大画面対応(Learning Large-Screen Support from the Ground Up)
tomoya0x00
0
3.3k
個人軟體時代
ethanhuang13
0
330
Flutter with Dart MCP: All You Need - 박제창 2025 I/O Extended Busan
itsmedreamwalker
0
150
私の後悔をAWS DMSで解決した話
hiramax
4
210
1から理解するWeb Push
dora1998
7
1.9k
Azure SRE Agentで運用は楽になるのか?
kkamegawa
0
2.5k
Featured
See All Featured
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
How STYLIGHT went responsive
nonsquared
100
5.8k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
31
2.2k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Rebuilding a faster, lazier Slack
samanthasiow
83
9.2k
YesSQL, Process and Tooling at Scale
rocio
173
14k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.9k
Raft: Consensus for Rubyists
vanstee
140
7.1k
KATA
mclloyd
32
14k
Making the Leap to Tech Lead
cromwellryan
135
9.5k
Transcript
2017/04/23 jollyjoester Go߹॓ ਐḿ͋Γ·ͤΜ
ࣗݾհ
• ࣣౡҒ೭(@jollyjoester) • Repro Inc. • ͯ͢ख़ / Kanpai-er •
ೖऀ͚iOSΞϓϦ։ൃຊॻ͍ͨ Coming Soon
SwiftѪձ • Swift͖͕ू·ͬͯΘ͍Θ͍ʰָ͠Ήձʱ • Ϩϕϧɺܦݧෆ ‣ Swift͕͖ͳਓʂ ‣ SwiftΛ͖ʹͳΔ༧ఆͷਓ ‣
Ή͠ΖSwift͔Β͔Ε͍ͯΔਓ • ݄̍։࠵ඪ ‣ ฏɿஊٛ ‣ ٳɿٱ͘͘ձʴஊٛ ࣍ճ4/28
ࢲͷGoܦྺ • ॳΊ͔ͯΒগͳ͘ͱ542 ɹ ɹ ɹ ɹ
ࢲͷGoܦྺ • ॳΊ͔ͯΒগͳ͘ͱ542 • ࣮࣭ͬͨͷ3 ɹ ɹ ɹ
ࢲͷGoܦྺ • ॳΊ͔ͯΒগͳ͘ͱ542 • ࣮࣭ͬͨͷ3 • υοτΠϯετʔϧʢ542લʣ ɹ ɹ
ࢲͷGoܦྺ • ॳΊ͔ͯΒগͳ͘ͱ542 • ࣮࣭ͬͨͷ3 • υοτΠϯετʔϧʢ542લʣ • Goೖऀ͚ϋϯζΦϯʢڈͷͲ͔͜ʣ ɹ
ࢲͷGoܦྺ • ॳΊ͔ͯΒগͳ͘ͱ542 • ࣮࣭ͬͨͷ3 • υοτΠϯετʔϧʢ542લʣ • Goೖऀ͚ϋϯζΦϯʢڈͷͲ͔͜ʣ •
Go߹॓ʂ
ࠓճͷࢥ ʮA Tour of GoͰͪΌͪΌͬͱͬͯͳΜ͔ͷΞϓϦ έʔγϣϯ࡞Δͧʂʯ
ɹ݁Ռ
ɹ݁Ռ ਐḿ͋Γ·ͤΜ
A Tour of Goܦա • ࠷ॳʹ্ా͞ΜͷΛฉ͘ʢΔؾˢʣ • A Tour of
GoΛ࢝ΊΔʢΔؾˢʣ • ͍ͭ·ͰܦͬͯऴΘΒͳ͍ʢΔؾˢʁʣ • ͩΜͩΜͭ·ͮ͘͜ͱ͕ଟ͘ͳ͖ͬͯͨʢΔؾˣʁʣ • શମͷϘϦϡʔϜݟͯΈͨʢΔؾˣʣ ʢstructʹϝιουੜ͢ͱ͜·Ͱ͔͠ߦ͚ͳ͔ͬͨʣ
A Tour of Go ͭ·͖ͮϙΠϯτ̍ • Capacity is Կʁ
A Tour of Go ͭ·͖ͮϙΠϯτ̍ • range is Կʁ
A Tour of Go ͭ·͖ͮϙΠϯτ̍ • deferͷείʔϓ
ܾஅ ϐϘοτ͢Δͧʢಀ͛ͨʣ
࣍ͷ࡞ઓ • จ๏ͱ͔Θ͔Βͳͯ͘ಈ͘ͷ͕͋Ε͍͍ • ʮKamiʯͬͯͷΛ࡞ͬͨਓ͕ࢀՃऀʹ͍ΔΒ͍͠ͷͰΈ ͯΈΔ͔ • ʢ࠷ѱ࡞ऀ͔Β̍ථ͍͖ͨͩͩʣ
Kami৮ͬͯΈͨ • Web framework with context • https://github.com/guregu/kami
Kami৮ͬͯΈͨ
Kamiಈ͍ͨ
Ҏ্
ͬ͞ͺΓΘ͔ΒΜ
ͱ͍͑ ֶΜͩ͜ͱ • contextύοέʔδ is Կ • Middleware is Կ
• net/httpΕΑ
contextύοέʔδ • ϦΫΤετͷΩϟϯηϧͱλΠϜΞτͱϦΫΤετε ίʔϓͷมΛѻ͏ͷ • Go 1.7͔Βຊମʹ౷߹ • *http.Requestʹcontextؔ࿈ͷϝιου͕Ճ͞Εͨ •
Kami͜Ε͕ग़ΔલʹcontextΛѻ͍͔ͨͬͨ
Middleware is Կʁ • ΞϓϦέʔγϣϯͷϝΠϯϩδοΫͷલޙʹڬΉॲཧ • ʢLaravelͱ͔Ͱݟ͔͚ͨݴ༿ͳͷͰ࠷ۙͷαʔόʔα ΠυͰී௨ͷ֓೦ʁʣ
Goͷnet/httpڧྗ ͱΓ͋͑ͣnet/httpΛͬͯΈͳΕ
ͬͯ@guregu͞Μ͕ݴͬͯͨ
ࢀߟࢿྉ • https://github.com/guregu/kami#usage • http://go-talks.appspot.com/github.com/guregu/ slides/kami/kami.slide#1 • https://blog.golang.org/context
Always See Everything
Thank you!