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
複数の外部サービスデータの統合と変換を実現する Railsのインポートアーキテクチャ / Ra...
Search
END
October 17, 2024
Technology
0
600
複数の外部サービスデータの統合と変換を実現する Railsのインポートアーキテクチャ / Rails import architecture for integration and transformation of multiple external service data
Reject on Rails 2024
LT資料
END
October 17, 2024
Tweet
Share
More Decks by END
See All by END
成果を出しながら成長する、アウトプット駆動のキャッチアップ術 / Output-driven catch-up techniques to grow while producing results
aiandrox
0
320
プログラミングスクールのつながりがキャリアにつながるのかもしれない話 / Connections at programming schools may lead to a career
aiandrox
0
350
そうだ RubyKaigi、行こう。 / Let's go to RubyKaigi
aiandrox
0
1.9k
おすすめのVSCodeプラグイン / Recommended VSCode Extension
aiandrox
0
430
Other Decks in Technology
See All in Technology
TSKaigi 2024 の登壇から広がったコミュニティ活動について
tsukuha
0
160
継続的にアウトカムを生み出し ビジネスにつなげる、 戦略と運営に対するタイミーのQUEST(探求)
zigorou
0
550
【re:Invent 2024 アプデ】 Prompt Routing の紹介
champ
0
140
Oracle Cloudの生成AIサービスって実際どこまで使えるの? エンジニア目線で試してみた
minorun365
PRO
4
280
Google Cloud で始める Cloud Run 〜AWSとの比較と実例デモで解説〜
risatube
PRO
0
100
1等無人航空機操縦士一発試験 合格までの道のり ドローンミートアップ@大阪 2024/12/18
excdinc
0
160
祝!Iceberg祭開幕!re:Invent 2024データレイク関連アップデート10分総ざらい
kniino
3
280
alecthomas/kong はいいぞ / kamakura.go#7
fujiwara3
1
300
UI State設計とテスト方針
rmakiyama
2
590
生成AIのガバナンスの全体像と現実解
fnifni
1
190
生成AIをより賢く エンジニアのための RAG入門 - Oracle AI Jam Session #20
kutsushitaneko
4
230
なぜCodeceptJSを選んだか
goataka
0
160
Featured
See All Featured
Practical Orchestrator
shlominoach
186
10k
How GitHub (no longer) Works
holman
311
140k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
111
49k
The Invisible Side of Design
smashingmag
298
50k
Visualization
eitanlees
146
15k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
Java REST API Framework Comparison - PWX 2021
mraible
28
8.3k
The Language of Interfaces
destraynor
154
24k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
What's in a price? How to price your products and services
michaelherold
243
12k
How to Ace a Technical Interview
jacobian
276
23k
Code Reviewing Like a Champion
maltzj
520
39k
Transcript
ෳͷ֎෦αʔϏεσʔλͷ౷߹ͱมΛ࣮ݱ͢Δ RailsͷΠϯϙʔτΞʔΩςΫνϟ 2024/10/17 Reject on Rails 2024 ϑΝΠϯσΟגࣜձࣾɹԕ౻ ܆
ࣗݾհ 2 ENDʢԕ౻ ܆ʣ 20232݄ʹϑΝΠϯσΟʹೖࣾ RailsΛϝΠϯʹFindy Team+ͷ։ൃΛ͍ͯ͠·͢ Kaigi on Rails
CFP ࠓճॳఏग़ʂ gotanda.rb ॳࢀՃʂ @aiandrox
ࠓ͢͜ͱ • ෳͷ֎෦αʔϏε͔ΒσʔλΛऔಘ͍ͯ͠ΔFindy Team+ ʹ͓͚ΔσʔλΠϯϙʔτͷΞʔΩςΫνϟʹ͍ͭͯ • چΞʔΩςΫνϟͰੜ͍ͯͨ͡՝Λղফ͢ΔͨΊʹऔΓೖ Εͨ৽ΞʔΩςΫνϟ 3
Findy Team+ͱʁ 4 ։ൃੜ࢈ੑͷՄࢹԽɺ։ൃϓϩηεͷ৳ͼ͠Ζͷൃݟɺܧଓతͳ վળΛαϙʔτ
5 Findy Team+ͱʁ • ϓϧϦΫͳͲʹؔ͢Δɹ ͞·͟·ͳσʔλΛऔಘ • Ͳͷ֎෦αʔϏεͰɹ ಉ͡UIͰσʔλΛදࣔ
σʔλΠϯϙʔτͷΞʔΩςΫνϟʢچʣ 6
7 Findy Team+ͷσʔλΠϯϙʔτͷΞʔΩςΫνϟ ಠࣗGemͷ Πϯελϯε Transformer ಠࣗGemͷ Πϯελϯε දࣔσʔλ༻ ςʔϒϧ
Importer Client GitLab ςʔϒϧ GitHub ςʔϒϧ
8 Findy Team+ͷσʔλΠϯϙʔτͷΞʔΩςΫνϟ ಠࣗGemͷ Πϯελϯε ಠࣗGemͷ Πϯελϯε දࣔσʔλ༻ ςʔϒϧ GemΛར༻͠ɺϨεϙϯεΛ
GemͷΠϯελϯεͱͯ͠औಘ͢Δ Transformer Importer Client GitLab ςʔϒϧ GitHub ςʔϒϧ
9 Findy Team+ͷσʔλΠϯϙʔτͷΞʔΩςΫνϟ ಠࣗGemͷ Πϯελϯε ಠࣗGemͷ Πϯελϯε දࣔσʔλ༻ ςʔϒϧ Transformer
Importer Client GitLab ςʔϒϧ GitHub ςʔϒϧ αʔϏεಠࣗͷσʔλߏͷ·· αʔϏε͝ͱͷσʔλ֨ೲ༻ςʔϒϧʹอଘ
10 Findy Team+ͷσʔλΠϯϙʔτͷΞʔΩςΫνϟ ಠࣗGemͷ Πϯελϯε ಠࣗGemͷ Πϯελϯε දࣔσʔλ༻ ςʔϒϧ Transformer
Importer Client GitLab ςʔϒϧ GitHub ςʔϒϧ ֤αʔϏεͷσʔλߏࠩΛ ٵऩ͠ɺڞ௨ͷςʔϒϧʹอଘ
ैདྷͷΞʔΩςΫνϟͷ՝ 11
12 ಠࣗGemͷ Πϯελϯε ಠࣗGemͷ Πϯελϯε දࣔσʔλ༻ ςʔϒϧ Transformer Importer Client
GitLab ςʔϒϧ GitHub ςʔϒϧ ClientͱImporter͕ີ݁߹͍ͯ͠Δ 😢 ImporterͰσʔλͷfetchɺՃɺ Ϩίʔυอଘʹඞཁͳ֎෦ΩʔΛऔಘɺ ҰׅอଘΛߦ͍ͬͯΔ 😢 ImporterͷςετʹAPIͷελϒ͕ ඞཁ ैདྷͷΞʔΩςΫνϟͷ՝
13 ಠࣗGemͷ Πϯελϯε Transformer ಠࣗGemͷ Πϯελϯε දࣔσʔλ༻ ςʔϒϧ Importer Client
GitLab ςʔϒϧ GitHub ςʔϒϧ ΤϥʔϋϯυϦϯάɺϦτϥΠॲཧͳͲ͕ ClientɾImporterͷ͍ΖΜͳՕॴͰ࣮ ͞Ε͍ͯΔ ैདྷͷΞʔΩςΫνϟͷ՝
ैདྷͷΞʔΩςΫνϟͷ՝ 14 ৽ͨͳίʔυཧπʔϧʹରԠ͢ΔͷΛ͖͔͚ͬʹ ClientɾImporterͷΞʔΩςΫνϟΛݟ͠
৽ͨͳσʔλΠϯϙʔτͷΞʔΩςΫνϟ 15
16 ৽ͨͳσʔλΠϯϙʔτͷΞʔΩςΫνϟ Representation Πϯελϯε දࣔσʔλ༻ ςʔϒϧ Bitbucket ςʔϒϧ Backlog ςʔϒϧ
Representation Πϯελϯε Transformer Importer Client
ैདྷͷΞʔΩςΫνϟͷ՝ͷղܾ • ClientͱImporter͕ີ݁߹͍ͯ͠Δ 17 Client͔ΒΠϯελϯεΛImporterʹ͢Α͏ʹ͠ɺ ImporterϨίʔυΛอଘ͢Δ͜ͱʹྗ͢Δ
ैདྷͷΞʔΩςΫνϟͷ՝ͷղܾ • ΤϥʔϋϯυϦϯάɺϦτϥΠॲཧͳͲ͕Clientɾ Importerͷ͍ΖΜͳՕॴͰ࣮͞Ε͍ͯΔ 18 ClientͰϦτϥΠॲཧͱΤϥʔΫϥεͷ࡞Λߦ͍ɺ ΤϥʔϋϯυϦϯάImporterͰߦ͏Α͏ʹͨ͠
৽ͨͳσʔλΠϯϙʔτͷΞʔΩςΫνϟ • ClientΛlibԼʹஔ͘Α͏ʹͨ͠ 19 . ┣━━━ app ┃ ┣━━ importer
┃ ┃ ┣━━ service_a ┃ ┃ ┗━━ service_b ┃ ┗━━ transformer ┗━━━ lib ┣━━ service_a_client ┗━━ service_b_client
20 Before ಠࣗGemͷ Πϯελϯε Client ֎෦ αʔϏε ֎෦ αʔϏε app
After Representation Πϯελϯε αʔϏεಠࣗ ςʔϒϧ දࣔσʔλ༻ ςʔϒϧ Client Importer Transformer Importer Transformer αʔϏεಠࣗ ςʔϒϧ දࣔσʔλ༻ ςʔϒϧ app lib
21 ৽ͨͳσʔλΠϯϙʔτͷΞʔΩςΫνϟ ֎෦αʔϏεͷAPI σʔλͷऔಘॲཧͷࠩΛٵऩ ֤ΞιγΤʔγϣϯΛอ࣋͠ ඞཁͳσʔλΛอଘ͢Δ ֤αʔϏεͷσʔλߏ ͷࠩΛٵऩ Ҏલີ݁߹͍֤ͯͨ͠ͷ͕໌֬ʹͳͬͨ Client
֎෦ αʔϏε Representation Πϯελϯε Importer Transformer αʔϏεಠࣗ ςʔϒϧ දࣔσʔλ༻ ςʔϒϧ app lib
ࠓޙΓ͍ͨ͜ͱ 22
• શαʔϏεʹ͓͚ΔΞʔΩςΫνϟͷ౷Ұ • GitHub, GitLab·ͩچΞʔΩςΫνϟͷ·· • libԼʹஔ͍֤ͨαʔϏεͷσʔλऔಘॲཧͷGemԽ 23 ࠓޙΓ͍ͨ͜ͱ
·ͱΊ 24
25 ·ͱΊ Findy Team+ͰɺClientɾImporterɾTransformerͰ ֎෦αʔϏεͷࠩΛٵऩ͍ͯ͠Δ Client ֎෦ αʔϏε Representation Πϯελϯε
Importer Transformer αʔϏεಠࣗ ςʔϒϧ දࣔσʔλ༻ ςʔϒϧ app lib