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
65
シリコンバレーのチームで経験したふりかえり - 共通点とギャップ / 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
450
SBOMでソフトウェアを守れ!10年後も自信を持ってリリースするために今始めるDevSecOps / DevSecOps with SBOM for yourself 10 years from now
ihcomega56
1
5.9k
Javaアプリケーションの アーティファクト管理と DevSecOps / Java artifacts management and DevSecOps
ihcomega56
0
2.4k
Other Decks in Technology
See All in Technology
デジタルアイデンティティ技術 認可・ID連携・認証 応用 / 20250114-OIDF-J-EduWG-TechSWG
oidfj
2
670
embedパッケージを深掘りする / Deep Dive into embed Package in Go
task4233
1
210
Git scrapingで始める継続的なデータ追跡 / Git Scraping
ohbarye
5
490
JuliaTokaiとJuliaLangJaの紹介 for NGK2025S
antimon2
1
110
ゼロからわかる!!AWSの構成図を書いてみようワークショップ 問題&解答解説 #デッカイギ #羽田デッカイギおつ
_mossann_t
0
1.5k
あなたの人生も変わるかも?AWS認定2つで始まったウソみたいな話
iwamot
3
850
エンジニアリングマネージャー視点での、自律的なスケーリングを実現するFASTという選択肢 / RSGT2025
yoshikiiida
4
3.7k
30分でわかる「リスクから学ぶKubernetesコンテナセキュリティ」/30min-k8s-container-sec
mochizuki875
3
440
駆け出しリーダーとしての第一歩〜開発チームとの新しい関わり方〜 / Beginning Journey as Team Leader
kaonavi
0
120
KMP with Crashlytics
sansantech
PRO
0
240
Reactフレームワークプロダクトを モバイルアプリにして、もっと便利に。 ユーザに価値を届けよう。/React Framework with Capacitor
rdlabo
0
120
【JAWS-UG大阪 reInvent reCap LT大会 サンバが始まったら強制終了】“1分”で初めてのソロ参戦reInventを数字で振り返りながら反省する
ttelltte
0
140
Featured
See All Featured
Designing on Purpose - Digital PM Summit 2013
jponch
116
7.1k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
Scaling GitHub
holman
459
140k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
232
17k
Fashionably flexible responsive web design (full day workshop)
malarkey
406
66k
Git: the NoSQL Database
bkeepers
PRO
427
64k
Bash Introduction
62gerente
610
210k
How to train your dragon (web standard)
notwaldorf
89
5.8k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
33
2.7k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Build The Right Thing And Hit Your Dates
maggiecrowley
33
2.5k
Building Your Own Lightsaber
phodgson
104
6.2k
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