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
ドメイン駆動設計 勉強会 〜 値オブジェクト編 〜 / 2024-02-06
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Takuma Yamamoto
February 06, 2024
Programming
2.1k
1
Share
ドメイン駆動設計 勉強会 〜 値オブジェクト編 〜 / 2024-02-06
Takuma Yamamoto
February 06, 2024
More Decks by Takuma Yamamoto
See All by Takuma Yamamoto
ドメイン駆動設計 勉強会 〜 リポジトリ編 〜 / 2024-04-23
tamago3keran
0
120
スナックミーの開発はワクワクだらけ! / 2024-04-05
tamago3keran
0
200
アウトプットのハードルを下げた! / 2024-03-25
tamago3keran
0
420
ドメイン駆動設計 勉強会 〜 ドメインサービス編 〜 / 2024-03-05
tamago3keran
0
120
ドメイン駆動設計 勉強会 〜 エンティティ編 〜 / 2024-02-20
tamago3keran
0
130
スカウト返信率を倍にするためにやったこと / 2024-01-29
tamago3keran
3
1.1k
Rails 経験者が FastAPI 本を読んで感じたこと / 2023-11-28
tamago3keran
0
2k
アウトプットのモチベーションはみんな違ってみんな良い! / 2023-10-06
tamago3keran
0
1.6k
PC が変わっても使い慣れた Neovim で すぐに開発を始める仕組み / 2023-07-25
tamago3keran
1
1.3k
Other Decks in Programming
See All in Programming
検索設計から 推論設計への重心移動と Recall-First Retrieval
po3rin
0
290
Lightning-Fast Method Calls with Ruby 4.1 ZJIT / RubyKaigi 2026
k0kubun
3
430
Making the RBS Parser Faster
soutaro
0
410
事業会社でのセキュリティ長期インターンについて
masachikaura
0
250
実用!Hono RPC2026
yodaka
2
230
The Monolith Strikes Back: Why AI Agents ❤️ Rails Monoliths
serradura
0
340
実践CRDT
tamadeveloper
0
570
ふりがな Deep Dive try! Swift Tokyo 2026
watura
0
220
Programming with a DJ Controller — not vibe coding
m_seki
3
110
JOAI2026 1st solution - heron0519 -
heron0519
0
140
Swift Concurrency Type System
inamiy
0
530
PHPで TLSのプロトコルを実装してみるをもう一度しゃべりたい
higaki_program
0
210
Featured
See All Featured
How STYLIGHT went responsive
nonsquared
100
6.1k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
270
The Pragmatic Product Professional
lauravandoore
37
7.2k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
310
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
770
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
180
Everyday Curiosity
cassininazir
0
200
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
380
Heart Work Chapter 1 - Part 1
lfama
PRO
5
35k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
260
Transcript
υϝΠϯۦಈઃܭ ษڧձ Takuma Yamamoto ʙ ΦϒδΣΫτฤ ʙ
BIOGRAPHY ͋ͳͨ୭Ͱ͔͢ʁ 5BLVNB:BNBNPUP 8PSLBUTOBQNF 'SPN.JZB[BLJ 4/4 झຯ ɾɹɹIUUQTHJUIVCDPNUBNBHPLFSBO ɾɹɹIUUQTUXJUUFSDPNZBNBUBLV ɾɹɹIUUQTRJJUBDPNUBNBHPLFSBO
ɾɹɹIUUQT[FOOEFWUBNBHPLFSBO ɾ͓ͭ ɾαφ ɾΞχϝ ɾɹɹIUUQTOPUFDPNUBNBHPLFSBO ࠷͍ۙͬͯΔ͜ͱ ɾΤϯδχΞ࠾༻શൠ ɾ-BNCEBΛͬͨ$3.ͷ࣮
INTRODUCTION ۦ͚ग़͠ͷࠒʹಡΜͰ࠳ં… ΤϯδχΞʹͳΓͨͯͷࠒɺ࣮ફυϝΠϯۦಈઃܭͱ͍͏ຊΛಡ͏ͱͯ͠࠳ં͠·ͨ͠ɻ લఏ͕ࣝΓͣɺΒͳ͍༻ޠͩΒ͚ͰɺಡΈਐΊΔ͜ͱ͕Ͱ͖·ͤΜͰͨ͠ɻ
INTRODUCTION εφοΫϛʔͰ DDD Λϕʔεʹ։ൃ͍ͯ͠Δ ࠾༻ͰεφοΫϛʔͷྺ࢙ΛΓɺ։ൃʹ͓͚Δলͷͱɺ%%%Λಋೖͨ͜͠ͱΛΓ·ͨ͠ɻ ࣗΩϟονΞοϓͯ͠ɺ͔ͬ͠Γઃܭʹଇͬͯ։ൃͰ͖ΔΑ͏ʹͳΖ͏ͱܾ৺͠·ͨ͠ɻ ࢀߟIUUQTMBCTTOBRNFFOUSZ
INTRODUCTION ΤϯδχΞʹ༏͍͠ೖॻΛݟ͚ͭͨʂ ࠓ࠳ંͨ͘͠ͳ͍ͳʔͱࢥ͍ͬͯͨͱ͜Ζɺ͋Γ͕͍ͨ͜ͱʹ։ൃऀʹͱͬͯ༏͍͠ೖॻ͕ൃച ͞Ε͍ͯͨͷͰɺʮυϝΠϯۦಈઃܭೖʯͱ͍͏ຊΛखʹऔΓ·ͨ͠ɻ
What is DDD? ͦͦ Domain Driven Design ͱԿͰ͔͢ʁ
INTRODUCTION υϝΠϯͷࣝʹযΛͯͨ ઃܭख๏ lυϝΠϯz ϓϩάϥϜΛద༻͢ΔରͱͳΔྖҬ lࣝʹযΛͯΔz ར༻ऀͷߟ͑ࢹɺऔΓר͘ΛڥΛཧղ͢Δ͜ͱ ϓϩάϥϜΛద༻͢ΔରͱͳΔྖҬΛ࣮ࡍʹ ར༻͍ͯ͠Δਓͨͪͷߟ͑ํࢹɺ൴ΒΛऔ Γר͘ڥΛཧղ͢Δ͜ͱΛॏࢹͨ͠ઃܭख๏
INTRODUCTION υϝΠϯʹৄ͍͠ਓͱͷର͕େࣄ υϝΠϯΤΩεύʔτͱίϛϡχέʔγϣϯΛͱΓͳ͕ΒɺυϝΠϯʹର͢ΔཧղΛਂΊͨΓɺใΛ ཧͨ͠Γͯ͠ઃܭ͢Δ͜ͱ͕ଟ͍Ͱ͢ɻ ΤϯδχΞͱؔऀ͕ɺೝࣝͷͣΕ͕ͳ͘ڞ௨ͷݴ༿ͰͤΔΑ͏ʹɺνʔϜಠࣗͰ࡞Γ্͛ΔϢϏΩ λεݴޠͱ͔͕ॏཁʹͳͬͯ͘ΔΑ͏Ͱ͢Ͷɻ υϝΠϯͷ֓೦ υϝΠϯϞσϧ υϝΠϯ
ΦϒδΣΫτ ͜͜ͷ ҰํͰ࣮͜͜ફϕʔεͰܦݧΛੵΜͰ͍͘෦ͳͷͰɺ͙͙͢͢ʹ͚ͭΔͷ͍͠ɻɻɻ
How do we learn about DDD? ͜ͷษڧձͰɺͲͷΑ͏ʹ DDD ΛֶΜͰ͍͔͘ʁ
POLICY DDD ʹऔΓΉͨΊͷಓ͠ΔΛݟ͚ͭΔ %%%Ͱग़ͯ͘Δ༻ޠେ͖͚ͯ͘ɺ֓೦Λநग़͢ΔϞσϦϯάͱl֓೦Λ࣮ʹམͱ͠ࠐΉͨΊͷ ύλʔϯͷछྨʹ͚ΒΕ·͢ɻ ޙऀΑΓৄࡉͳαϯϓϧίʔυͳͲʹམͱ͠ࠐΊΔͷͰɺΤϯδχΞʹͱͬͯཧղ͍͢͠ͱ͍͏ ੑ࣭͕͋Γ·͢ɻͦ͜Ͱ͜ͷษڧձͰɺޙऀͷཧղΛਐΊΔ͜ͱʹूத͠ɺલऀʹऔΓΉͱ͖ͷಓ ͠ΔΛݟ͚ͭ·͢ɻ υϝΠϯͷ֓೦ υϝΠϯϞσϧ
υϝΠϯ ΦϒδΣΫτ ͜͜ʹूத
Why will we be learning about Value Objects? ͳͥΦϒδΣΫτʹֶ͍ͭͯͿͷ͔ʁ
LESSON ϓϦϛςΟϒͳ͚ͩͰγεςϜΛߏங͢Δͷ͍͠ ࢯ໊ΛऔΓѻ͏γεςϜ͕͋ͬͨͱͯ͠ɺ͚ͩΛද͍ࣔͨ͠ͱ͖͕͋Δͱ͠·͢ɻ จࣈྻܕͷΛ֨ೲ͢ΔมGVMM@OBNF͚ͩͰɺ໊͕දࣔ͞Εͯ͠·͏͜ͱ͕͋Γ·͢ɻ ޭύλʔϯҙਤ௨Γlz͕දࣔ͞ΕΔ ࣦഊύλʔϯҙਤʹͯ͠l໊z͕දࣔ͞ΕΔʢGVMM@OBNFʹ໊ͷॱͰೖྗ͞ΕΔͨΊʣ
LESSON ΦϒδΣΫτΛར༻͢Δͱཧ͘͢͠ͳΔ͜ͱ͋Δ ΦϒδΣΫτࢦϓϩάϥϛϯάͰҰൠʹΫϥεͰ࣮͞ΕΔ͜ͱ͕ଟ͍Ͱ͢ΑͶɻ ͜͜ͰΫϥεΛ࣮ͬͯ͢Δͱཧ͘͢͠ͳΓ·͢ɻ lୈҾʹ໊ɺୈҾʹzͱ͍͏ϧʔϧ͕कΒΕΔݶΓඞͣlz͕දࣔ͞ΕΔ ͜ͷΑ͏ʹɺγεςϜʹͱͬͯ࠷దͳlͷѻ͍ํz͕ϓϦϛςΟϒͳͰ͋ΔͱݶΓ·ͤΜɻ ্هΦϒδΣΫτͰ͋ΓɺͰ͋ΔɻΏ͑ʹlΦϒδΣΫτzͱॻ͔Ε͍ͯ·͢ɻ
What are the properties of “Value”? ͦͦ “” ͕࣋ͭੑ࣭ͱԿ͔
LESSON ͦͦ “” ͱͲ͏͍ͬͨੑ࣭Λ࣋ͭͷ͔ lΦϒδΣΫτͰ͋ΓɺͰ͋Δzͱฉ͍ͯύοͱ͠ͳ͍͔͠Ε·ͤΜɻͦͦlzͱ Ͳ͏͍͏ੑ࣭Λ͍࣋ͬͯΔͷͰ͠ΐ͏͔ʁ͜ͷຊͰҎԼͷΑ͏ͳੑ࣭͕͋Δͱհ͞Ε͍ͯ·͢ɻ ͔͜͜Β্هͷੑ࣭ʹ͍ͭͯɺͻͱͭͣͭ۷ΓԼ͛ͯɺͱԿ͔ʹֶ͍ͭͯΜͰ͍͖·͢ɻ ɾෆมͰ͋Δ ɾަ͕ՄೳͰ͋Δ
ɾՁੑʹΑͬͯൺֱ͞ΕΔ
How are the properties represented in Value Objects? ͦͷੑ࣭ΛΦϒδΣΫτͰͲ͏දݱ͢Δ͔
LESSON ͷੑ࣭ “ෆมͰ͋Δ” ͷมߋΛߦ͏ͱ͖ೖΛར༻͠·͕͢ɺมͷͦͷͷΛมߋ͍ͯ͠ΔΘ͚Ͱ͋Γ·ͤΜɻ มͷ༰ΛೖΕସ͍͑ͯ·͢ɻ ෆม͔ͩΒͦ͜ɺ։ൃऀ҆શʹγεςϜΛߏங͢Δ͜ͱ͕Ͱ͖Δͱ͍͏͜ͱͰ͢ɻ ͦ͠ͷͷΛมߋͰ͖ͯ͠·͏ͱɺҎԼͷΑ͏ͳ͜ͱ͕ى͖ͯࠞཚΛੜΈग़ͯ͠͠·͍·͢ɻ
LESSON ΦϒδΣΫτͱͯ͠ਖ਼͍࣮͠ʁ ͜Ε·Ͱ։ൃΛ͖ͯͯ͠ɺҎԼͷΑ͏ͳίʔυΛʹͨ͜͠ͱ͕͋Δͱࢥ͍·͢ɻ ͷlෆมͰ͋Δzͱ͍͏ੑ্࣭ɺҎԼͷ࣮ΦϒδΣΫτͱͯ͠ਖ਼͍͠Ͱ͠ΐ͏͔ʁ
LESSON “ෆมͰ͋Δ” ͱ͍͏ੑ࣭ʹഎ࣮͘ lෆมͰ͋Δzͱ͍͏ੑ࣭࣋ͪ·͢ɻ ͦͷͨΊΦϒδΣΫτʹର͠มߋΛՃ͑ΒΕΔ࣮ɺΦϒδΣΫτͱͯ͠ਖ਼͋͘͠Γ·ͤΜɻ
LESSON ͷੑ࣭ “ަ͕ՄೳͰ͋Δ” ઌड़ͨ͠௨ΓɺมͷΛมߋ͢ΔʹɺೖΛར༻ͨ͠lͷަzͱ͍͏खஈΛબ͠·͢ɻ ͰɺҎԼͷΑ͏ͳ࣮͕ෆదͩͱͨ͠ΒɺมߋΛߦ͏ͱ͖Ͳ͏͢Εྑ͍Ͱ͠ΐ͏͔ʁ
LESSON ΦϒδΣΫτΛؙ͝ͱަ͢Δͷ͕ਖ਼͍࣮͠ lෆมͰ͋Γzɺzަ͕ՄೳͰ͋Δzͱ͍͏ੑ࣭Λߟ͑ΔͱɺҎԼͷ࣮͕ਖ਼͘͠ͳΓ·͢ɻ ΦϒδΣΫτΛมߋ͢ΔͷͰͳ͘ɺ࠶ΦϒδΣΫτΛੜͯ͠ɺೖ͠·͠ΐ͏ɻ
LESSON ͷੑ࣭ ”ՁੑʹΑͬͯൺֱ͞ΕΔ” ҎԼͷίʔυͰࣔ͢Α͏ʹɺಉҰੑͰͳ͘ɺՁੑʹΑͬͯൺֱ͞Ε·͢ɻ
LESSON ΦϒδΣΫτͱͯ͠ਖ਼͍࣮͠ʁ ΦϒδΣΫτಉ࢜ͷൺֱͱͳΔͱɺଐੑΛऔΓग़ͯ͠ൺֱ͢Δํ๏͕ࢥ͍ු͔Ϳ͔͠Ε·ͤΜɻ ͰͰ͋Δͱͨ͠Βɺ͍͔͞͞ෆࣗવͳ࣮ʹͳͬͯ͠·͍·͢ɻ ଐੑΛશͯऔΓग़ͯ͠ൺֱ͢Δ࣮ ͜ΕΛͷൺֱʹஔ͖͑ΔͱෆࣗવͰ͢ΑͶ
LESSON ΦϒδΣΫτʹՁൺֱͷϝιουΛ࣮͢Δ ΦϒδΣΫτಉ͕࢜࣋ͭશͯͷଐੑΛൺֱ͢ΔϝιουΛ࡞͠ɺͦΕΛൺֱ࣌ʹ༻͠·͢ɻ ΦϒδΣΫτಉ࢜Λൺֱ͢ΔϝιουΛՃ ͜ͷΑ͏ʹൺֱ͢Εɺ͔͋ͨΛൺֱ͍ͯ͠Δͷͱಉ͡Α͏ʹ࣮Ͱ͖·͢
The bene fi ts of using Value Objects ΦϒδΣΫτΛ༻͢ΔϝϦοτͱ
LESSON ΦϒδΣΫτΛ༻͢ΔϝϦοτʹ͍ͭͯ ͜Ε·ͰεϥΠυΛಡΜͰ͖ͯɺ͢Ͱʹؾ͍͍ͮͯΔਓ͍Δ͔ͱࢥ͍·͢ɻ͜͜ͰվΊͯຊͷதͰ հ͞Ε͍ͯΔϝϦοτʹ͍ͭͯڞ༗͠·͢ɻ ͔͜͜Β্هͷϝϦοτʹ͍ͭͯհ͠·͢ɻదͳ໘ʹग़͘Θͨ͠ͱ͖ɺΦϒδΣΫτͰ ࣮͍ͬͯͨ͠ͱࢥͬͯΒ͑Δͱخ͍͠Ͱ͢ɻ ɾදݱྗΛ૿͢ ɾෆਖ਼ͳΛଘࡏͤ͞ͳ͍
ɾޡͬͨೖΛ͙ ɾϩδοΫͷࢄࡏΛ͙
LESSON ϝϦοτ “දݱྗΛ૿͢” ࡏݿཧʹ͓͍ͯɺίʔυΛҎԼͷΑ͏ʹϓϦϛςΟϒͳͰཧ͍ͯ͠Δͱ͠·͢ɻ͔͠͠ɺ ͜Ε͚ͩͩͱίʔυ͕ͲͷΑ͏ͳϩδοΫͰઃܭ͞Ε͍ͯΔ͔ಡΈऔΕ·ͤΜɻ ҰํͰҎԼͷΑ͏ʹΦϒδΣΫτͰ࣮͢Δͱɺ࣮ʮΧςΰϦɾ࿈൪ɾϨϏδϣϯʯͱ͍͏ߏ Ͱίʔυ͕ઃܭ͞Ε͍ͯΔ͜ͱ͕໌֬ʹͳΓ·͢ɻ
LESSON ϝϦοτ “ϩδοΫͷࢄࡏΛ͙” ίʔυʹ͓͚ΔlΧςΰϦʔͷ෦͕จࣈͰߏz͞ΕΔ༷ͩͱ͠·͢ɻͦͷ༷ΛνΣοΫ ͢ΔॲཧΛΦϒδΣΫτΛ༻ͤͣɺҎԼͷΑ͏ʹ࣮͍ͯͨ͠ͱ͠·͢ɻ γεςϜΛ։ൃ্͍ͯ͘͠Ͱɺίʔυ͕ೖྗ͞ΕΔՕॴ͕૿͑ΔͱɺͦΕʹ্͍هͷॲཧ૿ ͑·͢ɻͦͷঢ়گͰΧςΰϦʔͷจࣈΛzจࣈzͰߏ͢ΔΑ͏มߋͨ͠ΒͲ͏ͳΔͰ͠ΐ͏ʁ ։ൃ͢ΔͷࢲͨͪਓؒͰ͢ɻਓؒͳͷͰϛε͠·͢ɻରԠ࿙Ε͖ͬͱൃੜͯ͠͠·͍·͢ɻ
LESSON ϝϦοτ “ϩδοΫͷࢄࡏΛ͙” ͦͷॲཧΛlΦϒδΣΫτzͱͯ͠Ϋϥεͷதʹด͡ࠐΊɺඞͣlΦϒδΣΫτzΛ௨ͯ͠ॲཧ͠ ͯ͠·͑ɺ༷มߋ͕͋ͬͨͱͯ͠ɺͦͷՕॴͷΈͷमਖ਼͢Ε࿙Εͳ͘ରԠ͕Ͱ͖·͢ɻ
LESSON ϝϦοτ “ෆਖ਼ͳΛଘࡏͤ͞ͳ͍” ઌड़ͨ͠௨ΓlΦϒδΣΫτzΛ༻ͤͣʹ࣮ͨ͠߹ɺॲཧ͕ࢄࡏ͠ɺରԠ࿙Ε͕ൃੜ͢ΔϦ εΫߴ·Γ·͢ɻͦ͠ͷϦεΫ͕࣮ݱͯ͠͠·͏ͱԿ͕ى͜ΔͰ͠ΐ͏͔ʁ ઌ΄ͲͷΑ͏ʹɺΧςΰϦʔͷจࣈΛzจࣈzͱ͢Δ༷ʹม͑ͨͣͳͷʹɺલͷ༷ͷ··Χ ςΰϦʔ෦͕จࣈͷίʔυσʔλ͕ੜ͞Εͯ͠·͍·͢ɻ
LESSON ϝϦοτ “ෆਖ਼ͳΛଘࡏͤ͞ͳ͍” ෆਖ਼ͳΛଘࡏͤ͞ͳ͍ͨΊʹɺzΦϒδΣΫτzΛ༻ͯ͠ϩδοΫΛҰݩཧ͢Δ͜ͱͰɺର Ԡ࿙ΕΛ͙͜ͱ͕ॏཁʹͳΓͦ͏Ͱ͢Ͷɻ
LESSON ϝϦοτ “ޡͬͨೖΛ͙” ҎԼͷΑ͏ʹΛදݱ͢ΔΫϥε͕͋ΓɺzίʔυzΛจࣈྻͰѻ͍ͬͯΔͱ͠·͢ɻ ͜ͷ࣮Ͱɺޡͬͯl໊zΛೖྗͯ͠͠·ͬͨͱͯ͠ɺॲཧ͕௨ͬͯ͠·͍·͢ɻ
LESSON ϝϦοτ “ޡͬͨೖΛ͙” ͜͏͍ͬͨ͜ͱΛ͙ͨΊʹɺઌ΄Ͳ࡞ͬͨ1SPEVDU$PEFΫϥεͷΠϯελϯε͚ͩΛڐ༰͢ΔΑ ͏ʹ͢Εɺͦͦ1SPEVDU$PEFͰϛεʹؾͮ͘͜ͱ͕Ͱ͖ΔͷͰɺޡͬͨೖΛ͛·͢ɻ
How do we set the criteria? ΦϒδΣΫτͱ࣮͖ͯ͢͠ج४ʁ
LESSON ਖ਼ղͳ͍ɺίϯςΩετʹ߹ͬͨج४ΛఆΊΔ ΦϒδΣΫτͰ࣮͢Δ͖͔Ͳ͏͔ɺͦΕγεςϜαʔϏεͷίϯςΩετʹΑͬͯมΘΔ ͨΊɺҰ֓ʹܾΊΒΕΔͷͰ͋Γ·ͤΜɻͱ͍͑ɺԿ͔͠Βͷج४͕ཉ͘͠ͳΓ·͢ΑͶɻ ͜ͷຊͷචऀɺج४ͷҰྫͱͯ͠ɺҎԼͷΑ͏ͳ͜ͱΛհ͍ͯ͠·͢ɻ ʮͦ͜ʹϧʔϧ͕ଘࡏ͍ͯ͠Δ͔ʯ ʮͦΕ୯ମͰऔΓѻ͍͍͔ͨʯ
Where could we potentially use Value Objects? εφοΫϛʔͩͱɺͲ͜ΛΦϒδΣΫτͰ࣮Ͱ͖ͦ͏͔ʁ
GitHub Ͱ୳ͯ͠Έ·͠ΐ͏ʂ
Summary ΦϒδΣΫτʹ͍ͭͯ·ͱΊΔͱ…
SUMMARY ΦϒδΣΫτʹֶ͍ͭͯΜͰΈͯ… ɾΦϒδΣΫτɺҎԼʹࣔ͢Α͏ͳzzͷੑ࣭Λ࣋ͭ ɹɾෆมͰ͋Δɺަ͕ՄೳͰ͋ΔɺՁੑʹΑͬͯൺֱ͞ΕΔ ɾΦϒδΣΫτΛͬͨγεςϜ։ൃɺҎԼʹࣔ͢Α͏ͳϝϦοτΛ࣋ͭ ɹɾදݱྗΛ૿͢ɺෆਖ਼ͳΛଘࡏͤ͞ͳ͍ɺޡͬͨೖΛ͙ɺϩδοΫͷࢄࡏΛ͙
ɾΦϒδΣΫτͰ࣮͢Δ͔Ͳ͏͔ͷج४ʹਖ਼ղͳ͍ ɹɾίϯςΩετΛ౿·͑ͯɺνʔϜͰٞͯ͠ఆΊΔͱΑͦ͞͏
Recruitment ΤϯδχΞืूதͰ͢ʂ
RECRUITMENT We are Hiring! εφοΫϛʔͰɺʮ͓ͭͱɺੈքΛ໘ന ͘ʯ͍ͯ͘͠ɺͦΜͳ׆ಈΛࣄͱͯ͠औΓ Έ͍ͨΤϯδχΞΛืू͍ͯ͠·͢ɻ IUUQTUFBNTOBRNFDPN εφοΫϛʔ࠾༻