ã¯ããã«
ããã«ã¡ã¯ãããã¯ãªã¼ãã®ãã©ãã¿ã§ãã
ãå·ããããã¯ããã¾ãããã®å¹ãè¡ã彩ã£ã¦ä¹ ããããã¾ã ã¾ã æãæ¥ãç¶ãã¾ããã çªç¶ã§ãããçããã¯ä»å¤æ°ããã¯ããããã¨ã¯ããã¾ããï¼ å¼ç¤¾ã§ã¯ã¿ã¤ãã«ã®éãRustã§ãã¤ã¯ããµã¼ãã¹ã®éçºãã¯ããã¾ããã
ãã®è¨äºã§ã¯ããã¤ã¯ããµã¼ãã¹åãRustã«è³ã£ãèãã¨Rustã§éçºããã¦ã¿ãææ³ãè¿°ã¹ããã¨æãã¾ãã
ãªããã¤ã¯ããµã¼ãã¹åããã®ãï¼
ãå¼ç¤¾ã§ã¯ãµã¼ãã¹éå§å½åããRuby on Railsãç¨ãã¦éçºãé²ããããç¾å¨ã§ãæ©è½ã®è¿½å ãç¶ãã¦ãã¾ããã¢ããªã¹ã¨ãã¦ã©ãã©ã大ãããªã£ã¦ããã®ã§ããã大ãããªããã¨ã«ãã£ã¦ä»¥ä¸ã®ãããªèª²é¡ãåºã¦ãã¦ãã¾ãã
- æ°ããã¡ã³ãã¼ãã³ã¼ããææ¡ããã®ã«ããªãæéãè¦ãã
- æ¹ä¿®ã®å½±é¿ç¯å²ã大ãããªããè¦ç©ããé£åº¦ãä¸ãã£ã¦ãã
- ãã¹ãããã«ãã«æéãããããç´°ããªä¿®æ£ã§ããªãªã¼ã¹ã®ã³ã¹ããé«ã
- æ°ããæè¡ã«ææ¦ãã¥ãããªããã¡ã³ãã¼ã®æé·ãéåãã¦ãã
ãããã®èª²é¡ã解決ããããã«ãã¤ã¯ããµã¼ãã¹ã®æ¤è¨ãå§ãã¾ããã ãã¡ãããã¤ã¯ããµã¼ãã¹åã«ã¯æ§ã ãªãã¡ãªãããæããã¨ã¯æ¿ç¥ãã¦ãã¾ãã
ãã®ãã¡ãªãããè¸ã¾ããä¸ã§ããã¼ã ã¨ãã¦ã¯ã¡ãªããã®ã»ãã大ããã¨æãã¾ããããã¡ãªããã«ãã£ã¦çºçãã課é¡ã解決ãããã¨ã«ããæé·ãã¡ãªããã«å«ã¾ããã¨å¤æãããã¤ã¯ããµã¼ãã¹åãã¯ããããã¨ã«ãã¾ããã
ãªãRustãªã®ãï¼
ãã¾ãããã£ããã¨ããåé¡ã¨ãã¦éçåä»ãè¨èªã«ãã£ã¬ã³ã¸ãã¦ããããã¨ããã®ãæãã¾ãããå¼ç¤¾ã®ããã³ãã¨ã³ãã«ã¯TypeScriptãå©ç¨ãã¦ããã®ã§ããããã¯ãã³ã³ãã¤ã«ããªãã¨åãããããªãéçåä»ãè¨èªã®æ¹ãå人çã«ã¯å®å¿ã§ãã¾ããã¾ããæ¢åã®ãããã¯ããåçåä»ãè¨èªã®Rubyã§ãããããç°ãªãæ§è³ªã®è¨èªã§ç¥è¦ã貯ããããæåã«è§¦ãããã¨ã§ã®æé·ãä¿é²ã§ããã®ã§ã¯ãªããã¨ãã仮説ã®ãã¨éçåä»ãè¨èªãé¸æãã¾ããããã®æ®µéã§Rust, Go, Scala, TypeScript(Node.js)ãåè£ã¨ãã¦æãã£ã¦ãã¾ããã
ã次ã®è¦³ç¹ã¨ãã¦ã¯ã¤ã³ãã©å¯ãã®SREãåå¼·ããã¢ããã¼ã·ã§ã³ãä¸ãããã¨ããç¹ã§ãããã¤ã¯ããµã¼ãã¹ãéç¨ãã¦ããã¨ãããã¨ã§ããªã管ç対象ãå¢ãã¦ãã¾ãSREãã¼ã ã§ããããã£ããSREããã¦ããã ãã®ã§ããã°ããã¯ã¨ã³ãã®ã³ã¼ããèªã¿ãããã¤ã³ãã©æ¥åã§ãç¥è¦ã«ãªãè¨èªã®æ¹ãè¯ãã¨æãã¾ãããã®è¦³ç¹ã§TypeScriptã¨Scalaã¯é¤å¤ããã¤ã³ãã©ãã¼ã«ã§ãå¹ åºãå©ç¨ããã¦ããRustãGoã®äºæã«ãªãã¾ããã
ãRustãGoãã¨ããäºæã®ä¸ã§ãç¹ã«éãã謳ããã¦ããRustã¯é åçã§ãããå¼ç¤¾ã®ãããã¯ãã¯ã¢ã³ã±ã¼ããåéãã¦åæã«ã¤ãªãããã®ãªã®ã§ãããã¤ã³ã»ã³ãã£ãä»ãã¢ã³ã±ã¼ãã®å¤§éé ä¿¡æã«ããªãã®é«ãã©ãã£ãã¯ã¨ãªããµã¼ãã¹æä¾ãä¸å®å®ã«ãªããã¨ã課é¡ã¨ãªã£ã¦ãã¾ããè² è·ãæ¸ããã¨ãã観ç¹ã§ããã°ã©ã ã®éãã¯ã¨ã¦ãéè¦ã§ããã¾ããæã ã¯è¨è¨ãèãã«ããçµæçãç®ãè¦ã¦ããéå»ãããã®ã§ãè¨è¨ãèããä¸ã§éè¦ãªæ½è±¡åã«ããã¦çºçããã¡ã¢ãªã®ä½¿ç¨ãã¼ãã³ã¹ãæ½è±¡åã«ãã£ã¦æãããããã¨ãããªãã¡ãªããã§ããã ã¾ããèªåã®è¦³æ¸¬ç¯å²ã«ããã¦ã¯Rustã®ã»ããå¢ããããããã«æãã¾ãããGoogleãFacebookã¨ãã£ãä¸çè¦æ¨¡ã®ããã¯ã«ã³ããã¼ãå©ç¨ãã¦ããããæãæããã¦ããè¨èª1ä½ã§ããã¨ããäºå®ããããããããåå¼·ãããä¸ã§ã®å人çãªã¢ããã¼ã·ã§ã³ã«ãªãããããã ã£ãã¨ããã®ãããã¾ãããããã®è¦³ç¹ãè¸ã¾ãã¦å¼ç¤¾ã®ãã¤ã¯ããµã¼ãã¹åã¯Rustã§å§ãããã¨ã«ãã¾ããã
å®éRustã使ã£ã¦ã¿ã¦
ãç¹æ§ã¨ãã¦ä¾å¤ããªãã£ãããtraitã®ç¤ºããã®ãä»ã®è¨èªã¨éã£ãããã¾ãããä»ã®ããããã®è¨èªãåèã«ä½ããã¦ããã¨ãããã¨ãæããã©ã ãå¼ãªã©ã®ä¾¿å©ãªæ§æã¯ä¸éããµãã¼ãããã¦ãã¾ãããæ§æãæ¸ãã£ã·ãã®é¢ã§éåæã¯ãªããããªãæ¸ããããè¨èªã ãªã¨æãã¾ããã¨ãã£ã¿ã®ãã©ã°ã¤ã³ãRustèªä½ã®formatterãã¨ã¦ãè¯ãã§ãã¦ããã®ã§ãè¦ç´ãããããä½ããªãã¦ãä¸å®ã®ã¬ãã«ã®ã³ã¼ããæ¸ããã¨æãã¾ããããã ããã¯ãææ権ã«ã¤ãã¦ã¯æèãã¦ãããªããã°ãªããããã åãã³ã¼ããæ¸ãã ãã ã¨ãã¡ã¢ãªã浪費ãã¦ãã¾ãã³ã¼ãã«ãªãå±éºæ§ã¯ããã¨æãã¾ããããã¯ãã£ããã¬ãã¥ã¼ããã¦ãããªããã°ãªããªãã§ãããå®è¡é度ã¨å®å ¨æ§ãæã«å ¥ããã«ã¯å®ã対価ã ã¨æã£ã¦ãã¾ãã
ãçæç¹ã¨ãã¦2021å¹´8æç¾å¨ã§ã¯ãã¾ã ããã¯ã¨ã³ãéçºã®ãã¦ãã¦ãä½ç³»åããã¦ããªãæ§ã«ãæããã¾ããç¹ã«ãã¹ãã«é¢ãã¦ã¯xunitç³»ããã¹ããã¼ã¿ãä½æã§ããcrate(Rustã®ã©ã¤ãã©ãªã®ç·ç§°)ãã¡ã³ãããã¦ããªãã£ããããã¬ã¼ã ã¯ã¼ã¯èªä½ã®ããã¥ã¡ã³ãã«ãã¹ãã«é¢ããè¨è¿°ãä¸è¶³ãã¦ãããéçºãå§ããã«ããã£ã¦æ´åããã®ã«ããªãæéããããå°è±¡ã§ããããã§ãæ´åãã¦ãã¾ãã°ãéçºã«éä¸ã§ããã®ã§åæã³ã¹ãã¨ãã¦ã¯è¨±å®¹ç¯å²ããªã¨æãã¾ãã
ãããã«
ãããã§ããã§ããããï¼
ä»åã¯ãã¤ã¯ããµã¼ãã¹åã¨Rustãé¸å®ããçç±ãã話ããã¦ããã ãã¾ãããã¾ã éçºæ®µéã§æ¬çªéç¨ã¾ã§ã¯è³ã£ã¦ã¾ããããRustã¯ããªããã¯ãã«ã§é åçãªè¨èªã§ããã¨æãã¾ããæ¦å¿µãªã©ãå¦ãã§ãã¦æ¥½ããè¨èªãªã®ã§ãèªè ã®çæ§ãæ¯éä¸åº¦å¦ãã§ã¿ã¦ã¯ãããã§ããããï¼æ¬¡å以éè¨è¨ããã¹ãã«ã¤ãã¦å¼ç¤¾ã®Rustã§ã®éçºæ¹æ³ãå ±æã§ããã°ã¨æãã¾ãã
Emotion Techã§ã¯é¡§å®¢ä½é¨ãå¾æ¥å¡ä½é¨ã®æ¹åããµãã¼ãããä¸ã®ä¸ã®ä½é¨ãå¤ãããããã¯ããéçºãã¦ãã¾ãããããã¯ãã«èå³ã®ããæ¹ãRustãã¤ãã£ã¦ãã¤ãã¤ããã¨åãããã¼ã ã§ãããã¯ããããçéã«ãã¦ããããæ¹ãããã£ãããã¾ãããããã²æ¡ç¨ãã¼ã¸ãããå¿åããé¡ããããã¾ãã