RailsClub 2015ã¯1ãæå ã§ã ã ä»å¹Žã¯ç©æ¥µçã«æé·ããŠããŸãïŒã¬ããŒãã®æ°ãšåå è ã®æ°ã®äž¡æ¹ã§ïŒã ãã¹ãŠã®ã«ãã¹ããæåŸ ããŸãïŒ
ä»æ¥ãç§ãã¡ã¯ã¹ããŒã«ãŒãšã®äŒçµ±çãªã€ã³ã¿ãã¥ãŒãå ¬éãå§ããŠããŸãã
æåã®å¯Ÿè©±è ã¯ããã³ãã³ã®ããã«ãŒã§ããRSpecã³ã¢ããŒã ã®ã¡ã³ããŒã§ãããFun and Plausible Solutionsã®éçºè ã§ããSam Pippenã§ãã
ã€ã³ã¿ãã¥ãŒã¯ãè±èªã®å ã®åçãšç¡æ翻蚳ãšãšãã«å ¬éãããŸãã
Rubyãã©ã®ããã«å§ããŸãããïŒ
ããã¯ã©ã€ã¢ã³ãããçŽäº€é¢æ°ãè¿œå ããããã«äŸé ŒãããPHPã¢ããªã±ãŒã·ã§ã³ã«èµ·å ããçŽç²ãªãã©ã¹ãã¬ãŒã·ã§ã³ã®ããã«ãç§ã¯æåéãRubyã«æ¥ãŸããã æ¢åã®ã¢ããªã±ãŒã·ã§ã³ã§ããããæ§ç¯ãã代ããã«ãRailsã䜿çšããŸãããRailsã¯è¿ éãã€å¹ççã«æ©èœããæ¯ãè¿ãããšã¯ãããŸããã§ããã
ç§ã¯ãã¯ã©ã€ã¢ã³ããçŽäº€æ©èœãè¿œå ããããã«æ±ããŠããæ¢åã®PHPã¢ããªã±ãŒã·ã§ã³ã«å¯Ÿããã²ã©ããã©ã¹ãã¬ãŒã·ã§ã³ããæåéãRubyéçºè ã«ãªããŸããã æ¢åã®ã¢ããªã«çµã¿èŸŒãã®ã§ã¯ãªããã¬ãŒã«ã䜿çšããŸãããé«éã§å¹ççã§ãããåŸæ»ãããããšã¯ãããŸããã§ããã
ä»äœã«åãçµãã§ããŸããïŒ
ç§ã¯æ¥œãããŠãã£ãšãããããœãªã¥ãŒã·ã§ã³ã®ããã«åããŠããŸãã ç§ãã¡ã¯ã³ã³ãµã«ãã£ã³ã°ã«åŸäºããŠããŸããã€ãŸããç§ã¯å¹ åºããããžã§ã¯ãã«åãçµãã§ããŸãã ä»ããã®è³ªåã«çãããšããç§ã¯lostmy.nameã¯ã©ã€ã¢ã³ããæ±ã£ãŠããŸãã 圌ãã¯ãçŸä»£ã®æè¡ã掻çšããå人åãã®å ç«¥æžã販売ããŠããŸãã ãªã³ã©ã€ã³ããžãã¹ã®æ§ç¯ãšæ¡å€§ãæ¯æŽããŸãã
ç§ã¯Fun and Plausible SolutionsãšããäŒç€Ÿã§åããŠããŸãã ç§ãã¡ã¯ã³ã³ãµã«ã¿ã³ãã§ãããç§ãåãçµãã§ãããããžã§ã¯ãã¯éåžžã«å€æ§ã§ãã ãã®ã¬ã¹ãã³ã¹ãæžããŠããçŸåšã®ã¯ã©ã€ã¢ã³ãã¯ãlostmy.nameãšåŒã°ããŸãã 圌ãã¯ããã¯ãããžãŒã掻çšããå人åãã®å ç«¥æžã販売ããŠããŸãã eã³ããŒã¹ã¹ã¿ãã¯ã®æ§ç¯ãšã¹ã±ãŒãªã³ã°ãæ¯æŽããŠããŸãã
Railsã«ã¯äœãæ¬ ããŠãããšæããŸããïŒ
åªãããã¹ããã¬ãŒã ã¯ãŒã¯ã ããããçå£ã«ãRailsã¯é©ãã»ã©å®å šãªãã¬ãŒã ã¯ãŒã¯ã§ãã 圌ã¯å€ãã®ç¬éã«æ©äŒãå€ããããšæããŸãã ããšãã°ãActiveRecordã®ã³ãŒã«ããã¯ãšã¿ãŒããªã³ã¯ããªããŠãäžçã¯ã§ãããšæããŸãã
åªãããã¹ããã¬ãŒã ã¯ãŒã¯;ïŒã ããããçå£ã«ãRailsã¯é©ãã»ã©å®å šãªãã¬ãŒã ã¯ãŒã¯ã§ãã å€ãã®å Žæã§ãæ©èœãå€ããããšæããŸãã ç¹ã«ãActive Recordã®ã³ãŒã«ããã¯ãšã¿ãŒããªã³ã¯ãªãã§äžçãã§ãããšæããŸãã
Rubyã®åŸã®å¥œããªããã°ã©ãã³ã°èšèªããªãã§ããïŒ
ããã¯å€§ããªè³ªåã§ãã ç§ã¯JavaãšPythonã§è²ã¡ã倧åŠåšåŠäžã¯Cèšèªã§ããããŠä»ã®å€ãã®èšèªã§å€ãã®ããšãæžããŸããã ç§ã¯Javaãæããããšãæ¢ããŸããã§ãããå€ãã®äººãJavaã誀ã£ãŠäœ¿çšããŠããŸãããJavaã¯ãã®çŽç²ãªåœ¢ã§çŽ æŽãããèšèªã§ãã
ããã¯äžçš®ã®å€§ããªè³ªåã§ãã JavaãšPythonã§è²ã¡ã倧åŠãä»ã®å€ãã®èšèªã§å€ãã®Cãã³ãŒãã£ã³ã°ããŸããã ç§ã¯Javaã奜ãã«ãªãããšã決ããŠæ¢ããŸããã人ã ã¯ãããé ·äœ¿ããŸãããJavaã¯çŽç²ãªåœ¢ã§Javaã¯çŽ æŽãããèšèªã§ãã
ããªãã®æèŠã§ã¯ãæè¡ã¯è¿ãå°æ¥æãææãªãã®ã¯äœã§ããïŒ
Rustã«ã¯éåžžã«æºè¶³ããŠããŸãã åã·ã¹ãã ãšã³ã³ãã€ã©ã¯çŸãããã»ãã¥ãªãã£ã®ä¿èšŒã¯ãŸã£ããäžèŽããŸããã
Rustã§ããã°ã©ã ãäœæããããšã«è奮ããããšã¯ã§ããŸããã§ããã åã·ã¹ãã ãšã³ã³ãã€ã©ã¯çŸãããå®å šæ§ã®ä¿èšŒã¯ä»ã«è² ããŸããã
ããªãã«ãšã£ãŠãªãŒãã³ãœãŒã¹ãšã¯äœã§ããïŒ
ããã¯éåžžã«é£ãã質åã§ãã ç¹ã«Rubyã«é¢ããŠã¯ããªãŒãã³ãœãŒã¹ã¯ã³ãã¥ããã£ã ãšæããŸãã ã¢ãŒãã³ãã¶ãã¯ããŸãã¯ä»ã®èª°ãã«ç°¡åã«æžããŠãããã«ç§ã®ã¯ã¬ã€ãžãŒãªRubyåé¡ã®å©ããåŸãããšãã§ãããšããäºå®ã¯éåžžã«ã¯ãŒã«ã§ãã ç§ã¯ãŸããRSpecã§äœããããæ¹æ³ãæ£ç¢ºã«å°ããããç§ãå©ããããšããŸã:)å€ãã®å Žåãããã¯äŒè©±ã«å¥ã®ã¡ã³ãããŒãå·»ã蟌ãããšãæå³ããŸãã
ããã¯éåžžã«é£ãã質åã§ãã ç¹ã«Rubyã®åšãã§ã¯ããªãŒãã³ãœãŒã¹ã¯ã³ãã¥ããã£ãæå³ãããšæããŸãã ã¢ãŒãã³ãã¶ãã¯ããŸãã¯èª°ã«ã§ãpingãå®è¡ããŠãç§ã®çæ°ã®ã«ããŒã®åé¡ã«ã€ããŠããã«å©ããåŸãããšãã§ãããšããäºå®ã¯éåžžã«çŽ æŽãããã§ãã RSpecã§åãããšãããæ¹æ³ã人ã ã«å°ããããããã«ãªããç§ã圌ããå©ããããšããŠããŸã:)ã å€ãã®å Žåãããã¯å¥ã®ã¡ã³ãããŒãäŒè©±ã«åå ãããããšãæå³ããŸãããªããªããç§ãã¡ã³ãããŒã§ãã£ãŠããRSpecã®ç¥èã¯çŸç§äºå žã§ã¯ãªãããã§ãã
æè¿ããŠã§ãéçºã®äžçããã©ã®ãããªãã¥ãŒã¹ã泚ç®ãããŸãããïŒ
ã¢ã¯ã·ã§ã³ã±ãŒãã« ãããã
ã¢ã¯ã·ã§ã³ã±ãŒãã« ãããã
ãæ°ã«å ¥ãã®ãŠã§ãéçºãšããã°ã©ãã³ã°ã®ããã°/ãµã€ã/ãã€ãŒãïŒ
ãã¹ãŠã«èšåããã«ã¯å€ãããŸãã Jen SchifferãªãœãŒã¹ãéåžžã«æ¥œãããšæããŸãã Sarah MayïŒ @sarahmei ïŒã¯ç§ã®è¯ãå人ã§ãããç§ãã¡ã®æ¥çã«é¢ãã圌女ã®Twitterã®èšèª¬ã®ããã€ãã¯çŽ æŽããããã®ã§ãã ãŸããç§ãã¡ã®ã³ãã¥ããã£ã®2人ã®æ°ããçŽ æŽãããã¡ã³ããŒãã«ã€ãªãŒã¹ãã©ããªãŒïŒ @kyfast ïŒãšãµã©ãµã€ã¢ã³ïŒ @sarambsimon ïŒã玹ä»ããããšæããŸãã
ååãå€ãããŸãã Jen Schifferã®ã¡ãã£ã¢ã¯çµ¶å¯Ÿã«é¢çœããšæããšæããŸãã ãµã©ã¡ã€ïŒ@sarahmeiïŒã¯ç§ã®éåžžã«èŠªããå人ã§ãããç§ãã¡ã®æ¥çã«é¢ãã圌女ã®ãã€ãŒããã§ãŒã³ã®ããã€ãã¯åã«çŽ æŽãããã§ãã ç§ãã¡ã®ã³ãã¥ããã£ã®é åçãªæ°ã¡ã³ããŒãšããŠåŒ·èª¿ãããã®ã¯ãã«ã€ãªãŒã¹ãã©ããªãŒïŒ@kyfastïŒãšãµã©ãµã€ã¢ã³ïŒ@sarambsimonïŒã§ãã
ããªããæåŸã«èªãã ããã°ã©ãã³ã°æ¬ã¯å¥œãã§ããïŒ
ããã°ã©ãã³ã°ã®æ¬ãé »ç¹ã«èªãããšã¯ãããŸãããããJavaã®äžŠè¡æ§ã®å®è·µãã¯éèŠãªãã€ã«ã¹ããŒã³ã§ãã 圌女ãæããŠããããšã®å€ãã¯ãJavaã ãã§ãªããäžè¬çã«äžŠåããã°ã©ãã³ã°ãæ€èšããããã®ãªãã·ã§ã³ã«ãåœãŠã¯ãŸããŸãã 圌女ã¯æ°å¹Žéç§ã倧ãã«å©ããŠãããŸããã
ããã°ã©ãã³ã°ã®æ¬ãããã»ã©é »ç¹ã«èªãããšã¯ãããŸããããå®éã®Javaã®äžŠè¡æ§ã¯éåžžã«éèŠã§ãã ãããæããããšã®å€ãã¯ãå®éã«ã¯Javaåºæã§ã¯ãªãã䞊è¡ããã°ã©ãã³ã°ã«ã€ããŠæšè«ããæ¹æ³ã§ãã ããã¯é·å¹Žã«ããã£ãŠéåžžã«åœ¹ç«ã£ãŠããŸããã
倧æåãåãããéçºè ã«ã©ã®ãããªã¢ããã€ã¹ãããŸããïŒ
æ£çŽãªãšãããç§ã¯ç§ããã®ãããªå©èšãäžããããšãã§ããäœçœ®ã«éãããšã¯æããªãã èªåã®çµéšã®ã¿ãå ±æã§ããŸãã ç§ã«ã¯ãã®ãããªå¹³å¡ãªèæ¯ãããããã§ã«ç æ°ã«ãªã£ãŠããŸãã äž¡æ¹ã®èŠªã¯ãããã°ã©ãã³ã°ãŸãã¯é¢é£åéã§ç涯åããŠããŸããã ç§ã¯è¯ã倧åŠã§åŠã³ãã³ã³ãã¥ãŒã¿ãŒãµã€ãšã³ã¹ã®åŠäœãååŸããŸããã ç§ã®éã¯ç§ãã¡ã®æ¥çã«ãšã£ãŠååã«æšæºçãªãã®ã§ãããããã¯å¿ ãããæåã®ç§recipeã§ã¯ãããŸããã ç§ãã¡ã®æ¥çã¯å šäžçã«åœ±é¿ãäžãå§ããæãå€æ§ãªããã¯ã°ã©ãŠã³ããæã€äººã ãåŒãä»ããªããã°ãå®å šã«äŸ¡å€ã®ãªããœãªã¥ãŒã·ã§ã³ãçºè¡ããããšã«ãªããŸãã ãã ããæåããããŒã ãæ§ç¯ããæ¹æ³ã«ã€ããŠã¢ããã€ã¹ã§ããŸããããªããšã¯ç°ãªã人ãéããããªãã®ã¢ã€ãã¢ã«ææŠããããªãã®ä»äºãæ¹åããããšãã§ããŸãã
ç§ã¯æ£çŽãªãšãããæåãããŠã§ãéçºè ã«ãªãæ¹æ³ãã ããã«äŒããç«å Žã«ãããšã¯æããªãã ç§ã®çµéšãšãã話ããŸããã ç§ã®èæ¯ã¯ãšãŠãå žåçã§ãçãã§ãã äž¡æ¹ã®èŠªã¯ããã£ãªã¢å šäœã§ããã°ã©ãã³ã°ã§ããŸãã¯ãã®è¿ãã§åããŠããŸããã ç§ã¯è¯ã倧åŠã«è¡ãã匷åãªCSåŠäœãååŸããŸããã ç§ã®éã¯ç§ãã¡ã®æ¥çã®æšæºã§ããããªããããªãã¹ããªã®ãããããŸããã ãã®æ¥çã¯äžçå šäœã«åœ±é¿ãäžãå§ããŠããããã¹ãŠã®ããã¯ã°ã©ãŠã³ããæã€äººã ãé£ããŠããªããã°ãæããããœãªã¥ãŒã·ã§ã³ãçã¿åºãããšã«ãªããŸãã ããããç§ã¯æåããããŒã ã«ãªãããã®ã¢ããã€ã¹ãæã£ãŠããŸããããªããšéã人ãéããããªãã®ã¢ã€ãã¢ã«ææŠããããªãã®ä»äºãæ¹åããããšãã§ããŸãã
ããã°ã©ãã³ã°ã«ããããããŠããŸãããïŒ ãã®ãããªäœããæãããã©ãããŸããïŒ
ããã°ã©ãã³ã°ã¯ç§ãéå±ãããŸãããç§ã¯æ°ãã人ã ãšã®äŒè°ãäŒè°ã«å€ãã®æéãè²»ãããŸãã æ°ããã¢ã€ãã¢ã®æµãã§é ããªãã¬ãã·ã¥ããããšããŠããŸãã ãããŠããããããè¶ã¯ãã€ã§ã圹ç«ã¡ãŸãã
ã³ãŒãã£ã³ã°ã¯ããããããŸãããç§ã¯å€ãã®æéãäŒè°ã«åå ããããæ°ãã人ãšåºäŒã£ããããŠãå æ°ãåãæ»ããŸãã ã»ãšãã©ã®å Žåãã§ããã ãå€ãã®æ°ããã¢ã€ãã¢ãé ã«æµã蟌ã¿ãããšæããŸãã ãŸãããè¶ã®è¯ãã«ããã¯åžžã«åœ¹ç«ã¡ãŸãã
RailsClubã§ã©ã®ã¬ããŒããèŽããŸããïŒåæéèš³ããããŸãïŒïŒ
å ¬äžã®ããã©ãŒãã³ã¹ã楜ãã¿ã«ããŠããŸãã圌ã¯ãã€ãããããã話ãããŠããŸãã ã¢ã³ãã®ããŒããé åçã§ãã
ç§ã¯å äžã®è©±ã«ãšãŠãè奮ããŠããŸãã圌ã¯ãã€ãé¢çœãã§ãã ã¢ã³ãã®è©±ãé åçã«èŠããŸãã
2ãæéã®ç¡æã®æææéãããå Žåã¯ã©ãããŸããïŒ
ç§ã®é ã«ã¯æ¬ã®æåã®æŠå¿µçãªã¹ã±ããããããŸãã ãã®æéãæ¬ã®å·çã«è²»ããããšã¯çŽ æŽãããããšã ãšæããŸãã
ç§ã¯é ã®äžã§æ¬ã®æåã®æŠå¿µçãªæ®µéãæã£ãŠããŸãã ãããå皿圢åŒã«ããããšã¯çŽ æŽãããããšã ãšæããŸãã
åäŸã®é ã¯èª°ã«ãªãããã£ãã§ããïŒ
ç§ã¯ä»ãã£ãŠããããšã«ã€ããŠäœãããããã£ãã
ç§ãä»ãã£ãŠããããšã«è¿ãäœãã
ãã®äŒè°ãšãã·ã¢èªåã®ã³ãã¥ããã£ã«äžè¬çã«æåŸ ããããšã¯äœã§ããïŒ
ãã·ã¢äººãRubyã§ã©ã®ããã«éçºããŠããã®ãããã£ãšç¥ãããã§ãã ç§ãäœãã§ããããŸããŸãªåœã§ã人ã ã¯ããŸããŸãªæ¹æ³ã§ã³ãŒããæžãã®ã§ãã¹ã¿ã€ã«ãæ¯èŒããŠå¯Ÿæ¯ããããšã¯åžžã«èå³æ·±ãããšã«æ°ä»ããŸããã
ãã·ã¢äººãã©ã®ããã«Rubyãéçºãããã«ã€ããŠãã£ãšç¥ãããã§ãã ç§ã蚪ããããããã®å Žæã§ã人ã ã¯ç°ãªãæ¹æ³ã§ã³ãŒããæžãããšãããããŸããã¹ã¿ã€ã«ãæ¯èŒããŠå¯Ÿæ¯ããããšã¯åžžã«çŽ æŽãããããšã§ãã
ã€ã³ã¿ãã¥ãŒãããããšãããããŠã¢ã¹ã¯ã¯ã§ãäŒãããŸãããïŒ
ç§ãã¡ãå°ããªãã£ããã¹ãŠã®è³ªåãããªãã¯ãµã ãšä»ã®åå è ã«å人çã«å°ããããšãã§ããŸã-9æ26æ¥ã ããã°ã©ã å šäœã¯äŒè°ã®ãŠã§ããµã€ãã«ãããŸãã
RailsClubã§ããµã ã¯mokasã«ã€ããŠã®è¬æŒãèªã¿ãŸãã
è¬æŒã§ã¯ãäžç·ã«äœ¿çšãããšãã«ãªããžã§ã¯ããåé¢ããããŸããŸãªæ¹æ³ã«ã€ããŠèª¬æããŸãã äžèŠããã¹ãŠåãããšãããŸãããããããã®å Žåã«ãã¢ããªã±ãŒã·ã§ã³ã®æ§é ã®åé¡ãå ±åããç¹å¥ãªèšèªããããŸãã
ã¢ããªã±ãŒã·ã§ã³ã§äœ¿çšãããããŸããŸãªã¿ã€ãã®ãã¹ããæ€èšããããã°ã©ã ã®ã¢ãŒããã¯ãã£ã«ã€ããŠåœŒããèšãããšãç解ããŠãã ããã
åå ã®ç»é²ãšæ¯æã- ãã¡ã ã ãã±ããäŸ¡æ Œ-8000ã«ãŒãã«ã
ã¹ãã³ãµãŒ
ãžã§ãã©ã«ããŒãããŒïŒ Toptal
ãŽãŒã«ãããŒãããŒïŒ Cloud Castle
ã·ã«ããŒããŒãããŒïŒ AT-Consulting
ããã³ãºããŒãããŒïŒ RamblerïŒCo
railsclub.ruã§ãã¥ãŒã¹ã¬ã¿ãŒã«ãµã€ã³ã¢ããããŠãã¥ãŒã¹ã¬ã¿ãŒãææ°ã®ç¶æ ã«ä¿ã¡ãã楜ãã¿ã«ã
RailsClub.ru
twitter.com/railsclub_ru
facebook.com/railsclub