Play framework 2.0 Play frameworkã¯ãWebã¢ããªã±ã¼ã·ã§ã³ãä½ãçºã®ãã¬ã¼ã ã¯ã¼ã¯ã 2.0ããPlay frameworkèªä½ãScalaã§ä½ãç´ããã¦ãããããã æ¦è¦ï¼ææ³ï¼ ã¤ã³ã¹ãã¼ã«ãç°¡åãéå½¢ãç°¡åã«ä½ããã sbtãã¼ã¹ã®ã³ã³ã½ã¼ã«ã§ããã¸ã§ã¯ããæä½ããããEclipseã«ã対å¿ãã¦ããã åºæ¬çã«HTMLãè¨è¿°ãããã@ãã ãç¹æ®ãªæå³ãæã¡ãScalaã®ã³ã¼ããåãè¾¼ãããï¼ããã³ãã¬ã¼ããã¨å¼ã°ããï¼ ãã³ã³ããã¼ã©ã¼ãã¨å¼ã°ããScalaã®ã¯ã©ã¹ã§ãã©ã®ãã³ãã¬ã¼ããå¼ã³åºããå¶å¾¡ããã Playèªä½ããµã¼ãã¼æ©è½ãæã£ã¦ããã®ã§ããã©ã¦ã¶ã¼ã§ãã確èªã§ããã ã½ã¼ã¹ãä¿®æ£ãã¦ããã©ã¦ã¶ã¼ä¸ã§æ´æ°ï¼F5ï¼ããã¨ãããåæ ããããï¼ã³ã³ãã¤ã«ãèªåã§è¡ãããï¼ Scalaã¸æ»ã / æè¡ã¡ã¢ã¸æ»ã ã¡ã¼ã«ã®éä¿¡å ï¼ã²ãã ã¾
æè¿ã¯æ¥åã§ãåã³Playã使ãããã«ãªã£ãã®ã§Playã®ä¸ã®ä¸ã®ç¶æ³ããªãµã¼ãããã¹ããã¯ã³ã´ããã§éå¬ãããPlay Framework2 Meetupã«è¡ã£ã¦ãã¾ãããå人çã«åèã«ãªã£ãã»ãã·ã§ã³ã®å 容ãã¡ã¢ã£ã¦ããã¾ãã Play ã®ããã¾ã§ã¨ãããã @tototoshiãã ãªã¼ããã³ã°ã¯Scalaã¨Playã®æ´å²ãããããããããªãã¨ããã£ããªã¼ã¨æããªããèãã¦ããæ¹ãå¤ãã£ãã®ã§ã¯ãªãã§ãããããã¨ã¦ãããã¾ã¨ãã§ãããLiftã¯Scalaã«èå³ãæã£ãããã°ã©ãã®å¤ããæéããã¨ããæå³ã§ããªã罪深ãåå¨ãããããªãã¨ããã®ã¯æ°ããªçºè¦ã§ããw ãã¥ã¼ãã¡ã¼ã¹ãã¨ããçºæ³èªä½ã¯ããã£ãã¨æããã§ããã©ãã¼ã ãããã Iteratee å ¥é @kawachiãã å人çã«ã¨ã¦ãåå¼·ã«ãªã£ãã»ãã·ã§ã³ã§ãããIterateeã¯Playã使ãä¸ã§é¿ãã¦ã¯éããªãæ¦å¿µã§ãªã
ãã¯ã³ã´ãããä¼å ´ã¨ãã¦ãåãã㦠Play meetup ãè¡ãã¾ããããããã¨ããããã¾ããï¼ http://connpass.com/event/6020/ çºè¡¨è³æãTLããæ¾ã£ã¦ã¾ã¨ãã¾ããã®ã§ã©ããã Play 㨠Scala ã®ããã¾ã§ã¨ãããã/@tototoshi (é伿¨æ¶çãªãã®ã§ç¹ã«é¢ç½ãã¯ãªãã§ããä¸å¿è²¼ã£ã¦ããã¾ã) ãããã Iteratee å ¥é / @kawachi ããããIterateeå ¥é from Takashi Kawachi play2ã®jsonã¨åã¯ã©ã¹ @xuwei_k http://xuwei-k.github.io/slides/play2typeclasses/ DSLããã®ã³ã¼ãã¸ã§ãã¬ã¼ã·ã§ã³ã§æ¥½ã Playéçº @takezoux2 Dslããã®ã³ã¼ããã·ãã§ãã¬ã¼ã·ã§ã³ã¦ã楽ã playéçº from Yoshiteru Take
以ä¸ã§ç´¹ä»ããã¦ããæ¹æ³ã§ãããPlay 2.2ããã³commons-daemonã®ææ°çã§ãã1.0.15ã ã¨å°ãå¤ãã£ã¦ããã®ã§ã¡ã¢ã http://d.hatena.ne.jp/j5ik2o/20120322/1332397494 https://gist.github.com/j5ik2o/2156447 build.sbtã«ä»¥ä¸ã®ä¾åé¢ä¿ã追å ã "commons-daemon" % "commons-daemon" % "1.0.15" Daemonã¤ã³ã¿ã¼ãã§ã¤ã¹ãå®è£ ããApplicationã¯ã©ã¹ãç¨æãã¾ããNettyServerã®ã¤ã³ã¿ã¼ãã§ã¼ã¹ãå°ãå¤ãã£ã¦ãã¾ãã package daemon import org.apache.commons.daemon.Daemon import org.apache.commons.daemon.DaemonContext
èªåãã½ããã¦ã§ã¢ã¨ã³ã¸ãã¢ã¨ãã¦çã¿åºãã¦ãã価å¤ã£ã¦ãªãã ããï¼ã¨ãããã¨ãèãã¦ããææãããã¾ãã SIeræä»£ã¯æ°ããæè¡ã使ã£ã¦ä»ã¾ã§ã§ããªãã£ããã¨ãå®ç¾ããã¨ããããããçç£æ§ã®åä¸ã«ããã³ã¹ããã¦ã³ããããã¯åãã³ã¹ãã§ããå¤ãã®ç©ãä½ããããã«ããã¨ãã課é¡ã«å¯¾ãã¦æ°ããæè¡ãå°å ¥ããããããã»ã¹ãæ¹åãããã¨ãã£ã試è¡é¯èª¤ãç¹°ãè¿ãã¦ãã¾ããã çç£æ§ãç«¶åã«å¯¾ããã¢ããã³ãã¼ã¸ã ã¨ããã¨ãããã¯ã½ããã¦ã§ã¢ãã®ãã§ã¯ãªããã¨ã³ã¸ãã¢ãªã³ã°ã価å¤ãç£ãã§ããã¨ãããã¨ã«ãªãã¾ãããããåãã¡ã¯ã½ããã¦ã§ã¢ãä½ã£ã¦ããã®ã«ä¾¡å¤ãçã¿åºãã¦ããã®ã¯ä½ã£ã¦ããã½ããã¦ã§ã¢ãã®ãã®ã§ã¯ãªãã£ãã®ã§ãã ã¾ããã¨ãã«ã¯ããã«ã¦ã§ã¢ã®æ¤è¨¼ãè§£æãè¡ã£ã¦ãããã¨ãããã¾ããããªããªãé«åº¦ãªæè¡åãè¦æ±ãããè峿·±ãä»äºã ã£ãã®ã§ããããããèªåãã¡ã§ä½ãä¸ããã½ããã¦ã§ã¢ã価å¤ãæ
å¼ãç¶ããããµã2014ã ãã¯ã³ã´åæç·ä¸éæ°ã«ããã»ãã·ã§ã³ãPlay2/Scalaã§ãã¡ã¤ã³é§åè¨è¨ãå©ç¨ããå¤§è¦æ¨¡Webã¢ããªã±ã¼ã·ã§ã³ã®ã¹ã¯ã©ã éçºã®åæããèãã¾ããã ããããªã¨ããã§è¯ãèãPHPã¬ã¬ã·ã¼ã³ã¼ãã«ã©ãç«ã¡åãã£ãã®ãèãã¦ã¿ããã£ãã§ãã æ¡ã®å®ã¨ããããæ³å以ä¸ã®PHPã¬ã¬ã·ã¼ã³ã¼ãã£ã·ãã«ã¡ãã£ã¨æåãããã¾ãããï½ profile æ ªå¼ä¼ç¤¾ãã¯ã³ã´ åæç·ä¸éæ° ã¦ã©ã¼ã¿ã¼ãã©ã¼ã«éçºã¨ã¢ã¸ã£ã¤ã«éçºã®ä¸¡æ¹ã®ããã¼ã¸ã£ã¼çµé¨ ã¹ã©ã¤ã ãã³ãã³çæ¾éãæ¸ãç´ãçç± ã³ã¼ãã®æè¡çè² åµããã°ã PHPã§æ¸ããã¦ãã: 300ä¸è¡ï¼ facebookã§1000ä¸è¡ã¨è¨ããã¦ãããã 1ä¸è¡ã®ã¯ã©ã¹ã4000è¡ã®ã¡ã½ãã 循ç°çè¤é度600è¶ ã®ã¡ã½ããããã ãã¾ãã«è¤ééãã¦é¾ã®å·£ã¨è¨ããã¦ããï¼ç¬ï¼ ã¾ãã«å£ãããã®ã¸ã§ã³ã¬ã®ãã ä¼ç»ãã¹ã±ã¸ã¥ã¼ã«ãåª
rpscalaã§ãtypesafehubã®ã¢ã«ã¦ã³ãã§è²ã webé¢é£ã®pluginä½ã£ã¦ããã©ãªãã ããï¼æ¬¡æplay2.3ã«åãã¦ã®ä½ãããªï¼ãã¨ãè¨ãã¾ãããããã¯ã大ä½äºæ³éãã ã£ãããã§ãã Playã®MLã§ã¢ãã¦ã³ã¹ãããã¾ãã https://github.com/typesafehub/sbt-web https://groups.google.com/d/msg/play-framework/YLPAEnaE0FE/0G_rmv26uG8J play2.3ã§ã¯ãããã©ã«ãã§ããã«ä¾åããã¿ããã§ããããã¦ãè¨å®ããã°ç¾ç¶ã®2.2ã§ã使ãããããªãã¨ãã£ã¦ã¾ããã ããªãplayæ¬ä½ã®å é¨ã§éçºãããç¬ç«ããsbt pluginã¨ãã¦éçºãã¦ãã®ã ããï¼ã ã¨ããçåãããã¾ãããã2.2ç³»ã§ã使ããããã«ããã¨ããçç±ã ã£ãã®ã§ããããï¼ ãã¨ã¯ãåæãªäºæ³ã¨ãã¦ã¯ãpla
Playã¢ããªãPostgreSQL対å¿ãã¦Herokuã«ãããã¤ï¼èªåãã¹ãï¼Javaã®å¸¸èãå¤ããPlay frameworkå ¥éï¼çµï¼ï¼1/4 ãã¼ã¸ï¼ ãµã¼ãã¬ããï¼JSPãåºã«ããéåé·å¤§ãªJavaã®Webéçºã®ã¤ã¡ã¼ã¸ãå¤ãã軽éãã¬ã¼ã ã¯ã¼ã¯ãPlayãã«ã¤ãã¦è§£èª¬ããWebã¢ããªã®ä½ãæ¹ãç´¹ä»ããå ¥éé£è¼ãæçµåã¯ã使ããã¢ããªãç°¡åã«Webä¸ã«å ¬éããæ¹æ³ã¨PostgreSQL対å¿ããã¹ãç°å¢ã®æ§ç¯ã¨èªåãã¹ãã®å®è¡ã®ä»æ¹ã解説ãã¾ãã ååã®è¨äºãPlayã®å å®ãããã¹ãç°å¢ã§è¡ã5種ã®ãã¹ããã§ã¯ãPlay frameworkã使ã£ãã¢ããªã®ãã¹ããç´¹ä»ãã¾ãããä»åã¯Javaã使ã£ãPlay frameworkéçºã®å ¥éé£è¼ã®æçµåã¨ãã¦ã使ããã¢ããªãç°¡åã«Webä¸ã«å ¬éããæ¹æ³ãç´¹ä»ãã¾ãã ã¢ããªã®å ¬éã«ã¯ããHerokuãã¨ãããµã¼ãã¹ãå©ç¨ãã¾ãã ã
ããããæ§èã§ããã2ã¶æã»ã©åã«DBFluteã®ãã¼ã¸ã§ã³1ããªãªã¼ã¹ããã¾ããã DBFluteã¨ããã°ãé常ã«å¼·åã§æè»ãªO/Rãããã¼ã§ãã ã©ãããããå¼·åã§æè»ãã¨ããã¨ã便å©ããã¦ãDBFluteã®v1.0ãªãªã¼ã¹ãè¨å¿µã¨ãã¦ã社å DBFluteä¿¡è ã«ããå¸ææ´»ååå¼·ä¼ãå æ¥è¡ãããã»ã©ã§ãï¼ ä»åã¯ãããããJavaã®Play!Frameworkã§ä½¿ã£ã¡ãããã¨ããã®ããæ¬è¨äºã§ãã ãã ãPlay!Frameworkã«ã¤ãã¦ã¯ãææ°ã®2.0ã§ã¯ãªãã1.2ç³»ã使ã£ã¦ãã¾ãã ã¨è¨ãã®ããã¾ã 2.0ç³»ã¨DBFluteã®é£æºã¯è©¦ãã¦ãªããããããããè¨äºã«åºæ¥ãªãã¨ããåç´ãªçç±ã§ãã ã¨ã¾ãããããªåç½®ãã¯ç½®ãã¦ããã¦ãã¨ãããããé²ãã¦ããã¾ãããã ä»åã®ç°å¢ ã¾ããä»åã®ç°å¢ã¯ä»¥ä¸ã®éãã§ãã ç¹ã«DBãµã¼ãã¼çã¯äºãç¨æãã¦ããã¦ä¸ããã Play! Framwor
ããã¯ãPlay framework 2.x Scala Advent Calendar 2013ã®7æ¥ç®ã§ãã 誰å¾ï¼ãªã®ããããã¾ããããæ¨é¡ã®éããèªåãä»ã¾ã§Play2ã«ããpull requestã¾ã¨ãã¦ã¿ã¾ããrejectããããã®ãä¸å¿ããã¦ããã¾ããPlay2ã®Scalaã®ã¢ããã®åå è å°ãªããããã®ã§ããããªãã¿ã§ãããããã ã°ã©ã https://github.com/playframework/playframework/graphs/contributors ãè¦ã¦ã¿ãã¨ã2013å¹´12æ7æ¥ç¾å¨ãã³ãããæ°ã ã¨14ä½ã24ã³ãããã pull reqã®æ°ã¨ãã¦ã¯ã27åpull reqãã¦ããã®ãã¡ã5årejectã22åmergeããããã¨ããæããã refactoring JavaParsers #467 ãªããåé·ãªå¼ã³åºãæ¹ãã¦ããã®ã§ãç´°ãããªãã¡
ãã£æ°ã¥ããããplay2ã®Scalaã®ã¢ããã³ãã«ã¬ã³ãã¼éåãã¦ãã»ã»ã»ã ãã¦ãplay_jaã®ã¡ã¼ãªã³ã°ãªã¹ãã«ãã³ã³ãã¤ã«é度é ãã®ã§ã©ãã«ãããããã¨ãããããªæç¨¿ããã£ãã®ã§ããã£ãããªã®ã§ã¡ã¼ãªã³ã°ãªã¹ãã«ç´æ¥è¿ä¿¡ããã®ã§ã¯ãªããblogã«æ¸ãã¦ãã¢ããã³ãã«ã¬ã³ãã¼ã®ãã¿ã«ãã¦ãã¾ãã¾ããããã¨ããããã§ããã㯠Play framework 2.x Scala Advent Calendar 2013 ã®24æ¥ç®ã§ãã èªåãæãã¤ãéããããã¤ãæ¡ãæãã¦ã¿ã¾ã çµé¨ä¸ãã³ã³ãã¤ã«é度ã«ç´çµããã®ã¯ã¡ã¢ãªéããCPUã®æ§è½ã§ããããæ°å¹´åã®PCãªãã°ãè²·ãæããã ãã§ããããããã³ã³ãã¤ã«é度ã¯åä¸ããã¨æãã¾ãã ã¡ã¢ãªãããç¨åº¦å¤§éã«ç©ãã§ãã¦ããplayéçºç¨ã®sbtã®èµ·åæã®JVMã®ãã©ã¡ã¼ã¿ã調æ´ããã¦ãªãã¨ãã¡ã¢ãªãååã«ä½¿ãåãã¦ãªãå¯è½æ§ãããã¾ããå®
ååã®è¨äºãPlay2ï¼ï¼JavaScriptï¼ã¢ããªãé«éåãæé©åãã4ã¤ã®ãã¯ããã¯ãã§ã¯ããã£ãã·ã¥ã®å©ç¨æ¹æ³ãéåæéä¿¡ãè¡ãææ³ãã¯ã©ã¤ã¢ã³ããµã¤ãã§JavaScriptããã¾ãæ±ããã¯ããã¯ã«ã¤ãã¦ç´¹ä»ãã¾ããã ä»åã¯Play framework 2.xï¼ä»¥ä¸ãPlay2ï¼ãæ¢åã®Webãµã¼ãã¼ã¨é£æºãããæ¹æ³ã並åå¦çãåæ¹åéä¿¡ãè¡ãæ¹æ³ãç´¹ä»ãã¾ãã Webãµã¼ãã¼ã¨Play2ã®é£æº Webãµã¼ãã¼ã¨é£æºããå¿ è¦æ§ é£è¼ç¬¬2åè¨äºãPlay 2.0ã®ã¢ã¼ããã¯ãã£ã¨ãã£ã¬ã¯ããªæ§æã®åºç¤ç¥èãã§è§£èª¬ããã¾ããããPlay2ã§ã¯ãNettyãã¨ããHTTPãµã¼ãã¼ãå å ãã¦ãããããã使ç¨ãã¦ãªã¯ã¨ã¹ããå¦çãã¾ãããã®ãããPlay2ã®èµ·åãã¼ãã80çªã«è¨å®ããã°é常ã®Webãµã¼ãã¼ã¨åãããã«ã¢ã¯ã»ã¹å¯è½ã§ãã åç´ãªWebã¢ããªã±ã¼ã·ã§ã³ã®å ´åã¯ããã§åé¡ã¯ãªã
ãªãã ããã£ããé ããªã£ã¡ãã£ããã©ãPlay1.2ããªãªã¼ã¹ãããã®ã§ããªãªã¼ã¹ãã¼ããèªã¿ãªãã確èªãã°ã 1.2 æ¦è¦ å ¨ä½çã«ãææ¬²çãªã¢ãããã¼ãã¨è¨ãããã dependenciesã³ãã³ãã®è¿½å ããã¹ãæã®surefireã®åºåãµãã¼ããçã ããã£ã¨CIå¨ããã¾ã¨ãã«ãªããããã«DBç®¡çæ©æ§ã®Evolutionã++ãªæãã ã¾ããã®ãã¼ã¸ã§ã³ããWebSocketãæ£å¼ã«ãµãã¼ããããã ä»ã«ãéåæHTTPéä¿¡ã«é¢ããææ¬²çãªæ©è½ã追å ããã¦ãããæ¬¡ä¸ä»£ãªæããæºè¼ã ä¾åé¢ä¿ç®¡çæ©è½ããã£ã¨è¿½å Playã¯Mavené対å¿ããªããªãGuillaumeãMavenå«ãã ããã MLã§Mavenã§ä¾åé¢ä¿ç®¡çããããã£ã¦ããåãåããããããã³ãivy使ãã°ãã¨çªãæ¾ãã¦ããããã§ããã1.2ã§ãã£ã¨æ©è½ã追å ããã¾ããã dependenciesã³ãã³ãã§ãã ããã¯Ma
ã©ã³ãã³ã°
ã©ã³ãã³ã°
ã¡ã³ããã³ã¹
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}