ææã§éå¬ããã Kaigi on Rails 2024ã«åå ããã
kaigionrails.org
ãã£ã¨ã«ãªããã®ã®ææ³ã§ãã2æ¥åã¾ã¨ãã¦ãã¡ãã«æ¸ãã¾ãã
1æ¥ç® (2024-10-25)
ä¹ãæãã§ããéãè¿·ã£ãã®ããããã·ã½ããããããã¦ããã¨ããæ³åã®3åãããé ãæãã®ã¨ãããã¹ãã³ãµã¼ãã¼ã¯2æ¬ç®ã«å
¥ã£ã¦ããã¨ããã§å°çã
ãã®ã¨ãªã¢ã¯ãæ¥æ¬Rubyã«ã³ãã¡ã¬ã³ã¹ 2006 (RubyKaigi 2006) ã¨ãããRuby ã«ã³ãã¡ã¬ã³ã¹ã¯ãã¾ãã®å°ã§ããã¨åæã«ããã㧠DHH ããå¶ç´ãèªç±ãããããããã¼ãã¼ããããå°ã§ããã£ããã¾ãæ±æ¸¡ãããé¡æã«ããããã¤ã³ã¿ã¼ãããç©çã¢ãã«ããä»å¹´ã§ã¯ãã¼ãºããããããããçã®æ
å ±ã«ããã¨ãã®æ±æ¸¡ããã¯ç¾å¨ã¯ DHH ã®æ
é·ã§ãããã³ãã¼ã¯ã«ãããããããªãã¨ãããã¨ã§ãæ空ãè¶
ã㦠Kaigi on Rails ã«éç´ããã¦ãã壮大ãªèæ¯ã«ã¤ã¡ã¼ã¸ãè¨ãã¾ãã¤ã¤åå ããã
ãªã¼ããã³ã°ãã¼ãã¼ã
palkan ã®ãªã¼ããã³ã°ãã¼ãã¼ãã§åºã¦ãããThink as a framework author, not a custom application developerãã¨ãããã¬ã¼ãºã¯ãä»å Kaigi on Rails 2024 ã§èªåãéãããå
¨ä½ãã¨ããã¦ä¸çªé¿ãããã¬ã¼ãºã§ããã
OSS ãã¡ã³ããã³ã¹ãã¦ããã¨ãä½è
ã®æ°æã¡ãèªãéè¦ãããä½è
ã®ãããã¯ãæ¹éãæ±²ã¿åãåãæ±ããããããã©ãDHH ã¨ãã®èå¾ã«ãã Matz ã®å§åçãªãã¶ã¤ã³åã®ããã«æã
ã¯ä¹ã£ãã£ã¦ãããã ãªãã¨ããã®ãæãåºããã¾ããã
å人çã«ã¯ã12æã® RubyWorld Conference ã®ç»å£æºåã§ãåºãæå³ã§ãRails ã¨ã¯ä½ãï¼ãã¨ãããã¼ãã§æ©ãã§ããã¿ã¤ãã³ã°ã¨ãããã¨ããã£ã¦ãè¡éããè²ã
ã¨åµçºãå¾ããã¼ã¯ã§ããã
å¤ã«ã¯ palkan ã«ãæ¬äººã«ç´æ¥ä¼ãããã in-person ããããã§ãã¦è¯ãã£ãã§ã (yahonda ãããã©ãã¼ãããã¨ããããã¾ãã) ã
ãRailsã®Pull requestsã®ã¬ãã¥ã¼ã®æã«ç§ãèãã¦ãããã¨ã
yahonda ããã®è©±ã¯ç¹ã«å¾åã«åºã¦ãããOSS ã¡ã³ããã¼ã¨ãã¦ã®ã³ã³ããªãã¥ã¼ã¿ããã® PR ã¸ã®å¯¾å¿ã¨ãã£ãé¢å¿äºãåªå
ä»ãã¨ãã£ããã®ã«å
±æãæã¡ã¤ã¤ããyahonda ããã®ãæ°æã¡ãå
¥ã£ã¦ããããããªããã¯ç¹ã«èå³æ·±ãèããã¨ãã§ãã¾ããã
ãJRubyã®ãã¯ã¼ã解ãæ¾ã¤ï¼ããã©ã¼ãã³ã¹ã¨å¤æ§æ§åä¸ã®ããã®Railsã¢ããªã
ç«å ããã®çºè¡¨ã¯ JRuby 㨠Oracle ã¨ãããã¨ããã以ä¸ã«ãäºåã«ããããè¦ã¦ãããã¨ãå«ããªããèãã¦ãã¾ãããèªåã®å ´åã¯ã¾ã Ruby (ã¨ããã Rails) ã®å¸æ°æ¨©ããã¸ãã¹ã§ä»ã»ã©å¼·ããªã£ãé ã«ãMRI ãã©ã³ã¿ã¤ã ã«ã¤ã³ã¹ãã¼ã«ã§ããªãããã©ãJVM ã§åãã¨ãããã¨ã§ JRuby ãªã OK ã¨ããæ¡ä»¶ã«æºãã£ããã¨ãããããã®ãããã®ä½é¨ãè¸ã¾ãã¦èãã¦ãã¾ããã
ãããã« JRuby ã¯èµ·åãé
ããã®ã®ããã¡ã©èµ·åããã° (ã¡ã¢ãªæ¶è²»éã¯ãã¬ã¼ããªãã«) é«éã«åãç°å¢ãæã«å
¥ããããã¨ãããã¤ã³ãããã£ã¦ããã®ãããã®ç¹è²ããã¾ãã¾ã¨ããããã話ã§ããããã¨ãçºè¡¨ã®æå¾ã« JRuby éçºè
ã® headius ã¸ã®æ¯æ´ã¨ããã®ãå¼ã³ããã¦ããããããç«å ããã®åªãã㨠Rubyist ã®ç¹ãããåºã¦ãã¦è¯ãã£ããªãã
å¤ã«ã¯ Oracle enhanced adapter ã®ãªã¼ãã¡ã³ããã¼ã® yahonda ããããç«å ããã«ãOracle enhanced adapter ã®ãªãã¸ããªç¶æ³ãä¼ãã¦ãããæ©ä¼ãä½ãã¦è¯ãã£ãã§ãã
ãã®ã»ã
ã«ãã§ã¹ãã¼ã¹ã§ ogijun ã®ã³ã¼ãã¼ã楽ãã¿ãªãããyahonda ããã kamipo ããã¨ãããä¼çãªæãã®è©±ãããããè¿æ³ãã¯ããã¾ãã¦ãããããã¦éããã¦ãã¾ãããogijun ã®ã³ã¼ãã¼ã§ã¯å¤å½©ãªå³ãããããã ãã¦ãã¡ãããã¾ã§ããã
ãã¨ã¯ã²ãããããã¯ãã¼ã¯ãªã©ãè´ã«ããå¤ã§ãããã¢ãªã¹ããã namespace ã® test-all ããã¹ãããç¥ãã¯ãRuby 4.0 ã«ã¾ãã²ã¨ã¤è¿ã¥ããã¨ãããã¨ã§ããã¼ãã³ãå²ãã ãã¤ã«ã¹ãã¼ã³éæããç¥ãã§ãã¦è¯ãã£ãã§ããå
¬å¼ãã¼ãã£ã¼ã2次ä¼ã§ã¯ãããããªäººã¨è©±ããæ°ããã¾ãã
ã¡ãªã¿ã«ããã¯2次ä¼ã®ã¯ã³ã·ã¼ã³ã§ããªã¼ããã³ã°ãã¼ãã¼ãã® palkan ã«å£°ããããã¦ãããã®ã¯ãydah ãããå½¼ã¯ãã£ãã Ruby ã³ãã¥ããã£ã«ãªãã¦ã¯ãªããªãåå¨ã§ããã
2æ¥ç® (2024-10-26)
ãã®ã¯ãã½ã³ããã®ãææ¥ã対æ¦ãé¡ããã¾ã( ËÏË)ããã¤ã¼ãããä¸å¤æã2æ¥ç®ãåæ¥ã®é£²ã¿éãã®ãã¡ã¼ã¸ãå¼ããã£ã¦ã¹ã¿ã¼ããydah ããã®çºè¡¨ã«éã«åãããã«é å¼µã£ãã
ãä½ã£ã¦ç解ãã RDBMSã®ããã¿ã
ydah ããã®çºè¡¨ã¯ãäºæ³ã¨éã£ã¦ã³ã¼ããåºã¦ããã«ããã¼ã¿ãã¼ã¹å®è£
ã®ãã¶ã¤ã³æ¦ç¥ã¨ã¢ã«ã´ãªãºã ã®æ§è³ªã¨ãã®æ´å²ã¨ãã£ãæãã®ã話ã§ããããã¼ã¿ãã¼ã¹ã®æ°æã¡ãç¥ãã«ã¯ãã¼ã¿ãã¼ã¹ãä½ãã®ãä¸çªã¨ããæå³ã§ã¯ãydah ããã®è©±ããã£ããã«ããããã£ã人ãç¾ãã足ãããã«ãªãã¨é¢ç½ããã§ããã
ãæ¼ã« a_matsuda ããã¨ãããããã°åæ£ã¹ãã¬ã¼ã¸ã® Fairy 㨠Roma ã¨ããã®ããã¤ã¦ Ruby 製ã§ããã¾ãããããã¨ã¤ã³ã¿ã¼ãããè人ä¼ã®æ¹ã§ããå¾å¹´ã® Ruby 製ãã¼ã¿ãã¼ã¹ãæãåºããã£ããã«ãªãã話ã§ããã
ãImportmapã使ã£ãJavaScriptã®èªã¿è¾¼ã¿ã¨ãã©ã¦ã¶ã¢ããªã³ã®å½±é¿ã
ååã® swamp09 ã®ãã¼ã¯ãKaigi on Rails ã¨ããç¾å ´ã§ã®å°ã«è¶³ãçãããé¢ç½ããã¼ã¯ãã¨ãããããã¼ã¶ã«ã¨ããæå³ã§ã¯ãå¼ç¤¾ã§ãã£ã¨ãç¸æ§ãè¯ããããªè©±ã¨æããªããå½æ¥èãã¦ãã¦ãå®ã« Kaigi on Rails ã£ã½ã話ã¨ãã趣ã§èãã¦ããã
æ¬å½ã¯ãã£ã¨ Importmap ã¾ããã§ã®æ©ã¿ãåå è
ã¨ä¸ç·ã«èããããæãã ã¨è¯ãããã¨äºåã«è©±ãã¦ããããã©ããã®ããããå
¬å¼æ親ä¼ã§æºè¶³ã§ããã®ããªï¼
ãomakaseããªãããã®rubocop.yml ã®ã¤ããããã
ã¨ã¯ã¹ãããã®è©±ã¯ãã¿ã¤ãã«ããå¼ã³åºãããã¦ããæãã ã£ãã®ã§ããã¡ãã¨æååã«çå¸ãã¦èãã¦ãã¾ãããEM ã¨ã㦠RuboCop ãããã¸ã§ã¯ã (ã¡ã³ãã¼) ã«è¿ããã«ãããã¹ããããä¸å¯§ã«èª¬æããã¦ãã¾ãããå人çã«ã¯ã¿ã¤ã ããã¯ã¹ã¨ã¢ã«ã¦ã³ã¿ããªãã£ããã£ãããã¦ãã話ã ãªãã¨èãã¦ãã¦ã15åã¨ããæ ã®ä¸ã§ããåæçã«è¡ããªããæ票ã¯éåæã§è¡ãã Slackãã¢ã«ã¦ã³ã¿ããªãã£ãå¸èã«ãªããªã¹ã¯ã®ããæã¡åãã§ã¯ãªããèªåãåã«é²ãããã¨ããã®ãããã¸ã¡ã³ãæãããã¤ã³ãã§è¯ãã£ãã§ãã話ã®ãããæ¹ã¨ãã¦ããæåã omakase ããªããã¨ããã®ã¯ãè¯ããã¬ã¼ãºã ãªãã¨æãã¾ããã
ä½è«ã§ãããã¨ã¯ã¹ãããã¨ã¯ RubyKaigi 2024 ã§ãçµã¾ã§é£²ãã§ãããã²ã¨ãã§ããã®éã« EM ã¨ãã¦ã®è©±ãèãã¦ãããã¨ãããã¨ã¯ã¹ãããã® (èãæ¹ã®) 話ãã¨ãã¦ãé¢å¿ãæã£ã¦èãã¦ãã¾ãã (ãã®éã«ãã¡ãã ydah ããããã£ããã¨ãã¾ãã) ãã«ã³ãã¡ã¬ã³ã¹ã¯ç¹ãã£ã¦ãã¾ããã
ãIdentifying User Identityã
ããã¦å»å¹´ã®å人çãã¹ãã¹ãã¼ã«ã¼ã® moro ããã®è©±ãä»å¹´ããããã¼ã¶ã«ãæ¡æãããã¨ãããã¤ã¼ãã®æç¹ãã楽ãã¿ã«ãã¦ãã¾ããã
User ã¨ããææ§ãªååã§çµããããªãã¨ããã¦ã¼ã¶ã¼ã¹ãã¼ãªã¼çãªè©±ããå§ã¾ããUser ã«ç¸å½ããããã¼ãã«ã«ã¯ id ããæãããªã (human_id 㨠created_at ãããã¯ãã£ã¦ãè¯ã) ã¨ããã®ã¯ãå人çã«ãããå®è·µã§ãã£ã¦ããã£ã½ãã®ãããããªã¨ããã§ããããã¨ãã° Devise ãªããã¯ãã¸ãã¹æ
å ±ã¨èªè¨¼æ
å ±ããã¡ãã¾ãã«ããéåãªãã¼ãã«è¨è¨ã«ãªãæ²ãã¿ã®ä»£è¡¨ä¾ã ã¨æã£ã¦ããããã©ããããã£ããã®ã§ã¯ãªããæ£è¦åã¨ã¯ä½ãï¼ããæ
å ±ã®åé¡ã¨ã¯ä½ãï¼ãã¨ãã£ããã¼ã¿ãã¼ã¹è¨è¨ã®ããæ¹ãåããã¦ãããããªè©±ã§ã¨ã¦ãè¯ãã£ãã§ããã¨ãããä¸ã¤ã®ãã¼ãã«ã«ãå
¬éãã¦è¯ãæ
å ±ãã¨ãç§å¿æ
å ±ããæ··ãã£ã¦ããã¨ããããã£ãæ
å ±ç®¡çã®é¨ç½²ããæåºãæ±ããããéã®åå¥ãé¢åã ã£ãããæ¬çªç°å¢ãã¼ã¹ã®ãã¼ã¿ãã¹ãã¼ã¸ã³ã°ç°å¢ã«ãã»ã³ã·ãã£ããªç§å¿æ
å ±ãã«ã¹ã¿ãã¤ãºãã¦æå
¥ãªã©ãã£ãéã®ã人çºçãã¹ã¸ã®ãªã¹ã¯ãæ¸ããè¶³å ´ã«ãªãããã§è¯ã話ã§ãã (ããããæ··ãããªå±éºããã¿ã¼ã³ã®ã²ã¨ã¤ã¨è¨ããã) ã
ã¾ã scope :withdrawn, -> { where.missing(:credential) }
ã¨ããæå³ãä¼ããããã®ãã以ä¸åãããã®ãªãã·ã³ãã«ãªã³ã¼ãã§æé«ã«ã¯ã¼ã«ãªæ¸ãæ¹ (ã§ããããã§ããããã«ãªã£ã¦ãã£ã¦ããã®ã Rails ã®ç´ æ´ããã) ã ã¨æã£ã¦ããã®ã§ããããããã£ã Ruby ã®ãã¡æ¹ãå®ç¾ããããã«ããã¼ã¿ãã¼ã¹è¨è¨ã¯å¤§äºã¨ããã¡ãã»ã¼ã¸ãä¼ãã£ã¦ãã¾ããã話ãèãçµãã£ããã¨ã« yancya ããã¨ãmoro ããæ¬äººã¯è¨ã£ã¦ããªãã®ã«ãè«çåé¤ãé¿ãããã¨ãã話ãèæ¯ã«å«ã¾ãã¦ããããã¨ããæãã§ãããããã®è¡éãèããããããã¨ã¦ãè¯ãã話ã§ãããæ¥å¹´ã®çºè¡¨ã楽ãã¿ã«ãã¦ãã¾ãï¼
ã¯ãã¼ã¸ã³ã°ãã¼ãã¼ã
æå¾ã®ã¯ãã¼ã¸ã³ã°ãã¼ãã¼ãã®å³¶ç°ããã®ã話ãè¯ã Rails ã¢ããªã±ã¼ã·ã§ã³ãæ¸ãç¶ããããããã«ãããææ¬ã¯ãRails ãã®ãã®ãç¥ãã¨ããã®ããªã¼ããã³ã°ãã¼ãã¼ãã® palkan ã®ãã¼ã¯ã¨ãç¹ãã£ã¦ããæãããã£ã¦è¯ãã£ãã§ããRails ã§ä»äºãå§ããå½æã«è§è°·ããããrails g scaffold
ã§çæãããã³ã¼ãã¯ãã以ä¸åãããã®ãªãã·ã³ãã«ãªã³ã¼ãã§ããã®ã³ã¼ããåºæºã«ã·ã³ãã«ããç¶æããããã«é å¼µãããã¢ããªã±ã¼ã·ã§ã³ã¯æ¾ã£ã¦ããã¨è¤éæ§ãå¢ãã®ã§ãæ°ãã¤ãããããã¨ãã£ããã¨ã話ãã¦ãããã¨ãæãåºããããRails 20 å¨å¹´ã¤ã¤ã¼ã® Kaigi on Rails ã¯ãã¼ã¸ã³ã°ãã¼ãã¼ãã¨ãã¦ã¨ã¦ãè¯ãã£ãã§ãã
Rails World 2024 ã§ã® DHH ããç§ãå¿ãè¾¼ãã¦æ¸ããã³ã¼ãã ããè¯ãã³ã¼ããã«ãªã£ã¦ããã¨ãã£ãæãã®è©±ããã¦ãããããªã®ã§ãã³ã¼ãã¢ã¼ãã£ã¹ãã§ããã DHH ã®ãã¬ã®ãªãã Rails 20 å¹´ã®æ´å²ã«ç¹ãã£ã¦ãããã ãããªãã¨ãä»åã®ã«ã³ãã¡ã¬ã³ã¹å
¨ä½ãéãã¦æãããã®ç· ããããã§ããã
ãã®ã»ã
Kaigi on Rails 2024 è¨å¿µã« RuboCop Rails 2.27 ããªãªã¼ã¹ãã¦ããã¾ãããå
容çã« 2.26.3 ã®ã©ã¡ãã§åºããæ©ãã§ãããã¼ã¸ã§ãã³ã°ã§ããããè¨å¿µãªã®ã§ãã¤ãã¼ãã¼ã¸ã§ã³ãä¸ãããã¨ã«ãã¾ããã
github.com
ã¸ã§ã¼ã«ã¼ããçã«ã¯ãããªçµµé¢ã ã£ãããã§ãããªãã»ã©ã
ãããªæãã§é常ã«æ¥½ããæéãéãããã¨ãã§ããã«ã³ãã¡ã¬ã³ã¹ã§ãããæ¥å¹´ã®ä¼å ´ã¯æ±äº¬é§
ç´çµã®ããã§ãå人çã«ã¯æé«ã®ãã±ã¼ã·ã§ã³ã§ãã¾ãã楽ãã¿ã§ãã
ä¼æä¸ã« a_matsuda ããã¨ã20å¹´ç¶ã Web ã¢ããªã±ã¼ã·ã§ã³ãã¬ã¼ã ã¯ã¼ã¯ã¯æ¬å½ã«ããããã¨è©±ãã¦ããã®ã§ãããã«ã³ãã¡ã¬ã³ã¹ã¨ãã¦ã RubyKaigi 2006 ããæ¥æ¬ã§ç¶ãå¤æ§ãª Ruby / Rails ã®ã«ã³ãã¡ã¬ã³ã¹ã®ã²ã¨ã¤ã®ãã¾ã®ãä½é¨ãã¨ãå
±æãã®å ´ã«åå ã§ãã¦å¹¸ãã§ããã
ã¹ã¿ããã®ã¿ãªãããç»å£è
ã®ã¿ãªããã交æµãã¦ãããã¿ãªãããããã¦ä»åãç¾å³ããçç²ãæä¾ãç¶ãã¦ããã ogijun ãããã©ãããããã¨ããããã¾ããã