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
500
Go言語低レイヤー入門 Hello world が 画面に表示されるまで / Introduction to low level programming in Go
dqneo
6
1.6k
入門Go言語仕様 / Go Specification Untyped Constants
dqneo
1
1.2k
入門Go言語仕様 Underlying Type / Go Language Underlying Type
dqneo
9
4.9k
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.4k
Other Decks in Programming
See All in Programming
一緒に働きたくなるプログラマの思想 #QiitaConference
mu_zaru
82
21k
エンジニアが挑む、限界までの越境
nealle
1
330
Cursorを活用したAIプログラミングについて 入門
rect
0
230
iOSアプリで測る!名古屋駅までの 方向と距離
ryunakayama
0
160
2025-04-25 GitHub Copilot Agent ライブデモ(スクリプト)
goataka
0
120
生成AIで知るお願いの仕方の難しさ
ohmori_yusuke
1
120
個人開発の学生アプリが企業譲渡されるまで
akidon0000
2
1.2k
事業KPIを基に価値の解像度を上げる
nealle
0
120
AWS Summit Hong Kong 2025: Reinventing Programming - How AI Transforms Our Enterprise Coding Approach
dwchiang
0
140
「MCPを使ってる人」が より詳しくなるための解説
yamaguchidesu
0
220
開発者フレンドリーで顧客も満足?Platformの秘密
algoartis
0
230
REALITY コマンド作成チュートリアル
nishiuriraku
0
120
Featured
See All Featured
Why You Should Never Use an ORM
jnunemaker
PRO
56
9.4k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
19
1.2k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
129
19k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
60k
It's Worth the Effort
3n
184
28k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
12k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
14
1.5k
Fireside Chat
paigeccino
37
3.4k
[RailsConf 2023] Rails as a piece of cake
palkan
54
5.5k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
48
5.4k
Reflections from 52 weeks, 52 projects
jeffersonlam
349
20k
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࠷ߴʂʂ̍