äžçã®ãã¬ãŒã ã¯ãŒã¯ã®æ°ã¯é©ãã¹ãé床ã§å¢å ããŠããŸãã ãããã®æ°å人ã¯ãã§ã«çŸåšã§ãã 幞ããªããšã«ãäžçªäžã®-ããã»ã©ã§ã¯ãªãã Webéçºè ã®äžçå šäœã¯ã1ã€ãŸãã¯å¥ã®ãã¬ãŒã ã¯ãŒã¯ã奜ãããã€ãã®ã°ã«ãŒãã«åçŽã«åå²ãããŠããŸãã ç§ã¯ã²ãããããªããŒã奜ãã§ã¯ãªãã®ã§ãç¥ã¯åœŒã«ãã£ãšè¯ããã®ãäžããŠãã ãããŸãã Ruby on Railsã«ã€ããŠASP.NETéçºè ãšè©±ããããã ãã§ãã
ãªãã§ïŒ
ç§ã®è©±ãããŸã 2004幎ããASP.NETãæžããŠããŸãã ç§ã¯ãã®ã·ã¹ãã ã®å€ãã®é ã ãç¥ã£ãŠãããããèªäœãçŽ æŽãããããšãç¥ã£ãŠããŸãã .NETã§ã®3ã€ã®å€§ããªãããžã§ã¯ããçã延ã³ãçŸåšãå®å®ããŠåäœãç¶ãã10ã®ãµã€ãããå·çããŸããã ãã¬ãŒã ã¯ãŒã¯ã«ã€ããŠè©±ããšã.NETãç§ããã¹ãŠæºè¶³ãããŸããã æ倧ã®ãããžã§ã¯ãã§ã¯ãæãè€éãªåé¡ã®è§£æ±ºçãèŠã€ããŸããã ã ããã6幎åŸã«ç§ã¯èŠããã£ãã®ã§ãããåžå Žã«ã¯ä»ã«äœããããŸããïŒ åœç¶ãRoRã«åºäŒã£ãæåã®ããšã§ãã
ãã®èšäºã¯ãçµéšè±å¯ãªããã°ã©ããŒã察象ãšããŠããŸãã ã³ã³ãã€ã©ãŒãšã€ã³ã¿ãŒããªã¿ãŒãåºå¥ã§ããªãå Žåã¯ãGoogleã䜿çšããæ¹ãè¯ãã§ãããã
äœã«èå³ããããŸãããïŒ ç§ã¯ãã®ã¹ã¯ãªãŒã³ãã£ã¹ããèŠãŸããã RoRã䜿çšããŠ15åã§ããã°ãäœæããæ¹æ³ã«ã€ããŠã¹ããŒãã«èª¬æããŠããŸãã ããŠãç§ã¯ããªãããã¹ãŠããšãŠã楜ãããšèšããªããè©ŠããŠã¿ã䟡å€ããããšæ±ºããŸããã
åæ çãªäœè«ã Windowsææè ãQuickTimeãã€ã³ã¹ããŒã«ããã«movãã¡ã€ã«ãèŠèŽããã«ã¯ãQuick Timeã®ä»£æ¿ããŒãžã§ã³ãå ¥æã㊠Media Player Classicãã€ã³ã¹ããŒã«ããå¿ èŠããããŸãã ã»ãšãã©ã®ã«ããŒã¹ã¯ãªãŒã³ãã£ã¹ãã¯Mac OSã§äœæãããŠããŸãã ç§èªèº«ã¯çŒããããªãŒããŒã§ãããå°ãæãå ããªããã°ãªããŸããã§ããã ç¹°ãè¿ããŸãããããã¯ããªããŒã«é¢ããèšäºã§ã¯ãããŸããã
ãããã¯ã«æ»ããŸãã
çšèªãšå¿ èŠãªãã®ã«ã€ããŠè©±ããŸããã
Rubyã¯ãé«éã§äŸ¿å©ãªãªããžã§ã¯ãæåããã°ã©ãã³ã°ã®ããã®é«ã¬ãã«ã®ã€ã³ã¿ããªã¿èšèªã§ãã ãã®èšèªã«ã¯ããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã«äŸåããªããã«ãã¹ã¬ããå®è£ ãå³å¯ãªåçåä»ããã¬ããŒãžã³ã¬ã¯ã¿ãŒãããã³ãã®ä»ã®å€ãã®æ©èœããããŸãã Rubyã¯ãSmalltalkãžã®ãªããžã§ã¯ãæåã®ã¢ãããŒãã§ãæ§æãPerlããã³Eiffelã«äŒŒãŠããŸãã ãŸãããã®èšèªã®ããã€ãã®æ©èœã¯PythonãLispãDylanããåãããŠããŸãã
.NETã§1幎ééçºããŠããããã°ã©ããŒãªã誰ã§ããRubyãç解ããããã«åŠã¶ããšãã§ããŸãã ãããŠããã®äž»é¡ã«é¢ããŠæžãããããªãã®æ°ã®èšäºããããŸãã åæ¢ããŸããã
ã¯ã³ã¯ãªãã¯ã€ã³ã¹ããŒã«ã䜿çšããŠWindowsã«Rubyãã€ã³ã¹ããŒã«ã§ããŸãã
éåžžã®ïŒ APPDATAïŒ ãã£ã¬ã¯ããªãšã¯ç°ãªããRubyã®ãã¹ãŠã¯CïŒãã©ã€ããªã©ã«çœ®ãæ¹ãè¯ãããšã«æ³šæããŠãã ããã ããã«ãããã·ã¹ãã ã®ãããªãäœæ¥ã容æã«ãªããŸãã
ãã©ã°ã€ã³ãªãã®Rubyã¯ãã«ããŒã®ããŒã«ããã«äŒŒãŠãããšããã«èšããªããã°ãªããŸããã ãããã£ãŠãå®ç³ãéçºãããŸããã
RubyGemsã¯ãRubyããã°ã©ã ããã³ã©ã€ãã©ãªã®æšæºåœ¢åŒïŒèªå·±å®çµåã®gem圢åŒïŒãgemsã€ã³ã¹ããŒã«ãç°¡åã«ç®¡çããããã«èšèšãããããŒã«ãããã³ããããé åžãããµãŒããŒãæäŸããRubyããã°ã©ãã³ã°èšèªã®ããã±ãŒãžãããŒãžã£ãŒã§ãã
å®éã.NETã§ã¯ãéåžžã®ããã±ãŒãžãããŒãžã£ãŒã®ãããªçœ®æãèŠã€ããããšãã§ããŸããã .NETã®æŠå¿µã¯ã誰ããã€ã³ã¹ããŒã©ãäœæãã.NETã®ããã±ãŒãžã圌ã«åã°ãã圢ã§é åžãããšãããã®ã§ãã Rubyã§ã¯ããã¹ãŠãã¯ããã«ã·ã³ãã«ã§åªããŠããŸãã ããšãã°ããã·ã¢ã§äººæ°ãé«ãŸã£ãŠããfacebook.comãšãããµã€ãããããŸãã facebook.comã«ã¯ãããã°ã©ã ã§äœ¿çšã§ããAPIãèšè¿°ãããŠããŸãã 誰ãããã§ã«ãã®APIã®ã©ãããŒãæžããŠããŸãã ãããïŒ ããã§ã¯ãPowerShellã§æ¬¡ã®ã³ãã³ããå ¥åããŠäœ¿çšã§ããŸãã
gem install facebooker
gem install facebookerã³ãã³ããå ¥åããããšã®æå³ã«ã€ããŠã ç§ã ãã§ãç±å¿ãªããªãŒããŒã«é¢ããŠã¯ãåžžã«stè¿·ã«è³ããŸããã gemså®è¡å¯èœãã¡ã€ã«ãæ¢ãå¿ èŠããã£ãããã§ãã å¿ èŠãªã®ã¯ãã©ã«ããŒCïŒ\ Ruby \ binã«ãããŸã
ããã«ãã®Gemsãææ°ããŒãžã§ã³ã«æŽæ°ããããšããå§ãããŸããå°æ¥çã«ã¯éåžžã«åœ¹ç«ã€ããã§ãã
PS CïŒ\ Ruby \ bin> gem update --system
ããå°ãçšèªãè¿œå ããã°ãããã°ã©ãã³ã°ãéå§ã§ããŸãã
Ruby on Railsã¯ãRubyããã°ã©ãã³ã°èšèªã§æžããããœãããŠã§ã¢ãã¬ãŒã ã¯ãŒã¯ã§ãã Ruby on Railsã¯ãWebã¢ããªã±ãŒã·ã§ã³çšã®ã¢ãŒããã¯ãã£ã¢ãã«Model-View-ControllerãæäŸããWebãµãŒããŒããã³ããŒã¿ããŒã¹ãµãŒããŒãšçµ±åããŸãã
ã³ã³ãããŒã©ãŒã§ã®ãªã¯ãšã¹ãåŠçãšããŒã¿åºåãããŒã¿ããŒã¹ã§ã®ãã¡ã€ã³ãªãã¬ã¯ã·ã§ã³ã«ãããåçãªAJAXã€ã³ã¿ãŒãã§ã€ã¹ã®éçºã«åçš®ã®ç°å¢ãæäŸããŸãã
Ruby on Railsã¯ãªãŒãã³ãœãŒã¹ãœãããŠã§ã¢ã§ãããMITã©ã€ã»ã³ã¹ã®äžã§é åžãããŠããŸãã
ãããŠãããã«ç§ãã¡ã®ããŒããŒãããŸãïŒ å®éãRuby on RailsãRubyãšã©ã®ããã«ç°ãªããããŸã ç解ããŠããªãå Žåã¯ã次ã®æ¹çšåŒãææ¡ããŠãã ããã
dotNET => 'ASP.NET Framework'
Ruby => 'Ruby on Rails'
ãã£ãšç解ã§ãããšæããŸãã ãããŠãç§ãã¡ã«ã¯èšèªãããããã®èšèªã§äœæ¥ããŠWEBã¢ããªã±ãŒã·ã§ã³ãäœæã§ãããã¬ãŒã ã¯ãŒã¯ããããŸãã ããå°ããããªãã¯å§ããããšãã§ããŸãã
ãã¬ãŒã ã¯ãŒã¯ãã€ã³ã¹ããŒã«ããŠæ§æããåŸã¯ããµãŒããŒãèµ·åããåäœã確èªããã ãã§ãã ããã§ãã·ã¹ãã ã«ApacheãsqlLiteãŸãã¯MySQLãã€ã³ã¹ããŒã«ããæ¹æ³ã«ã€ããŠè©±ãå§ããããšãã§ããŸã...ããããããã¯é·ãããŠéå±ã§ãã ç掻ã楜ã«ãã2ã€ã®ãªãã·ã§ã³ããããŸãïŒ
1ïŒ Instant Railsã¯ãApacheãSequelãRuby with Railsãå«ããéçšçšã«ãã§ã«æ§æãããŠãããµãŒããŒã§ãã ã¢ãŒã«ã€ãããã£ã¹ã¯ã«å±éããããããã¡ã€ã«ãéå§ããæ°åèªããApacheãšããªãã®å¿ãæããã¹ãŠãèšå®ããŸãã ãã©ã¹ã¯ããã®ãã¹ãŠã®å¹žçŠã®ã€ã³ã¹ããŒã«ãéåžžã«ç°¡åã§ããããšã§ãã DenWERã§ããããã®åã³ãšæ¯èŒããŠãã²ã©ãæ··ä¹±ããŠããããã§ãã ãã®ãªãã·ã§ã³ã¯ãNotepad ++ãæé©ãªéçºç°å¢ãšèããéçºè ã«ãšã£ãŠçæ³çã§ããããšã«æ³šæããŠãã ããã
2ïŒ Aptana-ããã¯ãVisual StudioãŸãã¯Sharp Developãªãã§ã¯çããããªã人ã«å¿ èŠã§ãã ããã¯ãã§ã«æ¬æ Œçãªã¹ã¿ãžãªã§ãããRoRã§ã®æžã蟌ã¿ãå¯èœã«ããããã°ã©ããŒã®ç掻ãå€§å¹ ã«ç°¡çŽ åããŸãã
èŠåïŒã¹ã¿ãžãªã¯ããã£ã¬ã¯ããªåã«ãã·ã¢èªã®æåãå«ãŸããŠããªããã©ã«ããŒã«é 眮ããå¿ èŠããããŸãã ãã¬ãŒã ã¯ãŒã¯ã®äžéšã§ã¯ããã·ã¢èªã®æå³ãç解ããŠããŸããã ã§ããã ããã£ã¹ã¯ã®è¿ãã«çœ®ãããšããå§ãããŸãã
ããªãã以åã«ããããã£ãããšããªããã°ãã¹ã¿ãžãªèªäœãRubyã眮ãããšãææ¡ããŸãã ãŸããAptanaã¯ãjavascriptããããã°ããããã«Firefox 1.5以éãå¿ èŠã§ããããšã«æ°ä»ãã§ãããã
ãã¹ãŠãããªãã®éžæã§ãã 圌女ã人çã楜ã«ããŠãããã®ã§ãç§ã¯ã¢ãã¿ããšåããŸãã äžèšã®ããã«ãéå§ããåã«ãGemsãæŽæ°ããå¿ èŠãããããšãããã«èšããŸãã
Windows 7ã®å¹žããªææè ã®ããã«-Aptanaã¯ç®¡çè æš©éã®äžã§ã®ã¿å®å®ããŠåäœããŸãã ããããå§ãããŸãã
ãŸãããã¹ãŠãäŒããããŠããããã§ããããžã§ã¯ããéå§ã§ããŸãã
![](https://habrastorage.org/getpro/habr/post_images/c69/bee/273/c69bee2732ecc62cee423ca89fe9bff4.png)
Aptanã§ã¯ãããã¯ãã¹ãŠRails ExplorerãŠã£ã³ããŠã§ããŠã¹ãå³ã¯ãªãã¯ããããšã§å®è¡ãããŸãã ç¹°ãè¿ããŸããããããžã§ã¯ãå šäœã¯ããã£ã¹ã¯ã®ã«ãŒãã«ã§ããã ãè¿ãããã·ã¢æåã®ãªããã©ã«ããŒã«é 眮ããã®ãæé©ã§ãã
ããªããçç·Žããããã°ã©ããŒãªããã¬ãŒã«ãããã£ãŠãããŠã¹ã®å³ãã¿ã³ã§ã¯ãªãã³ã³ãœãŒã«ãä»ããŠèªåèªèº«ã«çœ®ãããšãã§ããŸãã
PS CïŒ\ Ruby \ bin> rails testblog
å®éãæ¬è³ªçã«ã¯ãããŒã ã¯ãŸã£ããåãã§ãã ã©ã¡ãããäœæãããµã€ãã®ãã¬ãŒã ã¯ãŒã¯ãäœæããŸãã éãã¯ãAptanaã¯ãã®ããžãã¹çšã®ãµãŒããŒãèµ·åããããšã§ãã ã¡ãªã¿ã«ã圌女ããããè¡ããªãå Žåã¯ã[ãŠã£ã³ããŠ]> [ãã¥ãŒã衚瀺]> [ãµãŒããŒ]ãã¯ãªãã¯ããŠä¿®æ£ã§ããŸãã
ããŠãä»httpïŒ// localhostïŒ3000 /絶察ã«äžå¿ èŠãªããŒãžããããŸãããããã¯ãã¹ãŠãããŸãæ©èœããŠãããšåãã§èšã£ãŠããŸãã å®éããã®ããŒãžã«ã¯ãæåã®ããŒã¿ããŒã¹ãæ£ããäœæããŠã¢ã¯ã»ã¹ããæ¹æ³ã«é¢ãããã¥ãŒããªã¢ã«ããããŸãã ç¶ããŠã¿ãŸããããæ··ä¹±ããªãããã«ããŒã¿ãè¿œå ããŸãã
ãããã£ãŠãããã§æ°ãããããžã§ã¯ããäœæããŠããŸãã
![](https://habrastorage.org/getpro/habr/post_images/782/c5e/47b/782c5e47ba82f0479120f033e2d848ee.png)
ãããŠããããäœæããŸããïŒ
![](https://habrastorage.org/getpro/habr/post_images/05e/70f/97d/05e70f97d1adfb3bdc94d9ccde3ddedf.png)
ããã€ãã®äºå®ã«æ³šç®ãããã ãã§ãã 第äžã«ã.NETã§ããæžãããApacheãèŠãããšããªãå Žåã¯ããµã€ãã®ã«ãŒãããããªãã¯ãã©ã«ããŒã§ããããšãç¥ã£ãŠãã ããã éã§ããŒã¯ãããŠããŸãã Railsã¯ããã®ãã©ã«ããŒã«ããŸããŸãªãšã©ãŒããŒãžã¹ã¿ããã€ã³ããã¯ã¹ããŒãžãªã©ãgeneãã¿ãªãæäŸããŸããã ãŸããããã¯éåžžã«äŸ¿å©ã§ãã
ã¡ããã©å°æ¥ã®äžä»£ã®ããã«ãRubyã§ã¯èªåãã¹ãã·ã¹ãã ã«å€ãã®æ³šæãæãããŠããããšã«æ³šæããŠãã ããã ãã¹ããã©ã«ãã¯çŽ«è²ã§ããŒã¯ãããŠããŸãã ã¢ããªã±ãŒã·ã§ã³ã®ãã¹ããæ¬åœã«éèŠã§ããããšãç¥ã£ãŠããã ãã§ãRubyã䜿çšãããšãã®ã«ãŒãã³ãèªååã§ããããšãå¿ããªãã§ãã ããã
Railã®äž»ãªåã³ã¯èµ€ã§ããŒã¯ãããŠããŸãã ããã¯ãã³ã³ãããŒã©ãŒãã¢ãã«ããã¥ãŒã®3ã€ã®æãéèŠãªãã©ã«ããŒãå«ãArrãã©ã«ããŒã§ãã
å³å¯ã«èšãã°ãMVCã¯ãã¹ãŠã®Railã®æ¬è³ªã§ãã çµå±ã®ãšãããã¢ããªã±ãŒã·ã§ã³ã¯ãããã®äžã«æ§ç¯ãããŸãã ãã®ã¢ããªã±ãŒã·ã§ã³ã®å°ããªéšåãæ§ç¯ããŸãããã
ãã®ãããªã¿ããèŠã€ãããªãå Žåã¯ã[ãŠã£ã³ããŠ]> [ãã¥ãŒã衚瀺]> [ãžã§ãã¬ãŒã¿ãŒ]ãã¯ãªãã¯ããŸã
![](https://habrastorage.org/getpro/habr/post_images/9f2/7c1/3f8/9f27c13f825fa5c1c3845d6a11d4547f.png)
ããŒãžhttpïŒ// localhostïŒ3000 /ã®äŸã«åŸã£ãŠãscaffoldã¬ã·ããçæããŸãtitleïŒstring authorïŒstring descriptionïŒtext
ããã ããã§ç§ã«ã¯ãæå³ã倱ããå§ããŠããããã§ãã è¶³å Žãšã¯äœã§ããïŒ ããã§ã¯ãããã ãã§ç解ããå¿ èŠããããŸãïŒ ç§ã®æèŠã§ã¯ãè¶³å Žã¯Railsã®æ倧ã®å©ç¹ã®1ã€ã§ãã ç§ã®äººçã§ã¯ãããŒã¿ã«ã¢ã¯ã»ã¹ããå€ãã®æ段ãèŠãŠããŸããã ããŒã¿ã管çã§ãã2ã€ã®èªäœãã¬ãŒã ã¯ãŒã¯ãäœæããŸããã ASP.NET Entity Frameworkã䜿çšããŸãããã... Scaffoldã¯ãã®ã·ã³ãã«ããšãã¯ãŒã«æéãåããŸããã é çªã«è¡ããŸãããã
è¶³å Ž -è¶³å Ž; ãã§ããã³ã°ãããã¯; çµéŠå°; åŠå
è¶³å Žã«è¡ã/ããŠã³ããã-ãããã¯ã®äžã«é ã眮ããŸãã çµéŠå°ã§äººçãçµãããã
è¶³å Žã«æã£ãŠãã-çµéŠå°ã«æã£ãŠãã
è¶³å Žã«éã-æ»åå€æ±º
ãããŠãããã«ã¯åè«ããªãããã§ã¯ãããŸããã éçºè ãäœãèããŠãããã¯ããããŸãããããã®èšèã®ç¿»èš³ã¯å¿é ããŠããŸãã
è¶³å Ž -森ã®ãããã€ã³
家ã¯å±æ ¹è£éšå±ã«è¶³å ŽãããŠããŸããã -森ã¯å®¶ã®å±æ ¹è£éšå±ã«äžŠãã§ããã
2ïŒãµããŒãããµããŒããè² è·ïŒè² æ ïŒ
3ïŒïŒè£œåïŒãé«ãã¹ããŒãžã«é 眮ïŒä¹Ÿç¥ãåç©ã«å¯Ÿããä¿è·ïŒ
ããã¯è¯ãã§ãã è¶³å Žã¯è² è·ãéã¶ãã®ã§ãã ãã®å Žåãè¶³å Žã¯ããŒã¿ããŒã¹ãžã®ã¢ã¯ã»ã¹æ©èœãæ³å®ããããã°ã©ããŒã®
ã©ã®ãããªããŒã ã§åŸç¹ããŸãããïŒ
ãšãã»ã³ã¹ïŒ ã¬ã·ã
ãã£ãŒã«ãïŒã¿ã€ã
ã¿ã€ãã«ïŒæåå
èè ïŒæåå
説æïŒããã¹ã
ãããŠãããŒã¿ã¢ã¯ã»ã¹ã¬ã€ã€ãŒã«æ°ãããšã³ãã£ãã£ãäœæããŸããã
移è¡ãã©ã«ããŒã¯dbãã©ã«ããŒå ã«äœæãããŸããããã®ãã©ã«ããŒã«ã¯ããšã³ãã£ãã£ãæçµçãªããŒã¿ããŒã¹ã«ç§»è¡ã§ããã¹ã¯ãªããã衚瀺ãããŠããŸããã
ã¯ã©ã¹CreateRecipes <ActiveRecord ::ç§»è¡ def self.up create_tableïŒã¬ã·ãdo | t | t.stringïŒã¿ã€ãã« t.stringïŒèè t.textïŒèª¬æ t.timestamps çµãã çµãã def self.down drop_tableïŒã¬ã·ã çµãã çµãã
ãã®ã¯ã©ã¹ã¯ãã¬ãŒã ã¯ãŒã¯ã«ãã£ãŠèªåçã«äœæããã2ã€ã®ã¡ãœããããããŸãã äžäžã ãããã®ã¡ãœããã¯ãããŒã¹ã«ããŒã«ããã¯ããããŒã¹ããããŒã«ããã¯ããããã«äœ¿çšãããŸãã ã€ãŸããscaffoldãæ°åå€æŽãããšãUpã¡ãœãããé çªã«åŒã³åºã移è¡ã¹ã¯ãªããã®ããã€ãã®ããŒãžã§ã³ãäœæãããŸãã ããã«ãããããŒã¿ããŒã¹ã管çããéåžžã¯ãµãŒããŒè£œåã«ããŒã«ãªãŒããŒã§ããŸãã
ããã«ãããã¯SQLã§ã¯ãªãããšã«æ³šæããŠãã ããã ããã¯ãçŸæç¹ã§ã¯å®å šã«DBã«äŸåããªãããšãæå³ããŸãã
config / database.yamlãéãããã®å 容ã確èªããŠãã ããã
ïŒSQLiteããŒãžã§ã³3.x ïŒgem install sqlite3-rubyïŒOS X Leopardã§ã¯äžèŠïŒ éçºïŒ ã¢ããã¿ãŒïŒsqlite3 ããŒã¿ããŒã¹ïŒdb / development.sqlite3 ããŒã«ïŒ5 ã¿ã€ã ã¢ãŠãïŒ5000 ïŒèŠåïŒããã¹ãããšããŠå®çŸ©ãããããŒã¿ããŒã¹ã¯æ¶å»ããã ïŒãrakeããå®è¡ãããšãéçºããŒã¿ããŒã¹ããåçæãããŸãã ïŒãã®dbãéçºãŸãã¯æ¬çªãšåãã«èšå®ããªãã§ãã ããã ãã¹ãïŒ ã¢ããã¿ãŒïŒsqlite3 ããŒã¿ããŒã¹ïŒdb / test.sqlite3 ããŒã«ïŒ5 ã¿ã€ã ã¢ãŠãïŒ5000 çç£ïŒ ã¢ããã¿ãŒïŒsqlite3 ããŒã¿ããŒã¹ïŒdb / production.sqlite3 ããŒã«ïŒ5 ã¿ã€ã ã¢ãŠãïŒ5000
æ¬åœã«ããïŒ ç°ãªããµãŒããŒã§ç°ãªãã¿ã€ãã®ããŒã¿ããŒã¹ãå®è¡ããããšãã§ããŸãã
ããã£ã ãšã³ãã£ãã£ããããããŒã¿ããŒã¹ã®èª¬æã¯ãããŸããããããŸã§ã®ãšããããã®ãšã³ãã£ãã£ã®ããŒã¿ããŒã¹æ§é ã¯ãããŸããã ãããã£ãŠããããžã§ã¯ããå³ã¯ãªãã¯ããRake> db> migrateãéžæããŸã
ããå°ãçè«ã ã¬ãŒããšã¯äœã§ããïŒ
Rakeã¯ãããã°ã©ã ã³ãŒãã®ã¢ã»ã³ããªãèªååããããã®ããŒã«ã§ãã SConsãMakeãããã³Apache Antã«äŒŒãŠããŸãããããã€ãã®éãããããŸãã ãã®ããŒã«ã¯ãRubyããã°ã©ãã³ã°èšèªãªã©ã§èšè¿°ãããŠããŸãã RakefilesïŒmakeãŠãŒãã£ãªãã£ã®Makefilesé¡äŒŒç©ïŒã¯Rubyæ§æã䜿çšããŸãã Rakeã®èè ã¯Jim Weirichã§ãã
Rakeã¯ãå¿åã®Rubyé¢æ°ã®ãããã¯ã䜿çšããŠãRubyæ§æã䜿çšããŠããŸããŸãªã¿ã¹ã¯ãå®çŸ©ããŸãã ãã¡ã€ã«æäœã¿ã¹ã¯çšã®é¢æ°ããã³ã³ãã€ã«æžã¿ãã¡ã€ã«ãåé€ããããã®ã©ã€ãã©ãªïŒãã¯ãªãŒã³ã¢ãããã¿ã¹ã¯ïŒãªã©ãåºæ¬çãªã¿ã¹ã¯ã®ã©ã€ãã©ãªããããŸãã Makeãšåæ§ã«ãRakeã¯ãã³ãã¬ãŒãã«åºã¥ããŠã¿ã¹ã¯ãåæããããšãã§ããŸãïŒããšãã°ãã¿ã¹ã¯ãèªåçã«ã¢ã»ã³ãã«ããŠããã¡ã€ã«åãã³ãã¬ãŒãã«åºã¥ããŠãã¡ã€ã«ãã³ã³ãã€ã«ããŸãïŒã
ãããŠãç§ãã¡ããã£ãããš-ç空äžã®çäœãšã³ãã£ãã£ãããŒã¿ããŒã¹ã«rakeã§ç§»è¡ããŸããã 圌ã¯ãšãŠããã人ã§ãã ãã®ãšã³ãã£ãã£ãžã®ã¢ã¯ã»ã¹ã³ãŒããèšè¿°ããã ãã§ã人çã楜ããããšãã§ããŸãã
ããããããã«Railsã®äž»ãªåè«ããããŸãã è¶³å Žã¯éŠ¬é¹¿ã§ã¯ãããŸããã ãããŠããšã³ãã£ãã£ã¢ã¯ã»ã¹ã³ãŒããæäŸããã ãã§ãªããæ¢ã«ãã®ããã®MVCãäœæããŸããã localhost ïŒ3001 / recipesã«å®å šã«ç§»åããããã«ãããã®ã確èªã§ããŸãã ãŸããããŒã¿ããŒã¹ãžã®æšæºçãªã¢ã¯ã»ã¹ã¿ã€ãããããããåºæ¬çãªå€æŽãå ããŠããŒã¿ããŒã¹ãæäœã§ããŸãã ãããããšéã¹ãŸãã
ã©ãããã®ïŒ ã³ãŒãã¯ã©ãã«ãããã©ã®ããã«æ©èœããŸããïŒ ãã¹ãŠãæŽã£ãŠããŸãïŒ
Appãã©ã«ããŒã«ç§»åããŠããããžã§ã¯ãã®ã¢ãã«ãã³ã³ãããŒã©ãŒããã¥ãŒã«ãããã®ã確èªããŸãã ãšã³ãã£ãã£ãæäœããããã«å¿ èŠãªãã®ã¯ãã¹ãŠæã£ãŠããŸãã Railsã§ã¯ãå€æ°ãšãã¡ã€ã«ã®ååã«å€ããçµã³ã€ããŠããããšã«æ³šæããŠãã ããã ãããã£ãŠãrecipes_controller.rbã調ã¹ããšãå ã ãã¥ãŒã«é¢é£ä»ããããŠããªãå€ãã®åçŽãªã³ãŒããèŠã€ãããŸãããã³ã¡ã³ãã¯ãã¬ãŒã ã¯ãŒã¯ãã¢ã¯ã»ã¹ãããã¡ã€ã«ã瀺ããŠããŸãã
ããã§ã¯ãéã³å¿ã®ãããã³ã®ãã¹ãŠã®ã³ãŒããããã°ã©ããŒã«æž¡ãããããŠãªããããŸãããã
æŠèª¬ãããã¹ãŠã®ããŒã¿ã®åŸãèšäºã®åé ã§äŸãšããŠæãããããªãã¡ã€ã«ã確èªã§ããŸãã ãã£ãšç解ãããããªããŸãã
ãããªãç 究ã®ããã«ãç§ã¯ãå§ãããŸãïŒ
ããŒã¯ã¬ãŒã§ã®çŽ æŽããã6æéã®è¬çŸ©ã ïŒããŒã1ïŒ
Rubyã«é¢ãã200以äžã®ã¹ã¯ãªãŒã³ãã£ã¹ãã®ã³ã¬ã¯ã·ã§ã³ïŒ http : //railscasts.com/
äžèšã§èª¬æããå 容ãããæ·±ãç解ããããã«ããã®èšäºããå§ãããŸãguides.rails.info
åŒçšããŠããããŠã£ãããã£ã¢ã«æè¬ããŸãã
ãæž èŽããããšãããããŸããã ãã®èšäºãããããRoRãå³ããæ©äŒã«ãªãããšãé¡ã£ãŠããŸãã
ãã®èšäºã¯ãç¹ã«Habråãã§ãHabrå°çšã§ãã