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
プロパティベーステストによるUIテスト: LLMによるプロパティ定義生成でエッジケースを捉える
tetta_pdnt
0
310
HTMLの品質ってなんだっけ? “HTMLクライテリア”の設計と実践
unachang113
4
2.8k
OSS開発者という働き方
andpad
5
1.7k
機能追加とリーダー業務の類似性
rinchoku
2
1.3k
Amazon RDS 向けに提供されている MCP Server と仕組みを調べてみた/jawsug-okayama-2025-aurora-mcp
takahashiikki
1
110
「待たせ上手」なスケルトンスクリーン、 そのUXの裏側
teamlab
PRO
0
500
プロポーザル駆動学習 / Proposal-Driven Learning
mackey0225
2
1.3k
基礎から学ぶ大画面対応(Learning Large-Screen Support from the Ground Up)
tomoya0x00
0
420
Compose Multiplatform × AI で作る、次世代アプリ開発支援ツールの設計と実装
thagikura
0
140
もうちょっといいRubyプロファイラを作りたい (2025)
osyoyu
1
430
私の後悔をAWS DMSで解決した話
hiramax
4
210
AIコーディングAgentとの向き合い方
eycjur
0
270
Featured
See All Featured
Navigating Team Friction
lara
189
15k
A designer walks into a library…
pauljervisheath
207
24k
Git: the NoSQL Database
bkeepers
PRO
431
66k
Context Engineering - Making Every Token Count
addyosmani
1
37
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.4k
Producing Creativity
orderedlist
PRO
347
40k
Writing Fast Ruby
sferik
628
62k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.5k
Building Adaptive Systems
keathley
43
2.7k
Speed Design
sergeychernyshev
32
1.1k
Intergalactic Javascript Robots from Outer Space
tanoku
272
27k
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࠷ߴʂʂ̍