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
ソフトウェアエンジニアの入力と出力
Search
Satoshi Tagomori
July 18, 2024
Technology
1
110
ソフトウェアエンジニアの入力と出力
Classmethod ODYSSEY Day 7
Satoshi Tagomori
July 18, 2024
Tweet
Share
More Decks by Satoshi Tagomori
See All by Satoshi Tagomori
Unboxing Ruby Box
tagomoris
4
130
Namespace and Its Future
tagomoris
6
800
さくらのクラウドにおけるCloudNativeのいまとこれから
tagomoris
5
1.1k
State of Namespace
tagomoris
5
8.7k
クラウドサービス事業者におけるOSS
tagomoris
4
2.1k
パブリッククラウドのプロダクトマネジメントとアーキテクト
tagomoris
4
1.3k
2000年てづくりキーボードの旅
tagomoris
1
280
Namespace, Now and Then
tagomoris
0
400
Namespace on read
tagomoris
2
570
Other Decks in Technology
See All in Technology
コールドスタンバイ構成でCDは可能か
hiramax
0
130
人工知能のための哲学塾 ニューロフィロソフィ篇 第零夜 「ニューロフィロソフィとは何か?」
miyayou
0
450
20260114_データ横丁 新年LT大会:2026年の抱負
taromatsui_cccmkhd
0
230
Bill One 開発エンジニア 紹介資料
sansan33
PRO
4
17k
スクラムを一度諦めたチームにアジャイルコーチが入ってどう変化したか / A Team's Second Try at Scrum with an Agile Coach
kaonavi
0
240
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
5
1.5k
「リリースファースト」の実感を届けるには 〜停滞するチームに変化を起こすアプローチ〜 #RSGT2026
kintotechdev
0
980
たかがボタン、されどボタン ~button要素から深ぼるボタンUIの定義について~ / BuriKaigi 2026
yamanoku
1
270
さくらのクラウドでのシークレット管理を考える/tamachi.sre#2
fujiwara3
1
170
Digitization部 紹介資料
sansan33
PRO
1
6.5k
1万人を変え日本を変える!!多層構造型ふりかえりの大規模組織変革 / 20260108 Kazuki Mori
shift_evolve
PRO
6
1.4k
AI Agent Standards and Protocols: a Walkthrough of MCP, A2A, and more...
glaforge
0
290
Featured
See All Featured
Prompt Engineering for Job Search
mfonobong
0
140
Building AI with AI
inesmontani
PRO
1
630
AI Search: Where Are We & What Can We Do About It?
aleyda
0
6.8k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8.5k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.2k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
0
120
Designing Experiences People Love
moore
143
24k
WENDY [Excerpt]
tessaabrams
9
35k
エンジニアに許された特別な時間の終わり
watany
106
230k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
1.5k
Typedesign – Prime Four
hannesfritz
42
2.9k
The SEO Collaboration Effect
kristinabergwall1
0
330
Transcript
ιϑτΣΞΤϯδχΞͷ ೖྗͱग़ྗ Satoshi Tagomori 2024/07/18 Classmethod Odyssey Day 7
@tagomoris Satoshi Tagomori (ా ૱) ιϑτΣΞΤϯδχΞ OSS։ൃऀ Maintainer/Founder: OSS: Fluentd,
MessagePack, Norikra, Woothee, … Event: ISUCON Service: Pathtraq
ུྺ tagomoris • 2006ʙ 2010 SIerͰOSS/ϓϩϓϥΠΤλϦΛΘͣITΠϯϑϥɺԾԽɺDBɺετϨʔδٕज़ • 2010ɿ iPadΞϓϦ։ൃɺAppStoreͰެ։(طʹެ։ఀࢭࡁ) •
2010ʙ2015 ϥΠϒυΞ(ͷͪLINE)ͰITΠϯϑϥɺσʔλੳج൫ɺISUCON։࢝(2011) • 2015ʙ2021 Treasure DataͰσʔλࢄॲཧج൫ɺFluentdϑϧλΠϜ։ൃ(2016ʙ2017) • 2021ʙ2024ɿ ݸਓࣄۀओͱٕͯ͠ज़ސɺαʔϏε։ൃɺॻ੶ࣥචɺOSS։ൃ
ུྺ tagomorisɿ ITΠϯϑϥઐ? σʔλੳج൫ઐ? • 2006ʙ 2010 SIerͰOSS/ϓϩϓϥΠΤλϦΛΘͣITΠϯϑϥɺԾԽɺDBɺετϨʔδٕज़ • 2010ɿ
iPadΞϓϦ։ൃɺAppStoreͰެ։(طʹެ։ఀࢭࡁ) • 2010ʙ2015 ϥΠϒυΞ(ͷͪLINE)ͰITΠϯϑϥɺσʔλੳج൫ɺISUCON։࢝(2011) • 2015ʙ2021 Treasure DataͰσʔλࢄॲཧج൫ɺFluentdϑϧλΠϜ։ൃ(2016ʙ2017) • 2021ʙ2024ɿ ݸਓࣄۀओͱٕͯ͠ज़ސɺαʔϏε։ൃɺॻ੶ࣥචɺOSS։ൃ
ೖྗͱग़ྗ ιϑτΣΞΤϯδχΞʹͱͬͯͷೖྗͱग़ྗ
ೖྗͱग़ྗ Inputs and Outputs ओମ ೖྗ ग़ྗ ϓϩάϥϜ σʔλ σʔλ
ϓϩάϥϚʔ ػೳཁ݅ ಈ࡞ཁ݅ ༷ ϓϩάϥϜίʔυ ιϑτΣΞΤϯδχΞ ? ? ਓؒ ঢ়گ ཉٻ ࣝɾܦݧ Ռ ۚમ ࣝɾܦݧ
ೖྗͱग़ྗ Inputs and Outputs ओମ ೖྗ ग़ྗ ϓϩάϥϜ σʔλ σʔλ
ϓϩάϥϚʔ ػೳཁ݅ ಈ࡞ཁ݅ ༷ ϓϩάϥϜίʔυ ιϑτΣΞΤϯδχΞ ? ? ਓؒ ঢ়گ ཉٻ ࣝɾܦݧ Ռ ۚમ ࣝɾܦݧ
ೖྗͱग़ྗ ͳͥͦΜͳͷʹ͢Δͷ? • γεςϜͷ;Δ·͍ΛݟΔ͜ͱϓϩάϥϜͰ͍͠ • ೖྗσʔλͱग़ྗσʔλΛݟͯσόοά • ෦ʹखΛೖΕͯprintσόοάprobeɺtracingͳͲͳͲ • Ͱώτ(ιϑτΣΞΤϯδχΞ)ͷ;Δ·͍Ͳ͏ͬͯݟΔ?
• ෦ʹखΛೖΕΔ • ೖྗͱग़ྗΛݟΔ
ιϑτΣΞΤϯδχΞ Engineer working on Software • ఆٛਓʹΑ͍ͬͯΖ͍Ζ • tagomorisͷࢹɿ ʮιϑτΣΞγεςϜΛத৺ʹΤϯδχΞϦϯάΛߦ͏ਓʯ
• ΤϯδχΞϦϯάɿ ։ൃ(ϓϩάϥϛϯά)ɺ࣮ੈքͷద༻ɺܧଓతͳػೳͱޮͷվળ ར༻ͷଅਐɺվળͷͨΊͷใऩूͱੳɺจॻ࡞ͱߋ৽ ։ൃɾվળܭըɺνʔϜ࡞Γɺใɺ࠾༻ɺ……
ಈػ ͳͥΤϯδχΞϦϯάΛߦ͏ͷ͔? ͳͥιϑτΣΞΤϯδχΞϦϯάΛબΜͩͷ͔?
ಈػ Motivation • ಈػೖྗͷ͜ͱɺग़ྗͷ͜ͱ͋Δ • ग़ྗ͕ಈػͷྫ • ۚમɺརศੑɺ໊༪ɺࣝ(ܦݧ) • ೖྗ͕ಈػͷྫ
• ࣝ(ح৺)
ಈػ Motivation • ಈػೖྗͷ͜ͱɺग़ྗͷ͜ͱ͋Δ • ग़ྗ͕ಈػͷྫ • ۚમɺརศੑɺ໊༪ɺࣝ(ܦݧ) • ೖྗ͕ಈػͷྫ
• ࣝ(ح৺)
ಈػ Motivation • ಈػೖྗͷ͜ͱɺग़ྗͷ͜ͱ͋Δ • ग़ྗ͕ಈػͷྫ • ۚમɺརศੑɺ໊༪ɺࣝ(ܦݧ) • ೖྗ͕ಈػͷྫ
• ࣝ(ح৺) ָ͠Έ ָ͠Έ
ࣗΛΔ ͳΜͱͳ͓ۚ͘ͷͨΊʹੜ͖Δɿ͢Β͍͠ ͕ ͏ͪΐͬͱ͚ͩਓੜʹϓϥεͷԿ͔͕͍͍͋ͬͯ
tagomoris: 2021 ʙ 2024 ओʹͬͨ͜ͱ • (ٕज़ސ 2021ʙ ࣾ) •
ॻ੶ࣥච 2021ʙ2022 • αʔϏε։ൃ 2022ʙ2023 • OSS։ൃ 2023ʙ2024
࣮ྫ1 ٕज़ॻग़൛
౷߹ϩάج൫ͷͨΊͷσʔλऩूπʔϧ • ٕज़ධࣾ, 2022/10/08ൃച A5ʗ544ϖʔδ https://gihyo.jp/book/2022/978-4-297-13109-8 Fluentd࣮ફೖ
࣮ྫ1: ٕज़ॻग़൛ Fluentd࣮ફೖͷࣥචɾग़൛ • ݩ2017͘Β͍͔Βͷاըͱݪߘ • ϑϧλΠϜͰಇ͍͍ͯͨͱ͖ʹͱͯͤ͞ΒΕͳ͔ͬͨ • ʮ͜ͷػձʹઈରʹग़ͯ͠ऴΘΓʹ͍ͨ͠ʯ •
୯ஶͱͯ͠ͷࣥචܦݧ • ࡶࢽهࣄଟ͘ܦݧ͋Γ • ڞஶͰͷ୯ߦຊࣥචͰϙγϟͬͨܦݧ͕͋ͬͯͪΐͬͱτϥϚ
࣮ྫ1: ٕज़ॻग़൛ Fluentd࣮ફೖͷࣥචɾग़൛ • ೖྗ • Fluentdʹؔ͢Δݩʑͷࣝͱܦݧɺ࠷৽ͷFluentdʹؔ͢Δߋ৽ใ • ग़ྗ •
࣮ͱ໊༪(୯ஶ) • ܦݧɿٕज़ॻͷॻ͖͔ͨɺٕज़ใͷจॻԽͷํ๏
࣮ྫ2 ݸਓαʔϏεͷ։ൃɾެ։
https://pathtraq.tagomor.is/
࣮ྫ2: ݸਓαʔϏεͷ։ൃɾެ։ Pathtraq • ࣗͷҐஔใΛ24x365ͰอଘɾݕࡧͰ͖ΔiPhoneΞϓϦ • ͕͍ࣗͭͲ͜ʹ͍͔ͨɺͲ͜ʹ͍͍͔ͭͨΛௐ͍ͨ • νΣοΫΠϯػೳ •
ͯ͢ΛࣗͰ࡞Δ • αʔόαΠυ͔ΒΫϥΠΞϯταΠυ·Ͱɺݱߦٕज़ͻͱηοτͷϦαʔν • ։ൃɺUI/UXσβΠϯɺར༻نɺAppStoreެ։ͳͲͷύΠϓϥΠϯશମ
࣮ྫ2: ݸਓαʔϏεͷ։ൃɾެ։ Pathtraq • ೖྗ • ReactɺSwiftUIͳͲͷ֤ϥΠϒϥϦɾϑϨʔϜϫʔΫ • FigmaʹΑΔUI/UXσβΠϯϓϩηε •
֤ࠃɾํ͚ར༻نɾϓϥΠόγʔϙϦγʔ࡞ϊϋ • ग़ྗ • ࣗͷ͍͍ͨαʔϏε
࣮ྫ3 OSS(Rubyͷύον)։ൃ
https://bugs.ruby-lang.org/issues/19744 https://rubykaigi.org/2024/presentations/tagomoris.html
Collision: 2 versions of 1 library cause errors Ruby Process
Library Code DB::Client (v3) 😵 Application Code App::Func User Library Code DB::Client (v2) Library Code ActiveSupport (v7) Before Namespace: Global Only
Ruby Process Namespace Hide changes from apps/libs in a namespace
to other spaces Namespace Application Code App::Func User Library Code DB::Client (v2) Library Code ActiveSupport (v7) Library Code DB::Client (v3) 😀
࣮ྫ3: OSS։ൃ Rubyʹ͓͚ΔNamespace։ൃ • Rubyʹ͓͚ΔίʔυִػೳͷఏҊ • ଞͷݴޠͰ͍͏ύοέʔδػೳతͳͷ(ͷϕʔεͱͳΔػೳ) • ࠐΈΫϥεʹର͢ΔϞϯΩʔύονNamespaceʹӨڹΛݶఆ •
ݱࡏఏҊɾ։ൃத • ͍ͪݸਓRubyϢʔβͱͯ͠ఏҊ͠ɺ։ൃ͍ͯ͠Δ • ͕ॆʹΑ͘ͳΕRubyʹೖΔ͔?
࣮ྫ3: OSS։ൃ Rubyʹ͓͚ΔNamespace։ൃ • ೖྗ • Rubyͷݴޠ༷ɺRubyVMͷ෦࣮ • ݴޠॲཧܥͷ࠷దԽख๏ •
Cݴޠ • ग़ྗ • ͕ࣗཉ͍͠ػೳ͕ೖͬͨRuby (ະୡ)
ࣗΛΔ ͳΜͱͳ͓ۚ͘ͷͨΊʹੜ͖Δɿ͢Β͍͠ ͕ ͏ͪΐͬͱ͚ͩਓੜʹϓϥεͷԿ͔͕͍͍͋ͬͯ
None
ࣗΛΔ ԿͷͨΊʹ? • ಈػʮଞͷਓʹͱͬͯʯͳΜͰ͍͍ • ଞਓग़ྗ͚ͩΛݟΔ • ಈػίϯτϩʔϧͰ͖Δ • ೖྗͱग़ྗΛదʹઃఆ͢Δ
• ࣋ଓՄೳͳಈػͱɺ࣋ଓෆՄೳͳಈػ͕͋Δ • ಈػΛదʹ࣋ͯΕɺָ͍͠։ൃΛܧଓతʹΕΔ
Linus Torvalds “Just For Fun” Thank you for listening!