Since I started learning Python, I've kept a list of "tricks". Any time I saw a piece of code that made me think "Cool! I didn't know you could do that!" I experimented with it until I understood it and added it to the list. This post is a summary of that list. If you are an experienced Python programmer, chances are you already know most of these but you might still find a few surprises. If you a
ææ°ã®é¡ä¼¼æ稿ã¨ãã¦ã·ã§ã«ã¹ã¯ãªããã®ã³ã¼ãã£ã³ã°ã«ã¼ã«2014ãä½µãã¦ã©ããã 2014/10/09è¿½è¨ ã¼ããã·ã§ã«ã¹ã¯ãªãããæ¸ãã¨ãã«æ°ã«ãã¦ãããã¨ãéå»ã®å¤±æã§æ¸ãçãããã¨ãå¿ããªãããã«ã 1. ã°ãã¼ãã«å¤æ°ã¯å¤§æå PATH ã HOME ãªã©ãç°å¢å¤æ°ã大æåãªã®ã§ãã¨ã¯ã¹ãã¼ãããå¤æ°ã大æåã§æ¸ãã¨ããç¿æ £ã¯ä¸è¬çã§ãããããªæ°ããã¾ãããã¨ã¯ã¹ãã¼ãããå¤æ°ãæ±ããã·ã§ã«ã¹ã¯ãªãããä½æããæ©ä¼ãç¨ãªã®ã§ã ã°ãã¼ãã«å¤æ°ã¯å¤§æå ãã¼ã«ã«å¤æ°ã¯å°æå ã¨ã¯ã¹ãã¼ãããå¤æ°ã大æå é¢æ°å ããã°ãã¼ãã«å¤æ°ã«ã¢ã¯ã»ã¹ããå ´åãããã¾ããããã¯ãåºå¥ãã¦ããã¨ãå¯èªæ§ãå¢ããããªæ°ãããã®ã§ãå§ãã§ãã 2. awk ãç¥ã Unix ä¸ã«ã¦ææ¸å¦çãããã¨ãã«ãæ°å¤ãã®ãã£ã«ã¿ã³ãã³ãï¼grepãcutãtrãheadãsortãuniqãsedãawkãwcã
æ°äºæ¥ãä¸å¿ã«ãæ¥ç±³ã®å¤§ä¼æ¥ã»ãã³ãã£ã¼ã»æè³å®¶çã®ã¢ããã¤ã¶ã¼ãåãããå¤æ©å¤§å¦ï¼MBAï¼å®¢å¡ææãNet Service Venturesã500 StartupsãFounder Instituteãå§åNext Innovatorãç¦å²¡çä»ã®èµ·æ¥å®¶ã¡ã³ã¿ã¼ãBCGæ±äº¬ãç±³CSCãCSK/ã»ã¬ã»ã°ã«ã¼ã大å·ä¼é·ä»ãæè³è²æä¼ç¤¾General Atlanticæ¥æ¬ä»£è¡¨ãªã©ãçµã¦ãç¾å¨ã«è³ãããã¨ã³ã·ã¹ãã ã»ãã¼ã±ãã£ã³ã°ããªã©èæ¸å¤æ°ã訳æ¸ã«ãã¶ããã¹ä¼èª¬ãï¼ãã¤ã¤ã¢ã³ã社ï¼ï¼ãé£è¼ã«ãã¤ã³ãã¥ãã¼ã·ã§ã³ã®èã¨å®ããå£æ ¹ãè¶ ããåããªã©ãããã ã¤ã³ãã¥ãã¼ã·ã§ã³ã®èã¨å® ä»ãã¢ã¡ãªã«ã§ã¯âã¹ã¿ã¼ãã¢ããâã¨å¼ã°ããããã³ãã£ã¼ä¼æ¥ã次ã ã¨çã¾ãã¦ããããªããªããããããå¢ãããèµ·æ¥å®¶ãã¡ãè²ã¦ãåå£ãæ´ã£ã¦ãããã¤ã³ãã¥ãã¼ã¿ã¼ãå¤ãããªã«ããããã£ã¬ã³ã¸ãæ¯æ´ããä»çµã¿ãåå¨ããã
(追è¨ï¼2012-12-03) æ¬è¨äºãé»åæ¸ç±åãã¾ããããGumroadããéãã¦100åã«ã¦è²©å£²ãã¦ãã¾ãã詳細ã¯ææ«ã«è¿½è¨ãã¾ããã®ã§ãè³¼å ¥ãæ¤è¨ã®ã»ã©ãããããé¡ããã¾ãm(__)m é»åæ¸ç±ãããããRubyãå§ãã人ãã¡ã¸ãEPUBç Rubyã®ç¹å¾´ Rubyã¯ãã¾ã¤ãã¨ããã²ãæ°(é称Matz)ã«ããè¨è¨ããããªãã¸ã§ã¯ãæåããã°ã©ãã³ã°è¨èªã§ããRubyã®ç¹å¾´ãä¸è¨ã§è¨ããªãã°ãããã¯ãéå£ãåºãã¦å¥¥ãæ·±ãè¨èªãã¨ãããã¨ã«ãªãã¾ãã ãéå£ãåºããã¨ããã®ã¯ãã¤ã³ã¿ãã§ã¼ã¹ãã·ã³ãã«ã§èª°ã§ããç°¡åã«ä½¿ãå§ãããããã¨ãæå³ãã¾ããã奥ãæ·±ããã¨ããã®ã¯ããããã§ãã·ã§ãã«ã«ããé·æ使ç¨ã«èãããæ¬ç©ã®è¨èªã§ããã¨ãããã¨ãæå³ãã¾ãããéå£ãåºããã¨ãããã¨ã¨ã奥ãæ·±ããã¨ãããã¨ã¯æ¬æ¥ç«¶åããæ¦å¿µã§ã¯ããã¾ãããããã®ä¸¡æ¹ããã©ã³ã¹ããçµã¿åãããã«ã¯ã対象ã«å¯¾ãã
ç¹éï¼ç¬¬2åãå®ç¨ãµã³ãã«ã³ã¼ãã§ç解ãããStrutsãã®åºç¤ (6/15) DBCPã使ã£ããã¼ã¿ãã¼ã¹ã¸ã®æ¸ã込㿠ãã¼ã¿ãã¼ã¹ã¸ã®æ¸ãè¾¼ã¿å¦çã«ã¯ãããªã¼ãã³ã½ã¼ã¹ã§ä½ãJava+DBãã§èª¬æããã®ã¨åãæ¹æ³ã§ãããã ããã ãããããã§ã¯ãããå¹ççãªæ¹æ³ã¨ãã¦ãJakarta Projectã®ãCommons DBCPããå©ç¨ããæ¹æ³ãæãã¦ã¿ããããã®Commons DBCPã¯ããã¼ã¿ãã¼ã¹ã¸ã®ã³ãã¯ã·ã§ã³ãã¼ãªã³ã°ããµãã¼ãããæ±ç¨çãªãã®ã§ããããã¼ã¿ãã¼ã¹ã¢ã¯ã»ã¹ã®ããã®ã³ã³ãã¼ãã³ãã ã ã³ãã¯ã·ã§ã³ãã¼ãªã³ã°ã¨ã¯ããã¼ã¿ãã¼ã¹ã¸ã®æ¥ç¶ãå¹¾ã¤ãæç¶ãã¦ããã使ãåããã¨ãæå³ãããä¸è¬çã«ããã¼ã¿ãã¼ã¹ã¢ããªã±ã¼ã·ã§ã³ã§ã¯ãã¦ã¼ã¶ã¼ãWebãã¼ã¸ã«ã¢ã¯ã»ã¹ãã¦ä½ãå¦çããããã³ã«ãããã¼ã¿ãã¼ã¹ã«æ¥ç¶ãâããã¼ã¿ãã¼ã¹å¦çãâããã¼ã¿ãã¼ã¹ããåæãã¨ããæµãã«ãªãã
ã¯ããã« ä»åãã9åã«æ¸¡ããHadoopã使ã£ãã¬ã³ã¡ã³ãã·ã¹ãã ã®å®è£ ã«ã¤ãã¦ç´¹ä»ããã¦ããã ããã¨ã«ãªãã¾ããã ã¬ã³ã¡ã³ãã·ã¹ãã ãæ§ç¯ããæ¹ã¯å°ãªãã¨æãã¾ãããã¬ã³ã¡ã³ãã®ãµã¼ãã¹ã«è§¦ãã¦ããæ¹ã¯å¤ãã¨æãã¾ããä»åã®é£è¼ã§ãèªè ã®çæ§ã«ã¬ã³ã¡ã³ãã·ã¹ãã ã®å¯è½æ§ã¨ãã®å®è£ ã®é¢ç½ãããä¼ãã§ããã°ã¨æãã¾ãããããããé¡ãç³ãä¸ãã¾ãã é£è¼ã®äºå®ã¯æ¬¡ã®éãã§ãã ã¬ã³ã¡ã³ãã·ã¹ãã ã¨éåç¥ï¼ä»åï¼ ã¬ã³ã¡ã³ãã·ã¹ãã ã®å®è£ ã¨èª²é¡ å調ãã£ã«ã¿ãªã³ã°ï¼åã»å¾ç·¨ï¼ ã³ã³ãã³ããã¼ã¹ã¬ã³ã¡ã³ãï¼åã»å¾ç·¨ï¼ ä»åã®è¨äºã®ãã¤ã³ãã¯ä»¥ä¸ã®éãã§ãã ã¬ã³ã¡ã³ãã·ã¹ãã ã®ç®çã¯æ°ä»ãã¨é©ããä¸ããã㨠çæ³ã®ã¬ã³ã¡ã³ãã¯ã½ã ãªã¨ã®ãè¦ã ã¬ã³ã¡ã³ãã·ã¹ãã ã«å¿ è¦ãªã®ã¯å好ã¨å°éæ§ ã§ã¯ãæ©éã¯ããã¾ãããã ã¬ã³ã¡ã³ãã·ã¹ãã ã¨ã¯ï¼ ã¬ã³ã¡ã³ãã·ã¹ãã ã¯æ å ±ãã£ã«ã¿ãªã³ã°ã®ä¸ç¨®ã§ã大éã®
ã²ã¼ã å«ããç¥ããªãã¨æãã ã²ã¼ããã£ã±ã¼ã·ã§ã³å ¥é ããªãã®çæ´»ãå¤ãããGamificationãç¾ç¶ã¾ã¨ã æ ªå¼ä¼ç¤¾ã©ã¤ãã㢠ãã¼ã¯ã¢ããã¨ã³ã¸ãã¢ï¼ãã£ã¬ã¯ã¿ã¼ æµ ä¿å¤ªæ 2011/9/16 ãGamificationï¼ã²ã¼ããã£ã±ã¼ã·ã§ã³ï¼ãã¨ããè¨èããåãã§ããããï¼ æè¿ãã話é¡ã«ãªã£ã¦ããã®ã§ãè¦æãããã¨ã®ããæ¹ãå¤ããã¨ã§ããããæ¬ç¨¿ã§ã¯ãä»å¾ã®Webæ¥çã®ãã¼ã¯ã¼ãã¨ãªãå¾ãã²ã¼ããã£ã±ã¼ã·ã§ã³ã®è§£èª¬ã¨ç¾ç¶ãããã¦æªæ¥äºæ³ããå±ããã¾ãã ä»å¹´ã®åãããã¾ã§ã¯ä¸é¨ã®äººã注ç®ãã¦ããã ãã§ããããããæè¿ã§ã¯ã»ããã¼ãåå¼·ä¼ãéå¬ããããæ¸ç±ãåºçããããªã©ãçãä¸ãããè¦ãã¦ãã¾ãã ãã²ã¼ããã£ã±ã¼ã·ã§ã³ãã¨ã¯ãä½ãªã®ã ã²ã¼ããã£ã±ã¼ã·ã§ã³ã¯æµ·å¤ã§çã¾ããæ¦å¿µã§ããã®æ¬è³ªã説æããã¨ãã¦ã¼ã¶ã¼ã¨ã³ã²ã¼ã¸ã¡ã³ããé«ããããã«ãã¦ã¼ã¶ã¼ã«æ¥½ããã§ãããããã®æ¹
ãHudsonãæ¹ããJenkinsãã§å§ããCIï¼ç¶ç¶çã¤ã³ãã°ã¬ã¼ã·ã§ã³ï¼å ¥éï¼ã¦ã«ã¤ããã¼ã«ã¤ãã«ã¤ããç°å¢ï¼ï¼21ï¼ï¼1/4 ãã¼ã¸ï¼ CIãã¼ã«ãHudsonãæ¹ããJenkinsãã¨ã¯ ãJenkinsãã¨ã¯ãCIï¼ç¶ç¶çã¤ã³ãã°ã¬ã¼ã·ã§ã³ï¼ãã¼ã«ã¨ãã¦æåãªãHudsonãã®éçºè ãã¡ã«ããéçºããã¦ããCIãã¼ã«ã§ããHudsonã¯åæ¨ä¸ãªã©ã®åé¡ã«ããJenkinsã¨ååãå¤ãã¦ç¶ç¶ãããã¨ãçºè¡¨ãããã®ã§ãè¨æ¶ã«æ®ã£ã¦ããæ¹ãå¤ãã¨æãã¾ããç¾å¨ã§ã¯è½ã¡çãã¦éçºããã¦ããããã§ãã æ¬ç¨¿ã§ã¯ãä»è©±é¡ã®Jenkinsã®ä½¿ãæ¹ãç´¹ä»ãã¾ããæ¬è¨äºã®æ³å®èªè ã¯ãJavaéçºãè¡ã£ã¦ããæ¹ã§ããä»ã¾ã§CIãå°å ¥ãã¦ããªãã£ããã©ããããå°å ¥ãããããJenkinsï¼Hudsonï¼ã¯ä½¿ãããã ãã©ãé£ãããã ãªããã¨æã£ã¦ããæ¹ã対象ã¨ãã¦ãã¾ããæ¬ç¨¿ãèªãã°ã10åç¨åº¦ã§Je
帯åå¹ ã®å¶éã¯ãã¤ã³ã¿ã¼ãããã«æ¥ç¶ãã¦ããå¤ãã®äººã«ã¨ã£ã¦ä»ãªãæ®ãåé¡ã®1ã¤ã ããããããããã·ãã£ãã·ã¥ãµã¼ãSquidããããã¯ã¼ã¯ã«ã¤ã³ã¹ãã¼ã«ããè¨å®ãã©ã¡ã¼ã¿ãç¨ãã¦ãã¤ããããçãä¸ããã°ãå©ç¨å¯è½ãªå¸¯åå¹ ã3ï½6å²è¿ããæ¡å¤§ã§ããã Squidã¯ãããç´°ãããã¥ã¼ãã³ã°ã«ãã£ã¦ãã¾ãã¾ãªãã¼ãºã«å¯¾å¿ã§ãããç¾è¡ã®å®å®çã«ã¯å°ãªãã¨ã249åã®ãã©ã¡ã¼ã¿ããããä¸å¯§ãªã³ã¡ã³ããä»ããè¨å®ãã¡ã¤ã«ï¼é常ã¯ã/etc/squid.confãï¼ã¯4,600è¡ä»¥ä¸ãããããã®ããªã¥ã¼ã ã«ã¯ãçµé¨è±ããªç®¡çè ã§ãå§åãããã ãããè¨å®ã®å¤æ´ã¯ãã¹ã¦ãã®ãã¡ã¤ã«ä¸ã§è¡ãã 1é±éã§ã¯ä¸æ¯ã«ãªããªãï¼çæ³ãããã°1ãæ以ä¸æã¤ãããªï¼å¤§ããªãã£ãã·ã¥ãã»ããã¨ããã ãå®éã«å¿ è¦ãªãµã¤ãºã¯ããããã¯ã¼ã¯ã®ãã©ãã£ãã¯éã«ãã£ã¦å¤ãã£ã¦ããããã£ãã·ã¥ã®ãµã¤ãºã大ããã»ã©ãè¦æ±ããããªãã¸ã§
äºä¾ã§å¦ã¶ãã¶ã¤ã³ãã¿ã¼ã³ 第ï¼å Factory Method ãã¿ã¼ã³ ï½ãªãã¸ã§ã¯ãçæã®æè»æ§ãå°å ¥ããï½ ï¼æ ªï¼ãªã¼ã¸ã¹ç·ç ç¦ç° ç´æ¨¹ ä»åã¯ãçæã«é¢ãããã¶ã¤ã³ãã¿ã¼ã³ãåãä¸ãã¾ãã é常ãä½ããã®ãªãã¸ã§ã¯ãå©ç¨ããéã«ã¯ãã³ã³ã¹ãã©ã¯ã¿ãå¼ã³åºãã¦ãªãã¸ã§ã¯ããçæãããã®ãªãã¸ã§ã¯ããå©ç¨ãã¾ãããããããã®éã«ã¯å©ç¨ããå´ã§ã¯å©ç¨ãããå ·è±¡ã¯ã©ã¹ãæå®ããå¿ è¦ããããã¯ã©ã¹éã®çµå度ãå¼·ããªã£ã¦ãã¾ãã¾ãããããããæè»æ§ã®ããçæã®ä»çµã¿ãæä¾ããFactory Methodãã¿ã¼ã³ãåãä¸ãã¾ãã â»éèªãJava WORLDã 2006 å¹´ 7 æå·ã«æ²è¼ããè¨äºã®ãªãªã¸ãã«å稿ã Java WORLD ç·¨éé¨ã®äºè§£ãå¾ã¦æ²è¼ãã¦ãã¾ãã ååã®ããããã¨ä»åã®ãé¡ ååã¯ãéè¤ããå®è£ ãæ´ç·´ãæ´çãããã¶ã¤ã³ãã¿ã¼ã³ã¨ã㦠Template Method
æ ªå¼ä¼ç¤¾ãã¯ã·ã£ ç 究éçºã°ã«ã¼ãã®ååã§ããååã®è¨äºã§memcachedã¯åæ£ã«é·ããé«éãªãã£ãã·ã¥ãµã¼ãã§ãããã¨ãç´¹ä»ããã¾ãããä»åã¯memcachedã®å é¨æ§é ãã©ãå®è£ ããã¦ããã®ããããã¦ã¡ã¢ãªãã©ã管çããã¦ããã®ãããç´¹ä»ãã¾ããã¾ããmemcachedã®å é¨æ§é ã®äºæ ã«ããå¼±ç¹ãç´¹ä»ãã¾ãã ã¡ã¢ãªãæ´çãã¦åå©ç¨ããSlab Allocationã¡ã«ããºã æ¨ä»ã®memcachedã¯ããã©ã«ãã§Slab Allocatorã¨ããã¡ã«ããºã ã使ã£ã¦ã¡ã¢ãªã®ç¢ºä¿ã»ç®¡çãè¡ã£ã¦ãã¾ãããã®ã¡ã«ããºã ãç»å ´ãã以åã®ã¡ã¢ãªç¢ºä¿ã®æ¦ç¥ã¯ãåç´ã«ãã¹ã¦ã®ã¬ã³ã¼ãã«å¯¾ãã¦mallocã¨freeãè¡ãã¨ãã£ããã®ã§ãããããããªããããã®ã¢ããã¼ãã§ã¯ã¡ã¢ãªã«ãã©ã°ã¡ã³ãã¼ã·ã§ã³ï¼æçåï¼ãçºçããã¦ãã¾ããOSã®ã¡ã¢ãªããã¼ã¸ã£ã«è² è·ããããææªã®å ´åã ã¨memcachedã®ã
ã¯ããã« ãApache Strutsãï¼ä»¥ä¸ãStrutsï¼ã¨ã¯ããµã¼ããµã¤ãJavaéçºã®ããã¡ã¯ãã¹ã¿ã³ãã¼ãã¨ãã¦ãã¾ãã«ãæåãªããªã¼ãã³ã½ã¼ã¹ã®Webã¢ããªã±ã¼ã·ã§ã³ã»ãã¬ã¼ã ã¯ã¼ã¯ã§ããæ¬é£è¼ã¯å®éã«åä½ããã¢ããªã±ã¼ã·ã§ã³ããã¨ã«ãStrutsã®æ¬¡ä¸ä»£ãã¼ã¸ã§ã³ã§ããStruts 2ã解説ãã¦ããã¾ãã 第2åã®æ¬ç¨¿ã§ã¯ãå ¥åãã©ã¼ã ããã¤ã¢ããªã±ã¼ã·ã§ã³ãä½ã£ã¦ã¿ã¾ããããããåºæ¬çãªãã©ã¼ã å¦çããå§ãã¦ãã«ã¹ã¿ã ã¿ã°ã®ä½¿ãæ¹ãããªãã¼ã·ã§ã³ã¨ããå¦çã®ä»çµã¿ãä½å¾ãã¦ããã¾ããä»åã¯ãããªãã¼ã·ã§ã³ã®ä»çµã¿ãç解ãããã®åç·¨ã¨ãã¦ã åºæ¬ã®å ¥åã¢ããªã±ã¼ã·ã§ã³ åºæ¬ã®ããªãã¼ã·ã§ã³ ã説æãã¾ãã 次åã®å¾ç·¨ã§ã¯ã ããªãã¼ã·ã§ã³ãã¸ãã¯ãèªåã§è¨è¿°ãã ã¡ãã»ã¼ã¸ã®ãã¼ã«ã©ã¤ãºæ¹æ³ ã¨ããå 容ã¨ãªãäºå®ã§ãã ååã®è¨äº Struts 2å ¥éï¼1ï¼ï½åºæ¬å½¢ã§ç解ãã
æ£è¦è¡¨ç¾ã¨æ§æå³ã«ã¤ãã¦è§£èª¬ãã¾ãããªã¼ãããã³ã«ã¤ãã¦ã詳ããè¿°ã¹ã¾ãããªã¼ãããã³ã»ã¹ã´ãã¯ã§éã³ã¾ãããï¼ ä¸éã§ããç¥ããã¦ããï¼ä½¿ããã¦ããæ¦å¿µã»æ¹æ³ã«ã¯ãã ããããåï¼æªå±±ï¼ã®æè¦ã§ä¸çªããããããã¨æãããçæ¸ãã¨ç¨èªæ³ï¼å³å¼æ³ã使ã£ã¦èª¬æãã¾ãããã®è¨äºã«ç®ãéãã¦âæãâãæ´ããããå½¢å¼è¨èªçè«ã®æç§æ¸ãèªã¿å§ãããã¨ãåºæ¥ãã§ãããã [追è¨]ãã®è¨äºã®å 容ã«å¯¾ããå ·ä½ä¾ã¯ããæ£è¦è¡¨ç¾ã¨ãªã¼ãããã³ï¼ãªãã ç°¡åããããJavaScriptã«ããå®è£ ãã«ããã¾ãã[/追è¨] å å®¹ï¼ æ£è¦è¡¨ç¾ æ£è¦è¡¨ç¾ã®ä¾ æ§æå³ åºæ¬è¨å· é£æ¥ é¸æ çç¥å¯è½ ç¹°ãè¿ã ã¹ãã¬ã¼ãã¯ã¤ã¤ã¼ã«ããã¬ã¤ã¢ã¦ãèª¿æ´ æéç¶æ ãªã¼ãããã³ æéç¶æ ãªã¼ãããã³ã®å®è¡ ããã¯ãã©ãã¯ã¨å èªã¿ ã¹ã´ãã¯ã¨ãªã¼ãããã³ ã³ãããããã使ãã¹ã´ãã¯ã¨ä¸¦åå¦ç é決å®æ§ãªã¼ãããã³ã¨æ±ºå®æ§ãªã¼ãããã³ æ£
Androidã®ã¢ããªã±ã¼ã·ã§ã³éçºã«ã¯Eclipseã使ãã¨ä¾¿å©ã§ãããEclipseãèµ·åããªãã¦ãã¢ããªã±ã¼ã·ã§ã³ã®éçºã¯è¡ããã¨ãã§ãã¾ããããã§ã¯ã³ãã³ãã©ã¤ã³ããAndroidã¢ããªã±ã¼ã·ã§ã³ãä½æããæ¹æ³ã確èªãã¾ãã androidã³ãã³ãã使ã£ãããã¸ã§ã¯ãã®ä½æ Antã使ã£ãããã¸ã§ã¯ãã®ãã«ã ã¨ãã¥ã¬ã¼ã¿ã¼ã®èµ·åã¨ã¢ããªã®ã¤ã³ã¹ãã¼ã«
ããã³ã¾ãã¯ã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 ç´
ããã³ã¾ãã¯ã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}}