Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
Webサーバの高集積マルチテナントアーキテクチャに関する研究 / Studies on Highly Integrated Multi-Tenant Architecture for Web Servers
MATSUMOTO Ryosuke
PRO
September 05, 2016
Research
12
11k
Webサーバの高集積マルチテナントアーキテクチャに関する研究 / Studies on Highly Integrated Multi-Tenant Architecture for Web Servers
松本亮介
2016年8月30日
2016年度 京都大学大学院 情報学研究科 博士課程 予備審査
MATSUMOTO Ryosuke
PRO
September 05, 2016
Tweet
Share
More Decks by MATSUMOTO Ryosuke
See All by MATSUMOTO Ryosuke
2022年の研究所の評価制度振り返りと今後
matsumoto_r
PRO
0
210
VUCAワールドから紐解く組織や評価制度の変遷と再設計
matsumoto_r
PRO
5
22k
コンテナの研究開発から学ぶLinuxの要素技術
matsumoto_r
PRO
1
990
開発者体験をさらに向上させる 事業と研究との連携
matsumoto_r
PRO
2
1.5k
企業研究の価値と事業との連携
matsumoto_r
PRO
0
730
誇りを持って研究していくために
matsumoto_r
PRO
1
910
インフラの企業研究の価値とこれから
matsumoto_r
PRO
7
17k
Rapid Container Scheduling for Reactive Relocation of Individual HTTP Requests
matsumoto_r
PRO
0
670
クライアントプロセスの権限情報に基づくTCPを介した透過的な権限分離方式の設計
matsumoto_r
PRO
3
9.1k
Other Decks in Research
See All in Research
第20回チャンピオンズミーティング・サジタリウス杯ラウンド2集計 / Umamusume Sagittarius 2022 Round2
kitachan_black
0
700
[輪講資料] Optimus: Organizing Sentences via Pre-trained Modeling of a Latent Space
hpprc
0
880
発話者分類研究の現状とその応用
yukizenimoto
0
240
論文紹介 / Winoground: Probing Vision and Language Models for Visio-Linguistic Compositionality
kyoun
0
260
第50回構造活性相関シンポジウムランチョンセミナー_SMILES言語モデルSmilesFormerの開発とその応用例
elix
0
150
対話型AIの構築における工夫とデータセットの重要性 - 素早くデータを構築し検証するためには
yag_ays
3
2.5k
サイボウズのUXリサーチャーについて
cybozuinsideout
PRO
0
390
福岡ジャズ界のために個人サービスを開発/運営して学んだこと
daichan4649
0
270
第19回チャンピオンズミーティング・スコーピオ杯ラウンド1集計 / Umamusume Scorpio 2022 Round1
kitachan_black
0
760
Dangerous ‘Deep Decarbonization’ (Krebs PowerPoint to Cooler Heads Coalition)
gkehr1
0
740
Policy-Adaptive Estimator Selection for Off-Policy Evaluation
aiueola
0
360
機械学習と機械発見:自然科学研究におけるデータ利活用の再考
itakigawa
4
1.8k
Featured
See All Featured
What's in a price? How to price your products and services
michaelherold
233
9.7k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
10
1.3k
Fontdeck: Realign not Redesign
paulrobertlloyd
74
4.3k
YesSQL, Process and Tooling at Scale
rocio
159
12k
Writing Fast Ruby
sferik
613
58k
10 Git Anti Patterns You Should be Aware of
lemiorhan
643
54k
Build The Right Thing And Hit Your Dates
maggiecrowley
22
1.4k
JazzCon 2018 Closing Keynote - Leadership for the Reluctant Leader
reverentgeek
175
9.1k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
6
840
Done Done
chrislema
178
14k
The MySQL Ecosystem @ GitHub 2015
samlambert
240
11k
Art Directing for the Web. Five minutes with CSS Template Areas
malarkey
196
9.8k
Transcript
4UVEJFTPO)JHIMZ*OUFHSBUFE.VMUJ5FOBOU"SDIJUFDUVSF GPS8FC4FSWFST দຊ྄հ ݄ ژେֶେֶӃใֶݚڀՊത࢜՝ఔ༧උ৹ࠪ 8FCαʔόͷߴूੵϚϧνςφϯτ ΞʔΩςΫνϟʹؔ͢Δݚڀ
࣍ʢʣ ݚڀͷతͱҐஔ͚ͮ ैདྷͷݚڀͱ՝ͷཧ ߴूੵϚϧνςφϯτํࣜͷӡ༻ޮͱηΩϡϦςΟͷཱ྆ ͷͨΊͷΞΫηε੍ޚΞʔΩςΫνϟ ߴूੵϚϧνςφϯτํࣜͷߴʹݖݶ͢ΔΞΫηε੍
ޚΞʔΩςΫνϟ
࣍ʢʣ ߴ͔ͭ҆શʹεΫϦϓτݴޠͰ8FCαʔόΛ֦ு͢ΔͨΊ ͷΞʔΩςΫνϟ ϦΫΤετ୯ҐͰίϯϐϡʔλϦιʔεΛ͢ΔϦιʔε੍ ޚΞʔΩςΫνϟ ·ͱΊ
ୈষ ݚڀͷతͱҐஔ͚ͮ
ݚڀͷഎܠ wΫϥυ֤छ8FCαʔϏεͷීٴͱݸਓͷར༻ w8FCαʔϏεͷՁ֨Խͱ࣭ͷڝ૪ w8FCαʔόͷߴूੵϚϧνςφϯτํࣜʹ wηΩϡϦςΟͱੑೳ্͕ॏཁ wӡ༻ٕज़ͷݚڀͱγεςϜͷ҆ఆԽ͕՝
ݚڀͷత wߴूੵϚϧνςφϯτํࣜͷ՝Λཧɾղܾ wಛʹςφϯτͷίϯςϯπΛࣄۀऀ͕ཧͰ͖ͳ͍߹ ߴूੵϚϧνςφϯτؒͰͷݖݶͷ՝ղܾ ߴूੵϚϧνςφϯτํࣜͷػೳ֦ுͷ՝ղܾ ߴूੵϚϧνςφϯτؒͰͷϦιʔεͷ՝ղܾ
ݚڀͷҐஔ͚ͮ w8FCαʔόͷߴूੵϚϧνςφϯτํࣜʹ͓͍ͯίϯςϯπ ੍͕ޚग़དྷͳ͍߹ͷෳͷ՝Λཧͯ͠ղܾ wߴूੵϚϧνςφϯτํࣜͷ8FCϗεςΟϯάʹண wମܥతʹϚϧνςφϯτํࣜͷैདྷख๏ͷ՝Λཧ wੑೳɾηΩϡϦςΟɾϦιʔε੍ޚɾӡ༻ٕज़ͷ؍Ͱղܾ w044ͱͯ͠ӡ༻ʹ͑͏Δ࣮Λߦ͍෯͘ར༻ͯ͘͠
ୈষ ैདྷͷݚڀͱ՝ͷཧ
ߴूੵϚϧνςφϯτํࣜͷ՝Λཧ جຊ֓೦ ӡ༻ٕज़ͱηΩϡϦςΟͱੑೳͷ՝ 8FCαʔόػೳ֦ுͷ՝ 8FCαʔόͷϦιʔε੍ޚͷ՝
جຊ֓೦
Ϛϧνςφϯτํࣜ
8FCαʔόͷϚϧνςφϯτํࣜ w୯ҰͷαʔόʹෳͷϢʔβڥΛߏங wӡ༻ίετͱऩ༰ʢϋʔυΣΞʣίετΛݮՄೳ wϢʔβڥͷίϯςϯπ੍͕ޚՄೳͳ߹ద wࣄۀऀ͕ίϯςϯπΛཧͰ͖ͳ͍߹ӡ༻͕ඇৗʹࠔ ςφϯτؒͷϦιʔεͷڝ߹ੑೳͷόϥϯε
8FCίϯςϯπͷཧͱϚϧνςφϯτ w8FCίϯςϯπΛࣄۀऀ͕ཧͰ͖Δ߹ 8FCίϯςϯπͰϦιʔεݖݶͷΛఆՄೳ ςφϯτͷऩ༰ઃܭൺֱత༰қ w8FCίϯςϯπΛࣄۀऀ͕ཧͰ͖ͳ͍߹ ͋ΒΏΔίϯςϯπ͕ಈͨ͘Ίऩ༰ઃܭɾӡ༻͕ࠔ ੬ऑͳίϯςϯπ͕͋ΔલఏͰϦιʔεɾݖݶ
8FCϗεςΟϯάαʔϏε
8FCϗεςΟϯάαʔϏεͷಛ wࣄۀऀ͓٬༷ͷ8FCίϯςϯπΛ੍ޚͰ͖ͳ͍ wϛυϧΣΞɾ04Ͱ੍ޚ͢Δඞཁ͕͋Δ wͰ͖Δ͚ͩฏʹϢʔβମݧΛఏڙ͖͢ wڞ༗ͷ߹Ϧιʔε੍ޚηΩϡϦςΟ͕ॏཁ wੑೳͱऩ༰Λ͍͔ʹόϥϯεΛͱΔ͔ॏཁ
ߴूੵͷඞཁੑͱՁ֨Խ
ݸਓ͚ͷ8FCαʔϏεͷ૿ՃͱՁ֨Խ wֶੜओ්ͩͬͨΓݸਓ͕झຯͰ͏༻్͕ଟ͍ wϋʔυΣΞʹͲΕ͚ͩߴूੵͰ͖Δ͔͕ॏཁ wͱʹ͔҆͘͘ੑೳͷྑ͍ͷΛఏڙ͍ͨ͠ wຊݚڀͰιϑτΣΞٕज़ʹΑΔղܾͷΞϓϩʔν
ϚϧνςφϯτΞʔΩςΫνϟͷجຊ֓೦ wߴूੵϚϧνςφϯτํࣜͷ8FCαʔόͷΞʔΩςΫνϟ wಈతίϯςϯπͷ࣮ߦํࣜ
ߴूੵϚϧνςφϯτํࣜͷ 8FCαʔόͷΞʔΩςΫνϟ
ϓϩηεͱऩ༰αΠτ͕ॏཁ wϓϩηε͕αΠτʹґଘ͠ͳ͍Α͏ͳߏ wෳαΠτڞ༗ͷ8FCαʔόϓϩηε͕ϦΫΤετ ͞Εͨϗετ໊͔ΒಈతʹίϯςϯπΛݕग़ͯ͠ॲཧ ͢Δํ͕ࣜߴूੵϚϧνςφϯτʹඞཁ ྫɿ"QBDIFͷ7JSUVBM)PTU
8FCαʔόͷجຊతͳϞσϧ 1BSFOUIUUQEQSPDFTT PXOFSSPPU $IJMEIUUQEQSPDFTT PXOFSBQBDIF $IJMEIUUQEQSPDFTT PXOFSBQBDIF $IJMEIUUQEQSPDFTT PXOFSBQBDIF $MJFOU
ϦΫΤετ Ϩεϙϯε 6/*9ܥ04ͷ߹ࣄલʹϦΫΤετΛड͚Δ ϓϩηεΛෳGPSL ͯ͠ϓʔϧ͓ͯ͘͠ ʢ͜ΕΒશͯΛؚΊͯʮ୯Ұͷαʔόϓϩηεʯͱఆٛʣ ϦΫΤετ Ϩεϙϯε ϦΫΤετ Ϩεϙϯε
ߴूੵͷͨΊͷΞʔΩςΫνϟ IUUQE Ϣʔβ" IUUQE Ϣʔβ# IUUQE Ϣʔβ$ IUUQE Ϣʔβ" Ϣʔβ#
Ϣʔβ$ ޮྑ͘ϦιʔεΛ͑Δ ىಈʹඞཁ ͳϦιʔε ىಈʹඞཁ ͳϦιʔε ىಈʹඞཁ ͳϦιʔε ىಈʹඞཁͳϦιʔε ߴूੵ͕ཁٻ͞ΕΔ߹ͷ Ϛϧνςφϯτʢຊݚڀʣ ϚϧνςφϯτͷผΞϓϩʔν
ಈతίϯςϯπͷ࣮ߦํࣜ
ಈతίϯςϯπͷ࣮ߦํࣜ w$(*࣮ߦํࣜ ಉҰΠϯλϓϦλͷෳόʔδϣϯΛ༻ҙͰ͖Δར w%40࣮ߦํࣜ ੑೳߴ͍͕جຊతʹ୯Ұͷ8FCαʔόʹΠϯλϓ ϦλΛෳόʔδϣϯ࣋ͯͳ͍
$(*࣮ߦํࣜ $(*QSPDFTT QIQDHJJOEFYQIQ $(*QSPDFTT GPSL UFSNJOBUFQSPDFTT FYFDWF 1BSFOUIUUQEQSPDFTT PXOFSSPPU $IJMEIUUQEQSPDFTT
PXOFSBQBDIF ϦΫΤετຖʹϓϩηεͷੜɾഁغͱ ൺֱతେ͖ͳόΠφϦʢ1)1ͩͱQIQDHJόΠφϦʣͷ FYFDWF ͕ඞཁ
%40࣮ߦํࣜ 1BSFOUIUUQEQSPDFTT PXOFSSPPU $IJMEIUUQEQSPDFTT PXOFSBQBDIF JOEFYQIQ QBSTF SVO αʔόϓϩηεʹΠϯλϓϦλΛ
ΈࠐΜͰ͓͘
ߴूੵϚϧνςφϯτํࣜͷ՝ wߴूੵΛ࣮ݱ͢Δ"QBDIFͷ7JSUVBM)PTUͷΑ͏ͳ ΞʔΩςΫνϟίετޮ͕ྑ͍͕ෳ՝͕Δ ӡ༻ٕज़ͱηΩϡϦςΟͱੑೳͷ՝ 8FCαʔόͷػೳ֦ுͱ՝ 8FCαʔόͷϦιʔε੍ޚͱ՝
ӡ༻ٕज़ͱηΩϡϦςΟͱੑೳͷ՝
ӡ༻ٕज़ͱੑೳͷ՝ wςφϯτ୯ҐʹઃఆΛՃͯ͠ཧɾ੍ޚ͢Δӡ༻ wςφϯτͷ੩తઃఆʹΑΔϝϞϦͱಡࠐΈෛՙ૿େ ϖʔδςʔϒϧΤϯτϦͷංେԽʹΑΓGPSL ͕ඇৗʹ͍ ϓϩηεͷϦϩʔυ͔͔࣌ؒΔ߹༗Γ
ηΩϡϦςΟͱੑೳͷ՝ w$(*൛ͷΞΫηε੍ޚʹΑΔ੩తઃఆͷڧ੍ ςφϯτ୯ҐͰ੩తʹΦʔφ໊Λઃఆ͢Δඞཁ༗Γ w%40൛Λ׆͔͢ΞΫηε੍ޚ͕ଘࡏ͠ͳ͍ طଘͷΞΫηε੍ޚͰ$(*൛ҎԼͷੑೳ wςφϯτ֎ͷγεςϜྖҬͷӾཡ
$(*QSPDFTT PXOFSVTFS $(*QSPDFTT PXOFSSPPU QIQDHJJOEFYQIQ PXOFSVTFS $(*QSPDFTT PXOFSVTFS ੩తʹઃఆ͞ΕͨVJEΛݩʹTFUVJE TFUHJE
GPSL FYFDWF TVFYFDQSPHSBN TFUVJESPPU UFSNJOBUFQSPDFTT FYFDWF 1BSFOUIUUQEQSPDFTT PXOFSSPPU $IJMEIUUQEQSPDFTT PXOFSBQBDIF ˞$(* ैདྷͷΞΫηε੍ޚख๏ ϦΫΤετຖʹ$(*༻ϓϩηεͷ ੜഁغ͕ඞཁ
1BSFOUIUUQEQSPDFTT PXOFSSPPU $IJMEIUUQEQSPDFTT PXOFSSPPU JOEFYQIQ PXOFSVTFS TFUVJE TFUHJE QBSTF SVO
$IJMEIUUQEQSPDFTT PXOFSVTFS $IJMEIUUQEQSPDFTT PXOFSVTFS UFSNJOBUFQSPDFTT ϦΫΤετຖʹࢠIUUQEϓϩηεͷੜഁغ͕ඞཁ ˞%40 ैདྷͷΞΫηε੍ޚख๏
ఏҊख๏
ӡ༻ٕज़ͱηΩϡϦςΟΛղܾ wͭͷΞʔΩςΫνϟΛఏҊ $(*൛ͰηΩϡϦςΟͱӡ༻ٕज़Λཱ྆͢ΔΞΫηε ੍ޚΞʔΩςΫνϟˠষ %40൛ͰηΩϡϦςΟͱੑೳΛཱ྆͢ΔΞΫηε੍ ޚΞʔΩςΫνϟˠষ
8FCαʔόͷػೳ֦ுͱ՝
8FCαʔϏεͷ҆ఆੑ্ͷඞཁੑ wηΩϡϦςΟϦιʔεͷॏཁੑ wαʔϏεͷӡ༻ɾཧίετͷݮ͕ඞཁ wαʔϏεܗଶʹΑͬͯ8FCαʔόΛ࠷దԽ wίϯςϯπʹґଘ͠ͳ͍ػೳͷඞཁੑ͕૿Ճ
8FCαʔόͷػೳ֦ு͕ॏཁ w8FCίϯςϯπॲཧલޙʹॲཧΛࠩ͠ࠐΉ w8FCίϯςϯπʹґଘ͠ͳ͍ޮͷྑ͍ΞΫηε੍ ޚϦιʔεΛ࣮ݱՄೳ w8FCαʔϏεͷӡ༻ɾཧΛޮԽ wػೳ֦ுͱ࣮ͯ͢͠Δ͜ͱͰӡ༻อकΛߟྀ
ैདྷͷ8FCαʔόͷػೳ֦ுख๏ w$ݴޠʹΑΔ࣮͕ఆ൪ ߴ͔ͭলϝϞϦ㱻อकੑੜ࢈ੑ͕͍ wεΫϦϓτݴޠʹΑΔ࣮ อकੑੜ࢈ੑ͕ߴ͍㱻ੑೳɾ҆શੑͷ
ఏҊख๏
εΫϦϓτͰߴ͔ͭলϝϞϦʹ֦ுՄೳ w8FCαʔόϓϩηεͷΠϯλϓϦλΈࠐΈΛ࠷దԽ wߴूੵϚϧνςφϯτํࣜͰӡ༻อकΛߟྀͨ͠ػೳ ֦ுΞʔΩςΫνϟॏཁ ੑೳ໘ͱ҆શੑΛཱ྆ͨ͠ΞʔΩςΫνϟͷઃܭͱੜ ࢈ੑΛߴΊΔ࣮ˠষ
8FCαʔόͷϦιʔε੍ޚͱ՝
ैདྷͷ8FCαʔόͷϦιʔε੍ޚ wϋʔυΣΞϦιʔεಉ࣌ଓͳͲΛ୯७ͳᮢ ॲཧͰ੍ݶ wᮢΛ͑ΔͱϦΫΤετॲཧΛڧ੍அɾڋ൱ wड͚Δ͔ड͚ͳ͍͔ͷ୯७ͳ੍ޚ
ैདྷͷϦιʔε੍ޚͷ՝ wϚϧνςφϯτʹ͓͍ͯཧऀ͕ίϯςϯπΛཧͰ͖ ͳ͍ঢ়گͰϦιʔε༻ྔΛॊೈʹ੍ޚͰ͖ͳ͍ wಉ࣌ଓͳ͍ͰҰͭͷϦΫΤετͰେྔʹϦιʔε Λ༻͢ΔίϯςϯπΛߟྀͰ͖͍ͯͳ͍ wಉҰͷαʔϏεར༻ྉΛ͍ͬͯΔ͕Ϧιʔεڝ߹ʹΑ Γշదʹ͑ΔϢʔβͱ͑ͳ͍Ϣʔβͷ͕ࠩେ͖͍
ఏҊख๏
ϦΫΤετ୯ҐͰϦιʔεΛ wϦΫΤετͷதஅͰͳ͘ܧଓతʹॲཧ wϦΫΤετ୯ҐͰϦΫΤετͷଐੑʹج͍ͯϦιʔε੍ޚ wཧऀ͕ෳࡶͳઃఆΛϓϩάϥϚϒϧʹදݱՄೳ ಛఆͷίϯϐϡʔλϦιʔεൣғͰॲཧ͢ΔΞʔΩς Ϋνϟˠষ
ୈষ ߴूੵϚϧνςφϯτํࣜʹΑΔ WebόʔνϟϧϗεςΟϯάج൫ͷ ηΩϡϦςΟͱӡ༻ٕज़ͷ՝ͱվળ
ষͷ՝ͷ·ͱΊ wಈతίϯςϯπ$(*ํࣜΛ͏ඞཁ͕͋Δ ෳόʔδϣϯͷΠϯλϓϦλΛѻ͍͍ͨ %40൛ͷΞΫηε੍ޚ$(*ఔͷੑೳʹͳΔ ੩తઃఆͷ૿ՃʹΑΔϝϞϦ༻ྔͷ૿େ wγεςϜྖҬͷӾཡෆՄͷͨΊͷઃఆίετ͕ߴ͍
ӡ༻໘ͱηΩϡϦςΟΛཱ྆͢ΔఏҊ wϦΫΤετϑΝΠϧ͔ΒಈతʹPXOFSΛऔಘ ઃఆΛςφϯτͷʹ߹Θͤͯ૿͢ඞཁແ͠ ूੵʹґଘ͢ΔϝϞϦ૿େΛݮ ߴूੵ࣌ʹ͓͍ͯϝϞϦ૿େʹ͏ϖʔδςʔϒϧΤϯ τϦ͕૿͑ͳ͍ͨΊGPSL ͕͘ͳΒͳ͍ wݖݶͷࡍʹϑΝΠϧγεςϜΛ߹Θִͤͯ
1BSFOUIUUQEQSPDFTT PXOFSSPPU $IJMEIUUQEQSPDFTT PXOFSSPPU JOEFYQIQ PXOFSVTFS TFUVJE TFUHJE QBSTF SVO
˞%40 ैདྷͷΞΫηε੍ޚख๏ $IJMEIUUQEQSPDFTT PXOFSVTFS $IJMEIUUQEQSPDFTT PXOFSVTFS UFSNJOBUFQSPDFTT ϦΫΤετຖͷࢠIUUQEϓϩηεͷੜഁغ͕ඞཁ
$(*QSPDFTT PXOFSVTFS $(*QSPDFTT PXOFSSPPU QIQDHJJOEFYQIQ PXOFSVTFS $(*QSPDFTT PXOFSVTFS ੩తʹઃఆ͞ΕͨVJEΛݩʹTFUVJE TFUHJE
GPSL FYFDWF TVFYFDQSPHSBN TFUVJESPPU UFSNJOBUFQSPDFTT FYFDWF 1BSFOUIUUQEQSPDFTT PXOFSSPPU $IJMEIUUQEQSPDFTT PXOFSBQBDIF ϦΫΤετຖʹ$(*༻ϓϩηεͷ ੜഁغ͕ඞཁ ˞$(* ैདྷͷΞΫηε੍ޚख๏
$(*QSPDFTT PXOFSVTFS $(*QSPDFTT PXOFSSPPU QIQDHJJOEFYQIQ PXOFSVTFS $(*QSPDFTT PXOFSVTFS DISPPU
ϦΫΤετϑΝΠϧ͔ΒVJEऔಘޙ TFUVJE TFUHJE GPSL FYFDWF TVFYFDQSPHSBN TFUVJESPPU UFSNJOBUFQSPDFTT FYFDWF 1BSFOUIUUQEQSPDFTT PXOFSSPPU $IJMEIUUQEQSPDFTT PXOFSBQBDIF DISPPU&OWJSPONFOU ˞$(* ఏҊ͢ΔΞʔΩςΫνϟ
ੑೳධՁ w"QBDIFIUUQEʹରͯ͠ఏҊΞʔΩςΫνϟΛ࣮ wಉ࣌ଓΛมԽͤ͞ͳ͕ΒඵؒͷϨεϙϯεΛܭଌ w1)1ͰจࣈྻΛग़ྗ͢Δ͚ͩͷ$(*ϓϩάϥϜΛར༻ w%40ͷैདྷͷΞΫηε੍ޚɾ$(*ͷैདྷͷΞΫηε੍ޚɾ $(*ͷఏҊ͢ΔΞΫηε੍ޚͰൺֱ
࣮ݧڥ
̏ষ·ͱΊ wӡ༻ٕज़ͱηΩϡϦςΟΛߟྀͨ͠$(*ͷ৽͍͠ΞʔΩςΫνϟΛఏҊ wैདྷͷΞʔΩςΫνϟͱಉͷੑೳͰΑΓηΩϡΞͰѻ͍͍༷͢ ߴूੵ࣌ʹ͓͍ͯઃఆʹԠͨ͡ϝϞϦ૿Ճ͕ੜ͡ͳ͍ͨΊ࣮ӡ༻ ্ߴʹಈ࡞Մೳ wߴूੵϚϧνςφϯτͷςφϯτ૿ՃΛߟྀͨ͠ΞʔΩςΫνϟ
ୈষ εϨου୯ҐͰߴʹݖݶΛߦ͏ WebαʔόͷΞΫηε੍ޚΞʔΩςΫνϟ
ষͷ՝ͷ·ͱΊ wষͷΞΫηε੍ޚΞʔΩςΫνϟӡ༻ੑʹண $(*ͷརʢෳόʔδϣϯͷఏڙʣΛߟྀ w%40൛ͷੑೳΛ׆͔͢ΞΫηε੍ޚख๏͕ແ͍ ࣮ߦํࣜΠϯλϓϦλʹΑͬͯΞΫηε੍ޚख๏ ͕ෳଘࡏ͓ͯ͠Γࡶ
ߴूੵϚϧνςφϯτͱ$(*ɾ%40ͷੑೳ wੑೳ໘Ͱ$(*ຊདྷద͍ͯ͠ͳ͍ ऩ༰͕૿͑ΔͱϓϩηεͷϝϞϦ༻ྔ͕૿͑GPSL ͷޮԼ ͦͦϦΫΤετ୯ҐͰGPSL ͢ΔͷͰ͍ w%40GPSL ͠ͳ͍ͷͰద͍ͯ͠Δ
%40ͷΞΫηε੍ޚΞʔΩςΫνϟϦΫΤετຖʹGPSL ͕ඞཁ
1BSFOUIUUQEQSPDFTT PXOFSSPPU $IJMEIUUQEQSPDFTT PXOFSSPPU JOEFYQIQ PXOFSVTFS TFUVJE TFUHJE QBSTF SVO
˞%40 ैདྷͷΞΫηε੍ޚख๏ $IJMEIUUQEQSPDFTT PXOFSVTFS $IJMEIUUQEQSPDFTT PXOFSVTFS UFSNJOBUFQSPDFTT ϦΫΤετຖͷࢠIUUQEϓϩηεͷੜഁغ͕ඞཁ
ఏҊ͢ΔΞΫηε੍ޚΞʔΩςΫνϟ wಈతίϯςϯπ࣮ߦલʹΦʔφมߋͷಛݖͷΈΛ༩ ͑ͨεϨουΛ࡞ wΦʔφมߋͨ͠εϨου্ͰίϯςϯπΛॲཧ wίϯςϯπ࣮ߦޙεϨουͷΈΛআ w$(*ɾ%40྆ํͷ࣮ߦํࣜʹରԠ͢ΔΞʔΩςΫνϟ
εϨουͱ-JOVY$BQBCJMJUJFT w-JOVY,FSOFMҎ߱ͷಠࣗͷηΩϡϦςΟϞσϧ wSPPUಛݖΛࡉԽͯ͠εϨου୯ҐͰ༩Մೳ wΦʔφʔͷมߋɾXFMMLOPXOQPSUͷMJTUFOݸ w-JOVYલఏͰ͋ΕఏҊख๏͕࣮ݱՄೳ
1BSFOUIUUQEQSPDFTT PXOFSSPPU $IJMEIUUQEQSPDFTT PXOFSBQBDIF UISFBE PXOFSVTFS UISFBE PXOFSBQBDIF JOEFYQIQ PXOFSVTFS
TFUVJE TFUHJE ʜ VOTFUDBQT DSFBUFUISFBE TFUDBQT EFTUSPZUISFBE QBSTF SVO QSDUM TFUVJETFUHJEDBQT UISFBE PXOFSVTFS ˞%40 ఏҊ͢ΔΞΫηε੍ޚΞʔΩςΫνϟ
1BSFOUIUUQEQSPDFTT PXOFSSPPU $IJMEIUUQEQSPDFTT PXOFSBQBDIF UISFBE PXOFSVTFS UISFBE PXOFSBQBDIF TFUVJE TFUHJE
ʜ VOTFUDBQT DSFBUFUISFBE TFUDBQT EFTUSPZUISFBE QSDUM TFUVJETFUHJEDBQT UISFBE PXOFSVTFS ˞$(* ఏҊ͢ΔΞΫηε੍ޚΞʔΩςΫνϟ $(*QSPDFTT PXOFSVTFS QIQDHJJOEFYQIQ PXOFSVTFS $(*QSPDFTT PXOFSVTFS GPSL UFSNJOBUFQSPDFTT FYFDWF
-JOVYͰ"QBDIFϞδϡʔϧͱ࣮ͯ͠
[email protected]
@TFDVSJUZϞδϡʔϧ wઃఆҎԼͷΑ͏ʹγϯϓϧ
ੑೳධՁ w"QBDIFIUUQEʹରͯ͠ఏҊΞʔΩςΫνϟΛ࣮ wඵؒͷϦΫΤετΛมԽͤ͞ϨεϙϯεΛܭଌ wQIQJOGP Λग़ྗ͢Δ͚ͩͷ؆୯ͳϓϩάϥϜΛ༰қ w%40ͷैདྷͷΞΫηε੍ޚɾ$(*ͷैདྷͷΞΫηε੍ޚɾ %40$(*ͷఏҊ͢ΔΞΫηε੍ޚͰൺֱ
࣮ݧڥ
%40࣮ߦํࣜͷΞΫηε੍ޚੑೳൺֱ w ඵؒϦΫΤετΛ૿Ճͤ͞ͳ͕ ΒඵؒϨεϙϯεΛܭଌ w ͷैདྷͷΞΫηε੍ޚ΄ͱΜ Ͳੑೳ͕Ͱ͍ͯͳ͍ w ͷఏҊ͢ΔΞΫηε੍ޚΞΫ ηε੍ޚແ͠ͷ߹ͱൺͯ΄
ͱΜͲΦʔόʔϔουແ͠ ੨ɿΞΫηε੍ޚແ͠ ɿఏҊ͢ΔΞΫηε੍ޚ ɿैདྷͷΞΫηε੍ޚ
$(*࣮ߦํࣜͷΞΫηε੍ޚੑೳൺֱ w ඵؒϦΫΤετΛ૿Ճͤ͞ͳ͕ ΒඵؒϨεϙϯεΛܭଌ w $(*ͷΞΫηε੍ޚͷ༗ແʹؔΘ Βͣ$(*ͷ࣮ߦํࣜͷΦʔόʔ ϔου͕େ͖͍ͨΊɺΞΫηε੍ ޚʹΑΔΦʔόʔϔουແ͍ ੨ɿΞΫηε੍ޚແ͠
ɿैདྷͷΞΫηε੍ޚ ɿఏҊ͢ΔΞΫηε੍ޚ
ষ·ͱΊ wߴूੵϚϧνςφϯτํࣜʹ͓͚ΔੑೳΛߟྀͨ͠Ξ Ϋηε੍ޚΞʔΩςΫνϟͷఏҊ w࣮ߦํࣜͷࠩΛٵऩͨ͠ΞΫηε੍ޚ w%40࣮ߦํࣜͷΞΫηε੍ޚͱͯ͠େ෯ʹੑೳվળ
ୈষ εΫϦϓτݴޠͰߴ͔ͭলϝϞϦʹ ֦ுՄೳͳWebαʔόͷ ػೳ֦ுࢧԉΞʔΩςΫνϟ
ষͷ՝ͷ·ͱΊ w8FCαʔόͷػೳ֦ுʹ͓͍ͯੑೳΛߟྀͨ͠߹ $ݴޠʹΑΔ࣮͕ఆ൪ wैདྷͷ8FCαʔόͷεΫϦϓτݴޠʹΑΔ֦ுੑ ೳ໘ͱ҆શੑʹ՝ wαʔόϓϩηεͷΠϯλϓϦλΈࠐΈͷΞʔΩς ΫνϟͷఏҊ͕ॏཁ
ैདྷͷεΫϦϓτʹΑΔػೳ֦ுํࣜʢ̍ʣ wΠϯλϓϦλڞ༗ํࣜʢ
[email protected]
ɺ
[email protected]
ʣ αʔόϓϩηεىಈ࣌ʹ୯ҰͷΠϯλϓϦλ֬อ ϦΫΤετॲཧ࣌ʹෳͷεΫϦϓτͰΠϯλϓϦλڞ༗ άϩʔόϧͷঢ়ଶڞ༗ ߴػೳ͔ͭنͷେ͖͍ΠϯλϓϦλʹ࠷ద
ैདྷͷεΫϦϓτʹΑΔػೳ֦ுํࣜʢ̎ʣ wෳΠϯλϓϦλํࣜʢ
[email protected]
ʣ εΫϦϓτ࣮ߦʢϦΫΤετॲཧʣ୯ҐͰΠϯλϓϦλ֬อ άϩʔόϧͳঢ়ଶಠཱͰ҆શ ΠϯλϓϦλ͕֬อ͢Δঢ়ଶ։์ͯ͠লϝϞϦ ػೳͰߴɾলϝϞϦͳΈࠐΈεΫϦϓτݴޠͳͲʹ࠷ద
ैདྷͷػೳ֦ு
[email protected]
[email protected]
[email protected]
ݴޠ $ 1FSM 3VCZ -VB ΠϯλϓϦλॳظԽ
ॲཧ ࣄલ ϥΠϒϥϦಡΈࠐΈ ࣄલ ίϯύΠϧ ࣄલ ίʔυͷมߋ ෆՄ Մ Մ άϩʔόϧঢ়ଶ ڞ༗ ڞ༗ ඇڞ༗
ैདྷख๏ͷ՝ wΠϯλϓϦλڞ༗ํࣜͷ՝ άϩʔόϧঢ়ଶ͕ෳεΫϦϓτͰׯব ࣮ߦ࣌ͷόΠτίʔυ૿ՃʹΑΔϝϞϦͷ૿Ճ wෳΠϯλϓϦλํࣜͷ՝ ΠϯλϓϦλ֬อɾ։์ͷίετ͕ߴ͍
VM • • •
ఏҊ͢ΔΞʔΩςΫνϟ wੑೳ͕ཁٻ͞ΕΔՕॴΠϯλϓϦλڞ༗ wੑೳ͕ཁٻ͞Εͳ͍ՕॴݸผʹΠϯλϓϦλ֬อ wϝϞϦ૿ՃͷݪҼͰ͋ΔόΠτίʔυͷΈΛ։์ w҆શੑͷ໘Ͱάϩʔόϧͷঢ়ଶͷΈΛ։์Մೳ wόΠτίʔυΩϟογϡʹΑΔߴԽՄೳ
αʔόϓϩηε ࢠαʔόϓϩηε" ϦΫΤετॲཧ༻ΠϯλϓϦλ ىಈ࣌ॲཧ༻ΠϯλϓϦλ ϦΫΤετҎ֎ͷॲཧ༻ΠϯλϓϦλ εΫϦϓτ εΫϦϓτ εΫϦϓτ εΫϦϓτ εΫϦϓτ
ੑೳ͕ཁٻ͞ΕΔϑοΫ ΠϯλϓϦλΛڞ༗ ɾ ɾ ɾ
w αʔόϓϩηεىಈ࣌ʹΠϯλϓ ϦλΛ֬อ w ϦΫΤετॲཧ࣌ʹΠϯλϓϦλ Λڞ༗ͯ͠εΫϦϓτΛίϯύΠϧ ͔ͯ͠Β࣮ߦ ߏจղੳ όΠτίʔυੜ 7.্Ͱ࣮ߦ
ϦΫΤετຖʹαʔόϓϩηε͕εΫϦϓτΛϑοΫ εΫϦϓτಡΈࠐΈ ΠϯλϓϦλͱ ϥΠϒϥϦΛڞ༗ όΠτίʔυɺάϩʔόϧมɾΫϥεɺྫ֎ϑϥάΛ։์ ഉଞॲཧ ϚϧνεϨου8FC αʔόΞʔΩςΫνϟ ʹରԠ
ߏจղੳ όΠτίʔυੜ 7.্Ͱ࣮ߦ ϦΫΤετຖʹαʔόϓϩηε͕εΫϦϓτΛϑοΫ εΫϦϓτಡΈࠐΈ ΠϯλϓϦλͱ ϥΠϒϥϦΛڞ༗ άϩʔόϧมɾΫϥεɺྫ֎ϑϥάΛ։์ όΠτίʔυ ςʔϒϧ
w όΠτίʔυΩϟογϡʹΑͬͯαʔ όϓϩηεىಈ࣌ͷίʔυมߋ͕ඞ ཁͳ͍߹ߴԽ w αʔόىಈ࣌ʹίϯύΠϧͯ͠όΠ τίʔυςʔϒϧʹอଘ͓͖ͯ͠ɺ ϦΫΤετ࣌ʹऔಘ࣮ͯ͠ߦ
ΞʔΩςΫνϟͷ࣮ w"QBDIFϞδϡʔϧͷ
[email protected]
ͱ࣮ͯ͠ wOHJOYϞδϡʔϧͷ
[email protected]
ͱ࣮ͯ͠ wNSVCZͱ͍͏ܰྔ3VCZΠϯλϓϦλΛར༻ w3VCZͰ8FCαʔόͷৼΔ͍Λ֦ுՄೳ wదࡐదॴͱͯ͠ैདྷͷ$ݴޠͷ࣮ͱڞଘՄೳ
[email protected]
ͷػೳ֦ுͷ֓ཁਤ
[email protected]
ઃఆྫ # Normal hook <Location /mruby-test> mrubyHandlerMiddle /path/to/test.rb </Location> #
ByteCode Caching at Start up <Location /mruby-test-cache> mrubyHandlerMiddle /path/to/test.rb cache </Location>
[email protected]
Ͱͷ3FWFSTF1SPYZ # mrubyTranslateNameFirst “/path/to/proxy.rb” backends = [ "http://192.168.0.101:8888/", "http://192.168.0.102:8888/", "http://192.168.0.103:8888/",
] r = Apache::Request.new backend = backends[rand(backends.length)] r.reverse_proxy backend + r.unparsed_uri
[email protected]
ͷ#BTJD"VUIXJUI3FEJT # <Location /basic/> # AuthType basic # AuthName "Message
for clients" # AuthBasicProvider mruby # mrubyAuthnCheckPassword /path/to/authn_basic.rb # require valid-user # </Location> anp = Apache::AuthnProvider.new redis = Redis.new "127.0.0.1”, 6379 if redis.get(anp.user) == anp.password Apache.return Apache::AuthnProvider::AUTH_GRANTED else Apache.return Apache::AuthnProvider::AUTH_DENIED end
ҟͳΔ8FCαʔόͷ౷Ұత֦ுهड़ "QBDIF "1* 3VCZTDSJQU
[email protected]
3VCZTDSJQU ɾ ɾ ɾ ɾ
3VCZTDSJQUO /HJOY "1*
[email protected]
3VCZTDSJQU "QBDIF $PSF /HJOY $PSF 3VCZ %4- GPS8FC "QBDIF 5SB⒏D 4FSWFS "1*
[email protected]
"QBDIF 5SB⒏D 4FSWFS $PSF SFGIUUQTHJUIVCDPNTZVDSFBN
[email protected]
౷Ұతهड़ྫ # Output Hello World Server = get_server_calss Server.rputs "Hello
#{Server.module_name}/ #{Server.module_version} world!" # mod_mruby => "Hello mod_mruby/1.9.3 world!" # ngx_mruby => "Hello ngx_mruby/1.3.2 world!" # ts_mruby => "Hello ts_mruby/0.0.1 world!"
࣮ݧ wϝϞϦ༻ྔͷධՁ wੑೳධՁ )FMMP8PSMEग़ྗͷ୯७ͳϓϩάϥϜ ैདྷɾఏҊख๏Ͱ࣮ߦ͠ඵؒͷϨεϙϯεΛܭଌ ಉ࣌ଓɾ૯ଓສ
࣮ݧڥ
ϦΫΤετ૿ՃʹΑΔϝϞϦ૿Ճྔ
ैདྷख๏ͱͷੑೳൺֱ ैདྷͷػೳ֦ ு
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
Ωϟογϡ ݴޠ
$ 1FSM 3VCZ -VB NSVCZ NSVCZ ΠϯλϓϦλ ॳظԽॲཧ ࣄલ ࣄલ ࣄલ ϥΠϒϥϦ ಡΈࠐΈ ࣄલ ࣄલ ࣄલ ίϯύΠϧ ࣄલ ࣄલ ίʔυͷมߋ ෆՄ Մ Մ Մ ෆՄ άϩʔόϧঢ়ଶ ڞ༗ ڞ༗ ඇڞ༗ ඇڞ༗ ඇڞ༗ ੑೳ 3FTQPOTFTFD
ষͷ·ͱΊ wεΫϦϓτݴޠͰߴ͔ͭ҆શʹಈ࡞͢Δ8FCαʔό ػೳ֦ுࢧԉΞʔΩςΫνϟΛఏҊ wैདྷݚڀΑΓߴͰ8FCαʔό׆༻έʔεͰ$ݴ ޠͰͷ࣮ʹḮ৭ͳ͍ΞʔΩςΫνϟΛ࣮ݱ w͘ΘΕ͍ͯΔ8FCαʔόιϑτΣΞͷϞδϡʔ ϧͱ࣮ͯ͠͠ΦʔϓϯιʔειϑτΣΞͱͯ͠ެ։
ষͷࠓޙͷ՝ wάϩʔόϧมྖҬͷࣗಈ։์ػೳ wݱࡏखಈ։์Ͱ͋Δ͕ಛఆͷάϩʔόϧมҎ֎ ࣗಈͰ։์Ͱ͖ΔॲཧʢઃఆͰΓସ͑ՄೳʣΛ Ճ༧ఆ
ୈষ ϦΫΤετ୯ҐͰίϯϐϡʔλϦιʔεΛ ͢ΔWebαʔόͷ Ϧιʔε੍ޚΞʔΩςΫνϟ
ষͷ՝ͷ·ͱΊ wϚϧνςφϯτʹ͓͍ͯཧऀ͕ίϯςϯπΛཧͰ ͖ͳ͍ঢ়گͰϦιʔε༻ྔΛॊೈʹ੍ޚͰ͖ͳ͍ wಉ࣌ଓͰҰͭͷϦΫΤετͰେྔʹϦιʔε Λ༻͢ΔίϯςϯπΛߟྀͰ͖͍ͯͳ͍ wಉҰͷαʔϏεར༻ྉΛ͍ͬͯΔ͕շదʹ͑ΔϢʔ βͱ͑ͳ͍Ϣʔβͷ͕ࠩେ͖͍
࣮ݱ͍ͨ͠Ϧιʔε੍ޚʢ̍ʣ 8FCαʔό 8FCαʔό Ϛϧνςφϯτํࣜͷαʔόશମͷ$16Ϧιʔε͕ṧഭͨ͠ঢ়ଶʹ͓͍ͯɺ ༻Ͱ͖Δ$16Ϧιʔεʹ੍ݶ͞ΕΔ͕ɺར༻Ͱ͖ΔΫϥΠΞϯτഒ ΞΫηεෆՄ ΞΫηεՄʂ ΞΫηεՄ ͭͷ$16ˋ༻͢Δ
ϓϩάϥϜΛॲཧ ͭͷ$16ˋ༻͢Δ ϓϩάϥϜΛॲཧ ఏҊख๏ ैདྷख๏
࣮ݱ͍ͨ͠Ϧιʔε੍ޚʢ̎ʣ wϦΫΤετʹؚ·ΕΔ༷ʑͳଐੑΛݩʹ੍ޚ͍ͨ͠ ߴूੵϚϧνςφϯτํࣜͰϦΫΤετͷଐੑͰ ςφϯτΛ۠ผ͠ϓϩηεΛڞ༗͢ΔͨΊ ϦΫΤετ୯ҐͰͷϦιʔε͕ඞཁ wෳࡶͳઃఆΛϓϩάϥϚϒϧʹهड़Մೳʹ͍ͨ͠
ఏҊ͢ΔϦιʔε੍ޚΞʔΩςΫνϟ w04ͷϓϩηεϦιʔεٕज़Λ8FCαʔόͷϦΫ Τετ୯ҐͰ׆༻੍͠ޚ wষͷػೳ֦ுࢧԉػߏ
[email protected]
ΛԠ༻ ϓϩάϥϚϒϧͰΦʔόʔϔουগͳ͍ࢧԉػߏͰ ϦΫΤετ୯ҐʹϦιʔεΛ੍ޚՄೳ
-JOVYಠࣗͷϦιʔε੍ޚDHSPVQ wϓϩηε୯ҐͰ$16ɾϝϞϦɾ*0Λ੍ޚ -JOVY,FSOFMҎ߱ͷػೳ ಛఆͷϓϩηείΞ$16·ͰׂͳͲ $16ΛׂΓͯͨϦιʔεάϧʔϓΛ࡞ άϧʔϓʹࢀՃ͍ͯ͠ΔϓϩηεͰϦιʔε
ϦΫΤετ୯ҐͰͷϦιʔε੍ޚ 8FCαʔό ϓϩηε ΫϥΠΞϯτ ϦΫΤετ Ϩεϙϯε ϨεϙϯεੜͷॲཧͷؒͷΈ ϓϩηεΛಛఆͷDHSPVQʹΞλον ʢ$16ͳͲʣ DHSPVQΞλον
DHSPVQσλον
"QBDIFͱ
[email protected]
ʹΑΔ࣮֓ཁ
Ϧιʔε੍ޚͷઃఆྫ r = Apache::Request.new if r.filename == “/path/to/cpu.cgi” cpu =
Cgroup::CPU.new “cpu_group” # CPU 10 cpu.cfs_quota_us = 10000 cpu.create cpu.attach end ݫີʹNTதNTͷ$16༻࣌ؒΛ RVPUBͱͯ͠εέδϡʔϧ͢Δઃఆ
Ϧιʔε੍ޚͷઃఆྫ r = Apache::Request.new if r.hostname == “example.com” cpu =
Cgroup::CPU.new “cpu_group” # CPU 10 cpu.cfs_quota_us = 10000 cpu.create cpu.attach end
Ϧιʔε੍ޚͷઃఆྫ r = Apache::Request.new if r.method== “POST” cpu = Cgroup::CPU.new
“cpu_group” # CPU 10 cpu.cfs_quota_us = 10000 cpu.create cpu.attach end
Ϧιʔε੍ޚͷઃఆྫ r = Apache::Request.new if r.finfo.user == 500 cpu =
Cgroup::CPU.new “cpu_group” # CPU 10 cpu.cfs_quota_us = 10000 cpu.create cpu.attach end
Ϧιʔε੍ޚͷઃఆྫ r = Apache::Request.new if r.finfo.size > 3000 cpu =
Cgroup::CPU.new “cpu_group” # CPU 10 cpu.cfs_quota_us = 10000 cpu.create cpu.attach end
ਫ਼ͱΦʔόʔϔουͷධՁ wϦιʔε੍ޚಋೖʹΑΔΦʔόʔϔουධՁ wϦιʔε੍ޚͷਫ਼ධՁ
࣮ݧڥ
ΦʔόʔϔουͷධՁ w)FMMP8PSME͢Δ͚ͩͷ)5.-ϑΝΠϧ wϦιʔε੍ޚಋೖ੍͠ݶΛ͠ͳ͍߹ͷΦʔόʔϔου wಉ࣌ଓɾ૯ଓສϦΫΤετ ະಋೖ࣌ɿSFTQPOTFTFD ɹಋೖ࣌ɿSFTQPOTFTFD
Ϧιʔε੍ޚͷਫ਼ධՁ w$16༻͢Δ$(*ϦΫΤετ w$16ʹϦιʔε੍ޚ w$(*ͷ$16༻࣌ؒΛมߋͯ͠ਫ਼Λൺֱ wੑೳ੍ޚΛఆٛɿ wϨεϙϯε࣌ؒʢ੍ޚ࣌ʣ$16༻࣌ؒʢ੍ޚແ࣌͠ʣ wੑೳ੍ޚ͕ʹ͚ۙΕਖ਼੍͘͠ޚ͞Ε͍ͯΔ
ষͷ·ͱΊ wϦΫΤετ୯ҐͰίϯϐϡʔλϦιʔεΛ wϚϧνςφϯτํࣜͷΑ͏ʹϦΫΤετͰςφϯτΛಛ ఆ͠ॲཧ͢Δϓϩηεڞ༗͢ΔΞʔΩςΫνϟʹ༗༻ wߴूੵϚϧνςφϯτํࣜʹ͓͍ͯैདྷݚڀΑΓฏ ʹϦιʔεΛ͢Δࣄ͕Մೳ
ୈষ ·ͱΊ
·ͱΊ w8FCαʔόͷߴूੵϚϧνςφϯτํࣜʹؔ͢Δݚڀ ηΩϡϦςΟͱӡ༻໘Λཱ྆ͨ͠ΞΫηε੍ޚͷݚڀ ੑೳͱηΩϡϦςΟΛཱ྆ͨ͠ΞΫηε੍ޚͷݚڀ 8FCαʔόػೳ֦ுࢧԉػߏͷݚڀ 8FCαʔόͷϦιʔε੍ޚͷݚڀ
ߩݙ w8FCαʔόͷߴूੵϚϧνςφϯτํࣜʹ͓͚Δϓϩηεڞ ༗ͷ՝Λମܥతʹཧ͠ΞʔΩςΫνϟΛఏҊͯ͠ղܾ ηΩϡϦςΟɾੑೳɾϦιʔε੍ޚɾӡ༻ٕज़ wಛʹ8FCϗεςΟϯάαʔϏεΛରʹΞʔΩςΫνϟͷ࣮ Λߦ͍αʔϏεөɾվળ -JOVYΛ׆༻֤ͨ͠छ8FCαʔϏεͷߴԽʹد༩
044ͱͯ͠ެ։ wୈষ
[email protected]
@TFDVSJUZ wୈষ
[email protected]
[email protected]
ͱ֤छNSVCZϞδϡʔϧ wୈষNSVCZDHSPVQ wੈքத͔Β֤छࣄྫΛ࿈བྷ͍͓ͯΓ·͢
ຊจʹؚ·ΕΔൃදจݙ จࢽจ 1 দຊ྄հ, Ԭ෦ णஉ, mod_mruby: εΫϦϓτݴޠͰߴ͔ͭলϝϞϦʹ֦ுՄೳͳWebαʔ όͷػೳ֦ுࢧԉػߏ, ใॲཧֶձจࢽɼVol.55,
No.11, pp.2451-2460, Nov 2014. 2 দຊ྄հ, Ԭ෦णஉ,εϨου୯ҐͰݖݶΛߦ͏WebαʔόͷΞΫηε੍ޚΞʔΩςΫνϟ, ిࢠใ௨৴ֶձจࢽ Vol.J96-B, No.10, pp.1122-1130, Oct 2013. 3 দຊ྄հ, ݪক࢘, দԬً, େنڞ༗ܕWebόʔνϟϧϗεςΟϯάج൫ͷηΩϡϦςΟ ͱӡ༻ٕज़ͷվળ, ใॲཧֶձจࢽ, Vol.54, No.3, pp.1077-1086, Mar. 2013.
ຊจʹؚ·ΕΔൃදจݙ ࠃࡍձٞൃදʢࠪಡ͖ʣ 1 Ryosuke Matsumoto, Yasuo Okabe, Access Control Architecture
Separating Privilege by a Thread on a Web Server, The 12th IEEE/IPSJ International Symposium on Applications and the Internet (SAINT2012), pp.178-183, July 2012.
ຊจʹؚ·ΕΔൃදจݙ ޱ಄ൃද 1 দຊ྄հɾԬ෦णஉ, ϦΫΤετ୯ҐͰԾతʹίϯϐϡʔλϦιʔεΛ͢ΔWebαʔό ͷϦιʔε੍ޚΞʔΩςΫνϟ, ใॲཧֶձݚڀใࠂ Vol.2013-IOT-23, No.4, 20139݄.