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
Takuma Yamamoto
February 06, 2024
Programming
1
1.4k
ドメイン駆動設計 勉強会 〜 値オブジェクト編 〜 / 2024-02-06
Takuma Yamamoto
February 06, 2024
Tweet
Share
More Decks by Takuma Yamamoto
See All by Takuma Yamamoto
ドメイン駆動設計 勉強会 〜 リポジトリ編 〜 / 2024-04-23
tamago3keran
0
57
スナックミーの開発はワクワクだらけ! / 2024-04-05
tamago3keran
0
140
アウトプットのハードルを下げた! / 2024-03-25
tamago3keran
0
370
ドメイン駆動設計 勉強会 〜 ドメインサービス編 〜 / 2024-03-05
tamago3keran
0
71
ドメイン駆動設計 勉強会 〜 エンティティ編 〜 / 2024-02-20
tamago3keran
0
78
スカウト返信率を倍にするためにやったこと / 2024-01-29
tamago3keran
2
970
Rails 経験者が FastAPI 本を読んで感じたこと / 2023-11-28
tamago3keran
0
1.3k
アウトプットのモチベーションはみんな違ってみんな良い! / 2023-10-06
tamago3keran
0
1.1k
PC が変わっても使い慣れた Neovim で すぐに開発を始める仕組み / 2023-07-25
tamago3keran
1
1.1k
Other Decks in Programming
See All in Programming
たのしいparse.y
ydah
3
120
ソフトウェアの振る舞いに着目し 複雑な要件の開発に立ち向かう
rickyban
0
890
nekko cloudにおけるProxmox VE利用事例
irumaru
3
430
fs2-io を試してたらバグを見つけて直した話
chencmd
0
230
KMP와 kotlinx.rpc로 서버와 클라이언트 동기화
kwakeuijin
0
140
42 best practices for Symfony, a decade later
tucksaun
1
180
暇に任せてProxmoxコンソール 作ってみました
karugamo
1
720
複雑な仕様に立ち向かうアーキテクチャ
myohei
0
170
急成長期の品質とスピードを両立するフロントエンド技術基盤
soarteclab
0
930
menu基盤チームによるGoogle Cloudの活用事例~Application Integration, Cloud Tasks編~
yoshifumi_ishikura
0
110
SymfonyCon Vienna 2025: Twig, still relevant in 2025?
fabpot
3
1.2k
数十万行のプロジェクトを Scala 2から3に完全移行した
xuwei_k
0
270
Featured
See All Featured
BBQ
matthewcrist
85
9.4k
Building Flexible Design Systems
yeseniaperezcruz
327
38k
Six Lessons from altMBA
skipperchong
27
3.5k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.7k
Thoughts on Productivity
jonyablonski
67
4.4k
The Pragmatic Product Professional
lauravandoore
32
6.3k
YesSQL, Process and Tooling at Scale
rocio
169
14k
Side Projects
sachag
452
42k
Facilitating Awesome Meetings
lara
50
6.1k
Scaling GitHub
holman
458
140k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.2k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
8
1.2k
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 εφοΫϛʔ࠾༻