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
“Railsな人” のための低レイヤへの招待 / introduction-to-low-le...
Search
KONDO Uchio
May 21, 2021
Technology
8
4.6k
“Railsな人” のための低レイヤへの招待 / introduction-to-low-level-mruby
銀座Rails#34
https://ginza-rails.connpass.com/event/211013/
KONDO Uchio
May 21, 2021
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
200
Narrative of Ruby & Rust
udzura
0
180
開発者生産性指標の可視化 / pepabo-four-keys
udzura
3
1.6k
Talk of RBS
udzura
0
400
Re: みなさん最近どうですか? / FGN tech meetup in 2021
udzura
0
710
Dockerとやわらかい仮想化 - ProSec-IT/SECKUN 2021 edition -
udzura
2
680
Device access filtering in cgroup v2
udzura
1
780
"Story of Rucy" on RubyKaigi takeout 2021
udzura
0
730
Other Decks in Technology
See All in Technology
生成AIをより賢く エンジニアのための RAG入門 - Oracle AI Jam Session #20
kutsushitaneko
4
220
Amazon Kendra GenAI Index 登場でどう変わる? 評価から学ぶ最適なRAG構成
naoki_0531
0
100
スタートアップで取り組んでいるAzureとMicrosoft 365のセキュリティ対策/How to Improve Azure and Microsoft 365 Security at Startup
yuj1osm
0
210
watsonx.ai Dojo #5 ファインチューニングとInstructLAB
oniak3ibm
PRO
0
160
レンジャーシステムズ | 会社紹介(採用ピッチ)
rssytems
0
150
KubeCon NA 2024 Recap: How to Move from Ingress to Gateway API with Minimal Hassle
ysakotch
0
200
組織に自動テストを書く文化を根付かせる戦略(2024冬版) / Building Automated Test Culture 2024 Winter Edition
twada
PRO
13
3.6k
Wantedly での Datadog 活用事例
bgpat
1
430
NW-JAWS #14 re:Invent 2024(予選落ち含)で 発表された推しアップデートについて
nagisa53
0
250
PHPからGoへのマイグレーション for DMMアフィリエイト
yabakokobayashi
1
170
あの日俺達が夢見たサーバレスアーキテクチャ/the-serverless-architecture-we-dreamed-of
tomoki10
0
430
re:Invent をおうちで楽しんでみた ~CloudWatch のオブザーバビリティ機能がスゴい!/ Enjoyed AWS re:Invent from Home and CloudWatch Observability Feature is Amazing!
yuj1osm
0
120
Featured
See All Featured
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
0
97
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
6.9k
Keith and Marios Guide to Fast Websites
keithpitt
410
22k
How GitHub (no longer) Works
holman
311
140k
Documentation Writing (for coders)
carmenintech
66
4.5k
Git: the NoSQL Database
bkeepers
PRO
427
64k
Put a Button on it: Removing Barriers to Going Fast.
kastner
59
3.6k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
191
16k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
Reflections from 52 weeks, 52 projects
jeffersonlam
347
20k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
95
17k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
5
440
Transcript
l3BJMTͳਓzͷͨΊͷϨΠϠͷট 6DIJP,POEP(.01FQBCP *OD ۜ࠲3BJMT ͦΕɺNSVCZͰ
γχΞɾϓϦϯγύϧΤϯδχΞ ۙ౻ Ӊஐ࿕ / @udzura https://blog.udzura.jp/ Uchio Kondo ٕज़෦ ٕज़ج൫νʔϜ
@ GMOϖύϘ / Ԭ ΤϯδχΞΧϑΣʢԬࢢẂנจԽձؗʣ αϙʔλʔ Duolingo Diamond Leaguer 💎 #Ruby #Rust #mruby #Containers #eBPF #CRIU #Seccomp #RubyKaigi #CloudNativeDays #Zumba #γϨϯ #FitBoxing2
͜͏͍͏ຊΛॻ͖·ͨ͠
ϨΠϠ γεςϜϓϩάϥϛϯά
γεςϜϓϩάϥϛϯάͱ w Α͘ݟ͔͚Δͷ࣍ͷΑ͏ͳ༰Λࢦͯ͠ʮγεςϜϓϩάϥϛϯάʯͱ͍͏߹Ͱ͢ɻ w $ݴޠʹΑΔϓϩάϥϛϯά w ΞηϯϒϦݴޠΛҙࣝͨ͠$ݴޠʹΑΔϓϩάϥϛϯά w ݴޠॲཧܥʢΠϯλϓϦλΛؚΉʣɺಛʹωΠςΟϒίʔυΛੜ͢ΔίϯύΠϥͷ։ൃ w
04ࣗͷϓϩάϥϛϯά w 04ͷఏڙ͢ΔػೳΛͬͨϓϩάϥϛϯά w ຊ࿈ࡌͰɺҰ൪࠷ޙͷʮ04ͷఏڙ͢ΔػೳΛͬͨϓϩάϥϛϯάʯΛγεςϜϓϩάϥ ϛϯάͷఆٛͱͯ͠Λ͢͢Ί·͢ɻ (PͳΒΘ͔ΔγεςϜϓϩάϥϛϯάୈճΑΓ
04ͷػೳͱ wϑΝΠϧҰͭಡΉɺλʔϛφϧʹҰͭจࣈΛදࣔ͢ΔɺϓϩηεΛ࡞ ΔɺͦͷதͰ04ͷػೳ͕ΘΕ͍ͯΔɻ w͔͠͠ɺීஈɺΈͳ͞Μ͕͍͍ײ͡ʹϓϩάϥϜΛಈ͔ͤΔΑ͏ɺ ࠷ݶͷͱ͜ΖҎ֎ӅΕ͍ͯΔͱݴ͑Δɻ w04ͷػೳͷதʹɺηΩϡϦςΟɺαʔόͷՄ༻ੑϓϩάϥϜͷ ύϑΥʔϚϯεʹܨ͕Δߴͳͷ͋Δɻ
γεςϜίʔϧ w04ͷػೳΛ͏ͨΊͷΠϯλϑΣʔε w$16ʹɺϢʔβϞʔυͱΧʔωϧϞʔυ͕͋Δɻ wΧʔωϧϞʔυͰɺॏཁͳ$16໋ྩΛ࣮ߦͰ͖ͯ͠·͏ͷͰɺ Ϣʔβ͕ීஈ͔Βͦ͏͍͏໋ྩΛݺͼग़ͤΔͱةݥɻ wͳͷͰɺϞʔυΛ͚ɺී௨ͷϓϩάϥϜ͕ةݥͳૢ࡞ΛͰ͖ͳ͍Α ͏ɺඞཁͳ෦ͷΈ04͕ΠϯλϑΣʔεΛ༻ҙ͍ͯ͠Δ ৄࡉʮΈ͔ΜຊʯลΓΛಡΉͱ͍͍Ͱ͢
$16ͷϞʔυͱγεςϜίʔϧ ϓϩηε ϢʔβϞʔυ $16 ΧʔωϧϞʔυ ϢʔβϞʔυ γεςϜίʔϧ ॏཁͳ$16ػೳΛͬͯ 04ͷ͓ࣄΛ͢Δ ੍ޚΛ͢
Χʔωϧͷ͓ࣄͱɺϢʔβͷ͓ࣄ͔Ε͍ͯΔɺ͙Β͍ͷཧղͰ͍ͬͨΜ0,
ΞϓϦέʔγϣϯΛࢧ͑ΔϨΠϠΛΔ wϢʔβϥϯυͷϓϩάϥϜɺڀۃతʹʮϢʔβϥϯυͰͷܭࢉʯͱ ʮγεςϜίʔϧͷݺͼग़͠ʯͷΈΛ͍ͯ͠Δͱߟ͑ΒΕΔ wΓ͍ͨ͜ͱΛ࣮ݱ͢Δ্Ͱॏཁͳɺ04ͷੈքͰͷࣄΛΖ͏
ʹཱͭͷʁ
ʮϨΠϠʯͷΞϓϩʔνΛͯ͠ΈΑ͏ wϨΠϠʮछͷਆثʯ wͦͷதͰɺstrace(1)ͱperf(1)ͷ͍ํΛσϞ͠·͢ wʢࣗମਓతͳγνϡΤʔγϣϯͰ͢ʣ strace(1) gdb(1) perf(1) valgrind(1)
TUSBDF
strace(1) wରͷϓϩάϥϜ͕ൃߦ͢Δ γεςϜίʔϧΛࢹ͠ɺ Կ͕Ͳ͏ݺͼग़͞Ε͔ͨ දࣔ͢Δπʔϧ w ΦϓγϣϯʹΑΓɺݺͼग़͠ͷ౷ܭදࣔͰ͖Δʢࠓճෆ༻ʣ ͍͕ͭ͜ϚείοτΩϟϥʁ
wҎԼͷΑ͏ͳ4JOBUSBͷΞϓϦέʔγϣϯΛ্ཱͪ͛ͨɻ
ଓ͖ w͜ͷΞϓϦέʔγϣϯΛಈ͔͍ͯ͠ΔڥͰɺ wlocalhost:4567ΞΫηεͰ͖Δ w127.0.0.1:4567ΞΫηεͰ͖ͳ͍ w͜ΕͲ͏ͯ͠ʁ ·͋ɺ͙͢צ͖ͮͦ͏ͳͰ͕͢
TUSBDFͰோΊͯΈΑ͏ •strace -e network ${command}
TUSBDFͰோΊͯΈΑ͏ •strace -e network ${command} ໌Β͔ʹෆࣗવͳCJOE ͷൃߦ͕͋Δ "'@*/&5
DVSMͷଆ wMPDBMIPTU*1Wɺʢવʣ*1WͰͭͳ͗ʹߦ͘
ղܾฤ wMPDBMIPTUͷղܾ͕ม͔ɻؔͦ͠͏ͳϑΝΠϧFUDIPTUT ⁉ ⁉ ⁉ ⁉ ୭ͩΑ͜ΜͳઃఆೖΕͨͭ
IPTUTΛ͢ͱͪΌΜͱ͜͏ͳΔɻ
QFSG
perf(1) w-JOVYͷͨΊͷߴػೳύϑΥʔϚϯεੳπʔϧɻ w$16ͷΧϯλ౷ܭใɺ ֤ؔͷΦʔόϔουɺ ͳͲͳͲΛूܭදࣔ
w࣍ͷ3BJMTΞϓϦέʔγϣϯͷIFMMPJOEFYͷΞΫηε͕ົʹ͍ɻ ιʔείʔυΛݟͳ͍ͰݪҼΛਪଌ͠Α͏
ݱࡏͷύϑΥʔϚϯε w͜Ε͔֬ʹ
QFSGͰੳ͠Α͏ 7.ͷผͷλʔϛφϧͰ QFSGSFDPSEΛΞλον ҰԠ ϕϯνϚʔΫ ผͷϗετ ࠓճϗετϚγϯ ͚ͩͲ ͔ΒΒͤΔ
݁Ռ
݁Ռͷߟ ($͕ΕͯΔײ ($͕ΕͯΔͷͰɺ ڊେͳΦϒδΣΫτΛ ܁Γฦ͠࡞ࣺ͍ͬͯͯͯΔʁ ͔͙Β͍૾Ͱ͖Δ
݁Ռͷߟ +40/ KTPOHFN ͷ ͕ؔΘΓͱ্Ґʹ͍Δ ͔͠HFOFSBUFͰͳ͘ QBSTFͷํͳͷͰɺ ڊେͳઃఆ+40/Λύʔε ͯ͠Δͱ͔ʁ
ࢀߟίʔϧάϥϑ w໊લ͕ղܾͰ͖ͳ্͍͕ؔʹ͍Δ͚ͲɺࣅͨΑ͏ͳੳʹͳΓͦ͏
ղܾฤ wϦΫΤετຖʹڊେ+40/ઃఆΛύʔε͠ɺίϯτϩʔϥͷΠϯελ ϯεมʹΞαΠϯ͍ͯͨ͠ɻ
ίʔυमਖ਼ޙͷύϑΥʔϚϯε wҰԠΫϥεมʹΩϟογϡ͢ΔΑ͏ʹͨ͠Β͜͏͍͏ײ͡
ίʔυमਖ਼ޙͷQFSG wʢҰճΞΫηε͔ͯ͠Βͷܭଌʣ
͜͜·Ͱͷ·ͱΊ wγεςϜͷ͕ࣝ͋Δ͜ͱͷϝϦοτͷҰͭͱͯ͠ɺ γεςϜͷσόοάπʔϧ͕͑ΔΑ͏ʹͳΔ͜ͱ͕ڍ͛ΒΕͦ͏ɻ wݴޠϛυϧΣΞΛΘͳ͍ීวతͳΓํͰσόοάύϑΥʔ ϚϯεվળΛ࣮ࢪͰ͖Δɻ·ͨɺ͍͠Λݟ͚ͭΒΕΔɻ w֤ݴޠݻ༗ͷσόοΨʔʢ3VCZͳΒQSZ CZFCVH TUBDLQSPGʣΛ ͏ͱ͖ʹɺγεςϜͷ͕ࣝ͋Δํ͕ղ૾ߴ͑͘Δͣ
γεςϜΛֶͿ
γεςϜͷ͜ͱΛֶͿۙಓ wલड़ͨ͠Α͏ͳπʔϧɺγεςϜͷ͕ࣝ͋Δఔͳ͍ͱ͍͜ͳ ͤͳ͍ɻͦͷࣝͲ͏͚ͭΔʁ wࢲͨͪϓϩάϥϚͳͷͰɺγεςϜʹؔ͢ΔϓϩάϥϛϯάΛ͢Δ ͱɺରυϝΠϯʹ͍ͭͯͷཧղ͕ਂ·ΔͷͰʁ ˠγεςϜϓϩάϥϛϯάΛ࢝ΊΑ͏ʂ
γεςϜϓϩάϥϛϯάͷͨΊͷಓ۩ w$ݴޠʁ
લఏ$ݴޠͷࣝʹཱͭ wγεςϜͷ͜ͱΛΔʹઌड़ͨ͠04ͷΠϯλϑΣʔεͰ͋Δ γεςϜίʔϧΛཧղ͢Δͱ͜Ζ͔Β࢝ΊΔͷ͕ྑ͍ʢࢲݟʣ wγεςϜίʔϧΛͲ͏ݺͼग़͔͢ɺ$ݴޠͷؔͷఆٛͰཧղ͢Δ ͷ͕Ұ൪खͬऔΓૣ͘ɺௐ͍͢ɻ wͬͯΈΔͷ$ݴޠ͕Ұ൪ૣ͍ɻ
':*$ݴޠΛ֮͑Δࡍͷίπ w࣍ͷΑ͏ͳ؍Ͱ֮͑Δͱ͍͍͔ wجຊจ๏ wϙΠϯλͷجૅ wΦϒδΣΫτ͕ϝϞϦͷͲ͜ʹஔ͞ΕΔ͔ ώʔϓελοΫ wMJCDΛ͡Ίͱͨ͠جຊతͳϥΠϒϥϦͷࣝ wίϯύΠϧϦϯΫͷखॱɺ࡞๏
ͦΕͰ$ݴޠ͍͠ w$ݴޠͰϝϞϦͷҙ͕ࣝߴ·Δͷ͍͍͕ɺਓྨ͕ਖ਼͘͠ϝϞϦΛѻ ͏ͷ͍͠ɻ w$8&5PQ ·ͩ·ͩෆదͳ ϝϞϦͷѻ͍ʹؔ͢Δ ੬ऑੑ͕ଟ͍ IUUQTOFXTNZOBWJKQBSUJDMF
$ݴޠͷ͠͞ wϝϞϦʹؔ͢ΔόάΛճආ͢Δͷ͕ͱʹ͔͍͘͠ wϝϞϦϦʔΫɺμϯάϦϯάϙΠϯλɺ0P# wจࣈྻɺྻɾϚοϓͳͲجຊతͳσʔλߏΛѻ͏ͷ໘ wγεςϜίʔϧΛ୯ҰͰݺͿͷ͍͍͕ɺ࣮ࡍʹෳͷγεςϜ ίʔϧͰσʔλΛΓऔΓ͢Δͷ͕ී௨ɻ wશͯͷσʔλՃΛ$ݴޠͰΔͷେม
ͦ͜Ͱ
ɹɹɹɹͬͯʁ wΈࠐΈͷͨΊͷ3VCZ࣮ɻ wҰ෦ͷϥΠϒϥϦͷΈΛؚΉόΠφϦΛ࡞Ͱ͖ͨΓ͢Δ w$ݴޠͱͷӡ༻ੑͷྑ͔͞ΒɺϛυϧΣΞαʔόͷΈࠐΈ༻ ్ʹ׆༻Ͱ͖Δ wγεςϜϓϩάϥϛϯάͱͯͬͪ͜͠ͷಛ͕ੜ͖Δ
NSVCZͱ.3* w͋͘·Ͱผͷ࣮ɺతͷҟͳΔݴޠ͕ͩɺֶश͍͢͠Α͏ʹ ֩ͱͳΔ༷ʢ*403VCZ૬ʣڞ௨ɻ࠷৽ͷػೳॱ࣍ϙʔτ ͞Ε͍ͯΔɻ ʮ8FCͰ͑ΔNSVCZγεςϜϓϩάϥϛϯάೖʯQ
NSVCZͷڧΈ wจࣈྻૢ࡞ɺجຊతͳσʔλߏ3VCZʹͤΒΕΔ wϝϞϦͦΕͰ·͍͕ͩ͠ɺ($ͱɺϝϞϦ্ͷΦϒδΣΫτͷ ͷ֬อղ์Λ($ʹͤΔΈ͕༻ҙ͞Ε͍ͯΔ w͓࡞๏ʹैͬͯ֬อղ์͢ΕɺϝϞϦϦʔΫͷ৺͕ݮΔ w$"1*͕.3*ΑΓཧ͞Εɺ$ͷੈքͱ3VCZͷੈքͷߦ͖དྷָ͕ʹ ͳ͍ͬͯΔɻ
':*3VCZͰ$CJOEJOHॻ͚Δ͚Ͳ wͱ͍͏ΑΓɺͦͦ3VCZɺ6/*9ͰͷγεςϜίʔϧΛ͡Ίͱ ֤ͨ͠छػೳΛखܰʹ͏ͨΊʹ։ൃ͞Εͨʢཁग़య ʣ wͨͩɺࠓͷ3VCZͰͷ$CJOEJOH͔ͳΓಛघͳ໘Λఆ wNSVCZɺ$ݴޠͱͷ࿈ܞੑΛୈҰʹߟ͍͑ͯΔͷͰएׯॻ͖͘͢ ͳ͍ͬͯΔʢ͜ΕࢲݟͰ͕͢ʣɻ
ॻ͍ͯΈ·͠ΐ͏
؆୯ͳྫ wϗετ໊ɺϚγϯͷใΛऔಘ͢Δuname(1)ίϚϯυ w͜ͷ෦ͰΘΕ͍ͯΔγεςϜίʔϧΛੳ͠ɺಉ݁͡ՌΛग़͢ί ϚϯυΛ࡞ͬͯΈΔ
NSVCZͷϓϩδΣΫτΛͭ͘Δ wNSCHFNNSVCZʹ͓͚ΔHFNͷϓϩδΣΫτΛ࡞ͬͯΈΔ wNSCHFNUFNQMBUFίϚϯυͰੜɻҎԼ-JOVYͰ $ apt install gperf bison build-essential $
brew tap mrbgems/mrbgem-template # using linuxbrew $ brew install mrbgem-template $ mrbgem-template -B myuname -m 3.0.0 mruby-myuname
ϓϩδΣΫτ͕Ͱ͖ͨ
VOBNF ԿΛ͍ͯ͠Δʁ wTUSBDFͰ͍͔͚ͯΈΔ wVOBNF ͱ͍͏ରԠ͢ΔγεςϜίʔϧΛݺΜͰ͍Δ
VOBNF ͷ͍ํ wNBOίϚϯυͰ֬ೝͰ͖Δʢ͠ɺݕࡧͯ͠0,ʣ wηΫγϣϯ
$ͷίʔυΛฤू wࣗಈੜ͞Εͨ$ϑΝΠϧΛฤूɺVOBNF Λ͏ؔΛॻ͘ ΓɺҾͷܕʹ
ϝιουʹ͢Δ wࣗಈੜ͞ΕͨॳظԽ༻ؔ෦ʹهड़ɻ$3VCZʹࣅͯΔ
Ϗϧυͯ֬͠ೝ wNJSCͱ͍͏ɺJSCతͳͷ͕͋Δ wͳͷͰNSVCZͷϝιουʹͰ͖Ε͋ͱ͍ͭͷ3VCZ ϗετ໊ΛऔಘͰ͖ͨʂ
͜ͷޙ wNBOͷఆٛΛݟͯਅ໘ʹϝϯό͝ͱʹϝιουΛ࡞Γɺ දࣔ͢Δ͚ͩ wͳ͓ɺNSVCZͰίϚϯυϥΠϯπʔϧ࡞Ε·͢ wϫϯόΠφϦͰ͢ʢελςΟοΫϦϯΫ·ͰͪΐͬͱΉ͍ͣʣ wৄࡉNSVCZͳΜͪΌΒೖͱ͍͏ຊʹɻ
͞ΒͳΔ NSVCZγεϓϩͷੈք
3BJMTΛηΩϡΞʹ͢Δ w੬ऑੑ͕͋Δ3BJMTΞϓϦέʔγϣϯ͕͋Δɺͱ͢Δɻ wྫ͑ wNLOPE γεςϜίʔϧΛNLOPE ܦ༝Ͱൃߦ͞ΕΔͱ͢Δ wNLOPE
σόΠεϑΝΠϧΛ࡞͢Δ wFH/dev/zero, /dev/null, /dev/urandom
3$& ͷྫ wQJOHͷ݁ՌΛग़ྗ͢Δ ͕ͣɻ 3$&3FNPUF$PEF&YFDVUJPO ԕִૢ࡞ FH8FCΞΫηε Ͱࣗ༝ʹίϚϯυΛൃߦͤ͞ΒΕΔ੬ऑੑͷҰൠతͳݺশ
NLOPEͰ߈ܸͰ͖ͦ͏ͳྫ wྫઃఆϑΝΠϧͳͲΛىಈ࣌ͳͲͰಡΈࠐΜͰ͍ΔΑ͏ͳ߹ wͦͷઃఆϑΝΠϧΛNLOPEʹΑΓɺແݶʹσʔλΛऔΓग़ͤΔ ΩϟϥΫλσόΠε FH/dev/urandom ʹมߋ͞ΕΔͱɺಡΈࠐ Έ͕ऴΘΒͣʹ%P4߈ཱܸ͕͢Δɻ wNLOPE γεςϜίʔϧΛࣗ༝ʹൃߦͰ͖Δͱةݥ
Ծʹ੬ऑੑ͕͋ͬͨͱͯ͠ w3$&ͷΑ͏ͳಛڃͷ੬ऑੑ͕͋ͬͨ߹Ͱɺ ࠷ޙͷࡆͱͯ͠ةݥͳγεςϜίʔϧͷ࣮ߦΛ͙Έͳ͍͔ʁ wˠҰͭͷҊͱͯ͠ɺTFDDPNQΛར༻͢Δ
TFDDPNQͱ wγεςϜίʔϧݺͼग़͠ΛϑΟϧλϦϯά͢ΔΈ wྫ͑ɺಛఆͷγεςϜίʔϧͷΈڐՄ BMMPXMJTU ɺ ٯʹېࢭ EFOZMJTU ɺͱ͍ͬͨઃఆΛద༻Ͱ͖Δ w˞࣮%PDLFSͳͲɺҰൠʹΘΕΔίϯςφٕज़Ͱ෦Ͱطʹ ར༻͞Ε͍ͯΔͷͰɺࠓճ7.্ͷ͍ͪϓϩηεͷద༻ྫɻ
NSVCZTFDDPNQ wNSVCZ͔ΒTFDDPNQ γεςϜίʔϧʢਖ਼֬ʹMJCTFDDPNQΛ ܦ༝ͯ͠ʣʹΞΫηε͢ΔͨΊͷNSCHFN w!VE[VSB͕ੲίϯςφΛࣗ࡞͢Δͱ͖ʹҰॹʹ࡞ͬͨ IUUQTHJUIVCDPNIBDPOJXBNSVCZTFDDPNQ
NSVCZTFDDPNQ w͜͏͍͏%4-ͰϑΟϧλϦϯάઃఆ͕Ͱ͖Δʂ
ىಈ༻ͷNSVCZεΫϦϓτΛॻ͘ wTFDDPNQͷίϯςΫετΛϩʔυ͢ΔˠSBJMTʹFYFDWF ͢Δ wNSVCZTFDDPNQΛΈࠐΜͩNSVCZόΠφϦΛ༻ҙ͠ɺ ΞϓϦέʔγϣϯىಈ࣌ʹɺ͜ͷεΫϦϓτΛ͢
࣮ࡍʹ߈ܸͯ͠ΈΔ wNLOPE ͷݺͼग़͠ΛΤϥʔʹͰ͖ͨʂ 3BJMTͷϩάʹ͜Ε͕ग़ྗ͞ΕΔɻ
ิઆ໌ wͪΖΜଞʹةݥͳγεςϜίʔϧ͋ΔͷͰɺBMMPXMJTUϕʔεͰ ϦετΛӡ༻͢Δͷ͕ཧɻͦΕ݁ߏେมɻ w͋ͱͦͦɺSPPUͰಈ͔ͪ͠Όμϝʢ͚ͩͲɺಛݖঢ͕֨Ͱ͖ Δ߈ܸͩͬͯ͋Γ͏ΔͷͰʣ
NSVCZΛγεϓϩͰ͏ྑ͞ w͜͜·ͰΛɺৼΓฦΔͱ wγεςϜίʔϧͷݺͼग़͠نϞϊʹΑ͍͕ͬͯ͠ɺ%4-Λ ࡞ͯ͠ϥοϓ͠ɺӡ༻Λ͘͢͠Ͱ͖Δ wϫϯόΠφϦͷίϚϯυʹݻΊΒΕΔ ʢݱࡏͷ$3VCZͰ͍͠ʣ wϫϯόΠφϦͷπʔϧʹɺ͞Βʹ֎෦ͷઃఆ%4-ΛಡΈࠐ·ͤΔɺ ͱ͍͏͍ํՄೳɻDGNPE@NSVCZOHY@NSVCZ
ଟ͕࣌ؒͳͯ͘ݴ͑ͳ͍τϐοΫ
NSVCZͷιϑτΣΞΈࠐΈ wNSVCZͷԠ༻ྫͱͯ͠ɺιϑτΣΞʹΈࠐΉྫΛհ͠·͢ wNSVCZ͕Έࠐ·Εͨϛυϧͷද wNPE@NSVCZ"QBDIF)5514FSWFS NSVCZ wOHY@NSVCZOHJOY NSVCZ wIPIUUQରԠͷߴ8FCαʔόͷઃఆΛNSVCZͰॻ͚Δ
ιϑτΣΞʹΈࠐΉͱ w͍Ζ͍ΖͳϛυϧΣΞʹɺ$ݴޠʹΑΓϓϥάΠϯ֦ுػೳΛ ॻͨ͘ΊͷΠϯλϑΣʔε͕͋Δ wͦͷ$ݴޠͷΠϯλϑΣʔεʹର͠ɺNSVCZͰCJOEJOHΛॻ͚ɺ NSVCZͷεΫϦϓτ͔ΒͦͷϛυϧΣΞΛ੍ޚͰ͖Δ wγεςϜϓϩάϥϛϯάɺ ͋Δҙຯ04ʹର͠NSVCZΛ ΈࠐΜͰ͍Δɺͱݴ͑Δ
·ͱΊ
NSVCZͰΓࠐΜͰ͍͘ੈք wࠓ·Ͱ$ݴޠͷྗ͕ڧ͔ͬͨൣғͰɺ3VCZΛ׆༻Ͱ͖ΔΑ͏ʹ wγεςϜϓϩάϥϛϯά wϛυϧΣΞͷ֦ு wকདྷɺ-JOVYΧʔωϧͷ֦ுͳΜ͔
3VCZΛ͑Δൣғͷ͕Γ w3BJMTͷΑ͏ͳ8FCͷੈք͔Βɺ Πϯϑϥʹ͓͚ΔϓϩάϥϛϯάͷੈքͰ ׆༻Ͱ͖ΔΑ͏ʹͳΔͷͰ
γεςϜϓϩάϥϛϯά໘ന͍ wʮී௨ͷͭΒͷԼΛߦ͚ʯ IUUQYDDOFUCMPHBSDIJWFTIUNMɹ
ʮ#JOBSZ)BDLTʯॻධCZͩ͞͞͞Μ wόΠφϦΞϯ͕ܦݧ͍ͯ͠ΔͰ͋Ζ͏Ϩϕϧϓϩάϥϛϯά͕࣋ ͭʮυΩυΩײʯɺॻ੶ͰֶͿͷͰͳ͍ͷ͔͠Ε·ͤΜͷ ͰɺͦͷΑ͏ͳॻ੶͋Γ͑ͳ͍ͷ͔͠Ε·ͤΜɻͨͩɺຊॻΛಡ ΜͰɺͳΜ͔ͩΑ͘Θ͔Βͳ͍͚ͲʮυΩυΩײʯΛײ͡Δͱ͍͏ਓ ɺ͢ͰʹόΠφϦΞϯͳͷ͔͠Ε·ͤΜɻ ʮ3VCZJTU.BHB[JOFʯ߸ॻ੶հʰ#JOBSZ)BDLTʱ IUUQTNBHB[JOFSVCZJTUOFUBSUJDMFT#PPL#JOBSZ)BDLTIUNM
ϨΠϠͰ 3VCZΛܾΊ·͠ΐ͏
<13> wNSVCZۀք།ҰॻళͰฒͿۀॻ੶ͰɺγεϓϩͷҎԼͷΑ͏ͳτ ϐοΫΛهड़͍ͯ͠·͢ w$ϥΠϒϥϦͷ͍ํ w"QBDIF֦ு αʔόࠐ ͷॻ͖ํ w$ͷηΩϡϦςΟ όοϑΝΦʔόʔϥϯ
w֤छσόοάπʔϧ छͷਆث ͷղઆ ࣮ྫʴͰ݁ߏஸೡʹͬͯ·͢