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.9k
“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
240
Narrative of Ruby & Rust
udzura
0
220
開発者生産性指標の可視化 / pepabo-four-keys
udzura
3
1.7k
Talk of RBS
udzura
0
450
Re: みなさん最近どうですか? / FGN tech meetup in 2021
udzura
0
780
Dockerとやわらかい仮想化 - ProSec-IT/SECKUN 2021 edition -
udzura
2
730
Device access filtering in cgroup v2
udzura
1
900
"Story of Rucy" on RubyKaigi takeout 2021
udzura
0
830
Other Decks in Technology
See All in Technology
vLLM meetup Tokyo
jpishikawa
1
250
評価の納得感を2段階高める「構造化フィードバック」
aloerina
1
270
「どこにある?」の解決。生成AI(RAG)で効率化するガバメントクラウド運用
toru_kubota
2
450
成立するElixirの再束縛(再代入)可という選択
kubell_hr
0
490
AWS全冠したので振りかえってみる
tajimon
0
150
"SaaS is Dead" は本当か!? 生成AI時代の医療 Vertical SaaS のリアル
kakehashi
PRO
3
250
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
51
30k
ハノーバーメッセ2025座談会.pdf
iotcomjpadmin
0
130
BigQuery Remote FunctionでLooker Studioをインタラクティブ化
cuebic9bic
2
150
AWS アーキテクチャ作図入門/aws-architecture-diagram-101
ma2shita
24
8.9k
Кто отправит outbox? Валентин Удальцов, автор канала Пых
lamodatech
0
170
25分で解説する「最小権限の原則」を実現するための AWS「ポリシー」大全
opelab
3
420
Featured
See All Featured
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.5k
It's Worth the Effort
3n
184
28k
The World Runs on Bad Software
bkeepers
PRO
68
11k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
181
53k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
A Modern Web Designer's Workflow
chriscoyier
693
190k
How to Ace a Technical Interview
jacobian
276
23k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.7k
Bash Introduction
62gerente
614
210k
Agile that works and the tools we love
rasmusluckow
329
21k
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֤छσόοάπʔϧ छͷਆث ͷղઆ ࣮ྫʴͰ݁ߏஸೡʹͬͯ·͢