å½ç¤¾ã¯Cookieã使ç¨ãã¦ãã客æ§ãå½ç¤¾ã®Webãµã¤ãã§ããè¯ãä½é¨ãå¾ãããããã«ãã¦ãã¾ããå¼ãç¶ãé²è¦§ããå ´åã¯ããã©ã¤ãã·ã¼ããªã·ã¼ã«åæãããã¨ã«ãªãã¾ãã
å½ç¤¾ã¯Cookieã使ç¨ãã¦ãã客æ§ãå½ç¤¾ã®Webãµã¤ãã§ããè¯ãä½é¨ãå¾ãããããã«ãã¦ãã¾ããå¼ãç¶ãé²è¦§ããå ´åã¯ããã©ã¤ãã·ã¼ããªã·ã¼ã«åæãããã¨ã«ãªãã¾ãã
Rails 3 ç³»+MySQL ãå©ç¨ãã¦ãããµã¼ãã¹åãã« 1. ã©ã®ããã«ããã«ããã¯ãæ¢ãã®ã 2. ã©ã®ãããªè¨è¨ãè¡ãã°ããã®ã 3. Railsä¸ã§ã©ã®ãããªã³ã¼ããæ¸ãã°ããã®ã ã®3ç¹ã«çµã£ã¦ãã®ãã¬ã¼ã³ãã¿ã¦ãã¥ã¼ãã³ã°ãè¡ããããã«è³æä½æãè¡ãã¾ããRead less
asin: 4797363827 title: â[Railsé«éå] ãã¼ã¸ãã£ãã·ã¥ãN+1対çãSQLãã¥ã¼ãã³ã°â category: Rails ð¯ tags: [Rails, Ruby, Gem]ãCookpadã§ã¯ã¦ã¼ã¶ã¼ã¸ã®ã¬ã¹ãã³ã¹ã¿ã¤ã ã200ms/reqãç®æ¨ã«ãã¦ãããã«æéãåãã¦æ¸ãå§ãããã®è¨äºã§ããããããã©ã¼ãã³ã¹ã»ãã¥ã¼ãã³ã°ããªã¹ã¹ã¡Gem in ãRailsåå¼·ä¼@æ±äº¬ 第88åããã§ããããæãã¦ããã£ãããæè¿é¢ãã£ã¦ãããµã¤ãã®ãªãã¥ã¢ã¼ã«ã§è©¦è¡é¯èª¤ããã®ã§ãå¿åé²ãå ¼ãã¦è¨äºãã¢ãããã¼ããã¾ãï¼ ð ç®æ¬¡(1) N+1åé¡ã®å¯¾ç (2) Railsã®ãã£ãã·ã¥ã«ã¤ã㦠(3) éçºä¸ãªãrack_mini_profiler (4) éç¨ä¸ãªãæç¶NewRelicããããã (5) mysqlã®ç°¡åãã¥ã¼ãã³ã° ð (1) N + 1å
Ruby on Rails ãããããå§ãã人åãã®æ å ± Ruby on Rails ãããããå§ãããã®ã§ãããã©ããªæ¬ãããããã§ããï¼ã¨èãããã®ã§ãã¡ãã£ã¨ã¾ã¨ãã¦ããããã¨æãã¾ãã » åã Ruby on Rails ã絶è³ããçç± - åã¯çºå±éä¸æè¡è ã¨ããã¨ã³ããªã¼ã2007å¹´ã«æ¸ãã¾ãããããã®å¾ç¶æ³ã¯ããããã¨å¤ãããåèªèº« iOS ã¢ããªã Android ã¢ããªãéçºããããã«ãªã£ãããWeb ãµã¼ãã¹ã§ã Python on GAE ã触ãããã«ãªã£ãããã¦ãå½æã»ã© Ruby on Rails ä¸è²ã¨ããããã§ã¯ãªããªãã¾ããã ã¾ããRuby on Rails ã®ç°å¢ãèªåã®éçºãã·ã³ã«ç¨æããã®ã » Mac OS X 10.8 Mountain Lion ã« Ruby on Rails ç°å¢ãã»ããã¢ãããã - åã¯çºå±éä¸æè¡è ã§æ¸ããããã«ã
ITã¨ã³ã¸ãã¢åãã®è³ªåã»åçã³ãã¥ããã£ãQA@ITãã§ããRSpec ã®ãã¹ããããããã¤ãããªã¼ãã³ã½ã¼ã¹ã® Rails3 ã¢ããªã¯ããã§ãããããã¨ãã質åã«å¯¾ãã¦åçããã¨ãããå°ãã¯ã¦ããä»ãããããããã§ããRailsã«éããªãããããã¾ããããã¡ãã£ã¨ãããµã³ãã«ã³ã¼ããç°¡æãªã¢ããªã¨ããã®ã¯ããããããã®ã§ãããããããã®è¦æ¨¡ã®ã¢ããªããããã¯å®éç¨ããã¦ããã¢ããªã§åèã«ã§ããã½ã¼ã¹ã³ã¼ãã¨ãªãã¨ãæå¤ã«ããã¨æãä»ããªãã£ãããã¾ãããRailsã¢ããªãªãããããèªããã¨ããã¹ãã¢ããªã®ãªã¹ããããã°ããã®ã«ã¨ãããæã£ãããã¦ãã¾ãã ãããªããã§ããã¾èªãã¹ãã ã¨ç§ãåæã«èãã¦GitHubã®ã¦ã©ãããªã¹ãã«å ¥ãã¦ããRails3ã¢ããªãã10åã»ã©ãªã¹ãã¢ãããã¦ã¿ããã¨æãã¾ãï¼å ¨é¨ã§11åã§ããï¼ãã»ãã«ãªã¹ã¹ã¡ãªã©ãããã°ããã²ã³ãã©ã§æ å ±ããå¯ããã ãã
ãªãªã¼ã¹ãããã®ãããããã«è³ãéç¨ãçç±ãèªåã«ã¨ã£ã¦å¤§äºãªã®ã§ãããæ®ãã¦ãããã¨æãã â» ãªããããããæ¸ãã¦ãªãã¨ãªãªã¼ã¹ãããã®ãã©ãã§ãããããã«èããããã©ããããªãã¨ãªããï¼ ä»ãåãç¶ããæ°ãããããããã® Rails ã ãã®ã Rails ã®æ¡ç¨ã«é¢ãã¦ãªã¬ãã¬ã¼ã ã¯ã¼ã¯ã¨ã®æ±ºå¥ã¨äººææ¡ç¨ã®ã³ã¹ããã¦ã³ããã¾ã§ãPHP 4.2 以éã§ä½¿ãããªã¬ã©ã¤ãã©ãªããªã¬ãã¬ã¼ã ã¯ã¼ã¯ã§å°è¦æ¨¡ãªãã®ãä½ã£ãããPHP 3 æ代ããã®ã¬ã¬ã·ã¼ã¨ãããéºè·¡ç´ã®ã·ã¹ãã ã®æ¼¸é²çãªãã¬ã¤ã¹ãªã©ãè¡ã£ã¦ããããã©ããéçãæãã¦ããããªããä»äºãå¾ãåããªæãããã¦ããããã®ã¾ã¾ã ã¨ãã£ã¨æ代ã«è¿½ãã¤ããã«çµããããã¨ããå±æ©æããã£ãã ã¾ããGoogle App Engine ã®ç»å ´ä»¥éæãã¦ããããã¡ã«å¿ è¦ãªæè¡ã¯ããã ããã¨å ·ä½çã«ã¯ã£ããè¨ãããã¨ãããã«ãã£ã¦çã¿åºããã¨ã®ã§ã
code school ã¨ããå¦ç¿ãµã¤ããããã¾ããç¾å¨ã¯ãRuby on Railsã«ç¹åããã³ã³ãã³ããããã¾ããã確èªããéãã§ã¯ãjQueryãHTML5 & CSS3ã®ã³ã³ãã³ããè¿ããã¡ã«å ¬éãããäºå®ã§ãã ãªã«ãããã¾ã©ããªã®ãï¼ Ruby on Railsï¼rails3ã«å¯¾å¿ãã¦ãï¼ãç¡æã§å¦ç¿ã§ãã Rails for Zombies ããã£ã¦ãããã°ãããã«ãããã®ã§ãããrailsç°å¢ãä¸åã¤ãããã¨ãªããWebãã©ã¦ã¶ã ãã§å®çµãã¦ããã³ã³ãã³ããªãã§ãã ã¤ã¾ãããã©ã¦ã¶ã«ã³ã¼ããæã¡è¾¼ãã§ããã¨ãåä½ããçµæãè¿ãã¦ãããã®ã§ããç°å¢ä½ãã«è¦å´ãããã¨ãªããå¦ç¿ã«å°å¿µã§ããã®ã§ãã åå¿è åãã®ã³ã³ãã³ãã ããããããããã£ãé æ ®ã¯å¤§äºã ãªãã¨èããã Rails for Zombies ã¯5ç« æ§æã«ãªã£ã¦ãã¦ã1ç« ãã¤åç»ã§ä¸å¯§ã«èª¬æããã¦ãããè±èªãèãå
ã¯ããã« æ¬é£è¼ã§ã¯ãWebã¢ããªã±ã¼ã·ã§ã³ã®æ°ããã¤ããæ¹ã«ã¤ãã¦ç´¹ä»ãã¾ãããã®ä¸å¿ã¨ãªããã¼ã¯ã¼ãã¯ããAgileããRubyï¼Railsï¼ããCloudãã®é æåããä»ãããARCãã§ãã ããããã®ãã¼ã¯ã¼ãã¯åå¥ã«èªããããã¨ãå¤ãã¨æãã¾ãããæ¬é£è¼ã§ã¯ãã®çµã¿åããã«ãã£ã¦çã¾ããç¸ä¹å¹æãç¸æ§ã®è¯ãã«ã¤ãã¦è§£èª¬ãã¦ããã¾ãã çè ã®æå±ããSonicGardenã§ã¯ããã®ARCãæ´»ç¨ãããã¨ã§ãããã¤ãã®Webã¢ããªã±ã¼ã·ã§ã³éçºãè¡ã£ã¦ãã¾ããã ä¾ãã°ãä¼æ¥åãã®SaaSã¨ãã¦æä¾ãã¦ãã社å SNS製åã®ãSKIPï¼http://www.skipaas.jpï¼ãããããªã¼ãã¢ã ã§æä¾ãã¦ããããã¸ã§ã¯ãæ å ±å ±æãã¼ã«ãyouRoomï¼http://youroom.inï¼ããªã©ã§ãã ãããã®Webã¢ããªã±ã¼ã·ã§ã³ã®éçºã¨éç¨ããã¦ããçµé¨ãå ¨4æ¬ã®è¨äºã«ã¾ã¨ãã¾ããã
ã¯ãã㫠第3åã®ä»åã¯ãæ£è¦åãããããã¼ãã«ãã¨ã人éã«ã¨ã£ã¦åããããããç»é¢ãããã®ã®ã£ãããè¶ ããããã®ä¸é層ã«ã¤ãã¦è§£èª¬ãã¾ãã Railsã«ããéçºã§ã¯ããã¼ãã«ã®æ§é ã«å¾ã£ã¦ãå ¥åé ç®ãç»é¢é·ç§»ã¨ãã£ãã¤ã³ã¿ãã§ã¼ã¹ã®ä»æ§ã決ã¾ãã¾ããå ·ä½çã«ã¯ããããã¼ãã«ã®ååã確å®ããã¨ãããã«æ²¿ã£ã¦ã¢ãã«ãã³ã³ããã¼ã©ã®ååã決ã¾ãããã¼ãã«ã®å±æ§ã«ãã£ã¦ãç»é¢ã®å ¥åºåé ç®ã決ã¾ãã¾ããããã«ãã¢ãã«ã®é¢é£ãæ¯ãèãã«å¾ã£ã¦ãå®ç¾©ããã¢ã¯ã·ã§ã³ãç»é¢é·ç§»ãã«ã¼ãã£ã³ã°ã決ã¾ãã¾ãã ãã®æ§åãã次ã®å³1ã«ç¤ºãã¾ãã ãã®ããã«ããã¼ãã«æ§é ã¨ã¤ã³ã¿ãã§ã¼ã¹ãç´çµãã¦ãµã¯ãµã¯ã¨ã¢ããªã±ã¼ã·ã§ã³ãä½æãã¦ããã®ããRailséçºã®é¢ç½ãã§ãã ããããããèãã¦ã¿ãã¨ãããã¼ãã«ãã¨ã¯ãæ£è¦åããããããã°ãã³ã³ãã¥ã¼ã¿ã«ã¨ã£ã¦åããããããæ§é ã§ãããã®ã¾ã¾ã ã¨ã使ãã¥ããã¢ããªã±ã¼
ã¯ããã« Rubyã¨åºä¼ã£ãããããã®ç°¡æ½ãã«æåããèè ã¯ããããã¾ã§èªç¶è¨èªã«è¿ãå½¢ã§ããã°ã©ã ãæ¸ããã®ã§ããã°ãã¤ã³ã¿ã¼ãããã¨PCã®éãããç解ããªã妻ã§ããå°ãã¯ããã°ã©ãã³ã°ãã§ããããã«ãªããããããªããã¨ã家åºã§ã®æ®åã«ææ¦ãããã¨ãããã¾ãã ãã®è©¦ã¿ã¯ã渡ããå ¥éæ¸ããã¯ããã¦ã®RUBAIãã¨èªã¾ããæç¹ã§é æ«ããããã§ããããã®çµé¨ãããRubyã®ææ³ã«å¾ã£ã¦ã¯ããããä½ããä»è¨èªã®åããæããã³ã¼ããã®ãã¨ããRubyã®æ½å¨åãçããããã¦ããªãã¨ããæå³ã§ãRUBAIã³ã¼ããã¨å¼ã¶ãã¨ã«ãã¾ããã ããã¦ã社å ã®ãã¾ãã¾ãªåéã®ããã°ã©ãã«Rubyéçºãæå°ãã¦ã¿ã¦åãã£ãã®ã¯ã"RUBAIã³ã¼ã"ã«ã¯ãå®è£ ã¬ãã«ã®ééãã¨ãè¨è¨ã¬ãã«ã®ééããããã¨ãããã¨ã§ãã å®è£ ã¬ãã«ã®ééãã¨ã¯ãå¦çãä»è¨èªã®ç¿æ £ã«å¾ã£ã¦è¨è¿°ãããã¨ã§å¼ãèµ·ãããã¾ããJavaããã°
以åãCSRFã«ã¤ãã¦ã®ã¨ã³ããªãæ¸ãã¾ããã CSRFã«ã¤ã㦠- ããããWEBãµã¼ãã¹éçºæ¥è¨ ä¸è¨ã¨ã³ããªã§ã¯CSRFã®æ¦å¿µã«ã¤ãã¦æ¸ãã¾ããããããå°ãã¤ã£ããã§èª¿ã¹ãå¿ è¦ãåºã¦ãã¾ããã調ã¹ããã¨ãæ¸ãã¦ããã¾ãã åºç¤ application.rb(ãªããé©å½ãªController)ã«protect_from_forgeryã¡ã½ãããå®ç¾©ããã°ãrailsãèªåçã«CSRF対çããã¦ããã¾ããã¨ããããããã©ã«ãã§application.rbã«ä¸è¨ã®ããã«æ¸ãã¦ããã®ã§ãç¹ã«ä½ãããã¨ãCSRF対çã¯ããããªãªã®ã§ãã protect_from_forgery # :secret => '8ff3ed33f86a431662d8dfe255acdb4a' railsã¯ãget以å¤ã®åè©ã®ãªã³ã¯ã«ãauthenticity_tokenã¨ãããã©ã¡ã¼ã¿ãèªåçã«ä»ãå ãã¾ããge
Ruby on Railsèªä½ã«ã¤ãã¦ã®è§£èª¬ã¯ããWebããã°ã©ãã¯Railsã«ä¹ãã¹ããï¼ããããRubyã§ã¢ã¸ã£ã¤ã«ãããã¿ã¤ãã³ã°ãã«ãããã¾ãã®ã§ããã¡ãããã²ã覧ãã ãããæ¬è¨äºã¯2006å¹´ã«å·çããããã®ã§ããRubyãRuby on Railså ¨è¬ã®ææ°æ å ±ã¯ï¼ IT Coding Edgeãã©ã¼ã©ã ããåç §ãã ããã ç´ æ©ãéçºãè¡ããRuby on Railsã«é©ãã¨ã¨ãã«ãRailsã®ããã¸ã§ã¯ãã®ç´ æ©ãã®æ ¹æºã¯ã©ãã«ããã®ãä¸æè°ã«æã£ã人ãå¤ããã¨ã§ãããã Ruby on Railsã®éçºã«ã¯ã37singals社ã®David Heinemeier Hanssonæ°ãä¸å¿ã¨ãã11åã§æ§æããããã¼ã ããããã£ã¦ãã¾ãã Core team behind Ruby on Rails Ruby on Railsã«ããWebã¢ããªã±ã¼ã·ã§ã³æ§ç¯é¢¨æ¯ãæ®å½±ããããã¤ãã®ã¹
ç±³Envy Labsã¯11æ18æ¥ããRuby on Railsï¼RoRï¼ããåãã¦ä½¿ãéçºè åãã®ãªã³ã©ã¤ã³ãã¥ã¼ããªã¢ã«ãRails for Zombiesããå ¬éãããRailsã使ã£ãããã°ã©ãã³ã°ãã¤ã³ã¿ã©ã¯ãã£ãã«å¦ç¿ã§ããã¨ããã RoRã¯Rubyã§ä½æããããªã¼ãã³ã½ã¼ã¹ã®Webã¢ããªéçºãã¬ã¼ã ã¯ã¼ã¯ãã¹ãã¼ãã£ã¼ã«éçºã§ãããã¼ã«ã¨ãã¦å®è©ãããã Rails for Zombiesã¯ãRoRåå¿è åãã®ãã¥ã¼ããªã¢ã«ããã°ã©ã ãè¨å®ã®å¿é ããããã¨ãªãã楽ããRailsã®å¦ç¿ãå§ããããã¨ããããã¨ãã½ã¼ããã¨ãããã5ã¤ã®ãããªã§æ§æããã¦ãããå¦ç¿è ã¯åãããªã®çµããã«å®éã«ãã©ã¦ã¶å ã§Railsããã°ã©ãã³ã°ãç·´ç¿ã§ãããå©ç¨ã¯ç¡æã ãªããRubyè¨èªã使ã£ããã¨ããªãéçºè ã«ã¯TryRuby.orgãæåã«å©ç¨ããããæ¨å¥¨ãã¦ããã ç±³Envy Labs h
ã¯ããã« Virtual Private Serverï¼VPSï¼ã¨ã¯ãä¸å°ã®ãµã¼ãã¼ä¸ã§ä»®æ³ãµã¼ãã¼ãä½å°ãèµ·åããããã¨ã§ãåã ã®ã¦ã¼ã¶ã¼ã«å¯¾ãã¦ç®¡çè 権éãä»ä¸ããå°ç¨ãµã¼ãã¼ã®ãããªç°å¢ãæä¾ãããµã¼ãã¹ã®ãã¨ãããã¾ããVPSã®ã¦ã¼ã¶ã¼ã¯ãµã¼ãã¼ã®ãªã½ã¼ã¹ãèªç±ã«ä½¿ç¨ã§ããCGIå®è¡ç°å¢ã®ã«ã¹ã¿ãã¤ãºã大è¦æ¨¡ãã¼ã¿ãã¼ã¹ã®å©ç¨ãªã©ãå¯è½ã§ãã ServersMan@VPSã¯ããã®VPSãæ ¼å®ã§æä¾ãããµã¼ãã¹ã®ä¸ã¤ãä¾ãã°ãServersMan@VPSã®ãEntryãã©ã³ãã§ã¯ãHDD容é10GBãã¡ã¢ãªã¼å®¹é256MBã®VPSããåæè²»ç¨ç¡æãæé¡490åã§å©ç¨ã§ãã¾ãã ã¾ããæéã®å®ãã ãã§ã¯ããã¾ãããç³ãè¾¼ãã§ããããå©ç¨ã§ãããVPSç°å¢ãç°¡åã«ãªã»ããã§ãããããã¥ã¢ã«ã管çãã¼ã«ãå å®ãã¦ããã¨ããã¡ãªãããããã¾ãã®ã§ã試é¨çãªéçºãå人çãªéçºã§ãµã¼ãã¼ã®ãã¥ã¼
å æ¥ã®ã¨ã³ããªã¼ã§ãå°ã触ããããRuby on Railsã®æ大ã®åé¡ç¹ã¯ããããæã¤ãä¸è¦ãã®ãã¬ã¼ã ã¯ã¼ã¯ãMVCã®å½¢ãã¨ããªãããMVCã®æã大åãªã¨ãããå¤ãã¦ãããããMVCãã§ãããç¹ã«ãããMVCï¼Model View Controllerï¼ããªãå¿ è¦ããæ ¹åºã®é¨åã§ã¡ããã¨ã¨æèããã«Railsã¢ããªã±ã¼ã·ã§ã³ãä½ãã¨ãå¾ã ã²ã©ãç®ã«ä¼ãã®ã§æ³¨æãå¿ è¦ã§ããã ãã®æå³ã§ã¯ãRailsã§MVCãå¦ã¶ããªã©ãã£ã¦ã®ä»ã ãããJavaã«ãRailsã¨åããããªãã¬ã¼ã ã¯ã¼ã¯ãä½ã£ã¦æ¥åç¨ã¢ããªã®éçºãå¹çåãããããªã©ã¨ããçºæ³ãã¨ã¦ãå±éºã§ããã ã¨ãããã¨ã§ãä»æ¥ã¯ã¾ãã¯MVCã®è§£èª¬ããã MVCã®çºæ³ã®æ ¹åºã«ã¯ããã¢ã¸ã¥ã¼ã«åã¨æ å ±ã®é è½ã«ãããããã°ã©ã ãã¹ãã²ããã£åããã®ï¼ã³ã¼ãéã®ç¸äºä¾åé¢ä¿ãè¤éã«å ¥ãè¾¼ãã§ãã¾ã£ã¦ã«ã£ã¡ããã£ã¡ãè¡ããªãç¶æ ã«ãªããã¨ï¼ãé¿
ãã¡ã¤ã«ã®ã¢ãããã¼ãæ©è½ãæããã¢ããªã±ã¼ã·ã§ã³ãéç¨ãã¦ããå ´åã¯ãã¦ã£ã«ã¹ã«ææãããã¡ã¤ã«ãã¢ãããã¼ãããããã¨ãèæ ®ããå¿ è¦ãããã¾ãã ããä½ã対çãã¦ããªãå ´åãã¦ã£ã«ã¹ã«ææãã¦ãããã¡ã¤ã«ãã¢ãããã¼ãããããã®ãã¡ã¤ã«ããã¡ã¤ã«ææè 以å¤ããã¦ã³ãã¼ããããã¨ã§ã2次被害ãçºçãã¦ãã¾ãããããã¾ããã ãã®ãããªäºæ ãé¿ããããã«ãããã¡ã¤ã«ãã¢ãããã¼ããããæç¹ã§ã¦ã£ã«ã¹ã»ã¹ãã£ã³ãå®æ½ããææãã¡ã¤ã«ã«ã¯ãªãã¹ãã¢ã¯ã»ã¹ã§ããªãããã«ãã¹ãæ§æã«ãããã¨ãæã¾ããã§ãã ã§ã¯ããã¡ã¤ã«ãã¢ãããã¼ããããéã«ãªã¢ã«ã¿ã¤ã ã«ã¹ãã£ã³ããã«ã¯ã©ããããããã§ããããï¼ ã¢ãã©ã¤ã¢ã³ã¹è£½åãæåã®ãã¼ã«ã使ããã¨ã§ç°¡åã«å®ç¾å¯è½ã§ã¯ããã¾ãããä»åã¯ããªã¼ãã³ã½ã¼ã¹ã»ã½ããã¦ã§ã¢ã®ClamAVãå©ç¨ãã¦ããªã¢ã«ã¿ã¤ã ã»ã¦ã£ã«ã¹ã»ã¹ãã£ã³ãå®ç¾ããæ¹æ³ãç´¹ä»ãã¾ãã
RailsDevCon2010ããç²ãæ§ã§ããã主å¬ãã¤çºè¡¨ã®ã声ãããã@ysakakiãããã¹ã¿ããã®æ¹ã ãã¹ãã¼ã«ã¼ãçºè¡¨ãèãã¦ãããã¿ãªãã¾ãã©ãããããã¨ããããã¾ããã ä»åããRailsããã¸ã§ã¯ããæåãããããã«ç¾å ´ãã§ãããã¨ãã¨ããã¿ã¤ãã«ã§è©±ãããã©ã³ã£ãããããããRailsã«é¢ä¿ã®ãªã話ããªãã±ç¨åº¦ã«ã¡ããã£ã¨ã以ä¸ãè³æã§ãã ãã¼ãã¨ãã¦ã¯ã@ysakakiãããã声ãããã¦é ããæã«ã[Railsã®ç¾å ´ã§ã¾ã ã¾ã ãã¼ã¸ã§ã³ç®¡çãããã¦ãªãã¨ãããããããããããåºæ¬çãªã¨ãããæ¹ãã¦èµ¤æ¾ããã®æ¹ãã話ãã¦æ¬²ãããã¨è¨ããã¨ã ã£ãã®ã§ãå人çã«åºæ¬çãªæã¨è¨ãã¨ãTDDãã¨ããã¼ã¸ã§ã³ç®¡çã(ã§ããã°ç¶ç¶ã¤ã³ãã°ã¬ã¼ã·ã§ã³ããããã)ã ã£ãã®ã§ããã®å¤ãè¸ã¾ãã¦æè¡çè² åµã¨ãããããã¯ãæ±ã£ãã å ·ä½çãªè©±ããã¦ããã¹ã¯ãªã¼ã³ä¸ããã³ã¼ãèªã¿ã¥ãããããã
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}