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
Steps to master the Play source code
Search
Toshiyuki Takahashi
February 12, 2016
Programming
1
500
Steps to master the Play source code
ScalaMatsuri 2016
Toshiyuki Takahashi
February 12, 2016
Tweet
Share
More Decks by Toshiyuki Takahashi
See All by Toshiyuki Takahashi
Purely Functional Programming with Cats Effect 3 and Scala 3 [ScalaMatsuri2022]
tototoshi
0
6.7k
scala-ojisan
tototoshi
0
130
5年ぶりにPHPを書いた話
tototoshi
0
320
flyway-play
tototoshi
2
2.1k
Template Engines in Scala
tototoshi
1
3.9k
Play と Scala のこれまでとこれから
tototoshi
1
2.1k
Other Decks in Programming
See All in Programming
GPUを計算資源として使おう!
primenumber
1
300
顧客の画像データをテラバイト単位で配信する 画像サーバを WebP にした際に起こった課題と その対応策 ~継続的な取り組みを添えて~
takutakahashi
4
1.4k
Git Sync を超える!OSS で実現する CDK Pull 型デプロイ / Deploying CDK with PipeCD in Pull-style
tkikuc
4
480
Quality Gates in the Age of Agentic Coding
helmedeiros
PRO
1
110
オホーツクでコミュニティを立ち上げた理由―地方出身プログラマの挑戦 / TechRAMEN 2025 Conference
lemonade_37
1
360
Vibe coding コードレビュー
kinopeee
0
340
MySQL9でベクトルカラム登場!PHP×AWSでのAI/類似検索はこう変わる
suguruooki
1
260
AWS Summit Japan 2024と2025の比較/はじめてのKiro、今あなたは岐路に立つ
satoshi256kbyte
1
260
バイブコーディングの正体——AIエージェントはソフトウェア開発を変えるか?
stakaya
2
210
階層化自動テストで開発に機動力を
ickx
1
450
Gemini CLIの"強み"を知る! Gemini CLIとClaude Codeを比較してみた!
kotahisafuru
2
660
Prompt Engineeringの再定義「Context Engineering」とは
htsuruo
0
110
Featured
See All Featured
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
For a Future-Friendly Web
brad_frost
179
9.8k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
Producing Creativity
orderedlist
PRO
346
40k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
The Art of Programming - Codeland 2020
erikaheidi
54
13k
Agile that works and the tools we love
rasmusluckow
329
21k
Making Projects Easy
brettharned
117
6.3k
A designer walks into a library…
pauljervisheath
207
24k
Statistics for Hackers
jakevdp
799
220k
Transcript
4UFQTUPNBTUFS UIF1MBZTPVSDFDPEF 5PTIJZVLJ5BLBIBTIJ!TDBMBNBUTVSJ
XIPBNJ w IUUQTHJUIVCDPNUPUPUPTIJ w TDBMBDTW qZXBZQMBZ TMJDLKPEB NBQQFS FUD w
'SFFMBODFFOHJOFFS w )PTUJOH1MBZNFFUVQ 1MBZTPVSDFDPEF SFBEJOH
3FBEJOHTPVSDFDPEF w 5PJOWFTUJHBUFBCVH w 5PDVTUPNJ[FUIFGSBNFXPSL w 5PMFBSO w 5PLJMMUJNF w
FUD
(PBM w -FBSOJOHTPNFCBDLHSPVOE JOGPSNBUJPOUPVOEFTUBOETPVSDFDPEF PG1MBZ w &YQMPSJOHUIFIJTUPSZPG1MBZ w 6OEFSTUBOEJOHUIFSPMFPGFBDINPEVMF
3PBENBQ &YQMPSJOHCVJMETCU 6OEFSTUBOEJOHQBUUFSOTJO1MBZ -FBSOJOHFBDINPEVMF 1FSGFDUMZNBTUFS
3PBENBQ &YQMPSJOHCVJMETCU 6OEFSTUBOEJOHQBUUFSOTJO1MBZ -FBSOJOHFBDINPEVMF 1FSGFDUMZNBTUFS
3FBEJOHCVJMETCU w CVJMETCUBOEGSBNFXPSLQSPKFDU w MJCSBSZ%FQFOEFODJFT w EFQFOET0O
IUUQTHJUIVCDPNUPUPUPTIJQMBZEFQFOEFODZHSBQI
ˠ w )JTUPSZPGSFGBDUPSJOH w NPSFUFTUBCMF w NPSFqFYJCMF
ˠ w %FDPVQMFENPEVMFTBOEEFQFOEFODJFT w &BDIKBSIBTCFFOTNBMMFSUIBOCFGPSF w QMBZKBWBJTEJWJEFEGSPNQMBZTDBMB w BOPSNXFOUUPQMBZGSBNFXPSLBOPSN w
4DBMB5FNQMBUFXBTSFQMBDFEXJUIUXJSM
3PBENBQ &YQMPSJOHCVJMETCU 6OEFSTUBOEJOHQBUUFSOTJO1MBZ -FBSOJOHFBDINPEVMF 1FSGFDUMZNBTUFS
1BUUFSOT w %FQFOEFODZ*OKFDUJPO w *NQMJDJUQBSBNFUFSBLB5ZQFDMBTTFT
1BUUFSOT w %FQFOEFODZ*OKFDUJPO w *NQMJDJUQBSBNFUFSBLB5ZQFDMBTTFT
%FQFOEFODZ*OKFDUJPO w 1MBZCSPVHIU$POTUSVDUPSCBTFE %FQFOEFODZ*OKFDUJPO w /PNPSF1MBZBQJ1MBZDVSSFOU w 3VOUJNF%* w $PNQJMFUJNF%*
w 1MVHJOJTEFQSFDBUFEBOEXJMMCFSFNPWFE
%* w 4QSJOH (VJDF w $BLF1BUUFSO w *NQMJDJU1BSBNFUFS
w 3FBEFS.POBE
$POTUSVDUPS*OKFDUJPO DMBTT6TFS3FQPTJUPSZ\ EFGpOE"MM ^ DMBTT6TFS4FSWJDF\ WBMVTFS3FQPTJUPSZOFX6TFS3FQPTJUPSZ EFGHFU"MM6TFSVTFS3FQPTJUPSZpOE"MM ^
$POTUSVDUPS*OKFDUJPO DMBTT.Z6TFS3FQPTJUPSZFYUFOET6TFS3FQPTJUPSZ\ EFGpOE"MM ^ DMBTT6TFS4FSWJDF VTFS3FQPTJUPSZ6TFS3FQPTJUPSZ \ EFGHFU"MM6TFSVTFS3FQPTJUPSZpOE"MM ^
3VOUJNF%* DMBTT.Z6TFS3FQPTJUPSZFYUFOET6TFS3FQPTJUPSZ\ EFGpOE"MM ^ DMBTT6TFS4FSWJDF!*OKFDU VTFS3FQPTJUPSZ6TFS3FQPTJUPSZ \
EFGHFU"MM6TFSVTFS3FQPTJUPSZpOE"MM ^
3VOUJNF%* w #PVOECZ%*DPOUBJOFS DMBTT6TFS3FQPTJUPSZ.PEVMFFYUFOET6TFS3FQPTJUPSZ\ EFGCJOEJOHT FOWJSPONFOU&OWJSPONFOU DPOpHVSBUJPO$POpHVSBUJPO 4FR
CJOE<6TFS3FQPTJUPSZ>UP<.Z6TFS3FQPTJUPSZ> ^
$PNQJMFUJNF%* w #JOENBOVBMMZ DMBTT.Z$PNQPOFOUT DPOUFYU$POUFYU FYUFOET #VJMU*O$PNQPOFOUT'SPN$POUFYU DPOUFYU \ MB[ZWBMSPVUFS3PVUFSFNQUZ
MB[ZWBMNZ6TFS3FQPTJUPSZ OFX.Z6TFS3FQPTJUPSZ ^
1MBZ.PEVMF w &BDINPEVMFJTJNQMFNFOUFEBT1MBZ.PEVMF w FWPMVUJPOT DBDIF XT FUD w $BOXSJUFDVTUPN1MBZ.PEVMFJOUIFTBNF
XBZ w *OJUJBMJ[BUJPOPSEFSPGNPEVMFTBSF BVUPNBUJDBMMZEFUFSNJOFEGSPNUIF EFQFOEFODZHSBQI
&YBNQMF w IUUQTHJUIVCDPNqZXBZqZXBZQMBZ
1BUUFSOT w %FQFOEFODZ*OKFDUJPO w *NQMJDJUQBSBNFUFSBLB5ZQFDMBTTFT
*NQMJDJUQBSBNFUFS DMBTT6TFS WBMOBNF4USJOH \ XBOUUPFYUFOEUIJT EFGUPT 4USJOHOBNF ͞Μ ^
*NQMJDJUQBSBNFUFS DMBTT6TFS WBMOBNF4USJOH USBJU1SJOUBCMF<5>\ EFGUPT U5 4USJOH ^
*NQMJDJUQBSBNFUFS PCKFDU1SJOUBCMF4BOFYUFOET1SJOUBCMF<6TFS>\ EFGUPT VTFS6TFS 4USJOHVTFSOBNF ͞Μ ^ PCKFDU1SJOUBCMF4BNBFYUFOET1SJOUBCMF<6TFS>\ EFGUPT VTFS6TFS
4USJOHVTFSOBNF ͞· ^
*NQMJDJUQBSBNFUFS PCKFDU6TFS1SJOUFS\ EFGQSJOUMO VTFS6TFS Q1SJOUBCMF<6TFS> 6OJU\ $POTPMFQSJOUMO QUPT VTFS
^ ^
*NQMJDJUQBSBNFUFS TDBMB6TFS1SJOUFSQSJOUMO OFX6TFS IPHF 1SJOUBCMF4BNB IPHF͞· TDBMB6TFS1SJOUFSQSJOUMO OFX6TFS IPHF
1SJOUBCMF4BO IPHF͞Μ
*NQMJDJUQBSBNFUFS JNQMJDJUPCKFDU1SJOUBCMF4BOFYUFOET1SJOUBCMF<6TFS>\ EFGUPT VTFS6TFS 4USJOH VTFSOBNF ͞Μ ^ PCKFDU6TFS1SJOUFS\ EFGQSJOUMO
VTFS6TFS JNQMJDJUQ1SJOUBCMF<6TFS> \ $POTPMFQSJOUMO QUPT VTFS ^ ^
*NQMJDJUQBSBNFUFS TDBMB6TFS1SJOUFSQSJOUMO OFX6TFS IPHF IPHF͞Μ w #FIBWJPSJTDIBOHFECZAJNQPSUA
5ZQFDMBTTFTJO1MBZ w 8SJUFBCMF w $POUFOU5ZQF0G w 2VFSZ4USJOH#JOEBCMF w 1BUI#JOEBCMF w
FUD
FYBNQMFT w IUUQTHJUIVCDPNUPUPUPTIJQMBZ KTPOT w IUUQTHJUIVCDPNUPUPUPTIJQMBZ KPEBSPVUFTCJOEFS
3PBENBQ &YQMPSJOHCVJMETCU 6OEFSTUBOEJOHQBUUFSOTJO1MBZ -FBSOJOHFBDINPEVMF 1FSGFDUMZNBTUFS
࠶ IUUQTHJUIVCDPNUPUPUPTIJQMBZEFQFOEFODZHSBQI
QMBZ w QMBZ w DPSFNPEVMFPG1MBZ4DBMB w "DUJPO 3PVUJOH $POpHVSBUJPO FUD
w QMBZKBWB w DPSFNPEVMFPG1MBZ+BWB w EFQFOETPOQMBZ
QMBZ w "DUJPO 3FRVFTUBOE3FTQPOTF FUD w IUUQTHJUIVCDPNQMBZGSBNFXPSL QMBZGSBNFXPSLUSFFNBTUFS GSBNFXPSLTSDQMBZTSDNBJOTDBMB QMBZBQJ
KECD w QMBZKECD w )JLBSJ$1 #POF$1 w QMBZKECDBQJ w *OUFSGBDFUPXSJUFDVTUPNJ[FE
EBUBCBTFNPEVMF
KECD w BOPSN QMBZTMJDL QMBZFCFBOBSFOPU JOUIJTSFQPTJUPSZ
XT w "TZOD)UUQ$MJFOUXSBQQFS
DBDIF w &I$BDIFCZEFGBVMU w DBOTQMJUJOUPQMBZDBDIFBOEQMBZ DBDIFBQJ
QMBZKTPO w %PFTO`UEFQFOEPOQMBZ w VTFGVMJOPUIFSQSPKFDUT w 3FQMBDFEXJUI+TPOTJO1MBZ
JUFSBUFFT QMBZGVODUJPOBM w 6UJMJUJFTGPSGVODUJPOBMQSPHSBNNJOH
QMBZTFSWFS w *NQMFNFOUJPOPGUIF1MBZTFSWFS w QMBZOFUUZTFSWFS OFUUZCBTFE w QMBZBLLBIUUQTFSWFS BLLBIUUQ
CBTFE
QMBZTUSFBNT w FYQFSJNFOUBMNPEVMFGPSSFBDUJWF TUSFBNT w 1MBZBOE3FBDUJWF4USFBNT w 3FBDUJWF4USFBNTೖʢ+BQBOFTFʣ
TCUQMVHJO w %FWFMPQNFOUFOWJSPONFOUBOE XPSLqPXBSFQSPWJEFECZTCUQMVHJO
3PBENBQ &YQMPSJOHCVJMETCU 6OEFSTUBOEJOHQBUUFSOTJO1MBZ -FBSOJOHFBDINPEVMF 1FSGFDUMZNBTUFS
50%0
4VNNBSZ w 1MBZIBTCFFOMBSHFMZSFGBDUPSFEBOE EFDPVQMFETJODF w DPSF w NPEVMFTMJLFXT DBDIF FUD
w TCUQMVHJO w 1MBZJTOPXEFTJHOFEBSPVOE%* w 5ZQFDMBTTFTBSFBMTPDPNNPOMZGPVOE