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
2k
ドメイン駆動設計 勉強会 〜 値オブジェクト編 〜 / 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
110
スナックミーの開発はワクワクだらけ! / 2024-04-05
tamago3keran
0
190
アウトプットのハードルを下げた! / 2024-03-25
tamago3keran
0
410
ドメイン駆動設計 勉強会 〜 ドメインサービス編 〜 / 2024-03-05
tamago3keran
0
110
ドメイン駆動設計 勉強会 〜 エンティティ編 〜 / 2024-02-20
tamago3keran
0
120
スカウト返信率を倍にするためにやったこと / 2024-01-29
tamago3keran
3
1.1k
Rails 経験者が FastAPI 本を読んで感じたこと / 2023-11-28
tamago3keran
0
2k
アウトプットのモチベーションはみんな違ってみんな良い! / 2023-10-06
tamago3keran
0
1.5k
PC が変わっても使い慣れた Neovim で すぐに開発を始める仕組み / 2023-07-25
tamago3keran
1
1.3k
Other Decks in Programming
See All in Programming
米国のサイバーセキュリティタイムラインと見る Goの暗号パッケージの進化
tomtwinkle
1
380
New in Go 1.26 Implementing go fix in product development
sunecosuri
0
250
Beyond the Basics: Signal Forms
manfredsteyer
PRO
0
110
LangChain4jとは一味違うLangChain4j-CDI
kazumura
1
130
ベクトル検索のフィルタを用いた機械学習モデルとの統合 / python-meetup-fukuoka-06-vector-attr
monochromegane
1
100
CopilotKit + AG-UIを学ぶ
nearme_tech
PRO
1
120
CSC307 Lecture 13
javiergs
PRO
0
310
atmaCup #23でAIコーディングを活用した話
ml_bear
4
720
Geminiの機能を調べ尽くしてみた
naruyoshimi
0
190
PJのドキュメントを全部Git管理にしたら、一番喜んだのはAIだった
nanaism
0
230
Go 1.26でのsliceのメモリアロケーション最適化 / Go 1.26 リリースパーティ #go126party
mazrean
1
330
grapheme_strrev関数が採択されました(あと雑感)
youkidearitai
PRO
1
200
Featured
See All Featured
New Earth Scene 8
popppiees
1
1.7k
Abbi's Birthday
coloredviolet
2
5.1k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Crafting Experiences
bethany
1
75
Being A Developer After 40
akosma
91
590k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
92
Thoughts on Productivity
jonyablonski
75
5.1k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
0
150
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
62
50k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
140
Between Models and Reality
mayunak
2
210
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
117
110k
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 εφοΫϛʔ࠾༻