Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Haconiwaが越えたあの夏 / haconiwa-for-3-years
Search
KONDO Uchio
November 30, 2019
Technology
2.8k
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Haconiwaが越えたあの夏 / haconiwa-for-3-years
@鹿児島Ruby会議01
KONDO Uchio
November 30, 2019
More Decks by KONDO Uchio
See All by KONDO Uchio
大規模レガシーテストを 倒すための CI基盤の作り方 / #CICD2023
udzura
5
2.6k
Ruby x BPF in Action / RubyKaigi 2022
udzura
0
340
Narrative of Ruby & Rust
udzura
0
280
開発者生産性指標の可視化 / pepabo-four-keys
udzura
3
1.9k
Talk of RBS
udzura
0
520
Re: みなさん最近どうですか? / FGN tech meetup in 2021
udzura
0
870
Dockerとやわらかい仮想化 - ProSec-IT/SECKUN 2021 edition -
udzura
2
830
Device access filtering in cgroup v2
udzura
1
1.1k
"Story of Rucy" on RubyKaigi takeout 2021
udzura
0
960
Other Decks in Technology
See All in Technology
キヨさん67歳 AIコーディングエージェント物語
happysamurai294
0
130
Microsoft のサポート ライフサイクルを理解する
murachiakira
PRO
0
240
AIで選択肢が広がった組織設計の理想と現実
konifar
17
7k
Deep Data Security 機能解説
oracle4engineer
PRO
3
970
How we choose session proposals
kawaguti
PRO
1
190
AIコーディングエージェント開発_全体像
happysamurai294
0
130
増え続けるプロダクトの品質をどう担保するか。ProductSpecとTypeScriptによる取り組み
joere
2
220
データマネジメント × 法務で作りあげる、 freeeの新しいデータガバナンスへの軌跡
freee
PRO
2
570
(swiftc) NonCopyableとライフタイム修飾子
teamhimeh
0
160
【Oracle AI SPOTLIGHT ウェビナー】事例から見る!なぜOCIが選ばれたのか ― AI時代のクラウド戦略を紐解く ―
oracle4engineer
PRO
1
130
新米を「売り越さない」、Aurora DSQLで作る在庫ゼロ死守の限定ドロップEC
yama3133
0
110
AI時代、つくる力を自分たちの手に。 ──電通×KAG、アジャイルとAI駆動開発で挑む開発の変革
yuukiyo
3
430
Featured
See All Featured
The Cost Of JavaScript in 2023
addyosmani
55
10k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
35
2.9k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
650
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
290
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
2
960
Fantastic passwords and where to find them - at NoRuKo
philnash
53
4k
Large-scale JavaScript Application Architecture
addyosmani
516
110k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.6k
It's Worth the Effort
3n
188
29k
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.6k
Transcript
ؒΛৼΓฦΔ 1SFTFOUBUJPOCZ6DIJP,POEP ࣛࣇౡ3VCZձٞ )BDPOJXB͕ӽ͑ͨ͋ͷՆ 1IPUPCZ!VNB[VSB
ࣛࣇౡ ։࠵͓ΊͰͱ͏͍͟͝·͢ʂ
Engineer @ GMO Pepabo, Inc. Uchio Kondo / @udzura https://blog.udzura.jp/
* ࡾՏਓɺԬࡏॅ * νϣοτσΩϧ: Rubyɺίϯςφɺγεϓϩ * झຯ: DuolingoʢೠҴয, ݱე, español...ʣ * εϓϥτΡʔϯҾୀ͠·ͨ͠
None
Yίϯςφ
None
None
None
None
"CSJFGIJTUPSZPG )BDPOJXB
None
5FO'PSXBSE͞Μ wίϯςφΛߏ͢Δ ٕज़ʹ͍ͭͯΔ
wγϯάϧεϨου wγεϓϩͱͷ૬ੑ
w'JSTU13
None
w࠷ॳͷهࣄ CZNBUTVNPUPSZ
'BTU$POUBJOFS wϦΫΤετ୯ҐͰίϯςφىಈɺҰఆظؒͰఀࢭFH 'BTU $(* w࠶ੜΛ܁Γฦ͠ঢ়ଶΛ࣋ͨͤͳ͍
*NQMFNFOUUJNFSIPPLT w'BTU$POʹ ඞཁͳػೳΛ ἧ͑࢝ΊΔ
'BTU$POUBJOFSͰ αʔϏεΛ
3PBEUPQSPEVDUJPO
d wϓϩηεϨΠΞτ ઓུͷมߋ ʢͷ͖͔͚ͬʣ
1SPDFTTMBZPVUDIBOHF haconiwa `-- container haconiwa `-- haconiwa `-- container #FGPSF
"GUFS
1SPDFTTMBZPVUDIBOHF haconiwa `-- haconiwa `-- container ϑοΫॲཧΛ࢘Δ ҙͷίϯςφ ʢ)BDPOJXBͰதʹؔ༩Ͱ͖ͳ͍ʣ શͯͷΤϥʔΛΩϟον͢Δ͜ͱʹूத
MJCVWUISFBE wґଘͱ ϥΠϒϥϦαΠζͷ ݮ
4&(7 wNSVCZUISFBEͷΞʔΩςΫνϟͱίϯΧϨϯγʔɺ($ͷབྷΈ߹͍
w'JCFSͰϫʔΧͱ γάφϧΛཧʂ wίϯΧϨϯγʔͷ ͕ͳ͘ͳΓ҆ఆ
/FYU5BTL
DIFDLQPJOUSFTUPSF $3*6 'PSGBTUFSCPPUTUSBQ
ىಈߴԽ wʮҰ͔ΒʯͰͳ͘ wϝϞϦμϯϓΛ ࣄલʹͱͬͯ ͔ͦ͜Βىಈ͍ͨ͠ wDGCPPUTOBQ
d
1SPEVDUJPO 'FBUVSFCSBODIͷฒߦ
$3*63FBEZ -JOVYͷσʔϞϯͱͯ͠ͷਖ਼͠͞ wFHFYFDWFޙͷGEͷΫϩʔζॲཧ 0@$-0&9&$ ɺ ηογϣϯϦʔμʔԽɺϩάͷ0@3%830@830/-:Խɺ
FH0@$-0&9&$ରԠ fd -> 0, 1, 2, 3, 4, 5... fd
-> 0, 1, 2, 3, 4, 5... fd -> 0, 1, 2, 3, 4, 5... GPSL FYFDWF ෆཁͳGE͕Δ fd -> 0, 1, 2, 3, 4, 5... fd -> 0, 1, 2, 3, 4, 5... fd -> 0, 1, 2, 3, 4, 5... GPSL FYFDWF ͷΈ fcntl(fd, F_SETFD, flg | FD_CLOEXEC)
wҰ௨Γ࣮ ౷߹ྃʂ
#VU TUJMMJOFYQFSJFODF 8PSLTJOTUBHJOH
(SFOBEJOF!3VCZ,BJHJ
'VUVSFPG)BDPOJXB
࣍ੈίϯςφٕज़ͷ ࣮ݧ
64%5F#1' w-JOVYͷτϨʔεٕज़ w3VCZ͔Β͍͍ͨ ʢ3C#$$! ɹ3VCZ(SBOUʣ wΧελϜϓϩʔϒΛ )BDPOJXBʹຒΊ͍ͨ
$HSPVQW14* w࣍ੈ ෛՙࢦඪ wίϯςφ୯Ґ Ϧιʔεผʹ Θ͔Δ
':*NPCZPO$(SPVQW
8IBU*MFBSOFE
$PNCJOBUJPOJT UIFTFFEPG*OOPWBUJPO
ΞΠσΞΈ߹Θͤ wΈ߹ΘͤΔʹӽڥ͢Δ w3VCZΛߴΊɺ͏ҰͭͷࢁΛߴΊΔ w3VCZͷྗͰӽڥ͢Δ IUUQTTDSBQCPYJPOJTIJPΤϯδχΞͷͨΊͷࣗܦӦઓུ
͋ͳͨͷڵຯʹ ʮ3VCZʯΛֻ͚߹ΘͤͯΈΑ͏
5IBOLT