1. Rubyãšã¯ïŒ: ããã°ã©ãã³ã°èšèªRubyã®çŽ¹ä»
ãã®ç« ã§ã¯ãæ©èœè±å¯ã§ãŠãŒã¶ãŒãã¬ã³ããªãŒãªããã°ã©ãã³ã°èšèªã§ããRubyã«ã€ããŠèª¬æããŸããéçºè ããåå¿è ãŸã§ãã°ããŒãã«ã«åºã䜿ãããŠããRubyã«ã¯é©ãã»ã©å€åœ©ãªç¹åŸŽãšå©ç¹ããããŸãã
Rubyã®èµ·æºãç¹åŸŽãå®çšäŸããããŠåžå ŽäŸ¡å€ã«ã€ããŠå ·äœçã«èª¬æããããªããRubyéçºã®äžçã«é£ã³èŸŒãæºåãæŽããŸãã
1.1 Rubyèšèªã®èµ·æºãšéçºè
Rubyã¯ããŸã€ããšããã²ãæ°ã1995幎ã«éçºããããã°ã©ãã³ã°èšèªã§ãã圌ã®ç®çã¯ã簡䟿æ§ãšçç£æ§ãæ倧åãããšãšãã«ãéçºè ã楜ãã¿ãªããã³ãŒããæžãããšãã§ããèšèªãäœãããšã§ããã
ãã®é©æ°çãªèšèªã¯ããªããžã§ã¯ãæåãã©ãã€ã ãå šé¢ã«æŒãåºãããã®ã·ã³ãã«ãã€çŽæçãªææ³ã§åºãç¥ãããŠãããåå¿è ããäžçŽè ãŸã§å¹ åºãå±€ã«æãããŠããŸãã
1.2 Rubyã®ç¹åŸŽãšå©ç¹
Rubyã®æ倧ã®ç¹åŸŽã¯ããã®ã³ãŒããéåžžã«ã·ã³ãã«ã§åãããããããšã§ããRubyã¯ããœãããŠã§ã¢éçºãããçŽèŠ³çã§ç°¡åã«ããããã«çãŸãããªããžã§ã¯ãæåã®ç¹åŸŽã掻ãããŠã³ãŒããçãæžãããšãå¯èœã§ãã
ããã«ãRubyã¯éåžžã«åŒ·åãªãã¬ãŒã ã¯ãŒã¯ãç¹ã«Ruby on Railsãšãããã¬ãŒã ã¯ãŒã¯ãšãšãã«äœ¿çšãããããšãå€ããéçºäœéšãäžå±€è±ããªãã®ã«ããŸãã
1.3 Rubyã®å®çšäŸãšçšé
Rubyã¯ãå€å²ã«ãããçšéã«å¯Ÿå¿ããé©æ°çãªããã°ã©ãã³ã°èšèªã§ããWebã¢ããªã±ãŒã·ã§ã³éçºãã·ã¹ãã 管çã¿ã¹ã¯ãããŒã¿åæãAIéçºãšãã£ãå 端é åã«ãŸã§ãã®æŽ»çšãåºãã£ãŠããŸãã
ç¹ã«Webã¢ããªã±ãŒã·ã§ã³éçºã§ã¯ãRuby on Railsãã¬ãŒã ã¯ãŒã¯ãå€ãã®éçºè ããæ¯æãããŠãããAirbnbãCookpadãªã©ã®æåãããµãŒãã¹ãäœãåºããŸããã
1.4 Rubyã®äººæ°ãšåžå ŽäŸ¡å€
ããŸããŸãªéçºãããžã§ã¯ãã§å¥œè©ãåããè±å¯ãªã©ã€ãã©ãªãšãã¬ãŒã ã¯ãŒã¯ãçšæãããŠããRubyã¯ãäžçäžã§äººæ°ã®ããèšèªã®äžã€ã§ãããæ±äººåžå Žã§ãé«ãéèŠããããŸãã
TIOBEã®ããŒã¿ã«ãããšãRubyã¯äžçã§11äœã®äººæ°ãèªã£ãŠããã ãã§ãªããå¹³åçãªæé¡å䟡ã79äžåãšãªã£ãŠãããRubyéçºè ãšããŠã®ãã£ãªã¢ã¯ç¢ºããªäŸ¡å€ããããŸãã
ãã¬ã³ããå åãããæç¶çã«æè¡ã¹ãã«ãåäžãããããšãç®æãéçºè ã«ãšã£ãŠãRubyã¯ãã®éã®çæ³çãªéžæè¢ãšèšããŸãã
2. Ruby on Railsãšã¯ïŒ: ãã¬ãŒã ã¯ãŒã¯Ruby on Railsã®è§£èª¬
Ruby on Railsãç¥ããŠRailsã¯ãRubyã®ããã°ã©ãã³ã°èšèªã䜿ã£ãŠäœãããWebãã¬ãŒã ã¯ãŒã¯ã§ããRubyã®è±ããªè¡šçŸåãšæè»æ§ãšãRailsã®å åºãªæ§é ãšç§©åºãèåãããŠããŸããããããé«éãªéçºãå¯èœã«ããŠããŸãã
ãã¬ãŒã ã¯ãŒã¯ãšã¯ãããã°ã©ã ã®åºæ¬çãªæ§é ãæ çµã¿ãæäŸãããœãããŠã§ã¢ã®ããšãæããŸããRailsã¯ãã®äžã§ãç¹ã«ããèŠçŽã«ããèšå®ã®åæžïŒConvention over ConfigurationïŒãããDRYïŒDon’t Repeat YourselfïŒããšãã£ãåªããèšèšææ³ãæ¡çšããŠãããããå¹çã®è¯ãã³ãŒãã£ã³ã°ãå¯èœã«ããŠããŸãã
Railsã¯Webã¢ããªã±ãŒã·ã§ã³ã®éçºãç°¡åã«ããWebéçºè ã«ãšã£ãŠå€§å€æçšã§ãããã®ãããå€ãã®æåãªãµãŒãã¹ãäŸãã°AirbnbãCookpadãªã©ãRuby on Railsã䜿çšããéçºãè¡ã£ãŠããŸãã
2.1 Ruby on Railsã®æŠå¿µãšå®çŸ©
Ruby on Railsã¯ããMVCïŒModel-View-ControllerïŒããšãã£ãèšèšãã¿ãŒã³ãæ¡çšããŠããŸããããã¯ãããã°ã©ã ã®åœ¹å²ããã¢ãã«ãããã¥ãŒããã³ã³ãããŒã©ãŒãã®3ã€ã«åãããããããå調ããŠåäœãããšããèãæ¹ã§ãã
Railsã®ç¹åŸŽãã®1ïŒèŠçŽã«ããèšå®ã®åæžïŒCoCïŒãããã«ãããç¬ç¹ã®ã«ãŒã«ãæ £äŸãèŠããã ãã§ãéçºè ã¯è¿ éã«ã¢ããªã±ãŒã·ã§ã³ã®éªšçµã¿ãäœæã§ããŸãã
Railsã®ç¹åŸŽãã®2ïŒDRYïŒDon’t Repeat YourselfïŒãããã¯ãåãã³ãŒããäœåºŠãæžããªããšããååã§ãã¡ã³ããã³ã¹æ§ãšåå©çšæ§ãé«ããŸãã
2.2 Railsãæ¡çšããMVCãã¿ãŒã³ãšã¯
ãMVCïŒModel-View-ControllerïŒããšã¯ãããã°ã©ãã³ã°ã«ãããèšèšãã¿ãŒã³ã®äžã€ã§ãã¢ããªã±ãŒã·ã§ã³ã®åæ©èœããã¢ãã«ãããã¥ãŒããã³ã³ãããŒã©ãŒãã®3ã€ã«åããããšã§ãéçºãæŽæ°ããã¹ãçãããããããã«èšèšãããŠããŸãã
ã¢ãã«ã¯ããŒã¿ã®åãæ±ããããã¥ãŒã¯ãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ãŒã¹ããã³ã³ãããŒã©ãŒã¯ã¢ããªã±ãŒã·ã§ã³ã®å¶åŸ¡ã»èª¿æŽãããããæ åœããŠããŸãã
ãã®MVCãã¿ãŒã³ã®æ¡çšã«ãããRailsã§ã¯åæ©èœã®åœ¹å²ãæ確åãããä¿å®æ§ãæ¡åŒµæ§ãè¿œæ±ããéçºãå¯èœãšãªã£ãŠããŸãã
2.3 Railsã®ãã«ã¹ã¿ãã¯ã®ç¹åŸŽ
Railsã¯ãã«ã¹ã¿ãã¯ã®ãã¬ãŒã ã¯ãŒã¯ãšãªã£ãŠããŠãããŒã¿ããŒã¹ã®äœæãããã¥ãŒã®ã¬ã³ããªã³ã°ãŸã§ãäžé£ã®éçºäœæ¥ãäžè²«ããŠè¡ãããšãã§ããŸãã
ãŸããRailsã«ã¯äŸ¿å©ãªãžã§ãã¬ãŒã¿æ©èœãæèŒãããŠãããã³ãã³ãäžã€ã§éªšçµã¿ãèªåçæããå§ãã®äžæ©ãèžã¿åºããããããŠããŸãã
ããã«ãããRailsã§ã¯Webã¢ããªã±ãŒã·ã§ã³ã®éçºãå¹ççã«é²ããããå§ããŠéããªãåå¿è ã§ãæ¯èŒç容æã«å®çšçãªã·ã¹ãã ãäœãäžããããšãŸã§å¯èœã«ãªã£ãŠããŸãã
2.4 Railsãçšããã¡ãªãã
Railsãçšããæ倧ã®ã¡ãªããã¯ããã®éçºå¹çã®é«ãã§ããCoCãDRYãšãã£ãèšèšææ³ã®æ¡çšãMVCãã¿ãŒã³ã«ããèšèšããã«ã¹ã¿ãã¯ã®ä»çµã¿ãªã©ãéçºè ãè¿ éã«Webã¢ããªã±ãŒã·ã§ã³ãéçºã§ããç°å¢ãæŽã£ãŠããŸãã
ãŸããRailsã¯å€§èŠæš¡ãªéçºã«ã察å¿å¯èœã§ãå€ãã®éçºè ãåå ãããããžã§ã¯ãã§ãå¹ççã«é²ããããŸãããã®ãããã¹ã¿ãŒãã¢ããäŒæ¥ã倧æäŒæ¥ã§ã䜿ãããããšãå€ããæ±äººåžå Žã§ãé«ãéèŠããããŸãã
ããã«ãRailsã¯é«åºŠãªã»ãã¥ãªãã£æ©èœãæã€ãããå®å šãªWebã¢ããªã±ãŒã·ã§ã³éçºãå¯èœã§ãããããã®ç¹æ§ãããåå¿è ããããã®éçºè ãŸã§ãå¹ åºãå©çšãããŠãããã¬ãŒã ã¯ãŒã¯ã§ãããšèšããŸãã
3. RubyãšRuby on Railsã®éã解説
3.1 ããã°ã©ãã³ã°èšèªãšãã¬ãŒã ã¯ãŒã¯ã®åºæ¬çãªéã
Rubyã¯ããã°ã©ãã³ã°èšèªãšããŠåºãèªç¥ãããŠããŸãããªããžã§ã¯ãæåã®ç¹æ§ã掻ããã€ã€ãã·ã³ãã«ãã€çãã³ãŒãã§ããžãã¹ããžãã¯ãè¡šçŸããåªããèšèªã§ããäžæ¹ãRuby on RailsïŒä»¥äžRailsïŒã¯ãRubyã®ãã¬ãŒã ã¯ãŒã¯ã§ãWebã¢ããªã±ãŒã·ã§ã³ã®éçºãããè¿ éãã€å¹ççã«è¡ããããèšèšãããŠããŸãã
ããã°ã©ãã³ã°èšèªãšãã¬ãŒã ã¯ãŒã¯ã®å€§ããªéãã¯ããèšèªã¯åé¡ã解決ããããã®ããŒã«ãã§ãããããã¬ãŒã ã¯ãŒã¯ã¯ãã®ããŒã«ã䜿ã£ãŠç¹å®ã®åé¡ããã£ãšç°¡åã«è§£æ±ºããããã®æ çµã¿ãã§ãããšããç¹ã§ãã
èšãæããã°ãRubyãããªãã®åµé åãšããžãã¯ãã³ãŒãã«å€æããèšèªãªããRailsã¯ãã®ã³ãŒããå ·äœçãªãããã¯ãã«ããæé©ãªæ¹æ³ãææ¡ãããã¬ãŒã ã¯ãŒã¯ã ãšèšããŸãã
3.2 RubyãšRailsã§ããããäœãã§ããã®ã
Rubyã®åŒ·åãªãªããžã§ã¯ãæåæ§èœã掻çšããããšã§ãããŒã¿è§£æãã·ã§ã«ã¹ã¯ãªãã代æ¿ããŠã§ãã¢ããªã±ãŒã·ã§ã³ãªã©ãå¹ åºãåéã§æŽ»çšãå¯èœã§ããå ããŠãã·ã³ãã«ãªææ³ãšé«ãå¯èªæ§ããåå¿è ã§ãåãçµã¿ããããããåŠç¿ã®ç¬¬äžæ®µéãšããŠéžã°ããããšãå€ãã§ãã
äžæ¹Railsãçšããã°ãããŒã¿ããŒã¹ãšã®é£æºã容æã§ãããããããŒã¿é§ååã®Webã¢ããªã±ãŒã·ã§ã³äœæããµããŒãããŸãããŸããMVCïŒModel-View-ControllerïŒã®ã¢ãŒããã¯ãã£ãæ¡çšããŠããã倧èŠæš¡ãªãããžã§ã¯ãã§ãç°¡æœã§èŠéãã®è¯ãã³ãŒããå®çŸããããšãã§ããŸãã
ç¹çãã¹ãã¯ãRailsãDRYïŒDon’t Repeat YourselfïŒã®ååãéèŠããŠããç¹ã§ããããã«ãããåãããšãç¹°ãè¿ãããããåçŽåãããéçºããã»ã¹ãå°ããŸãã
3.3 ãªãRailsã¯Rubyã§äœãããŠããã®ã
RubyãæäŸããæè»æ§ãšçŽæçãªã·ã³ã¿ãã¯ã¹ãããŠã§ãã¢ããªã±ãŒã·ã§ã³ã®è€éãªéçºããã»ã¹ãç°¡çŽ åããã®ã«é©ããŠããããã§ããRailsã®éçºè ãRubyãéžãã çç±ã®äžã€ãšããŠãRubyã®èªã¿ããããšç解ãããããæããããŸãã
ãŸããRubyãæã€èªç¶ãªè±èªã®è¡šçŸåãšãªããžã§ã¯ãæåã®ç¹æ§ããRailsã®ãèšå®ããèŠçŽãã®å²åŠãå ·çŸåããäžã§æ¬ ãããªãèŠçŽ ãšãªã£ãŠããŸãã
ã€ãŸããRailsã¯Rubyã®èœåãåŒãç«ãŠã€ã€ããã®ç¹æ§ãæ倧éã«æŽ»çšããŠãçç£æ§ãšå¹çæ§ã®é«ãWebéçºãå®çŸãããã¬ãŒã ã¯ãŒã¯ã§ãããšèšããã§ãããã
3.4 RubyãšRailsã®è€åçãªå©çšäŸ
RubyãšRailsã®çµã¿åããã¯ãæ¢åã®Webã¢ããªã±ãŒã·ã§ã³ã®æ¡åŒµããæ°èŠã¢ããªã±ãŒã·ã§ã³ã®éçºãŸã§ãå€å²ã«ããããŸããäŸãã°ãAirbnbãCookpadã®ãããªãµãŒãã¹ã¯Railsãå©çšããéçºãè¡ãããŠããŸãã
ãŸããRubyãšRailsãçšããéçºã¯ãããŒã ã§ã®ååãå¿ èŠãªå Žåã«ãæå¹ã§ããMVCã¢ãŒããã¯ãã£ã¯ãè€æ°äººã§ã®éçºã®éã«åœ¹å²åæ ãæ確ã«ããå¹ççãªéçºãå¯èœã«ããŸãã
ããããè€åçãªå©çšäŸããããRubyãšRailsã®çµã¿åããããå€åããããžãã¹ç°å¢ã«å¯Ÿå¿ããªãããå質ã®é«ãã¢ããªã±ãŒã·ã§ã³éçºãå®çŸã§ãããšããç¹æ§ãç解ã§ããã§ãããã
4. Ruby on Railsã®ç¹åŸŽãšãã®å©ç¹
ãŸãå§ãã«Ruby on Railsã®ç¹åŸŽãšãã®å©ç¹ã«ã€ããŠè©³ãã解説ããŠãããŸããããRuby on Railsã¯éåžžã«äººæ°ã®é«ãWebãã¬ãŒã ã¯ãŒã¯ã§ããããã®æåã®è£ã«ã¯ããã€ãã®ç¹åŸŽçãªååãšæ¹æ³è«ããããŸãã
Railsã®åªããç¹æ§ã¯ãã®ç¬ç¹ã®å²åŠããçãŸããŠããŸããäŸãã°ãDRYååããconvention over configurationãã®èãæ¹ã§ãããããã®ååãç解ãã掻çšããããšã§Railsã®æ¯ã®é·ã人æ°ãšãã®å¹æãç解ããããšãã§ããŸãã
ããã«ããã¹ãç°å¢ã®æŽåã容æã§ãé«éãªéçºãšå¹çåãå¯èœãªç¹ãRailsã®ç¹åŸŽãšãããŸããããããã®ç¹åŸŽãšãã®å©ç¹ã«ã€ããŠè©³ããèŠãŠãããŸãããã
4.1 Railsã®DRYååãšãã®ã¡ãªãã
DRYååãšã¯”Don’t Repeat Yourself”ã®ç¥ã§ãåãã³ãŒããäœåºŠãæžããªããšããååã®ããšãæããŸãããã®ååã«ãããã³ãŒãã®éè€ãé¿ããããšãã§ããä¿å®æ§ãé«ããããšãå¯èœã§ãã
DRYã®èãæ¹ã¯Railséçºå šäœã«æµžéããŠãããäžåºŠæžããæ©èœãããžãã¯ãåå©çšããããšã容æã§ããããã«ãããåãã³ãŒããäœåºŠãæžãæéãçããŸãã
ãŸããDRYååã«ãããã°ã®çºçãé²ãããšãã§ããå質åäžã«ã€ãªãããŸãããã®ãããã·ã¹ãã ã®ä¿¡é Œæ§ãé«ãŸããé·æçã«èŠãŠãã¡ã³ããã³ã¹ã容æã«ããŸãã
4.2 Railsã®ãconvention over configurationãã®ç念
ãconvention over configurationãã¯ãèšå®ãããèŠçŽãšããæå³ã§ããã€ãŸããéçºè ãåéšåã®ã€ã³ã¿ã©ã¯ã·ã§ã³ã«ã€ããŠèããã®ã§ã¯ãªãããããããã©ã®ããã«ååããããèŠçŽãšããŠå®çŸ©ããããšãåªå ããèãæ¹ã§ãã
ãã®ç念ã®ãããã§ãRailséçºè ã¯ããå ·äœçãªéçºã«éäžããããšãã§ããŸãã现ããªèšå®ãåèªã§è¡ãå¿ èŠããªããå¿ èŠãªéšåã ããå¹ççã«èª¿æŽããããšãå¯èœã§ãã
ãŸããäžè²«ããèŠçŽããããããä»ã®éçºè ãæžããã³ãŒããç解ãããããããŒã ã§ã®éçºãã¹ã ãŒãºã«è¡ããŸãã
4.3 ãã¹ãç°å¢ã®æŽåã容æãªç¹
Ruby on Railsã«ã¯ãåããããã¹ãã«å¯Ÿãã匷ãèãæ¹ãçµã¿èŸŒãŸããŠããŸããã€ãŸãããã¹ãç°å¢ã®æŽåã容æã§ãããšããç¹æ§ããããŸãã
Railsã¯ãã¹ãé§åéçº(TDD)ãæ¯ãèãé§åéçº(BDD)ãæ¯æããããŒã«ãæäŸããŠããŸãããã®çµæãå質ã確ä¿ããªããè¿ éãªéçºãå®çŸããããšãå¯èœã§ãã
ãŸãããã¹ãã³ãŒãã®èšè¿°ãRailsã§ã¯æ¯èŒçç°¡åã«è¡ãããšãã§ããŸããã³ãŒãã®å質ãä¿ã€ãšãã芳ç¹ãããRailsã®ãã¹ãç°å¢ã®å®¹æãã¯å€§ããªå©ç¹ã§ãã
4.4 Railsã«ããé«éãªéçºãšå¹çå
Railsã«ããé«éãªéçºãšå¹çåã¯ãRailsã®äººæ°ãåŸæŒãããéèŠãªç¹åŸŽã§ããRailsã¯æ§ã ãªãžã§ãã¬ãŒã¿ãæäŸããŠãããããã«ããéçºã®ã¹ããŒããäžãããŸãã
ãŸããã³ãã¥ããã£ã掻çºã§è±å¯ãªã©ã€ãã©ãªãå ¬éãããŠãããããæ°ããªæ©èœãäžããéçºãã代ããã«æ¢åã®ã©ã€ãã©ãªãå©çšããããšãå¯èœã§ãã
å ããŠãRailsã¯MVC(Model-View-Controller)ã¢ãŒããã¯ãã£ãæ¡çšããŠãããããžãã¯ãšãã¬ãŒã³ããŒã·ã§ã³ãåããããšãã§ããéçºãå¹ççã«è¡ããŸãã以äžã®ãããªç¹æ§ãRailsã®é«éãªéçºãšå¹çåãå¯èœã«ããŠããŸãã
5. RubyãšRuby on Railsã®åŠç¿æ¹æ³ãšãªãœãŒã¹
RubyãRuby on Railsã®åŠç¿ã¯ãåå¿è ã«ãšã£ãŠãååã«åãçµãããšãã§ããå 容ã§ããæ¬é ã§ã¯ãåŠç¿ã®ããã®ãªãœãŒã¹ãæå¹ãªåŠç¿æŠç¥ãå®è·µçãªãããžã§ã¯ãã«ã€ããŠããããŠæŽ»åçãªã³ãã¥ããã£ãšãã®æŽ»çšæ¹æ³ã«ã€ããŠè§£èª¬ããŸãã
5.1 å ¥éè åãã®RubyãšRailsã®åŠç¿ãªãœãŒã¹
RubyãRailsã«ã€ããŠåŠã³å§ããã«ããããæåã¯ç¡æã®ãªã³ã©ã€ã³ãªãœãŒã¹ããå§ããããšããå§ãããŸãããããã¯èªåã®ããŒã¹ã§åŠã¹ãåºæ¬çãªã³ã³ã»ããã確èªããã®ã«é©ããŠããŸãã
Rubyã®åå¿è ã¯ããŸãå ¬åŒã®ãRuby in Twenty Minutesããè©ŠããŠã¿ãŠãã ããããã®ã¬ã€ããéããŠãããªãã¯Rubyã®åºæ¬çãªæŠå¿µãçæéã§ç解ããããšãã§ããŸãã
Railsã®åå¿è ã¯ãå ¬åŒã®ãRuby on Rails Guidesããéåžžã«åœ¹ç«ã€ã§ãããããããã®ã¬ã€ãã¯ãããã¯å¥ã«é åãããŠãããåå¿è ããäžçŽè ãŸã§å¹ åºãã¬ãã«ã«å¯Ÿå¿ããŠããŸãããŸãããRuby on Rails TutorialïŒMichael HartlèïŒãããåå¿è ã«ãšã£ãŠéåžžã«æçãªãªãœãŒã¹ãšããŠè©äŸ¡ãããŠããŸãã
5.2 RubyãšRailsã®åŠç¿ã«ããããã€ã³ããšæŠç¥
éèŠãªããšã¯ãã³ãŒãã®çè«çãªç解ã ãã§ãªããå®éã«æãåãããŠã³ãŒããæžãããšã§ãããã®ããã«ã¯ãèªãã§ç解ããããšãããã«è©ŠããäœããäœæããŠã¿ãããšãéèŠã§ããRubyãRailsãåŠã³å§ããããããã«ã§ãç°¡åãªããã°ã©ã ãã¢ããªã±ãŒã·ã§ã³ãäœãå§ããŠã¿ãŠãã ããã
次ã«ãå®æçãªåŠç¿ãéèŠã§ããçæéã§ãæ¯æ¥è¡ãããšã§ãç¥èãå®çããã¹ãã«ãçå®ã«åäžããŸããæ¯æ¥å°ããã€é²ããããšã§ãé·æçã«èŠãŠå€§ããªé²æ©ãéããããšãã§ããŸãã
æåŸã«ã仲éãšäžç·ã«åŠç¿ããããšãéåžžã«æçã§ããä»ã®åŠç¿è ãšäžç·ã«åé¡ã解決ããããã³ãŒããã¬ãã¥ãŒããããšã§ãç解ãæ·±ãŸããŸãããŸããã³ãã¥ããã£ã§å©ããæ±ããããç¥èãå ±æãããããããšã¯ãæè¡è ãšããŠå¿ é ã®ã¹ãã«ã§ããããŸãã
5.3 å®è·µçãªãããžã§ã¯ããéããåŠç¿
RubyãRailsãåŠã³å§ããããå®éã«äœããäœãå§ããããšã§ãåŠãã ããšãå®è·µçã«ç解ããããšãã§ããŸããäŸãã°ãèªåã®ããã°ãäœãå§ããŠã¿ãããç°¡åãªToDoãªã¹ããäœæãããªã©ãç°¡åãªãããžã§ã¯ãããå§ããŠã¿ãŠãã ããã
ãŸãããªãŒãã³ãœãŒã¹ãããžã§ã¯ããžã®è²¢ç®ãè¯ãåŠç¿æ¹æ³ã®äžã€ã§ããä»ã®éçºè ãæžããã³ãŒããèªã¿ãããããåŠã³ãèªåã§æ©èœãè¿œå ããã°ãä¿®æ£ããããšã§ãç¥èãæ·±ããçµéšãç©ãããšãã§ããŸãã
ç¬èªã®ãããžã§ã¯ããéå§ããéã«ã¯ããŸãã¯èªåã®è§£æ±ºãããåé¡ãèŠã€ããããã解決ããããã®ã¢ããªã±ãŒã·ã§ã³ãèšèšããŠã¿ãŠãã ãããããã¯ãããªããæ¥ã ã®ç掻ã§çŽé¢ããåé¡ããããªããæ ç±ãæã£ãŠããäœãã解決ããããã®ã¢ããªã±ãŒã·ã§ã³ã§ãã£ãŠãè¯ãã§ãããã
5.4 RubyãšRailsã®ã³ãã¥ããã£ãšãã®æŽ»çšæ³
RubyãšRailsã®ã³ãã¥ããã£ã¯éåžžã«æŽ»çºã§ãæ°ãã«åŠã³å§ãã人ã ã«ãšã£ãŠæçãªãªãœãŒã¹ãšãªã£ãŠããŸããããã€ãã®äž»èŠãªã³ãã¥ããã£ã玹ä»ãããã®æŽ»çšæ¹æ³ã«ã€ããŠã話ãåããŸãã
Rubyã®å ¬åŒã³ãã¥ããã£ïŒRuby ForumãRuby on Rails TalkïŒã§ã¯ã質åãæçš¿ããããä»ã®ã¡ã³ããŒãšè°è«ãããããããšãã§ããŸãããŸããRailsCastsãRuby Roguesã¯åŠã³ãªããæ å ±ãåŸãããšãã§ããããããã£ã¹ãã®äžäŸã§ãã
ãŸããGitHubãBitbucketã®ãããªãªã³ã©ã€ã³ãã©ãããã©ãŒã ã¯ãä»ã®ããã°ã©ããŒãšååãããããªãŒãã³ãœãŒã¹ãããžã§ã¯ãã«ã³ã³ããªãã¥ãŒããããããããã«å¿ èŠãªããŒã«ãæäŸããŠããŸãããããã®ãµã€ãã§ãããžã§ã¯ããã·ã§ã¢ãããã£ãŒãããã¯ãåãåãããšã§ãããªãã®ã³ãŒãã£ã³ã°ã¹ãã«ã®ã¬ãã«ã¢ããã«ã€ãªãããŸãã
6. RubyãšRuby on Railsã®ãããã: æªæ¥ã®å±æ
ãã®ç¯ã§ã¯ãRubyãšRuby on Railsã®ä»åŸã®å±æãæ¢ããŸãããã®äºã€ã®æè¡ãã©ã®ãããªãã¬ã³ããè¿œããå°æ¥çãªéèŠãæ°æ©èœãã©ã®ãããªåœ±é¿ãåãŒãã®ãããããŠããããã®ææŠãšå¯èœæ§ã«ã€ããŠèªããŸãã
人æ°ãšåžå ŽäŸ¡å€ã®é«ãRubyãšRuby on Railsã§ããããã®æç¶æ§ãšé²åæ§ã¯ãã®æè¡ã®é®®ããããä¿ã¡ãŸããRubyãšRailsã®çŸåšã®ãã¬ã³ãããå§ããå ·äœçãªå±æãæ¢ã£ãŠã¿ãŸãããã
6.1 RubyãšRailsã®çŸåšã®ãã¬ã³ã
Rubyã¯ã·ã³ãã«ãªã³ãŒãäœæãšãªããžã§ã¯ãæåã®ç¹åŸŽã掻ãããå€ãã®éçºè ã«æ¯æãããŠããŸãã
Railsã«ãã£ãŠå°å ¥ãããMVCãã¿ãŒã³ãDRYã®ææ³ã¯ãè€æ°äººã§ã®éçºãåé·æ§ã®æé€ãå¯èœã«ããRubyã®å¯èœæ§ãããäžå±€åºããŠããŸãã
倧æäŒæ¥ãæ°èã¹ã¿ãŒãã¢ãããªã©ãå€ãã®çµç¹ããããã®æè¡ãéžæããŠããããã®åŸåã¯ä»åŸãç¶ãããšãæåŸ ãããŸãã
6.2 RubyãšRailsã®å°æ¥çãªéèŠãšå±æ
RubyãšRailsã®èŠæ±ã¯æè¡çãªé©æ°ãšå ±ã«é²åããŸããããã¯Webã¢ããªã±ãŒã·ã§ã³ãECãµã€ãéçºãªã©ãå¹ åºãåéã§å¹ççãã€ã¹ã±ãŒã©ãã«ãªãœãªã¥ãŒã·ã§ã³ãæäŸããèœåã«ãããŸãã
ãŸããæ°ããªãã¬ãŒã ã¯ãŒã¯ãèšèªã®ç»å Žã«ã察æãããã®æçããã³ãã¥ããã£ãšåºç¯ãªã©ã€ãã©ãªã«ãã£ãŠç«¶äºåãä¿ã¡ç¶ããŠããŸãã
ãããã®èŠçŽ ãããRubyãšRailsã®éèŠã¯ä»åŸãé«ãŸãç¶ãããšèããããŸãã
6.3 Ruby3.0ãšRails6.0ã®æ°æ©èœãšãã®åœ±é¿
Ruby3.0ãšRails6.0ã®ãªãªãŒã¹ã¯ããããã®æè¡ã®ããã©ãŒãã³ã¹ãšæè»æ§ãäžå±€åŒ·åããŸããã
ç¹ã«Ruby3.0ã§ã¯ãããã©ãŒãã³ã¹éèŠã®Ruby 3×3èšç»ãéæãããããã«ããRubyã®å®è¡é床ã倧ããåäžããŸããã
Rails6.0ã¯è€æ°ã®ããŒã¿ããŒã¹ã䞊è¡åŠçããã®ä»å€æ°ã®ç¹æ§ãå°å ¥ããéçºè ãããè€éãªåé¡ãããç°¡åã«è§£æ±ºã§ããããã«ãªããŸããã
6.4 RubyãšRailsã®ä»åŸã®ææŠãšå¯èœæ§
ããããå šãŠã®æè¡ãããã§ããããã«ãRubyãšRailsãé²åãšæé·ãç¶ããããã®ææŠããããŸãã
ãããã¯ãã«ãªéçåä»ãã䞊è¡ã»äžŠååŠçã®åŒ·åãããã©ãŒãã³ã¹ã®æŽãªãæ¹åãªã©ãæ±ããããŠããŸãã
ããããRubyãšRailsã®è±å¯ãªã³ãã¥ããã£ãšéçºè ã®æ ç±ãããããšããããããã®ææŠãå¯èœæ§ã«å€ããããšã«æåŸ ããŠããŸãã