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
ちいさな Web ブラウザを作ってみよう(オンライン講義版) / Build Your Own...
Search
Takashi Yoneuchi
August 11, 2021
Programming
18
11k
ちいさな Web ブラウザを作ってみよう(オンライン講義版) / Build Your Own Web Browser
本資料はセキュリティ・キャンプ全国大会 2021 B1 の講義で利用したものです。お問合せは
Twitter アカウント
宛によろしくお願いします。
Takashi Yoneuchi
August 11, 2021
Tweet
Share
More Decks by Takashi Yoneuchi
See All by Takashi Yoneuchi
プロダクトセキュリティの「共通言語」を作る ― 技術教育と Policy as Code を例に / "Language" for Product Security
lmt_swallow
0
660
SREを以てセキュリティエンジニアリングを制す / SRE, Security Engineering, and You
lmt_swallow
5
2.7k
Eliminating ReDoS with Ruby 3.2
lmt_swallow
0
210
ソフトウェアサプライチェーンのこれから / Securing Software Supply Chain
lmt_swallow
1
210
AWSのセキュリティ管理をPolicy as Codeで加速する ― 最高のCSPM体験を目指して / Unleashing Policy as Code on AWS CSPM
lmt_swallow
3
2.1k
実践 SpiceDB - クライドネイティブ時代をサバイブできるパーミッション管理の実装を目指して / Practical SpiceDB
lmt_swallow
0
1.6k
Developer-First Security という考え方 / Introduction to Developer-First Security
lmt_swallow
6
9.1k
Go をセキュアに書き進めるための 「ガードレール」を整備しよう / Let's Build Security Guardrails For Your Go Programs!
lmt_swallow
4
5.4k
すこしだけマクロな視点から捉える Web セキュリティ / Web Security from the Macro Perspective (Short Version)
lmt_swallow
2
3.2k
Other Decks in Programming
See All in Programming
シールドクラスをはじめよう / Getting Started with Sealed Classes
mackey0225
4
640
AI時代におけるSRE、 あるいはエンジニアの生存戦略
pyama86
6
1.1k
카카오페이는 어떻게 수천만 결제를 처리할까? 우아한 결제 분산락 노하우
kakao
PRO
0
110
TypeScript Graph でコードレビューの心理的障壁を乗り越える
ysk8hori
2
1.1k
3rd party scriptでもReactを使いたい! Preact + Reactのハイブリッド開発
righttouch
PRO
1
600
Laravel や Symfony で手っ取り早く OpenAPI のドキュメントを作成する
azuki
1
110
Pinia Colada が実現するスマートな非同期処理
naokihaba
4
220
ヤプリ新卒SREの オンボーディング
masaki12
0
130
subpath importsで始めるモック生活
10tera
0
300
タクシーアプリ『GO』のリアルタイムデータ分析基盤における機械学習サービスの活用
mot_techtalk
4
1.4k
C++でシェーダを書く
fadis
6
4.1k
現場で役立つモデリング 超入門
masuda220
PRO
15
3.2k
Featured
See All Featured
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.3k
YesSQL, Process and Tooling at Scale
rocio
169
14k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.7k
Building Your Own Lightsaber
phodgson
103
6.1k
How To Stay Up To Date on Web Technology
chriscoyier
788
250k
Put a Button on it: Removing Barriers to Going Fast.
kastner
59
3.5k
The Language of Interfaces
destraynor
154
24k
Reflections from 52 weeks, 52 projects
jeffersonlam
346
20k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
A better future with KSS
kneath
238
17k
Measuring & Analyzing Core Web Vitals
bluesmoon
4
120
Transcript
͍ͪ͞ͳ8FCϒϥβΛ࡞ͬͯΈΑ͏ ηΩϡϦςΟɾΩϟϯϓશࠃେձ #τϥοΫ :0/&6$)* 5BLBTIJ IUUQTTIJGUKTJOGP
© 2021 shift-js.info ͍ͪ͞ͳWebϒϥβΛ࡞ͬͯΈΑ͏ 2 ຊߨٛࢿྉʹ͍ͭͯ 4QFBLFS%FDLެ։൛͚ͷิ w ຊࢿྉʮηΩϡϦςΟɾΩϟϯϓશࠃେձΦϯϥΠϯ#ʯͷߨٛʹར༻ ͞ΕͨࢿྉΛ࠶ฤͨ͠ͷͰ͢ɻ
w ࣮ࡍʹ8FCϒϥβΛ࡞ΔͨΊͷઆ໌ɺ͜ͷࢿྉʹͳ͘ɺࣄલ՝ࢿྉͱͯ͠ ެ։ͨ͠ΦϯϥΠϯϒοΫIUUQTCSPXTFSCPPLTIJGUKTJOGPʹ͋Γ·͢ɻ
© 2021 shift-js.info ͍ͪ͞ͳWebϒϥβΛ࡞ͬͯΈΑ͏ XIPBNJ ৄࡉIUUQTTIJGUKTJOGPʹ͋Γ·͢ 3 ‣ ถوࢤ :0/&6$)*
5BLBTIJ ‣ ηΩϡϦςΟɾΩϟϯϓதԝେձଔۀੜ ‣ ͜ΕΛػʹηΩϡϦςΟΛࢤ͢Α͏ʹ ‣ גࣜձࣾ'MBUU4FDVSJUZࣥߦһ$50 ‣ ʮ։ൃऀͷͨΊͷɺ։ൃऀʹدΓఴͬͨη ΩϡϦςΟʯΛୈҰٛͱͯ͠ಇ͍͍ͯ·͢ ‣ ੈͷதͷʢಛʹΠϯϋεͷʣϓϩμΫτ νʔϜ͕҆৺ͯ͠ಇ͚ΔੈքΛ࡞Γ͍ͨͰ͢ ‣ ஶॻͳͲ ‣ ʰ8FCϒϥβηΩϡϦςΟʱ ‣ ʰৄղηΩϡϦςΟίϯςετʱ
© 2021 shift-js.info ͍ͪ͞ͳWebϒϥβΛ࡞ͬͯΈΑ͏ ߨٛͷత #͍ͪ͞ͳ8FCϒϥβΛͭͬͯ͘ΈΑ͏ ‣ ࣄલ՝ͷత8FCϒϥβΛ࡞Γͳ͕ΒҎԼΛಘΔ͜ͱͰͨ͠ ‣
طଘͷ8FCϒϥβ࣮ΛಡΉ࣌ͷख͕͔Γ ‣ େྔͷ8FCඪ४จॻʹΛ௨͚ͩ͢ͰಘΒΕͳ͍ಎ IUUQTCSPXTFSCPPLTIJGUKTJOGP
© 2021 shift-js.info ͍ͪ͞ͳWebϒϥβΛ࡞ͬͯΈΑ͏ ߨٛͷత #͍ͪ͞ͳ8FCϒϥβΛͭͬͯ͘ΈΑ͏ ‣ ࠓͷ)ߨٛͷత࡞ΔͨΊͷجૅྗΛ͑Δ͜ͱɻΑΓ۩ମతʹʜ ‣
8FCඪ४طଘͷ8FCϒϥβ࣮ΛಡΉྗɾۛຯ͢Δྗɾݕূ͢ΔྗΛ͑Δ͜ͱɻ ‣ 8FCΫϥΠΞϯταΠυηΩϡϦςΟͷجૅ֓೦Λܰͬͯ͘Β͏͜ͱɻ ‣ ࠓޙʢ8FCϒϥβҎ֎ؚΊʣ༷ʑͳϓϩμΫτΛௐࠪɾֶशɾ։ൃ͍ͯͨ͘͠Ίͷ ͞ΒͳΔֶशΛਐΊ͍ͯͨ͘ΊͷΛ࡞Δ͜ͱɻ Ͳ͏͍͏എܠͷΈͩΖ͏ʁ ଥͳΈ͔ͳʁ ϒϥβ࣮ඪ४௨Γ͔ͳʁ 🧐
© 2021 shift-js.info ͍ͪ͞ͳWebϒϥβΛ࡞ͬͯΈΑ͏ 6 ‣ 1BSUࣄલֶशͷৼΓฦΓ ‣ ࣄલֶशͰऔΓѻ߲ͬͨΛͬ͟ͱ࠶આ໌͠·͢ɻ ‣
1BSUޚऀࢹͰߟ͑Δ8FCϒϥβͷηΩϡϦςΟ ‣ 'FUDI4UBOEBSEΛࡐʹɺ8FCඪ४ΛಡΈղ͖ͳ͕Βɺݱ8FCʹ͓͚ΔηΩϡϦ ςΟʹ͍ͭͯͷߟ͑ํΛ༷͔Βཧղ͢Δɾݕূ͢ΔԋशʹऔΓΜͰ͍͖ͨͩ·͢ɻ ‣ 1BSU߈ܸऀࢹͰߟ͑Δ8FCϒϥβͷηΩϡϦςΟ ‣ ຊߨٛͰ࡞ͬͨϒϥβͷϦϑΝϨϯε࣮ͷ8FCඪ४ʹै͍ͬͯͳ͍ՕॴΛࡐ ʹɺ8FCϒϥβͷڍಈ8FCඪ४Λۛຯ͢ΔԋशʹऔΓΜͰ͍͖ͨͩ·͢ɻ ‣ 1BSU͞Βʹ͘ɾਂ͘ߟ͑Δ8FCϒϥβͷηΩϡϦςΟ ‣ 8FCϒϥβͷΠϯλʔϑΣΠεʹؔ࿈͢Δɺ8FCϒϥβͷ͞Βʹৄࡉͳ ෦ߏʹґڌ͢Δʹ͍ͭͯɺ࣮ࡍͷػೳͷݕূΛަ͑ͳ͕Β֓؍Λ͓͑͠·͢ɻ ࠓͷߨٛຊཱͯͰ͢
© 2021 shift-js.info ͍ͪ͞ͳWebϒϥβΛ࡞ͬͯΈΑ͏ 7 ‣ 1BSUࣄલֶशͷৼΓฦΓ ‣ ࣄલֶशͰऔΓѻ߲ͬͨΛͬ͟ͱ࠶આ໌͠·͢ɻ ‣
1BSUޚऀࢹͰߟ͑Δ8FCϒϥβͷηΩϡϦςΟ ‣ 'FUDI4UBOEBSEΛࡐʹɺ8FCඪ४ΛಡΈղ͖ͳ͕Βɺݱ8FCʹ͓͚ΔηΩϡϦ ςΟʹ͍ͭͯͷߟ͑ํΛ༷͔Βཧղ͢Δɾݕূ͢ΔԋशʹऔΓΜͰ͍͖ͨͩ·͢ɻ ‣ 1BSU߈ܸऀࢹͰߟ͑Δ8FCϒϥβͷηΩϡϦςΟ ‣ ຊߨٛͰ࡞ͬͨϒϥβͷϦϑΝϨϯε࣮ͷ8FCඪ४ʹै͍ͬͯͳ͍ՕॴΛࡐ ʹɺ8FCϒϥβͷڍಈ8FCඪ४Λۛຯ͢ΔԋशʹऔΓΜͰ͍͖ͨͩ·͢ɻ ‣ 1BSU͞Βʹ͘ɾਂ͘ߟ͑Δ8FCϒϥβͷηΩϡϦςΟ ‣ 8FCϒϥβͷΠϯλʔϑΣΠεʹؔ࿈͢Δɺ8FCϒϥβͷ͞Βʹৄࡉͳ ෦ߏʹґڌ͢Δʹ͍ͭͯɺ࣮ࡍͷػೳͷݕূΛަ͑ͳ͕Β֓؍Λ͓͑͠·͢ɻ ࠓͷߨٛຊཱͯͰ͢
© 2021 shift-js.info ͍ͪ͞ͳWebϒϥβΛ࡞ͬͯΈΑ͏ 8 ‣ 1BSUࣄલֶशͷৼΓฦΓ ‣ ࣄલֶशͰऔΓѻ߲ͬͨΛͬ͟ͱ࠶આ໌͠·͢ɻ ‣
1BSUޚऀࢹͰߟ͑Δ8FCϒϥβͷηΩϡϦςΟ ‣ 'FUDI4UBOEBSEΛࡐʹɺ8FCඪ४ΛಡΈղ͖ͳ͕Βɺݱ8FCʹ͓͚ΔηΩϡϦ ςΟʹ͍ͭͯͷߟ͑ํΛ༷͔Βཧղ͢Δɾݕূ͢ΔԋशʹऔΓΜͰ͍͖ͨͩ·͢ɻ ‣ 1BSU߈ܸऀࢹͰߟ͑Δ8FCϒϥβͷηΩϡϦςΟ ‣ ຊߨٛͰ࡞ͬͨϒϥβͷϦϑΝϨϯε࣮ͷ8FCඪ४ʹै͍ͬͯͳ͍ՕॴΛࡐ ʹɺ8FCϒϥβͷڍಈ8FCඪ४Λۛຯ͢ΔԋशʹऔΓΜͰ͍͖ͨͩ·͢ɻ ‣ 1BSU͞Βʹ͘ɾਂ͘ߟ͑Δ8FCϒϥβͷηΩϡϦςΟ ‣ 8FCϒϥβͷΠϯλʔϑΣΠεʹؔ࿈͢Δɺ8FCϒϥβͷ͞Βʹৄࡉͳ ෦ߏʹґڌ͢Δʹ͍ͭͯɺ࣮ࡍͷػೳͷݕূΛަ͑ͳ͕Β֓؍Λ͓͑͠·͢ɻ ࠓͷߨٛຊཱͯͰ͢
© 2021 shift-js.info ͍ͪ͞ͳWebϒϥβΛ࡞ͬͯΈΑ͏ 9 ‣ 1BSUࣄલֶशͷৼΓฦΓ ‣ ࣄલֶशͰऔΓѻ߲ͬͨΛͬ͟ͱ࠶આ໌͠·͢ɻ ‣
1BSUޚऀࢹͰߟ͑Δ8FCϒϥβͷηΩϡϦςΟ ‣ 'FUDI4UBOEBSEΛࡐʹɺ8FCඪ४ΛಡΈղ͖ͳ͕Βɺݱ8FCʹ͓͚ΔηΩϡϦ ςΟʹ͍ͭͯͷߟ͑ํΛ༷͔Βཧղ͢Δɾݕূ͢ΔԋशʹऔΓΜͰ͍͖ͨͩ·͢ɻ ‣ 1BSU߈ܸऀࢹͰߟ͑Δ8FCϒϥβͷηΩϡϦςΟ ‣ ຊߨٛͰ࡞ͬͨϒϥβͷϦϑΝϨϯε࣮ͷ8FCඪ४ʹै͍ͬͯͳ͍ՕॴΛࡐ ʹɺ8FCϒϥβͷڍಈ8FCඪ४Λۛຯ͢ΔԋशʹऔΓΜͰ͍͖ͨͩ·͢ɻ ‣ 1BSU͞Βʹ͘ɾਂ͘ߟ͑Δ8FCϒϥβͷηΩϡϦςΟ ‣ 8FCϒϥβͷΠϯλʔϑΣΠεʹؔ࿈͢Δɺ8FCϒϥβͷ͞Βʹৄࡉͳ ෦ߏʹґڌ͢Δʹ͍ͭͯɺ࣮ࡍͷػೳͷݕূΛަ͑ͳ͕Β֓؍Λ͓͑͠·͢ɻ ࠓͷߨٛຊཱͯͰ͢
© 2021 shift-js.info ͍ͪ͞ͳWebϒϥβΛ࡞ͬͯΈΑ͏ 10 ‣ 1BSUࣄલֶशͷৼΓฦΓ ‣ ࣄલֶशͰऔΓѻ߲ͬͨΛͬ͟ͱ࠶આ໌͠·͢ɻ ‣
1BSUޚऀࢹͰߟ͑Δ8FCϒϥβͷηΩϡϦςΟ ‣ 'FUDI4UBOEBSEΛࡐʹɺ8FCඪ४ΛಡΈղ͖ͳ͕Βɺݱ8FCʹ͓͚ΔηΩϡϦ ςΟʹ͍ͭͯͷߟ͑ํΛ༷͔Βཧղ͢Δɾݕূ͢ΔԋशʹऔΓΜͰ͍͖ͨͩ·͢ɻ ‣ 1BSU߈ܸऀࢹͰߟ͑Δ8FCϒϥβͷηΩϡϦςΟ ‣ ຊߨٛͰ࡞ͬͨϒϥβͷϦϑΝϨϯε࣮ͷ8FCඪ४ʹै͍ͬͯͳ͍ՕॴΛࡐ ʹɺ8FCϒϥβͷڍಈ8FCඪ४Λۛຯ͢ΔԋशʹऔΓΜͰ͍͖ͨͩ·͢ɻ ‣ 1BSU͞Βʹ͘ɾਂ͘ߟ͑Δ8FCϒϥβͷηΩϡϦςΟ ‣ 8FCϒϥβͷΠϯλʔϑΣΠεʹؔ࿈͢Δɺ8FCϒϥβͷ͞Βʹৄࡉͳ ෦ߏʹґڌ͢Δʹ͍ͭͯ֓؍Λ͓͑͠·͢ɻ ࠓͷߨٛຊཱͯͰ͢
© 2021 shift-js.info ͍ͪ͞ͳWebϒϥβΛ࡞ͬͯΈΑ͏ 11 ‣ ͠Α͚Ε5XJUUFS(PPHMF.FFUͷνϟοτͰΨϠΨϠ͍ͯͩ͘͠͞ ‣ ࣭4MBDL.FFUͷ྆ํͰԕྀͳ͘Ͳ͏ͧʂ ߨࢣ͔Βͷ͓ئ͍ࣄ
ࣄલֶशͷৼΓฦΓ 1BSU
© 2021 shift-js.info ͍ͪ͞ͳWebϒϥβΛ࡞ͬͯΈΑ͏ ࣄલ՝ IUUQTCSPXTFSCPPLTIJGUKTJOGP
© 2021 shift-js.info ͍ͪ͞ͳWebϒϥβΛ࡞ͬͯΈΑ͏ 14 ‣ ϨϯμϦϯάΤϯδϯؔ࿈ͷجૅ֓೦ ‣ )5.-ɾ%0.ؔ࿈ ‣
$44ɾ$440.ؔ࿈ ‣ ϨϯμϦϯάπϦʔؔ࿈ ‣ #PY5SFFͱϨΠΞτɾϖΠϯτؔ࿈ ‣ +BWB4DSJQUΤϯδϯʢͱ͘ʹ7ʣؔ࿈ ‣ ؆қ%0."1*ؔ࿈ ‣ 8FCඪ४ϓϥοτϑΥʔϜपลͷجૅ֓೦ ‣ 8FCඪ४ؔ࿈ͷஂମʢ8$ 8)"58( ʣ ‣ 8FC*%- ‣ 8FC1MBUGPSN5FTUT ࣄલֶशࢿྉͷৼΓฦΓ )5.-ɾ$44 %0. $440. ϨϯμϦϯάπϦʔ ϨΠΞτ݁Ռ ϖΠϯτ݁Ռ ελΠϦϯά ࣈ۟ղੳɾߏจղੳͳͲ ϨΠΞτ ϖΠϯτ +BWB4DSJQU ʹΑΔ࡞༻ )551ʹΑΔ )5.-ɾ$44ͷऔಘ
© 2021 shift-js.info ͍ͪ͞ͳWebϒϥβΛ࡞ͬͯΈΑ͏ 15 ‣ Ծఆ)551Λ௨ͯ͠औಘ͖ͯͨ͠ 8FCϖʔδΛ͜Ε͔Βඳը͢Δͱ͢Δ ‣ ఔ)5.-Λύʔεͯ͠%0.ͷΑ͏
ͳߏʹม͢Δ ‣ ՝ҎԼΛ࢝Ίͱͨ͠ಠಛͳ༷܈ ‣ ࣈ۟ղੳߏจղੳͷϓϩηε͕༰Ͱ͋Δ ‣ શͳ%0.ͷߏஙʹɺߏங࠷தͷ +BWB4DSJQUͷಉظత࣮ߦ͕ඞཁ ‣ ࣮ࣄલ՝ࢿྉͰ)5.- 4UBOEBSE͕ఆٛ͢Δݴޠͷαϒηοτ Ͱ͋Δখ͞ͳจ຺ࣗ༝ݴޠΛߟ͑ͨ )5.-ΛऔΓѻ͏ ࣄલֶशࢿྉͷৼΓฦΓ )5.-ɾ$44 %0. $440. ϨϯμϦϯάπϦʔ ϨΠΞτ݁Ռ ελΠϦϯά ࣈ۟ղੳɾߏจղੳͳͲ ϨΠΞτ ϖΠϯτ +4ىҼͷ ࠶ೖ +4ىҼͷ มߋ ϖΠϯτ݁Ռ
© 2021 shift-js.info ͍ͪ͞ͳWebϒϥβΛ࡞ͬͯΈΑ͏ 16 ݱࡏ8)"58(ʹΑΓ-JWJOH4UBOEBSEͱͯ͠ϝϯςφϯε͞Ε͍ͯΔ )5.-ʹؔ͢Δ8FCඪ४
© 2021 shift-js.info ͍ͪ͞ͳWebϒϥβΛ࡞ͬͯΈΑ͏ 17 $44ΛऔΓѻ͏ ࣄલֶशࢿྉͷৼΓฦΓ )5.-ɾ$44 %0. $440.
ϨϯμϦϯάπϦʔ ϨΠΞτ݁Ռ ελΠϦϯά ࣈ۟ղੳɾߏจղੳͳͲ ϨΠΞτ ϖΠϯτ +BWB4DSJQU ʹΑΔ࡞༻ ‣ Ծఆ)551Λ௨ͯ͠औಘ͖ͯͨ͠ 8FCϖʔδΛ͜Ε͔Βඳը͢Δͱ͢Δ ‣ ఔ$44Λύʔεͯ͠$440.ʢͦ Εʹྨ͢Δσʔλߏʣʹม͢Δ ‣ )5.-ಉ༷ʹ!JNQPSUͳͲ͕$440. ߏஙΛϒϩοΫ͠͏Δ͕ɺ)5.-ͷऔΓ ѻ͍΄ͲෳࡶͳͷͰͳ͍ ‣ $440.$BTDBEJOH%FGBVMUJOHʹ උ͑ͯπϦʔߏΛऔ͍ͬͯΔ߹͋Δ ‣ ࣮ࣄલ՝ࢿྉͰ$444ZOUBY .PEVMF-FWFMΛத৺ͱͨ͠ඪ४͕ఆ ٛ͢ΔݴޠͷαϒηοτΛߟ͑ͨ ϖΠϯτ݁Ռ
© 2021 shift-js.info ͍ͪ͞ͳWebϒϥβΛ࡞ͬͯΈΑ͏ 18 ݱࡏ8$ʹΑΓෳͷϞδϡʔϧʹׂ͞Εͯϝϯςφϯε͞Ε͍ͯΔ $44ʹؔ͢Δ8FCඪ४
© 2021 shift-js.info ͍ͪ͞ͳWebϒϥβΛ࡞ͬͯΈΑ͏ 19 ϨϯμϦϯάͷલ४උ ࣄલֶशࢿྉͷৼΓฦΓ )5.-ɾ$44 %0. $440.
ϨϯμϦϯάπϦʔ ϨΠΞτ݁Ռ ελΠϦϯά ࣈ۟ղੳɾߏจղੳͳͲ ϨΠΞτ ϖΠϯτ +BWB4DSJQU ʹΑΔ࡞༻ ‣ Ծఆ)551Λ௨ͯ͠औಘ͖ͯͨ͠ 8FCϖʔδΛ͜Ε͔Βඳը͢Δͱ͢Δ ‣ ఔ$440.ͱ%0.͔Β࣮ը໘ʹϨ ϯμϦϯά͞ΕΔཁૉͷπϦʔΛ࡞Δ ‣ 'JMUFSJOHηϨΫλʹΑΓ%0.πϦʔͷ ֤ཁૉʹରͯ͠ద༻͞ΕΔએݴΛநग़͢Δ ‣ $BTDBEJOHએݴͷৄࡉͳͲͷใΛ ͬͯɺ%0.πϦʔͷ֤ཁૉʹ࣮ࡍʹద ༻͞ΕΔએݴΛܾఆ͢Δ ‣ %FGBVMUJOHࢠ্༷ؔͷॳظΛ ߟྀ͠ɺ֤ཁૉͷͭϓϩύςΟͷ͏ͪɺ ໌֬ͳએݴͷͳ͍ͷͷΛܾఆ͢Δ ‣ ্࣮هʹ੍ݶΛೖΕͯߦͬͨ ϖΠϯτ݁Ռ
© 2021 shift-js.info ͍ͪ͞ͳWebϒϥβΛ࡞ͬͯΈΑ͏ 20 ϨΠΞτ ࣄલֶशࢿྉͷৼΓฦΓ )5.-ɾ$44 %0. $440.
ϨϯμϦϯάπϦʔ ϨΠΞτ݁Ռ ϖΠϯτ݁Ռ ελΠϦϯά ࣈ۟ղੳɾߏจղੳͳͲ ϨΠΞτ ϖΠϯτ +BWB4DSJQU ʹΑΔ࡞༻ ‣ Ծఆ)551Λ௨ͯ͠औಘ͖ͯͨ͠ 8FCϖʔδΛ͜Ε͔Βඳը͢Δͱ͢Δ ‣ ఔ࣮ը໘ʹϨϯμϦϯά͞ΕΔཁૉͷ πϦʔΛɺ࣮ࡍͷը໘ͷׂΓ͚ʹۙ ͍ߏͷπϦʔʹม͢Δ ‣ $44%JTQMBZ.PEFM.PEVMF$44#PY .PEFM.PEVMFͳͲ͕ؔ࿈ ‣ ͜ͷपลͷ෦࣮8FCϒϥβʹ ΑͬͯҟͳΓ͕ͪ ‣ ࣮EJTQMBZϓϩύςΟΛ༻͍ͨͷ؆ қతͳมͷΈΛ࣮ͨ͠
© 2021 shift-js.info ͍ͪ͞ͳWebϒϥβΛ࡞ͬͯΈΑ͏ 21 ϖΠϯτ ࣄલֶशࢿྉͷৼΓฦΓ )5.-ɾ$44 %0. $440.
ϨϯμϦϯάπϦʔ ϨΠΞτ݁Ռ ϖΠϯτ݁Ռ ελΠϦϯά ࣈ۟ղੳɾߏจղੳͳͲ ϨΠΞτ ϖΠϯτ +BWB4DSJQU ʹΑΔ࡞༻ ‣ Ծఆ)551Λ௨ͯ͠औಘ͖ͯͨ͠ 8FCϖʔδΛ͜Ε͔Βඳը͢Δͱ͢Δ ‣ ఔϨΠΞτ݁ՌΛɺͦΕΛ࣮ը໘ʹ ඳը͢ΔͨΊͷԿΒ͔ͷදݱʹม͢Δ ‣ ϒϥβ࣮ʹΑͬͯ͜ͷදݱҟͳΔ ͕ɺ͓Αͦʮ࠲ඪGPPʹCBSΛඳ͘ʯͷΑ ͏ͳݪ࢝తͳදݱΛΠϝʔδ͢ΔͱΑ͍ ‣ ͜ͷ݁ՌෳͷϨΠϠʹղ͞ΕͨΓɺ ٯʹ࣮ࡍͷඳը࣌ʹෳͷϨΠϠͱ߹ ͞ΕͨΓɺͱ͍ͬͨॲཧΛड͚ͳ͕Β࣮ը ໘ʹྲྀΕ͍ͯ͘ ‣ ࣮طଘ56*ϥΠϒϥϦʢ$VSTJWFʣ ʹڧ͘ґଘͨ͠؆қతͳ࣮Λͨ͠
© 2021 shift-js.info ͍ͪ͞ͳWebϒϥβΛ࡞ͬͯΈΑ͏ 22 %0."1*ͷఏڙ ࣄલֶशࢿྉͷৼΓฦΓ )5.-ɾ$44 %0. $440.
ϨϯμϦϯάπϦʔ ϨΠΞτ݁Ռ ϖΠϯτ݁Ռʢը૾ʣ ελΠϦϯά ࣈ۟ղੳɾߏจղੳͳͲ ϨΠΞτ ϖΠϯτ +BWB4DSJQU ʹΑΔ࡞༻ ‣ ଟ͘ͷ8FCϒϥβ࣮+BWB4DSJQU ΤϯδϯΛͦͷ෦ʹΈࠐΜͰ͍Δ ‣ +BWB4DSJQUΤϯδϯ࣮ͱϒϥβ࣮ ͷؒͷΠϯλʔϑΣΠεɺଟ͘ͷ༷ Ͱ8FC*%-ʹΑΓهड़͞Ε͓ͯΓɺͦ ͷهड़ͭͷ࣮Λͭͳ͙όΠϯσΟ ϯάͷੜͳͲʹ༻͍ΒΕ͍ͯΔ ‣ ࣮+4ΤϯδϯͰ͋Δ7ΛΈࠐΈɺ ҎԼͷ"1*Λ+4͔Βར༻Մೳʹͨ͠ ‣ EPDVNFOUHFU&MFNFOU#Z*Eؔ ‣ ཁૉͷJOOFS)5.-ϓϩύςΟʹର ͢Δ3FBE8SJUF
© 2021 shift-js.info ͍ͪ͞ͳWebϒϥβΛ࡞ͬͯΈΑ͏ 23 খ·ͱΊ 1BSUࣄલֶशͷৼΓฦΓ )5.-ɾ$44 %0. $440.
ϨϯμϦϯάπϦʔ ϨΠΞτ݁Ռ ϖΠϯτ݁Ռ ελΠϦϯά ࣈ۟ղੳɾߏจղੳͳͲ ϨΠΞτ ϖΠϯτ +BWB4DSJQU ʹΑΔ࡞༻ )551ʹΑΔ )5.-ɾ$44ͷऔಘ ‣ ϨϯμϦϯάΤϯδϯؔ࿈ͷجૅ֓೦ ‣ )5.-ɾ%0.ؔ࿈ ‣ $44ɾ$440.ؔ࿈ ‣ ϨϯμϦϯάπϦʔؔ࿈ ‣ #PY5SFFͱϨΠΞτɾϖΠϯτؔ࿈ ‣ +BWB4DSJQUΤϯδϯʢͱ͘ʹ7ʣؔ࿈ ‣ ؆қ%0."1*ؔ࿈ ‣ 8FCඪ४ϓϥοτϑΥʔϜपลͷجૅ֓೦ ‣ 8FCඪ४ؔ࿈ͷஂମʢ8$ 8)"58( ʣ ‣ 8FC*%- ‣ 8FC1MBUGPSN5FTUT
ޚऀࢹͰߟ͑Δ 8FCϒϥβͷηΩϡϦςΟ 1BSU
© 2021 shift-js.info ͍ͪ͞ͳWebϒϥβΛ࡞ͬͯΈΑ͏ 25 8FCඪ४ͱηΩϡϦςΟϞσϧ ˞ྫ֎ͱͯ͠ʢ4BGBSJͷ*51ͷΑ͏ͳʣϓϥΠόγʔपΓͷϞσϧɺ8FCϒϥβͷΞʔΩςΫνϟʹڧؔ͘͢ΔηΩϡϦςΟϞσϧɺʢ8&$(ͳͲ͕ಈ͖ͦ͏͕ͩʣϒϥβ֦ுػ ೳ·ΘΓͷηΩϡϦςΟϞσϧͳͲ8FCඪ४֎ʹ͋Γ͕ͪͳҹɻ ݱ8FCͷجૅͱͳ͍ͬͯΔηΩϡϦςΟϞσϧݒ೦ࣄ߲ 8FCඪ४ϨϕϧͰهड़ɾٞ͞Ε͍ͯΔ
IUUQTIUNMTQFDXIBUXHPSHNVMUJQBHFNFEJBIUNMTFDVSJUZBOEQSJWBDZDPOTJEFSBUJPOT IUUQTIUNMTQFDXIBUXHPSHNVMUJQBHFCSPXTFSTIUNMDSPTTPSJHJOPCKFDUT
© 2021 shift-js.info ͍ͪ͞ͳWebϒϥβΛ࡞ͬͯΈΑ͏ 26 ͜ͷ1BSUͷ֓ཁ ‣ औΓΉ͜ͱ ‣ 'FUDI4UBOEBSEʢͷಛʹηΩϡϦςΟʹ
ؔ࿈͢Δ߲ʣΛಡΈղ͘ ‣ طଘͷ8FCϒϥβ࣮ͷ'FUDIपล ͷڍಈ͕ඪ४ʹै͏͔Λݕূͯ͠ΈΔ ‣ 8FCඪ४ʢಛʹ8*$(ͱ8$ܥʣͷ ηΩϡϦςΟʹؔ͢ΔٞΛோΊͯΈΔ ‣ औΓΈͷඪ ‣ 8FCʹԣͨΘΔجૅతͳηΩϡϦςΟϞσϧ ʹ͍ͭͯͷཧղΛਂΊΔ ‣ 8FCඪ४͔ΒͦͷΑ͏ͳΈͷৄࡉΛಡΈ औΔɾཧղ͢ΔྗΛڧԽ͢Δ
© 2021 shift-js.info ͍ͪ͞ͳWebϒϥβΛ࡞ͬͯΈΑ͏ 27 'FUDIͱ IUUQTGFUDITQFDXIBUXHPSHGFUDIJOH ϦΫΤετͱ͍͔ͭ͘ͷ)PPLΛͱͬͯϨεϙϯεΛੜ͢Δϓϩηε
© 2021 shift-js.info ͍ͪ͞ͳWebϒϥβΛ࡞ͬͯΈΑ͏ 28 ‣ ΞυϨεόʔʹ63-͕ೖྗ͞Εͨͱ ͖ɺϋΠύʔϦϯΫΛΫϦοΫͨ͠ͱ ͖ɺʜʜɺ8FCϒϥβ্Ͱϖʔδ ͷભҠ͕ى͜ΔΑ͏ͳͱ͖ʹɺ͍ͨ
͍ͯ)551௨৴͕ൃੜ͢Δ ‣ )5.-4UBOEBSEͰ͍͏#SPXTJOH $POUFYUͷOBWJHBUJPOʹ֘ ‣ IUUQTIUNMTQFDXIBUXHPSH NVMUJQBHFCSPXTJOHUIF XFCIUNMOBWJHBUF 'FUDIͷྫ )5.-ɾ$44 %0. $440. ϨϯμϦϯάπϦʔ ϨΠΞτ݁Ռ ϖΠϯτ݁Ռʢը૾ʣ ελΠϦϯά ࣈ۟ղੳɾߏจղੳͳͲ ϨΠΞτ ϖΠϯτ 6*ɾϒϥβΤϯδϯ
© 2021 shift-js.info ͍ͪ͞ͳWebϒϥβΛ࡞ͬͯΈΑ͏ 29 ‣ %0.ߏஙதʹ+BWB4DSJQUϑΝΠϧ ͕ผ63-͔Βऔಘ͞ΕΔ߹͕͋Δ ‣ )5.-4UBOEBSEͰͷఆٛ
‣ UFYUJOTFSUJPONPEFͰͷTDSJQUFOE UBHൃݟ࣌ͷڍಈ IUUQTIUNMTQFDXIBUXHPSHNVMUJQBHF QBSTJOHIUNMQBSTJOHNBJOJODEBUB ‣ QSFQBSFBTDSJQU IUUQTIUNMTQFDXIBUXHPSHNVMUJQBHF TDSJQUJOHIUNMQSFQBSFBTDSJQU 'FUDIͷྫ )5.-ɾ$44 %0. $440. ϨϯμϦϯάπϦʔ ϨΠΞτ݁Ռ ϖΠϯτ݁Ռʢը૾ʣ ελΠϦϯά ࣈ۟ղੳɾߏจղੳͳͲ ϨΠΞτ ϖΠϯτ 6*ɾϒϥβΤϯδϯ
© 2021 shift-js.info ͍ͪ͞ͳWebϒϥβΛ࡞ͬͯΈΑ͏ 30 ‣ $440.ߏஙͷͨΊʹ$44ϑΝΠϧ͕ ผ63-͔Βऔಘ͞ΕΔ߹͋Δ ‣ ؔ࿈͢Δ8FCඪ४
‣ )5.-4UBOEBSEͷMJOLλάͷڍಈ ʹؔ͢Δఆٛ IUUQTIUNMTQFDXIBUXHPSHNVMUJQBHF TFNBOUJDTIUNMDPODFQUMJOLPCUBJO ‣ $440.पลͰͷఆٛ IUUQTESBGUTDTTXHPSHDTTPNGFUDIJOHDTT TUZMFTIFFUT 'FUDIͷྫ )5.-ɾ$44 %0. $440. ϨϯμϦϯάπϦʔ ϨΠΞτ݁Ռ ϖΠϯτ݁Ռʢը૾ʣ ελΠϦϯά ࣈ۟ղੳɾߏจղੳͳͲ ϨΠΞτ ϖΠϯτ 6*ɾϒϥβΤϯδϯ
© 2021 shift-js.info ͍ͪ͞ͳWebϒϥβΛ࡞ͬͯΈΑ͏ 31 ‣ JNHλάͳͲͷϝσΟΞܥλάϦ ΫΤετΛਵ࣌ൃߦ͠͏Δ ‣ )5.-4UBOEBSEͷؔ࿈Օॴ
IUUQTIUNMTQFDXIBUXHPSHNVMUJQBHF JNBHFTIUNMXIFOUPPCUBJOJNBHFT ‣ ҰൠʹαϒϦιʔεΛຒΊࠐΉܥͷλ άϦΫΤετΛਵ࣌ൃߦ͠͏Δ ‣ +BWB4DSJQU͔Β9.-)UUQ3FRVFTU GFUDI ʹΑΓϦΫΤετ͕ൃߦ͞ ΕΔ߹͕͋Δ 'FUDIͷྫ λΠϛϯά ࣮ʹΑΔ )5.-ɾ$44 %0. $440. ϨϯμϦϯάπϦʔ ϨΠΞτ݁Ռ ϖΠϯτ݁Ռʢը૾ʣ ελΠϦϯά ࣈ۟ղੳɾߏจղੳͳͲ ϨΠΞτ ϖΠϯτ 6*ɾϒϥβΤϯδϯ
© 2021 shift-js.info ͍ͪ͞ͳWebϒϥβΛ࡞ͬͯΈΑ͏ 32 ‣ 8FCϒϥβ༷ʑͳ໘Ͱ)551௨৴ ʢͦͷଞͷ௨৴ʣΛߦ͏ ‣ ͜ΕΒͷ௨৴ʹଟ͘ͷݒ೦ࣄ߲͕͋Δ
‣ ϦιʔεͷִΛͲ͏ߦ͏ʁ ‣ ϦιʔεͷΩϟογϡΛͲ͏ߦ͏ʁ ‣ Ͳ͏͍͏ϦΫΤετͷൃߦΛՄೳʹ͢Δʁ ‣ ϨεϙϯεΛड͚औͬͨΒͲ͏͢Δʁ ‣ ΤϥʔϋϯυϦϯάʁϦμΠϨΫτʁ ‣ ʜʜ ‣ ͜ͷΑ͏ͳݒ೦ʹରͯ͠ըҰతʹ͑Δͨ Ίͷඪ४͕'FUDI4UBOEBSE ඪ४Խͷಈػ
IUUQTCSPXTFSCPPLTIJGUKTJOGPFWFOUTTFDDBNQQBSU ԋश͞·͟·ͳ'FUDI 'FUDIͱ͍͏ϓϩηε͕8FCϒϥβͷ༷ʑͳػೳʹ ؔ࿈͍ͯ͠Δ͜ͱΛ࣮ײ͠·͠ΐ͏ɻ
© 2021 shift-js.info ͍ͪ͞ͳWebϒϥβΛ࡞ͬͯΈΑ͏ 34 ԋशͷ;Γ͔͑Γ IUUQTHJUIVCDPNDVSF)551-FBLT DVSF)551-FBLTͷେྔʹ'FUDIΛى͜͢)5.-ϑΝΠϧͷྫ͕ଘࡏ
IUUQTCSPXTFSCPPLTIJGUKTJOGPFWFOUTTFDDBNQQBSU ԋश'FUDI4UBOEBSEͱηΩϡϦςΟ 'FUDI4UBOEBSEΛਫ਼ಡͯ͠ɺͦ͜ʹηΩϡϦςΟʹؔ͢Δߟྀࣄ߲ɺ ηΩϡϦςΟʹؔ͢ΔΈ͕ଘࡏ͍ͯ͠Δ͜ͱΛ֬ೝ͠·͠ΐ͏ɻ
© 2021 shift-js.info ͍ͪ͞ͳWebϒϥβΛ࡞ͬͯΈΑ͏ 36 ԋशͷ;Γ͔͑Γ IUUQTGFUDITQFDXIBUXHPSH ࣍ϨϕϧͰ༷ʑͳΈͷଘࡏ͕֬ೝͰ͖Δ
© 2021 shift-js.info ͍ͪ͞ͳWebϒϥβΛ࡞ͬͯΈΑ͏ 37 ԋशͷ;Γ͔͑Γ IUUQTGFUDITQFDXIBUXHPSHDPODFQUSFRVFTUBEESBOHFIFBEFS IUUQTGFUDITQFDXIBUXHPSHDPOUFOUUZQFIFBEFS ࡉ͔͍߲ʹҙࣄ߲͕ଟʑॻ͔Ε͍ͯΔͷ͕֬ೝͰ͖Δ
© 2021 shift-js.info ͍ͪ͞ͳWebϒϥβΛ࡞ͬͯΈΑ͏ 38 4BNF0SJHJO1PMJDZʢ401ʣ ԋशͰ֞ؒݟ͑ͨ'FUDIͷݒ೦ࣄ߲ͷྫ ‣ ʮIUUQTFWJMFYBNQMFDPN͕JGSBNFͰຒΊࠐΜͩIUUQTNBJMHPPHMFDPN ͷதΛ%0.ૢ࡞Λܦ༝ͯ͠౪Έग़͢ʯͱ͍͏͜ͱͰ͖ͳ͍͖
‣ 8FCϒϥβ֓ͯ͠0SJHJOʢ63-ͷத͔Βநग़͞ΕͨεΩʔϜ ϗετ ϙʔτ൪߸ͷͭʣ͕ҟͳΔͷಉ࢜ͷૢ࡞ʹ੍ݶΛՃ͍͑ͯΔ ‣ ྫ0SJHJO͕ҟͳΔͭͷ8FCϖʔδɺݪଇ͓ޓ͍ͷதΛಡΈग़ͤͳ͍ ‣ ྫҟͳΔ0SJHJOͷϦιʔεΛGFUDI Ͱऔಘͯ͠ݪଇதΛಡΈग़ͤͳ͍ ‣ ͜ͷΑ͏ͳΈΛ4BNF0SJHJO1PMJDZʢ401ʣͱݺͿ IUUQTFWJMFYBNQMFDPN IUUQTNBJMHPPHMFDPN JGSBNF JGSBNFͷ)5.-ͷಡΈग़͠ TDSJQU
© 2021 shift-js.info ͍ͪ͞ͳWebϒϥβΛ࡞ͬͯΈΑ͏ 39 ‣ 8FCϒϥβ͔Βͷ'FUDIʹ͓͍ͯൃߦͰ͖ΔϦΫΤετͷ੍ݶ͋Δ ‣ ࣗ༝ʹΛࢦఆͰ͖ΔϔομݶΒΕ͍ͯΔ ‣
ϔομͷʹ੍ݶ͕͋Δ ‣ ༻Ͱ͖Δϝιουʹ੍ݶ͕͋Δ ‣ ʜ )551ϦΫΤετͷ੍ݶ ԋशͰ֞ؒݟ͑ͨ'FUDIͷݒ೦ࣄ߲ͷྫ IUUQTGFUDITQFDXIBUXHPSHDPSTVOTBGFSFRVFTUIFBEFSCZUF IUUQTGFUDITQFDXIBUXHPSHDPSTTBGFMJTUFESFRVFTUIFBEFS
© 2021 shift-js.info ͍ͪ͞ͳWebϒϥβΛ࡞ͬͯΈΑ͏ 40 ‣ $03#ʹΑΓอޢ͖͠Εͳ͍ϦιʔεΛɺϦιʔεఏڙऀଆͷҙਤʹΑΓɺ͞ ΒʹอޢͰ͖ΔΑ͏ʹ͢ΔΈ ‣ )551Ϩεϙϯεϔομܦ༝Ͱɺ֘ϔομΛ͏Ϩεϙϯε͕Ͳͷൣғ͔Β
ຒΊࠐΈΛड͚ͯΑ͍͔Λࢦఆ͢Δ͜ͱ͕Ͱ͖Δ $SPTT0SJHJO3FTPVSDF1PMJDZ ԋशͰ֞ؒݟ͑ͨ'FUDIͷݒ೦ࣄ߲ͷྫ IUUQTGFUDITQFDXIBUXHPSHDSPTTPSJHJOSFTPVSDFQPMJDZIFBEFS
© 2021 shift-js.info ͍ͪ͞ͳWebϒϥβΛ࡞ͬͯΈΑ͏ 41 ‣ 8FCϒϥβͰ։͔Εͨ8FCϖʔδΛىͱͨ͠ɺ)551Ҏ֎Λ͢αʔϏ εͷ߈ܸΛ͙ͨΊɺ'FUDI4UBOEBSEଓઌϙʔτΛ੍ݶ͍ͯ͠Δ 1PSU#MPDLJOH ԋशͰ֞ؒݟ͑ͨ'FUDIͷݒ೦ࣄ߲ͷྫ
IUUQTGFUDITQFDXIBUXHPSHQPSUCMPDLJOH
IUUQTCSPXTFSCPPLTIJGUKTJOGPFWFOUTTFDDBNQQBSU ԋशඪ४ͱ࣮Λ͖ͭ͋ΘͤΔ 'FUDI4UBOEBSEʹ$03#ͱ͍͏Έʹ͍ͭͯͷهड़͕͋Γ·͢ɻ ͜ͷΈ͕ͲͷΑ͏ͳͷ͔ɺ'FUDI4UBOEBSEΛಡΜͰղऍͭͭ͠ɺ8FC 1MBUGPSN5FTUTΛ༻͍ͯదͳ8FCϒϥβͰڍಈΛݕূ͢Δ࿅शΛ͠·͠ΐ͏ɻ
© 2021 shift-js.info ͍ͪ͞ͳWebϒϥβΛ࡞ͬͯΈΑ͏ 43 ‣ ෆࣗવͳϦιʔεͷຒΊࠐΈΛૣظʹϒϩοΫ͢ΔͨΊͷΈ ‣ JNHλάͳͲ͔Βൃߦ͞ΕͨOPDPSTϦΫΤετͷϨεϙϯεʹ͍ͭͯɺ ͦͷ.*.&5ZQF͕ҎԼͷΑ͏ͳͷͰ͋Δ߹ͳͲʹϒϩοΫ͢Δ
‣ )5.-ܥ UFYUIUNM ‣ +40/ܥ BQQMJDBUJPOKTPOͳͲ ‣ JNBHFTWH YNMҎ֎ͷ9.-ܥ BQQMJDBUJPOYNMͳͲ $SPTT0SJHJO3FBE#MPDLJOHʢ$03#ʣ ԋशͷ;Γ͔͑Γ IUUQTGFUDITQFDXIBUXHPSHDPSC
© 2021 shift-js.info ͍ͪ͞ͳWebϒϥβΛ࡞ͬͯΈΑ͏ 44 8FC1MBUGPSN5FTUT ԋशͷ;Γ͔͑Γ IUUQTXQUGZJSFTVMUTGFUDIDPSC 8FC1MBUGPSN5FTUTͷGFUDIDPSCʹ $03#पลͷςετ͕ଘࡏ
IUUQTCSPXTFSCPPLTIJGUKTJOGPFWFOUTTFDDBNQQBSU ԋश8FC1MBUGPSN5FTUTΛ୳͢ 8FC1MBUGPSN5FTUT༷ͷཧղΛॿ͚ΔΑ͍ใݯͰ͢ɻ ࢼ͠ʹ'FUDI4UBOEBSEͷ1PSU#MPDLJOHʹؔ͢Δςετ߲Λ୳ͯ͠Έ·͠ΐ͏ɻ
© 2021 shift-js.info ͍ͪ͞ͳWebϒϥβΛ࡞ͬͯΈΑ͏ 46 ԋशͷ;Γ͔͑Γ IUUQTXQUGZJSFTVMUTGFUDIBQJSFRVFTU 8FC1MBUGPSN5FTUTͷGFUDIBQJSFRVFTUʹଘࡏ
© 2021 shift-js.info ͍ͪ͞ͳWebϒϥβΛ࡞ͬͯΈΑ͏ 47 ‣ ෆࣗવͳϦιʔεͷຒΊࠐΈΛૣظʹϒϩοΫ͢ΔͨΊͷΈ ‣ JNHλάͳͲ͔Βൃߦ͞ΕͨOPDPSTϦΫΤετͷϨεϙϯεʹ͍ͭͯɺ ͦͷ.*.&5ZQF͕)5.-+40/9.-ʹ֘͢Δ߹ʹϒϩοΫ͢Δ
$SPTT0SJHJO3FBE#MPDLJOH 'FUDIʹ͓͚Δݒ೦ࣄ߲ͷྫ IUUQTGFUDITQFDXIBUXHPSHDPSC ‣ ͜͏͍༷ͬͨͲ͏͍ͬͨྲྀΕͰٞ͞Ε͍ͯΔͷͩΖ͏ʁ ‣ ͜͏͍༷ͬͨͲ͏͍ͬͨྲྀΕͰެ։ʹࢸ͍ͬͯΔͷͩΖ͏ʁ
© 2021 shift-js.info ͍ͪ͞ͳWebϒϥβΛ࡞ͬͯΈΑ͏ 48 ‣ ΩϟογϡͷʮΩʔʯʹɺͱͱͷϦΫΤετൃߦݩͷ8FCϖʔδʹؔ͢Δ ใΛؚΊΔ͜ͱͰɺແؔͳ8FCϖʔδؒͰΩϟογϡΛར༻͠ͳ͍Έ ‣ ײతʹؾʹͳΔ͜ͱ
‣ 2Ωϟογϡ͕ແؔͳ8FCϖʔδؒͰڞ༗͞ΕΔͱͲ͏͍͏͕ʁ ‣ 2Ͳ͏͍͏എܠͰͲ͏ϒϥβʹ࣮͞Ε͍ͯΔͷʁ )551$BDIF1BSUJUJPO 'FUDIʹ͓͚Δݒ೦ࣄ߲ͷྫ IUUQTGFUDITQFDXIBUXHPSHIUUQDBDIFQBSUJUJPOT
© 2021 shift-js.info ͍ͪ͞ͳWebϒϥβΛ࡞ͬͯΈΑ͏ 49 ༷Ճͷٞ )551$BDIF1BSUJUJPOͷྫ *TTVF͕ىථ͞ΕΔ IUUQTHJUIVCDPNXIBUXHGFUDIJTTVFT
© 2021 shift-js.info ͍ͪ͞ͳWebϒϥβΛ࡞ͬͯΈΑ͏ 50 ༷ՃͷྲྀΕ )551$BDIF1BSUJUJPOͷྫ IUUQTHJUIVCDPNTIJWBOJHJUIVCIUUQDBDIFQBSUJUJPOJOH *TTVF্Ͱͷٞͱಉ࣌ʹ&YQMBJOFSͳͲͷ༻ҙ͕ਐΉ
© 2021 shift-js.info ͍ͪ͞ͳWebϒϥβΛ࡞ͬͯΈΑ͏ 51 ༷ՃͷྲྀΕ )551$BDIF1BSUJUJPOͷྫ IUUQTHSPVQTHPPHMFDPNBDISPNJVNPSHHCMJOLEFWD,,9W1R1;N@O:[S##""+ QMJ 8FCϒϥβϕϯμଆͰ࣮ݕ౼͕ਐΉ
© 2021 shift-js.info ͍ͪ͞ͳWebϒϥβΛ࡞ͬͯΈΑ͏ 52 ༷ՃͷྲྀΕ )551$BDIF1BSUJUJPOͷྫ IUUQTHJUIVCDPNXIBUXHGFUDIJTTVFT 8$5"(ͷϨϏϡʔґཔͳͲ
© 2021 shift-js.info ͍ͪ͞ͳWebϒϥβΛ࡞ͬͯΈΑ͏ 53 ༷ՃͷྲྀΕ )551$BDIF1BSUJUJPOͷྫ IUUQTHJUIVCDPNXIBUXHGFUDIQVMM ͕ٞཧͰ͖ͯ͘Δͱ1VMM3FRVFTU͕࡞͞ΕΔ
© 2021 shift-js.info ͍ͪ͞ͳWebϒϥβΛ࡞ͬͯΈΑ͏ 54 ༷ՃͷྲྀΕ )551$BDIF1BSUJUJPOͷྫ IUUQTHJUIVCDPNXIBUXHGFUDIQVMM 8FC1MBUGPSN5FTUTͷ༻ҙͳͲਐΉ
© 2021 shift-js.info ͍ͪ͞ͳWebϒϥβΛ࡞ͬͯΈΑ͏ 55 ༷ՃͷྲྀΕ )551$BDIF1BSUJUJPOͷྫ IUUQTHJUIVCDPNXIBUXHGFUDIQVMM ϨϏϡʔΛύε͢Δͱ13͕Ϛʔδ͞ΕɺΕͯ8FCඪ४ʹ
© 2021 shift-js.info ͍ͪ͞ͳWebϒϥβΛ࡞ͬͯΈΑ͏ 56 ༷ՃͷྲྀΕ )551$BDIF1BSUJUJPOͷྫ IUUQTHJUIVCDPNXIBUXHGFUDIQVMM 8FCϒϥβଆͷػೳϦϦʔεਐΉ
IUUQTCSPXTFSCPPLTIJGUKTJOGPFWFOUTTFDDBNQQBSU ԋश༷ͷഎܠΛௐࠪ͢Δ 'FUDI4UBOEBSEʹ.*.&5ZQFΛ༻͍ͯTDSJQUMJLFͳEFTUJOBUJPO͕ઃఆ͞Ε ͨ'FUDIΛ੍ݶ͢ΔΈ͕͋Γ·͢ɻ͜ΕͳͥඞཁͳͷͰ͠ΐ͏͔ʁ (JU)VC্ͷใΛௐࠪͯ͠ɺ͜ͷ༷ͷഎܠΛௐࠪͯ͠Έ·͠ΐ͏ɻ
© 2021 shift-js.info ͍ͪ͞ͳWebϒϥβΛ࡞ͬͯΈΑ͏ 58 .*.&5ZQFΛ༻͍ͨϒϩοΫͷഎܠ ԋशͷ;Γ͔͑Γ IUUQTHJUIVCDPNXIBUXHGFUDIQVMM IUUQTHJUIVCDPNXIBUXHGFUDIQVMM
© 2021 shift-js.info ͍ͪ͞ͳWebϒϥβΛ࡞ͬͯΈΑ͏ 59 ‣ ҎԼͷϨεϙϯεͷϒϩοΫΛ͢ΔͨΊͷΈɺҰݟͳͥඞཁͳͷ͔͕Θ͔ Γʹ͍͕͘ɺηΩϡϦςΟ্ॏཁͳఆٛͰ͋Δ͜ͱ͕Θ͔ͬͨ ‣ ڭ܇8FCඪ४ͷதͷηΩϡϦςΟؔ࿈ͷఆٛͷதʹഎܠ͕௫Έʹ͍͘ͷ
͋Δ͕ɺͦ͏͍͏ͱ͖എޙͷٞΛͬͯΈΑ͏ .*.&5ZQFΛ༻͍ͨϒϩοΫ ԋशͷ;Γ͔͑Γ IUUQTGFUDITQFDXIBUXHPSHTIPVMESFTQPOTFUPSFRVFTUCFCMPDLFEEVFUPNJNFUZQF
© 2021 shift-js.info ͍ͪ͞ͳWebϒϥβΛ࡞ͬͯΈΑ͏ খ·ͱΊ 1BSUޚऀࢹͰߟ͑Δ8FCϒϥβͷηΩϡϦςΟ ‣ औΓΜͩ͜ͱ ‣ 'FUDI4UBOEBSEʢͷಛʹηΩϡϦςΟʹ
ؔ࿈͢Δ߲ʣΛಡΈղ͍ͨ ‣ طଘͷ8FCϒϥβ࣮ͷ'FUDIपล ͷڍಈ͕ඪ४ʹै͏͔Λݕূͨ͠ ‣ 8FCඪ४ʢಛʹ8*$(ͱ8$ܥʣͷ ηΩϡϦςΟʹؔ͢ΔٞΛͬͯΈͨ ‣ େࣄͩͬͨ͜ͱ ‣ 8FCඪ४8FCʹԣͨΘΔηΩϡϦςΟϞ σϧΛཧղ͢ΔͨΊͷॏཁͳใݯͰ͋Δ ‣ ༷ٞʹ୭ͰΞΫηεͰ͖Δ 60
߈ܸऀࢹͰߟ͑Δ 8FCϒϥβͷηΩϡϦςΟ 1BSU
© 2021 shift-js.info ͍ͪ͞ͳWebϒϥβΛ࡞ͬͯΈΑ͏ ‣ 8FCΞϓϦέʔγϣϯ։ൃऀͱͯ͠ɺ͜͜·Ͱຏ͍͖ͯͨ8FC༷ΛಡΈ ղ͍ͯݕূ͍ͯ͘͠ྗ͕ॏཁ ‣ Ұํɺ8FC༷ࡦఆʹؔΘΔਓ8FCϒϥβ։ൃऀʹɺ8FCϒϥβͷ ͭػೳίϯηϓτ͕ଥ͔ͳ͍͔Λۛຯ͢Δྗ͕ٻΊΒΕΔ
62 ߈ܸऀͷࢹͰߟ͑Δ IUUQTHJUIVCDPNXIBUXHGFUDIQVMM ྫMPDBMIPTU͕ಛผࢹ͞ΕΔͷ͔ɻ ଞͷ༷Ͱલఏͱ͍ͯ͠Δ͜ͱ่͕Εͳ͍ͩΖ͏͔
© 2021 shift-js.info ͍ͪ͞ͳWebϒϥβΛ࡞ͬͯΈΑ͏ 63 ͜ͷ1BSUͷ֓ཁ ‣ औΓΉ͜ͱ ‣ QVQQZͷ͍͔ͭ͘ͷ༷ɾ࣮͕ͲͷΑ
͏ͳΛҾ͖ى͜͠͏Δ͔Λɺ͍·ͷ 8FCඪ४Λώϯτʹ͠ͳ͕Βݕ౼͢Δ ‣ औΓΈͷඪ ‣ 8FCඪ४࣮ΛಡΜͰཧղ͢Δ͚ͩͰͳ ͘ɺͦΕ͕ଥͳͷ͔ۛຯ͢ΔྗΛຏ͘
IUUQTCSPXTFSCPPLTIJGUKTJOGPFWFOUTTFDDBNQQBSU ԋश8FCϒϥβͷڍಈΛۛຯ͢Δ ͜ͷߨٛͷϦϑΝϨϯε࣮ʹ༷ʑͳ8FCඪ४ͱͷζϨ͕͋Γ·͕͢ɺ ͦͷΑ͏ͳζϨηΩϡϦςΟ্ͷϦεΫʹͭͳ͕Βͳ͍ͷͰ͠ΐ͏͔ɻ ͨΊ͠ʹ͋Δڍಈͭʹؔͯ͠ɺͦͷϦεΫΛݕ౼ͯ͠Έ·͠ΐ͏ɻ
© 2021 shift-js.info ͍ͪ͞ͳWebϒϥβΛ࡞ͬͯΈΑ͏ 65 ‣ ʹؔͯ͠ҎԼͷΑ͏ͳྫ͕ଘࡏ͢Δ <p data="a"></p><p>injected</p><p
t="a">inner</p> ‣ ʹؔͯ͠ҎԼͷΑ͏ͳྫ͕ଘࡏ͢Δ %0.ૢ࡞ʹؔ͢Δ ԋशͷ;Γ͔͑Γ <div id="out"></div> <div id="in"> <form id="outer"> <div> </form> <form id="inner"><input> </div> <script> let el_in = document.getElementById("in"); let el_out = document.getElementById("out"); el_out.innerHTML = el_in.innerHTML; </script> GPSNλά͕ܽଛ
© 2021 shift-js.info ͍ͪ͞ͳWebϒϥβΛ࡞ͬͯΈΑ͏ 66 ‣ %0.Λհͯ͠)5.-จࣈྻΛखʹೖΕͨࡍʹɺͦΕ͕ʢ͜͜·Ͱݟ͖ͯͨΑ ͏ͳཧ༝͔Βʣҙਤ͠ͳ͍ͷʹͳͬͯ͠·͏߹͕͋Δ ‣ ͜ͷΑ͏ͳ8FCϒϥβͷڍಈʹΑΓɺΫϥΠΞϯταΠυͷ8FCΞϓϦ
έʔγϣϯʹ%0.CBTFE944੬ऑੑ͕ൃੜͯ͠͠·͏߹͕͋Δ ‣ ͜ͷΑ͏ʹͯ͠ൃੜ͢Δ944N944 NVUBUJPO944 ͱݺΕΔ NVUBUJPO944ʢN944ʣ ԋशͷ;Γ͔͑Γ
© 2021 shift-js.info ͍ͪ͞ͳWebϒϥβΛ࡞ͬͯΈΑ͏ 67 ‣ JOFS)5.-)5.-4UBOEBSEͷz4FSJBMJ[JOH)5.-'SBHNFOUTʹґଘ JOOFS)5.-ʹؔ͢Δඪ४ ԋशͷ;Γ͔͑Γ IUUQTXXXXPSH53%0.1BSTJOH
© 2021 shift-js.info ͍ͪ͞ͳWebϒϥβΛ࡞ͬͯΈΑ͏ 68 ‣ ʢ͓ͦΒ͘ʣ҆શͳ4FSJBMJ[FΞϧΰϦζϜ͕نఆ͞Ε͍ͯΔ ‣ ຊདྷJOOFS)5.-ͷ͜Εʹैͬͯੜ͞Ε͍ͯΔ͖ͩͬͨ JOOFS)5.-ʹΞΫηεͨ͠ࡍͷ4FSJBMJ[JOH
ԋशͷ;Γ͔͑Γ IUUQTIUNMTQFDXIBUXHPSHNVMUJQBHFQBSTJOHIUNMTFSJBMJTJOHIUNMGSBHNFOUT
IUUQTCSPXTFSCPPLTIJGUKTJOGPFWFOUTTFDDBNQQBSU ԋशʢҙʣ8FCϒϥβͷઃܭΛۛຯ͢Δ ͜ͷߨٛͷϦϑΝϨϯε࣮୯ҰͷϓϩηεͰಈ࡞͠·͢ɻ ͜ΕԿ͔ෆ߹ϦεΫΛҾ͖ى͜͞ͳ͍Ͱ͠ΐ͏͔ʁ
© 2021 shift-js.info ͍ͪ͞ͳWebϒϥβΛ࡞ͬͯΈΑ͏ 70 খ·ͱΊ 1BSU߈ܸऀࢹͰߟ͑Δ8FCϒϥβͷηΩϡϦςΟ ‣ औΓΜͩ͜ͱ ‣
QVQQZͷ͍͔ͭ͘ͷ༷ɾ࣮͕ͲͷΑ ͏ͳΛҾ͖ى͜͠͏Δ͔Λɺ͍·ͷ 8FCඪ४Λώϯτʹ͠ͳ͕Βݕ౼ͨ͠ ‣ େࣄͩͬͨ͜ͱ ‣ 8FC༷ࡦఆऀ8FCϒϥβ։ൃऀό άϋϯλʔͱͯ͠ɺ͜͏͍͏ࡉ෦Λۛຯ͢ ΔྗΛຏ͍͓͖͍ͯͨ ‣ 8FCΞϓϦέʔγϣϯ։ൃऀͱͯ͜͠ͷख ͷ༷ͷෆ߹ΛΈऔΔྗҰൠతʹॏཁ
͞Βʹ͘ɾਂ͘ߟ͑Δ 8FCϒϥβͷηΩϡϦςΟ 1BSU
© 2021 shift-js.info ͍ͪ͞ͳWebϒϥβΛ࡞ͬͯΈΑ͏ 72 ͜ͷ1BSUͷ֓ཁ ‣ औΓΉ͜ͱ ‣ 8FCϒϥβͷ෦ߏʹΑΓ౿ΈࠐΈ
ͭͭɺͦΕʹؔ࿈ͨ͠߈ܸͷଘࡏΛΔ ‣ ࣌ؒతɾػೳతʹࢹΛ͛ͯ8FCϒϥ βͷηΩϡϦςΟʹ͍ͭͯߟ͑Δ ‣ औΓΈͷඪ ‣ ΑΓॊೈʹ8FCϒϥβͷηΩϡϦςΟʹ ͍ͭͯݕ౼͢ΔͨΊͷجૅΛͭ͘Δ
© 2021 shift-js.info ͍ͪ͞ͳWebϒϥβΛ࡞ͬͯΈΑ͏ 73 ΑΓෳࡶɾൣͳܥΛߟ͑Δ ‣ ͜͜·Ͱɺ҉ʹ8FCඪ४8FCϒ ϥβͷ෦࣮ʹ͍ͭͯɺͦΕΒͷ Ұఆͷ୯७͞ΛԾఆͯ͠ߟ͖͑ͯͨ
‣ ݱ࣮ҎԼΛ࢝Ίͱ༷ͨ͠ʑͳ໘͕ 8FCϒϥβશମʹଘࡏ͍ͯ͠Δ ‣ ֤ॴͰͷ࠷దԽ ‣ ֤ػೳͷޙํޓੑ ‣ ֦ுػೳ ‣ ϢʔβΠϯλʔϑΣΠε ‣ Ҏ߱͜ΕΒΛ͏গ͠۷ΓԼ͛Δ )5.-ɾ$44 %0. $440. ϨϯμϦϯάπϦʔ ϨΠΞτ݁Ռ ϖΠϯτ݁Ռʢը૾ʣ ελΠϦϯά ࣈ۟ղੳɾߏจղੳͳͲ ϨΠΞτ ϖΠϯτ 6*ɾϒϥβΤϯδϯ
© 2021 shift-js.info ͍ͪ͞ͳWebϒϥβΛ࡞ͬͯΈΑ͏ 74 ‣ 8FCϒϥβ֤ॴʹ࠷దԽͷΈΛ༗͍ͯ͠Δ ‣ ۙͳྫ ‣
Ϩϯμϥ͕ʮͳΜͱ͔πϦʔʯͷΑ͏ͳঢ়ͷதؒߏΛ༷ʑͳఆٛͯ͠ॲཧͷ۠ؒΛ ࡉ͔۠͘Δ͜ͱͰɺ͍ΘΏΔύΠϓϥΠϯॲཧΛߦ͍ɺॲཧͷฒྻੑΛ্͛ͨΓɺ %0.$44ͷૢ࡞ͳͲͷӨڹൣғΛখͨ͘͞͠Γ͢Δ ‣ +*5ॲཧΛߦ͏͜ͱͰ+BWB4DSJQU࣮ߦΛߴʹ͢Δ ‣ ϝϞϦཧͷͨΊͷΈʢऔಘղ์($ʣΛࣗલͰ࣋ͪɺϝϞϦͷ༻ޮΩϟο γϡώοτΛͰ͖Δ্͚ͩ͢Δ ‣ ΠϕϯτϧʔϓͷΑ͏ͳΈʹΑΓɺฒߦͯ͠ൃੜ͢ΔΠϕϯτͷॲཧޮΛ্͛Δ ࠷దԽͱηΩϡϦςΟ
© 2021 shift-js.info ͍ͪ͞ͳWebϒϥβΛ࡞ͬͯΈΑ͏ ‣ ͠͠+BWB4DSJQU+VTU*O5JNF +*5 $PNQJMFͯ͠อ࣋ɾ࣮ߦ͞ΕΔ ‣ ίϯύΠϧॲཧʹ͕͔͔࣌ؒΔͱ͍͑ɺΑ࣮͘ߦ͞ΕΔίʔυͰ͋Εɺί
ϯύΠϧʹ࣌ؒΛ͔͚ͨͱͯ͠τʔλϧͰͷߴԽ͕ݟࠐΊΔ +VTU*O5JNF +*5 $PNQJMF ࠷దԽͱηΩϡϦςΟ 75 +4ίʔυ ωΠςΟϒίʔυ ίϯύΠϧ ωΠςΟϒ࣮ߦ
© 2021 shift-js.info ͍ͪ͞ͳWebϒϥβΛ࡞ͬͯΈΑ͏ 76 ‣ +*5ؔ࿈ͷ࣮͘͠ɺ͜Ε·Ͱଟ͘ͷ੬ऑੑ͕ൃݟ͞Ε͍ͯΔ ‣ *OUFM$&5ͷ&YQMPJUճආͷͨΊͷٕज़͕ར༻͠ʹ͘͘ͳΔͱ͍͏՝ ‣
&EHFͰ4VQFS%VQFS4FDVSF.PEFͱͯ͠+*5ΛແޮԽ͢Δಈ͖ ྫ+*5ͷѱ༻ ࠷దԽͱηΩϡϦςΟ IUUQTNJDSPTPGUFEHFHJUIVCJPFEHFWSQPTUT4VQFS%VQFS4FDVSF.PEF
© 2021 shift-js.info ͍ͪ͞ͳWebϒϥβΛ࡞ͬͯΈΑ͏ 77 ‣ Πϕϯτϧʔϓ ‣ 8FCϖʔδ্ͰͷϢʔβͷૢ࡞ඇಉظతʹൃੜ͢ΔΠϕϯτɺͦͷଞεΫϦϓτͷ࣮ ߦϨϯμϦϯάͱ͍ͬͨ8FCϖʔδͷඳըʹඞཁͳॲཧΛௐఀ͢ΔͨΊͷΈ
‣ )5.-4UBOEBSEͰఆٛ͞Ε͍ͯΔ IUUQTIUNMTQFDXIBUXHPSHNVMUJQBHFXFCBQQBQJTIUNMFWFOUMPPQT Πϕϯτϧʔϓ ࠷దԽͱηΩϡϦςΟ IUUQTIUNMTQFDXIBUXHPSHNVMUJQBHFXFCBQQBQJTIUNMFWFOUMPPQT
© 2021 shift-js.info ͍ͪ͞ͳWebϒϥβΛ࡞ͬͯΈΑ͏ 78 ‣ Πϕϯτϧʔϓͷѱ༻ʹؔ͢Δ໘ന͍ݚڀͷྫ ‣ -PPQIPMF5JNJOH"UUBDLTPO4IBSFE&WFOU-PPQTJO$ISPNF ‣
$ISPNFͷͭΠϕϯτϧʔϓΛ͏·͘Ԛછͨ͠Γɺ͏·͘Πϕϯτϧʔϓʹؔ͢ Δ࣌ؒܭଌΛߦ͏͜ͱͰɺຊདྷ8FCϒϥβͷηΩϡϦςΟϞσϧ্Ͱ؍ଌͰن ఆ͍͚ͳ͍ϒϥβ্ͰͷϢʔβߦಈ͕؍ଌͰ͖ΔՄೳੑͳͲΛࣔͨ͠ ‣ #SPXTFSIJTUPSZSFWJTJUFE ‣ 8FCϒϥβͷͭӾཡཤྺʹؔ͢ΔใΛɺͨ͠$44$441BJOU"1*ͷ ར༻Λ௨ͯ͠ɺΠϕϯτϧʔϓͳͲΛνϟωϧͱͯ͠ϦʔΫ͢Δख๏Λࣔͨ͠ ྫΠϕϯτϧʔϓͷѱ༻ ࠷దԽͱηΩϡϦςΟ
© 2021 shift-js.info ͍ͪ͞ͳWebϒϥβΛ࡞ͬͯΈΑ͏ 79 ‣ 8FCʹʹਐԽ͍ͯ͠Δ͕ʜʜ ‣ ݹ͍ػೳਪͰ͖ͳ͍ػೳΛఀࢭ͢Δ͜ͱͰɺݹ͍8FCϖʔδ͕ར༻Ͱ͖ͳ͘ͳ Δɺͱ͍͏ͷͰ͖Δ͚ͩආ͚͍ͨ
‣ ৽͍͠ػೳΛՃ͢Δͱɺݹ͍8FCϖʔδ͕ةݥʹ͞Β͞ΕΔɺͱ͍͏Α͏ͳঢ়ଶ Ͱ͖Δ͚ͩආ͚͍ͨ ‣ ྫ)5514ΛΘͳ͍߹தؒऀ߈ܸͷϦεΫ͕͋Δ͕ʜʜ ‣ ʮ)5514ΛΘͳ͍8FCϖʔδҰӾཡͰ͖ͳ͍ʯͱ͍͏Α͏ʹ8FCϒϥβͷ ࣮Λม͑ͯ͠·͏ͱɺطଘͷଟ͘ͷ8FCϖʔδͷՁ͕ࣦΘΕͯ͠·͏ʂ ‣ 8FCϒϥβʹ+BWB4DSJQU͔Βར༻Ͱ͖ΔڧྗͳػೳʢྫϋʔυΣΞʹ͍ۙૢ࡞ʣ ΛՃͨ͠ͱ͖ɺ)5514Λ͍ͬͯͳ͍8FCϖʔδʹର͢Δதؒऀ߈ܸ͕͞ΒʹྗΛ ૿ͯ͠͠·͏ʂ ޓੑҡ࣋ͱηΩϡϦςΟ
© 2021 shift-js.info ͍ͪ͞ͳWebϒϥβΛ࡞ͬͯΈΑ͏ 80 ‣ 8FCඪ४8FCϒϥβ࣮ɺ)5514Ͱ৴͞Εͨ8FCϖʔδ͔Β )551Ͱ৴͞ΕΔϦιʔεΛར༻͢Δࡍʹ੍ݶΛઃ͚͍ͯΔ ‣ தؒऀ߈ܸΛड͚ͨࡍͷϦεΫ͕େ͖͍)551Ϧιʔεར༻ΛϒϩοΫ
‣ ͞ͳ͘ܯࠂΛදࣔ͢Δ ‣ ʮ)5514ΛΘͳ͍8FCϖʔδҰӾཡͰ͖ͳ͍ʯͱ·ͰͰ͖ͳ͘ͱ ɺϦεΫͱ࣮ӹΛఱṝʹ͔͚ͭͭɺదͳϥΠϯ͕ࡧ͞Ε͖͍ͯͯΔ .JYFE$POUFOU ޓੑҡ࣋ͱηΩϡϦςΟ
© 2021 shift-js.info ͍ͪ͞ͳWebϒϥβΛ࡞ͬͯΈΑ͏ 81 ‣ 4FDVSF$POUFYU ‣ ͓Αͦ)5514ʹΑΓ৴͞Εͨ8FCϖʔδͰ͋ͬͯɺ͔ͭͦΕࣗΛแؚ͢Δ 8FCϖʔδͳͲͦ͏Ͱ͋Δͱ͖ɺͦͷϖʔδ4FDVSF$POUFYUͱݺΕΔ
‣ ˞ݫີʹ͏ͪΐͬͱ͖͔ͬΓఆٛ͞Ε͍ͯΔ ‣ ͯ͢ͷ8FCϖʔδʹ)5514ΛΘͤΔ͜ͱ͍͕͠ɺ8FCϒϥβػೳͷதͰ ྗͷڧ͍ͷ4FDVSF$POUFYU͔Β͔͠ར༻Ͱ͖ͳ͍͜ͱʹ͢Δ͜ͱͰɺ)5514 Λ͍ͬͯͳ͍8FCϖʔδ͕ଘࡏ͍ͯͯ͠େ͖ͳ͕ى͖ͳ͍Α͏ʹͳ͍ͬͯΔ ‣ 4FDVSFS$POUFYU ‣ 4FDVSF$POUFYU5SBOTQPSU-BZFSͷڧʹԠͯ͡8FCϒϥβͷػೳ੍ݶΛߦ͏ Έ͕ͩͬͨɺͦͷଞͷηΩϡϦςΟͷͨΊͷΈʢྫ$0&1 $001ʣͷڧ ʹԠͯ͡ผ్ػೳ੍ݶΛߦ͏4FDVSFS$POUFYUͱ͍͏ίϯηϓτݕ౼͞Ε͍ͯΔ ‣ IUUQTHJUIVCDPNNJLFXFTUTFDVSFSDPOUFYUT 4FDVSF S $POUFYU ޓੑҡ࣋ͱηΩϡϦςΟ
IUUQTCSPXTFSCPPLTIJGUKTJOGPFWFOUTTFDDBNQQBSU ԋश.JYFE$POUFOU ݱͷ8FCϒϥβ)5514)551ͷࠞ߹ʹͲ͏ରԠ͍ͯ͠ΔͷͰ͠ΐ͏͔ʁ ֤ϒϥβͰϒϩοΫͷڍಈΤϥʔϝοηʔδΛ֬ೝͯ͠Έ·͠ΐ͏ɻ
© 2021 shift-js.info ͍ͪ͞ͳWebϒϥβΛ࡞ͬͯΈΑ͏ 83 ‣ ࠓ͏͖'MBTIͳͲͷϒϥβϓϥάΠϯɺ8FCϒϥβͷ֦ுػೳྨ ͷऔΓѻ͍ɺ௨ৗͷ8FCϖʔδͷऔΓѻ͍ͱ·ͨҟͳΔʜʜ ‣ 8FC&YUFOTJPOT$PNNVOJUZ(SPVQͷಈ͖ͳͲͰ҆શੑ͕ߴ·ͬͯ΄͍͠
֦ுػೳͱηΩϡϦςΟ IUUQTXXXXPSHDPNNVOJUZXFCFYUFOTJPOTGPSNJOHUIFXFDH
© 2021 shift-js.info ͍ͪ͞ͳWebϒϥβΛ࡞ͬͯΈΑ͏ 84 ‣ 8FCϒϥβʹϢʔβ͕͍Δ ‣ Ϣʔβͷ8FCϒϥδϯάΛ͢ ΔΑ͏ͳߦҝ͕༰қͰ͖ΔͱࠔΔ
‣ ϢʔβͷޡͬͨߦಈΛҾ͖ى͜͢Α͏ ͳ6*ͩͱɺ༷ʑͳηΩϡϦςΟػೳ ͕ແବʹͳͬͯ͠·͏Մೳੑ͋Δ 6*ͱηΩϡϦςΟ )5.-ɾ$44 %0. $440. ϨϯμϦϯάπϦʔ ϨΠΞτ݁Ռ ϖΠϯτ݁Ռʢը૾ʣ ελΠϦϯά ࣈ۟ղੳɾߏจղੳͳͲ ϨΠΞτ ϖΠϯτ 6*ɾϒϥβΤϯδϯ
© 2021 shift-js.info ͍ͪ͞ͳWebϒϥβΛ࡞ͬͯΈΑ͏ 85 ‣ ͨͩ8FCϖʔδʹΞΫηε͚ͨͩ͠ͰϙοϓΞοϓΟϯυ͕େྔʹग़ͨ ΓɺϞʔμϧʹϑΥʔΧε͕ୣΘΕͯଞͷλϒʹભҠͰ͖ͳ͘ͳͬͨΓɺ͕ ͑ͨΓɺͱͳΔͱͱͯࠔΔͷͰɺͦΕΛ͙ͨΊͷΈ͕උ͞Ε͍ͯΔ ྫφϏήʔγϣϯ
8FCϒϥβͷ6*ͱηΩϡϦςΟ IUUQTIUNMTQFDXIBUXHPSHUSBDLJOHVTFSBDUJWBUJPO
© 2021 shift-js.info ͍ͪ͞ͳWebϒϥβΛ࡞ͬͯΈΑ͏ 86 ‣ )PNPHSBQI"UUBDL ‣ ͋ΔυϝΠϯ໊ ྫFYBNQMFDPN
ʹରͯ͠ɺͦΕͱࢹ֮తʹࣅͨจࣈྻ͔ΒͳΔυϝ Πϯ໊ ྫFYBNQFDPN Λ༻͍ͯɺͦͷυϝΠϯΛࢹೝͨ͠ਓΛὃ͢Α͏ͳ߈ܸ ‣ *%/)PNPHSBQI"UUBDL ‣ *OUFSOBUJPOBMJ[FE%PNBJO/BNF *%/ Λ༻͍ͨ)PNPHSBQI"UUBDLͷ͜ͱ ྫ*%/ͷऔΓѻ͍ 8FCϒϥβͷ6*ͱηΩϡϦςΟ
© 2021 shift-js.info ͍ͪ͞ͳWebϒϥβΛ࡞ͬͯΈΑ͏ 87 ‣ ݱͷ8FCϒϥβଟ͘ͷηϯγςΟϒ ͳ"1*Λ+BWB4DSJQUʹఏڙ͍ͯ͠Δ ‣ ϚΠΫΧϝϥΛར༻͢ΔͨΊͷ"1*
‣ ҐஔใͷऔಘͷͨΊͷ"1* ‣ ʜ ‣ ͜ΕΒͷར༻ʹ8FCϒϥβͷϢʔβͷ ໌֬ͳಉҙ͕ඞཁͦ͏͕ͩʜʜ ‣ Ͳ͏͍͏සͰಉҙΛͱΔ͖ʁ ‣ Ͳ͏͍͏ը໘ͰಉҙΛͱΔ͖ʁ ‣ JGSBNFͷ8FCϖʔδ͔Β"1*ͷ༻ݖݶ͕ ཁٻ͞Εͨͱ͖Ͳ͏͖͢ʁ ‣ ͨ͘͞Μͷݒ೦ࣄ߲͕͋Δ ྫػೳͷ༻ݖݶͷཧ 8FCϒϥβͷ6*ͱηΩϡϦςΟ
© 2021 shift-js.info ͍ͪ͞ͳWebϒϥβΛ࡞ͬͯΈΑ͏ 88 ‣ 1FSNJTTJPOT1PMJDZ ‣ 8FCϖʔδ͕ར༻͢Δ8FCϒϥβͷػೳ"1*Λɺ)551ϨεϙϯεϔομΛ௨ ͯ͠໌ࣔ͢Δ͜ͱͰɺෆཁͳػೳΛແޮԽ͢ΔඞཁͳػೳΛར༻ՄೳͳൣғΛݶఆ͠ͳ
͕Β༗ޮԽͰ͖ΔΈ ‣ ੲ'FBUVSF1PMJDZͱݺΕ͍ͯͨͷ 1FSNJTTJPOT1PMJDZ 8FCϒϥβͷ6*ͱηΩϡϦςΟ
© 2021 shift-js.info ͍ͪ͞ͳWebϒϥβΛ࡞ͬͯΈΑ͏ 89 1FSNJTTJPOT1PMJDZ 8FCϒϥβͷ6*ͱηΩϡϦςΟ IUUQTGFBUVSFQPMJDZEFNPTBQQTQPUDPN
IUUQTCSPXTFSCPPLTIJGUKTJOGPFWFOUTTFDDBNQQBSU ԋश1FSNJTTJPOT1PMJDZ ֤ϒϥβͰϒϩοΫͷڍಈΤϥʔϝοηʔδΛ֬ೝͯ͠Έ·͠ΐ͏ɻ
© 2021 shift-js.info ͍ͪ͞ͳWebϒϥβΛ࡞ͬͯΈΑ͏ 91 ‣ Ͳ͏6*Λઃܭ͢Δ͔Λߟ͑ΔͷɺͦΕΛ҆શʹ࣮͢Δͷࠎ͕ંΕΔ ‣ ࠷ۙ.JDSPTPGUͷ#SPXTFS7VMOFSBCJMJUZ3FTFBSDIͷϒϩάͰ͜ͷपลͷ ͷهࣄ͕ग़͍ͯͨͷͰɺڵຯ͕͋ΕಡΜͰΈ͍ͯͩ͘͞
6*ͷԞਂ͍ ޓੑҡ࣋ͱηΩϡϦςΟ IUUQTNJDSPTPGUFEHFHJUIVCJPFEHFWSQPTUTVJTFDVSJUZUIJOLJOHPVUTJEFUIFWJFXQPSU
IUUQTCSPXTFSCPPLTIJGUKTJOGPFWFOUTTFDDBNQQBSU ԋश ҙ 6*ઃܭΛᛀΉ 8FCϒϥβ࣮ʹΑͬͯBMFSU ͷμΠΞϩά͕Ͳ͜ʹग़Δ͔͕ҟͳΓ·͢ɻ ͜ͷ͕ࠩηΩϡϦςΟ্ͷϦεΫΛੜΉ͜ͱ͋Δ͔Λߟ͑ͯΈ·͠ΐ͏ɻ
© 2021 shift-js.info ͍ͪ͞ͳWebϒϥβΛ࡞ͬͯΈΑ͏ 93 খ·ͱΊ 1BSU͞Βʹ͘ɾਂ͘ߟ͑Δ8FCϒϥβͷηΩϡϦςΟ ‣ औΓΜͩ͜ͱ ‣
8FCϒϥβͷ෦ߏʹΑΓ౿ΈࠐΈ ͭͭɺͦΕʹؔ࿈ͨ͠߈ܸͷଘࡏΛͬͨ ‣ ࣌ؒతɾػೳతʹࢹΛ͛ͯ8FCϒ ϥβͷηΩϡϦςΟʹ͍ͭͯߟ͑ͨ ‣ େࣄͩͬͨ͜ͱ ‣ 8FCϒϥβͷηΩϡϦςΟΛ୲อ͢Δ্Ͱ ɺϢʔβͷײੑߦಈͱ͍͏ඞٕͣ͠ज़ ͚ͩͰޠΕͳ͍σβΠϯత؍ॏཁ ‣ ٕज़తʹ͖Ε͍ͳ༷ٕज़తʹᘳͳ ༷͕ઈରతͳ҆શΛੜΉͱݶΒͳ͍
ࠓͷ·ͱΊ $PODMVTJPO
© 2021 shift-js.info ͍ͪ͞ͳWebϒϥβΛ࡞ͬͯΈΑ͏ 95 খ·ͱΊ 1BSUࣄલֶशͷৼΓฦΓ )5.-ɾ$44 %0. $440.
ϨϯμϦϯάπϦʔ ϨΠΞτ݁Ռ ϖΠϯτ݁Ռ ελΠϦϯά ࣈ۟ղੳɾߏจղੳͳͲ ϨΠΞτ ϖΠϯτ +BWB4DSJQU ʹΑΔ࡞༻ )551ʹΑΔ )5.-ɾ$44ͷऔಘ ‣ ϨϯμϦϯάΤϯδϯؔ࿈ͷجૅ֓೦ ‣ )5.-ɾ%0.ؔ࿈ ‣ $44ɾ$440.ؔ࿈ ‣ ϨϯμϦϯάπϦʔؔ࿈ ‣ #PY5SFFͱϨΠΞτɾϖΠϯτؔ࿈ ‣ +BWB4DSJQUΤϯδϯʢͱ͘ʹ7ʣؔ࿈ ‣ ؆қ%0."1*ؔ࿈ ‣ 8FCඪ४ϓϥοτϑΥʔϜपลͷجૅ֓೦ ‣ 8FCඪ४ؔ࿈ͷஂମʢ8$ 8)"58( ʣ ‣ 8FC*%- ‣ 8FC1MBUGPSN5FTUT
© 2021 shift-js.info ͍ͪ͞ͳWebϒϥβΛ࡞ͬͯΈΑ͏ খ·ͱΊ 1BSUޚऀࢹͰߟ͑Δ8FCϒϥβͷηΩϡϦςΟ ‣ औΓΜͩ͜ͱ ‣ 'FUDI4UBOEBSEʢͷಛʹηΩϡϦςΟʹ
ؔ࿈͢Δ߲ʣΛಡΈղ͍ͨ ‣ طଘͷ8FCϒϥβ࣮ͷ'FUDIपล ͷڍಈ͕ඪ४ʹै͏͔Λݕূͨ͠ ‣ 8FCඪ४ʢಛʹ8*$(ͱ8$ܥʣͷ ηΩϡϦςΟʹؔ͢ΔٞΛͬͯΈͨ ‣ େࣄͩͬͨ͜ͱ ‣ 8FCඪ४8FCʹԣͨΘΔηΩϡϦςΟϞ σϧΛཧղ͢ΔͨΊͷॏཁͳใݯͰ͋Δ ‣ ༷ٞʹ୭ͰΞΫηεͰ͖Δ 96
© 2021 shift-js.info ͍ͪ͞ͳWebϒϥβΛ࡞ͬͯΈΑ͏ 97 খ·ͱΊ 1BSU߈ܸऀࢹͰߟ͑Δ8FCϒϥβͷηΩϡϦςΟ ‣ औΓΜͩ͜ͱ ‣
QVQQZͷ͍͔ͭ͘ͷ༷ɾ࣮͕ͲͷΑ ͏ͳΛҾ͖ى͜͠͏Δ͔Λɺ͍·ͷ 8FCඪ४Λώϯτʹ͠ͳ͕Βݕ౼ͨ͠ ‣ େࣄͩͬͨ͜ͱ ‣ 8FC༷ࡦఆऀ8FCϒϥβ։ൃऀό άϋϯλʔͱͯ͠ɺ͜͏͍͏ࡉ෦Λۛຯ͢ ΔྗΛຏ͍͓͖͍ͯͨ ‣ 8FCΞϓϦέʔγϣϯ։ൃऀͱͯ͜͠ͷख ͷ༷ͷෆ߹ΛΈऔΔྗҰൠతʹॏཁ
© 2021 shift-js.info ͍ͪ͞ͳWebϒϥβΛ࡞ͬͯΈΑ͏ 98 খ·ͱΊ 1BSU͞Βʹ͘ɾਂ͘ߟ͑Δ8FCϒϥβͷηΩϡϦςΟ ‣ औΓΜͩ͜ͱ ‣
8FCϒϥβͷ෦ߏʹΑΓ౿ΈࠐΈ ͭͭɺͦΕʹؔ࿈ͨ͠߈ܸͷଘࡏΛͬͨ ‣ ࣌ؒతɾػೳతʹࢹΛ͛ͯ8FCϒ ϥβͷηΩϡϦςΟʹ͍ͭͯߟ͑ͨ ‣ େࣄͩͬͨ͜ͱ ‣ 8FCϒϥβͷηΩϡϦςΟΛ୲อ͢Δ্Ͱ ɺϢʔβͷײੑߦಈͱ͍͏ඞٕͣ͠ज़ ͚ͩͰޠΕͳ͍σβΠϯత؍ॏཁ ‣ ٕज़తʹ͖Ε͍ͳ༷ٕज़తʹᘳͳ ༷͕ઈରతͳ҆શΛੜΉͱݶΒͳ͍
© 2021 shift-js.info ͍ͪ͞ͳWebϒϥβΛ࡞ͬͯΈΑ͏ 99 ‣ ຊߨٛͰ༷ΛಡΜͰΈͨΓɺۛຯͨ͠Γɺ෦తʹ࣮͖ͯ͠·ͨ͠ ‣ 8FCඪ४8FCϒϥβ࣮͕લΑΓۙͳଘࡏʹͳͬͨͣɻ ‣
গͳ͘ͱࠓͳΒɺಘମͷ͠Εͳ͍ͷͰͳ͍ͣͰ͢ɻ ‣ ͦͷաఔͰ8FCΫϥΠΞϯταΠυͷηΩϡϦςΟগֶ͠ͼ·ͨ͠ɻ ‣ ࣌ؒͷ߹্ͬ͘͟ΒΜͳհͱͳͬͯ͠·ͬͨ͜ͱΛ͓ڐ͍ͩ͘͠͞ɻ ‣ ͜ͷपลΛΑΓਂֶ͘ͼ͍ͨํʹҎԼͷΑ͏ͳॻ੶Λ͓͢͢Ί͠·͢ ‣ ʰମܥతʹֶͿ҆શͳ8FCΞϓϦέʔγϣϯͷ࡞Γํ੬ऑੑ͕ੜ·ΕΔݪཧͱରࡦͷ࣮ફʱ ‣ ʰϒϥβϋοΫʱ ‣ ʰ8FCϒϥβηΩϡϦςΟʕ8FCΞϓϦέʔγϣϯͷ҆શੑΛࢧ͑ΔΈΛཧ͢Δʱ ͓ΘΓʹ #͍ͪ͞ͳ8FCϒϥβΛͭͬͯ͘ΈΑ͏
© 2021 shift-js.info ͍ͪ͞ͳWebϒϥβΛ࡞ͬͯΈΑ͏ 100 ‣ ຊߨٛͰऔΓΜͰ͖ͨҎԼͷΑ͏ͳϓϩηεɺ8FCϒϥβʹݶΒͣɺଟ ͘ͷݱͷϓϩμΫτΛཧղ͢Δ্Ͱ׆͔͢͜ͱͷͰ͖ΔͷͰ͢ɻ ‣ جૅతͳίϯηϓτΛ಄ʹೖΕΔ
‣ ͦΕΛऔΓר͘ΤίγεςϜΛΔ ‣ ༷࣮ΛಡΈղ͘ ‣ ͦ͜ʹࢸΔ·Ͱͷྺ࢙ٞΛௐࠪ͢Δ ‣ ٖࣅతʹ࣮ࡍʹ฿࣮ͯ͠ΈΔ ‣ ʜ ‣ ຊߨٛͰಘͨࣝɾܦݧɺ͜ͷखͷϝλεΩϧΛ׆͔ͯ͠ɺࠓޙΑΓ͘ɾ ਂ͘ϓϩμΫτͷηΩϡϦςΟΛߟ͑ͯΈ͍ͯͩ͘͞ʂ ͓ΘΓʹ #͍ͪ͞ͳ8FCϒϥβΛͭͬͯ͘ΈΑ͏