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
入門 境界づけられたコンテキスト
Search
yuuki takezawa
April 11, 2022
Technology
4.8k
6
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
入門 境界づけられたコンテキスト
phperkaigi 2022の資料です。
理解しながら共通化するところはするなどいいバランスを心がけましょう。
音声が悪いですが資料だけでなく、トーク内容も併せて・・!
yuuki takezawa
April 11, 2022
More Decks by yuuki takezawa
See All by yuuki takezawa
なぜAI時代に 「イベント」を中心に考えるのか? / Why focus on "events" in the age of AI?
ytake
4
2.1k
PHPでアクターモデルを活用したSagaパターンの実践法 / php-saga-pattern-with-actor-model
ytake
0
3k
PHP ステートレス VS ステートフル 状態管理と並行性 / php-stateless-stateful
ytake
0
330
PHPでアクターモデルを理解・体験しよう / Understand and experience the actor model in PHP
ytake
2
960
再考 アクターモデル/ reconsider actor model
ytake
0
1.6k
GoとアクターモデルでES+CQRSを実践! / proto_actor_es_cqrs
ytake
1
670
Phluxorでアクターモデルを 理解・体験しよう / toolkit-for-flexible-actor-models-in-php-phluxor
ytake
1
380
オブジェクトのおしゃべり大失敗 メッセージングアンチパターン集 / messaging anti-pattern collection
ytake
2
1.4k
DRE/SREのプラクティス融合によるクラウドネイティブなデータ基盤作り / dre_sre
ytake
0
1k
Other Decks in Technology
See All in Technology
AI時代におけるテストの基礎の再定義 / Rethinking the Fundamentals of Testing in the AI Era
mineo_matsuya
14
4.7k
GoでCコンパイラを作った話
repunit
0
150
AmplifyHostingConstructからSSRフレームワークのためのホスティング設計を考察する/amplify-hosting-construct
fossamagna
1
310
全社でのソフトウェアサプライチェーン攻撃対策をやってみた with Takumi Guard
z63d
0
280
VPCセキュリティ対応の最新事情
nagisa53
1
290
SoccerMaster: A Vision Foundation Model for Soccer Understanding
kzykmyzw
0
170
AI Native なプロダクト組織の立ち上げ方 : 生産性 100 倍への挑戦
mikesorae
0
1.3k
AI Coding Agent時代のcdk-nagガードレール 〜組織ルールを強制CIで守り抜く設計の挑戦〜
mhrtech
3
510
AI時代のPlaywright活用(システムテストを自動化する ー 実行エンジンにPla ywrightを選んだ理由)
ynisqa1988
2
950
それでも、技術なブログを書く理由 #kichijojipm / Why I Still Write Tech Blogs Even Now
shinkufencer
0
490
アップデートで何が変わった?デモで学んで使いこなすIBM Bob2.0
muehara
0
230
凡エンジニアがこの先生きのこるためには。〜TypeScript完全に理解したい〜
alchemy1115
2
420
Featured
See All Featured
4 Signs Your Business is Dying
shpigford
187
22k
Docker and Python
trallard
47
4k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Code Review Best Practice
trishagee
74
20k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
320
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.9k
Building Applications with DynamoDB
mza
96
7.1k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
New Earth Scene 8
popppiees
3
2.4k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
590
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
62
45k
Transcript
1)1FS,BJHJ:VVLJ5BLF[BXB ೖڥք͚ͮΒΕͨίϯςΩετ
1SP fi MF • ᖒ༗وBLBZUBLF • ελʔϑΣεςΟόϧגࣜձࣾଞࣾ • ετϦʔϜॲཧɺσʔλج൫తͳ͜ͱɺ1E.ͳͲ
• UXJUUFSIUUQTUXJUUFSDPNFY@UBLF[BXB • GBDFCPPLIUUQTXXXGBDFCPPLDPNZVVLJUBLF[BXB • HJUIVCIUUQTHJUIVCDPNZUBLF
"HFOEB • ڥք͚ͮΒΕͨίϯςΩετΛແࢹ͢Δ • ڥք͚ͮΒΕͨίϯςΩετΛཧղ͢Δ
ίϯςΩετΛཧղ͢Δ͜ͱ͕ γεςϜ։ൃ͋ΒΏΔ׆ಈʹ͓͍ͯͷϙΠϯτ
ΒΉ
͡·Γ • ͜͜Ͱ͍͏ͱ Ұൠతͳ৯ྉΛࢦ͠·͠ΐ͏ • ͜ͷاۀ͕ܝ͛Δϛογϣϯ ͨ͘͞Μͷ৯ྉʹग़ձ͏ॴΛఏڙ͠ɺ
৯จԽΛ๛͔ʹʂ
͡·Γ • ࠷ॳʹ৯ྉͷϨϏϡʔαΠτ εϞʔϧελʔτͰ·͔ͣ͜͜Β • ࠷ॳʹ͋Γͱ͋ΒΏΔ৯ྉͷ ϚελʔσʔλΛ࣋ͭͷ͍͠
• ϨϏϡʔΛଅਐ͢ΔͨΊʹ ϨϏϡΞʔʹ৯ྉΛొͰ͖ΔΑ͏ʹ͠Α͏ʂ
࠷ॳͷ৯ྉ • ৯ྉ໊ • ϝʔΧʔ໊ • ࢢൢചՁ֨ʢNJONBYͷΑ͏ͳൣғ͔͠Εͳ͍ʣ • δϟϯϧ
• ϨϏϡʔຊจ • ৯ྉొϢʔβʔ
࠷ॳͷ৯ྉ • ݕࡧ͢ΔϢʔβʔͷ͜ͱΛߟ͑ͯ δϟϯϧࢢՁ֨ͳͲͲ͏ࣺͯͯ͠ΒΕͳ͍ • ੈؒҰൠͷ৯ྉʹର͢Δೝࣝͱେ͖ͣ͘Εͳ͍ͷͰ ͜ΕͰྑ͍Ͱ͠ΐ͏ʂ
ӡ༻Λղܾ͢ΔͨΊͷػೳՃ
ϦϦʔε͔ͯ͠Βগ͠ͷ͜ͱ • ΓϚελʔͷσʔλ͕ͳ͍ͱɺ ΧλΧφͻΒ͕ͳࣈɺ֯શ֯ͳͲඍົͳදه༳ΕͰ ಉ͚ͩ͡Ͳҧ͏ͷʹͳͬͯ͠·͏ • ͜ΕαʔϏεར༻ऀେมΘ͔ΓͮΒ͍ʂ
ϦϦʔε͔ͯ͠Βগ͠ͷ͜ͱ • ໊લొ༰ͷ໊دͤΛ͠Α͏ʂʢਖ਼نԽʣ • ໊دͤࡁΈ͔Ͳ͏͔Λݟͯɺӡ༻ۀʹͯ ٵऩ͢Δ͜ͱ͕Ճʢ໊ͷมߋΛӡ༻ͱͯ͠ߦ͏ʣ
໊د͔ͤΒݟ͑ͨ৯ྉͷଐੑ • ৯ྉ໊ • ϝʔΧʔ໊ • ೖྗ࣌ͷ৯ྉ໊ • ໊د࣮ͤࢪ
໊دͤͷೝࣝ ΤϯδχΞ • ৯ྉ໊ • ϝʔΧʔ໊ • ೖྗ࣌ͷ৯ྉ •
໊د࣮ͤࢪͱϑϥά • ໊دͤ࣌ʹݩͷ৯ྉ໊*%Λ࣋ͨͤΔ • ৽͍͠৯ྉ໊*%Λ༩
໊دͤͷೝࣝ ΤϯδχΞ • ಉ͡৯ྉͩ͠ɺ ίʔυڞ௨Խ͓ͤͯ͜͞͏ • ͍ͭͰʹσʔλϕʔεΧϥϜՃ͘Β͍Ͱ͍͍͔ͳʔ
ΑΓ͔ͨ͠ͳσʔλΛఏڙ͢ΔͨΊͷػೳՃ
લճͷϦϦʔε͔ͯ͠Β·ͨগ͠ޙ • ৯ྉσʔλͷ໊دͤۀΛ ొޙʹ͢ΔͷͰΓେมɾɾʂ • ొ࣌ʹਖ਼͍͠ͷͰ͋Δ͔Ͳ͏͔Λ֬ೝ͢ΔͨΊʹ ొਃϑϩʔΛՃ͠·͠ΐ͏ʂ
৯ྉొਃͷೝࣝ • ৯ྉ໊ • ϝʔΧʔ໊ • ࢢൢചՁ֨ʢNJONBYͷΑ͏ͳൣғ͔͠Εͳ͍ʣ • δϟϯϧ
• ϨϏϡʔ • ৯ྉొϢʔβʔ • ೝՄ
৯ྉొਃͷೝࣝ ΤϯδχΞ • ಉ͡৯ྉͩ͠ɺ ίʔυڞ௨Խ͓ͤͯ͜͞͏ • ೝՄ͍ͬͯ͏ͷ͕͍͖͚ͭͯͨͲɺ
৯ྉͷεςʔλεͩΑͶɺΧϥϜՃͰ͍͍͔ͳʔ
ϨϏϡʔଅਐͷͨΊͷػೳՃ
લճͷϦϦʔε͔ͯ͠Β·ͨগ͠ޙ • ϨϏϡʔΛߘͯ͘͠ΕΔํͷ Ϟνϕʔγϣϯ͕Լ͕Βͳ͍Α͏ʹ ࢀߟʹͳͬͨͳͲͷϑΟʔυόοΫΛ͚ͭΑ͏ʂ • ϨϏϡʔ͔Βʹ৯ྉʹΛ͚ͭͨΓɺ
ฏۉΛ৯ྉʹ༩ͤͯ͞ ݕࡧͷฒͼॱͷҰͭʹ͓͏ʂ
ϨϏϡʔଅਐࢪࡦͷೝࣝ • ৯ྉ໊ • ϝʔΧʔ໊ • δϟϯϧ • ϨϏϡʔจ
• ϨϏϡϫʔʢߘऀʣ • • ฏۉ • ฒͼॱ
ϨϏϡʔଅਐࢪࡦͷೝࣝ ΤϯδχΞ • ಉ͡৯ྉͩ͠ɺ ίʔυಉ༷ʹڞ௨Խ͓ͤͯ͜͞͏ • ϨϏϡʔͱ͔ͷ࣋ͨͤํ͕ͪΐͬͱมΘ͖ͬͯͨͳ͊
ςʔϒϧΛͦΖͦΖׂ͢Δ͔ʔ ͜ͷฏۉݕࡧʹ͔͠Θͳ͍͚Ͳɺ͜͜ʹͳ͍ͱ ද͕ࣔେมͩ͠ɺݕࡧ࣌ͷ0SEFS͜͜ʹͳ͍ͱҰճͰऔΕͳ͍ ͳ͊ɾɾ
Ϗδωε֦େͷͨΊͷػೳՃ
લճͷϦϦʔε͔ͯ͠Β·ͨ·ͨগ͠ޙ • ϨϏϡʔ͔Β࢝·ͬͨαʔϏεେ͖͘ͳΓɺ ͍ͭʹ௨ൢΛελʔτ • ࡏݿঢ়ଶΛөͤ͞ͳ͕Βɺ ϩάΠϯϢʔβʔͷॅॴͷૹ࣌༧ΛೖΕΑ͏ʂ
௨ൢ͔ΒΈͨ৯ྉͷೝࣝ • ৯ྉ໊ • ϝʔΧʔ໊ • ৯ྉ • δϟϯϧ
• ௨৴ൢചՁ֨ • ϨϏϡʔจ • ϨϏϡϫʔʢߘऀʣ • • ฏۉ • ฒͼॱ • ૹઌ • ࡏݿཧ • 4,6 • ൢചεςʔλε༗ແ • Ϩίʔυঢ়ଶ
ٸʹΈ͕ • ͜ͷ৯ྉڊେ͗͢Δ͚Ͳɺ ڞ௨͍ͯ͠Δͱ͜ΖҎ֎ׂͰ͖ͳ͍ʁ • Ͱ͋ͬͪͱͬͪ͜Ͱ͍ͬͯͯͰ͢Ͷ • ͬͪ͜Λม͑ΔͳΒɺ༷ม͑ͳ͍ͱ͍͚ͳ͍Ͱ͢Ͷ
͏ʔΜɹෳࡶͩɾɾʂ ʢ͜ΕҎ্͍͠ͷͰʣͰ͖·ͤΜʂ
৯ྉͱ͍͏໊લ͚ͩͰ શͯΛͭͳ͛Δͱɾɾɾʁ
class Product { public function __construct( private string $name,
private string $maker, private ?DateTime $created = null, private ?User $user = null, private ?string $marketPrice = null, private ?string $originalName = null, private ?DateTime $nameIdentificationDate = null, private ?string $genre = null, private ?string $reviewBody = null, private ?User $reviewUser = null, private ?int $score = null, private ?float $avg = null, private ?int $orderNumber = null, private ?int $salePrice = null, private ?string $deliveryArea = null, private ?int $stockKeepingUnit = null, private ?int $saleStatus = null, private ?int $enabled = null ) {} }
ʢͯ͢Λแͨ͠ʣ৯ྉΛදݱ͢ΔͨΊʹ OVMMBCMFͰදݱʂ
ڥք͚ͮΒΕͨίϯςΩετΛཧղ͢Δ
৯ྉͱʢΤϯδχΞʣ • ৯ྉQSPEVDUTͱͯ͠උ͍ͯͨ͠ • ৯ྉʹೖྗݩͷ໊ͱਃঢ়ଶ͕͋Γɺ ಉ͡Α͏ͳσʔλ͕ͲΜͲΜ࡞ΒΕ͍ͯ͘ ໊دͤ͞Εͨͷਃ͞Ε͍ͯͳ͍͚ͲೝՄঢ়ଶͰɺ
໊دͤϑϥά͕͋Δ • ϝʔΧʔ߹Ͱ௨ൢͰചΕͳ͍͜ͱ͋Δ͕ɺ ϨϏϡʔ͕͍͍ͭͯΔͷදࣔ͠ͳ͚ΕͳΒͳ͍ • Ϩίʔυ͕ແޮͳͱ͖ͳʹΑΓ༏ઌͤ͞ͳ͚ΕͳΒͳ͍ ʢཧআʣ
৯ྉͱʢΤϯδχΞʣ • ৯ྉૹՄೳͳͷͰ͋Δ͔Ͳ͏͔ͷఆ͕͋Γɺ Ӿཡऀͷॅॴ͔ΒૹΛܭࢉ͢Δඞཁ͕͋Δ • ݕࡧϖʔδͰฒͼॱ͕͋Γɺ
ଞͷϖʔδͰ৽͍͠ॱʹฒͤͳ͚ΕͳΒͳ͍ • ৯ྉࢢൢചՁ֨ͱɺฐࣾͰͷ௨৴ൢചՁ͕֨͋Γɺ ௨৴ൢച࣌ʹ4,6Λߟ͑ͳ͚ΕͳΒͳ͍
ΒΈ͗ͨ͢৯ྉͱ͍͏ଘࡏ • ৯ྉͱ͍͏ྖҬΛڞ௨Խ͓͚ͤͯ͞ શ͕ͯ͏·͍ͣͩͬͨ͘͘ • ཁΛΞϓϦέʔγϣϯͷ༷ͱͯ͠औΓΜͩ ͜Ε༷͕ෳࡶͳ͍ͤͩʂ
ίϯςΩετΛҙࣝ͢Δ
ίϯςΩετͱ • ར༻ऀͷҙཱࣝʹΑͬͯ ࣄഎܠঢ়گΛࢦ͢ͷ • ৗੜ׆ͷ͋ͪ͜ʹͪଟ͋͘ΔͷͰɺ ೝࣝͷᴥᴪͷ΄ͱΜͲ͜ͷίϯςΩετΛཧղͤͣʹ
ࣗͷཱͰͷࢥߟͳͲͱҧ͏··ਐΉ͜ͱͰى͖Δ
ΤϯδχΞʹ৯ྉʹର͢Δ ߟ͑ํ͕ܾ·ͬͯ͠·͍ͬͯͨ
σʔλϕʔε߹ϥΠϒϥϦ߹ͳͲ͕ ؚ·Ε͍ͯͨ ΤϯδχΞࢹͰͷίϯςΩετͱͯ͠ද໘Խ
ίϯςΩετΛཧղ͢ΔϝϦοτ • ࣄͷίϯςΩετΛཧղͯ͠ɺཧ͢Δ͜ͱͰ ཱͳͲ͕ҧ͏߹Ͱ ೝࣝϨϕϧΛଗ͑Δ͜ͱ͕Ͱ͖Δ • ೝࣝͷᴥᴪͷ΄ͱΜͲ͕͜ͷίϯςΩετ͔Β͘Δͷ
ίϛϡχέʔγϣϯͷվળͱཧղͷΞοϓ • ͜ͷίϯςΩετΛ͏·͘දݱ͢Δ͜ͱͰϦϑΝΫλϦϯάͪΖΜɺ ΞϓϦέʔγϣϯͱͷ͖߹͍ํɺෳࡶ͞ͷճආʹܨ͕Δ
Ͳ͏͢ΕΑ͔ͬͨͷ͔
ίϯςΩετ͕࡞༻͢ΔൣғʢྖҬʣΛ ݟ͚ͭग़͠ɺڥքઢΛݟ͚ͭΔ
໊دͤͷέʔε • ৯ྉͱϨϏϡʔؔΛ࣋ͭ • ৯ྉͱ໊دͤؔΛ࣋ͭ • ϨϏϡʔͱ໊دͤ৯ྉΛڬΜͰؔΛ͔࣋ͭ͠Εͳ͍
໊دͤͷέʔε • ϨϏϡʔͷཱ͔ΒݟΔ৯ྉͱ ໊د͔ͤΒݟΔ৯ྉಉ͔͡Ͳ͏͔ • ϨϏϡʔ͔ΒݟΔ৯ྉͷ໊د࣮ͤߦͱ • ೖྗݩͷ৯ྉ໊ϨϏϡΞʔɺӾཡऀ͕ೝࣝ͢Δͷ
• ໊د͔ͤΒΈΔϨϏϡΞʔϨϏϡʔͱ
໊دͤͷέʔε • ϨϏϡΞʔ͔ΒΈͨ৯ྉͷೝࣝͱ ӡ༻্ͷ໊دͤʹؔ͢Δ৯ྉ͕ࠩ͋Δ • ͭ·Γ໊લ͕ಉ͡Ͱ ೝࣝϨϕϧɾҙຯ߹͍͕ඍົʹҟͳΔͱ͍͏͜ͱ
ొਃͷέʔε • ໊د͔ͤΒΈΔ৯ྉɺϨϏϡΞʔ͔ΒݟΔ৯ྉɺ ਃϑϩʔ͔ΒݟΔ৯ྉಉ͔͡Ͳ͏͔ • ਃϑϩʔͷ͏ͪɺڐՄ͞Εͨͷ͚͕ͩ ॳΊͯϨϏϡʔରͷ৯ྉͱͳΔ
• ϨϏϡʔ͔Βݟ͑Δ৯ྉͱਃڐՄ͞Εͨ৯ྉಉ͡ͷ ਃ͕ڐՄ͞ΕΔ·Ͱશ͘ҟͳΔ৯ྉ
ొਃͷέʔε • ਃڐՄ͞ΕΔ·ͰϨϏϡʔແ͍ ৯ྉͱೝࣝ͞Εͳ͍ͨΊɺ σʔλߏతʹ৯ྉ*%ΛৼΔ͜ͱ΄ͱΜͲͳ͍ • ͨͩ͠ɺσʔλੳྖҬͰ͕มΘͬͯ͘Δέʔε
ొਃͨ͠৯ྉͷ͏ͪɺͲΕ͚ͩڐՄ͞Ε͔ͨɺͳͲ
ϨϏϡΞʔ
໊دͤ
ΤϯδχΞ
৯ྉͱ͍͏໊લ͕ಉ͚ͩ͡Ͱ ֤ྖҬͰͷೝ͕ࣝҟͳ͍ͬͯͨ
͜ͷίϯςΩετͷڥքઢ͕ ڥք͚ͮΒΕͨίϯςΩετ
ڥքઢΛݟ͚ͭΔ࣌ͷϙΠϯτ
ίϯςΩετΛݟ͚ͭग़͢ϙΠϯτ • ͷલʹ͋ΔจষԽ͞Εͨࣄɺ͍ۙ͠ձɺ ༷͔Βຊʹ࣮ݱ͍ͨ͜͠ͱΘ͔Βͳ͍ • ͜ΕΒΛݟ͚ͭΔίϛϡχέʔγϣϯɺ ࣄΛଟ֯తʹΈΔࢥߟํ๏நͷఐࢠΛ͏·͘औΓೖΕ
ϝλใΛݟൈ͘͜ͱ
ίϯςΩετΛݟ͚ͭग़͢ϙΠϯτ • աڈͷܦݧͳͲ͔Β͘Δ ʮ͋͋ͳͬͨΒ͜͏ͳΔʯͱ͍ͬͨʮߦಈͷΠϝʔδʯΛ த৺ͱ͢ΔͷͰͳ͘ɺ ཱ͔ΒͷഎܠɺจষձҎ֎ͷཪʹજΉͷΛΔ
• ܾΊ͚ͭࢥ͍ࠐΈͰͳ͘ རؔऀΛΓɺใΛҾ͖ग़ͯ͠ຊ࣭తͳղΛΔ
ίϯςΩετݟ͚ͭग़͢ϙΠϯτ • σʔλϕʔεϥΠϒϥϦͷ͜ͱҰߟ͑ͳ͍ • ࣮߹Ͱߟ͑ͳ͍͜ͱ • ͜ΕΒΤϯδχΞͷཱ͔Βͷࣄͷ͖߹͍ํʹ ڧ͘ґଘͯ͠͠·͏ͨΊɺ
ձͷத߹ͬͯɺදݱטΈ߹Θͳ͍ঢ়ଶʹ
ίϯςΩετݟ͚ͭͩͨ͠Β • ಉ໊͡લͰ͋ͬͯؔ࿈ੑ͕͋Δ͔͠Εͳ͍ɺ ͙Β͍Ͱߟ͑Δ • ڞ௨ͯ͠ߟ͑Δͷͨ͘͞ΜͷॏͳΓ͕ݟ͖͔͑ͯͯΒ
ଞͷྫʹ͍ͭͯಉ༷
ϨϏϡʔͷͷέʔε • 69తͳࢪࡦͱͯ͠࡞༻͢ΔͷͰɺ ΄ͱΜͲαʔϏεར༻ऀͷͨΊͷͷ͔͠Εͳ͍ • ଞͷ৯ྉͷཱͰΈΔͱ ϨϏϡʔͷ͕͍͍ͭͯΑ͏͕ͳ͔Ζ͏ͱ
Ұؔ৺ͷͳ͍ͷ • ৯ྉͱ͍͏ݴ༿͕ͭ͘ͷͯ͢ʹΛؔͤͯ͞ͳΒͳ͍
࣮ફͷͨΊʹ͢Δ͜ͱ
࣮ફͷͨΊͷεςοϓ • ϓϩδΣΫτ͘͠ձࣾશମͷ༻ޠूͱ ίϯςΩετϚοϓΛ࡞Δ • ݸਓͷ؍Ͱͳ͘ɺརؔऀΛר͖ࠐΉ •
ݸਓతʹ࠷ॳʹऔΓΉͷ͕͜Ε
࣮ફͷͨΊͷεςοϓ • ڥք͚ͮΒΕͨίϯςΩετʹ߹Θͤͯ ίʔυ͚ͯߟ͑Δ • ίʔυڞ௨Խͤͯ͞ɺ ࣄ͚ͩ͏·͚ͯ͘ߟ͑Δͷ͍͠
• Ͱόϥϯεେࣄ
۩ମతͳ࣮ํ๏ɾɾ
·ͱΊ • ڥք͚ͮΒΕͨίϯςΩετΛೝࣝ͠ɺ දݱͷώϯτͱ͢Δ͜ͱͰࢥߟͷෳࡶ͞Λճආ͢Δ • ίϯςΩετ͕ੜ·ΕΔࣄΛݟ͚ͭग़͢͜ͱͰ ଟ͘ͷώϯτʹͭͳ͕Δ
• ͷલͷࣄϝλใͷҰ෦ͱͯ͠ଊ͑Δͷେࣄ