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
Haconiwaが越えたあの夏 / haconiwa-for-3-years
Search
KONDO Uchio
November 30, 2019
Technology
3
2.3k
Haconiwaが越えたあの夏 / haconiwa-for-3-years
@鹿児島Ruby会議01
KONDO Uchio
November 30, 2019
Tweet
Share
More Decks by KONDO Uchio
See All by KONDO Uchio
大規模レガシーテストを 倒すための CI基盤の作り方 / #CICD2023
udzura
5
2.3k
Ruby x BPF in Action / RubyKaigi 2022
udzura
0
190
Narrative of Ruby & Rust
udzura
0
170
開発者生産性指標の可視化 / pepabo-four-keys
udzura
3
1.6k
Talk of RBS
udzura
0
390
Re: みなさん最近どうですか? / FGN tech meetup in 2021
udzura
0
710
Dockerとやわらかい仮想化 - ProSec-IT/SECKUN 2021 edition -
udzura
2
670
Device access filtering in cgroup v2
udzura
1
770
"Story of Rucy" on RubyKaigi takeout 2021
udzura
0
720
Other Decks in Technology
See All in Technology
オープンソースAIとは何か? --「オープンソースAIの定義 v1.0」詳細解説
shujisado
4
530
Shopifyアプリ開発における Shopifyの機能活用
sonatard
4
250
ISUCONに強くなるかもしれない日々の過ごしかた/Findy ISUCON 2024-11-14
fujiwara3
8
860
B2B SaaSから見た最近のC#/.NETの進化
sansantech
PRO
0
670
強いチームと開発生産性
onk
PRO
33
11k
New Relicを活用したSREの最初のステップ / NRUG OKINAWA VOL.3
isaoshimizu
2
570
安心してください、日本語使えますよ―Ubuntu日本語Remix提供休止に寄せて― 2024-11-17
nobutomurata
0
980
Terraform CI/CD パイプラインにおける AWS CodeCommit の代替手段
hiyanger
1
240
Making your applications cross-environment - OSCG 2024 NA
salaboy
0
180
元旅行会社の情シス部員が教えるおすすめなre:Inventへの行き方 / What is the most efficient way to re:Invent
naospon
2
330
【Startup CTO of the Year 2024 / Audience Award】アセンド取締役CTO 丹羽健
niwatakeru
0
870
データプロダクトの定義からはじめる、データコントラクト駆動なデータ基盤
chanyou0311
2
280
Featured
See All Featured
Making the Leap to Tech Lead
cromwellryan
133
8.9k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
26
2.1k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
We Have a Design System, Now What?
morganepeng
50
7.2k
Building Your Own Lightsaber
phodgson
103
6.1k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
329
21k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.9k
GitHub's CSS Performance
jonrohan
1030
460k
A better future with KSS
kneath
238
17k
Thoughts on Productivity
jonyablonski
67
4.3k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.3k
Faster Mobile Websites
deanohume
305
30k
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