I'll introduce a new pattern for testing, against external APIs (like HTTP#get) with ruby 2.1 refinements instead of Dependency Injection. "Interceptor Injection pattern" is a word coined by me. Better idea for this pattern is always welcome.
Rebuild.fm#29 è´ãã¦ã¦å°ãèªããããªã£ã¦ãã®ã§æ¸ãã¦ã¿ãã ãã¹ãè2014 â Hidden in Plain Sight ããçºãã¦ãã¨èªèãã¦ããã ãã©æ°å¹´æ©ã ãã¹ãã«ã¤ãã¦çãä¸ãã£ã¦ã¾ããï¼ ã§ãå人çãªæè¦ãæ¸ãã¾ãã«ã俺ã¯ãã¹ãã©ãããã³ã³ãã¥ã¼ã¿ãµã¤ã¨ã³ã¹ãå¦ãã äºãªã人éã§ãã®ã§è²ã è¦å½éããªäºè¨ã£ã¦ããããããªããã©ãã¨ã³ã¸ãã¢ã®ã¹ã¿ã¼ããçµã¿è¾¼ã¿ç³»ã® QA ã¨ã³ã¸ãã¢ãªã®ã§ç¾å ´æè¦ã¯ãããªãã«ããã¤ããã§ãã ã§ãæ©éãªãã ãã©ä¸è¨ããã°ããå¼ç¨ããã¦ããã㨠ã¾ãããªãã«ãããç¾å¨ã®ã¦ã§ãã¢ããªéçºã«ããããã¹ããªãã¦ä¸æ©ééããã°ãã¾ã¾ãã¨ãã¿ãããªã¬ãã«ã ããããããªã«åç主義çã«ãªãã®ã¯ããµãããã£ã¦è©±ã§ãã id:kennejima ã«ç¾ãã¼åæã§ãã¶ã£ã¡ããã¡ãã㨠QA ãã£ã人éããããã¨å¢çå¤ãã¹ããããã¦ãªãããã¯ã¤ãããã¯ã¹ãã¹ãã
ä¿ºã¯æ±å³¶æ°ã¨ããããæ°ã¨ãé¢èã¯ãªãã§ããããäºäººã¨ãã俺ã®ãã¨ãç¥ã£ã¦ããã¨ã俺ãç¥ã£ã¦ãç¨åº¦ã«ã¯çãæ¥çã§ãããã©ã¡ããã«è©å ¥ããããããã§ã¯ãªãã§ããå§å©ãããããã§ããªãã§ããæ®æ®µãã¾ãããã§ã¯è¨åããªãã§ãã俺ã¯ä»ã®ä»äºã¨ãã¦ã¯ãã¹ããæ¸ããããã¹ãã宿½ãããããä¿ããã¦ããªã¯ãããã®ãã§ãããããã°ãã¹ãã¯æ¬æ¥ã§ãã®ã§ããã¹ãã«è¨åãããã¨ã¯ä»ç¾å¨ã®ååã«å¯¾ãã¦æå³ããªãåãåããæ¹ãããå¯è½æ§ãããã®ã§å°ãã®ã§ãããããã£ã¦æ®æ®µã¯ããã§ã¯ãã¾ããã¹ãã®è©±ã¯ããªãããã ããã ããã¨è¨ã£ã¦æ²é»ãç ´ã£ã¦ãã¹ãã®è©±ãããã®ãååã«å¯¾ãã¦å«ã¿ãããã¨ããããã§ããªãã§ããã¨ã¯ãã俺ã¯å¤§å¦çã§çé¢ç®ã«ã½ããã¦ã¨ã¢å·¥å¦ã®è¬ç¾©ãåè¬ãããã¨ããªããçµé¨ã¨åã¨æåã£ãæµæã ãã§é£ã£ã¦ãã®ã§ãããããæå³ã§ã¯è¥å¹²ã®å¾ããããæ°æã¡ãããã 俺ãç¾è·ã«è»¢è·ãã¦ãã¦ä¸çªã³ã£ããããã®ã¯ãªãã¨ãã£ã¦
AWS Developer Tools Blog Stubbing AWS Responses I come across questions frequently about how to test an application that uses the AWS SDK for Ruby (aws-sdk gem). Testing an application that makes use of an external service is always tricky. One technique is to stub the client-level responses returned by the SDK. AWS.stub! Calling the AWS.stub! method in your ruby process configures the client clas
éçºã¡ã¢ãã®3ã§ããä»å㯠Perl ã®ãã¯ãªãã ä½å¹´ãåã«ä½ã£ãã¦ã§ãã¢ããªã±ã¼ã·ã§ã³ã®ã³ã¼ããéãã¦ã¿ãã黿´å²ãªã³ã¼ããåºã¦ãã¦æé¬±ãªæ°åã«ãªãããããªçµé¨ããã¾ããããç§ã¯ããã¾ãããã£ã¨ãããªç¾å®ããç®ãèãã¦çãã¦ãã¾ããã ãã¦ãå æ¥ Perl + CGI ã§æ¸ã㦠Apache::Registry ã§é«éåãã¦ãããå®è¡ç°å¢ã Apache ã«ççãã CGIã¢ããªã±ã¼ã·ã§ã³ãçºè¦ãã¾ããããããã£ãä¸ããä½ãç´ãããæ°æã¡ããã£ã¨å ªãã¦ãããã Plack åãããã¨ãªãã©ã¼ã ãã¦ããã¨ãã¾ãããããã®éç¨ã以ä¸è¨ãã¾ããåçããã©ã¢ã»ã¢ãã¿ã¼! ・・・ã¨ãã¯æå¾ ãããå°éãªå¤æ´ãç©ã¿éãã¦ããã®ãã³ãã§ãã æ¹é ãããªãã³ã¼ããããããæ¸ãæãã¦ããã¨ããããã¯ã試è¡é¯èª¤ã®ããããç°å¢ã«ç§»è¡ããã¦ãããªãããªãã©ã¼ã ãé²ãã¾ããé åãã§ãããçµæçã«ãã®å¾ã®éç¨ã楽
æå¼ç¤¾ã®ã¡ã¤ã³ãããã¯ããæ±ãã spec ãã¡ã¤ã«ã®ä¸ããæãå®è¡æéã大ããé ã«8åã® spec ãã¡ã¤ã«ã使ã£ã¦ã(1) reeã(2) 1.9.3-p374ã(3) 2.0.0dev r38890 ã®3ã¤ã® ruby ãã¡ã«é度ãç«¶ã£ã¦ããã£ããï¼ ãã£ããï¼ruby 2.0 ããããã£ï¼ (ä¸è¨ã®çµæã¯è¤æ°è©¦è¡ã®å¹³åå¤ã§ã¯ãªãã®ã§ããã®ç¹ã注æãã ãã)
2013å¹´ã¯ããã®TDD Boot Camp in å¤§éª å¤ä¼ ã®è³æã§ãã http://kokucheese.com/event/index/64957/
ææ°ã®è¨äºã¯ãã¡ãã§ãã Fluentdã®ãã¹ããããéç¨ã§æ¬²ããã£ãã®ã§ãApacheã®ãã°ãçæãç¶ããã¹ã¯ãªãããæ¸ãã¾ããã ã¨è¨ã£ã¦ãçæé¨åã¯TreasureDataã®ã¹ã¯ãªããã丸ã±ããã§æµéå¶éããããªãã·ã§ã³ã追å ãã¦å»¶ã ã¨åºåããããã«ããã ãã§ãã frsyuki++ã æå ã§ãµã¯ãã¨productionã§ç¢ºèªã§ãã人ã¯ãããã¾ããã ä½¿ãæ¹ã¯ä»¥ä¸ã®ãããªæãã§ãã詳細ã¯READMEãè¦ã¦ãã ããã ruby sample_apache_gen.rb [--rate=0] [--limit=0] [--rotate=0] [--progress] [--json] [outfile] --rate æ¯ç§ä½ã¬ã³ã¼ãçæãããã®æå®ã0以ä¸ã¯å¶éç¡ãã --limit æå¤§ä½ä»¶åºåãããã0以ä¸ã¯å»¶ã ã¨åºåãç¶ããã --rotate ãã¼ãã¼ã·ã§ã³ã®ééãåä½ã¯ç§æå®ã
Dev Process Improvement PlatformDeployGate supports team-based product development for apps under development, including distribution, bug reports, and more. Try for Free Quickly share apps with teamsQuickly distribute/share Android/iOS apps with the Distribution feature. Regularly share apps under development with your team to increase awareness, align goals, and accelerate projects. View details
2012å¹´08æ21æ¥ ã½ããã¦ã§ã¢éçºã§ã®ãã¹ãã¨ã¯ä½ããåç´ã«è¨ãã¨ãææç©ãæå¾ éãã§ããããæ¤è¨¼ãã使¥ã¨ããããããåä½ãã¦ã»ããã¨ããæå¾ ãå ¥åã«ãææç©ããã®éãã«åä½ããããæ¤è¨¼ããã®ããã¹ãã§ããã ã¨ãªãã¨ãææç©ã¨ã¯ä½ã§ãæå¾ ã¨ã¯ä½ããåé¡ã«ãªãã®ã ããã©ããããä¸çç¸ã§ã¯ãªããã¨ããã®ããã·ã¹ãã ã¯ååã«è¤éãªã®ã§ãããé¨åãè¤æ°ã®é¨åã«åãããã¨ãã§ãããããã®é¨åããã大ããªé¨åã®ãã¼ãã«ãããªãã¨ã¿ãªããã¨ãã§ããããã ã ã ããã¨ãã£ã¦ãä¸çªå¤§ããªåä½ã§ãã£ã¦æå¾ éãã«ãããã©ãããæ¤è¨¼ããã°æ¸ã話ãã¨ããã¨ããããããã§ããªããã¨ããã®ãã大ããªåä½ã«ã¯å¤§ããªåä½ãªãã®æå¾ ããå°ããªåä½ã«ã¯å°ããªåä½ãªãã®æå¾ ã¨ãããã®ãåå¨ããããã ã ã·ã¹ãã éçºã¯ãã²ã¨ã¤ã®ãã®ããã§ã¯ãããã¨ãã§ããªããã·ã¹ãã ãã¤ãã£ã¦æ¥åãéè¡ã§ãããã¨ããæ¤è¨¼ã¨ããã®é¨åã§ã
ITã¨ã³ã¸ãã¢åãã®è³ªåã»åçã³ãã¥ããã£ãQA@ITãã§ããRSpec ã®ãã¹ããããããã¤ãããªã¼ãã³ã½ã¼ã¹ã® Rails3 ã¢ããªã¯ããã§ãããããã¨ãã質åã«å¯¾ãã¦åçããã¨ãããå°ãã¯ã¦ããä»ãããããããã§ããRailsã«éããªãããããã¾ããããã¡ãã£ã¨ãããµã³ãã«ã³ã¼ããç°¡æãªã¢ããªã¨ããã®ã¯ããããããã®ã§ãããããããã®è¦æ¨¡ã®ã¢ããªããããã¯å®éç¨ããã¦ããã¢ããªã§åèã«ã§ããã½ã¼ã¹ã³ã¼ãã¨ãªãã¨ãæå¤ã«ããã¨æãä»ããªãã£ãããã¾ãããRailsã¢ããªãªãããããèªããã¨ããã¹ãã¢ããªã®ãªã¹ããããã°ããã®ã«ã¨ãããæã£ãããã¦ãã¾ãã ãããªããã§ããã¾èªãã¹ãã ã¨ç§ãåæã«èãã¦GitHubã®ã¦ã©ãããªã¹ãã«å ¥ãã¦ããRails3ã¢ããªãã10åã»ã©ãªã¹ãã¢ãããã¦ã¿ããã¨æãã¾ãï¼å ¨é¨ã§11åã§ããï¼ãã»ãã«ãªã¹ã¹ã¡ãªã©ãããã°ããã²ã³ãã©ã§æ å ±ããå¯ããã ãã
2012å¹´04æ19æ¥ æè¿ãæ°äººã®ãã¹ãã³ã¼ããè¦ãæ©ä¼ããããã¦ããããã¹ãã®æ¸ãæ¹ã«ã¤ãã¦èããæ©ä¼ããã£ããã¦ããããã¹ãã¯ãã³ãã¬ã¼ãã¿ãããªãã®ãããã®ã§ãããããæ¼ãããã°ã誰ã§ãç°¡åã«æ¸ããã¨ãã§ããã ããã§ã¯ããã®æ¹æ³ã«ã¤ãã¦ç´¹ä»ãããããµã³ãã«ã¯RSpecã§æ¸ããããã®ä»ã®ã¦ããããã¹ããã¬ã¼ã ã¯ã¼ã¯ã§ããå¿ç¨ãã§ããã¨ãããã ã¯ããã«ããåç´åããã¨ããã¹ã対象ã¯ç¶æ ãæã¡ãå ¥åãä¸ããã¨ä½ããã®åºåãè¡ãªããã®ã§ãããå ¥åãå¤ããã°åºåã¯å¤åããããç¶æ ãå¤åããã¨å ¥åãåãã§ãåºåãå¤ããï¼ãããããªãï¼ã ã¦ããããã¹ãã¯ããã¹ã対象ã®ç¶æ ãæä½ããä¸ããå ¥åã«ãã£ã¦æå³éãã®åºåãå¾ããããã確èªãã使¥ã®ãã¨ãããããªã®ã§ãã¦ããããã¹ããæ¸ãã¨ãã«ã¯ããªãã¸ã§ã¯ãã®ç¶æ ãã¨ã«ã¡ã½ããåä½ã§å ¥åã¨åºåã確èªããããã«ããã RSpecã®çä¼¼ã³ã¼ãã§æ¸ãã¨
æè¿ãiOSã¢ããªã®éçºã§ãç¶ç¶çã¤ã³ãã°ã¬ã¼ã·ã§ã³(CI)ãåãå ¥ãã¦ããããã¸ã§ã¯ããå¢å å¾åã«ããããã§ãå種ãã¼ã«ãã©ã¤ãã©ãªããã¦ãã¦ãåºåã£ã¦ãã¦ããããã«æãããã¾ããããã§ç§ãæ©éiOSã¢ããªéçºã§ã®CIå°å ¥ã試ãã¦ã¿ããã¨ã«ãã¾ãããä»åã®å°å ¥è©¦é¨ã§ã¯ã以ä¸ã®ãããªç°å¢ãæ³å®ãã¦è¡ãã¾ããã iOSã¢ããªã®éçºããXcode 4.Xç³»ã®ããã¸ã§ã¯ãã¨ãã¦è¡ãã VCSã«ã¯gitãæ¡ç¨ããgithubã®å ¬éãªãã¸ããªããªãã¸ããªãµã¼ãã¼ã¨ãã¦ä½¿ç¨ããã CIãµã¼ãã«ã¯Macãæ¡ç¨ããããã¸ã§ã¯ãããã«ãããããã«Xcode 4.Xãã¤ã³ã¹ãã¼ã«ãã¦ããã â å¿ è¦ãªãã¼ã«ãæºåãã CIã¨ãã£ãããã¾ãã¯ä½ã¯ãªãã¨ãJenkinsã§ãã http://jenkins-ci.org/ ããã§ã¯å°å ¥ã«ã¤ãã¦è©³ããã¯æãã¾ããããç§ã¯ä»¥ä¸ã®æ¬ãåèã«ãã¾ããã https://gi
ã©ã³ãã ã«UTF-8ã®æååãçæãããã¨ãã¦ã¤ã¾ã£ãã®ã§é©å½ãªè§£æ±ºç codes = (0x00 ... 0x1ffff).to_a chars = [] (rand(10) + 10).times do chars << codes[rand(codes.length)] end chars.pack('U*') ããã§10æåãã20æåã®UTF-8ã®æååãã©ã³ãã ã«çæã§ãããå¶å¾¡æåã¨ããã°ãã°ãå ¥ã£ã¦ããã®ã§ãã¹ããã¼ã¿ã¨ãã¦ã¯æå¹ã«ä½ç¨ããåã®ã³ã¼ãã®ãã°ãé²è¦ãããä½ããªããã°ããã£ãã
Test, Objective-C, iPad, iPhone(iOSã®ãã¹ããæ¸ãã¨ViewControllerãã³ã³ããã¼ã©ã¼ã«ãªãã話 - yaakaito::Blog ãå ã«è¦ã¦ããã¨ãä½ããããããåããæãããããã¾ããã)iOSã¢ããªã±ã¼ã·ã§ã³ã®ãã¹ãã®æ¸ãæ¹ãé£ããã§ããããåãããåãããªãã®ã§ææ¢ãç¶æ ã§ããã¨ãããããæ¨æºã®OCUnit使ã£ã¦TDDã£ã½ããã¨ãã¦ã¿ãã°ãä½ãå©ãå°ã«ãªãããªï¼ã¨æã£ãã®ã§ãã®éç¨ãå ¬éãã¦ã¿ã¾ããæ¸ããã¹ããã¸ãã¯ãã¹ãã ãã§ããå¾ã ã¢ããªã±ã¼ã·ã§ã³ãã¹ããããäºå®ãªã®ã§ãããã¨ãããä¸ç·ã«ãã£ã¦ããã§ãããéãããã®ã§ä¸æ¦ãã¸ãã¯ãã¹ãã ãã§ãããã¸ãã¯ãã¹ã主ä½ã§æ¸ããããã«ã§ããéãViewContollerã¨åãé¢ãã¦ã³ã¼ããèãã¦ãã¾ããããã³ã大æè¿ï¼(ãã¸ãã¯ãã¹ãã ãããã®ã§ããã¥ã¼ã«è¡¨ç¤ºããã¨ããã¾ã§æ¸ãã¦ã¾ãã)ãªã¯
JavaScript, Game | 17:11 | CoffeeScriptããenchant.jsãå©ãã¦ä½¿ã£ã¦ã¿ãã¨ãããã¹ã´ãéãã§ã¯ãã¹ãã©ãããã©ã¼ã ãªã²ã¼ã ãã§ãããã£ã¦ãé常ã«éçºãããããæãã ã£ãã®ã§ãä»åã®éçºã«ã¤ãã¦ã¾ã¨ãã¦ã¿ã¾ããããã®æ¹æ³ã§ã²ã¼ã ãéçºãã㨠å®è¡ç°å¢æ§ç¯ãä¸è¦ã§ ã¯ãã¹ãã©ãããã©ã¼ã ã§ã¹ãã¼ããã©ã³ã§ãåã éçºãããã åã¾ããé度ã§ã²ã¼ã éçºãã§ãã¾ããenchant.jsã¨ã¯ãå½ç£ã®JavaScriptã§å®è£ ãããã²ã¼ã ãã¬ã¼ã ã¯ã¼ã¯ã§ãã ããã¥ã¡ã³ãããµã³ãã«ãå å®ãã¦ãããåå¦è ã§ãæ·å± ãä½ãã®ãç¹å¾´ã§ããenchant.js - HTML5 + JavaScript Game Engine CoffeeScriptã¨ã¯ JavaScriptã«ã³ã³ãã¤ã«ãããã¨ãã§ãã ææ³ãã¹ã®å ´åãã³ã³ãã¤ã«ã§ããªããããã¨ã©ã¼ã«æ°ä»ãããã
ããã³ã¾ãã¯ãRuby ã«é¢ããæè¡è¨äºã¯ãã¡ããã®ãã¨ãRubyist ã¸ã®ã¤ã³ã¿ãã¥ã¼ãã¨ãã»ã¤ããã®ä»ããå±ãããã¦ã§ãéèªã§ãã Rubyist Magazine ã«ã¤ã㦠ãRubyist Magazineããç¥ãã¦ããã³ã¾ãã¯ãæ¥æ¬ Ruby ã®ä¼ã®æå¿ã«ãã Rubyist ã® Rubyist ã«ãããRubyist ã¨ããã§ãªã人ã®ããã®ã¦ã§ãéèªã§ãã ææ°å· Rubyist Magazine 0058 å· ããã¯ãã³ãã¼ Rubyist Magazine 0058 å· RubyKaigi 2018 ç´åç¹éå· Rubyist Magazine 0057 å· RubyKaigi 2017 ç´åç¹éå· Rubyist Magazine 0056 å· Rubyist Magazine 0055 å· Rubyist Magazine 0054 å· æ±äº¬ Ruby ä¼è° 11 ç´
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}