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
600
Go合宿進捗ありません
Go合宿@土善旅館でのLT
jollyjoester
April 23, 2017
Tweet
Share
More Decks by jollyjoester
See All by jollyjoester
市民のためのセキュリティ講座
jollyjoester
0
10
コミュニティMTG in WWDC24
jollyjoester
0
260
BengaluruでLTしてきた
jollyjoester
0
300
try! Swift Tokyo 2024
jollyjoester
0
280
エンジニアが直接会う場の価値について
jollyjoester
8
4.2k
来年Proposalを出すつもりで参加するときっともっと楽しい!
jollyjoester
0
320
My favorite sessions in WWDC 23
jollyjoester
0
600
みんなでAIと戯れよう
jollyjoester
0
130
続く勉強会の作り方
jollyjoester
2
830
Other Decks in Programming
See All in Programming
AI時代のプログラミング教育 / programming education in ai era
kishida
22
17k
CSC486 Lecture 14
javiergs
PRO
0
140
RCPと宣言型ポリシーについてのお話し
kokitamura
2
120
Introduction to C Extensions
sylph01
3
150
JavaOne 2025: Advancing Java Profiling
jbachorik
1
270
運用しながらリアーキテクチャ
nealle
0
340
Node.js, Deno, Bun 最新動向とその所感について
yosuke_furukawa
PRO
5
2.9k
WordPress Playground for Developers
iambherulal
0
110
令和トラベルにおけるコンテンツ生成AIアプリケーション開発の実践
ippo012
1
220
なぜselectはselectではないのか
taiyow
2
170
Devin , 正しい付き合い方と使い方 / Living and Working with Devin
yukinagae
1
460
OUPC2024 Day 1 解説
kowerkoint
0
370
Featured
See All Featured
Mobile First: as difficult as doing things right
swwweet
223
9.5k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
12k
Thoughts on Productivity
jonyablonski
69
4.5k
Optimizing for Happiness
mojombo
377
70k
Building Your Own Lightsaber
phodgson
104
6.3k
Producing Creativity
orderedlist
PRO
344
40k
Embracing the Ebb and Flow
colly
84
4.6k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Six Lessons from altMBA
skipperchong
27
3.7k
Faster Mobile Websites
deanohume
306
31k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
14
1k
Music & Morning Musume
bryan
46
6.4k
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!