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
480
Go言語低レイヤー入門 Hello world が 画面に表示されるまで / Introduction to low level programming in Go
dqneo
6
1.5k
入門Go言語仕様 / Go Specification Untyped Constants
dqneo
1
1.2k
入門Go言語仕様 Underlying Type / Go Language Underlying Type
dqneo
9
4.8k
How to write a self hosted Go compiler from scratch (Gophercon 2020)
dqneo
3
1.5k
もっと気軽にOSSに Pull Requestを出そう!/ Let's make a PR to OSS more easily
dqneo
6
8.2k
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
Introduction to kotlinx.rpc
arawn
0
750
未経験でSRE、はじめました! 組織を支える役割と軌跡
curekoshimizu
1
120
From the Wild into the Clouds - Laravel Meetup Talk
neverything
0
100
ARA Ansible for the teams
kksat
0
170
新宿駅構内を三人称視点で探索してみる
satoshi7190
2
110
Domain-Driven Transformation
hschwentner
2
1.9k
責務と認知負荷を整える! 抽象レベルを意識した関心の分離
yahiru
8
1.3k
PHPのバージョンアップ時にも役立ったAST
matsuo_atsushi
0
210
Grafana Loki によるサーバログのコスト削減
mot_techtalk
1
140
メンテが命: PHPフレームワークのコンテナ化とアップグレード戦略
shunta27
0
280
『テスト書いた方が開発が早いじゃん』を解き明かす #phpcon_nagoya
o0h
PRO
6
2.2k
Better Code Design in PHP
afilina
0
160
Featured
See All Featured
Optimising Largest Contentful Paint
csswizardry
34
3.1k
Optimizing for Happiness
mojombo
376
70k
YesSQL, Process and Tooling at Scale
rocio
172
14k
How to train your dragon (web standard)
notwaldorf
91
5.9k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Rails Girls Zürich Keynote
gr2m
94
13k
The Cult of Friendly URLs
andyhume
78
6.2k
Mobile First: as difficult as doing things right
swwweet
223
9.4k
What's in a price? How to price your products and services
michaelherold
244
12k
Designing for humans not robots
tammielis
250
25k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.4k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
366
25k
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࠷ߴʂʂ̍