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
490
元現場エンジニアが思う「もっとこうしておけばよかった」から学ぶ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
0
73
シリコンバレーのチームで経験したふりかえり - 共通点とギャップ / retrospectives in silicon valley
ihcomega56
5
1.8k
「サプライチェーン攻撃」に立ち向かう!SBOMを使った脆弱性管理がもたらす品質とスピード向上
ihcomega56
2
2.3k
アプリケーション開発者目線で語る、明日から始めるDevSecOps
ihcomega56
0
150
パターンマッチングを学んで新しいJavaの世界へ!Java 18までの目玉機能をおさらいしよう / Java 18 pattern matching
ihcomega56
3
1.3k
SCAとDockerを触ってみよう!DecSecOps入門ワークショップ / SCA and Docker workshop
ihcomega56
1
240
JFrogのDevOps Platformづくりを支えるオブザーバビリティ / JFrog Observability
ihcomega56
0
460
SBOMでソフトウェアを守れ!10年後も自信を持ってリリースするために今始めるDevSecOps / DevSecOps with SBOM for yourself 10 years from now
ihcomega56
1
6k
Javaアプリケーションの アーティファクト管理と DevSecOps / Java artifacts management and DevSecOps
ihcomega56
0
2.5k
Other Decks in Technology
See All in Technology
MIMEと文字コードの闇
hirachan
2
1.4k
遷移の高速化 ヤフートップの試行錯誤
narirou
6
1.2k
Cracking the Coding Interview 6th Edition
gdplabs
14
28k
2/18 Making Security Scale: メルカリが考えるセキュリティ戦略 - Coincheck x LayerX x Mercari
jsonf
0
220
AWSではじめる Web APIテスト実践ガイド / A practical guide to testing Web APIs on AWS
yokawasa
8
720
AWSアカウントのセキュリティ自動化、どこまで進める? 最適な設計と実践ポイント
yuobayashi
7
640
Fraxinus00tw assembly manual
fukumay
0
110
30→150人のエンジニア組織拡大に伴うアジャイル文化を醸成する役割と取り組みの変化
nagata03
0
180
スキルだけでは満たせない、 “組織全体に”なじむオンボーディング/Onboarding that fits “throughout the organization” and cannot be satisfied by skills alone
bitkey
0
190
生成AI×財務経理:PoCで挑むSlack AI Bot開発と現場巻き込みのリアル
pohdccoe
1
740
LINEギフトにおけるバックエンド開発
lycorptech_jp
PRO
0
300
OPENLOGI Company Profile for engineer
hr01
1
20k
Featured
See All Featured
Unsuck your backbone
ammeep
669
57k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Typedesign – Prime Four
hannesfritz
40
2.5k
Reflections from 52 weeks, 52 projects
jeffersonlam
348
20k
Why Our Code Smells
bkeepers
PRO
336
57k
StorybookのUI Testing Handbookを読んだ
zakiyama
28
5.5k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.2k
What's in a price? How to price your products and services
michaelherold
244
12k
Site-Speed That Sticks
csswizardry
4
410
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.7k
RailsConf 2023
tenderlove
29
1k
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