Design and Strategy: How to Deal with People Who Donât "Get" Design
Design and Strategy: How to Deal with People Who Donât "Get" Design
ããã«ã¡ã¯ãã¡ããã¢ã®ãæä¼ãããã¦ãã@willnetã§ããæè¿å¯ããªã£ã¦ãã¾ããããæ¯å¹´ãã®ææã«é¢¨éªãã²ãã®ã§æè¿ã¯ææ´ãããããæ ããªãããã«ãã¦ãã¾ãããã®ãã³ä¹ ãã¶ãã«ããã¯ããã°ã«å¯ç¨¿ãã¾ãã insert_allã®ä»æ§å¤æ´ã«é¢ããPR ã¡ããã¢å ã®ã¨ããRailsã¢ããªã±ã¼ã·ã§ã³ã®ãã¼ã¸ã§ã³ã7.2ãã8.0ã«ã¢ããã°ã¬ã¼ãããã¨ãã«insert_allã®ä»æ§å¤æ´ã«æ°ã¥ãã話ããã¾ãããinsert_allã®ä»æ§å¤æ´ã«è©²å½ããã®ã¯æ¬¡ã®PRã§ãã Fix active record insert values of type cast and serialize by OuYangJinTing · Pull Request #48139 · rails/rails ä¸è¨PRã§ã¯saveã¡ã½ããã¨insert_all(åã³insertãinsert_all!)ã¡ã½ããã§å¤ã®å¤
Datadog Continuous Profiler ãç¨ãã¦ãããã«ããã¯ã Ruby ã® GVL ã§ãããã¨ãçºè¦ãã ããã«ã¡ã¯ãterandard ã§ãã å¼ç¤¾ã§ã¯ Datadog ãç¨ãã¦ã¢ããªã±ã¼ã·ã§ã³ããµã¼ãã¼ã®ç£è¦ãè¡ã£ã¦ãã¾ãã 以åãããªã¯ã¨ã¹ããã¹ãã¤ã¯ããéã«ã¢ããªã±ã¼ã·ã§ã³å ¨ä½ãé å»¶ããåé¡ããã£ãã®ã§ãDatadog Continuous Profiler ã使ç¨ãã¦èª¿æ»ãããã¨ã«ã¤ãã¦ç´¹ä»ãã¾ãã èæ¯ ãªã¯ã¨ã¹ããã¹ãã¤ã¯ããã¨ã¢ããªã±ã¼ã·ã§ã³å ¨ä½ãé å»¶ããåé¡ãããã¾ããã ãªã¯ã¨ã¹ãå ¨ä½ã®ãªã¯ã¨ã¹ãæ°ã¨ã¬ã¤ãã³ã·ã¼ ç¹ã«å¦çã«æéãããã£ã¦ãããªã¯ã¨ã¹ãã«ã¤ã㦠Datadog APM ã§ç¶æ³ã確èªããã¨ãä¸å³ã®ããã«ç©ºç½æéããã£ãã mysql2 ã faraday ã®å®è¡æéãé·ããã¨ããããã¾ããã ä¾1: è¬ã®ç©ºç½æéããã ä¾2: mysq
ããã«ã¡ã¯ãããã¯ã¨ã³ãã¨ã³ã¸ãã¢ã®é è²ï¼@sugaishunï¼ã§ãã ä»åã¯ã¿ã¤ãã¼ãæ¬çªéç¨ãã¦ããRailsã¢ããªã±ã¼ã·ã§ã³ã«å¯¾ãã¦Ruby3.3.0ã¸ã®ã¢ãããã¼ããè¡ã£ãï¼YJITã¯å¼ãç¶ãæå¹ãªã¾ã¾ï¼ã®ã§ãã®çµæããç´¹ä»ãããã¨æãã¾ãã æ¨å¹´å¼ç¤¾ã®id:euglena1215ãæ¸ããã¨ã³ããªã¼ã®Ruby3.3.0çã§ãã tech.timee.co.jp åæ ã¿ã¤ãã¼ã®Webã¢ããªã±ã¼ã·ã§ã³ã¨ãã¦ã®ç¹æ§ã¯åºæ¬çã«ã¯æ¨å¹´ã¨å¤ããããã¾ãããã§ãã®ã§ãæ¨å¹´ã®å 容ããã®ã¾ã¾å¼ç¨ããã¦ãããã¾ãã ã¿ã¤ãã¼ãæ¯ããããã¯ã¨ã³ãã® Web API ã¯å¤ãã®ã±ã¼ã¹ã§Â Ruby ã®å®è¡ããã DB ãããã«ããã¯ã®ä¸è¬çãªÂ Rails ã¢ããªã±ã¼ã·ã§ã³ã§ããJSON ã¸ã® serialize ã¯Â active_model_serializers ãå©ç¨ãã¦ãã¾ãã ä»åã®éè¨ã§ã¯Â API
æè¡é¨ã®ç¬¹ç°ã§ãã仿¥ã§éè·ããã®ã§ããã¿ãã¿ã¨è¿å´ãªã©ã®æºåããã¦ãã¾ãã æ¬è¨äºã§ã¯ãRubyã®ä¸¦è¡ä¸¦åå¦çã®æ¹åã«ã¤ãã¦ã®ç§ã®åãçµã¿ã«ã¤ãã¦ãããã« RubyKaigi 2022 㨠2023 ã§çºè¡¨ããå 容ããã¨ã«ãç´¹ä»ãã¾ãã 並è¡ã¨ä¸¦åã¯ããä¼¼ãè¨èã§ãããæ¬è¨äºã§ã¯æ¬¡ã®ãããªæå³ã§ä½¿ãã¾ãã 並è¡å¦çï¼concurrent processingï¼ã¯ããè¤æ°ã®ç¬ç«ããå®è¡åä½ããå¾ ã£ã¦ããã°ãã¤ãçµããï¼ãããã¯ãå¦çãé²ãï¼ãã¨ããè«ççãªæ¦å¿µã§ãå¤å ¸çã«ã¯ã¿ã¤ã ã·ã§ã¢ãªã³ã°ã·ã¹ãã ãªã©ãæãããã¾ãã 並åå¦çï¼parallel processingï¼ã¯ããè¤æ°ã®ç¬ç«ããå®è¡åä½ã®ãã¡ã®ããã¤ãããããã¿ã¤ãã³ã°ã§åæã«åãã¦ãããã¨ããç©ççãªæ¦å¿µã§ãå¤å ¸çã«ã¯è¤æ°ã®CPUä¸ã§åæã«å®è¡ããããã¨ãããã®ã§ããæè¿ã§ã¯ã1ã¤ã®CPUä¸ã§è¤æ°ã³ã¢ãåæã«åãã¦ãããã¨ãã
å æ¥ãæºãã£ã¦ãããµã¼ãã¹ã§ä¸çªå¤§ããRailsã¢ããªãRuby 3.2ã«ã¢ãããã¼ãããYJITãæå¹åã§ãã¾ããã æ¹éãæ¤è¨ããçµæãä»åã¯Rails 6.1ããã³Psych 3ç³»ã®ã¾ã¾Ruby 3.2ã«ã¢ãããã¼ãããæ¦ç¥ãã¨ã£ãããããã®æé ãã¾ã¨ãã¾ãã å é±ã«ã¡ã¤ã³ã®ãµã¼ãã¹ãRuby 3.2ã«ãã¦YJITãæå¹ã«ã§ãã¾ããï¼ å®éã«éããªã£ããå¬ãã大YJITè¨å¿µæ¥ã ð https://t.co/Wkhc6fDfj9 â Hiroshi Shimoju (@shimoju_) July 19, 2023åæ#ä»åã®Railsã¢ããªã¯ãµã¼ãã¹ã®æ©è½ãã»ã¼ãã¹ã¦è©°ã¾ã£ã¦ããã¢ããªã¹ã§ãæ´å²ã8å¹´ã¨æ¯è¼çé·ãã§ãã ã¢ãããã¼ãåã®ãã¼ã¸ã§ã³ã¯Ruby 3.0ãRails 6.1ã§ãPsychã¯3ç³»ã æ£æ»æ³ã§ã¯ããããã以ä¸ã®æé ã§ã¢ãããã¼ããé²ãã¦ãããã¨ã«ãªãã¾ãã R
So far in this series, weâve discussed GC::INTERNAL_CONSTANTS, the Tri-Color Mark and Sweep algorithm, Generational GC and Incremental GC. Weâll build on what weâve learned in this post about the newest addition to Rubyâs GC: compaction. Fragmentation Before we dive into compaction, we need to learn about fragmentation. Fragmentation is the term we use to describe memory when itâs allocated non-co
Ruby Kaigi 2020 Takeoutã®Matzããã®ãã¼ãã¼ãã§è©±ããã¦ãããRactorãããFiberãããã®è©±ã®ä¸ã§åºã¦ãããéåæI/Oãã«ã¤ãã¦è²ã åãã£ã¦ãªããã¨ãå¤ãã£ãã®ã§ãåæç¥èã¨ãã¦å¿ è¦ãããªãã¨ãçºãã¦ã¿ã Matzããã話ãã¦ããå 容 ããã°ã©ãã³ã°è¨èªã®æ¹åæ§ã決ãããã¨ã¯é£ããã¨ãããã¨ãäºææ§ãä¿ã¡ãªããè¯ããã®ã«ããï¼ Ruby 3ã§ç®æãå 容ã®ã³ã³ã»ããã¯ãFaster(é«éå) / More Productive(é«ãçç£æ§)ã§ããã®ããã« â Fastãâ¡Concurrentãâ¢Correctãã¤ã¾ããæ©ãã¦ä¸¦åå¦çå¯è½ã§æ£ããããã°ã©ã ãæ¸ããç¶æ³ãæä¾ãã¦ãã FiberãRactorã¯ãConcurrentã®è©± 並ååã«é¢ãã話ã®ä¸ã§ã話ãããå 容ã§ããã ãããããã½ããã¦ã§ã¢ã並ååããä»çµã¿ã¨ãã¦ã ãã«ãããã»ã¹(ã¡ã¢ãªãå ±æã
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? ããã¯Rubyã¢ããã³ãã«ã¬ã³ãã¼2022ã®22æ¥ç®ã®è¨äºã§ãã binding.irb ã®ããã 8å¹´åã« ä»æ´èããªãpryã®ä½¿ãæ¹ã¨ä¾¿å©ãã©ã°ã¤ã³é ã¨ããè¨äºãæ¸ããããããé·ãé binding.pry ãæç¨ãã¦ãããbinding.irb ã binding.pry ã使ã£ããã¨ããªãããã¨ãã人ã¯ãä¸èªããå§ããããã 彿Pryã«ãã£ãIRBã«å¯¾ããåªä½æ§ã®ãã¡ãæéãçµã£ã¦ã常ã«ä½¿ãç¶ããæ©è½ã¨ããã° binding.pryã®åå¨ã$ (show-source)ã@ (whereami)ãls ã¨ãã® -G (gre
Rubyã®ãããã¾ã¤ãã¨ããã²ãããããã話ãã¾ãã
estie ã§ã½ããã¦ã§ã¢ã¨ã³ã¸ãã¢ããã¦ãã徳永(@yTo_9)ã§ãã estie ã§ã¯ Ruby ãæ¸ãããTypeScriptãæ¸ããããã¦ãã¾ãï¼ estie å¤ã®ããã°ç¥ãã«ããã¤ãã¦ããã£ãããªãæ®æ®µã¯è¿½ããªãé¨åã ãã©ãæ°ã«ãªã£ã¦ããYJITãªããã®ãæ·±æããã¦ã¿ããã¨æãããYJITããªãRailsã¢ããªã±ã¼ã·ã§ã³ã®é«éåãå®ç¾ã§ããã®ããã調ã¹ã¦ã¿ãã®ã§ç´¹ä»ãããã¨æãã¾ãã ãã©ããé£ãããã§ããï¼ãã¨æããªãã調ã¹ã¦ã¿ãã®ã§ãããè¬æ¼ãè«æã®èª¬æããããããããæå¤ã«æ¦è¦ãææ¡ãããã¨ã¯é£ããããã¾ããã§ããã YJIT ã®æ ¸ã¨ãªã£ã¦ããã®ã¯ Lazy Basic Block Versioning (LBBV) ã¨ããææ³ã§ãããã¯Rubyã ãã«éããåçè¨èªå ¨è¬ã«é©ç¨å¯è½ãªå¼·åãªã¢ããã¼ãã§ãããã¨ããããã¾ããã ãããã¿ã¤ãã®æ¡ä»¶åå²ã¯ãã»ã¨ãã©ã®å ´åã§çå´ãã
RubyGemsã®éå¶å ããRuby Shieldããçºè¡¨ãRubyã¨Railsã¸ã®ãµãã©ã¤ãã§ã¼ã³æ»æã¸ã®å¯¾çã¨ãã¦Shopifyã4å¹´ã§100ä¸ãã«ï¼ç´1å3000ä¸åï¼ãæä¾ Rubyè¨èªç¨ã®ããã±ã¼ã¸ã§ããGemã®ãã¹ãã£ã³ã°ãµã¼ãã¹ãRubyGems.orgããéå¶ããRuby Centralã¯ãRubyãRailsã«å¯¾ãããµãã©ã¤ãã§ã¼ã³æ»æã¸ã®å¯¾å¿ãè¡ãããã¸ã§ã¯ããRuby Shieldããéå§ããã¨çºè¡¨ãã¾ããã Today weâre excited to announce Ruby Shield This new initiative in partnership with @ShopifyEng will support open-source and enable us to take on new security-focused projects to bet
æ®æ®µä½æ°ãªãæ¸ãã¦ãã Ruby ãªãã§ããå®ã¯ã¡ã½ããã®å¼æ°ã®ç¨®é¡ã£ã¦æã£ããããå¤ãã¦ã¾ã¨ãã¦ã¿ã¾ããã å®éèªåã Ruby ã® AST ãããã£ã¦ããæã«å¼æ°ã®ç¨®é¡ãå¤ããã¦æ··ä¹±ããã®ã§ã¾ã¨ãã¦ããã¨è²ã ã¨å½¹ã«ç«ã¤ããªã¼ã¨ã ã¨ãè»½ãæ°æã¡ã§æ¸ãã¦ã¿ããã§ããçµæ§ãªããªã¥ã¼ã ã«ãªã£ã¦ãã¾ãã¾sãã 弿°ã®åç§°ã¨ãã¯èª¿ã¹ã¤ã¤ç¬æã¨åè¦ã§æ¸ãã¦ããã®ã§ããã辺ã¯ã注æãã ããã 諸注æ ãã®è¨äºã¯åºæ¬çã« Ruby 3.1 ãå ã«ãã¦åä½ç¢ºèªãã¦ãã¾ã ä¸ã«ãæ¸ãã¦ãããã§ãã 仮弿°(parameter) ã«ã¤ãã¦ã®è§£èª¬ã§ å®å¼æ°(argument) ã®è©±ã¯ããã¾ãã§ã¦ãã¾ãã 弿°ã®åç§°ã¯æ¥æ¬èªã«å¯ãã¦ãã¾ãã Ruby çéã ã¨è±èªã§æ¸ãã¦ããäºãå¤ããã 調ã¹ãæã¯è±èªã®æ¹ã§èª¿ã¹ã¦ããã£ãã»ããæ å ±ã¯ã§ã¦ããã¨æã 弿°ã¨ããè¨èã®æå³ã¨ã¯ ã弿°ãã¨ããè¨èã«ã¯å³å¯ã«è¨ãã¨ã
æ°å¹´ããã¾ãã¦ããã§ã¨ããããã¾ãã @rosylilly ã§ãã ãã®å SRE 餿è¬åº§ã®ä½é¨ææ¥é ä¿¡ ããããã§ããããã®æã«ãã³ãºãªã³ã®ä¸ç°ã§ Ruby 製ã¢ããªã±ã¼ã·ã§ã³ãããã£ã¦é«éåãã¦ã¿ããã¨ããå 容ã宿½ãã¾ããã ã³ã³ã»ããã¨ãã¦ã¯ããã¡ããã¨è¨å®ãã¡ã¤ã«ãæ¸ãã ãã§ãé«éåãããã¨ããæãã§ãã使¥ã¨ãã¦ã¯ã¢ããªã±ã¼ã·ã§ã³ãããããã«ãè¨å®ã ãããã£ã¦é«éåãããã¨ãããã¨ãªãã§ãããçµå±ä½ãã©ããããå¹ãã®ããã¨ããã®ãäºåã«åèå¤ã¬ãã«ã§å¼¾ãã¦ãããªãã¨ã¶ã£ã¤ãæ¬çªã«ãªã£ã¡ãããªãã¨ãããã¨ã§ä½ãã©ããããå¹ãã®ãã試ãã¦ããã«ãããã¨ãããã¨ã§ãäºåã«èª¿æ»ããã¨ãã®ãã³ããã¹ãã¨ä½ãå¤ãããã®è¨é²ã«ãªãã¾ãã ãã³ããã¼ã¯ã®åæºå ä»åã¯ã»ã¼ä½ãããªã Sinatra ã¢ããªã±ã¼ã·ã§ã³ãä½ã£ã¦ããã®æ§è½å·®ããæ¸¬ãã¾ããã¨ãããã¨ã§ç¨æããæ§è½æ¸¬å®ç¨ä½ãããªã S
Rubyéçºãã¼ã ã¯ãæ°ããªJITã³ã³ãã¤ã©ã§ããYJITãå®é¨çã«æè¼ããRuby 3.1ãã¬ãã¥ã¼1ãå ¬éãã¾ããã Rubyè¨èªã¯ä»¥åããå®è¡é度ã®åä¸ãéè¦ãªæ¹åé ç®ã¨ãã¦æãã¦ãããRuby 2.6ã§ã¯ãMJITãã¨å¼ã°ããJITã³ã³ãã¤ã©ãæè¼ãæ¨å¹´ãªãªã¼ã¹ãããRuby 3.0ã§ã¯ç®æ¨ã¨ãã¦ããRuby 2ã®3åã®æ§è½ãéæãã¦ãã¾ãã åèï¼Ruby 3.0æ£å¼çãªãªã¼ã¹ããRuby 2ã®3åéãå°éãåã®è¨è¿°ãã¹ã¬ããã»ã¼ããªä¸¦åå¦çãªã©æ°æ©è½ 䏿¹ã§MJITã¯ãã®æ©æ§ä¸ãRailsã®å¤§è¦æ¨¡ã¢ããªã±ã¼ã·ã§ã³ãªã©ã§ã®æ§è½åä¸ã«ååãªå¹æãçºæ®ã§ãã¦ããªãã¨ã®è©ä¾¡ãããã¾ããã ä»åRuby 3.1ãã¬ãã¥ã¼ã§ãã¼ã¸ãããã®ã¯ãECãµã¤ãæ§ç¯ãµã¼ãã¹ã§ç¥ãããShopifyãéçºãé²ãã¦ãããYJITãã¨å¼ã°ããJITã³ã³ãã¤ã©ã§ãã YJITã¯ç¾å¨ã®ã¨ãã20ï¼ ãã40ï¼ ç¨
ã¯ããã«ï¼ãåå¿è ã¯ä½ãã¢ã¦ããããããã°ããã®ï¼ãåé¡ã«ã¤ã㦠以åããä½åº¦ãæ¸ãã¦ããã®ã§ãããRubyåå¿è ã®æ¹ã§ãRubyã®åå¼·ãå§ãã¾ããï¼ã¢ã¦ããããããã°ãã¾ãï¼ãã¨è¨ãã¤ã¤ãå®éã¯ã¢ã¦ãããããã¦ããã®ã¯ãã»ã¨ãã©æ¸ç±ãä»ã®ãµã¤ãã«æ¸ããã¦ããå 容ãå³ããå·¦ã¸ä¸¸åãããã ããã¨ããæ¹ãããè¦ããã¾ãã ãã®è©±é¡ã«ã¤ãã¦ã¯ã以ä¸ã®è¨äºã§è©³ããã¾ã¨ãã¦ããã®ã§ãèå³ãããæ¹ã¯ãã¡ããã覧ãã ããã blog.jnito.com qiita.com ã¾ããããã¯ããã§ãã¦ããããããããã©ããããããã®ï¼ï¼ä½ãã¢ã¦ããããããã°ãããã¯æºè¶³ããã®ãï¼ï¼ãã¨æãããæ¹ãä¸ã«ã¯ããããã§ãããã ãã¡ããããã®è³ªåã«å¯¾ããåçã«ã¤ãã¦ã¯ããããªã¢ããã¼ããèããããã®ã§ãããä»åã¯åããã²ã¨ã¤ããã¢ã¦ããããè¿·åãã«ãªã£ã¦ããããã°ã©ãã³ã°åå¿è ããã«åãã¦ããããªææ¡ããã¦ã¿ããã¨
ã¯ããã« ã¢ã¦ããããã®ãã¿ã«å°ã£ããããï¼ï¼Rubyåå¿è åãã®ããã°ã©ãã³ã°åé¡ãéãã¦ã¿ãï¼å ¨10åï¼ ã®åé¡ãè§£ãã¦ã¿ã¾ããã(åç·¨) ç¾å¨ãã§ãªã¼æ¬ã§Rubyã®åå¼·ããã¦ããã®ã§ãããèè ã§ããä¼è¤æ·³ä¸ãããRubyåå¿è åãã«ä¸è¨ã®è¨äºãæç¨¿ãããã®ã§ãå®åã¢ããã®ããã«è§£ãã¦ã¿ã¾ããã åé¡ã¯ä»¥ä¸ã®éãã§ãã ãã®è¨äºã§ã¯ï¼ã5ã¾ã§è§£ãã¦ãã¾ãã 6ã10ãè§£ããå¾ç·¨ã¯ãã¡ã ã«ã¬ã³ãã¼ä½æåé¡ ã«ã©ãªã±ãã·ã³åé¡ ãã³ã´ã«ã¼ã使åé¡ ãã¼ãã¹ããªã³ã¯åé¡ é»è©±å¸³ä½æåé¡ å½æ°ã®ç¥æ¥.csv ãã¼ã¹ããã°ã©ã ãRubyã§è±èªè¨äºã«å«ã¾ãã¦ãè±åèªãæ°ãã¦åºç¾æ°é ã«ã½ã¼ããããåé¡ è¡åä½ãååä½ã§åè¨å¤ãæ±ããããã°ã©ã ã¬ã©ã±ã¼æåå ¥ååé¡ å¤æåå²åé¡ è¿½è¨ 2019/05/12 é ããã³ã¡ã³ããåèã«ã1,3,5ã®ã³ã¼ããç·¨é 1. ã«ã¬ã³ãã¼ä½æåé¡ è¨äºããå¼ç¨
ã©ã³ãã³ã°
ã©ã³ãã³ã°
ã¡ã³ããã³ã¹
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}