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
recruiting@caddi.jp
December 10, 2021
Programming
0
1k
Scalaつまみ食い - CADDi STUDDi
recruiting@caddi.jp
December 10, 2021
Tweet
Share
More Decks by recruiting@caddi.jp
See All by recruiting@caddi.jp
【CADDI VIETNAM】Company Deck for Engineers
caddi_eng
0
320
CADDi Company Deck_Global.pdf
caddi_eng
0
210
[ English ] Company Overview for Engineers
caddi_eng
0
2.4k
エンジニア向け会社紹介資料
caddi_eng
16
380k
CADDi 会社紹介・採用説明資料
caddi_eng
11
920k
機械学習チームのモノレポ移行
caddi_eng
0
570
BtoB SaaS を支える 認証認可基盤の設計
caddi_eng
0
1.2k
2023.01_CADDi Thailand Company Overview
caddi_eng
0
15k
20220826_Company Briefing Online Event
caddi_eng
0
560
Other Decks in Programming
See All in Programming
技術を改善し続ける
gumioji
0
120
お前もAI鬼にならないか?👹Bolt & Cursor & Supabase & Vercelで人間をやめるぞ、ジョジョー!👺
taishiyade
7
4.2k
Jakarta EE meets AI
ivargrimstad
0
390
Bedrock Agentsレスポンス解析によるAgentのOps
licux
3
920
ファインディLT_ポケモン対戦の定量的分析
fufufukakaka
0
930
ソフトウェアエンジニアの成長
masuda220
PRO
12
2.1k
データの整合性を保つ非同期処理アーキテクチャパターン / Async Architecture Patterns
mokuo
55
19k
CDK開発におけるコーディング規約の運用
yamanashi_ren01
2
250
CDKを使ったPagerDuty連携インフラのテンプレート化
shibuya_shogo
0
110
kintone開発を効率化するためにチームで試した施策とその結果を大放出!
oguemon
0
160
Generating OpenAPI schema from serializers throughout the Rails stack - Kyobashi.rb #5
envek
1
390
Rubyで始める関数型ドメインモデリング
shogo_tksk
0
140
Featured
See All Featured
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Visualization
eitanlees
146
15k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
49
2.3k
For a Future-Friendly Web
brad_frost
176
9.6k
Speed Design
sergeychernyshev
27
810
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Rails Girls Zürich Keynote
gr2m
94
13k
The Invisible Side of Design
smashingmag
299
50k
Facilitating Awesome Meetings
lara
52
6.2k
Done Done
chrislema
182
16k
Thoughts on Productivity
jonyablonski
69
4.5k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
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ॻָ͍͍͍ͯͯ͠৭ʑֶΔݴޠͳͷͰੋඇࢼͯ͠Έ͍ͯͩ͘͞ʂ