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
5k
“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.5k
Ruby x BPF in Action / RubyKaigi 2022
udzura
0
260
Narrative of Ruby & Rust
udzura
0
240
開発者生産性指標の可視化 / pepabo-four-keys
udzura
3
1.7k
Talk of RBS
udzura
0
460
Re: みなさん最近どうですか? / FGN tech meetup in 2021
udzura
0
810
Dockerとやわらかい仮想化 - ProSec-IT/SECKUN 2021 edition -
udzura
2
750
Device access filtering in cgroup v2
udzura
1
950
"Story of Rucy" on RubyKaigi takeout 2021
udzura
0
860
Other Decks in Technology
See All in Technology
よくわからない人向けの IAM Identity Center とちょっとした落とし穴
kazzpapa3
2
560
AIエージェントを導入する [ 社内ナレッジ活用編 ] / Implement AI agents
glidenote
1
300
LINE公式アカウントの技術スタックと開発の裏側
lycorptech_jp
PRO
0
230
短期間でRAGシステムを実現 お客様と歩んだ生成AI内製化への道のり
taka0709
1
220
從裝潢設計圖到 Home Assistant:打造智慧家庭的實戰與踩坑筆記
kewang
0
140
Snowflakeとdbtで加速する 「TVCMデータで価値を生む組織」への進化論 / Evolving TVCM Data Value in TELECY with Snowflake and dbt
carta_engineering
1
190
3年ぶりの re:Invent 今年の意気込みと前回の振り返り
kazzpapa3
0
180
龍昌餃子で理解するWebサーバーの並行処理モデル - 東葛.dev #9
kozy4324
1
140
プロダクトエンジニアとしてのマインドセットの育み方 / How to improve product engineer mindset
saka2jp
2
200
ピープルウエア x スタートアップ
operando
3
3.8k
The Twin Mandate of Observability
charity
1
990
ソースコードを読むときの思考プロセスの例 ~markdownのレンダリング方法を知りたかった2 markdownパッケージ~
sat
PRO
0
120
Featured
See All Featured
A designer walks into a library…
pauljervisheath
210
24k
Why You Should Never Use an ORM
jnunemaker
PRO
60
9.6k
The World Runs on Bad Software
bkeepers
PRO
72
12k
It's Worth the Effort
3n
187
28k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Six Lessons from altMBA
skipperchong
29
4.1k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
GraphQLとの向き合い方2022年版
quramy
49
14k
Done Done
chrislema
186
16k
Building Adaptive Systems
keathley
44
2.8k
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֤छσόοάπʔϧ छͷਆث ͷղઆ ࣮ྫʴͰ݁ߏஸೡʹͬͯ·͢