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
Scalaつまみ食い - CADDi STUDDi
Search
[email protected]
December 10, 2021
Programming
0
1k
Scalaつまみ食い - CADDi STUDDi
[email protected]
December 10, 2021
Tweet
Share
More Decks by
[email protected]
See All by
[email protected]
キャディでのApache Iceberg, Trino採用事例 -Apache Iceberg and Trino Usecase in CADDi--
caddi_eng
0
280
製造業の会計システムをDDDで開発した話
caddi_eng
3
1.7k
【CADDI VIETNAM】Company Deck for Engineers
caddi_eng
0
1.2k
CADDi Company Deck_Global.pdf
caddi_eng
1
410
[ English ] Company Overview for Engineers
caddi_eng
0
6.3k
エンジニア向け会社紹介資料
caddi_eng
17
520k
キャディ株式会社 会社紹介・採用説明資料
caddi_eng
12
1.1M
機械学習チームのモノレポ移行
caddi_eng
0
650
BtoB SaaS を支える 認証認可基盤の設計
caddi_eng
0
1.4k
Other Decks in Programming
See All in Programming
Jakarta EE Meets AI
ivargrimstad
0
400
バイブコーディング超えてバイブデプロイ〜CloudflareMCPで実現する、未来のアプリケーションデリバリー〜
azukiazusa1
2
730
中級グラフィックス入門~効率的なメッシュレット描画~
projectasura
3
1.8k
CLI ツールを Go ライブラリ として再実装する理由 / Why reimplement a CLI tool as a Go library
ktr_0731
3
680
リッチエディターを安全に開発・運用するために
unachang113
1
270
AI時代の『改訂新版 良いコード/悪いコードで学ぶ設計入門』 / ai-good-code-bad-code
minodriven
24
10k
AI Agent 時代のソフトウェア開発を支える AWS Cloud Development Kit (CDK)
konokenj
6
1k
顧客の画像データをテラバイト単位で配信する 画像サーバを WebP にした際に起こった課題と その対応策 ~継続的な取り組みを添えて~
takutakahashi
4
1.4k
The Niche of CDK Grant オブジェクトって何者?/the-niche-of-cdk-what-isgrant-object
hassaku63
1
720
PHPカンファレンス関西2025 基調講演
sugimotokei
5
1k
可変性を制する設計: 構造と振る舞いから考える概念モデリングとその実装
a_suenami
7
1k
MySQL9でベクトルカラム登場!PHP×AWSでのAI/類似検索はこう変わる
suguruooki
1
250
Featured
See All Featured
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
860
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
161
15k
Done Done
chrislema
184
16k
Writing Fast Ruby
sferik
628
62k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.6k
Into the Great Unknown - MozCon
thekraken
40
1.9k
Designing for humans not robots
tammielis
253
25k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
47
9.6k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
1k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
The World Runs on Bad Software
bkeepers
PRO
70
11k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
21
1.4k
Transcript
4DBMBͭ·Έ͙͍
4DBMBͬͯͲΜͳݴޠʁ 4DBMBҰൠతͳϓϩάϥϛϯάํ๏Λ؆͔ܿͭΤϨΨϯτ͔ͭܕ҆શͳํ๏Ͱදݱ͢ΔͨΊʹઃܭ͞Εͨ ϞμϯͳϚϧνύϥμΠϜݴޠͰ͢ɻͦΕΦϒδΣΫτࢦݴޠͱؔܕݴޠͷػೳΛεϜʔζʹ౷߹͍ͯ͠·͢ɻ #Z4DBMB%PDVNFOUBUJPO IUUQTEPDTTDBMBMBOHPSHKBUPVSUPVSPGTDBMBIUNM º ͯ͢ͷ͕ΦϒδΣΫτ ɾΫϥε ɾτϨΠτ ͯ͢ͷ͕ؔ
ɾߴ֊ؔ ɾΧϦʔԽ ɾύλʔϯϚονϯά ͋͘·ͰϝΠϯΦϒδΣΫτࢦɺͦ͜ʹؔܕͷΤοηϯεΛ͍͍ײ͡ʹ༥߹͍ͤͯ͞ΔΠϝʔδ ʢݸਓͷײͰ͢ʣ ؔܕ ΦϒδΣΫτࢦ
4DBMBͬͯͲΜͳݴޠʁ w ੩తܕ͚ w ܕਪ w δΣωϦΫε w +BWB7JSUVBM.BDIJOF +7.
্Ͱಈ࡞ w 4DBMB͔Β+BWBͷϓϩάϥϜΛݺͼग़ͤΔ w (BSCBHF$PMMFDUJPO ࠓ4DBMBܥʢYʣͷΛ͠·͢ 4DBMBग़͍ͯΔͷͰ͕͢ɺ݁ߏ༷มΘΓ͍ͯ͠Δͷͱ ࣮ͰऔΓೖΕ͍ͯΔͱ͜ΖΛฉ͔ͳ͍ͷͰʜʢ֤छϥΠϒϥϦ͕ͦΜͳʹରԠͰ͖͍ͯͳ͍ʣ
͓͠ͳ͕͖ w DMBTT ίϯύχΦϯΦϒδΣΫτ DBTFDMBTT w ඪ४ϥΠϒϥϦ͔Β͍͔ͭ͘հ w 4FR 0QUJPO
w 4DBMBͷνΧϥͷยྡྷ w 0QUJPOܕͷίϯϏωʔγϣϯ w ߴΧΠϯυܕ 4DBMBͷجຊ ʢׂͱ୶ʑͱਐΊΔύʔτʣ 4DBMBͬΆ͞ͷհ ʢϝΠϯίϯςϯπʣ
DMBTT ίϯετϥΫλ WBM WBSΛ͚ͭΔͱϝϯόʔʹͳΔ ࢀߟɿWEB+DB PRESS Vol.112 ࣮ફScala
DMBTT WBM͕͍͍ͭͯΔͷͰެ։͞Ε͍ͯΔ WBSʹ͢ΔͱՄมʹͳΔ QSJWBUFWBMͱ͢ΕӅ͢͜ͱͰ͖Δ
DMBTT WBM͕͍͍ͭͯΔͷͰެ։͞Ε͍ͯΔ WBSʹ͢ΔͱՄมʹͳΔ QSJWBUFWBMͱ͢ΕӅ͢͜ͱͰ͖Δ
DMBTT WBM͕͍͍ͭͯͳ͍ʢϝϯόʔͰͳ͍ʣ ͷͰࢀরͰ͖ͳ͍
DMBTT ϝιουఆٛ 4DBMBͰ৽͍͠ΦϒδΣΫτΛฦ͢ ͜ͱ͕ଟ͍ ϝιουͷݺͼํ
ίϯύχΦϯΦϒδΣΫτ ͋ΔΫϥεͱಉ͡ॴͰಉ໊ͷΦϒδΣΫτΛఆٛͨ͠ͷ ޓ͍ͷϓϥΠϕʔτϝϯόʔʹΞΫηεͰ͖Δ ϓϥΠϕʔτϝϯόʔʹΞΫηεՄ
ίϯύχΦϯΦϒδΣΫτ ͋ΔΫϥεͱಉ͡ॴͰಉ໊ͷΦϒδΣΫτΛఆٛͨ͠ͷ ޓ͍ͷϓϥΠϕʔτϝϯόʔʹΞΫηεͰ͖Δ 6TFSBQQMZΛݺͼग़͍ͯ͠Δ OFXͰͳ͍͜ͱʹҙ 4DBMBͷBQQMZͱVOBQQMZͱ͍͏ϝιου໊ লུͯ͠ݺͼग़͢͜ͱ͕Ͱ͖Δ ͜ͷྫͰ6TFSBQQMZ lUBOJHVDIJz
ͱಉ͡ҙຯ
DBTFDMBTT ৭ʑศརͳͷΛੜͯ͘͠ΕΔ ɾίϯύχΦϯΦϒδΣΫτ͕ੜ͞ΕΔ ɾϑΟʔϧυͷ֤߲͕WBMએݴͱಉ͡ҙຯΛ࣋ͭ ɾDPQZϝιουΛ࣋ͭ ɾͰͷൺֱ͕ͯ͢ͷϑΟʔϧυ໊ͷ͕Ұக͢Δ͔Ͳ͏͔Ͱผ͞ΕΔ ɾNBUDIͰ༻Ͱ͖Δʹͯ͘͠ΕΔ
͓͠ͳ͕͖ w DMBTT ίϯύχΦϯΦϒδΣΫτ DBTFDMBTT w ඪ४ϥΠϒϥϦ͔Β͍͔ͭ͘հ w 4FR 0QUJPO
w 4DBMBͷνΧϥͷยྡྷ w 0QUJPOܕͷίϯϏωʔγϣϯ w ߴΧΠϯυܕ 4DBMBͷجຊ ʢׂͱ୶ʑͱਐΊΔύʔτʣ 4DBMBͬΆ͞ͷհ ʢϝΠϯίϯςϯπʣ
4FRྻΛද͢ίϨΫγϣϯ BQQMZϝιουΛݺͼग़͍ͯ͠Δ ࢀߟɿWEB+DB PRESS Vol.112 ࣮ફScala
4FRྻΛද͢ίϨΫγϣϯ ୈҾͷཁૉΛऔಘɻൣғ֎ͳΒୈҾͷؔΛ࣮ߦ ୈҾɿ*OU*OUͷؔ Ҿͷ*OUఴࣈΛද͕͢ࠓճৗʹΛฦ͢ͷͰΘͳ͍ͷͰʮ@ʯ
4FRͷNBQ NBQϝιουͰද
4FRͷGMBUUFO NBQϝιουͰද fl BUUFOͰೖΕࢠΛͳͯ͘͠4FR<4USJOH>ʹ
4FRͷGMBU.BQ NBQϝιουͰද fl BUUFOͰೖΕࢠΛͳͯ͘͠4FR<4USJOH>ʹ NBQ fl BUUFO fl BU.BQͰʂ
GPSࣜͰΑΓݟ͘͢ NBQϝιουͰද fl BUUFOͰೖΕࢠΛͳͯ͘͠4FR<4USJOH>ʹ NBQ fl BUUFO fl BU.BQͰʂ
GPSࣜೖΕࢠʹͳͬͨNBQ fl BU.BQͷ γϯλοΫεγϡΨʔ
0QUJPO<"> ͕͋ͬͨΓͳ͔ͬͨΓΛදݱ͢Δܕ ɾ͕͋Δˠ4PNF<"> ɾ͕ͳ͍ˠ/POF 0QUJPO<4USJOH>Λ࡞ͬͯΈΔ ࢀߟɿWEB+DB PRESS Vol.112 ࣮ફScala
0QUJPO<">ɿཁૉͷऔಘ ͕͋ͬͨΓͳ͔ͬͨΓΛදݱ͢Δܕ ɾ͕͋Δˠ4PNF<"> ɾ͕ͳ͍ˠ/POF 0QUJPO<4USJOH>Λ࡞ͬͯΈΔ ΛऔΓͩͯ͠ΈΔ ύλʔϯϚονͰ͍͚Δ
0QUJPO<">ɿNBQͰม ͕͋ͬͨΓͳ͔ͬͨΓΛදݱ͢Δܕ ɾ͕͋Δˠ4PNF<"> ɾ͕ͳ͍ˠ/POF 0QUJPO<4USJOH>Λ࡞ͬͯΈΔ NBQϝιουͰม fl BU.BQ͋ΔΑ GPSࣜ͑ΔΑ
͓͠ͳ͕͖ w DMBTT ίϯύχΦϯΦϒδΣΫτ DBTFDMBTT w ඪ४ϥΠϒϥϦ͔Β͍͔ͭ͘հ w 4FR 0QUJPO
w 4DBMBͷνΧϥͷยྡྷ w 0QUJPOܕͷίϯϏωʔγϣϯ w ߴΧΠϯυܕ 4DBMBͷجຊ ʢׂͱ୶ʑͱਐΊΔύʔτʣ 4DBMBͬΆ͞ͷհ ʢϝΠϯίϯςϯπʣ
0QUJPOܕͷίϯϏωʔγϣϯ 0QUJPOܕΛෳΈ߹Θͤͯॲཧ͢Δํ๏ΛΈͯΈ·͢ ͓ ࣍ͷσʔλߏ͔ΒࠃޠͱӳޠΛडߨͨ͠ੜెʹ͍͚ͭͯͩɺ ࠃޠͱӳޠͷฏۉΛٻΊ໊ͯલͱͱʹग़ྗͤΑ ग़ྗɿ lKJSPz lIBOBz
͓ʮWEB+DB PRESS Vol.112 ࣮ફScalaʯΑΓ
BWFSBHFϝιουΛߟ͑Δ ࠃޠͱӳޠΛडߨͨ͠ੜెʹ͍͚ͭͯͩɺ ࠃޠͱӳޠͷฏۉΛٻΊ໊ͯલ ͱͱʹग़ྗͤΑ ࢀߟɿWEB+DB PRESS Vol.112 ࣮ફScala
BWFSBHFϝιουΛߟ͑ΔʢJGࣜฤʣ ࠃޠͱӳޠΛडߨͨ͠ੜెʹ͍͚ͭͯͩɺ ࠃޠͱӳޠͷฏۉΛٻΊ໊ͯલ ͱͱʹग़ྗͤΑ ࠃޠӳޠΛडߨͨ͠Γ͍ͯ͠ͳ͔ͬͨΓ͢ΔͷͰ0QUJPOͰදݱͰ͖ͦ͏ ࢀߟɿWEB+DB PRESS Vol.112 ࣮ફScala
BWFSBHFϝιουΛߟ͑Δʢ0QUJPOฤʣ ࠃޠͱӳޠΛडߨͨ͠ੜెʹ͍͚ͭͯͩɺ ࠃޠͱӳޠͷฏۉΛٻΊ໊ͯલ ͱͱʹग़ྗͤΑ #FGPSFJGࣜ "GUFS0QUJPONBQ fl BU.BQ ࢀߟɿWEB+DB
PRESS Vol.112 ࣮ફScala
BWFSBHFϝιουΛߟ͑ΔʢGPSࣜʣ ࠃޠͱӳޠΛडߨͨ͠ੜెʹ͍͚ͭͯͩɺ ࠃޠͱӳޠͷฏۉΛٻΊ໊ͯલ ͱͱʹग़ྗͤΑ #FGPSFJGࣜ "GUFS0QUJPONBQ fl BU.BQ "GUFSΛGPSࣜͰॻ͘
ࢀߟɿWEB+DB PRESS Vol.112 ࣮ફScala
͓·͚ɿʹՃ͑ͯฏۉҎ্ͷΈग़ྗ͍ͨ͠߹ ࠃޠͱӳޠΛडߨͨ͠ੜెʹ͍͚ͭͯͩɺ ࠃޠͱӳޠͷฏۉΛٻΊͯ ͦΕ͕Ҏ্ͷ߹ʹ ໊લͱͱʹग़ྗͤΑ GPSࣜͰ͜Μͳ;͏ʹॻ͚Δ ࠨͷGPSࣜҎԼͷγϯλοΫεγϡΨʔ ࢀߟɿWEB+DB PRESS Vol.112
࣮ફScala
͓͠ͳ͕͖ w DMBTT ίϯύχΦϯΦϒδΣΫτ DBTFDMBTT w ඪ४ϥΠϒϥϦ͔Β͍͔ͭ͘հ w 4FR 0QUJPO
w 4DBMBͷνΧϥͷยྡྷ w 0QUJPOܕͷίϯϏωʔγϣϯ w ߴΧΠϯυܕ 4DBMBͷجຊ ʢׂͱ୶ʑͱਐΊΔύʔτʣ 4DBMBͬΆ͞ͷհ ʢϝΠϯίϯςϯπʣ
ߴΧΠϯυܕʜͷલʹ 4DBMBʹ৭ʑͳܕ͕͋Γ·͢ΑͶʢಥʣ *OU 4USJOH .Z$MBTT
0QUJPO<">ͱ͔4FR<">ͱ͔͋Γ·͢ΑͶ *OU 4USJOH .Z$MBTT 0QUJPO<"> 4FR<"> 'VUVSF<"> ฒߦॲཧͷͨΊͷܕ 4VDDFTTͱ'BJMVSF͕͋Δ
0QUJPO<">ͱ͔4FR<">ͱ͔͋Γ·͢ΑͶ *OU 4USJOH .Z$MBTT 0QUJPO<"> 4FR<"> 'VUVSF<"> ֨ࢠ͕۩ମతͳܕ
NBQͱ͔GMBU.BQͬͯϝιου͋Γ·͢ΑͶ *OU 4USJOH .Z$MBTT 0QUJPO<"> 4FR<"> 'VUVSF<"> EFGNBQ<#> G"# 0QUJPO<#>
EFG fl BU.BQ<#> G"0QUJPO<#> 0QUJPO<#> EFGNBQ<#> G"# 4FR<#> EFG fl BU.BQ<#> G"4FR<#> 4FR<#> EFGNBQ<#> G"# 'VUVSF<#> EFG fl BU.BQ<#> G"'VUVSF<#> 'VUVSF<#> ˞'VUVSFNBQ fl BU.BQͷγάωνϟͪΐͬͱӕ͍͍ͭͯ·͢
ͳΜ͔γάωνϟࣅͯͳ͍Ͱ͔͢ *OU 4USJOH .Z$MBTT 0QUJPO<"> 4FR<"> 'VUVSF<"> EFGNBQ<#> G"# 0QUJPO<#>
EFG fl BU.BQ<#> G"0QUJPO<#> 0QUJPO<#> EFGNBQ<#> G"# 4FR<#> EFG fl BU.BQ<#> G"4FR<#> 4FR<#> EFGNBQ<#> G"# 'VUVSF<#> EFG fl BU.BQ<#> G"'VUVSF<#> 'VUVSF<#> 0QUJPO<"> 4FR<"> 'VUVSF<">ΛଋͶͨ֓೦ɺੜΈग़ͤͦ͏͡Όͳ͍Ͱ͔͢ʁ
)FMMP IJHIFSLJOEFEUZQFʢߴΧΠϯυܕʣ *OU 4USJOH .Z$MBTT 0QUJPO<"> 4FR<"> 'VUVSF<"> EFGNBQ<#> G"#
0QUJPO<#> EFG fl BU.BQ<#> G"0QUJPO<#> 0QUJPO<#> EFGNBQ<#> G"# 4FR<#> EFG fl BU.BQ<#> G"4FR<#> 4FR<#> EFGNBQ<#> G"# 'VUVSF<#> EFG fl BU.BQ<#> G"'VUVSF<#> 'VUVSF<#> '<"> EFGNBQ<#> G"# '<#> EFG fl BU.BQ<#> G"'<#> '<#>
ߴΧΠϯυܕΛఆٛͯ͠ΈΔ 0QUJPO 4FR 'VUVSFΛ·ͱΊΔ֓೦͕ ͭ͘Εͨ ͜ΕΒΛ)JHIFS,JOEͷΠϯελϯεͱͯ͠ ఆٛͰ͖ͨ ͜Ε͕ϑΝϯΫλʔɺϞφυͳͲͷ֓೦ʹͭͳ͕͍ͬͯͨΓ͠·͢ Ͱɺ͜ΕͳʹʁͳΜͷʹཱͭͷΑʁ·ͨผͷػձʹͰʜ
·ͱΊ w 4DBMBΛͬ͘͟Γͭ·Έ͙͍ͯ͠Έ·ͨ͠ w ·ͩ·ͩղઆͰ͖͍ͯͳ͍ػೳ֓೦͕ͨ͘͞Μ͋Γ·͢ w .BQ4FRͷΠϯελϯεΛؔͱͯ͠͏ w ܕΫϥε w
JNQMJDJUDMBTTʹΑΔطଘͷܕͷ֦ு w FUDʜ w 4DBMBॻָ͍͍͍ͯͯ͠৭ʑֶΔݴޠͳͷͰੋඇࢼͯ͠Έ͍ͯͩ͘͞ʂ