Slides for Ruby on Ales 2015 talk "The Recipe for the World's Largest Rails Monolith" https://ruby.onales.com/speakers#therecipefortheworldslargestrailsâ¦
ã¦ã¼ã¶ãã¡ã¼ã¹ãæ¨é²é¨ã®ä¸¸å±±(@h13i32maru)ã§ãã å æ¥ãæ®ãã¬ã·ããã¨ãããµã¼ãã¹ã cookpad.com ã«ã¦å ¬éãã¾ããããæ®ãã¬ã·ããã¨ãããµã¼ãã¹ã¯æçæ¬ãéèªã®ã¬ã·ããåçã«æ®ã£ã¦ã¯ãã¯ãããä¸ã«ä¿åã§ããã¨ãããã®ã§ããæçæ¬ãéèªã§ã¬ã·ããè¯ãè¦ãæ¹ã¯ãã²ä½¿ã£ã¦ã¿ã¦ãã ãã(Androidã¢ããªçãããã¾ã)ã ãã®ãæ®ãã¬ã·ããã¯å ¨ä½å ¬éåã«ä¸é¨ã®ã¦ã¼ã¶ã«éå®å ¬éããã¦ãã¾ãããããã¦å ¨ä½å ¬éãããã«ãããããã³ãå´ã®ã³ã¼ããå ¨é¢çã«æ¸ãæãé«éåãè¡ãã¾ããããã®çµæãæ大ã§30åé«éåãããã¨ãã§ãã¦ã¼ã¶ã®ä½¿ãåæãåä¸ãã¾ããã以ä¸ããæ¸ãæãåãã¨ãæ¸ãæãå¾ãã®è¨æ¸¬çµæã§ã(Android端æ«8æ©ç¨® + iOS3æ©ç¨®ã§åæä½ã®ã¿ã¼ã³ã¢ã©ã¦ã³ãæé*1ãè¨æ¸¬)ã é²è¦§ç³» æ大: 30åé«éå(4.2ç§â0.14ç§) å¹³å: 15.7åé«éå(3.6ç§â
åãã¾ãã¦ãã¤ã³ãã©ã¹ãã©ã¯ãã£ã¼é¨ã®å è¤ (@EugeneK) ã§ãã ã¯ãã¯ãããã§ã¯ç¾å¨178ä¸ãã®ã¬ã·ããå ¬éããã¦ãã¾ãããç®çã®ã¬ã·ããæ¢ãããã«æ¤ç´¢æ©è½ãæä¾ãã¦ãã¾ãã ä»åã¯æ¤ç´¢æ©è½ã®è£å´ã®ä»çµã¿ã«ã¤ãã¦ãã¤ã³ãã©ã¹ãã©ã¯ãã£ã¼ã®è¦³ç¹ããã話ããããã¨æãã¾ãã å ¨ã¦ã®æ¤ç´¢æ©è½ãæ¯ããSolrã¨å¨è¾ºã®ã¢ã¼ããã¯ã㣠ã¯ãã¯ãããã«ã¯ã¬ã·ãã®æ¤ç´¢ã ãã§ãªãæ§ã ãªæ¤ç´¢æ©è½ãããã¾ããããã®å ¨ã¦ã¯Solrãæ´»ç¨ãã¦å®è£ ããã¦ãã¾ãã 以åã¯MySQL Tritonnã«ããå ¨ææ¤ç´¢æ©è½ã使ç¨ãã¦ãã¾ãããã2011å¹´é ããSolrã«åãæ¿ããã¾ããã ã¯ãã¯ãããã§ã¯Solrããã¹ã¿ - ã¹ã¬ã¼ãæ§æã«ãããã¨ã§åé·æ§ã¨è² è·åæ£ãå®ç¾ãã¦ãã¾ãã以ä¸ã®æ§æå³ãã覧ãã ããã ãã¹ã¿ã¨ã¹ã¬ã¼ãã®éã«ã¯ããªãã¼ã¿ã¨å¼ã°ããæ¤ç´¢ã¤ã³ããã¯ã¹ãä¸ç¶ããããã ãã®å½¹å²ã®ãµã¼ãããã¾ãããã®
ããã«ã¡ã¯ãæè¡é¨ã®åå·ã§ãã ä»åã¯ã¯ãã¯ãããã®éçºç°å¢æ§æãç¹ã«éçºç¨ãã¼ã¿ãã¼ã¹ã®æ§æã«ã¤ãã¦ãç´¹ä»ãã¾ãã éçºç°å¢ã®æ§æ ã¯ãã¯ãããã®ã·ã¹ãã ç°å¢ã¯ä»¥ä¸ã®ãããªãã§ã¤ãºã«åããã¦ãã¾ãã â» ããã¯cookpad.comã®æ§æã§ããµãã·ã¹ãã ãåå¥ã®ãµã¼ãã¹ã¯ãã®è¦æ¨¡ãç¹æ§ã«å¿ãã¦æ§æãç°ãªãã¾ãã development éçºè ãå®éã«éçºãè¡ãç°å¢ã§ããã¯ãã¯ãããã§ã¯ä»®æ³ç°å¢ã¯ç¨ãããæå ã®ãã·ã³ã§Railsã¢ããªã±ã¼ã·ã§ã³ãåããã¦éçºãè¡ã£ã¦ãã¾ãã ãã¼ã¿ãã¼ã¹ã¯ãã¼ã«ã«ã§ã¯ãªããéçºè å ¨ä½ã§å ±éã®éçºç¨ãã¼ã¿ãã¼ã¹ã«æ¥ç¶ãã¦ãã¾ãã test æå ã§ãã¹ããå®è¡ããå ´åã¯ããã¼ã«ã«ãã·ã³ã®ãã¼ã¿ãã¼ã¹ãå©ç¨ãã¾ããCIï¼rrrspecï¼ãªã©ã®å ´åãåæ§ã§ããã¹ãå®è¡ãµã¼ãã¼ã®ãã¼ã¿ãã¼ã¹ãå©ç¨ããã¾ãã staging stagingã¨ããã°æºæ¬çªç°å¢ã¨ãã¦ãæ¬
ã¯ãã¯ãããã®ã¢ããªãç´¯è¨2,000ä¸DLãçªç ´ãæ»å¨æéã3å²ä¼¸ã°ããAndroidçãææãã2人ã«ä¼ã£ã¦ãã ã¢ãã¤ã«ãã¡ã¼ã¹ãé¨ã®å «æ¨ããï¼å³ï¼ã¨æ»å£ããï¼å·¦ï¼ ã¦ã¼ã¶ã¼ç®ç·ã§ãµã¼ãã¹ãä½ãç¶ãã¦ããä¼ç¤¾ã¯ï¼ã¨ãã質åã«ããã¯ãã¯ããããã¨çãã人ã¯ãã£ã¨å°ãªããªãã¯ããå社ã®ã¢ããªã®ãã¦ã³ãã¼ãæ°ã¯ç´¯è¨2,000ä¸ãçªç ´ããã¹ãã¼ããã©ã³ããã®é²è¦§ã¯ç´è¿ã§å ¨ä½ã®7å²ä»¥ä¸ãå ããã¾ã§ã«ãªã£ã¦ããã ä»å¹´2æãã¯ãã¯ãããã«æ°ãã«çµæãããã®ããã¢ãã¤ã«ãã¡ã¼ã¹ãé¨ãå ¨70人強ã®ã¨ã³ã¸ãã¢ã®ãã¡ã10%ã»ã©ãæå±ãããã¢ããªã®éçºãéç¨ã¯ãã¡ãããã¢ãã¤ã«ãã¡ã¼ã¹ãã社å å ¨ä½ã§æ¨é²ãããã¨ãã¨äººæ°ã§ã¯å§åçã«å¤ãWebã¨ã³ã¸ãã¢ãã¢ãã¤ã«ã«ã·ããããå¾æ¼ãããããã¨ãããã·ã§ã³ã«æ²ããã ä»åã¯ããããªã¢ãã¤ã«ãã¡ã¼ã¹ãé¨ã®å «æ¨ä¿åºããã¨ãæ»å£å¥å¤ªéããã«ã話ã伺ã£ããäºäººã¨ããAn
æè¿ãæ°è¦äºæ¥ã®ç«ã¡ä¸ããå éããã¦ããã¯ãã¯ãããã[[DQ]]èµ·æ¥ãå¿ã人ã®ããã®çµç¹[[DQ]]ã¨ããã³ã³ã»ããã§ãå°æ°ç²¾éã®ç¤¾å¡ãæ°ãµã¼ãã¹ã®éçºã«æãã§ããã¨ããããã®æ°çµç¹ä½å¶ã®çãã¯ã©ãã«ããã®ããå ¨3åã«ããããã¤ã³ã¿ãã¥ã¼ããã ã¯ãã¯ãããã®æ°ããªææ¦ã ã¯ãã¯ããããæè¿ãæ°è¦äºæ¥ã®ç«ã¡ä¸ããå éããã¦ãããâèµ·æ¥ãå¿ã人ã®ããã®çµç¹âã¨ããã³ã³ã»ããã§ãæ°è¦äºæ¥éçºå®¤ããè¨ç«ãå°æ°ç²¾éã®ç¤¾å¡ãæ°ãµã¼ãã¹ã®éçºã«æãã§ããã¨ããããããç¾å¨âä¸äººä¸ãµã¼ãã¹âã¨ãããã¼ããæ²ããä¼ç»ããéçºã¾ã§ãã»ã¼ä¸äººã®ç¤¾å¡ãç¬åã§è¡ãªã£ããããã¦ãããããã ã¯ãã¯ãããã¨ããã°ãæµ·å¤ãããä¸ç®ç½®ããããæ¥æ¬ã代表ããWEBãµã¼ãã¹ã®éãæ°ããªåãçµã¿ãå§ãããã¨èãã°ãæ¾ã£ã¦ããããã«ã¯ãããªãããããããããã¨ã³ã¸ãã¢å人ã®çºæ³åãéçºåãä¿é²ãããããªåãçµã¿ã¨ããã°ããªãã
2æåãããã¯ãã¯ããããã®iPhoneã¢ããªãæ°ãããªã£ããå¾æ¥ã¯ãæ¤ç´¢æ©è½ä¸å¿ã®ã·ã³ãã«ãªã¢ããªã ã£ãããæ°ã¢ããªã¯ã¬ã·ãææ¡æ©è½ãªã©ãå å®ãããå¤æ©è½ã§ã¢ãã³ãã¶ã¤ã³ãWebæ¥çã§ã¯å¥½è©ã§ã絶è³ãããã¥ã¼ã¹ã¡ãã£ã¢ãããã°ãå¤ãã£ãã ã ããã¦ã¼ã¶ã¼ãApp Storeã«æ稿ããã¬ãã¥ã¼ã¯è¾ãã¤ã ã£ãããåã®æ¹ãè¯ãã£ããã使ãã¥ããããªã©é ·è©ãéä¸ããâã1ã¤ã®è©ä¾¡ã大éã«æ稿ãããâçä¸âç¶æ ã«ãªã£ã¦ããã ãã®å¾ã®ãã¼ã¸ã§ã³ã¢ãããªã©ã§å¾ã ã«è©ä¾¡ã¯æ»ã£ã¦ãããææ°ãã¼ã¸ã§ã³ã§ã¯ãâ4ãããâ5ãã®è©ä¾¡ãå¢ãã¦ãããã ããæåã®ãã¼ã¸ã§ã³ã¢ããæã«å¤ãã®ã¦ã¼ã¶ã¼ãä½è©ä¾¡ãæ稿ãããããå ¨è©ä¾¡ã®åè¨ãè¦ãã¨ã3ææ«ç¾å¨ã§ãããâ1ãã大å¤æ°ã®ã¾ã¾ã ã æãã¬åå¿ã«ãã¯ãã¯ãããã®æ©æ¬å¥å¤ªCTOã¯ãã¡ã¸ã£ã¼ãã¼ã¸ã§ã³ã¢ããã§å®æã§ã¯ãªãããããããã¹ã¿ã¼ããæ¹åãç¹°ãè¿ãã¦ããããã
ãªããçªç¶æ±äº¬è¡ããããªã£ãã®ã§ãã²ãã²ããã¨è¡ã£ã¦ããã ãã¾ãã¾ç«ã¡å¯ã£ãã¯ãã¯ãããã£ã¦ããä¼ç¤¾ã§ã¯ãã¯ãããæµUIã®ä½ãæ¹ã¨ããåå¼·ä¼ãã¦ãã®ã§ãå¶ç¶æã¡åããã¦ããã¯ã¦ãªã¹ããã«ã¼æ¸¡ãããããããæçããã ãããããã UI/UXã®ããã®Sass æ± ç°ãã / ãµã¼ãã¹ãã¶ã¤ã³é¨ Sass / Haml (ã¨ã³ã¸ãã¢ã»ãã¶ã¤ãã¼åããã«) Github ãã¶ã¤ãã¼ãpull req ä¸ã¤ã®ãµã¼ãã¹ãè¤æ°ãã¼ã ã§éçº åããã¤ã¹ã§éããµã¤ã¯ã«ã§ã®éçº Sassã¨ã¯ â ããã å ¨ä½ã®ãã¶ã¤ã³ãæãã â ãã¶ã¤ã³ã¬ã¤ãã©ã¤ã³ ã¬ã¤ãã©ã¤ã³ Sassã§çµ±ä¸çãªãã®ãæä¾ãã ç»åã使ããã«CSSã§ãã¶ã¤ã³ããã¡ãªãã mixinãã¤ãã£ã¦çµ±ä¸ã§ãã ç»åç·¨éããããªã ããããã£ã®å¤æ´ã«ãã£ã¦ãã¶ã¤ã³ã«å¹ ãããããäºãã§ãã mixinã®ä¸èº«ã¯å¿ç¨ããããããªä»çµã¿ã«ãã¦ãã æ¤è¨¼ã
é害
ã©ã³ãã³ã°
ã©ã³ãã³ã°
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}