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.8k
“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.4k
Ruby x BPF in Action / RubyKaigi 2022
udzura
0
230
Narrative of Ruby & Rust
udzura
0
210
開発者生産性指標の可視化 / pepabo-four-keys
udzura
3
1.7k
Talk of RBS
udzura
0
430
Re: みなさん最近どうですか? / FGN tech meetup in 2021
udzura
0
760
Dockerとやわらかい仮想化 - ProSec-IT/SECKUN 2021 edition -
udzura
2
710
Device access filtering in cgroup v2
udzura
1
870
"Story of Rucy" on RubyKaigi takeout 2021
udzura
0
800
Other Decks in Technology
See All in Technology
PagerDuty×ポストモーテムで築く障害対応文化/Building a culture of incident response with PagerDuty and postmortems
aeonpeople
3
540
Computer Use〜OpenAIとAnthropicの比較と将来の展望〜
pharma_x_tech
6
960
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
2
450
白金鉱業Meetup_Vol.18_AIエージェント時代のUI/UX設計
brainpadpr
1
270
更新系と状態
uhyo
8
2.2k
Microsoft の SSE の現在地
skmkzyk
0
280
Notion x ポストモーテムで広げる組織の学び / Notion x Postmortem
isaoshimizu
1
150
MySQL Indexes and Histograms – How they really speed up your queries
lefred
0
150
Асинхронная коммуникация в Go: от понятного к душному. Дима Некрасов, Otello, 2ГИС
lamodatech
0
1.7k
Compose におけるパスワード自動入力とパスワード保存
tonionagauzzi
0
190
白金鉱業Meetup_Vol.18_生成AIはデータサイエンティストを代替するのか?
brainpadpr
4
220
持続可能なドキュメント運用のリアル: 1年間の成果とこれから
akitok_
1
270
Featured
See All Featured
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Why Our Code Smells
bkeepers
PRO
336
57k
The Pragmatic Product Professional
lauravandoore
33
6.6k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Build your cross-platform service in a week with App Engine
jlugia
230
18k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
105
19k
How STYLIGHT went responsive
nonsquared
100
5.5k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.7k
Rebuilding a faster, lazier Slack
samanthasiow
81
9k
Mobile First: as difficult as doing things right
swwweet
223
9.6k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
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֤छσόοάπʔϧ छͷਆث ͷղઆ ࣮ྫʴͰ݁ߏஸೡʹͬͯ·͢