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
6
4.2k
入門 境界づけられたコンテキスト
phperkaigi 2022の資料です。
理解しながら共通化するところはするなどいいバランスを心がけましょう。
音声が悪いですが資料だけでなく、トーク内容も併せて・・!
yuuki takezawa
April 11, 2022
Tweet
Share
More Decks by yuuki takezawa
See All by yuuki takezawa
PHP ステートレス VS ステートフル 状態管理と並行性 / php-stateless-stateful
ytake
0
12
PHPでアクターモデルを理解・体験しよう / Understand and experience the actor model in PHP
ytake
2
240
再考 アクターモデル/ reconsider actor model
ytake
0
980
GoとアクターモデルでES+CQRSを実践! / proto_actor_es_cqrs
ytake
1
390
Phluxorでアクターモデルを 理解・体験しよう / toolkit-for-flexible-actor-models-in-php-phluxor
ytake
1
250
オブジェクトのおしゃべり大失敗 メッセージングアンチパターン集 / messaging anti-pattern collection
ytake
2
1k
DRE/SREのプラクティス融合によるクラウドネイティブなデータ基盤作り / dre_sre
ytake
0
760
技術的負債と向き合う取り組みでよかったもの / positive_efforts_to_tackle_technical_debt
ytake
10
3.8k
アプリケーションエンジニアから強いデータエンジニアへの歩き方 / How to transition and become a Data Engineer from an Application Engineer
ytake
1
540
Other Decks in Technology
See All in Technology
Postman Vaultを使った秘密情報の安全な管理
nagix
3
130
Enhancing SRE Using AI
yoshiiryo1
1
270
論文紹介 ”Long-Context LLMs Meet RAG: Overcoming Challenges for Long Inputs in RAG” @GDG Tokyo
shukob
0
270
カスタムインストラクションでGitHub Copilotをカスタマイズ!
07jp27
6
460
extensionとschema
yahonda
1
100
顧客の声を集めて活かすリクルートPdMのVoC活用事例を徹底解剖!〜プロデザ!〜
recruitengineers
PRO
0
200
第27回クラウド女子会 ~re:Invent 振り返りLT会~ 宣言型ポリシー、使ってみたらこうだった!
itkr2305
0
290
CloudWatch Container Insightsを使ったAmazon ECSのリソース監視
umekou
1
120
攻撃者の視点で社内リソースはどう見えるのかを ASMで実現する
hikaruegashira
4
2.1k
消し忘れリソースゼロへ!私のResource Explorer活用法
cuorain
0
140
あなたはJVMの気持ちを理解できるか?
skrb
5
2k
Fin-JAWS第38回reInvent2024_全金融系セッションをライトにまとめてみた
mhrtech
1
100
Featured
See All Featured
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
127
19k
A Philosophy of Restraint
colly
203
16k
Thoughts on Productivity
jonyablonski
68
4.4k
A Modern Web Designer's Workflow
chriscoyier
693
190k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
20
2.4k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
3
270
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.4k
Writing Fast Ruby
sferik
628
61k
Adopting Sorbet at Scale
ufuk
74
9.2k
Product Roadmaps are Hard
iamctodd
PRO
50
11k
Building Applications with DynamoDB
mza
93
6.2k
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తͳࢪࡦͱͯ͠࡞༻͢ΔͷͰɺ ΄ͱΜͲαʔϏεར༻ऀͷͨΊͷͷ͔͠Εͳ͍ • ଞͷ৯ྉͷཱͰΈΔͱ ϨϏϡʔͷ͕͍͍ͭͯΑ͏͕ͳ͔Ζ͏ͱ
Ұؔ৺ͷͳ͍ͷ • ৯ྉͱ͍͏ݴ༿͕ͭ͘ͷͯ͢ʹΛؔͤͯ͞ͳΒͳ͍
࣮ફͷͨΊʹ͢Δ͜ͱ
࣮ફͷͨΊͷεςοϓ • ϓϩδΣΫτ͘͠ձࣾશମͷ༻ޠूͱ ίϯςΩετϚοϓΛ࡞Δ • ݸਓͷ؍Ͱͳ͘ɺརؔऀΛר͖ࠐΉ •
ݸਓతʹ࠷ॳʹऔΓΉͷ͕͜Ε
࣮ફͷͨΊͷεςοϓ • ڥք͚ͮΒΕͨίϯςΩετʹ߹Θͤͯ ίʔυ͚ͯߟ͑Δ • ίʔυڞ௨Խͤͯ͞ɺ ࣄ͚ͩ͏·͚ͯ͘ߟ͑Δͷ͍͠
• Ͱόϥϯεେࣄ
۩ମతͳ࣮ํ๏ɾɾ
·ͱΊ • ڥք͚ͮΒΕͨίϯςΩετΛೝࣝ͠ɺ දݱͷώϯτͱ͢Δ͜ͱͰࢥߟͷෳࡶ͞Λճආ͢Δ • ίϯςΩετ͕ੜ·ΕΔࣄΛݟ͚ͭग़͢͜ͱͰ ଟ͘ͷώϯτʹͭͳ͕Δ
• ͷલͷࣄϝλใͷҰ෦ͱͯ͠ଊ͑Δͷେࣄ