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
introduction to Amazon::S3::Thin
Search
DQNEO
September 14, 2018
Programming
2
2.5k
introduction to Amazon::S3::Thin
Amazon::S3::Thin というモジュールを作ったので紹介です。
DQNEO
September 14, 2018
Tweet
Share
More Decks by DQNEO
See All by DQNEO
英和辞書付きGo言語仕様書 / Word Wise Go Spec
dqneo
1
530
Go言語低レイヤー入門 Hello world が 画面に表示されるまで / Introduction to low level programming in Go
dqneo
6
1.6k
入門Go言語仕様 / Go Specification Untyped Constants
dqneo
1
1.3k
入門Go言語仕様 Underlying Type / Go Language Underlying Type
dqneo
9
5k
How to write a self hosted Go compiler from scratch (Gophercon 2020)
dqneo
3
1.6k
もっと気軽にOSSに Pull Requestを出そう!/ Let's make a PR to OSS more easily
dqneo
6
8.3k
Goコンパイラをゼロから作ってセルフホスト達成するまで / How I wrote a self hosted Go compiler from scratch
dqneo
15
14k
コンパイラをつくってみよう / How to make a compiler
dqneo
9
11k
コンパイラ作りの魅力を語る / Making compilers is fun
dqneo
10
8.5k
Other Decks in Programming
See All in Programming
ソフトウェア品質を数字で捉える技術。事業成長を支えるシステム品質の マネジメント
takuya542
1
3k
Blazing Fast UI Development with Compose Hot Reload (droidcon New York 2025)
zsmb
1
280
“いい感じ“な定量評価を求めて - Four Keysとアウトカムの間の探求 -
nealle
1
2.4k
RailsGirls IZUMO スポンサーLT
16bitidol
0
140
システム成長を止めない!本番無停止テーブル移行の全貌
sakawe_ee
1
160
XP, Testing and ninja testing
m_seki
3
220
WindowInsetsだってテストしたい
ryunen344
1
230
都市をデータで見るってこういうこと PLATEAU属性情報入門
nokonoko1203
1
590
生成AIコーディングとの向き合い方、AIと共創するという考え方 / How to deal with generative AI coding and the concept of co-creating with AI
seike460
PRO
1
350
Goで作る、開発・CI環境
sin392
0
190
プロダクト志向ってなんなんだろうね
righttouch
PRO
0
180
ruby.wasmで多人数リアルタイム通信ゲームを作ろう
lnit
3
350
Featured
See All Featured
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
940
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
22k
Gamification - CAS2011
davidbonilla
81
5.3k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
5
240
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
Facilitating Awesome Meetings
lara
54
6.4k
Building Flexible Design Systems
yeseniaperezcruz
328
39k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.5k
Documentation Writing (for coders)
carmenintech
72
4.9k
Building Applications with DynamoDB
mza
95
6.5k
Measuring & Analyzing Core Web Vitals
bluesmoon
7
500
Transcript
!%2/&0 Ͳ͖ΎͶ͓ BU.FSDBSJ *OD SPQQPOHJQN "NB[PO45IJO ͷհ
w "NB[PO45IJOͷհ w ։ൃͷಈػ w ઃܭ͢Δͱ͖ʹߟ͑ͨ͜ͱ ΞδΣϯμ
"NB[PO4 w "84ͷετϨʔδαʔϏε w Ұछͷ,74 w େ͖ΊͷϑΝΠϧΛେྔอଘ͢Δͷ ʹ͍ͯΔ ը૾ϩάอଘɾը૾ ৴
w )5513&45"1*Ͱૢ࡞
43FTU"1*Λୟ͘ϥΠϒϥϦ w 5IJO w -PXMFWFM w -PXMFBSOJOHDPTU w 4JHOBUVSFWରԠ OFX
"NB[PO45IJO
4:/014*4 όέοτ ໊લۭؒ Λ࡞ SFTQPOTFTDMJFOUQVU@CVDLFU CVDLFU όέοτʹΦϒδΣΫτΛอଘ SFTQPOTFTDMJFOUQVU@PCKFDU CVDLFU
LFZ lIFMMPXPSME ΦϒδΣΫτΛऔಘ SFTQPOTFTDMJFOUHFU@PCKFDU CVDLFU LFZ QSJOUSFTQPOTFDPOUFOUIFMMPXPSME
5IJO SFTTDMJFOUQVU@CVDLFU CVDLFU ෦తʹ͜͏ͳ͍ͬͯΔ SFRTFMG@DPNQPTF@SFRVFTU b165` ʜ SFTVTFS@BHFOUSFRVFTU
SFR SFUVSOSFT
5IJO w )5513FRVFTUΛ࡞Δͱ͜Ζ·Ͱ͕ओͳࣄ w )551௨৴-816TFS"HFOUʹؙ͛ w ϨεϙϯεͷதΛҰؔ͠ͳ͍ w )551YY YYΛΤϥʔѻ͍͠ͳ͍
w ϦτϥΠ͠ͳ͍ w ϨεϙϯεϘσΟͷ9.-Λύʔε͠ͳ͍
5IJOͷޮ༻ w ґଘ͕গͳ͍ 9.-ϥΠϒϥϦʹґଘ͠ͳ͍ɻ w தͰԿΛͬͯΔͷ͔͕༰қʹΘ͔Δ w Կͷ"1*Λୟ͍ͯΔͷ͔ w
ͲΜͳϨεϙϯε͕ฦ͖͔ͬͯͨ w Τϥʔ࣌ͷڍಈΛࣗ༝ʹΊΔ w ϦτϥΠ w ϩΪϯά w EJFPSGBMTF
-PXMFWFM ϝιουݺͼग़͕͠3&45"1*$BMMͱରରԠ SFTTDMJFOUQVU@CVDLFU CVDLFU IUUQTEPDTBXTBNB[PODPN"NB[PO4MBUFTU"1*3&45#VDLFU165IUNM %PDVNFOUͷUJUMFͱશʹҰக
-PXMFBSOJOH$PTU w 43FTU"1*Λୟ͍ͨ͜ͱ͕͋Δਓʹͱֶͬͯ शίετ͍ w BXTDMJͷlBXTTBQJzΛ͏ײ֮Ͱ͑Δ
ར༻࣮ IUUQTHJUIVCDPN%2/&0"NB[PO45IJOQVMMT RJT" w ϒϥδϧɾΞϝϦΧ͔Β13͕ͨ·ʹདྷΔ w ຊͰେنར༻ࣄྫ͋Γ
։ൃͷಈػ w ࣌ɺ/FU"NB[PO4"NB[PO4͕ओྲྀͬΆ͔ͬ ͨ w 1FSMJTI*OUFSGBDF͕ࣗͷ༻్ʹ͍͋ͬͯͳ͔ͬͨ
"NB[PO4*OUFSGBDFT NZCVDLFUTBEE@CVDLFU \CVDLFUCVDLFU@OBNF^ PSEJFTFSSTFSSTUS CVDLFUBEE@LFZ LFZ WBMVF
PSEJFTFSSTFSSTUS
"NB[PO4*OUFSGBDFT NZCVDLFUTBEE@CVDLFU \CVDLFUCVDLFU@OBNF^ PSEJFTFSSTFSSTUS CVDLFUBEE@LFZ LFZ WBMVF
PSEJFTFSSTFSSTUS όέοτ࡞ ΦϒδΣΫτอଘ
"NB[PO4*OUFSGBDFT NZCVDLFUTBEE@CVDLFU \CVDLFUCVDLFU@OBNF^ PSEJFTFSSTFSSTUS CVDLFUBEE@LFZ LFZ WBMVF
PSEJFTFSSTFSSTUS 165#VDLFU 1650CKFDU
"NB[PO4*OUFSGBDFT NZCVDLFUTBEE@CVDLFU \CVDLFUCVDLFU@OBNF^ PSEJFTFSSTFSSTUS CVDLFUBEE@LFZ LFZ WBMVF
PSEJFTFSSTFSSTUS )551$MJFOUXSBQQFS SFTQPOTF ΦϒδΣΫτࢦ Ή͍ͣ ࢲ IUUQDMJFOU
"NB[PO4*OUFSGBDFT NZCVDLFUTBEE@CVDLFU \CVDLFUCVDLFU@OBNF^ PSEJFTFSSTFSSTUS CVDLFUBEE@LFZ LFZ WBMVF
PSEJFTFSSTFSSTUS
"NB[PO4*OUFSGBDFT w 4ΦϒδΣΫτͱ#VDLFUΦϒδΣΫτͷؔʁ w Ͳ͜ͰԿճ௨৴͕ൃੜͯ͠Δʁ w ΤϥʔʹͳΔͷͲ͏͍͏έʔε "NB[PO4ΛGPSLͯ͠*OUFSGBDFΛ࠶ఆٛͯ͠ΈΑ͏ நԽϨΠϠͷഎޙ͕ݟ͑ͣϞϠϞϠ
GPSLFEGSPN"NB[PO4 "NB[PO4 "NB[PO45IJO
4ϥΠϒϥϦͷຊ࣭Կ͔ʁ ࣗͳΓʹߟ͑ͯΈͨ
"NB[PO4ͱԿ͔ʁ 0CKFDU4UPSBHF 8FC"1*
ߟ͑Δώϯτʹͳͬͨͷ w 4ZNGPOZ 1)18"' w 8FC2VFSZ 4DSBQFS
8IBUJT4ZNGPOZ *EPOUMJLF.7$CFDBVTFUIBUTOPUIPXUIF XFCXPSLT4ZNGPOZJTBO)551GSBNFXPSLJU JTB3FRVFTU3FTQPOTFGSBNFXPSL 'PS3&45"1*QSPKFDUT ZPVEPOUOFFEBO.7$ GSBNFXPSL:PVOFFETPNFUIJOHUIBUIBOEMFTB 3FRVFTUBOESFUVSOTB3FTQPOTF IUUQGBCJFOQPUFODJFSPSHXIBUJTTZNGPOZIUNM
4ZNGPOZ JOUFSGBDF)UUQ,FSOFM*OUFSGBDF \ QVCMJDGVODUJPOIBOEMF 3FRVFTUSFRVFTU 3FTQPOTF ^ TSD4ZNGPOZ$PNQPOFOU)UUQ,FSOFM)UUQ,FSOFM*OUFSGBDFQIQ IBOEMFTB3FRVFTUBOESFUVSOTB3FTQPOTF
"NB[PO4ͱԿ͔ʁ )5514FSWFS
4ϥΠϒϥϦͷຊ࣭Կ͔ʁ )551$MJFOU
-816TFS"HFOU SFTQPOTFVBSFRVFTU SFRVFTU ϦΫΤετΛ͛ͯϨεϙϯεΛड͚औΔ
4$MJFOU SFTQPOTFTDMJFOUEP@TPNFIUJOH !QBSBNT ϦΫΤετΛΈཱͯͯ͛ͯϨεϙϯεΛड͚औΔ
8FC2VFSZ ZFUBOPUIFSTDSBQJOHGSBNFXPSL XR IUUQXXXXPSH53IUNM pOE EJWIFBEEU FBDI TVC\
NZJTIJGU QSJOUG ETaO J @UFYU ^
8FC2VFSZ NZR8FC2VFSZOFX@GSPN@VSM VSM NZR8FC2VFSZOFX@GSPN@IUNM IUNM NZR8FC2VFSZOFX@GSPN@pMF pMF@OBNF TDSBQFS͕࣮ͩ௨৴ඞਢͰͳ͍
)5.-BTTUSJOHΛड͚औͬͯΰχϣχϣ͢Δͷ͕ຊ࣭ ˠΘ͔Γ͍͢ɺςετ͕ॻ͖͍͢ ௨৴෦ͱ%0.ૢ࡞͕*'্໌֬ʹ͞Ε͍ͯΔ
4$MJFOU ϦΫΤετΛΈཱͯΔͱ͜·Ͱ͕ϝΠϯλεΫ ௨৴-81ʹؙ͛ ˠ6OJ5FTUͰϦΫΤετͷத͚ͩνΣοΫͯ͠௨৴͠ͳ͍
͜ΕͰ͋ΒΏΔϞϠϞϠ͕͖ͬ͢Γ όέοτΛ࡞ SFTQPOTFTDMJFOUQVU@CVDLFU CVDLFU όέοτʹΦϒδΣΫτΛอଘ SFTQPOTFTDMJFOUQVU@PCKFDU CVDLFU LFZ
lIFMMPXPSME ΦϒδΣΫτΛऔಘ SFTQPOTFTDMJFOUHFU@PCKFDU CVDLFU LFZ
͝ਗ਼ௌ͋Γ͕ͱ͏ ͍͟͝·ͨ͠ NN
͕࣌ؒ༨ͬͯͨΒ ͔͜͜ΒΑͨ
!%2/&0 Ͳ͖ΎͶ͓ BU.FSDBSJ *OD SPQQPOHJQN ͍ͪ1)1FS͕1FSMίϛϡχ ςΟ͔ΒֶΜͩ͜ͱ
ຊͷ1FSM.POHFST ͱʹ͔͘ڧ͍ *TVDPOͰ༏উͨ͠Γ ࡞͕ੈքతʹΘΕͨΓ
1FSMҎ֎ͷݴޠʹਫ਼௨ ͯ͠Δ $(P+BWB+43VCZFUD
ଉΛు͘Α͏ʹ $1"/J[F
$POGFSFODFۦಈ 044։ൃ
Πϯϑϥ 43& ͷਓ $1"/"VUIPSͩͬͨΓ
ΞϓϦέʔγϣϯΤϯδχΞͷਓ ΠϯϑϥΛΈͨΓ
খ͍͞πʔϧΛΈ ߹ΘͤͯͷΛ࡞Δ
5FTUจԽ 10%จԽ
10%ʹֶΛॻ͘
ंྠͷ࠶ൃ໌ ͲΜͲΜΔ
༡ͼ৺ "DNF δϣʔΫϞδϡʔϧ ॲཧܥຊମʹจֶ࡞ͷஅย
IUUQTHJUIVCDPN1FSMQFSMCMPCWSVOD ࢦྠޠͷҾ༻ SVOD
ࢦྠޠͷҾ༻ EVNQD IUUQTHJUIVCDPN1FSMQFSMCMPCWEVNQD
1FSM.POHFST࠷ߴʂʂ̍