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
540
Go言語低レイヤー入門 Hello world が 画面に表示されるまで / Introduction to low level programming in Go
dqneo
6
1.7k
入門Go言語仕様 / Go Specification Untyped Constants
dqneo
1
1.3k
入門Go言語仕様 Underlying Type / Go Language Underlying Type
dqneo
9
5.1k
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
15k
コンパイラをつくってみよう / How to make a compiler
dqneo
9
11k
コンパイラ作りの魅力を語る / Making compilers is fun
dqneo
10
8.5k
Other Decks in Programming
See All in Programming
rage against annotate_predecessor
junk0612
0
170
複雑なフォームに立ち向かう Next.js の技術選定
macchiitaka
2
140
Introducing ReActionView: A new ActionView-compatible ERB Engine @ Rails World 2025, Amsterdam
marcoroth
0
690
複雑なドメインに挑む.pdf
yukisakai1225
5
1.2k
アセットのコンパイルについて
ojun9
0
130
テストコードはもう書かない:JetBrains AI Assistantに委ねる非同期処理のテスト自動設計・生成
makun
0
320
アプリの "かわいい" を支えるアニメーションツールRiveについて
uetyo
0
270
GitHubとGitLabとAWS CodePipelineでCI/CDを組み比べてみた
satoshi256kbyte
4
240
パッケージ設計の黒魔術/Kyoto.go#63
lufia
3
440
Rancher と Terraform
fufuhu
2
550
FindyにおけるTakumi活用と脆弱性管理のこれから
rvirus0817
0
520
Ruby Parser progress report 2025
yui_knk
1
450
Featured
See All Featured
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
36
2.5k
Building an army of robots
kneath
306
46k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Rails Girls Zürich Keynote
gr2m
95
14k
Site-Speed That Sticks
csswizardry
10
820
The Cult of Friendly URLs
andyhume
79
6.6k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.5k
Mobile First: as difficult as doing things right
swwweet
224
9.9k
How to train your dragon (web standard)
notwaldorf
96
6.2k
Typedesign – Prime Four
hannesfritz
42
2.8k
Visualization
eitanlees
148
16k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
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࠷ߴʂʂ̍