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
520
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
7.1k
scala-ojisan
tototoshi
0
140
5年ぶりにPHPを書いた話
tototoshi
0
330
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
Basic Architectures
denyspoltorak
0
150
GISエンジニアから見たLINKSデータ
nokonoko1203
0
190
新卒エンジニアのプルリクエスト with AI駆動
fukunaga2025
0
240
tsgolintはいかにしてtypescript-goの非公開APIを呼び出しているのか
syumai
7
2.4k
2年のAppleウォレットパス開発の振り返り
muno92
PRO
0
130
AI 駆動開発ライフサイクル(AI-DLC):ソフトウェアエンジニアリングの再構築 / AI-DLC Introduction
kanamasa
11
4.7k
AI時代を生き抜く 新卒エンジニアの生きる道
coconala_engineer
1
490
perlをWebAssembly上で動かすと何が嬉しいの??? / Where does Perl-on-Wasm actually make sense?
mackee
0
250
令和最新版Android Studioで化石デバイス向けアプリを作る
arkw
0
470
AIの誤りが許されない業務システムにおいて“信頼されるAI” を目指す / building-trusted-ai-systems
yuya4
6
4.1k
Rubyで鍛える仕組み化プロヂュース力
muryoimpl
0
250
実はマルチモーダルだった。ブラウザの組み込みAI🧠でWebの未来を感じてみよう #jsfes #gemini
n0bisuke2
3
1.4k
Featured
See All Featured
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
120
Building the Perfect Custom Keyboard
takai
1
670
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
110
AI Search: Where Are We & What Can We Do About It?
aleyda
0
6.8k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.1k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
63
How to make the Groovebox
asonas
2
1.9k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
72
Testing 201, or: Great Expectations
jmmastey
46
7.8k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
61
47k
A better future with KSS
kneath
240
18k
30 Presentation Tips
portentint
PRO
1
180
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