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
元現場エンジニアが思う「もっとこうしておけばよかった」から学ぶDevSecOps / ...
Search
ihcomega56
November 05, 2021
Technology
1
530
元現場エンジニアが思う「もっとこうしておけばよかった」から学ぶDevSecOps / DevSecOps Best Practices learned from my experiences
CloudNative Days Tokyo 2021
ihcomega56
November 05, 2021
Tweet
Share
More Decks by ihcomega56
See All by ihcomega56
JEP 455: Primitive Types in Patterns, instanceof, and switch (Preview)
ihcomega56
1
130
シリコンバレーのチームで経験したふりかえり - 共通点とギャップ / retrospectives in silicon valley
ihcomega56
5
1.9k
「サプライチェーン攻撃」に立ち向かう!SBOMを使った脆弱性管理がもたらす品質とスピード向上
ihcomega56
2
2.5k
アプリケーション開発者目線で語る、明日から始めるDevSecOps
ihcomega56
0
200
パターンマッチングを学んで新しいJavaの世界へ!Java 18までの目玉機能をおさらいしよう / Java 18 pattern matching
ihcomega56
3
1.4k
SCAとDockerを触ってみよう!DecSecOps入門ワークショップ / SCA and Docker workshop
ihcomega56
1
290
JFrogのDevOps Platformづくりを支えるオブザーバビリティ / JFrog Observability
ihcomega56
0
500
SBOMでソフトウェアを守れ!10年後も自信を持ってリリースするために今始めるDevSecOps / DevSecOps with SBOM for yourself 10 years from now
ihcomega56
1
6.4k
Javaアプリケーションの アーティファクト管理と DevSecOps / Java artifacts management and DevSecOps
ihcomega56
0
2.6k
Other Decks in Technology
See All in Technology
AIと共に開発する時代の組織、プロセス設計 freeeでの実践から見えてきたこと
freee
3
670
Pythonで構築する全国市町村ナレッジグラフ: GraphRAGを用いた意味的地域検索への応用
negi111111
8
3.5k
LINE公式アカウントの技術スタックと開発の裏側
lycorptech_jp
PRO
0
370
[mercari GEARS 2025] Building Foundation for Mercari’s Global Expansion
mercari
PRO
1
120
AIを前提に、業務を”再構築”せよ IVRyの9ヶ月にわたる挑戦と未来の働き方 (BTCONJP2025)
yueda256
1
540
“それなりに”安全なWebアプリケーションの作り方
xryuseix
0
360
CodexでもAgent Skillsを使いたい
gotalab555
9
4.6k
Datadog On-Call と Cloud SIEM で作る SOC 基盤
kuriyosh
0
180
内部品質・フロー効率・コミュニケーションコストを悪化させ現場を苦しめかねない16の組織設計アンチパターン[超簡易版] / 16 Organization Design Anti-Patterns for Software Development
mtx2s
2
250
Redux → Recoil → Zustand → useSyncExternalStore: 状態管理の10年とReact本来の姿
zozotech
PRO
14
7.1k
クレジットカードの不正を防止する技術
yutadayo
16
7.3k
なぜThrottleではなくDebounceだったのか? 700並列リクエストと戦うサーバーサイド実装のすべて
yoshiori
12
4.2k
Featured
See All Featured
Faster Mobile Websites
deanohume
310
31k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
192
56k
Stop Working from a Prison Cell
hatefulcrawdad
272
21k
Speed Design
sergeychernyshev
32
1.2k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.7k
Why Our Code Smells
bkeepers
PRO
340
57k
It's Worth the Effort
3n
187
28k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1k
Java REST API Framework Comparison - PWX 2021
mraible
34
9k
Raft: Consensus for Rubyists
vanstee
140
7.2k
Large-scale JavaScript Application Architecture
addyosmani
514
110k
Transcript
ݩݱΤϯδχΞ͕ࢥ͏ ʮͬͱ͜͏͓͚ͯ͠ Α͔ͬͨʯ͔ΒֶͿ %FW4FD0QT +'SPHΑ͜ͳ ԣాಸ 0
1 Α͜ͳͰ͢ "ZBOB:PLPUB • +'SPHͷσϕϩούʔΞυϘέΠτ • લ৬·ͰओʹόοΫΤϯυͷ։ൃ ʢ4*FS ࠂձࣾ ূ݊ελʔτΞοϓʣ
• 1PLFNPO (Pͷότϧ·ָ͍͡͠ ࠓΞϓϦέʔγϣϯ։ൃऀઢͰ ͓͠͠·͢ʂ 5XJUUFS !JIDPNFHB
͍ΘΏΔݱΛΕ σϕϩούʔΞυϘέΠτʹͳͬͯ ૣʂ 2 ʘݱͷࠒΑΓམͪண͍ͯࣄΛߟ͑ͨΓʗ ʘݴޠԽͨ͠Γ͢Δ͕࣌ؒ૿͑ͨΑʗ
ʮ͜͏͠Α͏ʯʮ͜Μͳ෩ʹߟ͑Α͏ʯ ͱʑૌ͍͑ͯ͘தͰࢥ͏ͷͰ͢ 3
ΤϯδχΞͩͬͨࠒ Βͳ͔ͬͨʗग़དྷ͍ͯͳ͔ͬͨ͜ͱ ͬͯ͋Δͳ͊ɾɾɾ 4
ͷͮ͘Γ࣌ɺࢲͷϞνϕʔγϣϯ ྑ͍ͷΛ࡞Γ͍ͨʂ • ༷ΛͲ͏͢Δ͔ߟ͑Δ͜ͱ͕ग़དྷͨ • ΤϯδχΞ৫ͷ֎ͱͷڠྗਐΜͰग़དྷͨ • ʮϚʔέͷϓϩϞʔγϣϯʹ͚ͯ͜ͷ·Ͱʹ͜ΕΛ༻ҙ͠Α͏ʯ • ʮࣾϢʔβʔͷۀΛษڧͯ͠ΑΓ͍͍͢ͷΛࢦͦ͏ʯ
• ΠϯϑϥɺηΩϡϦςΟʹΊͬΆ͏ऑ͔ͬͨ • ۤखҙ͔ࣝΒνϟϨϯδ͢Δ༐ؾখ͘͞ޙճ͠ʹ͔ͨͬͨ͠ • ͦ͜ʹ՝ҙࣝΛ࣋ͭࣗ 74ํͳ͍͔ͱఘΊΔࣗ 5
ࢲͷϞνϕʔγϣϯ ࿑ ਓࣄ ૯ ܦӦ اը ϚʔέςΟϯά Ӧۀ ࣾ֎ͷϢʔβʔ ࣾͷϢʔβʔ
σβΠφʔ ϑϩϯτΤϯυ όοΫΤϯυ 2" 43& ηΩϡϦςΟ
ಛʹηΩϡϦςΟɾɾɾ 7
%FW4FD0QT·ͩ·ͩ • %FW0QT͕ΓΛݟ͓ͤͯΓɺϕετϓϥΫςΟεͷதʹ ʮͬͯ ݕ౼ͯ͠ ͨΓલʯͱݴ͑Δͷ૿͖͑ͯͨ • ιϑτΣΞ։ൃͷϥΠϑαΠΫϧͷதʹηΩϡϦςΟΛΈ ࠐΉ%FW4FD0QTͦ͜ཋͼ͍ͯΔͷͷ%FW0QTʹൺΔ ͱਁಁ͍ͯ͠ͳ͍
։ൃ ӡ༻ ηΩϡ ϦςΟ ˞͜͜Ͱਁಁͱ֤ϫʔυ͕ΒΕ͍ͯΔ͔ɺ ҙࣝ͞Ε͍ͯΔ͔Ͳ͏͔Ͱͳ͘ɺͦΕΒ͕ ࢦ͢Α͏ͳ༰ʹ࣮ࡍऔΓΜͰ͍Δ͔Ͳ͏͔Λ ݴ͍ͬͯ·͢ɻ 8
ੲͷࣗΛৼΓฦͬͯɺ μϝͩͬͨϙΠϯτͱ ͦΕʹؔΘΔ%FW4FD0QTͷ ϕετϓϥΫςΟεΛ ݟ͍͖ͯ·͢ʂ 9
աڈͷࣗΞϯνύλʔϯ ΞϓϦέʔγϣϯͷ࡞Γ͜Έ͕ͦ͜ʮྑ͍ͷΛ࡞Δʯ ͷେ෦ΛΊΔͱ͍͏ҙࣝΛͲ͔͜Ͱ͍࣋ͬͯͨ • ͲΜͳ༷ʹ͢Δ͔ʁͬͨਓͷϑΟʔυόοΫͲ͏͔ʁͱ ͍ͬͨ༰͕ͦ͜Ϣʔβʔͷମݧʹܨ͕Δͱ͍͏ҙࣝ • σϦόϦʔͷϓϩηεηΩϡϦςΟͷվળʮΒͳ͖Ό ͍͚ͳ͍λεΫʯʮࣗୡͷ࡞ۀΛָʹ͢Δͷʯͱ͍͏ҙࣝ 10
ώϯτ̍ Ϣʔβʔʹಧ͘·Ͱ͕ʮྑ͍ͷΛ࡞ΔʯͰ͢ ͍ɺͦͷޙଓ͖·͢ 📘ࡢࠓͷࢥख๏ɺͲΕΛͱͬͯΰʔϧ @@ϢʔβʔʹՁΛಧ͚ଓ͚Δ͜ͱ • ʮԿΛ࡞Δ͔ʯʹՃ͑ͯʮͲ͏ಧ͚Δ͔ʯϢʔβʔͷͨΊʹ ͋Δ ͦΕ͕݁Ռͱͯ͠ΤϯδχΞͷͨΊʹͳΔ •
ૉૣ͞ɾ҆શੑͷ࣮ݱ͕ෆՄܽ • ʮΒͳ͖Ό͍͚ͳ͍ʯ͜ͱͰ͋Δ͕ɺྑ͍ͷΛಧ͚͍ͨ ͱ͍͏ࢥ͍ʹϓϥεʹಇ͘ͷͰϙδςΟϒʹऔΓ͏ 11
աڈͷࣗΞϯνύλʔϯ̎ ࣮ࡍͷ৫ͱͯ͠ؾ࣋ͪͷ্ͰηΩϡϦςΟνʔϜ ͕ࣗͷνʔϜͷ֎ଆʹ͋ͬͨ • ඞཁͳͱ͖ʹ͓ئ͍Λ͠߹͏ؔͩͬͨ • ීஈԿΛ͍ͯ͠Δ͔͓ޓ͍Α͘Βͳ͔ͬͨ • ʮηΩϡϦςΟνʔϜ͕ݴ͏ͳΒେࣄͳΜͩΖ͏ʯ ͱத్ͳཧղͰݴΘΕͨ͜ͱΛΔ͚ͩͷ࣌
͋ͬͨ 12 ʘࠓࢥ͑ηΩϡϦςΟνʔϜͷํ͔Βʗ ʘาΈد͖ͬͯͯ͘Εͯͨ͜ͱʜʗ ʘͬͱίϥϘग़དྷͨͳ͊ʜʗ
ώϯτ̎ ηΩϡϦςΟνʔϜҰॹʹͷͮ͘ΓΛ͢ΔؒͰ͢ 📘։ൃɾӡ༻ʹՃ͑ͯηΩϡϦςΟνʔϜͱڠۀ͢Δ • ͳΔ͘ΰʔϧΛڞ༗͠߹͏ྗΛ͠Α͏ • େ͖ͳಉ͡ΰʔϧΛ࣋ͭͱ͍͏ҙຯͰͷڞ༗ • ͦΕͧΕͷখ͞ͳΰʔϧΛ͓ޓ͍͓ͬͯ͘ͱ͍͏ҙຯͰͷڞ༗ •
ඞཁͳ͚࣌ͩ࿈བྷ͢ΔͷͰͳ͘ɺීஈ͔Βίϛϡχέʔγϣϯ ΛऔΕΔؔੑΛங͜͏ • ৫ͷߏతʹ͍͠߹Ͳ͏ؤுͬͯݫ͍͠ɾɾɾ • ಛʹେاۀʹ͓͚Δ ηΩϡϦςΟνʔϜͱͷؔΘΓํͰΦεεϝ ޭྫ͕͋Εڭ͍͑ͯͩ͘͞ʂ 13
աڈͷࣗΞϯνύλʔϯ̏ ηΩϡϦςΟ͕͔Βͳ͍ɾ͍͠ɾා͍ͱࢥ͍ͬͯͨ • ෳࡶͳͷͰઐՈʹͤΔ͔͠ͳ͍ؾ͕ͨ͠ • ͪΖΜͳ͍͕͠Ζʹग़དྷͳ͍ͱࢥ͍ͬͯΔͷͰɺݴΘΕͨ ͜ͱ͍ͬͯͨ 14
ώϯτ̏ ·ͣղ͠·͠ΐ͏ 📘খ࢝͘͞ΊΔ • ηΩϡϦςΟͷकඋൣғ͍͕ɺ%FW4FD0QTͰओʹιϑτ ΣΞͷηΩϡϦςΟΛѻ͏ • ιϑτΣΞͷηΩϡϦςΟͱݴͬͯऔΓΊΔ׆ಈͷछྨ ͕͍͔ͭ͋͘Δ •
·ͣݱঢ়Ѳͱͯ͠ࠓͰ͖͍ͯΔ͜ͱɺͰ͖͍ͯͳ͍͜ͱΛ ͚͔ͯΒ࣍ͷΞΫγϣϯΛܾΊΔ 15
ηΩϡϦςΟͷղ • ΠϯϑϥɺΞϓϦέʔγϣϯɺώϡʔϚϯΤϥʔʜؾʹ͖͢ ͜ͱଟذʹΘͨΔ • ·ͣͯ͢ΛηΩϡϦςΟ୲ʹؙ͛ͤͣɺࣗʹͰ͖Δ ͜ͱΛݟ͚ͭΔͷ͕େࣄ ʮ8IBUBSFUIFMBZFSTPGTFDVSJUZ "DZCFSTFDVSJUZSFQPSUʯ IUUQTHPNJOETJHIUDPNJOTJHIUTCMPHXIBUBSFUIFMBZFSTPGTFDVSJUZ
16
ιϑτΣΞͷηΩϡϦςΟ৭ʑ • ڴҖϞσϦϯά 5ISFBUNPEFMJOH • ੩తΞϓϦέʔγϣϯηΩϡϦςΟςετ 4"45 • ಈతΞϓϦέʔγϣϯηΩϡϦςΟςετ %"45
• ιϑτΣΞίϯϙδγϣϯղੳ 4$" • ϑΝδϯά GV[[JOH • ϖωτϨʔγϣϯςετ ͳͲ 17
աڈͷࣗΞϯνύλʔϯ̐ ࣗͷॻ͍ͨίʔυʹؔ৺ͷ΄ͱΜͲΛୣΘΕ͍ͯͨ • ։ൃఔͰੜΈग़ͨ͠ιʔείʔυͷ੬ऑੑ͕ා͍ • ࣗʹؔΘΔηΩϡϦςΟͱ͍͑4"45%"45 18
ώϯτ̐ Ռ ࡞ͬͨίʔυͱ͍ͬͯΔίʔυ͔Βग़དྷ͍ͯ·͢ 📘044ͷηΩϡϦςΟνΣοΫΛ͢Δ • ׂҎ্ͷ৫͕ιϑτΣΞ։ൃʹ044Λ͏ͱݴΘΕΔ࣌ • 044ͷ΄ͱΜͲผͷ044ʹґଘ͓ͯ͠ΓσϓϩΠ͢Διϑτ ΣΞʹࣗͷѲ͍ͯ͠ͳ͍ίʔυ͕େྔʹؚ·ΕΔ •
4$" ιϑτΣΞίϯϙδγϣϯղੳ πʔϧΛ͏ 19
ґଘɺͦͷ·ͨґଘ 20 ʮ&YQMPSFZPVS044EFQFOEFODJFT7JTVBMMZʯ IUUQTXXXMJOLFEJODPNQVMTFFYQMPSFZPVSPTTEFQFOEFODJFTWJTVBMMZNJDIBFMNVMMFS
աڈͷࣗΞϯνύλʔϯ̑ ηΩϡϦςΟΛ։ൃϥΠϑαΠΫϧʹΈࠐ͏ͱͯ͠ ͍ͳ͔ͬͨ • ηΩϡϦςΟؔ࿈ͷνΣοΫΛ։ൃͷޙʹ·ͱΊͯΖ͏ͱ ͍ͯͨ͠ • ྫ݄͑ʹճ࣮ࢪ͢ΔͱසΛܾΊΔͱ͔ɺϓϩδΣΫτ͕ མͪண͍ͨΒ࣮ࢪ͢Δͱ͔ɺ։ൃͱผͷͱ͜ΖͰΕྑ͍ ͱߟ͍͑ͯͨ
21
ώϯτ̑ ηΩϡϦςΟνΣοΫɺͨΓલʹΓ·͠ΐ͏ 📘γϑτϨϑτɾ4%-$ͷΈࠐΈ • ࣗಈԽ͠ɺ$*$%ύΠϓϥΠϯͷதʹΈࠐΉ • ϦϦʔεલʹ·ͱΊͯߦ͏ͱϦϦʔεͷΕʹܨ͕ΔͷͰආ͚Δ • සλΠϛϯάΛܾΊΔΑΓɺ։ൃΛਐΊΔͱඞͣ௨ΔΑ͏ʹ͢Δ •
͍͟՝͕ݟ͔ͭͬͨͱ͖ͷରԠ͋ΔఔΠϝʔδ͓ͯ͘͠ • ఆྔతͳ݁Ռ ॏେɺ$744είΞͳͲ ʹԠͨ͡ϧʔϧΛఆΊ͓ͯ͘ • ʮΒͳ͍͜ͱʯΛܾΊΔͷେࣄ • ਓͷஅͳ͘ͳΒͳ͍͕ɺ ͦ͜ʹϦιʔεΛׂͨ͘ΊʹࣗಈԽ͢Δ 22 $744 $PNNPO7VMOFSBCJMJUZ4DPSJOH4ZTUFN ੬ऑੑΛධՁ͢ΔͨΊͷΦʔϓϯͳۀքඪ४
4%-$ʹηΩϡϦςΟΛΈࠐΉ νΣοΫ Ξτ Ϗϧυ ςετ ϦϦʔε σϓϩΠ ڴҖ ϞσϦϯά 4"45
%"45 ϖϯςετ 4$" ϑΝδϯά 4"45 ϒϥοΫϘοΫε ςετ %"45 ϖϯςετ ϗϫΠτϘοΫε ςετ ϑΝδϯά 4$" 23 શ෦ ͜͜ͰΔ ʘ·ͣॻ͍ͨίʔυʹ%"45ʗ ʘͦͯ͠044ʹ4$"ͱ͍͏ʗ ʘॱͰ࢝ΊͯΈͯʁʗ
ώϯτ্ͤ ΞʔςΟϑΝΫτͷཧɾ׆༻ඞਢͰ͢ 📘ಉ͡ιʔείʔυͷϏϧυ͚ͩ @@Ҏ߱อͨ͠ΞʔςΟϑΝΫτΛ͏ • 044ΛͬͨιϑτΣΞͷ࣭୲อͷͨΊ • ࣭͕୲อ͞ΕͨιϑτΣΞΛग़ՙ͢ΔͨΊ • ͦͷଞɺϏϧυ࣌ؒͷઅόʔδϣϯͷΓସ͑͢͞ͳͲ
ϝϦοτ৭ʑ 24
25 Ϣʔβʔʹಧ͘·Ͱ͕ʮྑ͍ͷΛ࡞ΔʯͰ͢ ηΩϡϦςΟνʔϜҰॹʹͷͮ͘ΓΛ͢ΔؒͰ͢ ʮηΩϡϦςΟʯڪΕͣʹ·ͣղ͠·͠ΐ͏ Ռ࡞ͬͨίʔυͱ͍ͬͯΔίʔυ͔Βग़དྷ͍ͯ·͢ ηΩϡϦςΟνΣοΫɺͨΓલʹΓ·͠ΐ͏ ΞʔςΟϑΝΫτͷཧɾ׆༻ඞਢͰ͢ ώϯτ͓͞Β͍
26 Ϣʔβʔʹಧ͘·Ͱ͕ʮྑ͍ͷΛ࡞ΔʯͰ͢ ηΩϡϦςΟνʔϜҰॹʹͷͮ͘ΓΛ͢ΔؒͰ͢ ʮηΩϡϦςΟʯڪΕͣʹ·ͣղ͠·͠ΐ͏ Ռ࡞ͬͨίʔυͱ͍ͬͯΔίʔυ͔Βग़དྷ͍ͯ·͢ ηΩϡϦςΟνΣοΫɺͨΓલʹΓ·͠ΐ͏ ΞʔςΟϑΝΫτͷཧɾ׆༻ඞਢͰ͢ ώϯτ͓͞Β͍ ϚΠϯυ ɾ
৫ ٕज़ ɾ πʔϧ
%FW0QT%FW4FD0QT πʔϧΛೖΕͯऴΘΓɺ࡞ۀͱͯ͠औΓΉ͚ͩͷͷͰͳ͍ • ৫ϚΠϯυηοτͷมֵ͔Β࢝·Δ • ༗ࣝऀ͕͍ΕվળਐΉ͕ࣗͲ͏͔ʁද໘తͳ࡞ۀͷΈ Ͱͳ͘ਅʹʮ%FW0QT%FW4FD0QTͷܦݧ͋Γ·͢ʯͱݴ͑Δ ͷ͔ʁ 27
ͲͪΒେࣄ • ͪΖΜखΛಈ͔͢͜ͱΊͪΌͪ͘Όଚ͍ • ʮਅʹʜʯͱ͔ߟ͑ͳٕͯ͘ज़͕తʹͳ͍ͬͯͯɺศར ʹͳΕͦΕ࣮֬ʹϓϥε 28
ؾ͖͔Β࢝·Δ • Կ͔Γͳ͍ͱײ͡Δ߹ɺ৽͍͜͠ͱۤखͳ͜ͱʹઓ͠ ͍͚ͨͲΠϚΠν౿Έग़ͤͳ͍ͱ͍͏߹ • ͕ࣗࠓԿʹؔ৺͕͋Δͷ͔ʁԿ͕ग़དྷ͍ͯͳ͍ͷ͔ʁੳͯ͠ΈΔ • ౿Έग़ͤͳ͍ྖҬɺؔΘΓ͕ബ͍ਓʑେ͖ͳత ओʹϏδωε Λ
ͱʹࢦؒͩ͢ͱଊ͑ɺΛ୳͢ • ͜ΕΛΓӽ͑ͨΒ۩ମతͳํ๏͕ΑΓͬ͘͠Γ͖ͨΓɺͲ͔͜Β ࢝ΊΔ͔அ͘͢͠ͳͬͨΓ͢Δ͔ʂʁ • ࢲͱશવҧ͏ཱɾҙݟͷํͦͷʮҧ͏ͳʙʯͱ͍͏ײ ͋Δҙຯؾ͖͔͠Ε·ͤΜ 29
ؾ͖͔Β࢝·Δ 30
ϚΠϯυΛม͑Δͱ͍͏ҙຯͰ ۩ମతͳํ๏ΛΔͱ͍͏ҙຯͰ 31
ͨ͘͞Μͷؾ͖ʹग़ձ͑ͦ͏ͳ $MPVE/BUJWF%BZT5PLZP👏 32
Ҿ͖ଓָ͖͠ΜͰ͍͖·͠ΐ͏ʂ 33
ϕετϓϥΫςΟε࣮ફͷώϯτ ΣϏφʔ IUUQTKGSPHDPNKBSFTPVSDFTVQDPNJOHXFCJOBST • ͖ͬ͞ग़͖ͯͨʮΞʔςΟϑΝΫτཧʯʹ͍ͭͯ • ݄ʙ ։ൃɾӡ༻ޮͱηΩϡϦςΟ্Λॿ͚Δ ΞʔςΟϑΝΫτཧ •
+'SPH 1MBUGPSNʹ͝ڵຯΛ͓࣋ͪͷํ ͋Γ͕ͱ͏͍͟͝·͢ʂ ͚ • ݄ʙ ͡Ίͯͷ +'SPH1MBUGPSN ࠷ޙʹΑΖ͚͠Ε Ξϯέʔτʹ͝ڠྗ͍ͩ͘͞🐸 34
5IBOLZPV 35 ʘ+'SPHͷϓϩμΫτΛʗ ʘແྉͰͬͯΈΔʗ
˞ ֤Ξϯνύλʔϯ࣮Ͱ͕͢ɺ࠷ۙͷͷ͘͢͝ੲͷͷ͋Γ·͢ ͠ɺશͯࢲͷະख़͞Ώ͑Ͱ͢ɻաڈʹॴଐ͍ͯͨ͠ಛఆͷ৫ͷͰ ͋Γ·ͤΜɻ 36
ࢀߟϦϯΫ • 8IJUF1BQFS+'SPH9SBZ4FDVSJUZBOE$PNQMJBODFPGUIF 0QFO4PVSDF 4PGUXBSF%FQFOEFODJFT:PV3FMZPO IUUQTKGSPHDPNXIJUFQBQFSKGSPHYSBZVOJWFSTBMDPNQPOFOU BOBMZTJT • #JOBSZ4PGUXBSF$PNQPTJUJPO"OBMZTJT IUUQTXXXHSBNNBUFDIDPNCJOBSZTPGUXBSFDPNQPTJUJPO
BOBMZTJTTDB 37