1. Rubyãã¬ãŒã ã¯ãŒã¯ã®åœ¹å²
Rubyã¯ãã®åã®éããå®ç³ã®ããã«çŸãããæŽç·ŽãããèšèªãšããŠç¥ãããŠããŸãããããŠããã®èšèªã®é åãæ倧éã«åŒãåºãã®ãããã¬ãŒã ã¯ãŒã¯ãã§ããããããå€ãã®äººãããã¬ãŒã ã¯ãŒã¯ããšããèšèã«æ £ã芪ããã§ãããã®ã®ãå ·äœçãªåœ¹å²ãæå³ã詳ããç¥ããªãããšãå°ãªããããŸãããããã§ããã®ã»ã¯ã·ã§ã³ã§ã¯ããã¬ãŒã ã¯ãŒã¯ã®åºæ¬çãªæå³ãããRubyãšãã¬ãŒã ã¯ãŒã¯ãšã®é¢ä¿æ§ã«ã€ããŠããããããã解説ããŠãããŸãã
1.1 ãã¬ãŒã ã¯ãŒã¯ã®åºæ¬çãªæå³
ãã¬ãŒã ã¯ãŒã¯ãšã¯ãæåéãã骚çµã¿ãããæ çµã¿ããšãã£ãæå³ãæã¡ãŸããããã°ã©ãã³ã°ã«ããããã¬ãŒã ã¯ãŒã¯ã¯ãããããã決ããããæ§é ãæ©èœãæäŸããããã®ã§ãããã«ããéçºè ã¯ããå¹ççã«ããããŠå質ã®é«ãã¢ããªã±ãŒã·ã§ã³ããµãŒãã¹ãéçºããããšãã§ããŸããäŸãã°ãäžãã建ç©ã建ãŠãéã«ãåºç€ãæ±ãªã©ã®åºæ¬çãªéšåããããããæäŸãããŠãããšãç¹å®ã®ãã¶ã€ã³ãæ©èœãè¿œå ããã ãã§ãå¹ççã«å»ºç©ãå®æãããããšãã§ãããšèããŠãã ãããããããã¬ãŒã ã¯ãŒã¯ã®åœ¹å²ã§ãã
1.2 Rubyãšãã¬ãŒã ã¯ãŒã¯ã®é¢ä¿
Rubyãšãã¬ãŒã ã¯ãŒã¯ã®é¢ä¿ã¯ãéåžžã«å¯æ¥ã§ããRubyã¯ããªããžã§ã¯ãæåã®ããã°ã©ãã³ã°èšèªãšããŠèšèšãããŠãããæè»æ§ãšçç£æ§ãé«ããšããç¹åŸŽãæã£ãŠããŸãããããããã®ãããªç¹æ§ãæ倧éã«æŽ»ããããã«ã¯ãé©åãªãã¬ãŒã ã¯ãŒã¯ã®ãµããŒããå¿ èŠäžå¯æ¬ ã§ããããšãã°ãRuby on Railsã¯ãRubyèšèªãããŒã¹ã«ããWebã¢ããªã±ãŒã·ã§ã³ã®éçºãã¬ãŒã ã¯ãŒã¯ã§ãããRubyã®ç¹åŸŽãæ倧éã«æŽ»ãããŠå¹ççã«Webã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããããšããµããŒãããŠããŸãããã®ããã«ããã¬ãŒã ã¯ãŒã¯ã¯Rubyã®åãåŒãåºããããã«åäžãããååšãšèšããã§ãããã
2. Rubyãã¬ãŒã ã¯ãŒã¯ã®åºç€ç¥è
éçºã®çŸå Žã§è³ã«ããããã¬ãŒã ã¯ãŒã¯ããšããèšèããããããããã©ã®ãããªåœ¹å²ãæãããã©ã®ããã«éžã°ããã®ãããã£ããç解ããŠãã人ã¯æå€ãšå°ãªããããããŸããããã®ã»ã¯ã·ã§ã³ã§ã¯ããã®çåã解æ¶ããããã«ããã¬ãŒã ã¯ãŒã¯ã®åºæ¬çãªæŠå¿µãšããã®éžã³æ¹ã«ã€ããŠèª¬æããŸãã
2.1 ãªããã¬ãŒã ã¯ãŒã¯ã䜿çšããã®ã
ãã¬ãŒã ã¯ãŒã¯ã¯ãäžèšã§èšããšãéçºã®å éè£ çœ®ããšãèšããŸããéçºãè¡ãéã«åããããªæ©èœãåŠçãäœåºŠãæžãã®ã¯éåžžã«å¹ççã§ã¯ãããŸããããã¬ãŒã ã¯ãŒã¯ãå©çšããããšã§ãåå©çšå¯èœãªã³ã³ããŒãã³ããäžè¬çãªãã¿ãŒã³ã掻çšããéçºé床ãåäžãããããšãã§ããŸãããŸãããã¬ãŒã ã¯ãŒã¯ã¯å€ãã®å Žåãäžå®ã®å質ãã»ãã¥ãªãã£åºæºã«åºã¥ããŠèšèšãããŠãããããåå¿è ãçµéšã®æµ ãéçºè ã§ããããçšåºŠã®å質ãæã£ãã¢ããªã±ãŒã·ã§ã³ãäœæãããµããŒããåããããšãã§ããŸãã
2.2 ãã¬ãŒã ã¯ãŒã¯ã®éžã³æ¹ã®åºæ¬
ãã¬ãŒã ã¯ãŒã¯ãéžã¶éã®ãã€ã³ãã¯ããã€ãååšããŸãããŸãããããžã§ã¯ãã®ç®çãããŒãºã«åãããŠéžã¶ããšãéèŠã§ããäŸãã°ãç°¡åãªãŠã§ããµã€ããäœæããã ãã§ããã°ãã·ã³ãã«ã§åŠç¿æ²ç·ã®äœããã¬ãŒã ã¯ãŒã¯ãé©ããŠããŸããäžæ¹ã倧èŠæš¡ãªãŠã§ãã¢ããªã±ãŒã·ã§ã³ãäŒæ¥åãã®ã·ã¹ãã ãæ§ç¯ããéã«ã¯ãæ¡åŒµæ§ãã»ãã¥ãªãã£ãæ§èœãªã©ã®ç¹ã§ä¿¡é Œæ§ãé«ããã¬ãŒã ã¯ãŒã¯ãéžã¶ã¹ãã§ãã
ãŸãããã¬ãŒã ã¯ãŒã¯ã®éžã³æ¹ã®äžã€ã®ææšãšããŠãã³ãã¥ããã£ã®æŽ»çºããèæ ®ãããšè¯ãã§ãããã掻çºãªã³ãã¥ããã£ãååšãããã¬ãŒã ã¯ãŒã¯ã¯ããã©ãã«ãçåç¹ãçãããšãã«è³ªåããããããŸãææ°ã®æè¡ãã¬ã³ãã«ãè¿ éã«å¯Ÿå¿ããŠããããšãæåŸ ã§ããŸãã
3. Ruby on Rails: Webéçºã®ããã¡ã¯ãã¹ã¿ã³ããŒã
Webéçºã®äžçã§ãRubyããšããèšèãèãã°ãå€ãã®æ¹ãé£æ³ããã®ããRuby on Railsããé称ãRailsããšãããã¬ãŒã ã¯ãŒã¯ã§ãããããã®ã»ã¯ã·ã§ã³ã§ã¯ãå€ãã®Webãµã€ããã¢ããªã±ãŒã·ã§ã³ã®è£åŽã§æŽ»èºããŠããRailsã®æŽå²ãç¹åŸŽããããŠãããã©ã®ãããªã·ãã¥ãšãŒã·ã§ã³ã§éžã°ããã®ãã玹ä»ããŸãã
3.1 Railsã®æŽå²ãšç¹åŸŽ
Railsã¯2004幎ã«DHHãšãããã³ããŒã¯åºèº«ã®ããã°ã©ããŒã«ãã£ãŠå ¬éãããŸãããåãã¯ãããããžã§ã¯ãã®ãµãã»ãããšããŠçãŸãããã®ãã¬ãŒã ã¯ãŒã¯ã¯ããConvention over ConfigurationïŒèšå®ãããæ £ç¿ïŒãããDRYïŒDon’t Repeat YourselfïŒããšããå²åŠãæ²ããå€ãã®éçºè ãã泚ç®ãéããããšãšãªããŸãããç¹ã«ãèšå®ã®æéãæžãããã³ãŒãã®éè€ãé¿ããããšã§å¹ççãªéçºãå¯èœã«ããç¹ãè©äŸ¡ãããŠããŸãã
3.2 䜿ãããã·ãã¥ãšãŒã·ã§ã³ãšäºäŸ
Railsã¯ãã®ç¹æ§äžãç¹ã«ã¹ã¿ãŒãã¢ãããæ°èŠãããžã§ã¯ãã®åæãã§ãŒãºã§éžã°ããããšãå€ãã§ããäŸãã°ãGitHubãBasecampãShopifyãšãã£ã倧æãµãŒãã¹ããã¹ã¿ãŒãæã«Railsãæ¡çšããŠããŸããããã¯ãè¿ éã«ãããã¿ã€ããäœæããããæå°éã®æ©èœãæã£ãã¢ããªãåžå Žã«æå ¥ãããMVPïŒMinimum Viable ProductïŒãã®éçºã«Railsãé©ããŠããããã§ãã
3.3 Railsãéžã¶ã¡ãªãããšãã¡ãªãã
ã¡ãªãããšããŠã¯å è¿°ã®éããéçºã®è¿ éæ§ãå¹çæ§ãæããããŸãããŸããè±å¯ãªã©ã€ãã©ãªãgemã«ãã£ãŠãå€å²ã«ãããæ©èœãç°¡åã«è¿œå ããããšãã§ããŸãã
äžæ¹ããã¡ãªãããšããŠã¯ã倧èŠæš¡ãªã·ã¹ãã ãéåžžã«ç¹å®ã®èŠä»¶ãæã€ã·ã¹ãã ã®å Žåããã¬ãŒã ã¯ãŒã¯ã®èŠå®ã«çžãããããšãæããããŸãããŸããRailsèªäœã®åŠç¿æ²ç·ãããæ¥ã§ãããããåå¿è ã«ã¯ããŒãã«ãé«ããšæããããšããããããããŸããã
4. Sinatra: 軜éãã€æè»ãªã¢ãããŒã
Ruby on Railsãšã¯ç°ãªãã¢ãããŒãã§Webã¢ããªã±ãŒã·ã§ã³ã®éçºããµããŒãããã®ããSinatraã§ãããã®ã»ã¯ã·ã§ã³ã§ã¯ããã®è»œéã§ãããªãããéåžžã«æè»ãªãã¬ãŒã ã¯ãŒã¯ã«çŠç¹ãåœãŠããã®ç¹åŸŽã䜿çšã±ãŒã¹ãæ¢æ±ããŸãã
4.1 Sinatraã®æŠèŠ
Sinatraã¯2007幎ã«Blake Mizeranyã«ãã£ãŠéçºãããDSLïŒDomain Specific LanguageïŒã¹ã¿ã€ã«ã®Webãã¬ãŒã ã¯ãŒã¯ã§ãããRubyã䜿çšããŠããŸãããã®äž»ãªç¹åŸŽã¯ãã·ã³ãã«ãã€æå°éã®ã³ãŒãã§Webã¢ããªã±ãŒã·ã§ã³ãäœæã§ããããšã§ããSinatraã¯ããã®DSLã®ç¹æ§ã«ãã£ãŠãçãã³ãŒãã§çŽæçã«ã«ãŒãã£ã³ã°ããã³ãã¬ãŒãã®ã¬ã³ããªã³ã°ãã§ããç¹ãé åçã§ãã
4.2 Sinatraã®äœ¿çšã±ãŒã¹ãšå®äŸ
Sinatraã¯ããã®è»œéãããã«ãç¹ã«å°èŠæš¡ãäžèŠæš¡ã®Webã¢ããªã±ãŒã·ã§ã³ãAPIã®ããã¯ãšã³ããšããŠã®å©çšãäžè¬çã§ãããŸãããããã¿ã€ãã³ã°ããã€ã¯ããµãŒãã¹ã®æ§ç¯ã«ãé©ããŠããŸãã
å®éã®äºäŸãšããŠã¯ãå€ãã®ã¹ã¿ãŒãã¢ãããå人ã®ãããžã§ã¯ãã§æ¡çšãããŠããŸããç¹ã«APIã®éçºã«ãããŠã¯ãGitHubã®äžéšã®ãµãŒãã¹ããHerokuã®äžéšã®å éšãµãŒãã¹ãªã©ã倧æã®ãµãŒãã¹ã§ãå©çšãããŠããããšã確èªãããŠããŸãã
4.3 Sinatraã®é·æãšçæ
é·æãšããŠã¯ãæ確ãªæ§é ãå€ãã®ã³ã³ããŒãã³ããæããªããããåŠç¿æ²ç·ãéåžžã«ç·©ããã§ããããã«ãããåããŠWebéçºãå§ãã人ã§ãåãçµã¿ãããããŸãå¿ èŠãªéšåã ããããã¯ã¢ããããŠåŠã¹ããããçæéã§ã®ã¢ããªã±ãŒã·ã§ã³ã®éçºãå¯èœã§ãã
ãã®äžæ¹ã§ãçæãšããŠã¯ã倧èŠæš¡ãªã¢ããªã±ãŒã·ã§ã³ã®éçºã«ã¯åããŠããªãããšãæããããŸããããã¯ãSinatraãæã€ã·ã³ãã«ãããã®å¶éã§ããã倧ããªãããžã§ã¯ãã§ã¯Railsã®ãããªãã«ã¹ã¿ãã¯ãã¬ãŒã ã¯ãŒã¯ã®æ¹ãé©ããŠããå Žåãå€ãã§ãã
5. Hanami: ã¢ãã³ã§ã¹ã±ãŒã©ãã«ãªéžæ
è¿å¹Žã®Rubyã³ãã¥ããã£å ã§æ³šç®ãéããŠãããã¬ãŒã ã¯ãŒã¯ãšããŠãHanamiãæããããŸããHanamiã¯ããã®ã¢ãã³ãªèšèšææ³ãšã¹ã±ãŒã©ããªãã£ã«éç¹ã眮ããã¢ãŒããã¯ãã£ã§ç¥ãããŠããŸãã
5.1 Hanamiã®ç¹è²
Hanamiã¯ã2014幎ã«Luca Guidiã«ãã£ãŠéå§ãããŸããããã®èšèšå²åŠã¯ãã·ã³ãã«ã§ã¡ã³ããã³ã¹ã容æãªã³ãŒãããŒã¹ã®æäŸã«çŠç¹ãåœãŠãŠããŸããããã¯ãåã³ã³ããŒãã³ããççµåã§ããããªããžã§ã¯ãæåããã°ã©ãã³ã°ã®ååã«å³å¯ã«åŸã£ãŠããããšã«èµ·å ããŠããŸãã
ãŸããHanamiã¯è€æ°ã®å°ããªã©ã€ãã©ãªããæ§æãããŠããããããã¯åå¥ã«ã䜿çšããããšãå¯èœã§ããããã«ãããéçºè ã¯å¿ èŠãªéšåã ããåãå ¥ããŠã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããããšãã§ããŸãã
5.2 Hanamiã§ã®éçºã®é å
Hanamiã®é åãšããŠã¯ãå è¿°ããã¢ãžã¥ã©ãªãã£ã®ã»ãã«ãããã©ãŒãã³ã¹ã®æé©åããã»ãã¥ãªãã£å¯Ÿçãããã©ã«ãã§çµã¿èŸŒãŸããŠããç¹ãæããããŸããããã«ãHanamiã¯Railsãšã¯ç°ãªãã¢ãããŒããæ¡çšããŠãããå€ãã®éçºè ãæ°é®®ã§åºæ¿çãªçµéšãåŸãããšãã§ããŸãã
5.3 ã©ããªãããžã§ã¯ãã«é©ããŠããã
Hanamiã¯ãäžèŠæš¡ãã倧èŠæš¡ã®Webã¢ããªã±ãŒã·ã§ã³ãAPIã®éçºã«ç¹ã«é©ããŠããŸããççµåãªã¢ãŒããã¯ãã£ã®ãããã§ã倧èŠæš¡ãªããŒã ã§ã®éçºããé·æéã«ããããããžã§ã¯ãã®ã¡ã³ããã³ã¹ã容æã«è¡ããŸãããŸãããã®ã¢ãžã¥ã©ãªãã£ã«ãããç¹å®ã®æ©èœãã³ã³ããŒãã³ããå¥ã®ãã¬ãŒã ã¯ãŒã¯ãã©ã€ãã©ãªãšçµã¿åãããããšã容æã§ãã
6. ãã®ä»ã®æ³šç®ã®Rubyãã¬ãŒã ã¯ãŒã¯
Rubyã¯ãRailsãHanamiã®ãããªå€§åãã¬ãŒã ã¯ãŒã¯ã ãã§ãªããå€æ§ãªããŒãºã«å¯Ÿå¿ããããã®å€æ°ã®ãã¬ãŒã ã¯ãŒã¯ãæã£ãŠããŸããããã§ã¯ããã®äžããç¹ã«æ³šç®ãã¹ããã¬ãŒã ã¯ãŒã¯ãããã€ãããã¯ã¢ããããŠçŽ¹ä»ããŸãã
6.1 Padrino: Sinatraã®æ¡åŒµãã¬ãŒã ã¯ãŒã¯
Padrinoã¯ãSinatraãããŒã¹ãšããŠæ¡åŒµããããã¬ãŒã ã¯ãŒã¯ã§ãããSinatraã®ã·ã³ãã«ããä¿æãã€ã€ãäžè¬çãªWebã¢ããªã±ãŒã·ã§ã³ã®éçºã§å¿ èŠãšãããæ©èœãè¿œå ããŠããŸããäŸãã°ãå€èšèªå¯Ÿå¿ãã¢ã»ããã®ãã€ãã©ã€ã³æ©èœãããŸããŸãªORMãžã®ãµããŒããªã©ãåãã£ãŠããŸãã
6.2 Grape: APIå°çšã®ãã¬ãŒã ã¯ãŒã¯
Grapeã¯ãRESTfulãªAPIãå¹ççã«äœæããããã®Rubyãã¬ãŒã ã¯ãŒã¯ãšããŠç¥ãããŠããŸãããã®ç¹åŸŽã¯ãAPIã®ããŒãžã§ã³ç®¡çãããªã¯ãšã¹ãã®ããªããŒã·ã§ã³ãã¬ã¹ãã³ã¹ã®ãã©ãŒãããæå®ãªã©ãAPIéçºã«ç¹åããæ©èœãè±å¯ã«çšæãããŠããç¹ã«ãããŸãã
6.3 RodaãšTrailblazer: æ°ããæ³¢ã®ãã¬ãŒã ã¯ãŒã¯
è¿å¹Žã®Rubyã³ãã¥ããã£ã§ã¯ãæ°ããæèãåãå ¥ãããã¬ãŒã ã¯ãŒã¯ãçŸããŠããŸããRodaã¯ãã«ãŒãã£ã³ã°ãäžå¿ã«èšèšããããã¬ãŒã ã¯ãŒã¯ã§ãéåžžã«é«éãªããã©ãŒãã³ã¹ãèªããŸããäžæ¹ãTrailblazerã¯ãæ¢åã®ãã¬ãŒã ã¯ãŒã¯äžã«æ©èœãå±€ãè¿œå ãã圢ã§ãããžãã¹ããžãã¯ã®æŽçãæ§é åãä¿é²ããŸãã
7. ãã¬ãŒã ã¯ãŒã¯ãéžã¶éã®èæ ®ç¹
Webã¢ããªã±ãŒã·ã§ã³ã®éçºãå§ããéãã©ã®ãã¬ãŒã ã¯ãŒã¯ãéžæãããã¯éåžžã«éèŠãªæ±ºæãšãªããŸããæ£ãããã¬ãŒã ã¯ãŒã¯ãéžã¶ããšã§ãå¹ççãªéçºãå®çŸãããäžæ¹ãäžé©åãªéžæã¯åŸã ã®ææ»ããåèšèšã®ãªã¹ã¯ãé«ããŸãã
7.1 ãããžã§ã¯ãã®èŠæš¡ãšç®ç
ãããžã§ã¯ãã®èŠæš¡ãšç®çã¯ããã¬ãŒã ã¯ãŒã¯éžã³ã®åºç€ãšãªãèŠå ã§ããå°ããªãµã€ããããã°ã®å Žåãã·ã³ãã«ãªãã¬ãŒã ã¯ãŒã¯ã§ååã§ããã倧èŠæš¡ãªããžãã¹ã¢ããªã±ãŒã·ã§ã³ãEã³ããŒã¹ãµã€ãã®å Žåã¯ãæ©èœãè±å¯ã§æ¡åŒµæ§ã®é«ããã¬ãŒã ã¯ãŒã¯ãæ±ããããŸãã
7.2 ã³ãã¥ããã£ã®ãµããŒããšããã¥ã¡ã³ã
ãã¬ãŒã ã¯ãŒã¯ã®ã³ãã¥ããã£ã®ãµããŒããããã¥ã¡ã³ãã®å å®åºŠãéèŠã§ãã掻çºãªã³ãã¥ããã£ãããã°ãåé¡è§£æ±ºã®éã«ãµããŒããåããããã質ã®é«ãããã¥ã¡ã³ãã¯åŠç¿ãå éãããŠãããŸãã
7.3 åŠç¿æ²ç·ãšå°æ¥çãªæ¡åŒµæ§
ãŸãããã¬ãŒã ã¯ãŒã¯ã®åŠç¿æ²ç·ãå°æ¥çãªæ¡åŒµæ§ãèæ ®ãã¹ããã€ã³ãã§ããåå¿è åãã®ãã¬ãŒã ã¯ãŒã¯ã§ããå°æ¥çãªæ¡åŒµãå€æŽã«å¯Ÿå¿ãã«ããå Žåãé·æçãªéçšã«ã¯äžåããšãªãå ŽåããããŸããéã«ãé«åºŠãªæ©èœãæã€ãã¬ãŒã ã¯ãŒã¯ã¯åŠç¿ãé£ãããåããŠã®ãããžã§ã¯ãã§ã®äœ¿çšã¯é¿ããã¹ããããããŸããã
8. ãŸãšã: èªåã®ããŒãºã«åã£ããã¬ãŒã ã¯ãŒã¯ãéžã¶æ¹æ³
ãã®èšäºãéããŠãæ§ã ãªRubyãã¬ãŒã ã¯ãŒã¯ã®ç¹åŸŽãé·æã»çæãåŠã³ãŸãããããããæçµçãªéžæã¯ãããããã®ãããžã§ã¯ããããŒã ã®èŠä»¶ã«å¿ããŠãæãé©åãªãã¬ãŒã ã¯ãŒã¯ãéžã¶ããšãæ±ããããŸãã
8.1 åãã¬ãŒã ã¯ãŒã¯ã®åŒ·ã¿ã掻ãããã€ã³ã
Ruby on Railsã¯äžè¬çãªWebã¢ããªã±ãŒã·ã§ã³ã®éçºã«é©ããŠãããSinatraã¯è»œéãªã¢ããªã±ãŒã·ã§ã³ããã€ã¯ããµãŒãã¹ã«ãHanamiã¯ã¢ãã³ã§ã¹ã±ãŒã©ãã«ãªã¢ããªã±ãŒã·ã§ã³éçºã«é©ããŠããŸããé©åãªãã¬ãŒã ã¯ãŒã¯ãéžã¶ããã«ã¯ããããžã§ã¯ãã®ç®çãèŠä»¶ãéçºããŒã ã®ã¹ãã«ã»ãããæ£ç¢ºã«ç解ããããšãäžå¯æ¬ ã§ãã
8.2 ä»åŸã®ãã¬ã³ããšæ³šæç¹
æè¡ã®äžçã¯æ¥ã é²åããŠããŸããæ°ãããã¬ãŒã ã¯ãŒã¯ãããŒã«ãç»å Žããäžæ¹ãå€ããã®ã¯æ代é ããšãªãããšããããããææ°ã®ãã¬ã³ãã«è¿œåŸããã ãã§ãªããé·æçãªãµããŒããã³ãã¥ããã£ã®æŽ»çºãã確èªããããšãéèŠã§ããå°æ¥çãªå€æŽãæ¡åŒµã容æã«ãããããæ¡åŒµæ§ãç¶æã»éçšã®å®¹æããéèŠããããšãããããããŸãã
ãã¬ãŒã ã¯ãŒã¯ | ç¹åŸŽ | é©çšã·ãŒã³ | ã³ãã¥ããã£ã®å€§ãã |
---|---|---|---|
Ruby on Rails | å šæ©èœãåãããã¬ãŒã ã¯ãŒã¯ | äžã倧èŠæš¡ã®ã¢ããªã±ãŒã·ã§ã³ | 倧 |
Sinatra | 軜éã§ã·ã³ãã«ãªãã¬ãŒã ã¯ãŒã¯ | å°ãäžèŠæš¡ã®ã¢ããªã±ãŒã·ã§ã³ããã€ã¯ããµãŒãã¹ | äž |
Hanami | ã¢ãã³ã§æ¡åŒµæ§ã«åªãããã¬ãŒã ã¯ãŒã¯ | äžã倧èŠæš¡ã®ã¢ããªã±ãŒã·ã§ã³ | å°ãäž |
è¡šãåèã«ããŠãåãã¬ãŒã ã¯ãŒã¯ã®ç¹åŸŽãé©çšã·ãŒã³ãæ¯èŒãããããžã§ã¯ãã«æé©ãªéžæãè¡ãããšãã§ããŸãã