9æXNUMXæ¥ã®æ©æïŒãŸãã¯æ·±å€ïŒãç§ã¯äŒãããã«ã·ã§ã¬ã¡ãŒããšãŽã©ç©ºæž¯ã«å°çããŸããã ãžã§ã·ã¥ã»ã«ã«ããªãã¹ ãã©ãŽã£ã¹CIããã å°å·ãããããŒã ãã¬ãŒãã¯å®¶ã«æ®ãããŠããŸãããã幞éãªããšã«ãç§ãã¡ã¯ã»ãŒããã«ãžã§ã·ã¥ã«äŒãã圌ãæåã«èšã£ãã®ã¯æ¬¡ã®ããšã§ããããããŒã¹ã¿ãŒïŒ ãè ¹ã空ãããã ãã©ã也æ¯ããïŒãç¬é¡ã§å°ãããããã®è³ªåãç§ãå°æããããšã¯èšããŸããããéªã®ã¢ã¹ã¯ã¯ã«ããæ®ãã®æ¥ã ã§ã圌ããããã«å€ãã®æ°ãããžã§ãŒã¯ãèãåºããšã¯äºæ³ããŠããŸããã§ãããããŒã¹ã¿ãŒãšããŒã¹ãã
ãšããã§ãç§ãã¡ã¯ååã®äŒè°ã«åœŒããæ¬ åžããããšãæ£åŒã«è¬çœªããŸãããã¹ãŠã¯åçŽã§ã - 圌ãã¯ã¹ããŒãã®éå§åã«è¬æŒè
ã«ãã£ãŠé£ã¹ãããŸããã
С ã°ã¬ãã°ã»ãã©ã㯠Envy Labs ããèãããšãããããã¯ããã»ã©é¢çœãããšãããããŸãããå°ãåŸã«åœŒã«äŒã£ãåŸãç§ãã¡ã¯ãã¹ãŠã®ãæåãªæžæ»ããããŸãåé¿ããããã«ã«ãã§ãã¯ã€ã³ãã代ããã«ã圌ã¯åœŒãåžå
ã®ãã©ã€ãã«é£ããŠè¡ã£ãŠãããããã«é Œã¿ãŸããã é 足ãšããŠãç§ãã¡ã¯ãžã§ã«ãžã³ã¹ããŒåžã«ç«ã¡å¯ãããšã«ããŸãããã°ã¬ãã°ã¯ããã§ãã³ãã»ãŠã°ã¬ã·ã¹ããŒä¿®éé¢ã«æãèå³ãæã£ãŠããŸããã å³ããéã«ãããããããç§ãã¡ã¯é åå
ã«å€§éã«çæ¯ãããã¯ãã§ãŠã«ãªããšãé€ãããããšãã§ããŸããã
é¢ããŠã¯ ãã¡ããªç§ç° (Codeminer42 ãã) ããã³ ãã°ã©ã¹ã»ã«ã³ãã¹ (RedHat ãã) ãã®åŸãç§ã¯ãããã人çã§æãçããäŒè©±ã圌ããšäº€ãããŸããã
â ããã«ã¡ã¯ã¢ã¬ãã¯ã¹ãç§ãã¡ã¯ãã€ãã§ã¯ãªããšãåããŸãããããã€ãããã¯ãã·ã¢ã¯ããã«å¯ããšèšããŸããïŒ
- å¿é
ããªãã§ãã ãããéäžã§æ»ãªãªãããã«åžœåãšã¹ã«ãŒããæã£ãŠããŸããã
- åžœåã¯å€§äžå€«ã§ãããã¹ã«ãŒãã¯...äœã§ããããããŠã©ã®ããã«äœ¿çšããŸããïŒ
- ã©ã®ãããªæå³ã§ïŒ
-ãããã©ãã«çãã°ããã§ããïŒ ç§ãã¡ã«èŠããŠãã ããã
çãéæ³ã®ãã³ããã¹ã®åŸãå šå¡ãè©°ã蟌ãŸãã空枯ãåºãæºåãã§ããŸããã ãããã圌ãã¯åºçºãŸã§ãæ°é®®ãªç©ºæ°ã®äžã§ç§»åããã®ã«éåžžã«èŠåŽããŸããããªããªãã圌ãã®å°åã§ã¯å¬ã®æ°æž©ãææ°20床ãäžåãããšã¯ãã£ãã«ãããŸããããã§ãã倩æ°äºå ±ããã§ãã¯ããã®ãå¿ãããããã®çµ¶æçãªåœŒãã¯ãã»ãšãã©Tã·ã£ããšã·ã£ãã§å°çããŸãããã·ã§ãŒããã³ãã
ããããæãéèŠãªããšã¯ãããŒã¹ããšã¢ãŒãã³ã°ã³ãŒããŒãäžè¶³ããŠããŠããéææ¥ã«çŽ æŽãããã€ãã³ããäŒç»ããããšã劚ããããªãã£ããšããããšã§ãã
ç»é²éå§ã® XNUMX ååã«ãããªãå€ãã®äººãéå§ãåŸ
ã£ãŠããããšãããããŸãããã«ã³ãã¡ã¬ã³ã¹äžã«æè¡çãªåé¡ãããã€ããããŸããããããã«ãããèãéãããå ±å㯠XNUMX ã€ããªãã ãããšããèªä¿¡ãšåžæãçãŸããŸããã
ã°ã¬ãã°æ°ã®è¬æŒã¯ããã°ã©ã ã®æåã®ãã®ã§ãã (æŒé£åŸã ãšç解ãããã«æªããªãæè¡çãªããšãããããçŽæãããŠããã®ã§ãã°ã¬ãã°æ°ã¯ãšãŠãåãã§ããŸãã) - 圌ã¯ããã«åé¡ãèªåã®æã«åããã«ã³ãã¡ã¬ã³ã¹åå è
ã«æ¬¡ã®ããšã話ãå§ããŸããã Rails 3 ã®ã³ã¢éšåã®ã³ãŒããå€æŽãããŸãããã°ã¬ãã°æ°ã¯èŠéããªãã£ãã®ã§ããèŽè¡ã¯æåéãç®ãèŠãã圌ãæ°ãã䜿çšãã¯ããã¯ã«ã€ããŠèª¬æãããã¹ãŠã®èšèãåãå
¥ããŸããã
XNUMX çªç®ã«ã¹ããŒãžã«äžãã£ãã®ã¯ãé ãé¢ãããã©ãžã«ããã®è¬æŒè
ããã¡ã㪠ç§ç°æ°ã§ããã圌ã¯ãRails äžã§éåžžã«åçã§ã€ã³ã¿ã©ã¯ãã£ããªã¢ããªã±ãŒã·ã§ã³ãã¹ã±ãŒãªã³ã°ããããã®ããŸããŸãªãã¯ããã¯ã«ã€ããŠè©±ãå§ããŸããã
Fábiu æ°ã¯å米㮠Rails ã³ãã¥ããã£ã§æãæåã§ç®ç«ã€ãæšé²è
ãã® XNUMX 人ã§ãããããå€ãã®åå è
ã圌ã®ã¹ããŒããåŸ
ã£ãŠããŸãããã«ã³ãã¡ã¬ã³ã¹ãå§ãŸãåãããã¢ããªã±ãŒã·ã§ã³ã®ã¹ã±ãŒãªã³ã°ã«é¢ãã話é¡ãçãäžããããšã¯æããã§ãããèŠæ±ã
ã€ã¯ã³ã»ãšããã¥ãããã çŽ æŽãããæ°åã§ã¹ããŒãžã«ç»å Žããåæ§ã«æ³šç®ã«å€ããã¬ããŒããçºè¡šããŸããã éªæªãªç«æ人 ïŒã«ã³ãã¡ã¬ã³ã¹ããã°ã©ã ã®çå®ã«ãååããã ãã倧å€æè¬ããŠããŸãïŒãã·ã¢ã®GrouponãæºåããŠãããŸããã ãã®ãããªäŒè©± (Rails ã®æµãã§) ã¯ãã·ã¢ã§åããŠèãããã®ã§ãæåã®ã¬ããŒããèãããã·ã¢èªã§ã¹ã©ã€ããèŠãããšã¯äºéã«èå³æ·±ããã®ã§ãããã€ã¯ã³ä»¥åã«ã¯ãããã»ã©äººæ°ãââãããç 究ã®çµç¹åã«ã€ããŠè©±ãåã人ã¯èª°ãããŸããã§ãããã¢ã¹ã¯ã¯ã®çŸå Žããã®å€§èŠæš¡ãª Rails ãããžã§ã¯ãã
æåŸã«ãæåŸã® (æŒé£å) ã¬ããŒãã¯ãã³ã³ããŒã¿ãŒãçŒãèœã¡ãŠå€§ç»é¢ã«ã¹ã©ã€ãã衚瀺ã§ããªãã«ãããããããJRuby ã®äœ¿çšæ¹æ³ãåãäžããŸããã ãã£ã¢ãã§ã€ã»ã¯ãªã¡ã³ã³ HotSpot ããã¯ãJRuby ãš JVM ãã©ãããã©ãŒã å
šäœã®äœ¿çšã«ã€ããŠããã€ãã®èå³æ·±ãç¹ã«ã€ããŠè©±ãããšãã§ããŸããã
äŒè°ã§ã¯åæéèš³ãè¡ãããïŒå€åœäººè¬æŒè
ã¯ãã·ã¢èªã«ããã·ã¢ã®å ±éã¯è±èªã«ç¿»èš³ãããïŒãæåŸããäºçªç®ã«çºèšãããã°ã©ã¹ã»ã«ã³ãã¹ã¯ããã£ã¢ãã§ã€ã®ã¹ããŒãã«ã¯éåžžã«èå³æ·±ãç¹ããããããã«ã€ããŠåœŒèªèº«ã話ãäºå®ã ã£ããšè¿°ã¹ãã
ãã®åŸãXNUMX ã³ãŒã¹ã®ã©ã³ããè¡ãããŸãã (XNUMX çªç®ã®ã³ãŒã¹ãåå è
å
šå¡ãè¬æŒè
ã«ãã£ãŠé£ã¹ãããŸãã))) - ååãšã³ãã¥ãã±ãŒã·ã§ã³ããšãè¯ãæ©äŒã§ããã
ãããããããå€é£ã¯æ¬åœã«èª°ãã®æåŸ
ã«å¿ããããªãã£ããããããŸããããããªããç解ããŠããŸã - ç§ãã¡ã¯èªåã§æçããŸããïŒãããŠäžè¬ã«ãããŒã¹ã¿ãŒã¯ããŸã第äžã«é£ã¹ç©ã§ã¯ãªããç¥èãšæåãªè¬æŒè
ãšã³ãã¥ãã±ãŒã·ã§ã³ããšãæ©äŒã§ãã
ãããŠãã ãã£ããããã ã
ã°ã¬ãŒã®ã¹ãŠã§ããã·ã£ãã®æ¿åºŠãå¢å :
ã«ã³ãã¡ã¬ã³ã¹äžãã©ãŠã³ãžãšãªã¢ã¯åžžã«ãªãŒãã³ããŠããããªãããã³ã«å¯è»¢ãã§å人ãšãããã¹ãããããšãã§ããŸããã ãããã³ãŒã³ãšã³ãŒã©ãé£ã¹ãããŠãããReg.ruããã«æè¬ïŒ
æŒé£åŸãç§ãã¡ã¯èŠãããšãã§ããŠå
æ ã§ãã ã³ã³ã¹ã¿ã³ãã£ã³ã»ã«ãŒã¯ãã¶ã®åé¡ã§ã©ã€ãã«åå ã§ããªãã£ãããããã§ã圌ã¯ã·ããã©ã®æŽå²ãã·ããã©ãã©ã®ããã«äœãããã®ãããããŠãã®çŽ æŽããããããžã§ã¯ãã®å°æ¥ã«ã€ããŠææ矩ãªå ±åãããããšã劚ããªãã£ãã
æãå°è±¡çãªã¬ããŒãã® XNUMX ã€ã¯ããžã§ã·ã¥ã¢ ã«ã«ããªãã¹ããã®ãã®ã§ããã
ãžã§ã·ã¥ã¯ {ruby} .toaster ã«ã³ãã¡ã¬ã³ã¹ã®ã¹ã¿ãŒã«ãªããŸããã圌ã (Travis CI ã«ã€ããŠ) èå³æ·±ã詳现ã話ãã ãã§ãªããéšå±å
šäœã沞ãããŠå°ããªã·ã§ãŒãããã€ããã ã£ãããšãããã«æããã«ãªããŸããã
ãã©ã³ãã®ã·ã£ããç¬é¡ããããŠãããã³ã®å£®å€§ãªã¹ã©ã€ãã¯ãé·ãé誰ããééããªãèšæ¶ããŠããã倧ããªè£œåããã®æ§æéšåã«åå²ãããã®åœ¢åŒã§ç®¡çããæã䟿å©ãªæ¹æ³ã§ããããŸããã
ãã°ã©ã¹ã»ã«ã³ãã¹ã¯ãã©ã€ãåŸã«ç²ããŠããŠãæå·®ã®ããã§å€ãç ãããååã®å ±åã®éäŒãã§ããŸãã...
...ããããã¹ããŒãžã«äžãã£ãŠ JRuby ã«ã€ããŠè©±ãçªãåã£ãŠãããšãã圌ã¯ç®ã«èŠããŠå
æ°ãåãæ»ããŸããã ãã€ã¯ãæã£ãŠåºãŠãããšã圌ã¯æåéãçããŠãšãã«ã®ãã·ã¥ãªãã¬ãŒãºã§ããŒã«ãæ»æãå§ããŸããããã°ã©ã¹ã®èšèã®åŸãå€ãã®äººãåã³ JRuby ã¯äŸ¿å©ã§ãéããå¹æçã§ãããMRI ã®ä»£ããã«äœ¿çšãããã¹ãã ãšä¿¡ããã®ã ãšæããŸãã
æåŸã«ãæ幎å°ã®è¬æŒè
ã¯ã ãžã§ããµã³ã»ã¬ã€ãã³çŸåšããã 22 æ³ã§ã次ã®èªçæ¥ãŸã§ããšå°ãã ãšãã圌ããRails Core ããŒã ã®ã¡ã³ããŒãšããŠçŽæ¥éçºã«æºãã£ã Active Record ã«ã€ããŠèªããŸããã ãžã§ã³ã¯ããæ°åŠçããã³è«ççåé¡ãããããç解ããã®ã«åœ¹ç«ã€ãããã以å€ã®å Žåã¯åœ¹ã«ç«ããªãããšããçç±ã ãã§é«çæè²ã«é²åŠããææãªè¥è
ã§ã ð ãã¡ãããããã¯äžéšã®çå®ãå«ã圌ã®åŽã®åè«ã§ãããããžã§ã³ã¯å®éã«ãŸããªããã³ãã³ã®ã¹ã¿ãŒãã¢ããäŒæ¥ã®CTOã«ä»£ããã幎ãè¶ããè³¢æãªã¹ãã·ã£ãªã¹ããšããå°è±¡ã ã ããããç§ã¯åœŒã«è©³çŽ°ãæŒãããªããšçŽæããã®ã§ãçŽæã¯å®ãå¿
èŠããããŸãã
ã«ã³ãã¡ã¬ã³ã¹ã®æåŸã«ã¯ãæäŸã®è³åæœéžäŒãè¡ãããŸãããä»åã¯ãYota ã®ã¬ãžã§ããã次ã®ããŒã¹ã¿ãŒã®ãã±ããã«å ããŠããã©ã³ãã® Habramails ãšæ°ããããŒã ã²ãŒã ãæœéžãããŸãããã
æåŸã®ã¡ã¢ãšã㊠- ã¢ãã¿ãŒããŒãã£ãŒ:
ã«ã³ãã¡ã¬ã³ã¹ã«è¯ãå°è±¡ãæã£ãŠããã ããã°å¹žãã§ã .ããŒã¹ã¿ãŒ {ã«ããŒ} â å€åœäººãç§ãã¡ãå©ããŠãããæºåãã§ããŠããã®ã§ãRuby ã«é¢ããã«ã³ãã¡ã¬ã³ã¹ãããäžåºŠéå¬ããã€ããã§ãã
次åã® .toaster 㯠JS ã«ç¹åãããã®ã§ã13 æ XNUMX æ¥éææ¥ã«éå¬ãããŸããæªéã®ãããªã·ã§ãŒããèŠéããªãã
PS ã®çããã«ç¹å¥ã«æè¬ããŸã
åºæïŒ habr.com