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
9.9k
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
3.7k
Design Pattern for Image and Text Composition in Go
timakin
5
6.5k
Golang API Testing the HARD way
timakin
13
6.4k
React Native Beyond Prototype
timakin
2
1.6k
Performance Optimization on Google AppEngine
timakin
5
6.1k
testcache.pdf
timakin
1
120
How Go cache
timakin
1
63
How Go cache tests
timakin
1
2.9k
A/Bテスト機構がもたらす 大胆な開発体制及び ゆるやかなアプリ体験の変化 / Architecture and benefits of AB-test allocation system.
timakin
4
7.6k
Other Decks in Programming
See All in Programming
ECS Service Connectのこれまでのアップデートと今後のRoadmapを見てみる
tkikuc
2
250
「今のプロジェクトいろいろ大変なんですよ、app/services とかもあって……」/After Kaigi on Rails 2024 LT Night
junk0612
5
2.1k
どうして僕の作ったクラスが手続き型と言われなきゃいけないんですか
akikogoto
1
120
聞き手から登壇者へ: RubyKaigi2024 LTでの初挑戦が 教えてくれた、可能性の星
mikik0
1
130
詳細解説! ArrayListの仕組みと実装
yujisoftware
0
580
とにかくAWS GameDay!AWSは世界の共通言語! / Anyway, AWS GameDay! AWS is the world's lingua franca!
seike460
PRO
1
860
Remix on Hono on Cloudflare Workers
yusukebe
1
280
リアーキテクチャxDDD 1年間の取り組みと進化
hsawaji
1
220
CSC509 Lecture 11
javiergs
PRO
0
180
Less waste, more joy, and a lot more green: How Quarkus makes Java better
hollycummins
0
100
Webの技術スタックで マルチプラットフォームアプリ開発を可能にするElixirDesktopの紹介
thehaigo
2
1k
LLM生成文章の精度評価自動化とプロンプトチューニングの効率化について
layerx
PRO
2
190
Featured
See All Featured
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
47
2.1k
Designing on Purpose - Digital PM Summit 2013
jponch
115
7k
Become a Pro
speakerdeck
PRO
25
5k
Gamification - CAS2011
davidbonilla
80
5k
The Pragmatic Product Professional
lauravandoore
31
6.3k
Testing 201, or: Great Expectations
jmmastey
38
7.1k
Typedesign – Prime Four
hannesfritz
40
2.4k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
38
1.8k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
25
1.8k
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
The Cost Of JavaScript in 2023
addyosmani
45
6.7k
Building Your Own Lightsaber
phodgson
103
6.1k
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Ͱ৭ɾେ͖͞ͳͲ͕؆୯ʹऔಘͰ͖Δ ϥούʔΛ͑Ճ؆୯ ߹ͷ߹࠲ඪɾॻ͖ग़͠ॲཧͷ࣮͕ར༻έʔεʹԠ͡ ͯมΘͬͯ͘ΔͷͰҙͷඞཁ͋Γ
͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ