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
Head First Golang Image Package
Search
Seiji Takahashi
November 13, 2018
Programming
2
10k
Head First Golang Image Package
Talk session @ golang.tokyo #19
Seiji Takahashi
November 13, 2018
Tweet
Share
More Decks by Seiji Takahashi
See All by Seiji Takahashi
Go Backends for frontends with GraphQL and gRPC
timakin
6
4.1k
Design Pattern for Image and Text Composition in Go
timakin
5
6.7k
Golang API Testing the HARD way
timakin
13
6.7k
React Native Beyond Prototype
timakin
2
1.7k
Performance Optimization on Google AppEngine
timakin
5
6.4k
testcache.pdf
timakin
1
160
How Go cache
timakin
1
97
How Go cache tests
timakin
1
3.2k
A/Bテスト機構がもたらす 大胆な開発体制及び ゆるやかなアプリ体験の変化 / Architecture and benefits of AB-test allocation system.
timakin
4
7.8k
Other Decks in Programming
See All in Programming
Reactをクライアントで使わない
yusukebe
7
6.2k
いま中途半端なSwift 6対応をするより、Default ActorやApproachable Concurrencyを有効にしてからでいいんじゃない?
yimajo
2
160
そのpreloadは必要?見過ごされたpreloadが技術的負債として爆発した日
mugitti9
2
2.5k
あなたの知らない「動画広告」の世界 - iOSDC Japan 2025
ukitaka
0
290
パフォーマンスチューニングで Web 技術を深掘り直す
progfay
18
4.8k
OWASP Kansai DAY 2025.09: OSINTにふれてみよう
deka_morita
0
160
defer f()とdefer fの挙動を 誤解していた話
kogamochiduki
2
150
GitHub Actions × AWS OIDC連携の仕組みと経緯を理解する
ota1022
0
220
Current States of Java Web Frameworks at JCConf 2025
kishida
0
490
CSC305 Lecture 03
javiergs
PRO
0
220
階層構造を表現するデータ構造とリファクタリング 〜1年で10倍成長したプロダクトの変化と課題〜
yuhisatoxxx
3
780
複雑化したリポジトリをなんとかした話 pipenvからuvによるモノレポ構成への移行
satoshi256kbyte
0
550
Featured
See All Featured
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
140
34k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
The Straight Up "How To Draw Better" Workshop
denniskardys
237
140k
RailsConf 2023
tenderlove
30
1.2k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
32
2.2k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
9
840
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
2.6k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.4k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
1.2k
Producing Creativity
orderedlist
PRO
347
40k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
657
61k
GitHub's CSS Performance
jonrohan
1032
460k
Transcript
Head First Golang image package @__timakin__ golang.tokyo#19
SEIJI TAKAHASHI
None
ΞδΣϯμ *NBHFύοέʔδͷհ ࣮ྫͰֶͿ*NBHFύοέʔδ ը૾ͷ߹ɾՃ ը૾ͱจࣈͷ߹
QBDLBHFl*NBHFz w %ը૾Λѻ͏ͨΊͷύοέʔδ w +1( 1/( (*'ʹରԠ w Ͱ͖Δ͜ͱ w
৭ใऔಘ w 1PJOU 3FDUBOHMFͷૢ࡞ w ݁߹ॲཧʢESBXʣ w ϑΥʔϚοτͷσίʔυ
ྫʣͷ࢛֯ܗΛඳը
ϞβΠΫ γϟʔϓௐ ໌Δ͞ௐ ͳͲɺେମΓ͍ͨ͜ͱͰ͖Δ͕ ίʔυྔ͕ଟ͗͢ΔͷͰׂѪ
ͱ͍͏͔
ؙ࢛֯ͷඳըͱ͔ Ṗͷ৭ௐͱ͔
ͦΜͳ͜ͱͨͯ͘͠ ͜͜ʹ͖ͯ·͔͢ʁ
࣮ફͯ͠Έ·͠ΐ͏ʂ
ը૾ͷ߹ɾՃ
ͱ͜ΖͰօ͞Μ
!EFFFFU͞Μɻ ࠃͰϚΠΫϩαʔϏεͱ ͍͑͜ͷํɻ
Ͱ͕͢ɺ
ˌEFFFFU෩
None
खʹ࣋ͬͨΦϒδΣΫτʢʣΛ தԝʹਾ͑ͳ͕Β ࣸਅΛࡱΔࡱӨٕ๏ʢʁʣ
!?
खʹ࣋ͬͨΦϒδΣΫτʢʣΛ தԝʹਾ͑ͳ͕Β ࣸਅΛࡱΔࡱӨٕ๏ʢʁʣ
ͦΜͳʹखʹ͓͠ΌΕͳ Λ࣋ͭػձͳ͍
୭Ͱख๏Λ࠶ݱͰ͖Δͱศར
None
ɿW
Γ͍ͨ͜ͱ w Ͱ͍͍ײ͡ͷงғؾΛग़͍ͨ͠ w ͦΕΛखʹ࣋ͬͨঢ়ଶͰதԝʹఴ͍͑ͨ w ʹϑΥʔΧε͍ͯ͠Δ෩ʹ͍ͨ͠
ඞཁͳͷ w खɺɺഎܠ
ΦϦδφϧ
ඞཁͳͱ͜Ζ
దͳഎܠΛ୳͢
ݟ͚ͭΔ
࣮ w ྆ը૾ͷಡΈࠐΈ w എܠʹదͳ΅͔͠ΛೖΕΔ w खͷը૾Λਃ͠༁ఔʹαΠζௐ͢Δ w खट͕ࠨԼʹདྷΔΑ͏ʹͬ͢ͱ߹ w
ϑΝΠϧग़ྗ
HJUIVCDPNEJTJOUFHSBUJPOJNBHJOH w JNBHFύοέʔδͷϥούʔ w ΅͔͠໌ௐ͕ͷ͍͢͝؆୯ʹͰ͖Δ
ਃ͠༁ఔͷαΠζௐ
ͬ͢ͱࠨԼʹ߹
ग़ྗʜ
None
ը૾ͷ߹ɾՃ w HJUIVCDPNEJTJOUFHSBUJPOJNBHJOHΛ͏ ͱ͍ͩͿָʹ΅͔͠ͳͲΛೖΕΒΕΔ w ߹ͷࡍج४͕ࠨ্Ͱ͋Δ͜ͱʹҙ w ਖ਼༧֎ͷͦΕͬΆ͞ʹͳͬͨ
ˠਅ໘ͳ
αʔϏεӡ༻தɺ Ϛʔέࢪࡦͱͯ͠0(1ը૾Λ ࡞͢Δ͜ͱ͕͋ΔͷͰʁ
ը૾ͱจࣈͷ߹
Γ͍ͨ͜ͱ w 0(1എܠը૾ʹจࣈΛ߹͢Δ w ҙͷจࣈྻΛҙͷϑΥϯτͰɺ దͳҐஔʹදࣔ͢Δ
ૉࡐ
࣮ w ҙͷϑΥϯτΛಡΈࠐΉ w ͦͷϑΥϯτͰςΩετΛҙͷҐஔʹඳը w എܠͱॏͶ߹Θͤͯॻ͖ग़͠
HJUIVCDPNHPMBOHGSFFUZQFUSVFUZQF w ҙͷϑΥϯτͰςΩετΛҙͷҐஔʹग़͢ʹɺ ௨ৗͷը૾ՃͰෆՄɻ w GSFFUZQFύοέʔδΛ͏ɻ
ϑΥϯτͷಡΈࠐΈ
എܠΛॻ͖ग़͓ͯ͘͠
GPOU%SBXFSΛͬͨςΩετඳը
ग़ྗʜ
ग़ྗʜ
ը૾ͱจࣈͷ߹ w ϑΥϯτҐஔௐΛॊೈʹ͍ͨ͠߹ɺ GSFFUZQFύοέʔδͱGPOU%SBXMFSͷ߹Θٕͤ Ͱ͍͚Δ w ը૾ͷͲͷҐஔʹදࣔ͢Δ͔ɺจࣈͷંΓฦ͠ Ͳ͏͢Δ͔దٓௐͷඞཁ͋Γ
·ͱΊ JNBHFͰ৭ɾେ͖͞ͳͲ͕؆୯ʹऔಘͰ͖Δ ϥούʔΛ͑Ճ؆୯ ߹ͷ߹࠲ඪɾॻ͖ग़͠ॲཧͷ࣮͕ར༻έʔεʹԠ͡ ͯมΘͬͯ͘ΔͷͰҙͷඞཁ͋Γ
͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ