ã¯ããã« ããã«ã¡ã¯ïŒ 人æãã©ãããã©ãŒã æ¬éšãããã¯ãéçºå®€ 第äžéçºã°ã«ãŒãæå±ã®å±±äžã§ãã ã¡ãã¬ãŒã«ã¯ä»å¹Ž2æã«å
¥ç€Ÿãããšã³ãžãã¢ã§ãæ¥æ¬æå€§çŽã®å»çä»è·æ±äººãµã€ã ãžã§ãã¡ãã¬ãŒ ã®éçºãæ
åœããŠããŸãã ã¡ãã¬ãŒã¯ 4 æ 16 æ¥ãã 18 æ¥ã« æåªçæŸå±±åžã® æåªççæ°æåäŒé€š ã«ãŠéå¬ããã RubyKaigi 2025 ã« Platinum Sponsor ãšããŠåè³ããŸããïŒ RubyKaigi 2025 㯠Ruby ãããŒããšããåœéçãªã«ã³ãã¡ã¬ã³ã¹ã§ãäžçäžããæ§ã
㪠Ruby ãšã³ãžãã¢ãéãå€§èŠæš¡ãªã€ãã³ãã§ãã å
¥ç€ŸãããŠã®ç§ãå«ãããšã³ãžãã¢ãšãšã³ãžãã¢æ¡çšæ
åœã®èš 13 åãçŸå°åå ããããããã®æ¹ã
ãšäº€æµãããŠé ããŸããã ä»åã¯äŒå Žã»ããŒã¹ãšçºè¡šã®æ§åãã玹ä»ããŸãã äŒå Žã®æ§å åœæ¥ã¯3æ¥éãšã倩åã«æµãŸãç©ãããªæ¥ã®æ¥åã®äžãRubyKaigi 2025 ãè¡ãããŸããã æåªçæ°æåäŒé€šã¯æŸå±±åžã®éåŸæž©æ³ãšå€§è¡éã«ã»ã©è¿ãç«å°ã§ãçå
æå€§çŽã®æåæœèšã®äžã€ã§ããã¡ã€ã³ããŒã«ã«ã¯2,725åžãæããŠããŸãã éåã§å
ç¢ãªå°è±¡ãäžããå€èг 100ãè¶
ããäŒæ¥ã®åè³ã®ããšã1,518åãã®Rubyistãåå ãæŽä»£ã§ãæå€§èŠæš¡ã®ã€ãã³ããšãªããŸããïŒ åºã
ãšããŠéæŸæã®ããå Žå
åå è
ã«é
åžãããå
¬åŒã°ããºã¯ããªãªãžãã«Tã·ã£ãã«å ããŠåŸ¡æ±å°åž³ãç ¥éšçŒã®ç®žçœ®ããæŸç«¹é ã®åœ¢ãããã¢ã¯ãªã«ããŒãã«ããŒãªã©ãéå¬å°ã»æåªçã®ç¹è²ã掻ãããã°ããºãšãªã£ãŠããŸããã åŒç€ŸããŒã¹ã®æ§å åŒç€Ÿã¯äŒå Žã«å
¥ã£ãŠããæ£é¢ã®å Žæã«ããŒã¹ãèšçœ®ãããŠããã ããŸããã ã¿ãªãããæããŠããå»çDXã®èª²é¡ãã¢ã³ã±ãŒãã§ãã¢ãªã³ã°ããåŒç€Ÿããããã®èª²é¡ã«æè¡ã掻çšããŠã©ã®ããã«åãçµãã§ããããã説æããŸããã ãŸãã åŒç€Ÿå
¬åŒX ããã©ããŒããŠããã ããæ¹ããåŒç€Ÿã®ã€ãã³ããããã¯ããã°ãªã©ã®æ
å ±ããæ¡å
ããã¡ãŒãªã³ã°ãªã¹ãã«ç»é²ããŠããã ããæ¹ã«ããã«ãã£ãå·®ãäžããŸãããå»çäºæ¥ãæãããäŒæ¥ãšããŠã®ã¢ããŒã«ãå
ŒããŠãããã«ãã£ã«ã¯è¡çããããšçµåµèããçšæããŸããã ãªãªãžãã«ãã¶ã€ã³ã®çµåµèãè¡çãããã倧人æ°ã§ããïŒ å»çDXã®èª²é¡ã¢ã³ã±ãŒãã§ç¹ã«åçãå€ãã£ãã®ã ãåŸ
ã¡æéãé·ãã  ãšãã課é¡ã§ããã ã¡ãã¬ãŒã®æäŸãããªã³ã©ã€ã³èšºçã»æè¬æå°ã¢ããªã CLINICS ãã§ã¯ç
é¢ã調å€è¬å±ã®äºçŽãäºåã®å蚺祚å
¥åãªã©ãå¯èœã§ãããªã³ã©ã€ã³ã«ãã蚺çã»æè¬æå°ïŒè¬å€åž«ã«ãããè¬ã®èª¬æïŒãäºçŽããå Žåã¯åŸ
ã¡æéã ãã§ã¯ãªãç§»åæéãåæžãããããšããUber Eats ãšã®é£æºã§æè¬æå°åŸãæç30åçšåºŠã§èªå®
ãŸã§ãè¬ãå±ããŠãããããšãå¯èœãªããšãã説æããŸããã ãŸããçŽæ¥çã§ã¯ãããŸããããåŸ
ã¡æéã®é·ãã«ã¯äººå¡äžè¶³ãé¢å
ãªãã¬ãŒã·ã§ã³ãå©çšã·ã¹ãã ã圱é¿ããŠããããšããããŸãããããããžã§ãã¡ãã¬ãŒãå»çæ©é¢åãã®ã·ã¹ãã ïŒ CLINICS ã MALL ã Pharms ã Dentis ïŒãéããŠãµããŒãããŠããããšãããããã®èª²é¡ã«å¯ŸããŠå€æ§ãªãµãŒãã¹ã§æ§ã
ãªã¢ãããŒãããšã£ãŠããããšãªã©ãã話ãããŸããã ã¡ãã¬ãŒããŒã¹ã«ãè¶ãããã ããçæ§ãããããšãããããŸããïŒ åå ã¡ã³ããŒå
šå¡ã§ çºè¡šã®æ§å ã©ã®ã»ãã·ã§ã³ã倧å€è峿·±ããäžéšé£è§£ãªå
容ããããŸããããç¹ã«å°è±¡æ·±ãã£ãäžèšã®ã»ãã·ã§ã³ã«ã€ããŠã玹ä»ããŸãã Day1 Keynote: Ruby Taught Me About Encoding Under the Hood - Mari Imaizumi Day1: Introducing Type Guard to Steep - Takeshi KOMIYA Day2: Making TCPSocket.new âHappyâ! Misaki Shioi Day3: Matz Keynote Day1 Keynote: Ruby Taught Me About Encoding Under the Hood - Mari Imaizumi Day1ã®åºèª¿è¬æŒã¯ã@ima1zumiããã«ãããæ®æ®µæèããã«äœ¿ã£ãŠãããæåãã®ã³ã³ãã¥ãŒã¿äžã§ã®è¡šçŸãšãRubyã§ã®æ±ãã«é¢ããã»ãã·ã§ã³ã§ãããæåã³ãŒãã®æŽå²çèæ¯ããææ°ååãŸã§æ·±ãæãäžããããŸããã åŒçšå
: speakerdeck.com æŠèŠ æåã³ãŒãã®é²å æå笊å·åã®æŽå²ãšããŠãã®ãããã¢ãŒã«ã¹ä¿¡å·ãããã³ã³ãã¥ãŒã¿æä»£ã® ASCIIãEBCDIC ã玹ä»ãããŸãããç¹ã«EBCDICã§ã®æ¥æ¬èªè¡šçŸã®å°é£ãïŒ Shift-In/Out ã«ãã 1ãã€ã/2ãã€ã åãæ¿ãïŒã®è©±ã¯å°è±¡çã§ãçŸåšã®æåå
¥åç°å¢ã®ããããããçæããŸããããã®åŸãäžçäžã®æåãçµ±äžçã«æ±ãUnicodeãèªçããUniversalããEfficientããUnambiguousããç®æããUTF-8 ã UTF-16 ãšãã£ããšã³ã³ãŒãã£ã³ã°æ¹åŒãæ®åããŸããã Reline ã®äºäŸããèŠããèª²é¡ Rubyã® REPL ã©ã€ãã©ãªãRelineãã§ãç¹å®ã®çµµæå ð§âð§âð§ å®¶æ ãå
¥åã㊠Backspace ãæŒããšã¯ã©ãã·ã¥ããåé¡ããããŸããããã®çµµæåã¯èŠãç®äž1æåã§ããå
éšçã«ã¯è€æ°ã® Unicode ã³ãŒããã€ã³ãïŒ7ã€ïŒã§æ§æãããŠããŸããReline ãããããã€ãæ°ã§åŠçããããšããããåé¡ãçºçããŸãããããã§éèŠãªã®ãããŠãŒã¶ãŒãã1æåããšèªèããåäœã§ãããæžèšçŽ ã¯ã©ã¹ã¿ (Grapheme Cluster)ãã§ããåææåãçµåçµµæåã®ããã«ãèŠãç®ã®æåæ°ãšå
éšã³ãŒããã€ã³ãæ°ãäžèŽããªãã±ãŒã¹ãååšããŸããReline ã®åé¡ã¯ããã®æžèšçŽ ã¯ã©ã¹ã¿ãæ£ããèªèããŠããªãã£ãç¹ã«ãããŸããã Ruby ã«ããã Unicode ãµããŒã Ruby 㯠Unicode 15.1.0 仿§ãžã®æºæ ãé²ããŠããŸããUnicodeæšæºã®ããŒã¿ããŒã¹ãã¡ã€ã«ãåã蟌ã¿ãå
éšåŠçã«åæ ãããŠããŸããæ£èŠè¡šçŸãšã³ãžã³ãOnigmoããUnicodeã«å¯Ÿå¿ããŠããã \X ïŒæžèšçŽ ã¯ã©ã¹ã¿ïŒã \p{Property} ïŒUnicodeããããã£ïŒãšãã£ãã¡ã¿æåãå©çšã§ããŸããããã«ãããéçºè
ã¯å
éšè¡šçŸãæèãããšãçŽæçãªæäœãå¯èœã§ããæžèšçŽ ã¯ã©ã¹ã¿ã®åå²ã«ãŒã«ïŒäŸïŒGB9cïŒã«ãæºæ ããããšããŠããŸããä»åŸã®èª²é¡ãšããŠUnicode 16.0.0ãžã®è¿œåŸãæ£èŠå察å¿ãæããããŸããã ææ³ æåã³ãŒãã®å¥¥æ·±ããæ¯ããæè¡ããã㊠Ruby ã®å¯Ÿå¿ãå
·äœäŸãšå
±ã«åŠã¹ãŸãããæåãå
¥åã衚çŸã§ããŠããããšãåœããåã§ã¯ãªãããšãUnicode ã®è€éãã«å¯Ÿå¿ããéçºè
ãçŽæçã«æåãæ±ããããã«ãã Ruby ã³ãã¥ããã£ã®ç¶ç¶çãªåªåã«æéãåããŸãããä»åŸã® Unicode æšæºãš Ruby ã®é²åã«æ³šç®ããŠããããã§ãã Day1: Introducing Type Guard to Steep Takeshi KOMIYA ããã«ããã»ãã·ã§ã³ã§ã¯ãRuby ã®éçåãã§ãã«ãŒ Steep ã«ãããåã¬ãŒãæ©èœã®æ¹åãšä»åŸã®å±æãèªãããŸããã åŒçšå
drive.google.com æŠèŠ ãããŸã§ã® Steep ãšåã¬ãŒãã®èª²é¡ Steep ã¯å誀ããé²ãããŒã«ã§ãããåŸæ¥ã®åã¬ãŒãã§ã¯Rubyã§å€çšããã present? ã¡ãœããã®ãããªååšç¢ºèªãšåçµã蟌ã¿ãå
Œãããã¿ãŒã³ãæ©èœãããäžå¿
èŠãªåãšã©ãŒãçºçããéçºäœéšãæãªãäžå ãšãªã£ãŠããŸããã Union Type ã«å¯Ÿããåã¬ãŒãã®åŒ·å ãã®èª²é¡ã«å¯Ÿå¿ãããããSteep 1.10 以éã§ UnionTypeïŒäŸ: String | nil ïŒãžã®åã¬ãŒãã匷åãããŸãããèšå®èšè¿°ã«ãã present? ã®ãããªã¡ãœããåŒã³åºãã§ nil ã§ãªãåãžçµã蟌ããããã«ãªããRuby ãããèªç¶ãªã³ãŒãã§åãã§ãã¯ã®æ©æµãåããããŸãããã®æ©èœã¯éçºè
å®çŸ©ã®ã¡ãœããã«ãé©çšå¯èœã§ãæè»æ§ãåäžããŸããã ãŸããããçŽæçãªåã¬ãŒã宣èšã®ãããæ°ããã¢ãããŒã·ã§ã³æ§æÂ a{guard: self is AdminUser}  ã玹ä»ãããŸãããç¹å®ã®æ¡ä»¶äžã§å€æ°ã®åãç¹å®ã®åã§ããããšã Steep ã«äŒããè€éãªæ¡ä»¶åå²ã«ãããåæ
å ±ãæç¢ºã«ããŸãã ä»åŸã®å±æ å°æ¥çãªæ¡åŒµãšããŠãConditional Typesãæ§æ³ã玹ä»ãããŸãããããã¯ç¹å®æ¡ä»¶äžã§ã®ã«ã¹ã¿ã åã¬ãŒãé©çšãè¿ãå€åã®éå®ãå¯èœã«ããæ©èœã§ããè€æ°ã®åæ
å ±ãçµã¿åãããæ©èœïŒäŸ: UserAdmin & Publish ïŒãé¢é£ããŠæ€èšãããŠãããããé«åºŠã§ç²Ÿå¯ãªåãã§ãã¯ãå®çŸããŸãã ææ³ Steep ãéçºè
ã®ãã£ãŒãããã¯ãåãå
¥ããããå®è·µçã«é²åããŠãããšæããŸãããGuard ã¢ãããŒã·ã§ã³ã Conditional Types ãªã©ãä»åŸã®æ©èœè¿œå ã«ãæåŸ
ãæãŠãŸããRuby ã«ãããéçåãã§ãã¯ããã身è¿ã§åŒ·åãªãã®ã«ãªãã€ã€ãããSteep ã®æŽ»çšãæ€èšããããšæããŸããã Day2: Making TCPSocket.new âHappyâ ! Misaki Shioi ããã«ããã»ãã·ã§ã³ã§ã¯ãRuby æšæºã©ã€ãã©ãªã®TCPæ¥ç¶æ¹åãç¹ã« TCPSocket.new ãžã® Happy Eyeballs Version 2 (HEv2) å®è£
ã®çµç·¯ãšæè¡çææŠãèªãããŸããã åŒçšå
: speakerdeck.com æŠèŠ TCPSocket.new ã âHappyâ ã«ãã詊㿠TCPSocket.new ãžã® Happy Eyeballs Version 2 (HEv2, RFC8305) ã®å®è£
ã«ã€ããŠãHEv2ã¯IPv4/IPv6䞡察å¿ãã¹ããžã®æ¥ç¶ãé«éåããæè¡ã§ãåå解決ã䞊è¡ããæ©ãå¿çããã£ãæ¹ãžæ¥ç¶ããããšã§é
å»¶ãæå°åããŸããShioiããã¯å
è¡ã㊠Socket.tcp ã«HEv2ãå®è£
ããçµéšã掻ãããããäœã¬ã€ã€ãŒã® TCPSocket.new ãžã®æ¹åã«æã¿ãŸããã èª²é¡ å
è¡å®è£
ãã Socket.tcp èªäœã®èª²é¡ïŒäžŠè¡åŠçã«ããã¹ããŒããã·ã³ã®åé¡ïŒã«çŽé¢ããifæããŒã¹ã®ããžãã¯ã«åå®è£
ããŠè§£æ±ºããŸããããã®ç¥èŠãããšã« TCPSocket.new (Cèšèª)ãžã®HEv2å®è£
ã«çæããŸããããRubyãšCã§ã®åå解決ã©ã€ãã©ãªã®æåå·®ç°ãªã©ãæ°ããªå£ã«ã¶ã€ãããŸããããã©ãããã©ãŒã éã®å·®ç°åžåãªã©ãCèšèªã¬ãã«ã§ã®çްããªèª¿æŽãçµãŠãã«ãªã¯ãšã¹ãã宿ãããŸããã ãã«ãªã¯ãšã¹ãã®ããŒãžåŸããCIç°å¢ã§ã®ãã¹ã倱æããŠãŒã¶ãŒããã®ãã°å ±åãªã©ããªãªãŒã¹çŽåãŸã§äºæãã¬åé¡ãžã®å¯Ÿå¿ã«è¿œãããŸããããããã®å°é£ãä¹ãè¶ãããã®æ¹åã¯Ruby 3.4ã«ç¡äºã«åã蟌ãŸããŸããã ææ³ HEv2å®è£
ã®äžé£ã®åãçµã¿ããæç³»åã§éåžžã«åããããã解説ãããŸããã Socket.tcp ã®åå®è£
ãã TCPSocket.new ãžã®å®è£
ããªãªãŒã¹ãŸã§ã®èª²é¡ãšè§£æ±ºçã远äœéšã§ããŸãããå®è£
ã³ãŒãã®åŒçšãå€ããçè§£ã®å©ãã«ãªããŸããããããã¯ãŒã¯äœã¬ã€ã€ãŒã®æ¹å㯠Ruby ãšã³ã·ã¹ãã å
šäœã®å質åäžã«ç¹ããéèŠãªåãçµã¿ã§ãããæ®æ®µå©çšããTCPæ¥ç¶ã®è£åŽã§è¡ãããŠããããã©ãŒãã³ã¹ãšä¿¡é Œæ§åäžã®ããã®ç·»å¯ãªåªåã«æéãåããŸããã Day3: Matz Keynote RubyKaigi 2025 ã®æåŸã¯ Matz æ°ã«ããã»ãã·ã§ã³ã§ãããã¹ããŒãžã®ããäžããã®ããã¯ãå©çšããŠå ã
ãšç»å ŽããäŒå Žãé©ããšç¬ãã§å
ãã Matz æ°ã¯ãçŸä»£ã®éçºç°å¢ãš Ruby ã®æªæ¥ã«ã€ããŠèªããŸããã AIã«ããéçºæ¯æŽãæ¥éã«é²ãçŸä»£ã«ãããŠãæ¬æ¥ã楜ãããã¯ãã®ããã°ã©ãã³ã°ããAIãžã®æç€ºåºãäœæ¥ã«çµå§ãã人éããŸãã§AIã®ãããã¹ãã§ãããã®ããã«åéãããŠããŸãâŠâŠããããªãéã¢ã«ãã¡ã·ã³ãããŒã ãã«é¥ããªããããMatz æ°ã¯æ³šæãä¿ããŸãããRuby ã®æ ¹å¹¹ã«ãããããã°ã©ãã³ã°ã楜ããããšãã粟ç¥ããæè¡ãé²åããä»ã ãããããæ¹ããŠèžã«å»ãã¹ãã ãšèªããŸããã äžæ¹ã§ãAIãšã®åèª¿ãæªæ¥ã®éèŠãªããŒãã§ããMatzæ°ã¯ãå°æ¥ã®é«åºŠãªAIãšã®ã³ãã¥ãã±ãŒã·ã§ã³ã«ãããŠãRuby ãæã€ãç°¡æœãããè±ããªè¡šçŸåããé«ãæ¡åŒµæ§ããšãã£ãç¹æ§ããçæ³çãªã€ã³ã¿ãŒãã§ãŒã¹ãšãªãåŸããšããŸããããããŠãAIãããè¯ãåŠç¿ã§ãããããã¢ãã³ã§è³ªã®é«ã Ruby ã³ãŒããã³ãã¥ããã£å
šäœã§ç©æ¥µçã«å
¬éããŠããããšã®éèŠæ§ãæèšããŸããã ãã㊠Ruby èªäœã®é²åã«ã€ããŠããRuboCopãIRB ã Parser ã®é²åãšãã£ãéçºè
äœéšãåäžãããããŒã«ã®å
å®ãYJIT/ZJIT ã Deoptimization ãšãã£ãæè¡ã«ããçå®ãªããã©ãŒãã³ã¹åäžã«ã€ããŠãè§ŠããRuby ããã匷åã§äœ¿ããããèšèªãžãšé²åãç¶ããŠããããšã匷調ããŸããã ãŸããMatz æ°ã¯æ¹ã㊠Ruby ã®åŒ·ãã®æºæ³ã¯ã³ãã¥ããã£ã«ãããšè¿°ã¹ãŸããã倿§ãªããã¯ã°ã©ãŠã³ããæã€äººã
ãæè¿ãããªãŒãã³ãªå§¿å¢ãšãã³ãã¥ããã£å
šäœã§ Ruby ãšããèšèªãè²ãŠãŠããæåããããRubyãç¹å¥ãªãã®ã«ããŠããŸãã ããã«ãä»å¹Žã®12æã«è¿ããRubyã®30åšå¹Žãèšå¿µããŠãRuby4.0 ã®ãªãªãŒã¹ãäºå®ããŠããããšãçºè¡šããŠããŸããã æšä»ã®AIã®ç®èŠãŸããçºå±ã¯ããšã³ãžãã¢ãšããŠéåžžã«å¿èºããã®ã§ããäžæ¹ãäžæ¹ã®äžå®ãæããããé¢ããããŸããããã Matz æ°ã®è¬æŒã¯ãããã Ruby ãšå
±ã«æ°ããæªæ¥ãåãæããŠããåžæãäžããŠããããã®ã§ãããRuby ã®ã楜ããããšããåç¹ã決ããŠå¿ãããAIã匷åãªããŒãããŒãšããŠãããåµé çãªéçºã远æ±ããŠãããããšã決æãæ°ãã«ããŸããïŒ ãããã« Ruby ã®å¯èœæ§ãèã§æããç±æãã仲éãã¡ãšåºäŒããæè¡ãžã®æ
ç±ãæ¹ããŠç¢ºèªã§ããçŽ æŽãããã€ãã³ãã§ããã éå¶ã¹ã¿ããã®çãããç»å£è
ã®çãããäžç·ã«çãäžãã£ãåå è
ã®çãããæ¬åœã«ããããšãããããŸãïŒ æ¥å¹Žã¯åæµ·éã»åœé€šã§ã®éå¬ãäºå®ããŠããããã§ãã ã¡ãã¬ãŒã«ã¯ ã¯ãã ãŠæªæ¥å€§åŠåºèº«ã®ã¡ã³ããŒãåšç±ããŠãããåŠå
ã»ãããŒãžã®åå ãç©æ¥µçã«è¡ãªã£ãŠãããŸãããããããå°ã§ã®éå¬ã«åããŠãä»ããéåžžã«æ¥œãã¿ã§ãã ç§ãã¡ã¯ããããã Ruby ã³ãã¥ããã£ãšãšãã«ããã«æé·ãããã£ã¬ã³ãžãç¶ããŸãïŒ After RubyKaigi 2025 ãéå¬ããŸãïŒ https://increments.connpass.com/event/351891/ ã¡ãã¬ãŒã¯åããRubyKaigi ã¹ãã³ãµãŒäŒæ¥ã§ãã Qiita瀟ã»OPTiM瀟 ãšã®ååéå¬ã«ããã¢ãã¿ãŒã€ãã³ãã 5 æ 14 æ¥ ã«è¡ããŸãã RubyKaigi ã®æãåºã Kaigi Effect ãåããŠææŠããããšãªã©ã楜ãã話ãåããŸãããïŒ ã¡ãã¬ãŒã§ã¯ãã®ãããªã€ãã³ãã®éå¬ã®ã»ãã«ããRoppongi.rb ãªã©å°åã³ãã¥ããã£ãæè¡ã«ã³ãã¡ã¬ã³ã¹ã®ã¹ãã³ãµãŒãªã©ãéããŠãæè¡ãšã³ãã¥ããã£ã®çºå±ãå¿æŽããŠããŸãã ã¡ãã¬ãŒã§ã¯ãšã³ãžãã¢ãç©æ¥µæ¡çšäžã§ãïŒ ã¡ãã¬ãŒã§ã¯é åãåãããRuby ãç©æ¥µçã«æŽ»çšããŠå»çãã«ã¹ã±ã¢ã®æªæ¥ãã€ãããããã¯ããéçºããŠããŸãã Ruby ãæŽ»çšããå»çãã«ã¹ã±ã¢é åã®èª²é¡è§£æ±ºã«èå³ãããæ¹ã¯ããã²ãæ°è»œã«ãé£çµ¡ãã ããïŒ åéã®äžèЧ https://www.medley.jp/jobs/ â»ã«ãžã¥ã¢ã«é¢è«ãåžæã®éã¯ã<ãã®ä»>ã«ãŠãã®æšããèšèŒãã ãã
ã¯ããã« ããã«ã¡ã¯ïŒ 人æãã©ãããã©ãŒã æ¬éšãããã¯ãéçºå®€ 第äžéçºã°ã«ãŒãæå±ã®å±±äžã§ãã ã¡ãã¬ãŒã«ã¯ä»å¹Ž2æã«å
¥ç€Ÿãããšã³ãžãã¢ã§ãæ¥æ¬æå€§çŽã®å»çä»è·æ±äººãµã€ã ãžã§ãã¡ãã¬ãŒ ã®éçºãæ
åœããŠããŸãã ã¡ãã¬ãŒã¯ 4 æ 16 æ¥ãã 18 æ¥ã« æåªçæŸå±±åžã® æåªççæ°æåäŒé€š ã«ãŠéå¬ããã RubyKaigi 2025 ã« Platinum Sponsor ãšããŠåè³ããŸããïŒ RubyKaigi 2025 㯠Ruby ãããŒããšããåœéçãªã«ã³ãã¡ã¬ã³ã¹ã§ãäžçäžããæ§ã
㪠Ruby ãšã³ãžãã¢ãéãå€§èŠæš¡ãªã€ãã³ãã§ãã å
¥ç€ŸãããŠã®ç§ãå«ãããšã³ãžãã¢ãšãšã³ãžãã¢æ¡çšæ
åœã®èš 13 åãçŸå°åå ããããããã®æ¹ã
ãšäº€æµãããŠé ããŸããã ä»åã¯äŒå Žã»ããŒã¹ãšçºè¡šã®æ§åãã玹ä»ããŸãã äŒå Žã®æ§å åœæ¥ã¯3æ¥éãšã倩åã«æµãŸãç©ãããªæ¥ã®æ¥åã®äžãRubyKaigi 2025 ãè¡ãããŸããã æåªçæ°æåäŒé€šã¯æŸå±±åžã®éåŸæž©æ³ãšå€§è¡éã«ã»ã©è¿ãç«å°ã§ãçå
æå€§çŽã®æåæœèšã®äžã€ã§ããã¡ã€ã³ããŒã«ã«ã¯2,725åžãæããŠããŸãã éåã§å
ç¢ãªå°è±¡ãäžããå€èг 100ãè¶
ããäŒæ¥ã®åè³ã®ããšã1,518åãã®Rubyistãåå ãæŽä»£ã§ãæå€§èŠæš¡ã®ã€ãã³ããšãªããŸããïŒ åºã
ãšããŠéæŸæã®ããå Žå
åå è
ã«é
åžãããå
¬åŒã°ããºã¯ããªãªãžãã«Tã·ã£ãã«å ããŠåŸ¡æ±å°åž³ãç ¥éšçŒã®ç®žçœ®ããæŸç«¹é ã®åœ¢ãããã¢ã¯ãªã«ããŒãã«ããŒãªã©ãéå¬å°ã»æåªçã®ç¹è²ã掻ãããã°ããºãšãªã£ãŠããŸããã åŒç€ŸããŒã¹ã®æ§å åŒç€Ÿã¯äŒå Žã«å
¥ã£ãŠããæ£é¢ã®å Žæã«ããŒã¹ãèšçœ®ãããŠããã ããŸããã ã¿ãªãããæããŠããå»çDXã®èª²é¡ãã¢ã³ã±ãŒãã§ãã¢ãªã³ã°ããåŒç€Ÿããããã®èª²é¡ã«æè¡ã掻çšããŠã©ã®ããã«åãçµãã§ããããã説æããŸããã ãŸãã åŒç€Ÿå
¬åŒX ããã©ããŒããŠããã ããæ¹ããåŒç€Ÿã®ã€ãã³ããããã¯ããã°ãªã©ã®æ
å ±ããæ¡å
ããã¡ãŒãªã³ã°ãªã¹ãã«ç»é²ããŠããã ããæ¹ã«ããã«ãã£ãå·®ãäžããŸãããå»çäºæ¥ãæãããäŒæ¥ãšããŠã®ã¢ããŒã«ãå
ŒããŠãããã«ãã£ã«ã¯è¡çããããšçµåµèããçšæããŸããã ãªãªãžãã«ãã¶ã€ã³ã®çµåµèãè¡çãããã倧人æ°ã§ããïŒ å»çDXã®èª²é¡ã¢ã³ã±ãŒãã§ç¹ã«åçãå€ãã£ãã®ã ãåŸ
ã¡æéãé·ãã  ãšãã課é¡ã§ããã ã¡ãã¬ãŒã®æäŸãããªã³ã©ã€ã³èšºçã»æè¬æå°ã¢ããªã CLINICS ãã§ã¯ç
é¢ã調å€è¬å±ã®äºçŽãäºåã®å蚺祚å
¥åãªã©ãå¯èœã§ãããªã³ã©ã€ã³ã«ãã蚺çã»æè¬æå°ïŒè¬å€åž«ã«ãããè¬ã®èª¬æïŒãäºçŽããå Žåã¯åŸ
ã¡æéã ãã§ã¯ãªãç§»åæéãåæžãããããšããUber Eats ãšã®é£æºã§æè¬æå°åŸãæç30åçšåºŠã§èªå®
ãŸã§ãè¬ãå±ããŠãããããšãå¯èœãªããšãã説æããŸããã ãŸããçŽæ¥çã§ã¯ãããŸããããåŸ
ã¡æéã®é·ãã«ã¯äººå¡äžè¶³ãé¢å
ãªãã¬ãŒã·ã§ã³ãå©çšã·ã¹ãã ã圱é¿ããŠããããšããããŸãããããããžã§ãã¡ãã¬ãŒãå»çæ©é¢åãã®ã·ã¹ãã ïŒ CLINICS ã MALL ã Pharms ã Dentis ïŒãéããŠãµããŒãããŠããããšãããããã®èª²é¡ã«å¯ŸããŠå€æ§ãªãµãŒãã¹ã§æ§ã
ãªã¢ãããŒãããšã£ãŠããããšãªã©ãã話ãããŸããã ã¡ãã¬ãŒããŒã¹ã«ãè¶ãããã ããçæ§ãããããšãããããŸããïŒ åå ã¡ã³ããŒå
šå¡ã§ çºè¡šã®æ§å ã©ã®ã»ãã·ã§ã³ã倧å€è峿·±ããäžéšé£è§£ãªå
容ããããŸããããç¹ã«å°è±¡æ·±ãã£ãäžèšã®ã»ãã·ã§ã³ã«ã€ããŠã玹ä»ããŸãã Day1 Keynote: Ruby Taught Me About Encoding Under the Hood - Mari Imaizumi Day1: Introducing Type Guard to Steep - Takeshi KOMIYA Day2: Making TCPSocket.new âHappyâ! Misaki Shioi Day3: Matz Keynote Day1 Keynote: Ruby Taught Me About Encoding Under the Hood - Mari Imaizumi Day1ã®åºèª¿è¬æŒã¯ã@ima1zumiããã«ãããæ®æ®µæèããã«äœ¿ã£ãŠãããæåãã®ã³ã³ãã¥ãŒã¿äžã§ã®è¡šçŸãšãRubyã§ã®æ±ãã«é¢ããã»ãã·ã§ã³ã§ãããæåã³ãŒãã®æŽå²çèæ¯ããææ°ååãŸã§æ·±ãæãäžããããŸããã åŒçšå
: speakerdeck.com æŠèŠ æåã³ãŒãã®é²å æå笊å·åã®æŽå²ãšããŠãã®ãããã¢ãŒã«ã¹ä¿¡å·ãããã³ã³ãã¥ãŒã¿æä»£ã® ASCIIãEBCDIC ã玹ä»ãããŸãããç¹ã«EBCDICã§ã®æ¥æ¬èªè¡šçŸã®å°é£ãïŒ Shift-In/Out ã«ãã 1ãã€ã/2ãã€ã åãæ¿ãïŒã®è©±ã¯å°è±¡çã§ãçŸåšã®æåå
¥åç°å¢ã®ããããããçæããŸããããã®åŸãäžçäžã®æåãçµ±äžçã«æ±ãUnicodeãèªçããUniversalããEfficientããUnambiguousããç®æããUTF-8 ã UTF-16 ãšãã£ããšã³ã³ãŒãã£ã³ã°æ¹åŒãæ®åããŸããã Reline ã®äºäŸããèŠããèª²é¡ Rubyã® REPL ã©ã€ãã©ãªãRelineãã§ãç¹å®ã®çµµæå ð§âð§âð§ å®¶æ ãå
¥åã㊠Backspace ãæŒããšã¯ã©ãã·ã¥ããåé¡ããããŸããããã®çµµæåã¯èŠãç®äž1æåã§ããå
éšçã«ã¯è€æ°ã® Unicode ã³ãŒããã€ã³ãïŒ7ã€ïŒã§æ§æãããŠããŸããReline ãããããã€ãæ°ã§åŠçããããšããããåé¡ãçºçããŸãããããã§éèŠãªã®ãããŠãŒã¶ãŒãã1æåããšèªèããåäœã§ãããæžèšçŽ ã¯ã©ã¹ã¿ (Grapheme Cluster)ãã§ããåææåãçµåçµµæåã®ããã«ãèŠãç®ã®æåæ°ãšå
éšã³ãŒããã€ã³ãæ°ãäžèŽããªãã±ãŒã¹ãååšããŸããReline ã®åé¡ã¯ããã®æžèšçŽ ã¯ã©ã¹ã¿ãæ£ããèªèããŠããªãã£ãç¹ã«ãããŸããã Ruby ã«ããã Unicode ãµããŒã Ruby 㯠Unicode 15.1.0 仿§ãžã®æºæ ãé²ããŠããŸããUnicodeæšæºã®ããŒã¿ããŒã¹ãã¡ã€ã«ãåã蟌ã¿ãå
éšåŠçã«åæ ãããŠããŸããæ£èŠè¡šçŸãšã³ãžã³ãOnigmoããUnicodeã«å¯Ÿå¿ããŠããã \X ïŒæžèšçŽ ã¯ã©ã¹ã¿ïŒã \p{Property} ïŒUnicodeããããã£ïŒãšãã£ãã¡ã¿æåãå©çšã§ããŸããããã«ãããéçºè
ã¯å
éšè¡šçŸãæèãããšãçŽæçãªæäœãå¯èœã§ããæžèšçŽ ã¯ã©ã¹ã¿ã®åå²ã«ãŒã«ïŒäŸïŒGB9cïŒã«ãæºæ ããããšããŠããŸããä»åŸã®èª²é¡ãšããŠUnicode 16.0.0ãžã®è¿œåŸãæ£èŠå察å¿ãæããããŸããã ææ³ æåã³ãŒãã®å¥¥æ·±ããæ¯ããæè¡ããã㊠Ruby ã®å¯Ÿå¿ãå
·äœäŸãšå
±ã«åŠã¹ãŸãããæåãå
¥åã衚çŸã§ããŠããããšãåœããåã§ã¯ãªãããšãUnicode ã®è€éãã«å¯Ÿå¿ããéçºè
ãçŽæçã«æåãæ±ããããã«ãã Ruby ã³ãã¥ããã£ã®ç¶ç¶çãªåªåã«æéãåããŸãããä»åŸã® Unicode æšæºãš Ruby ã®é²åã«æ³šç®ããŠããããã§ãã Day1: Introducing Type Guard to Steep Takeshi KOMIYA ããã«ããã»ãã·ã§ã³ã§ã¯ãRuby ã®éçåãã§ãã«ãŒ Steep ã«ãããåã¬ãŒãæ©èœã®æ¹åãšä»åŸã®å±æãèªãããŸããã åŒçšå
drive.google.com æŠèŠ ãããŸã§ã® Steep ãšåã¬ãŒãã®èª²é¡ Steep ã¯å誀ããé²ãããŒã«ã§ãããåŸæ¥ã®åã¬ãŒãã§ã¯Rubyã§å€çšããã present? ã¡ãœããã®ãããªååšç¢ºèªãšåçµã蟌ã¿ãå
Œãããã¿ãŒã³ãæ©èœãããäžå¿
èŠãªåãšã©ãŒãçºçããéçºäœéšãæãªãäžå ãšãªã£ãŠããŸããã Union Type ã«å¯Ÿããåã¬ãŒãã®åŒ·å ãã®èª²é¡ã«å¯Ÿå¿ãããããSteep 1.10 以éã§ UnionTypeïŒäŸ: String | nil ïŒãžã®åã¬ãŒãã匷åãããŸãããèšå®èšè¿°ã«ãã present? ã®ãããªã¡ãœããåŒã³åºãã§ nil ã§ãªãåãžçµã蟌ããããã«ãªããRuby ãããèªç¶ãªã³ãŒãã§åãã§ãã¯ã®æ©æµãåããããŸãããã®æ©èœã¯éçºè
å®çŸ©ã®ã¡ãœããã«ãé©çšå¯èœã§ãæè»æ§ãåäžããŸããã ãŸããããçŽæçãªåã¬ãŒã宣èšã®ãããæ°ããã¢ãããŒã·ã§ã³æ§æÂ a{guard: self is AdminUser}  ã玹ä»ãããŸãããç¹å®ã®æ¡ä»¶äžã§å€æ°ã®åãç¹å®ã®åã§ããããšã Steep ã«äŒããè€éãªæ¡ä»¶åå²ã«ãããåæ
å ±ãæç¢ºã«ããŸãã ä»åŸã®å±æ å°æ¥çãªæ¡åŒµãšããŠãConditional Typesãæ§æ³ã玹ä»ãããŸãããããã¯ç¹å®æ¡ä»¶äžã§ã®ã«ã¹ã¿ã åã¬ãŒãé©çšãè¿ãå€åã®éå®ãå¯èœã«ããæ©èœã§ããè€æ°ã®åæ
å ±ãçµã¿åãããæ©èœïŒäŸ: UserAdmin & Publish ïŒãé¢é£ããŠæ€èšãããŠãããããé«åºŠã§ç²Ÿå¯ãªåãã§ãã¯ãå®çŸããŸãã ææ³ Steep ãéçºè
ã®ãã£ãŒãããã¯ãåãå
¥ããããå®è·µçã«é²åããŠãããšæããŸãããGuard ã¢ãããŒã·ã§ã³ã Conditional Types ãªã©ãä»åŸã®æ©èœè¿œå ã«ãæåŸ
ãæãŠãŸããRuby ã«ãããéçåãã§ãã¯ããã身è¿ã§åŒ·åãªãã®ã«ãªãã€ã€ãããSteep ã®æŽ»çšãæ€èšããããšæããŸããã Day2: Making TCPSocket.new âHappyâ ! Misaki Shioi ããã«ããã»ãã·ã§ã³ã§ã¯ãRuby æšæºã©ã€ãã©ãªã®TCPæ¥ç¶æ¹åãç¹ã« TCPSocket.new ãžã® Happy Eyeballs Version 2 (HEv2) å®è£
ã®çµç·¯ãšæè¡çææŠãèªãããŸããã åŒçšå
: speakerdeck.com æŠèŠ TCPSocket.new ã âHappyâ ã«ãã詊㿠TCPSocket.new ãžã® Happy Eyeballs Version 2 (HEv2, RFC8305) ã®å®è£
ã«ã€ããŠãHEv2ã¯IPv4/IPv6䞡察å¿ãã¹ããžã®æ¥ç¶ãé«éåããæè¡ã§ãåå解決ã䞊è¡ããæ©ãå¿çããã£ãæ¹ãžæ¥ç¶ããããšã§é
å»¶ãæå°åããŸããShioiããã¯å
è¡ã㊠Socket.tcp ã«HEv2ãå®è£
ããçµéšã掻ãããããäœã¬ã€ã€ãŒã® TCPSocket.new ãžã®æ¹åã«æã¿ãŸããã èª²é¡ å
è¡å®è£
ãã Socket.tcp èªäœã®èª²é¡ïŒäžŠè¡åŠçã«ããã¹ããŒããã·ã³ã®åé¡ïŒã«çŽé¢ããifæããŒã¹ã®ããžãã¯ã«åå®è£
ããŠè§£æ±ºããŸããããã®ç¥èŠãããšã« TCPSocket.new (Cèšèª)ãžã®HEv2å®è£
ã«çæããŸããããRubyãšCã§ã®åå解決ã©ã€ãã©ãªã®æåå·®ç°ãªã©ãæ°ããªå£ã«ã¶ã€ãããŸããããã©ãããã©ãŒã éã®å·®ç°åžåãªã©ãCèšèªã¬ãã«ã§ã®çްããªèª¿æŽãçµãŠãã«ãªã¯ãšã¹ãã宿ãããŸããã ãã«ãªã¯ãšã¹ãã®ããŒãžåŸããCIç°å¢ã§ã®ãã¹ã倱æããŠãŒã¶ãŒããã®ãã°å ±åãªã©ããªãªãŒã¹çŽåãŸã§äºæãã¬åé¡ãžã®å¯Ÿå¿ã«è¿œãããŸããããããã®å°é£ãä¹ãè¶ãããã®æ¹åã¯Ruby 3.4ã«ç¡äºã«åã蟌ãŸããŸããã ææ³ HEv2å®è£
ã®äžé£ã®åãçµã¿ããæç³»åã§éåžžã«åããããã解説ãããŸããã Socket.tcp ã®åå®è£
ãã TCPSocket.new ãžã®å®è£
ããªãªãŒã¹ãŸã§ã®èª²é¡ãšè§£æ±ºçã远äœéšã§ããŸãããå®è£
ã³ãŒãã®åŒçšãå€ããçè§£ã®å©ãã«ãªããŸããããããã¯ãŒã¯äœã¬ã€ã€ãŒã®æ¹å㯠Ruby ãšã³ã·ã¹ãã å
šäœã®å質åäžã«ç¹ããéèŠãªåãçµã¿ã§ãããæ®æ®µå©çšããTCPæ¥ç¶ã®è£åŽã§è¡ãããŠããããã©ãŒãã³ã¹ãšä¿¡é Œæ§åäžã®ããã®ç·»å¯ãªåªåã«æéãåããŸããã Day3: Matz Keynote RubyKaigi 2025 ã®æåŸã¯ Matz æ°ã«ããã»ãã·ã§ã³ã§ãããã¹ããŒãžã®ããäžããã®ããã¯ãå©çšããŠå ã
ãšç»å ŽããäŒå Žãé©ããšç¬ãã§å
ãã Matz æ°ã¯ãçŸä»£ã®éçºç°å¢ãš Ruby ã®æªæ¥ã«ã€ããŠèªããŸããã AIã«ããéçºæ¯æŽãæ¥éã«é²ãçŸä»£ã«ãããŠãæ¬æ¥ã楜ãããã¯ãã®ããã°ã©ãã³ã°ããAIãžã®æç€ºåºãäœæ¥ã«çµå§ãã人éããŸãã§AIã®ãããã¹ãã§ãããã®ããã«åéãããŠããŸãâŠâŠããããªãéã¢ã«ãã¡ã·ã³ãããŒã ãã«é¥ããªããããMatz æ°ã¯æ³šæãä¿ããŸãããRuby ã®æ ¹å¹¹ã«ãããããã°ã©ãã³ã°ã楜ããããšãã粟ç¥ããæè¡ãé²åããä»ã ãããããæ¹ããŠèžã«å»ãã¹ãã ãšèªããŸããã äžæ¹ã§ãAIãšã®åèª¿ãæªæ¥ã®éèŠãªããŒãã§ããMatzæ°ã¯ãå°æ¥ã®é«åºŠãªAIãšã®ã³ãã¥ãã±ãŒã·ã§ã³ã«ãããŠãRuby ãæã€ãç°¡æœãããè±ããªè¡šçŸåããé«ãæ¡åŒµæ§ããšãã£ãç¹æ§ããçæ³çãªã€ã³ã¿ãŒãã§ãŒã¹ãšãªãåŸããšããŸããããããŠãAIãããè¯ãåŠç¿ã§ãããããã¢ãã³ã§è³ªã®é«ã Ruby ã³ãŒããã³ãã¥ããã£å
šäœã§ç©æ¥µçã«å
¬éããŠããããšã®éèŠæ§ãæèšããŸããã ãã㊠Ruby èªäœã®é²åã«ã€ããŠããRuboCopãIRB ã Parser ã®é²åãšãã£ãéçºè
äœéšãåäžãããããŒã«ã®å
å®ãYJIT/ZJIT ã Deoptimization ãšãã£ãæè¡ã«ããçå®ãªããã©ãŒãã³ã¹åäžã«ã€ããŠãè§ŠããRuby ããã匷åã§äœ¿ããããèšèªãžãšé²åãç¶ããŠããããšã匷調ããŸããã ãŸããMatz æ°ã¯æ¹ã㊠Ruby ã®åŒ·ãã®æºæ³ã¯ã³ãã¥ããã£ã«ãããšè¿°ã¹ãŸããã倿§ãªããã¯ã°ã©ãŠã³ããæã€äººã
ãæè¿ãããªãŒãã³ãªå§¿å¢ãšãã³ãã¥ããã£å
šäœã§ Ruby ãšããèšèªãè²ãŠãŠããæåããããRubyãç¹å¥ãªãã®ã«ããŠããŸãã ããã«ãä»å¹Žã®12æã«è¿ããRubyã®30åšå¹Žãèšå¿µããŠãRuby4.0 ã®ãªãªãŒã¹ãäºå®ããŠããããšãçºè¡šããŠããŸããã æšä»ã®AIã®ç®èŠãŸããçºå±ã¯ããšã³ãžãã¢ãšããŠéåžžã«å¿èºããã®ã§ããäžæ¹ãäžæ¹ã®äžå®ãæããããé¢ããããŸããããã Matz æ°ã®è¬æŒã¯ãããã Ruby ãšå
±ã«æ°ããæªæ¥ãåãæããŠããåžæãäžããŠããããã®ã§ãããRuby ã®ã楜ããããšããåç¹ã決ããŠå¿ãããAIã匷åãªããŒãããŒãšããŠãããåµé çãªéçºã远æ±ããŠãããããšã決æãæ°ãã«ããŸããïŒ ãããã« Ruby ã®å¯èœæ§ãèã§æããç±æãã仲éãã¡ãšåºäŒããæè¡ãžã®æ
ç±ãæ¹ããŠç¢ºèªã§ããçŽ æŽãããã€ãã³ãã§ããã éå¶ã¹ã¿ããã®çãããç»å£è
ã®çãããäžç·ã«çãäžãã£ãåå è
ã®çãããæ¬åœã«ããããšãããããŸãïŒ æ¥å¹Žã¯åæµ·éã»åœé€šã§ã®éå¬ãäºå®ããŠããããã§ãã ã¡ãã¬ãŒã«ã¯ ã¯ãã ãŠæªæ¥å€§åŠåºèº«ã®ã¡ã³ããŒãåšç±ããŠãããåŠå
ã»ãããŒãžã®åå ãç©æ¥µçã«è¡ãªã£ãŠãããŸãããããããå°ã§ã®éå¬ã«åããŠãä»ããéåžžã«æ¥œãã¿ã§ãã ç§ãã¡ã¯ããããã Ruby ã³ãã¥ããã£ãšãšãã«ããã«æé·ãããã£ã¬ã³ãžãç¶ããŸãïŒ After RubyKaigi 2025 ãéå¬ããŸãïŒ https://increments.connpass.com/event/351891/ ã¡ãã¬ãŒã¯åããRubyKaigi ã¹ãã³ãµãŒäŒæ¥ã§ãã Qiita瀟ã»OPTiM瀟 ãšã®ååéå¬ã«ããã¢ãã¿ãŒã€ãã³ãã 5 æ 14 æ¥ ã«è¡ããŸãã RubyKaigi ã®æãåºã Kaigi Effect ãåããŠææŠããããšãªã©ã楜ãã話ãåããŸãããïŒ ã¡ãã¬ãŒã§ã¯ãã®ãããªã€ãã³ãã®éå¬ã®ã»ãã«ããRoppongi.rb ãªã©å°åã³ãã¥ããã£ãæè¡ã«ã³ãã¡ã¬ã³ã¹ã®ã¹ãã³ãµãŒãªã©ãéããŠãæè¡ãšã³ãã¥ããã£ã®çºå±ãå¿æŽããŠããŸãã ã¡ãã¬ãŒã§ã¯ãšã³ãžãã¢ãç©æ¥µæ¡çšäžã§ãïŒ ã¡ãã¬ãŒã§ã¯é åãåãããRuby ãç©æ¥µçã«æŽ»çšããŠå»çãã«ã¹ã±ã¢ã®æªæ¥ãã€ãããããã¯ããéçºããŠããŸãã Ruby ãæŽ»çšããå»çãã«ã¹ã±ã¢é åã®èª²é¡è§£æ±ºã«èå³ãããæ¹ã¯ããã²ãæ°è»œã«ãé£çµ¡ãã ããïŒ åéã®äžèЧ https://www.medley.jp/jobs/ â»ã«ãžã¥ã¢ã«é¢è«ãåžæã®éã¯ã<ãã®ä»>ã«ãŠãã®æšããèšèŒãã ãã
ã¯ããã« ããã«ã¡ã¯ïŒ 人æãã©ãããã©ãŒã æ¬éšãããã¯ãéçºå®€ 第äžéçºã°ã«ãŒãæå±ã®å±±äžã§ãã ã¡ãã¬ãŒã«ã¯ä»å¹Ž2æã«å
¥ç€Ÿãããšã³ãžãã¢ã§ãæ¥æ¬æå€§çŽã®å»çä»è·æ±äººãµã€ã ãžã§ãã¡ãã¬ãŒ ã®éçºãæ
åœããŠããŸãã ã¡ãã¬ãŒã¯ 4 æ 16 æ¥ãã 18 æ¥ã« æåªçæŸå±±åžã® æåªççæ°æåäŒé€š ã«ãŠéå¬ããã RubyKaigi 2025 ã« Platinum Sponsor ãšããŠåè³ããŸããïŒ RubyKaigi 2025 㯠Ruby ãããŒããšããåœéçãªã«ã³ãã¡ã¬ã³ã¹ã§ãäžçäžããæ§ã
㪠Ruby ãšã³ãžãã¢ãéãå€§èŠæš¡ãªã€ãã³ãã§ãã å
¥ç€ŸãããŠã®ç§ãå«ãããšã³ãžãã¢ãšãšã³ãžãã¢æ¡çšæ
åœã®èš 13 åãçŸå°åå ããããããã®æ¹ã
ãšäº€æµãããŠé ããŸããã ä»åã¯äŒå Žã»ããŒã¹ãšçºè¡šã®æ§åãã玹ä»ããŸãã äŒå Žã®æ§å åœæ¥ã¯3æ¥éãšã倩åã«æµãŸãç©ãããªæ¥ã®æ¥åã®äžãRubyKaigi 2025 ãè¡ãããŸããã æåªçæ°æåäŒé€šã¯æŸå±±åžã®éåŸæž©æ³ãšå€§è¡éã«ã»ã©è¿ãç«å°ã§ãçå
æå€§çŽã®æåæœèšã®äžã€ã§ããã¡ã€ã³ããŒã«ã«ã¯2,725åžãæããŠããŸãã éåã§å
ç¢ãªå°è±¡ãäžããå€èг 100ãè¶
ããäŒæ¥ã®åè³ã®ããšã1,518åãã®Rubyistãåå ãæŽä»£ã§ãæå€§èŠæš¡ã®ã€ãã³ããšãªããŸããïŒ åºã
ãšããŠéæŸæã®ããå Žå
åå è
ã«é
åžãããå
¬åŒã°ããºã¯ããªãªãžãã«Tã·ã£ãã«å ããŠåŸ¡æ±å°åž³ãç ¥éšçŒã®ç®žçœ®ããæŸç«¹é ã®åœ¢ãããã¢ã¯ãªã«ããŒãã«ããŒãªã©ãéå¬å°ã»æåªçã®ç¹è²ã掻ãããã°ããºãšãªã£ãŠããŸããã åŒç€ŸããŒã¹ã®æ§å åŒç€Ÿã¯äŒå Žã«å
¥ã£ãŠããæ£é¢ã®å Žæã«ããŒã¹ãèšçœ®ãããŠããã ããŸããã ã¿ãªãããæããŠããå»çDXã®èª²é¡ãã¢ã³ã±ãŒãã§ãã¢ãªã³ã°ããåŒç€Ÿããããã®èª²é¡ã«æè¡ã掻çšããŠã©ã®ããã«åãçµãã§ããããã説æããŸããã ãŸãã åŒç€Ÿå
¬åŒX ããã©ããŒããŠããã ããæ¹ããåŒç€Ÿã®ã€ãã³ããããã¯ããã°ãªã©ã®æ
å ±ããæ¡å
ããã¡ãŒãªã³ã°ãªã¹ãã«ç»é²ããŠããã ããæ¹ã«ããã«ãã£ãå·®ãäžããŸãããå»çäºæ¥ãæãããäŒæ¥ãšããŠã®ã¢ããŒã«ãå
ŒããŠãããã«ãã£ã«ã¯è¡çããããšçµåµèããçšæããŸããã ãªãªãžãã«ãã¶ã€ã³ã®çµåµèãè¡çãããã倧人æ°ã§ããïŒ å»çDXã®èª²é¡ã¢ã³ã±ãŒãã§ç¹ã«åçãå€ãã£ãã®ã ãåŸ
ã¡æéãé·ãã  ãšãã課é¡ã§ããã ã¡ãã¬ãŒã®æäŸãããªã³ã©ã€ã³èšºçã»æè¬æå°ã¢ããªã CLINICS ãã§ã¯ç
é¢ã調å€è¬å±ã®äºçŽãäºåã®å蚺祚å
¥åãªã©ãå¯èœã§ãããªã³ã©ã€ã³ã«ãã蚺çã»æè¬æå°ïŒè¬å€åž«ã«ãããè¬ã®èª¬æïŒãäºçŽããå Žåã¯åŸ
ã¡æéã ãã§ã¯ãªãç§»åæéãåæžãããããšããUber Eats ãšã®é£æºã§æè¬æå°åŸãæç30åçšåºŠã§èªå®
ãŸã§ãè¬ãå±ããŠãããããšãå¯èœãªããšãã説æããŸããã ãŸããçŽæ¥çã§ã¯ãããŸããããåŸ
ã¡æéã®é·ãã«ã¯äººå¡äžè¶³ãé¢å
ãªãã¬ãŒã·ã§ã³ãå©çšã·ã¹ãã ã圱é¿ããŠããããšããããŸãããããããžã§ãã¡ãã¬ãŒãå»çæ©é¢åãã®ã·ã¹ãã ïŒ CLINICS ã MALL ã Pharms ã Dentis ïŒãéããŠãµããŒãããŠããããšãããããã®èª²é¡ã«å¯ŸããŠå€æ§ãªãµãŒãã¹ã§æ§ã
ãªã¢ãããŒãããšã£ãŠããããšãªã©ãã話ãããŸããã ã¡ãã¬ãŒããŒã¹ã«ãè¶ãããã ããçæ§ãããããšãããããŸããïŒ åå ã¡ã³ããŒå
šå¡ã§ çºè¡šã®æ§å ã©ã®ã»ãã·ã§ã³ã倧å€è峿·±ããäžéšé£è§£ãªå
容ããããŸããããç¹ã«å°è±¡æ·±ãã£ãäžèšã®ã»ãã·ã§ã³ã«ã€ããŠã玹ä»ããŸãã Day1 Keynote: Ruby Taught Me About Encoding Under the Hood - Mari Imaizumi Day1: Introducing Type Guard to Steep - Takeshi KOMIYA Day2: Making TCPSocket.new âHappyâ! Misaki Shioi Day3: Matz Keynote Day1 Keynote: Ruby Taught Me About Encoding Under the Hood - Mari Imaizumi Day1ã®åºèª¿è¬æŒã¯ã@ima1zumiããã«ãããæ®æ®µæèããã«äœ¿ã£ãŠãããæåãã®ã³ã³ãã¥ãŒã¿äžã§ã®è¡šçŸãšãRubyã§ã®æ±ãã«é¢ããã»ãã·ã§ã³ã§ãããæåã³ãŒãã®æŽå²çèæ¯ããææ°ååãŸã§æ·±ãæãäžããããŸããã åŒçšå
: speakerdeck.com æŠèŠ æåã³ãŒãã®é²å æå笊å·åã®æŽå²ãšããŠãã®ãããã¢ãŒã«ã¹ä¿¡å·ãããã³ã³ãã¥ãŒã¿æä»£ã® ASCIIãEBCDIC ã玹ä»ãããŸãããç¹ã«EBCDICã§ã®æ¥æ¬èªè¡šçŸã®å°é£ãïŒ Shift-In/Out ã«ãã 1ãã€ã/2ãã€ã åãæ¿ãïŒã®è©±ã¯å°è±¡çã§ãçŸåšã®æåå
¥åç°å¢ã®ããããããçæããŸããããã®åŸãäžçäžã®æåãçµ±äžçã«æ±ãUnicodeãèªçããUniversalããEfficientããUnambiguousããç®æããUTF-8 ã UTF-16 ãšãã£ããšã³ã³ãŒãã£ã³ã°æ¹åŒãæ®åããŸããã Reline ã®äºäŸããèŠããèª²é¡ Rubyã® REPL ã©ã€ãã©ãªãRelineãã§ãç¹å®ã®çµµæå ð§âð§âð§ å®¶æ ãå
¥åã㊠Backspace ãæŒããšã¯ã©ãã·ã¥ããåé¡ããããŸããããã®çµµæåã¯èŠãç®äž1æåã§ããå
éšçã«ã¯è€æ°ã® Unicode ã³ãŒããã€ã³ãïŒ7ã€ïŒã§æ§æãããŠããŸããReline ãããããã€ãæ°ã§åŠçããããšããããåé¡ãçºçããŸãããããã§éèŠãªã®ãããŠãŒã¶ãŒãã1æåããšèªèããåäœã§ãããæžèšçŽ ã¯ã©ã¹ã¿ (Grapheme Cluster)ãã§ããåææåãçµåçµµæåã®ããã«ãèŠãç®ã®æåæ°ãšå
éšã³ãŒããã€ã³ãæ°ãäžèŽããªãã±ãŒã¹ãååšããŸããReline ã®åé¡ã¯ããã®æžèšçŽ ã¯ã©ã¹ã¿ãæ£ããèªèããŠããªãã£ãç¹ã«ãããŸããã Ruby ã«ããã Unicode ãµããŒã Ruby 㯠Unicode 15.1.0 仿§ãžã®æºæ ãé²ããŠããŸããUnicodeæšæºã®ããŒã¿ããŒã¹ãã¡ã€ã«ãåã蟌ã¿ãå
éšåŠçã«åæ ãããŠããŸããæ£èŠè¡šçŸãšã³ãžã³ãOnigmoããUnicodeã«å¯Ÿå¿ããŠããã \X ïŒæžèšçŽ ã¯ã©ã¹ã¿ïŒã \p{Property} ïŒUnicodeããããã£ïŒãšãã£ãã¡ã¿æåãå©çšã§ããŸããããã«ãããéçºè
ã¯å
éšè¡šçŸãæèãããšãçŽæçãªæäœãå¯èœã§ããæžèšçŽ ã¯ã©ã¹ã¿ã®åå²ã«ãŒã«ïŒäŸïŒGB9cïŒã«ãæºæ ããããšããŠããŸããä»åŸã®èª²é¡ãšããŠUnicode 16.0.0ãžã®è¿œåŸãæ£èŠå察å¿ãæããããŸããã ææ³ æåã³ãŒãã®å¥¥æ·±ããæ¯ããæè¡ããã㊠Ruby ã®å¯Ÿå¿ãå
·äœäŸãšå
±ã«åŠã¹ãŸãããæåãå
¥åã衚çŸã§ããŠããããšãåœããåã§ã¯ãªãããšãUnicode ã®è€éãã«å¯Ÿå¿ããéçºè
ãçŽæçã«æåãæ±ããããã«ãã Ruby ã³ãã¥ããã£ã®ç¶ç¶çãªåªåã«æéãåããŸãããä»åŸã® Unicode æšæºãš Ruby ã®é²åã«æ³šç®ããŠããããã§ãã Day1: Introducing Type Guard to Steep Takeshi KOMIYA ããã«ããã»ãã·ã§ã³ã§ã¯ãRuby ã®éçåãã§ãã«ãŒ Steep ã«ãããåã¬ãŒãæ©èœã®æ¹åãšä»åŸã®å±æãèªãããŸããã åŒçšå
drive.google.com æŠèŠ ãããŸã§ã® Steep ãšåã¬ãŒãã®èª²é¡ Steep ã¯å誀ããé²ãããŒã«ã§ãããåŸæ¥ã®åã¬ãŒãã§ã¯Rubyã§å€çšããã present? ã¡ãœããã®ãããªååšç¢ºèªãšåçµã蟌ã¿ãå
Œãããã¿ãŒã³ãæ©èœãããäžå¿
èŠãªåãšã©ãŒãçºçããéçºäœéšãæãªãäžå ãšãªã£ãŠããŸããã Union Type ã«å¯Ÿããåã¬ãŒãã®åŒ·å ãã®èª²é¡ã«å¯Ÿå¿ãããããSteep 1.10 以éã§ UnionTypeïŒäŸ: String | nil ïŒãžã®åã¬ãŒãã匷åãããŸãããèšå®èšè¿°ã«ãã present? ã®ãããªã¡ãœããåŒã³åºãã§ nil ã§ãªãåãžçµã蟌ããããã«ãªããRuby ãããèªç¶ãªã³ãŒãã§åãã§ãã¯ã®æ©æµãåããããŸãããã®æ©èœã¯éçºè
å®çŸ©ã®ã¡ãœããã«ãé©çšå¯èœã§ãæè»æ§ãåäžããŸããã ãŸããããçŽæçãªåã¬ãŒã宣èšã®ãããæ°ããã¢ãããŒã·ã§ã³æ§æÂ a{guard: self is AdminUser}  ã玹ä»ãããŸãããç¹å®ã®æ¡ä»¶äžã§å€æ°ã®åãç¹å®ã®åã§ããããšã Steep ã«äŒããè€éãªæ¡ä»¶åå²ã«ãããåæ
å ±ãæç¢ºã«ããŸãã ä»åŸã®å±æ å°æ¥çãªæ¡åŒµãšããŠãConditional Typesãæ§æ³ã玹ä»ãããŸãããããã¯ç¹å®æ¡ä»¶äžã§ã®ã«ã¹ã¿ã åã¬ãŒãé©çšãè¿ãå€åã®éå®ãå¯èœã«ããæ©èœã§ããè€æ°ã®åæ
å ±ãçµã¿åãããæ©èœïŒäŸ: UserAdmin & Publish ïŒãé¢é£ããŠæ€èšãããŠãããããé«åºŠã§ç²Ÿå¯ãªåãã§ãã¯ãå®çŸããŸãã ææ³ Steep ãéçºè
ã®ãã£ãŒãããã¯ãåãå
¥ããããå®è·µçã«é²åããŠãããšæããŸãããGuard ã¢ãããŒã·ã§ã³ã Conditional Types ãªã©ãä»åŸã®æ©èœè¿œå ã«ãæåŸ
ãæãŠãŸããRuby ã«ãããéçåãã§ãã¯ããã身è¿ã§åŒ·åãªãã®ã«ãªãã€ã€ãããSteep ã®æŽ»çšãæ€èšããããšæããŸããã Day2: Making TCPSocket.new âHappyâ ! Misaki Shioi ããã«ããã»ãã·ã§ã³ã§ã¯ãRuby æšæºã©ã€ãã©ãªã®TCPæ¥ç¶æ¹åãç¹ã« TCPSocket.new ãžã® Happy Eyeballs Version 2 (HEv2) å®è£
ã®çµç·¯ãšæè¡çææŠãèªãããŸããã åŒçšå
: speakerdeck.com æŠèŠ TCPSocket.new ã âHappyâ ã«ãã詊㿠TCPSocket.new ãžã® Happy Eyeballs Version 2 (HEv2, RFC8305) ã®å®è£
ã«ã€ããŠãHEv2ã¯IPv4/IPv6䞡察å¿ãã¹ããžã®æ¥ç¶ãé«éåããæè¡ã§ãåå解決ã䞊è¡ããæ©ãå¿çããã£ãæ¹ãžæ¥ç¶ããããšã§é
å»¶ãæå°åããŸããShioiããã¯å
è¡ã㊠Socket.tcp ã«HEv2ãå®è£
ããçµéšã掻ãããããäœã¬ã€ã€ãŒã® TCPSocket.new ãžã®æ¹åã«æã¿ãŸããã èª²é¡ å
è¡å®è£
ãã Socket.tcp èªäœã®èª²é¡ïŒäžŠè¡åŠçã«ããã¹ããŒããã·ã³ã®åé¡ïŒã«çŽé¢ããifæããŒã¹ã®ããžãã¯ã«åå®è£
ããŠè§£æ±ºããŸããããã®ç¥èŠãããšã« TCPSocket.new (Cèšèª)ãžã®HEv2å®è£
ã«çæããŸããããRubyãšCã§ã®åå解決ã©ã€ãã©ãªã®æåå·®ç°ãªã©ãæ°ããªå£ã«ã¶ã€ãããŸããããã©ãããã©ãŒã éã®å·®ç°åžåãªã©ãCèšèªã¬ãã«ã§ã®çްããªèª¿æŽãçµãŠãã«ãªã¯ãšã¹ãã宿ãããŸããã ãã«ãªã¯ãšã¹ãã®ããŒãžåŸããCIç°å¢ã§ã®ãã¹ã倱æããŠãŒã¶ãŒããã®ãã°å ±åãªã©ããªãªãŒã¹çŽåãŸã§äºæãã¬åé¡ãžã®å¯Ÿå¿ã«è¿œãããŸããããããã®å°é£ãä¹ãè¶ãããã®æ¹åã¯Ruby 3.4ã«ç¡äºã«åã蟌ãŸããŸããã ææ³ HEv2å®è£
ã®äžé£ã®åãçµã¿ããæç³»åã§éåžžã«åããããã解説ãããŸããã Socket.tcp ã®åå®è£
ãã TCPSocket.new ãžã®å®è£
ããªãªãŒã¹ãŸã§ã®èª²é¡ãšè§£æ±ºçã远äœéšã§ããŸãããå®è£
ã³ãŒãã®åŒçšãå€ããçè§£ã®å©ãã«ãªããŸããããããã¯ãŒã¯äœã¬ã€ã€ãŒã®æ¹å㯠Ruby ãšã³ã·ã¹ãã å
šäœã®å質åäžã«ç¹ããéèŠãªåãçµã¿ã§ãããæ®æ®µå©çšããTCPæ¥ç¶ã®è£åŽã§è¡ãããŠããããã©ãŒãã³ã¹ãšä¿¡é Œæ§åäžã®ããã®ç·»å¯ãªåªåã«æéãåããŸããã Day3: Matz Keynote RubyKaigi 2025 ã®æåŸã¯ Matz æ°ã«ããã»ãã·ã§ã³ã§ãããã¹ããŒãžã®ããäžããã®ããã¯ãå©çšããŠå ã
ãšç»å ŽããäŒå Žãé©ããšç¬ãã§å
ãã Matz æ°ã¯ãçŸä»£ã®éçºç°å¢ãš Ruby ã®æªæ¥ã«ã€ããŠèªããŸããã AIã«ããéçºæ¯æŽãæ¥éã«é²ãçŸä»£ã«ãããŠãæ¬æ¥ã楜ãããã¯ãã®ããã°ã©ãã³ã°ããAIãžã®æç€ºåºãäœæ¥ã«çµå§ãã人éããŸãã§AIã®ãããã¹ãã§ãããã®ããã«åéãããŠããŸãâŠâŠããããªãéã¢ã«ãã¡ã·ã³ãããŒã ãã«é¥ããªããããMatz æ°ã¯æ³šæãä¿ããŸãããRuby ã®æ ¹å¹¹ã«ãããããã°ã©ãã³ã°ã楜ããããšãã粟ç¥ããæè¡ãé²åããä»ã ãããããæ¹ããŠèžã«å»ãã¹ãã ãšèªããŸããã äžæ¹ã§ãAIãšã®åèª¿ãæªæ¥ã®éèŠãªããŒãã§ããMatzæ°ã¯ãå°æ¥ã®é«åºŠãªAIãšã®ã³ãã¥ãã±ãŒã·ã§ã³ã«ãããŠãRuby ãæã€ãç°¡æœãããè±ããªè¡šçŸåããé«ãæ¡åŒµæ§ããšãã£ãç¹æ§ããçæ³çãªã€ã³ã¿ãŒãã§ãŒã¹ãšãªãåŸããšããŸããããããŠãAIãããè¯ãåŠç¿ã§ãããããã¢ãã³ã§è³ªã®é«ã Ruby ã³ãŒããã³ãã¥ããã£å
šäœã§ç©æ¥µçã«å
¬éããŠããããšã®éèŠæ§ãæèšããŸããã ãã㊠Ruby èªäœã®é²åã«ã€ããŠããRuboCopãIRB ã Parser ã®é²åãšãã£ãéçºè
äœéšãåäžãããããŒã«ã®å
å®ãYJIT/ZJIT ã Deoptimization ãšãã£ãæè¡ã«ããçå®ãªããã©ãŒãã³ã¹åäžã«ã€ããŠãè§ŠããRuby ããã匷åã§äœ¿ããããèšèªãžãšé²åãç¶ããŠããããšã匷調ããŸããã ãŸããMatz æ°ã¯æ¹ã㊠Ruby ã®åŒ·ãã®æºæ³ã¯ã³ãã¥ããã£ã«ãããšè¿°ã¹ãŸããã倿§ãªããã¯ã°ã©ãŠã³ããæã€äººã
ãæè¿ãããªãŒãã³ãªå§¿å¢ãšãã³ãã¥ããã£å
šäœã§ Ruby ãšããèšèªãè²ãŠãŠããæåããããRubyãç¹å¥ãªãã®ã«ããŠããŸãã ããã«ãä»å¹Žã®12æã«è¿ããRubyã®30åšå¹Žãèšå¿µããŠãRuby4.0 ã®ãªãªãŒã¹ãäºå®ããŠããããšãçºè¡šããŠããŸããã æšä»ã®AIã®ç®èŠãŸããçºå±ã¯ããšã³ãžãã¢ãšããŠéåžžã«å¿èºããã®ã§ããäžæ¹ãäžæ¹ã®äžå®ãæããããé¢ããããŸããããã Matz æ°ã®è¬æŒã¯ãããã Ruby ãšå
±ã«æ°ããæªæ¥ãåãæããŠããåžæãäžããŠããããã®ã§ãããRuby ã®ã楜ããããšããåç¹ã決ããŠå¿ãããAIã匷åãªããŒãããŒãšããŠãããåµé çãªéçºã远æ±ããŠãããããšã決æãæ°ãã«ããŸããïŒ ãããã« Ruby ã®å¯èœæ§ãèã§æããç±æãã仲éãã¡ãšåºäŒããæè¡ãžã®æ
ç±ãæ¹ããŠç¢ºèªã§ããçŽ æŽãããã€ãã³ãã§ããã éå¶ã¹ã¿ããã®çãããç»å£è
ã®çãããäžç·ã«çãäžãã£ãåå è
ã®çãããæ¬åœã«ããããšãããããŸãïŒ æ¥å¹Žã¯åæµ·éã»åœé€šã§ã®éå¬ãäºå®ããŠããããã§ãã ã¡ãã¬ãŒã«ã¯ ã¯ãã ãŠæªæ¥å€§åŠåºèº«ã®ã¡ã³ããŒãåšç±ããŠãããåŠå
ã»ãããŒãžã®åå ãç©æ¥µçã«è¡ãªã£ãŠãããŸãããããããå°ã§ã®éå¬ã«åããŠãä»ããéåžžã«æ¥œãã¿ã§ãã ç§ãã¡ã¯ããããã Ruby ã³ãã¥ããã£ãšãšãã«ããã«æé·ãããã£ã¬ã³ãžãç¶ããŸãïŒ After RubyKaigi 2025 ãéå¬ããŸãïŒ https://increments.connpass.com/event/351891/ ã¡ãã¬ãŒã¯åããRubyKaigi ã¹ãã³ãµãŒäŒæ¥ã§ãã Qiita瀟ã»OPTiM瀟 ãšã®ååéå¬ã«ããã¢ãã¿ãŒã€ãã³ãã 5 æ 14 æ¥ ã«è¡ããŸãã RubyKaigi ã®æãåºã Kaigi Effect ãåããŠææŠããããšãªã©ã楜ãã話ãåããŸãããïŒ ã¡ãã¬ãŒã§ã¯ãã®ãããªã€ãã³ãã®éå¬ã®ã»ãã«ããRoppongi.rb ãªã©å°åã³ãã¥ããã£ãæè¡ã«ã³ãã¡ã¬ã³ã¹ã®ã¹ãã³ãµãŒãªã©ãéããŠãæè¡ãšã³ãã¥ããã£ã®çºå±ãå¿æŽããŠããŸãã ã¡ãã¬ãŒã§ã¯ãšã³ãžãã¢ãç©æ¥µæ¡çšäžã§ãïŒ ã¡ãã¬ãŒã§ã¯é åãåãããRuby ãç©æ¥µçã«æŽ»çšããŠå»çãã«ã¹ã±ã¢ã®æªæ¥ãã€ãããããã¯ããéçºããŠããŸãã Ruby ãæŽ»çšããå»çãã«ã¹ã±ã¢é åã®èª²é¡è§£æ±ºã«èå³ãããæ¹ã¯ããã²ãæ°è»œã«ãé£çµ¡ãã ããïŒ åéã®äžèЧ https://www.medley.jp/jobs/ â»ã«ãžã¥ã¢ã«é¢è«ãåžæã®éã¯ã<ãã®ä»>ã«ãŠãã®æšããèšèŒãã ãã
ã¯ããã« ããã«ã¡ã¯ïŒ 人æãã©ãããã©ãŒã æ¬éšãããã¯ãéçºå®€ 第äžéçºã°ã«ãŒãæå±ã®å±±äžã§ãã ã¡ãã¬ãŒã«ã¯ä»å¹Ž2æã«å
¥ç€Ÿãããšã³ãžãã¢ã§ãæ¥æ¬æå€§çŽã®å»çä»è·æ±äººãµã€ã ãžã§ãã¡ãã¬ãŒ ã®éçºãæ
åœããŠããŸãã ã¡ãã¬ãŒã¯ 4 æ 16 æ¥ãã 18 æ¥ã« æåªçæŸå±±åžã® æåªççæ°æåäŒé€š ã«ãŠéå¬ããã RubyKaigi 2025 ã« Platinum Sponsor ãšããŠåè³ããŸããïŒ RubyKaigi 2025 㯠Ruby ãããŒããšããåœéçãªã«ã³ãã¡ã¬ã³ã¹ã§ãäžçäžããæ§ã
㪠Ruby ãšã³ãžãã¢ãéãå€§èŠæš¡ãªã€ãã³ãã§ãã å
¥ç€ŸãããŠã®ç§ãå«ãããšã³ãžãã¢ãšãšã³ãžãã¢æ¡çšæ
åœã®èš 13 åãçŸå°åå ããããããã®æ¹ã
ãšäº€æµãããŠé ããŸããã ä»åã¯äŒå Žã»ããŒã¹ãšçºè¡šã®æ§åãã玹ä»ããŸãã äŒå Žã®æ§å åœæ¥ã¯3æ¥éãšã倩åã«æµãŸãç©ãããªæ¥ã®æ¥åã®äžãRubyKaigi 2025 ãè¡ãããŸããã æåªçæ°æåäŒé€šã¯æŸå±±åžã®éåŸæž©æ³ãšå€§è¡éã«ã»ã©è¿ãç«å°ã§ãçå
æå€§çŽã®æåæœèšã®äžã€ã§ããã¡ã€ã³ããŒã«ã«ã¯2,725åžãæããŠããŸãã éåã§å
ç¢ãªå°è±¡ãäžããå€èг 100ãè¶
ããäŒæ¥ã®åè³ã®ããšã1,518åãã®Rubyistãåå ãæŽä»£ã§ãæå€§èŠæš¡ã®ã€ãã³ããšãªããŸããïŒ åºã
ãšããŠéæŸæã®ããå Žå
åå è
ã«é
åžãããå
¬åŒã°ããºã¯ããªãªãžãã«Tã·ã£ãã«å ããŠåŸ¡æ±å°åž³ãç ¥éšçŒã®ç®žçœ®ããæŸç«¹é ã®åœ¢ãããã¢ã¯ãªã«ããŒãã«ããŒãªã©ãéå¬å°ã»æåªçã®ç¹è²ã掻ãããã°ããºãšãªã£ãŠããŸããã åŒç€ŸããŒã¹ã®æ§å åŒç€Ÿã¯äŒå Žã«å
¥ã£ãŠããæ£é¢ã®å Žæã«ããŒã¹ãèšçœ®ãããŠããã ããŸããã ã¿ãªãããæããŠããå»çDXã®èª²é¡ãã¢ã³ã±ãŒãã§ãã¢ãªã³ã°ããåŒç€Ÿããããã®èª²é¡ã«æè¡ã掻çšããŠã©ã®ããã«åãçµãã§ããããã説æããŸããã ãŸãã åŒç€Ÿå
¬åŒX ããã©ããŒããŠããã ããæ¹ããåŒç€Ÿã®ã€ãã³ããããã¯ããã°ãªã©ã®æ
å ±ããæ¡å
ããã¡ãŒãªã³ã°ãªã¹ãã«ç»é²ããŠããã ããæ¹ã«ããã«ãã£ãå·®ãäžããŸãããå»çäºæ¥ãæãããäŒæ¥ãšããŠã®ã¢ããŒã«ãå
ŒããŠãããã«ãã£ã«ã¯è¡çããããšçµåµèããçšæããŸããã ãªãªãžãã«ãã¶ã€ã³ã®çµåµèãè¡çãããã倧人æ°ã§ããïŒ å»çDXã®èª²é¡ã¢ã³ã±ãŒãã§ç¹ã«åçãå€ãã£ãã®ã ãåŸ
ã¡æéãé·ãã  ãšãã課é¡ã§ããã ã¡ãã¬ãŒã®æäŸãããªã³ã©ã€ã³èšºçã»æè¬æå°ã¢ããªã CLINICS ãã§ã¯ç
é¢ã調å€è¬å±ã®äºçŽãäºåã®å蚺祚å
¥åãªã©ãå¯èœã§ãããªã³ã©ã€ã³ã«ãã蚺çã»æè¬æå°ïŒè¬å€åž«ã«ãããè¬ã®èª¬æïŒãäºçŽããå Žåã¯åŸ
ã¡æéã ãã§ã¯ãªãç§»åæéãåæžãããããšããUber Eats ãšã®é£æºã§æè¬æå°åŸãæç30åçšåºŠã§èªå®
ãŸã§ãè¬ãå±ããŠãããããšãå¯èœãªããšãã説æããŸããã ãŸããçŽæ¥çã§ã¯ãããŸããããåŸ
ã¡æéã®é·ãã«ã¯äººå¡äžè¶³ãé¢å
ãªãã¬ãŒã·ã§ã³ãå©çšã·ã¹ãã ã圱é¿ããŠããããšããããŸãããããããžã§ãã¡ãã¬ãŒãå»çæ©é¢åãã®ã·ã¹ãã ïŒ CLINICS ã MALL ã Pharms ã Dentis ïŒãéããŠãµããŒãããŠããããšãããããã®èª²é¡ã«å¯ŸããŠå€æ§ãªãµãŒãã¹ã§æ§ã
ãªã¢ãããŒãããšã£ãŠããããšãªã©ãã話ãããŸããã ã¡ãã¬ãŒããŒã¹ã«ãè¶ãããã ããçæ§ãããããšãããããŸããïŒ åå ã¡ã³ããŒå
šå¡ã§ çºè¡šã®æ§å ã©ã®ã»ãã·ã§ã³ã倧å€è峿·±ããäžéšé£è§£ãªå
容ããããŸããããç¹ã«å°è±¡æ·±ãã£ãäžèšã®ã»ãã·ã§ã³ã«ã€ããŠã玹ä»ããŸãã Day1 Keynote: Ruby Taught Me About Encoding Under the Hood - Mari Imaizumi Day1: Introducing Type Guard to Steep - Takeshi KOMIYA Day2: Making TCPSocket.new âHappyâ! Misaki Shioi Day3: Matz Keynote Day1 Keynote: Ruby Taught Me About Encoding Under the Hood - Mari Imaizumi Day1ã®åºèª¿è¬æŒã¯ã@ima1zumiããã«ãããæ®æ®µæèããã«äœ¿ã£ãŠãããæåãã®ã³ã³ãã¥ãŒã¿äžã§ã®è¡šçŸãšãRubyã§ã®æ±ãã«é¢ããã»ãã·ã§ã³ã§ãããæåã³ãŒãã®æŽå²çèæ¯ããææ°ååãŸã§æ·±ãæãäžããããŸããã åŒçšå
: speakerdeck.com æŠèŠ æåã³ãŒãã®é²å æå笊å·åã®æŽå²ãšããŠãã®ãããã¢ãŒã«ã¹ä¿¡å·ãããã³ã³ãã¥ãŒã¿æä»£ã® ASCIIãEBCDIC ã玹ä»ãããŸãããç¹ã«EBCDICã§ã®æ¥æ¬èªè¡šçŸã®å°é£ãïŒ Shift-In/Out ã«ãã 1ãã€ã/2ãã€ã åãæ¿ãïŒã®è©±ã¯å°è±¡çã§ãçŸåšã®æåå
¥åç°å¢ã®ããããããçæããŸããããã®åŸãäžçäžã®æåãçµ±äžçã«æ±ãUnicodeãèªçããUniversalããEfficientããUnambiguousããç®æããUTF-8 ã UTF-16 ãšãã£ããšã³ã³ãŒãã£ã³ã°æ¹åŒãæ®åããŸããã Reline ã®äºäŸããèŠããèª²é¡ Rubyã® REPL ã©ã€ãã©ãªãRelineãã§ãç¹å®ã®çµµæå ð§âð§âð§ å®¶æ ãå
¥åã㊠Backspace ãæŒããšã¯ã©ãã·ã¥ããåé¡ããããŸããããã®çµµæåã¯èŠãç®äž1æåã§ããå
éšçã«ã¯è€æ°ã® Unicode ã³ãŒããã€ã³ãïŒ7ã€ïŒã§æ§æãããŠããŸããReline ãããããã€ãæ°ã§åŠçããããšããããåé¡ãçºçããŸãããããã§éèŠãªã®ãããŠãŒã¶ãŒãã1æåããšèªèããåäœã§ãããæžèšçŽ ã¯ã©ã¹ã¿ (Grapheme Cluster)ãã§ããåææåãçµåçµµæåã®ããã«ãèŠãç®ã®æåæ°ãšå
éšã³ãŒããã€ã³ãæ°ãäžèŽããªãã±ãŒã¹ãååšããŸããReline ã®åé¡ã¯ããã®æžèšçŽ ã¯ã©ã¹ã¿ãæ£ããèªèããŠããªãã£ãç¹ã«ãããŸããã Ruby ã«ããã Unicode ãµããŒã Ruby 㯠Unicode 15.1.0 仿§ãžã®æºæ ãé²ããŠããŸããUnicodeæšæºã®ããŒã¿ããŒã¹ãã¡ã€ã«ãåã蟌ã¿ãå
éšåŠçã«åæ ãããŠããŸããæ£èŠè¡šçŸãšã³ãžã³ãOnigmoããUnicodeã«å¯Ÿå¿ããŠããã \X ïŒæžèšçŽ ã¯ã©ã¹ã¿ïŒã \p{Property} ïŒUnicodeããããã£ïŒãšãã£ãã¡ã¿æåãå©çšã§ããŸããããã«ãããéçºè
ã¯å
éšè¡šçŸãæèãããšãçŽæçãªæäœãå¯èœã§ããæžèšçŽ ã¯ã©ã¹ã¿ã®åå²ã«ãŒã«ïŒäŸïŒGB9cïŒã«ãæºæ ããããšããŠããŸããä»åŸã®èª²é¡ãšããŠUnicode 16.0.0ãžã®è¿œåŸãæ£èŠå察å¿ãæããããŸããã ææ³ æåã³ãŒãã®å¥¥æ·±ããæ¯ããæè¡ããã㊠Ruby ã®å¯Ÿå¿ãå
·äœäŸãšå
±ã«åŠã¹ãŸãããæåãå
¥åã衚çŸã§ããŠããããšãåœããåã§ã¯ãªãããšãUnicode ã®è€éãã«å¯Ÿå¿ããéçºè
ãçŽæçã«æåãæ±ããããã«ãã Ruby ã³ãã¥ããã£ã®ç¶ç¶çãªåªåã«æéãåããŸãããä»åŸã® Unicode æšæºãš Ruby ã®é²åã«æ³šç®ããŠããããã§ãã Day1: Introducing Type Guard to Steep Takeshi KOMIYA ããã«ããã»ãã·ã§ã³ã§ã¯ãRuby ã®éçåãã§ãã«ãŒ Steep ã«ãããåã¬ãŒãæ©èœã®æ¹åãšä»åŸã®å±æãèªãããŸããã åŒçšå
drive.google.com æŠèŠ ãããŸã§ã® Steep ãšåã¬ãŒãã®èª²é¡ Steep ã¯å誀ããé²ãããŒã«ã§ãããåŸæ¥ã®åã¬ãŒãã§ã¯Rubyã§å€çšããã present? ã¡ãœããã®ãããªååšç¢ºèªãšåçµã蟌ã¿ãå
Œãããã¿ãŒã³ãæ©èœãããäžå¿
èŠãªåãšã©ãŒãçºçããéçºäœéšãæãªãäžå ãšãªã£ãŠããŸããã Union Type ã«å¯Ÿããåã¬ãŒãã®åŒ·å ãã®èª²é¡ã«å¯Ÿå¿ãããããSteep 1.10 以éã§ UnionTypeïŒäŸ: String | nil ïŒãžã®åã¬ãŒãã匷åãããŸãããèšå®èšè¿°ã«ãã present? ã®ãããªã¡ãœããåŒã³åºãã§ nil ã§ãªãåãžçµã蟌ããããã«ãªããRuby ãããèªç¶ãªã³ãŒãã§åãã§ãã¯ã®æ©æµãåããããŸãããã®æ©èœã¯éçºè
å®çŸ©ã®ã¡ãœããã«ãé©çšå¯èœã§ãæè»æ§ãåäžããŸããã ãŸããããçŽæçãªåã¬ãŒã宣èšã®ãããæ°ããã¢ãããŒã·ã§ã³æ§æÂ a{guard: self is AdminUser}  ã玹ä»ãããŸãããç¹å®ã®æ¡ä»¶äžã§å€æ°ã®åãç¹å®ã®åã§ããããšã Steep ã«äŒããè€éãªæ¡ä»¶åå²ã«ãããåæ
å ±ãæç¢ºã«ããŸãã ä»åŸã®å±æ å°æ¥çãªæ¡åŒµãšããŠãConditional Typesãæ§æ³ã玹ä»ãããŸãããããã¯ç¹å®æ¡ä»¶äžã§ã®ã«ã¹ã¿ã åã¬ãŒãé©çšãè¿ãå€åã®éå®ãå¯èœã«ããæ©èœã§ããè€æ°ã®åæ
å ±ãçµã¿åãããæ©èœïŒäŸ: UserAdmin & Publish ïŒãé¢é£ããŠæ€èšãããŠãããããé«åºŠã§ç²Ÿå¯ãªåãã§ãã¯ãå®çŸããŸãã ææ³ Steep ãéçºè
ã®ãã£ãŒãããã¯ãåãå
¥ããããå®è·µçã«é²åããŠãããšæããŸãããGuard ã¢ãããŒã·ã§ã³ã Conditional Types ãªã©ãä»åŸã®æ©èœè¿œå ã«ãæåŸ
ãæãŠãŸããRuby ã«ãããéçåãã§ãã¯ããã身è¿ã§åŒ·åãªãã®ã«ãªãã€ã€ãããSteep ã®æŽ»çšãæ€èšããããšæããŸããã Day2: Making TCPSocket.new âHappyâ ! Misaki Shioi ããã«ããã»ãã·ã§ã³ã§ã¯ãRuby æšæºã©ã€ãã©ãªã®TCPæ¥ç¶æ¹åãç¹ã« TCPSocket.new ãžã® Happy Eyeballs Version 2 (HEv2) å®è£
ã®çµç·¯ãšæè¡çææŠãèªãããŸããã åŒçšå
: speakerdeck.com æŠèŠ TCPSocket.new ã âHappyâ ã«ãã詊㿠TCPSocket.new ãžã® Happy Eyeballs Version 2 (HEv2, RFC8305) ã®å®è£
ã«ã€ããŠãHEv2ã¯IPv4/IPv6䞡察å¿ãã¹ããžã®æ¥ç¶ãé«éåããæè¡ã§ãåå解決ã䞊è¡ããæ©ãå¿çããã£ãæ¹ãžæ¥ç¶ããããšã§é
å»¶ãæå°åããŸããShioiããã¯å
è¡ã㊠Socket.tcp ã«HEv2ãå®è£
ããçµéšã掻ãããããäœã¬ã€ã€ãŒã® TCPSocket.new ãžã®æ¹åã«æã¿ãŸããã èª²é¡ å
è¡å®è£
ãã Socket.tcp èªäœã®èª²é¡ïŒäžŠè¡åŠçã«ããã¹ããŒããã·ã³ã®åé¡ïŒã«çŽé¢ããifæããŒã¹ã®ããžãã¯ã«åå®è£
ããŠè§£æ±ºããŸããããã®ç¥èŠãããšã« TCPSocket.new (Cèšèª)ãžã®HEv2å®è£
ã«çæããŸããããRubyãšCã§ã®åå解決ã©ã€ãã©ãªã®æåå·®ç°ãªã©ãæ°ããªå£ã«ã¶ã€ãããŸããããã©ãããã©ãŒã éã®å·®ç°åžåãªã©ãCèšèªã¬ãã«ã§ã®çްããªèª¿æŽãçµãŠãã«ãªã¯ãšã¹ãã宿ãããŸããã ãã«ãªã¯ãšã¹ãã®ããŒãžåŸããCIç°å¢ã§ã®ãã¹ã倱æããŠãŒã¶ãŒããã®ãã°å ±åãªã©ããªãªãŒã¹çŽåãŸã§äºæãã¬åé¡ãžã®å¯Ÿå¿ã«è¿œãããŸããããããã®å°é£ãä¹ãè¶ãããã®æ¹åã¯Ruby 3.4ã«ç¡äºã«åã蟌ãŸããŸããã ææ³ HEv2å®è£
ã®äžé£ã®åãçµã¿ããæç³»åã§éåžžã«åããããã解説ãããŸããã Socket.tcp ã®åå®è£
ãã TCPSocket.new ãžã®å®è£
ããªãªãŒã¹ãŸã§ã®èª²é¡ãšè§£æ±ºçã远äœéšã§ããŸãããå®è£
ã³ãŒãã®åŒçšãå€ããçè§£ã®å©ãã«ãªããŸããããããã¯ãŒã¯äœã¬ã€ã€ãŒã®æ¹å㯠Ruby ãšã³ã·ã¹ãã å
šäœã®å質åäžã«ç¹ããéèŠãªåãçµã¿ã§ãããæ®æ®µå©çšããTCPæ¥ç¶ã®è£åŽã§è¡ãããŠããããã©ãŒãã³ã¹ãšä¿¡é Œæ§åäžã®ããã®ç·»å¯ãªåªåã«æéãåããŸããã Day3: Matz Keynote RubyKaigi 2025 ã®æåŸã¯ Matz æ°ã«ããã»ãã·ã§ã³ã§ãããã¹ããŒãžã®ããäžããã®ããã¯ãå©çšããŠå ã
ãšç»å ŽããäŒå Žãé©ããšç¬ãã§å
ãã Matz æ°ã¯ãçŸä»£ã®éçºç°å¢ãš Ruby ã®æªæ¥ã«ã€ããŠèªããŸããã AIã«ããéçºæ¯æŽãæ¥éã«é²ãçŸä»£ã«ãããŠãæ¬æ¥ã楜ãããã¯ãã®ããã°ã©ãã³ã°ããAIãžã®æç€ºåºãäœæ¥ã«çµå§ãã人éããŸãã§AIã®ãããã¹ãã§ãããã®ããã«åéãããŠããŸãâŠâŠããããªãéã¢ã«ãã¡ã·ã³ãããŒã ãã«é¥ããªããããMatz æ°ã¯æ³šæãä¿ããŸãããRuby ã®æ ¹å¹¹ã«ãããããã°ã©ãã³ã°ã楜ããããšãã粟ç¥ããæè¡ãé²åããä»ã ãããããæ¹ããŠèžã«å»ãã¹ãã ãšèªããŸããã äžæ¹ã§ãAIãšã®åèª¿ãæªæ¥ã®éèŠãªããŒãã§ããMatzæ°ã¯ãå°æ¥ã®é«åºŠãªAIãšã®ã³ãã¥ãã±ãŒã·ã§ã³ã«ãããŠãRuby ãæã€ãç°¡æœãããè±ããªè¡šçŸåããé«ãæ¡åŒµæ§ããšãã£ãç¹æ§ããçæ³çãªã€ã³ã¿ãŒãã§ãŒã¹ãšãªãåŸããšããŸããããããŠãAIãããè¯ãåŠç¿ã§ãããããã¢ãã³ã§è³ªã®é«ã Ruby ã³ãŒããã³ãã¥ããã£å
šäœã§ç©æ¥µçã«å
¬éããŠããããšã®éèŠæ§ãæèšããŸããã ãã㊠Ruby èªäœã®é²åã«ã€ããŠããRuboCopãIRB ã Parser ã®é²åãšãã£ãéçºè
äœéšãåäžãããããŒã«ã®å
å®ãYJIT/ZJIT ã Deoptimization ãšãã£ãæè¡ã«ããçå®ãªããã©ãŒãã³ã¹åäžã«ã€ããŠãè§ŠããRuby ããã匷åã§äœ¿ããããèšèªãžãšé²åãç¶ããŠããããšã匷調ããŸããã ãŸããMatz æ°ã¯æ¹ã㊠Ruby ã®åŒ·ãã®æºæ³ã¯ã³ãã¥ããã£ã«ãããšè¿°ã¹ãŸããã倿§ãªããã¯ã°ã©ãŠã³ããæã€äººã
ãæè¿ãããªãŒãã³ãªå§¿å¢ãšãã³ãã¥ããã£å
šäœã§ Ruby ãšããèšèªãè²ãŠãŠããæåããããRubyãç¹å¥ãªãã®ã«ããŠããŸãã ããã«ãä»å¹Žã®12æã«è¿ããRubyã®30åšå¹Žãèšå¿µããŠãRuby4.0 ã®ãªãªãŒã¹ãäºå®ããŠããããšãçºè¡šããŠããŸããã æšä»ã®AIã®ç®èŠãŸããçºå±ã¯ããšã³ãžãã¢ãšããŠéåžžã«å¿èºããã®ã§ããäžæ¹ãäžæ¹ã®äžå®ãæããããé¢ããããŸããããã Matz æ°ã®è¬æŒã¯ãããã Ruby ãšå
±ã«æ°ããæªæ¥ãåãæããŠããåžæãäžããŠããããã®ã§ãããRuby ã®ã楜ããããšããåç¹ã決ããŠå¿ãããAIã匷åãªããŒãããŒãšããŠãããåµé çãªéçºã远æ±ããŠãããããšã決æãæ°ãã«ããŸããïŒ ãããã« Ruby ã®å¯èœæ§ãèã§æããç±æãã仲éãã¡ãšåºäŒããæè¡ãžã®æ
ç±ãæ¹ããŠç¢ºèªã§ããçŽ æŽãããã€ãã³ãã§ããã éå¶ã¹ã¿ããã®çãããç»å£è
ã®çãããäžç·ã«çãäžãã£ãåå è
ã®çãããæ¬åœã«ããããšãããããŸãïŒ æ¥å¹Žã¯åæµ·éã»åœé€šã§ã®éå¬ãäºå®ããŠããããã§ãã ã¡ãã¬ãŒã«ã¯ ã¯ãã ãŠæªæ¥å€§åŠåºèº«ã®ã¡ã³ããŒãåšç±ããŠãããåŠå
ã»ãããŒãžã®åå ãç©æ¥µçã«è¡ãªã£ãŠãããŸãããããããå°ã§ã®éå¬ã«åããŠãä»ããéåžžã«æ¥œãã¿ã§ãã ç§ãã¡ã¯ããããã Ruby ã³ãã¥ããã£ãšãšãã«ããã«æé·ãããã£ã¬ã³ãžãç¶ããŸãïŒ After RubyKaigi 2025 ãéå¬ããŸãïŒ https://increments.connpass.com/event/351891/ ã¡ãã¬ãŒã¯åããRubyKaigi ã¹ãã³ãµãŒäŒæ¥ã§ãã Qiita瀟ã»OPTiM瀟 ãšã®ååéå¬ã«ããã¢ãã¿ãŒã€ãã³ãã 5 æ 14 æ¥ ã«è¡ããŸãã RubyKaigi ã®æãåºã Kaigi Effect ãåããŠææŠããããšãªã©ã楜ãã話ãåããŸãããïŒ ã¡ãã¬ãŒã§ã¯ãã®ãããªã€ãã³ãã®éå¬ã®ã»ãã«ããRoppongi.rb ãªã©å°åã³ãã¥ããã£ãæè¡ã«ã³ãã¡ã¬ã³ã¹ã®ã¹ãã³ãµãŒãªã©ãéããŠãæè¡ãšã³ãã¥ããã£ã®çºå±ãå¿æŽããŠããŸãã ã¡ãã¬ãŒã§ã¯ãšã³ãžãã¢ãç©æ¥µæ¡çšäžã§ãïŒ ã¡ãã¬ãŒã§ã¯é åãåãããRuby ãç©æ¥µçã«æŽ»çšããŠå»çãã«ã¹ã±ã¢ã®æªæ¥ãã€ãããããã¯ããéçºããŠããŸãã Ruby ãæŽ»çšããå»çãã«ã¹ã±ã¢é åã®èª²é¡è§£æ±ºã«èå³ãããæ¹ã¯ããã²ãæ°è»œã«ãé£çµ¡ãã ããïŒ åéã®äžèЧ https://www.medley.jp/jobs/ â»ã«ãžã¥ã¢ã«é¢è«ãåžæã®éã¯ã<ãã®ä»>ã«ãŠãã®æšããèšèŒãã ãã
ã¯ããã« ããã«ã¡ã¯ïŒ 人æãã©ãããã©ãŒã æ¬éšãããã¯ãéçºå®€ 第äžéçºã°ã«ãŒãæå±ã®å±±äžã§ãã ã¡ãã¬ãŒã«ã¯ä»å¹Ž2æã«å
¥ç€Ÿãããšã³ãžãã¢ã§ãæ¥æ¬æå€§çŽã®å»çä»è·æ±äººãµã€ã ãžã§ãã¡ãã¬ãŒ ã®éçºãæ
åœããŠããŸãã ã¡ãã¬ãŒã¯ 4 æ 16 æ¥ãã 18 æ¥ã« æåªçæŸå±±åžã® æåªççæ°æåäŒé€š ã«ãŠéå¬ããã RubyKaigi 2025 ã« Platinum Sponsor ãšããŠåè³ããŸããïŒ RubyKaigi 2025 㯠Ruby ãããŒããšããåœéçãªã«ã³ãã¡ã¬ã³ã¹ã§ãäžçäžããæ§ã
㪠Ruby ãšã³ãžãã¢ãéãå€§èŠæš¡ãªã€ãã³ãã§ãã å
¥ç€ŸãããŠã®ç§ãå«ãããšã³ãžãã¢ãšãšã³ãžãã¢æ¡çšæ
åœã®èš 13 åãçŸå°åå ããããããã®æ¹ã
ãšäº€æµãããŠé ããŸããã ä»åã¯äŒå Žã»ããŒã¹ãšçºè¡šã®æ§åãã玹ä»ããŸãã äŒå Žã®æ§å åœæ¥ã¯3æ¥éãšã倩åã«æµãŸãç©ãããªæ¥ã®æ¥åã®äžãRubyKaigi 2025 ãè¡ãããŸããã æåªçæ°æåäŒé€šã¯æŸå±±åžã®éåŸæž©æ³ãšå€§è¡éã«ã»ã©è¿ãç«å°ã§ãçå
æå€§çŽã®æåæœèšã®äžã€ã§ããã¡ã€ã³ããŒã«ã«ã¯2,725åžãæããŠããŸãã éåã§å
ç¢ãªå°è±¡ãäžããå€èг 100ãè¶
ããäŒæ¥ã®åè³ã®ããšã1,518åãã®Rubyistãåå ãæŽä»£ã§ãæå€§èŠæš¡ã®ã€ãã³ããšãªããŸããïŒ åºã
ãšããŠéæŸæã®ããå Žå
åå è
ã«é
åžãããå
¬åŒã°ããºã¯ããªãªãžãã«Tã·ã£ãã«å ããŠåŸ¡æ±å°åž³ãç ¥éšçŒã®ç®žçœ®ããæŸç«¹é ã®åœ¢ãããã¢ã¯ãªã«ããŒãã«ããŒãªã©ãéå¬å°ã»æåªçã®ç¹è²ã掻ãããã°ããºãšãªã£ãŠããŸããã åŒç€ŸããŒã¹ã®æ§å åŒç€Ÿã¯äŒå Žã«å
¥ã£ãŠããæ£é¢ã®å Žæã«ããŒã¹ãèšçœ®ãããŠããã ããŸããã ã¿ãªãããæããŠããå»çDXã®èª²é¡ãã¢ã³ã±ãŒãã§ãã¢ãªã³ã°ããåŒç€Ÿããããã®èª²é¡ã«æè¡ã掻çšããŠã©ã®ããã«åãçµãã§ããããã説æããŸããã ãŸãã åŒç€Ÿå
¬åŒX ããã©ããŒããŠããã ããæ¹ããåŒç€Ÿã®ã€ãã³ããããã¯ããã°ãªã©ã®æ
å ±ããæ¡å
ããã¡ãŒãªã³ã°ãªã¹ãã«ç»é²ããŠããã ããæ¹ã«ããã«ãã£ãå·®ãäžããŸãããå»çäºæ¥ãæãããäŒæ¥ãšããŠã®ã¢ããŒã«ãå
ŒããŠãããã«ãã£ã«ã¯è¡çããããšçµåµèããçšæããŸããã ãªãªãžãã«ãã¶ã€ã³ã®çµåµèãè¡çãããã倧人æ°ã§ããïŒ å»çDXã®èª²é¡ã¢ã³ã±ãŒãã§ç¹ã«åçãå€ãã£ãã®ã ãåŸ
ã¡æéãé·ãã  ãšãã課é¡ã§ããã ã¡ãã¬ãŒã®æäŸãããªã³ã©ã€ã³èšºçã»æè¬æå°ã¢ããªã CLINICS ãã§ã¯ç
é¢ã調å€è¬å±ã®äºçŽãäºåã®å蚺祚å
¥åãªã©ãå¯èœã§ãããªã³ã©ã€ã³ã«ãã蚺çã»æè¬æå°ïŒè¬å€åž«ã«ãããè¬ã®èª¬æïŒãäºçŽããå Žåã¯åŸ
ã¡æéã ãã§ã¯ãªãç§»åæéãåæžãããããšããUber Eats ãšã®é£æºã§æè¬æå°åŸãæç30åçšåºŠã§èªå®
ãŸã§ãè¬ãå±ããŠãããããšãå¯èœãªããšãã説æããŸããã ãŸããçŽæ¥çã§ã¯ãããŸããããåŸ
ã¡æéã®é·ãã«ã¯äººå¡äžè¶³ãé¢å
ãªãã¬ãŒã·ã§ã³ãå©çšã·ã¹ãã ã圱é¿ããŠããããšããããŸãããããããžã§ãã¡ãã¬ãŒãå»çæ©é¢åãã®ã·ã¹ãã ïŒ CLINICS ã MALL ã Pharms ã Dentis ïŒãéããŠãµããŒãããŠããããšãããããã®èª²é¡ã«å¯ŸããŠå€æ§ãªãµãŒãã¹ã§æ§ã
ãªã¢ãããŒãããšã£ãŠããããšãªã©ãã話ãããŸããã ã¡ãã¬ãŒããŒã¹ã«ãè¶ãããã ããçæ§ãããããšãããããŸããïŒ åå ã¡ã³ããŒå
šå¡ã§ çºè¡šã®æ§å ã©ã®ã»ãã·ã§ã³ã倧å€è峿·±ããäžéšé£è§£ãªå
容ããããŸããããç¹ã«å°è±¡æ·±ãã£ãäžèšã®ã»ãã·ã§ã³ã«ã€ããŠã玹ä»ããŸãã Day1 Keynote: Ruby Taught Me About Encoding Under the Hood - Mari Imaizumi Day1: Introducing Type Guard to Steep - Takeshi KOMIYA Day2: Making TCPSocket.new âHappyâ! Misaki Shioi Day3: Matz Keynote Day1 Keynote: Ruby Taught Me About Encoding Under the Hood - Mari Imaizumi Day1ã®åºèª¿è¬æŒã¯ã@ima1zumiããã«ãããæ®æ®µæèããã«äœ¿ã£ãŠãããæåãã®ã³ã³ãã¥ãŒã¿äžã§ã®è¡šçŸãšãRubyã§ã®æ±ãã«é¢ããã»ãã·ã§ã³ã§ãããæåã³ãŒãã®æŽå²çèæ¯ããææ°ååãŸã§æ·±ãæãäžããããŸããã åŒçšå
: speakerdeck.com æŠèŠ æåã³ãŒãã®é²å æå笊å·åã®æŽå²ãšããŠãã®ãããã¢ãŒã«ã¹ä¿¡å·ãããã³ã³ãã¥ãŒã¿æä»£ã® ASCIIãEBCDIC ã玹ä»ãããŸãããç¹ã«EBCDICã§ã®æ¥æ¬èªè¡šçŸã®å°é£ãïŒ Shift-In/Out ã«ãã 1ãã€ã/2ãã€ã åãæ¿ãïŒã®è©±ã¯å°è±¡çã§ãçŸåšã®æåå
¥åç°å¢ã®ããããããçæããŸããããã®åŸãäžçäžã®æåãçµ±äžçã«æ±ãUnicodeãèªçããUniversalããEfficientããUnambiguousããç®æããUTF-8 ã UTF-16 ãšãã£ããšã³ã³ãŒãã£ã³ã°æ¹åŒãæ®åããŸããã Reline ã®äºäŸããèŠããèª²é¡ Rubyã® REPL ã©ã€ãã©ãªãRelineãã§ãç¹å®ã®çµµæå ð§âð§âð§ å®¶æ ãå
¥åã㊠Backspace ãæŒããšã¯ã©ãã·ã¥ããåé¡ããããŸããããã®çµµæåã¯èŠãç®äž1æåã§ããå
éšçã«ã¯è€æ°ã® Unicode ã³ãŒããã€ã³ãïŒ7ã€ïŒã§æ§æãããŠããŸããReline ãããããã€ãæ°ã§åŠçããããšããããåé¡ãçºçããŸãããããã§éèŠãªã®ãããŠãŒã¶ãŒãã1æåããšèªèããåäœã§ãããæžèšçŽ ã¯ã©ã¹ã¿ (Grapheme Cluster)ãã§ããåææåãçµåçµµæåã®ããã«ãèŠãç®ã®æåæ°ãšå
éšã³ãŒããã€ã³ãæ°ãäžèŽããªãã±ãŒã¹ãååšããŸããReline ã®åé¡ã¯ããã®æžèšçŽ ã¯ã©ã¹ã¿ãæ£ããèªèããŠããªãã£ãç¹ã«ãããŸããã Ruby ã«ããã Unicode ãµããŒã Ruby 㯠Unicode 15.1.0 仿§ãžã®æºæ ãé²ããŠããŸããUnicodeæšæºã®ããŒã¿ããŒã¹ãã¡ã€ã«ãåã蟌ã¿ãå
éšåŠçã«åæ ãããŠããŸããæ£èŠè¡šçŸãšã³ãžã³ãOnigmoããUnicodeã«å¯Ÿå¿ããŠããã \X ïŒæžèšçŽ ã¯ã©ã¹ã¿ïŒã \p{Property} ïŒUnicodeããããã£ïŒãšãã£ãã¡ã¿æåãå©çšã§ããŸããããã«ãããéçºè
ã¯å
éšè¡šçŸãæèãããšãçŽæçãªæäœãå¯èœã§ããæžèšçŽ ã¯ã©ã¹ã¿ã®åå²ã«ãŒã«ïŒäŸïŒGB9cïŒã«ãæºæ ããããšããŠããŸããä»åŸã®èª²é¡ãšããŠUnicode 16.0.0ãžã®è¿œåŸãæ£èŠå察å¿ãæããããŸããã ææ³ æåã³ãŒãã®å¥¥æ·±ããæ¯ããæè¡ããã㊠Ruby ã®å¯Ÿå¿ãå
·äœäŸãšå
±ã«åŠã¹ãŸãããæåãå
¥åã衚çŸã§ããŠããããšãåœããåã§ã¯ãªãããšãUnicode ã®è€éãã«å¯Ÿå¿ããéçºè
ãçŽæçã«æåãæ±ããããã«ãã Ruby ã³ãã¥ããã£ã®ç¶ç¶çãªåªåã«æéãåããŸãããä»åŸã® Unicode æšæºãš Ruby ã®é²åã«æ³šç®ããŠããããã§ãã Day1: Introducing Type Guard to Steep Takeshi KOMIYA ããã«ããã»ãã·ã§ã³ã§ã¯ãRuby ã®éçåãã§ãã«ãŒ Steep ã«ãããåã¬ãŒãæ©èœã®æ¹åãšä»åŸã®å±æãèªãããŸããã åŒçšå
drive.google.com æŠèŠ ãããŸã§ã® Steep ãšåã¬ãŒãã®èª²é¡ Steep ã¯å誀ããé²ãããŒã«ã§ãããåŸæ¥ã®åã¬ãŒãã§ã¯Rubyã§å€çšããã present? ã¡ãœããã®ãããªååšç¢ºèªãšåçµã蟌ã¿ãå
Œãããã¿ãŒã³ãæ©èœãããäžå¿
èŠãªåãšã©ãŒãçºçããéçºäœéšãæãªãäžå ãšãªã£ãŠããŸããã Union Type ã«å¯Ÿããåã¬ãŒãã®åŒ·å ãã®èª²é¡ã«å¯Ÿå¿ãããããSteep 1.10 以éã§ UnionTypeïŒäŸ: String | nil ïŒãžã®åã¬ãŒãã匷åãããŸãããèšå®èšè¿°ã«ãã present? ã®ãããªã¡ãœããåŒã³åºãã§ nil ã§ãªãåãžçµã蟌ããããã«ãªããRuby ãããèªç¶ãªã³ãŒãã§åãã§ãã¯ã®æ©æµãåããããŸãããã®æ©èœã¯éçºè
å®çŸ©ã®ã¡ãœããã«ãé©çšå¯èœã§ãæè»æ§ãåäžããŸããã ãŸããããçŽæçãªåã¬ãŒã宣èšã®ãããæ°ããã¢ãããŒã·ã§ã³æ§æÂ a{guard: self is AdminUser}  ã玹ä»ãããŸãããç¹å®ã®æ¡ä»¶äžã§å€æ°ã®åãç¹å®ã®åã§ããããšã Steep ã«äŒããè€éãªæ¡ä»¶åå²ã«ãããåæ
å ±ãæç¢ºã«ããŸãã ä»åŸã®å±æ å°æ¥çãªæ¡åŒµãšããŠãConditional Typesãæ§æ³ã玹ä»ãããŸãããããã¯ç¹å®æ¡ä»¶äžã§ã®ã«ã¹ã¿ã åã¬ãŒãé©çšãè¿ãå€åã®éå®ãå¯èœã«ããæ©èœã§ããè€æ°ã®åæ
å ±ãçµã¿åãããæ©èœïŒäŸ: UserAdmin & Publish ïŒãé¢é£ããŠæ€èšãããŠãããããé«åºŠã§ç²Ÿå¯ãªåãã§ãã¯ãå®çŸããŸãã ææ³ Steep ãéçºè
ã®ãã£ãŒãããã¯ãåãå
¥ããããå®è·µçã«é²åããŠãããšæããŸãããGuard ã¢ãããŒã·ã§ã³ã Conditional Types ãªã©ãä»åŸã®æ©èœè¿œå ã«ãæåŸ
ãæãŠãŸããRuby ã«ãããéçåãã§ãã¯ããã身è¿ã§åŒ·åãªãã®ã«ãªãã€ã€ãããSteep ã®æŽ»çšãæ€èšããããšæããŸããã Day2: Making TCPSocket.new âHappyâ ! Misaki Shioi ããã«ããã»ãã·ã§ã³ã§ã¯ãRuby æšæºã©ã€ãã©ãªã®TCPæ¥ç¶æ¹åãç¹ã« TCPSocket.new ãžã® Happy Eyeballs Version 2 (HEv2) å®è£
ã®çµç·¯ãšæè¡çææŠãèªãããŸããã åŒçšå
: speakerdeck.com æŠèŠ TCPSocket.new ã âHappyâ ã«ãã詊㿠TCPSocket.new ãžã® Happy Eyeballs Version 2 (HEv2, RFC8305) ã®å®è£
ã«ã€ããŠãHEv2ã¯IPv4/IPv6䞡察å¿ãã¹ããžã®æ¥ç¶ãé«éåããæè¡ã§ãåå解決ã䞊è¡ããæ©ãå¿çããã£ãæ¹ãžæ¥ç¶ããããšã§é
å»¶ãæå°åããŸããShioiããã¯å
è¡ã㊠Socket.tcp ã«HEv2ãå®è£
ããçµéšã掻ãããããäœã¬ã€ã€ãŒã® TCPSocket.new ãžã®æ¹åã«æã¿ãŸããã èª²é¡ å
è¡å®è£
ãã Socket.tcp èªäœã®èª²é¡ïŒäžŠè¡åŠçã«ããã¹ããŒããã·ã³ã®åé¡ïŒã«çŽé¢ããifæããŒã¹ã®ããžãã¯ã«åå®è£
ããŠè§£æ±ºããŸããããã®ç¥èŠãããšã« TCPSocket.new (Cèšèª)ãžã®HEv2å®è£
ã«çæããŸããããRubyãšCã§ã®åå解決ã©ã€ãã©ãªã®æåå·®ç°ãªã©ãæ°ããªå£ã«ã¶ã€ãããŸããããã©ãããã©ãŒã éã®å·®ç°åžåãªã©ãCèšèªã¬ãã«ã§ã®çްããªèª¿æŽãçµãŠãã«ãªã¯ãšã¹ãã宿ãããŸããã ãã«ãªã¯ãšã¹ãã®ããŒãžåŸããCIç°å¢ã§ã®ãã¹ã倱æããŠãŒã¶ãŒããã®ãã°å ±åãªã©ããªãªãŒã¹çŽåãŸã§äºæãã¬åé¡ãžã®å¯Ÿå¿ã«è¿œãããŸããããããã®å°é£ãä¹ãè¶ãããã®æ¹åã¯Ruby 3.4ã«ç¡äºã«åã蟌ãŸããŸããã ææ³ HEv2å®è£
ã®äžé£ã®åãçµã¿ããæç³»åã§éåžžã«åããããã解説ãããŸããã Socket.tcp ã®åå®è£
ãã TCPSocket.new ãžã®å®è£
ããªãªãŒã¹ãŸã§ã®èª²é¡ãšè§£æ±ºçã远äœéšã§ããŸãããå®è£
ã³ãŒãã®åŒçšãå€ããçè§£ã®å©ãã«ãªããŸããããããã¯ãŒã¯äœã¬ã€ã€ãŒã®æ¹å㯠Ruby ãšã³ã·ã¹ãã å
šäœã®å質åäžã«ç¹ããéèŠãªåãçµã¿ã§ãããæ®æ®µå©çšããTCPæ¥ç¶ã®è£åŽã§è¡ãããŠããããã©ãŒãã³ã¹ãšä¿¡é Œæ§åäžã®ããã®ç·»å¯ãªåªåã«æéãåããŸããã Day3: Matz Keynote RubyKaigi 2025 ã®æåŸã¯ Matz æ°ã«ããã»ãã·ã§ã³ã§ãããã¹ããŒãžã®ããäžããã®ããã¯ãå©çšããŠå ã
ãšç»å ŽããäŒå Žãé©ããšç¬ãã§å
ãã Matz æ°ã¯ãçŸä»£ã®éçºç°å¢ãš Ruby ã®æªæ¥ã«ã€ããŠèªããŸããã AIã«ããéçºæ¯æŽãæ¥éã«é²ãçŸä»£ã«ãããŠãæ¬æ¥ã楜ãããã¯ãã®ããã°ã©ãã³ã°ããAIãžã®æç€ºåºãäœæ¥ã«çµå§ãã人éããŸãã§AIã®ãããã¹ãã§ãããã®ããã«åéãããŠããŸãâŠâŠããããªãéã¢ã«ãã¡ã·ã³ãããŒã ãã«é¥ããªããããMatz æ°ã¯æ³šæãä¿ããŸãããRuby ã®æ ¹å¹¹ã«ãããããã°ã©ãã³ã°ã楜ããããšãã粟ç¥ããæè¡ãé²åããä»ã ãããããæ¹ããŠèžã«å»ãã¹ãã ãšèªããŸããã äžæ¹ã§ãAIãšã®åèª¿ãæªæ¥ã®éèŠãªããŒãã§ããMatzæ°ã¯ãå°æ¥ã®é«åºŠãªAIãšã®ã³ãã¥ãã±ãŒã·ã§ã³ã«ãããŠãRuby ãæã€ãç°¡æœãããè±ããªè¡šçŸåããé«ãæ¡åŒµæ§ããšãã£ãç¹æ§ããçæ³çãªã€ã³ã¿ãŒãã§ãŒã¹ãšãªãåŸããšããŸããããããŠãAIãããè¯ãåŠç¿ã§ãããããã¢ãã³ã§è³ªã®é«ã Ruby ã³ãŒããã³ãã¥ããã£å
šäœã§ç©æ¥µçã«å
¬éããŠããããšã®éèŠæ§ãæèšããŸããã ãã㊠Ruby èªäœã®é²åã«ã€ããŠããRuboCopãIRB ã Parser ã®é²åãšãã£ãéçºè
äœéšãåäžãããããŒã«ã®å
å®ãYJIT/ZJIT ã Deoptimization ãšãã£ãæè¡ã«ããçå®ãªããã©ãŒãã³ã¹åäžã«ã€ããŠãè§ŠããRuby ããã匷åã§äœ¿ããããèšèªãžãšé²åãç¶ããŠããããšã匷調ããŸããã ãŸããMatz æ°ã¯æ¹ã㊠Ruby ã®åŒ·ãã®æºæ³ã¯ã³ãã¥ããã£ã«ãããšè¿°ã¹ãŸããã倿§ãªããã¯ã°ã©ãŠã³ããæã€äººã
ãæè¿ãããªãŒãã³ãªå§¿å¢ãšãã³ãã¥ããã£å
šäœã§ Ruby ãšããèšèªãè²ãŠãŠããæåããããRubyãç¹å¥ãªãã®ã«ããŠããŸãã ããã«ãä»å¹Žã®12æã«è¿ããRubyã®30åšå¹Žãèšå¿µããŠãRuby4.0 ã®ãªãªãŒã¹ãäºå®ããŠããããšãçºè¡šããŠããŸããã æšä»ã®AIã®ç®èŠãŸããçºå±ã¯ããšã³ãžãã¢ãšããŠéåžžã«å¿èºããã®ã§ããäžæ¹ãäžæ¹ã®äžå®ãæããããé¢ããããŸããããã Matz æ°ã®è¬æŒã¯ãããã Ruby ãšå
±ã«æ°ããæªæ¥ãåãæããŠããåžæãäžããŠããããã®ã§ãããRuby ã®ã楜ããããšããåç¹ã決ããŠå¿ãããAIã匷åãªããŒãããŒãšããŠãããåµé çãªéçºã远æ±ããŠãããããšã決æãæ°ãã«ããŸããïŒ ãããã« Ruby ã®å¯èœæ§ãèã§æããç±æãã仲éãã¡ãšåºäŒããæè¡ãžã®æ
ç±ãæ¹ããŠç¢ºèªã§ããçŽ æŽãããã€ãã³ãã§ããã éå¶ã¹ã¿ããã®çãããç»å£è
ã®çãããäžç·ã«çãäžãã£ãåå è
ã®çãããæ¬åœã«ããããšãããããŸãïŒ æ¥å¹Žã¯åæµ·éã»åœé€šã§ã®éå¬ãäºå®ããŠããããã§ãã ã¡ãã¬ãŒã«ã¯ ã¯ãã ãŠæªæ¥å€§åŠåºèº«ã®ã¡ã³ããŒãåšç±ããŠãããåŠå
ã»ãããŒãžã®åå ãç©æ¥µçã«è¡ãªã£ãŠãããŸãããããããå°ã§ã®éå¬ã«åããŠãä»ããéåžžã«æ¥œãã¿ã§ãã ç§ãã¡ã¯ããããã Ruby ã³ãã¥ããã£ãšãšãã«ããã«æé·ãããã£ã¬ã³ãžãç¶ããŸãïŒ After RubyKaigi 2025 ãéå¬ããŸãïŒ https://increments.connpass.com/event/351891/ ã¡ãã¬ãŒã¯åããRubyKaigi ã¹ãã³ãµãŒäŒæ¥ã§ãã Qiita瀟ã»OPTiM瀟 ãšã®ååéå¬ã«ããã¢ãã¿ãŒã€ãã³ãã 5 æ 14 æ¥ ã«è¡ããŸãã RubyKaigi ã®æãåºã Kaigi Effect ãåããŠææŠããããšãªã©ã楜ãã話ãåããŸãããïŒ ã¡ãã¬ãŒã§ã¯ãã®ãããªã€ãã³ãã®éå¬ã®ã»ãã«ããRoppongi.rb ãªã©å°åã³ãã¥ããã£ãæè¡ã«ã³ãã¡ã¬ã³ã¹ã®ã¹ãã³ãµãŒãªã©ãéããŠãæè¡ãšã³ãã¥ããã£ã®çºå±ãå¿æŽããŠããŸãã ã¡ãã¬ãŒã§ã¯ãšã³ãžãã¢ãç©æ¥µæ¡çšäžã§ãïŒ ã¡ãã¬ãŒã§ã¯é åãåãããRuby ãç©æ¥µçã«æŽ»çšããŠå»çãã«ã¹ã±ã¢ã®æªæ¥ãã€ãããããã¯ããéçºããŠããŸãã Ruby ãæŽ»çšããå»çãã«ã¹ã±ã¢é åã®èª²é¡è§£æ±ºã«èå³ãããæ¹ã¯ããã²ãæ°è»œã«ãé£çµ¡ãã ããïŒ åéã®äžèЧ https://www.medley.jp/jobs/ â»ã«ãžã¥ã¢ã«é¢è«ãåžæã®éã¯ã<ãã®ä»>ã«ãŠãã®æšããèšèŒãã ãã
ã¯ããã« ããã«ã¡ã¯ã人æãã©ãããã©ãŒã æ¬éš 第äžéçºã°ã«ãŒãã®åäº( @Hiroshi_mars )ã§ãã 2024 幎 12 æã«äž»ã«ããã¯ãšã³ãã®ãšã³ãžãã¢ãšããŠã¡ãã¬ãŒã«å
¥ç€ŸããŸããã å
¥ç€ŸããŠæ¥ãæµ
ãã§ããããã®èšäºãéããŠå°ãã§ãããã«ãªã£ããã¡ãã¬ãŒã«ã€ããŠç¥ã£ãŠããã ãããå¬ããã§ãã ä»åãç§ã¯ãDocker Desktop for Mac ãã OrbStack ãžç§»è¡ãããããžã§ã¯ããæ
åœããŸããã以éãDocker Desktop 㯠Docker Desktop for Mac ãæããŸãã 察象ãããã¯ã: ãžã§ãã¡ãã¬ãŒã®ãµã€ãããŒãž ã瀟å
ãªãã¬ãŒã¿ãŒãå©çšãããµã€ããæœèšã®æ¹ã
ãå©çšãããµã€ããªã©ã æé: 2~3 é±é OrbStack ãšã¯ å
¬åŒ OrbStack ãšã¯ OrbStack is the fast, light, and easy way to run Docker containers and Linux. Develop at lightspeed with our Docker Desktop alternative. (å
¬åŒãµã€ãããåŒçš) OrbStack ã¯ãDocker ã³ã³ããããã³ Linux ãé«éãã€è»œéã«ã容æã«å®è¡ããããã®ããŒã«ã§ãã ãšæžãããŠããŸãã Docker Desktop ã®ä»£æ¿ãšããŠæ³šç®ãããŠããŸãã OrbStack ã®ç¹åŸŽ Docker Desktop ããé«éã§è»œé æ¢åã® Docker ã³ãã³ãã docker-compose ç³»ã®ã³ãã³ããå©çšå¯èœ Docker Desktop ããã®ç§»è¡ã容æ CPU ãã¡ã¢ãªã®äœ¿çšéãæããããæ¢åã® Docker ã³ãã³ããšã®äºææ§ãé«ããããç§»è¡ãéçšã®è² æ
ãå°ãªãç¹ã倧ããªã¡ãªããã§ãã OrbStack ãžç§»è¡ããçç± å€§ããäºç¹ãããŸãã OrbStack ãžç§»è¡ããçç± ãã® 1 ãOrbStack ãš Docker Desktop ã®åçšå©çšã®æéå·®ã OrbStack ã®æé㯠ãã¡ã Docker Desktop ã®æé㯠ãã¡ã ä»ãŸã§ Docker Desktop ã® Docker Team ã®ãã©ã³ã§åçšå©çšããŠããŸããããããããããããããšã«éçºã¡ã³ããŒãå¢å ãã管çã§ããã¢ã«ãŠã³ãæ°ã®äžéãè¶
ããŠããŸãããã«ãªããŸããã Docker Desktop ã®ãã©ã³ã Docker Team ãã Docker Business ã«äžãããš 1 ãŠãŒã¶ãŒãããã®æé¡å©çšæã 15 ãã«ãã 24 ãã«ã«å¢å ããŸãã ãã®ãããããã©ã³ã®ã©ã³ã¯ãäžã€äžã«äžãããorãå¥ã®ããŒã«ã«ç§»è¡ããããšããéžæããããŸããã ããã©ã³ã®ã©ã³ã¯ãäžã€äžã«äžãããã®ãå¯èœã§ã¯ãããŸãããã OrbStack ãžç§»è¡ããçç± ãã® 2 ã«èšèŒãããŠããéãã©ãããç§»è¡é£æåºŠãå·¥æ°ã³ã¹ããäœãããšããããšããã£ãŠããå¥ã®ããŒã«ã«ç§»è¡ãããéžæããšããŸããã ãã®å€æã¯ã¡ãã¬ãŒã®è¡åååã§ãã( Our Essentials )ã®äžã®**ãæ¥ã
ã®å¹çŽãšå€§èãªæè³ã®äž¡ç«ã**ã«é©ã£ãŠããŸãã ç¡é§ãªã³ã¹ããèœãšããã®ãªãèœãšããèœãšããåã ãå¥ã®å€§èãªè¡åã«å©çšããããããã£ãè¡åååã«åºã¥ããåãã§ããã£ãããšæããŸãã éã«ãç§»è¡ã«ããå·¥æ°ã³ã¹ããããªãé«ãã£ãå ŽåãDocker Desktop ã®ãã©ã³ãäžããæ¹éã«ãªã£ãŠããå¯èœæ§ããããŸãã OrbStack ãžç§»è¡ããçç± ãã® 2 ãOrbStack ãžç§»è¡ã容æã ããã°ãªã©ã®åçš®æ
å ±æºã«ãããŠãOrbStack ãžã®ç§»è¡æé ã¯å®¹æã§ããç§»è¡ã«ãããå·¥æ°ãäœãããšãå ±åãããŠããŸãã ä»ããã°ã®äžäŸ: https://qiita.com/shoki-y/items/4b8e48a525062a8ec9ad ãŸãã瀟å
ã®å¥ãããã¯ãã§æ¢ã«ç§»è¡ããå®çžŸããããŸããã 瀟å
ã®å¥ãããã¯ãã®æè¡ã¹ã¿ãã¯ã¯ãä»åã®ç§»è¡å¯Ÿè±¡ãšè¿ãããã®ã§ããã ãã®ããã瀟å
ã®å¥ãããã¯ãã®ç§»è¡ãè¡ãªã£ãæ¹ã«ãã¢ãªã³ã°ããéãç§»è¡ã³ã¹ããå°ããããšãããããŸããã ç§»è¡äœæ¥ã«äŒŽãç°å¢å·®ç°ãããã«äŒŽãå·¥æ°è² æ
ã¯å€§ããªèª²é¡ãšãªããããã§ãããOrbStack ã§ã¯ãããã®è² æ
ãå°ãªãããšã瀟å
ã瀟å€ã®ç¥èŠèª¿æ»ã«ãã£ãŠèŠèŸŒãŸãããããç§»è¡ã決æããã«è³ããŸããã OrbStack ãžã®ç§»è¡æé 1. OrbStack ãã€ã³ã¹ããŒã« ã€ã³ã¹ããŒã«æ¹æ³ã¯ 2 çš®é¡ãããŸãã Homebrew ã䜿ã£ãã€ã³ã¹ããŒã« brew install orbstack 2. å
¬åŒãµã€ã ãã dmg 圢åŒã®ãã¡ã€ã«ãããŠã³ããŒããã 2. OrbStack ã®èµ·å ã€ã³ã¹ããŒã«åŸãFinder ã®ã¢ããªã±ãŒã·ã§ã³ãã OrbStack ã®ã¢ã€ã³ã³ãæ¢ããã¯ãªãã¯ãèµ·åãèµ·ååŸã以äžã®ãããªç»é¢ãåºãŠããŸãã Docker, Kubernetes, Linux ã©ããå©çšããã®ãéžæããŸãã ä»åã¯ãDocker Desktop ãã OrbStack ã«ç§»è¡ããã®ã§ãDocker ãéžæããŸãã Docker ãéžæãããšäžèšã®ãããªãããç»é¢ãåºãŸãã 3. Docker Desktop ãã OrbStack ãžã³ã³ãããã€ã¡ãŒãžã®æ
å ±ãç§»è¡ãã 2 çš®é¡æ¹æ³ããããŸãã ãããç»é¢ã«è¡šç€ºãããŠããâMigrate from Docker Desktopâãã¯ãªãã¯ãã äžéšã¡ãã¥ãŒããâFileâ->âMigrate Docker Dataâãã¯ãªãã¯ãã Docker Desktop äžã®ã³ã³ãããããªã¥ãŒã ãã€ã¡ãŒãžã OrbStack ã«ç§»è¡ãããŸã ïŒ2 ã®ã¡ãã¥ãŒã«ã€ããŠã®ç»é¢ migrate ããåŸãäžèšã®ãããªãããã¢ãããåºãããšããããŸãã å
容ã¯ã¢ã¶ã€ã¯ãã€ããŠããŸãããäžèšã®ãããªãã°ãåºåãããå ŽåããããŸãã container /~: create container: [Docker] No such image: ... ããã¯ãäžéšã®ã³ã³ãããã€ã¡ãŒãžã®ç§»è¡ã«å€±æããŠããããšã瀺ããŠããŸãã ä»åã®ç§»è¡ã«é¢ããŠã¯ãã®ãšã©ãŒã¡ãã»ãŒãžã migrate æã«è§£æ¶ããªããŠãåé¡ãããŸããã§ãããçç±ãšããŠã¯ããšã©ãŒå¯Ÿè±¡ãèªèº«ã§ä»¥åäœæããããŒã¿ãªã©ã migrate ã§ããªãã£ãã®ã¿ã§ãåŸã»ã©ååºŠäœæããã°ããã£ãããã§ãã 4. Docker ã³ã³ããã¹ãæ
å ±ã®ç¢ºèªãšå€æŽ migrate ãå®äºããããâDocker DesktopâãšâOrbStackâã©ã¡ããå©çšã㊠Docker Daemon ã«ã¢ã¯ã»ã¹ããã®ã確èªããå¿
èŠããããŸãã æ¬¡ã®ã³ãã³ãã§ã³ã³ããã¹ãã確èªããŸãã docker context ls åºåäŸ: $ docker context ls NAME DESCRIPTION DOCKER ENDPOINT ERROR default Current DOCKER_HOST based configuration unix:///hogehoge orbstack * OrbStack unix:///hogehoge â*âãä»å©çšããŠããã³ã³ããã¹ãã«ãªããŸã âDocker Desktopâ ãå©çšãããŠããå Žåã¯æ¬¡ã®ã³ãã³ãã§ OrbStack ã«å€æŽããŸãã docker context use orbstack åºåäŸ: % docker context use orbstack orbstack Current context is now "orbstack" 5. Docker ã³ã³ããã®ç«ã¡äžã Docker ã³ã³ãããèµ·åããŠãæ£åžžã«ç§»è¡ã§ããããšã確èªããŸãã å®å
šã«ç§»è¡ãå®äºããã Docker Desktop ãåé€ããŠãåé¡ãªãããšæããŸãã ã³ã³ããã®èµ·åæ¹æ³ã¯åèªã®å©çšç°å¢ã«å¿ããŠæé ãç°ãªããããæ¬çš¿ã§ã¯è©³çްã岿ããŸãã ããããã€ã³ããèŠåŽããç¹ å°ãããã£ããã€ã³ããèŠåŽããç¹ãªã©ãèšèŒããŠããŸãããåèã«ãªãã°å¹žãã§ãã Docker Network åšãã®ãšã©ãŒ Docker Desktop ã§ã³ã³ãããç«ã¡äžããŠãäœæ¥ããŠããå ŽåãDocker Network ãå€ããå°ãªããå©çšãããŠããããšæããŸãã Docker Desktop ã§äœæããŠãã Docker Network ãååšããŠããå ŽåãOrbStack ã§ Docker Network ãäœæããããšãããšåã Docker Network ãäœæããããšã«ãªã£ãŠããŸããããŒã ã®è¢«ããªã©ãçºçããããšããããŸãã ãã®ãããæ¬¡ã®ã³ãã³ãã§ Docker Network ã確èªããŸãã docker network ls äžèŠãªãããã¯ãŒã¯ãååšããŠããå Žåãæ¬¡ã®ã³ãã³ãã§åé€ããŸãã docker network rm Hogehoge ãã«ããã«ãåšãã®ãšã©ãŒ å
ã»ã©èšèŒãã Docker_Network åšãã®ãšã©ãŒ ãšäŒŒããããªãšã©ãŒã«ãªããŸãã Docker Desktop ã§äœææžã¿ã®ãã«ããã«ãç°å¢ã OrbStack ãšç«¶åããå ŽåããããŸãããã®å Žåã¯æ¢åã®ãã«ããã«ãç°å¢ãåé€ããOrbStack ã§æ°èŠã«ãã«ããã«ãç°å¢ãæ§ç¯ããããšã§åé¡ãè§£æ¶ã§ããŸãã ãšã©ãŒå
容 error: Error response from daemon: Conflict. The container name "multibuild" is already in use by container "container_id". You have to remove (or rename ) that container to be able to reuse that name. 次ã®ã³ãã³ãã§ãæ°ãã«ãã«ããã«ããäœæããŠå©çšã§ããŸãã docker buildx rm multibuild docker buildx create --name multibuild_new_type docker buildx use multibuild_new_type ã³ã³ãããšããŒã«ã«ã®ãã¡ã€ã«å·®åãæŽæ°ãããªãåé¡ éåžžã§ããã°ãVolume ãèšå®ããŠããã°ãããŒã«ã«ã§ãã¡ã€ã«ãæ°ãã«äœæããããmv, cp çã®ã³ãã³ãã§ãã¡ã€ã«ãç§»ãããããã¡ã€ã«å
ãæžãæããŠã Docker ã³ã³ããå
ã®ãã¡ã€ã«ãæŽæ°ãããããšæããŸãã ãããä»åãDocker ã³ã³ããå
ã§ãã¡ã€ã«ãæŽæ°ãããªãåé¡ãèµ·ããŠããŸããã ãã¡ãã®åé¡ã¯ãåå 远åã«ããªãèŠåŽããŸããã 調æ»ã®çµæã以åããå©çšããŠãã docker-sync ã OrbStack ãžã®ç§»è¡åŸã« æ£åžžã« åäœããŠããªãããšãããããŸããã docker-sync ãšã¯ãDocker ç°å¢ã§ããŒã«ã«ãšã³ã³ããéã®ãã¡ã€ã«åæãé«éåããããã®ããŒã«ã§ãã åå ã®åãåãã«ã¯èŠåŽããŸããããæ¬¡ã®æé ã§ç¹å®ã§ããŸããã å
è¡ã㊠OrbStack ã«ç§»è¡ããŠããå¥éšçœ²ã®æ¹ãšé£æºãåããäž¡è
ã®ç°å¢ã®éããèããäžã§ docker-sync ã®å©çšã®æç¡ãæãããã ãã¡ã€ã«ã®æŽæ°ãåæ ãããªãåé¡ã§ãã£ãããããã¡ã€ã«åæãæé©åãã docker-sync ãåå ã§ã¯ãªãããšæšæž¬ãã docker-sync ã䜿çšããªãç°å¢ã§æ€èšŒããŠåé¡ã®è§£æ¶ã確èªãã ãã®ãããOrbStack ãžã®ç§»è¡ãæ©ã« docker-sync ã®å©çšããããããšã§ ã³ã³ãããšããŒã«ã«ã®ãã¡ã€ã«å·®åãæŽæ°ãããªãåé¡ã解決ããŸããã ç§»è¡åŸã® OrbStack ã®äœ¿çšæ Docker Desktop ãã UI ãªã©ãã·ã³ãã«ã§ãããæäœã容æã§ãã migrates ããã ãã§ OrbStack ã«ç§»è¡ã§ããæè»œããããã£ãã§ãã åçšå©çšã®æéã Docker Desktop ã®ãã©ã³ããããããå©çšæãæããããã®ã§ãè¯ãããšæããŸãã ãŸãšã OrbStack ç§»è¡ãå®éã«ãã£ãŠã¿ãŠãæã£ãŠãã以äžã«å®¹æã«ç§»è¡ã§ãããšå®æããŸããã ãã¡ãã Docker Desktop ãè¯ãããšæããŸãããé床ãå©çšæãªã©ãå å³ããŠãç§»è¡ã®éžæè¢ãšã㊠OrbStack ãå
¥ã£ãŠããããªæ°ãããŠããŸãã ãŸããOrbStack ãå®éã«äœ¿ã£ãŠã¿ãŠãã ãããå®éã«å©çšããããšã§ãããããšãå€ãåºãŠããããšæããŸãã Weâre hiring ã¡ãã¬ãŒã§ã¯äžç·ã«åã仲éã倧åéããŠããŸãïŒ ã«ãžã¥ã¢ã«é¢è«ã宿œããŠãããŸãã®ã§ãã話ãã ãã§ãèããŠã¿ãã!ã¡ãã£ãšéè«ããŠã¿ãã!ã§ãæ§ããŸããã®ã§ããæ°è»œã«ãåãåãããã ããïŒ åéã®äžèЧ https://www.medley.jp/jobs/ å»çãšã³ãžãã¢ãªã³ã°é åçãäžãã£ãŠããŸãïŒã¡ãã¬ãŒã«ã€ããŠã話ããŸãïŒ https://pitta.me/matches/BtcyDvCvUZtx ã¡ãã¬ãŒã®éçºããŒã ã«ã€ããŠç¥ãããæ¹ïŒãã²ã話ãããŸãããïŒ https://pitta.me/matches/sNeEHMdSLZpB
ã¯ããã« ããã«ã¡ã¯ã人æãã©ãããã©ãŒã æ¬éš 第äžéçºã°ã«ãŒãã®åäº( @Hiroshi_mars )ã§ãã 2024 幎 12 æã«äž»ã«ããã¯ãšã³ãã®ãšã³ãžãã¢ãšããŠã¡ãã¬ãŒã«å
¥ç€ŸããŸããã å
¥ç€ŸããŠæ¥ãæµ
ãã§ããããã®èšäºãéããŠå°ãã§ãããã«ãªã£ããã¡ãã¬ãŒã«ã€ããŠç¥ã£ãŠããã ãããå¬ããã§ãã ä»åãç§ã¯ãDocker Desktop for Mac ãã OrbStack ãžç§»è¡ãããããžã§ã¯ããæ
åœããŸããã以éãDocker Desktop 㯠Docker Desktop for Mac ãæããŸãã 察象ãããã¯ã: ãžã§ãã¡ãã¬ãŒã®ãµã€ãããŒãž ã瀟å
ãªãã¬ãŒã¿ãŒãå©çšãããµã€ããæœèšã®æ¹ã
ãå©çšãããµã€ããªã©ã æé: 2~3 é±é OrbStack ãšã¯ å
¬åŒ OrbStack ãšã¯ OrbStack is the fast, light, and easy way to run Docker containers and Linux. Develop at lightspeed with our Docker Desktop alternative. (å
¬åŒãµã€ãããåŒçš) OrbStack ã¯ãDocker ã³ã³ããããã³ Linux ãé«éãã€è»œéã«ã容æã«å®è¡ããããã®ããŒã«ã§ãã ãšæžãããŠããŸãã Docker Desktop ã®ä»£æ¿ãšããŠæ³šç®ãããŠããŸãã OrbStack ã®ç¹åŸŽ Docker Desktop ããé«éã§è»œé æ¢åã® Docker ã³ãã³ãã docker-compose ç³»ã®ã³ãã³ããå©çšå¯èœ Docker Desktop ããã®ç§»è¡ã容æ CPU ãã¡ã¢ãªã®äœ¿çšéãæããããæ¢åã® Docker ã³ãã³ããšã®äºææ§ãé«ããããç§»è¡ãéçšã®è² æ
ãå°ãªãç¹ã倧ããªã¡ãªããã§ãã OrbStack ãžç§»è¡ããçç± å€§ããäºç¹ãããŸãã OrbStack ãžç§»è¡ããçç± ãã® 1 ãOrbStack ãš Docker Desktop ã®åçšå©çšã®æéå·®ã OrbStack ã®æé㯠ãã¡ã Docker Desktop ã®æé㯠ãã¡ã ä»ãŸã§ Docker Desktop ã® Docker Team ã®ãã©ã³ã§åçšå©çšããŠããŸããããããããããããããšã«éçºã¡ã³ããŒãå¢å ãã管çã§ããã¢ã«ãŠã³ãæ°ã®äžéãè¶
ããŠããŸãããã«ãªããŸããã Docker Desktop ã®ãã©ã³ã Docker Team ãã Docker Business ã«äžãããš 1 ãŠãŒã¶ãŒãããã®æé¡å©çšæã 15 ãã«ãã 24 ãã«ã«å¢å ããŸãã ãã®ãããããã©ã³ã®ã©ã³ã¯ãäžã€äžã«äžãããorãå¥ã®ããŒã«ã«ç§»è¡ããããšããéžæããããŸããã ããã©ã³ã®ã©ã³ã¯ãäžã€äžã«äžãããã®ãå¯èœã§ã¯ãããŸãããã OrbStack ãžç§»è¡ããçç± ãã® 2 ã«èšèŒãããŠããéãã©ãããç§»è¡é£æåºŠãå·¥æ°ã³ã¹ããäœãããšããããšããã£ãŠããå¥ã®ããŒã«ã«ç§»è¡ãããéžæããšããŸããã ãã®å€æã¯ã¡ãã¬ãŒã®è¡åååã§ãã( Our Essentials )ã®äžã®**ãæ¥ã
ã®å¹çŽãšå€§èãªæè³ã®äž¡ç«ã**ã«é©ã£ãŠããŸãã ç¡é§ãªã³ã¹ããèœãšããã®ãªãèœãšããèœãšããåã ãå¥ã®å€§èãªè¡åã«å©çšããããããã£ãè¡åååã«åºã¥ããåãã§ããã£ãããšæããŸãã éã«ãç§»è¡ã«ããå·¥æ°ã³ã¹ããããªãé«ãã£ãå ŽåãDocker Desktop ã®ãã©ã³ãäžããæ¹éã«ãªã£ãŠããå¯èœæ§ããããŸãã OrbStack ãžç§»è¡ããçç± ãã® 2 ãOrbStack ãžç§»è¡ã容æã ããã°ãªã©ã®åçš®æ
å ±æºã«ãããŠãOrbStack ãžã®ç§»è¡æé ã¯å®¹æã§ããç§»è¡ã«ãããå·¥æ°ãäœãããšãå ±åãããŠããŸãã ä»ããã°ã®äžäŸ: https://qiita.com/shoki-y/items/4b8e48a525062a8ec9ad ãŸãã瀟å
ã®å¥ãããã¯ãã§æ¢ã«ç§»è¡ããå®çžŸããããŸããã 瀟å
ã®å¥ãããã¯ãã®æè¡ã¹ã¿ãã¯ã¯ãä»åã®ç§»è¡å¯Ÿè±¡ãšè¿ãããã®ã§ããã ãã®ããã瀟å
ã®å¥ãããã¯ãã®ç§»è¡ãè¡ãªã£ãæ¹ã«ãã¢ãªã³ã°ããéãç§»è¡ã³ã¹ããå°ããããšãããããŸããã ç§»è¡äœæ¥ã«äŒŽãç°å¢å·®ç°ãããã«äŒŽãå·¥æ°è² æ
ã¯å€§ããªèª²é¡ãšãªããããã§ãããOrbStack ã§ã¯ãããã®è² æ
ãå°ãªãããšã瀟å
ã瀟å€ã®ç¥èŠèª¿æ»ã«ãã£ãŠèŠèŸŒãŸãããããç§»è¡ã決æããã«è³ããŸããã OrbStack ãžã®ç§»è¡æé 1. OrbStack ãã€ã³ã¹ããŒã« ã€ã³ã¹ããŒã«æ¹æ³ã¯ 2 çš®é¡ãããŸãã Homebrew ã䜿ã£ãã€ã³ã¹ããŒã« brew install orbstack 2. å
¬åŒãµã€ã ãã dmg 圢åŒã®ãã¡ã€ã«ãããŠã³ããŒããã 2. OrbStack ã®èµ·å ã€ã³ã¹ããŒã«åŸãFinder ã®ã¢ããªã±ãŒã·ã§ã³ãã OrbStack ã®ã¢ã€ã³ã³ãæ¢ããã¯ãªãã¯ãèµ·åãèµ·ååŸã以äžã®ãããªç»é¢ãåºãŠããŸãã Docker, Kubernetes, Linux ã©ããå©çšããã®ãéžæããŸãã ä»åã¯ãDocker Desktop ãã OrbStack ã«ç§»è¡ããã®ã§ãDocker ãéžæããŸãã Docker ãéžæãããšäžèšã®ãããªãããç»é¢ãåºãŸãã 3. Docker Desktop ãã OrbStack ãžã³ã³ãããã€ã¡ãŒãžã®æ
å ±ãç§»è¡ãã 2 çš®é¡æ¹æ³ããããŸãã ãããç»é¢ã«è¡šç€ºãããŠããâMigrate from Docker Desktopâãã¯ãªãã¯ãã äžéšã¡ãã¥ãŒããâFileâ->âMigrate Docker Dataâãã¯ãªãã¯ãã Docker Desktop äžã®ã³ã³ãããããªã¥ãŒã ãã€ã¡ãŒãžã OrbStack ã«ç§»è¡ãããŸã ïŒ2 ã®ã¡ãã¥ãŒã«ã€ããŠã®ç»é¢ migrate ããåŸãäžèšã®ãããªãããã¢ãããåºãããšããããŸãã å
容ã¯ã¢ã¶ã€ã¯ãã€ããŠããŸãããäžèšã®ãããªãã°ãåºåãããå ŽåããããŸãã container /~: create container: [Docker] No such image: ... ããã¯ãäžéšã®ã³ã³ãããã€ã¡ãŒãžã®ç§»è¡ã«å€±æããŠããããšã瀺ããŠããŸãã ä»åã®ç§»è¡ã«é¢ããŠã¯ãã®ãšã©ãŒã¡ãã»ãŒãžã migrate æã«è§£æ¶ããªããŠãåé¡ãããŸããã§ãããçç±ãšããŠã¯ããšã©ãŒå¯Ÿè±¡ãèªèº«ã§ä»¥åäœæããããŒã¿ãªã©ã migrate ã§ããªãã£ãã®ã¿ã§ãåŸã»ã©ååºŠäœæããã°ããã£ãããã§ãã 4. Docker ã³ã³ããã¹ãæ
å ±ã®ç¢ºèªãšå€æŽ migrate ãå®äºããããâDocker DesktopâãšâOrbStackâã©ã¡ããå©çšã㊠Docker Daemon ã«ã¢ã¯ã»ã¹ããã®ã確èªããå¿
èŠããããŸãã æ¬¡ã®ã³ãã³ãã§ã³ã³ããã¹ãã確èªããŸãã docker context ls åºåäŸ: $ docker context ls NAME DESCRIPTION DOCKER ENDPOINT ERROR default Current DOCKER_HOST based configuration unix:///hogehoge orbstack * OrbStack unix:///hogehoge â*âãä»å©çšããŠããã³ã³ããã¹ãã«ãªããŸã âDocker Desktopâ ãå©çšãããŠããå Žåã¯æ¬¡ã®ã³ãã³ãã§ OrbStack ã«å€æŽããŸãã docker context use orbstack åºåäŸ: % docker context use orbstack orbstack Current context is now "orbstack" 5. Docker ã³ã³ããã®ç«ã¡äžã Docker ã³ã³ãããèµ·åããŠãæ£åžžã«ç§»è¡ã§ããããšã確èªããŸãã å®å
šã«ç§»è¡ãå®äºããã Docker Desktop ãåé€ããŠãåé¡ãªãããšæããŸãã ã³ã³ããã®èµ·åæ¹æ³ã¯åèªã®å©çšç°å¢ã«å¿ããŠæé ãç°ãªããããæ¬çš¿ã§ã¯è©³çްã岿ããŸãã ããããã€ã³ããèŠåŽããç¹ å°ãããã£ããã€ã³ããèŠåŽããç¹ãªã©ãèšèŒããŠããŸãããåèã«ãªãã°å¹žãã§ãã Docker Network åšãã®ãšã©ãŒ Docker Desktop ã§ã³ã³ãããç«ã¡äžããŠãäœæ¥ããŠããå ŽåãDocker Network ãå€ããå°ãªããå©çšãããŠããããšæããŸãã Docker Desktop ã§äœæããŠãã Docker Network ãååšããŠããå ŽåãOrbStack ã§ Docker Network ãäœæããããšãããšåã Docker Network ãäœæããããšã«ãªã£ãŠããŸããããŒã ã®è¢«ããªã©ãçºçããããšããããŸãã ãã®ãããæ¬¡ã®ã³ãã³ãã§ Docker Network ã確èªããŸãã docker network ls äžèŠãªãããã¯ãŒã¯ãååšããŠããå Žåãæ¬¡ã®ã³ãã³ãã§åé€ããŸãã docker network rm Hogehoge ãã«ããã«ãåšãã®ãšã©ãŒ å
ã»ã©èšèŒãã Docker_Network åšãã®ãšã©ãŒ ãšäŒŒããããªãšã©ãŒã«ãªããŸãã Docker Desktop ã§äœææžã¿ã®ãã«ããã«ãç°å¢ã OrbStack ãšç«¶åããå ŽåããããŸãããã®å Žåã¯æ¢åã®ãã«ããã«ãç°å¢ãåé€ããOrbStack ã§æ°èŠã«ãã«ããã«ãç°å¢ãæ§ç¯ããããšã§åé¡ãè§£æ¶ã§ããŸãã ãšã©ãŒå
容 error: Error response from daemon: Conflict. The container name "multibuild" is already in use by container "container_id". You have to remove (or rename ) that container to be able to reuse that name. 次ã®ã³ãã³ãã§ãæ°ãã«ãã«ããã«ããäœæããŠå©çšã§ããŸãã docker buildx rm multibuild docker buildx create --name multibuild_new_type docker buildx use multibuild_new_type ã³ã³ãããšããŒã«ã«ã®ãã¡ã€ã«å·®åãæŽæ°ãããªãåé¡ éåžžã§ããã°ãVolume ãèšå®ããŠããã°ãããŒã«ã«ã§ãã¡ã€ã«ãæ°ãã«äœæããããmv, cp çã®ã³ãã³ãã§ãã¡ã€ã«ãç§»ãããããã¡ã€ã«å
ãæžãæããŠã Docker ã³ã³ããå
ã®ãã¡ã€ã«ãæŽæ°ãããããšæããŸãã ãããä»åãDocker ã³ã³ããå
ã§ãã¡ã€ã«ãæŽæ°ãããªãåé¡ãèµ·ããŠããŸããã ãã¡ãã®åé¡ã¯ãåå 远åã«ããªãèŠåŽããŸããã 調æ»ã®çµæã以åããå©çšããŠãã docker-sync ã OrbStack ãžã®ç§»è¡åŸã« æ£åžžã« åäœããŠããªãããšãããããŸããã docker-sync ãšã¯ãDocker ç°å¢ã§ããŒã«ã«ãšã³ã³ããéã®ãã¡ã€ã«åæãé«éåããããã®ããŒã«ã§ãã åå ã®åãåãã«ã¯èŠåŽããŸããããæ¬¡ã®æé ã§ç¹å®ã§ããŸããã å
è¡ã㊠OrbStack ã«ç§»è¡ããŠããå¥éšçœ²ã®æ¹ãšé£æºãåããäž¡è
ã®ç°å¢ã®éããèããäžã§ docker-sync ã®å©çšã®æç¡ãæãããã ãã¡ã€ã«ã®æŽæ°ãåæ ãããªãåé¡ã§ãã£ãããããã¡ã€ã«åæãæé©åãã docker-sync ãåå ã§ã¯ãªãããšæšæž¬ãã docker-sync ã䜿çšããªãç°å¢ã§æ€èšŒããŠåé¡ã®è§£æ¶ã確èªãã ãã®ãããOrbStack ãžã®ç§»è¡ãæ©ã« docker-sync ã®å©çšããããããšã§ ã³ã³ãããšããŒã«ã«ã®ãã¡ã€ã«å·®åãæŽæ°ãããªãåé¡ã解決ããŸããã ç§»è¡åŸã® OrbStack ã®äœ¿çšæ Docker Desktop ãã UI ãªã©ãã·ã³ãã«ã§ãããæäœã容æã§ãã migrates ããã ãã§ OrbStack ã«ç§»è¡ã§ããæè»œããããã£ãã§ãã åçšå©çšã®æéã Docker Desktop ã®ãã©ã³ããããããå©çšæãæããããã®ã§ãè¯ãããšæããŸãã ãŸãšã OrbStack ç§»è¡ãå®éã«ãã£ãŠã¿ãŠãæã£ãŠãã以äžã«å®¹æã«ç§»è¡ã§ãããšå®æããŸããã ãã¡ãã Docker Desktop ãè¯ãããšæããŸãããé床ãå©çšæãªã©ãå å³ããŠãç§»è¡ã®éžæè¢ãšã㊠OrbStack ãå
¥ã£ãŠããããªæ°ãããŠããŸãã ãŸããOrbStack ãå®éã«äœ¿ã£ãŠã¿ãŠãã ãããå®éã«å©çšããããšã§ãããããšãå€ãåºãŠããããšæããŸãã Weâre hiring ã¡ãã¬ãŒã§ã¯äžç·ã«åã仲éã倧åéããŠããŸãïŒ ã«ãžã¥ã¢ã«é¢è«ã宿œããŠãããŸãã®ã§ãã話ãã ãã§ãèããŠã¿ãã!ã¡ãã£ãšéè«ããŠã¿ãã!ã§ãæ§ããŸããã®ã§ããæ°è»œã«ãåãåãããã ããïŒ åéã®äžèЧ https://www.medley.jp/jobs/ å»çãšã³ãžãã¢ãªã³ã°é åçãäžãã£ãŠããŸãïŒã¡ãã¬ãŒã«ã€ããŠã話ããŸãïŒ https://pitta.me/matches/BtcyDvCvUZtx ã¡ãã¬ãŒã®éçºããŒã ã«ã€ããŠç¥ãããæ¹ïŒãã²ã話ãããŸãããïŒ https://pitta.me/matches/sNeEHMdSLZpB
ã¯ããã« ããã«ã¡ã¯ã人æãã©ãããã©ãŒã æ¬éš 第äžéçºã°ã«ãŒãã®åäº( @Hiroshi_mars )ã§ãã 2024 幎 12 æã«äž»ã«ããã¯ãšã³ãã®ãšã³ãžãã¢ãšããŠã¡ãã¬ãŒã«å
¥ç€ŸããŸããã å
¥ç€ŸããŠæ¥ãæµ
ãã§ããããã®èšäºãéããŠå°ãã§ãããã«ãªã£ããã¡ãã¬ãŒã«ã€ããŠç¥ã£ãŠããã ãããå¬ããã§ãã ä»åãç§ã¯ãDocker Desktop for Mac ãã OrbStack ãžç§»è¡ãããããžã§ã¯ããæ
åœããŸããã以éãDocker Desktop 㯠Docker Desktop for Mac ãæããŸãã 察象ãããã¯ã: ãžã§ãã¡ãã¬ãŒã®ãµã€ãããŒãž ã瀟å
ãªãã¬ãŒã¿ãŒãå©çšãããµã€ããæœèšã®æ¹ã
ãå©çšãããµã€ããªã©ã æé: 2~3 é±é OrbStack ãšã¯ å
¬åŒ OrbStack ãšã¯ OrbStack is the fast, light, and easy way to run Docker containers and Linux. Develop at lightspeed with our Docker Desktop alternative. (å
¬åŒãµã€ãããåŒçš) OrbStack ã¯ãDocker ã³ã³ããããã³ Linux ãé«éãã€è»œéã«ã容æã«å®è¡ããããã®ããŒã«ã§ãã ãšæžãããŠããŸãã Docker Desktop ã®ä»£æ¿ãšããŠæ³šç®ãããŠããŸãã OrbStack ã®ç¹åŸŽ Docker Desktop ããé«éã§è»œé æ¢åã® Docker ã³ãã³ãã docker-compose ç³»ã®ã³ãã³ããå©çšå¯èœ Docker Desktop ããã®ç§»è¡ã容æ CPU ãã¡ã¢ãªã®äœ¿çšéãæããããæ¢åã® Docker ã³ãã³ããšã®äºææ§ãé«ããããç§»è¡ãéçšã®è² æ
ãå°ãªãç¹ã倧ããªã¡ãªããã§ãã OrbStack ãžç§»è¡ããçç± å€§ããäºç¹ãããŸãã OrbStack ãžç§»è¡ããçç± ãã® 1 ãOrbStack ãš Docker Desktop ã®åçšå©çšã®æéå·®ã OrbStack ã®æé㯠ãã¡ã Docker Desktop ã®æé㯠ãã¡ã ä»ãŸã§ Docker Desktop ã® Docker Team ã®ãã©ã³ã§åçšå©çšããŠããŸããããããããããããããšã«éçºã¡ã³ããŒãå¢å ãã管çã§ããã¢ã«ãŠã³ãæ°ã®äžéãè¶
ããŠããŸãããã«ãªããŸããã Docker Desktop ã®ãã©ã³ã Docker Team ãã Docker Business ã«äžãããš 1 ãŠãŒã¶ãŒãããã®æé¡å©çšæã 15 ãã«ãã 24 ãã«ã«å¢å ããŸãã ãã®ãããããã©ã³ã®ã©ã³ã¯ãäžã€äžã«äžãããorãå¥ã®ããŒã«ã«ç§»è¡ããããšããéžæããããŸããã ããã©ã³ã®ã©ã³ã¯ãäžã€äžã«äžãããã®ãå¯èœã§ã¯ãããŸãããã OrbStack ãžç§»è¡ããçç± ãã® 2 ã«èšèŒãããŠããéãã©ãããç§»è¡é£æåºŠãå·¥æ°ã³ã¹ããäœãããšããããšããã£ãŠããå¥ã®ããŒã«ã«ç§»è¡ãããéžæããšããŸããã ãã®å€æã¯ã¡ãã¬ãŒã®è¡åååã§ãã( Our Essentials )ã®äžã®**ãæ¥ã
ã®å¹çŽãšå€§èãªæè³ã®äž¡ç«ã**ã«é©ã£ãŠããŸãã ç¡é§ãªã³ã¹ããèœãšããã®ãªãèœãšããèœãšããåã ãå¥ã®å€§èãªè¡åã«å©çšããããããã£ãè¡åååã«åºã¥ããåãã§ããã£ãããšæããŸãã éã«ãç§»è¡ã«ããå·¥æ°ã³ã¹ããããªãé«ãã£ãå ŽåãDocker Desktop ã®ãã©ã³ãäžããæ¹éã«ãªã£ãŠããå¯èœæ§ããããŸãã OrbStack ãžç§»è¡ããçç± ãã® 2 ãOrbStack ãžç§»è¡ã容æã ããã°ãªã©ã®åçš®æ
å ±æºã«ãããŠãOrbStack ãžã®ç§»è¡æé ã¯å®¹æã§ããç§»è¡ã«ãããå·¥æ°ãäœãããšãå ±åãããŠããŸãã ä»ããã°ã®äžäŸ: https://qiita.com/shoki-y/items/4b8e48a525062a8ec9ad ãŸãã瀟å
ã®å¥ãããã¯ãã§æ¢ã«ç§»è¡ããå®çžŸããããŸããã 瀟å
ã®å¥ãããã¯ãã®æè¡ã¹ã¿ãã¯ã¯ãä»åã®ç§»è¡å¯Ÿè±¡ãšè¿ãããã®ã§ããã ãã®ããã瀟å
ã®å¥ãããã¯ãã®ç§»è¡ãè¡ãªã£ãæ¹ã«ãã¢ãªã³ã°ããéãç§»è¡ã³ã¹ããå°ããããšãããããŸããã ç§»è¡äœæ¥ã«äŒŽãç°å¢å·®ç°ãããã«äŒŽãå·¥æ°è² æ
ã¯å€§ããªèª²é¡ãšãªããããã§ãããOrbStack ã§ã¯ãããã®è² æ
ãå°ãªãããšã瀟å
ã瀟å€ã®ç¥èŠèª¿æ»ã«ãã£ãŠèŠèŸŒãŸãããããç§»è¡ã決æããã«è³ããŸããã OrbStack ãžã®ç§»è¡æé 1. OrbStack ãã€ã³ã¹ããŒã« ã€ã³ã¹ããŒã«æ¹æ³ã¯ 2 çš®é¡ãããŸãã Homebrew ã䜿ã£ãã€ã³ã¹ããŒã« brew install orbstack 2. å
¬åŒãµã€ã ãã dmg 圢åŒã®ãã¡ã€ã«ãããŠã³ããŒããã 2. OrbStack ã®èµ·å ã€ã³ã¹ããŒã«åŸãFinder ã®ã¢ããªã±ãŒã·ã§ã³ãã OrbStack ã®ã¢ã€ã³ã³ãæ¢ããã¯ãªãã¯ãèµ·åãèµ·ååŸã以äžã®ãããªç»é¢ãåºãŠããŸãã Docker, Kubernetes, Linux ã©ããå©çšããã®ãéžæããŸãã ä»åã¯ãDocker Desktop ãã OrbStack ã«ç§»è¡ããã®ã§ãDocker ãéžæããŸãã Docker ãéžæãããšäžèšã®ãããªãããç»é¢ãåºãŸãã 3. Docker Desktop ãã OrbStack ãžã³ã³ãããã€ã¡ãŒãžã®æ
å ±ãç§»è¡ãã 2 çš®é¡æ¹æ³ããããŸãã ãããç»é¢ã«è¡šç€ºãããŠããâMigrate from Docker Desktopâãã¯ãªãã¯ãã äžéšã¡ãã¥ãŒããâFileâ->âMigrate Docker Dataâãã¯ãªãã¯ãã Docker Desktop äžã®ã³ã³ãããããªã¥ãŒã ãã€ã¡ãŒãžã OrbStack ã«ç§»è¡ãããŸã ïŒ2 ã®ã¡ãã¥ãŒã«ã€ããŠã®ç»é¢ migrate ããåŸãäžèšã®ãããªãããã¢ãããåºãããšããããŸãã å
容ã¯ã¢ã¶ã€ã¯ãã€ããŠããŸãããäžèšã®ãããªãã°ãåºåãããå ŽåããããŸãã container /~: create container: [Docker] No such image: ... ããã¯ãäžéšã®ã³ã³ãããã€ã¡ãŒãžã®ç§»è¡ã«å€±æããŠããããšã瀺ããŠããŸãã ä»åã®ç§»è¡ã«é¢ããŠã¯ãã®ãšã©ãŒã¡ãã»ãŒãžã migrate æã«è§£æ¶ããªããŠãåé¡ãããŸããã§ãããçç±ãšããŠã¯ããšã©ãŒå¯Ÿè±¡ãèªèº«ã§ä»¥åäœæããããŒã¿ãªã©ã migrate ã§ããªãã£ãã®ã¿ã§ãåŸã»ã©ååºŠäœæããã°ããã£ãããã§ãã 4. Docker ã³ã³ããã¹ãæ
å ±ã®ç¢ºèªãšå€æŽ migrate ãå®äºããããâDocker DesktopâãšâOrbStackâã©ã¡ããå©çšã㊠Docker Daemon ã«ã¢ã¯ã»ã¹ããã®ã確èªããå¿
èŠããããŸãã æ¬¡ã®ã³ãã³ãã§ã³ã³ããã¹ãã確èªããŸãã docker context ls åºåäŸ: $ docker context ls NAME DESCRIPTION DOCKER ENDPOINT ERROR default Current DOCKER_HOST based configuration unix:///hogehoge orbstack * OrbStack unix:///hogehoge â*âãä»å©çšããŠããã³ã³ããã¹ãã«ãªããŸã âDocker Desktopâ ãå©çšãããŠããå Žåã¯æ¬¡ã®ã³ãã³ãã§ OrbStack ã«å€æŽããŸãã docker context use orbstack åºåäŸ: % docker context use orbstack orbstack Current context is now "orbstack" 5. Docker ã³ã³ããã®ç«ã¡äžã Docker ã³ã³ãããèµ·åããŠãæ£åžžã«ç§»è¡ã§ããããšã確èªããŸãã å®å
šã«ç§»è¡ãå®äºããã Docker Desktop ãåé€ããŠãåé¡ãªãããšæããŸãã ã³ã³ããã®èµ·åæ¹æ³ã¯åèªã®å©çšç°å¢ã«å¿ããŠæé ãç°ãªããããæ¬çš¿ã§ã¯è©³çްã岿ããŸãã ããããã€ã³ããèŠåŽããç¹ å°ãããã£ããã€ã³ããèŠåŽããç¹ãªã©ãèšèŒããŠããŸãããåèã«ãªãã°å¹žãã§ãã Docker Network åšãã®ãšã©ãŒ Docker Desktop ã§ã³ã³ãããç«ã¡äžããŠãäœæ¥ããŠããå ŽåãDocker Network ãå€ããå°ãªããå©çšãããŠããããšæããŸãã Docker Desktop ã§äœæããŠãã Docker Network ãååšããŠããå ŽåãOrbStack ã§ Docker Network ãäœæããããšãããšåã Docker Network ãäœæããããšã«ãªã£ãŠããŸããããŒã ã®è¢«ããªã©ãçºçããããšããããŸãã ãã®ãããæ¬¡ã®ã³ãã³ãã§ Docker Network ã確èªããŸãã docker network ls äžèŠãªãããã¯ãŒã¯ãååšããŠããå Žåãæ¬¡ã®ã³ãã³ãã§åé€ããŸãã docker network rm Hogehoge ãã«ããã«ãåšãã®ãšã©ãŒ å
ã»ã©èšèŒãã Docker_Network åšãã®ãšã©ãŒ ãšäŒŒããããªãšã©ãŒã«ãªããŸãã Docker Desktop ã§äœææžã¿ã®ãã«ããã«ãç°å¢ã OrbStack ãšç«¶åããå ŽåããããŸãããã®å Žåã¯æ¢åã®ãã«ããã«ãç°å¢ãåé€ããOrbStack ã§æ°èŠã«ãã«ããã«ãç°å¢ãæ§ç¯ããããšã§åé¡ãè§£æ¶ã§ããŸãã ãšã©ãŒå
容 error: Error response from daemon: Conflict. The container name "multibuild" is already in use by container "container_id". You have to remove (or rename ) that container to be able to reuse that name. 次ã®ã³ãã³ãã§ãæ°ãã«ãã«ããã«ããäœæããŠå©çšã§ããŸãã docker buildx rm multibuild docker buildx create --name multibuild_new_type docker buildx use multibuild_new_type ã³ã³ãããšããŒã«ã«ã®ãã¡ã€ã«å·®åãæŽæ°ãããªãåé¡ éåžžã§ããã°ãVolume ãèšå®ããŠããã°ãããŒã«ã«ã§ãã¡ã€ã«ãæ°ãã«äœæããããmv, cp çã®ã³ãã³ãã§ãã¡ã€ã«ãç§»ãããããã¡ã€ã«å
ãæžãæããŠã Docker ã³ã³ããå
ã®ãã¡ã€ã«ãæŽæ°ãããããšæããŸãã ãããä»åãDocker ã³ã³ããå
ã§ãã¡ã€ã«ãæŽæ°ãããªãåé¡ãèµ·ããŠããŸããã ãã¡ãã®åé¡ã¯ãåå 远åã«ããªãèŠåŽããŸããã 調æ»ã®çµæã以åããå©çšããŠãã docker-sync ã OrbStack ãžã®ç§»è¡åŸã« æ£åžžã« åäœããŠããªãããšãããããŸããã docker-sync ãšã¯ãDocker ç°å¢ã§ããŒã«ã«ãšã³ã³ããéã®ãã¡ã€ã«åæãé«éåããããã®ããŒã«ã§ãã åå ã®åãåãã«ã¯èŠåŽããŸããããæ¬¡ã®æé ã§ç¹å®ã§ããŸããã å
è¡ã㊠OrbStack ã«ç§»è¡ããŠããå¥éšçœ²ã®æ¹ãšé£æºãåããäž¡è
ã®ç°å¢ã®éããèããäžã§ docker-sync ã®å©çšã®æç¡ãæãããã ãã¡ã€ã«ã®æŽæ°ãåæ ãããªãåé¡ã§ãã£ãããããã¡ã€ã«åæãæé©åãã docker-sync ãåå ã§ã¯ãªãããšæšæž¬ãã docker-sync ã䜿çšããªãç°å¢ã§æ€èšŒããŠåé¡ã®è§£æ¶ã確èªãã ãã®ãããOrbStack ãžã®ç§»è¡ãæ©ã« docker-sync ã®å©çšããããããšã§ ã³ã³ãããšããŒã«ã«ã®ãã¡ã€ã«å·®åãæŽæ°ãããªãåé¡ã解決ããŸããã ç§»è¡åŸã® OrbStack ã®äœ¿çšæ Docker Desktop ãã UI ãªã©ãã·ã³ãã«ã§ãããæäœã容æã§ãã migrates ããã ãã§ OrbStack ã«ç§»è¡ã§ããæè»œããããã£ãã§ãã åçšå©çšã®æéã Docker Desktop ã®ãã©ã³ããããããå©çšæãæããããã®ã§ãè¯ãããšæããŸãã ãŸãšã OrbStack ç§»è¡ãå®éã«ãã£ãŠã¿ãŠãæã£ãŠãã以äžã«å®¹æã«ç§»è¡ã§ãããšå®æããŸããã ãã¡ãã Docker Desktop ãè¯ãããšæããŸãããé床ãå©çšæãªã©ãå å³ããŠãç§»è¡ã®éžæè¢ãšã㊠OrbStack ãå
¥ã£ãŠããããªæ°ãããŠããŸãã ãŸããOrbStack ãå®éã«äœ¿ã£ãŠã¿ãŠãã ãããå®éã«å©çšããããšã§ãããããšãå€ãåºãŠããããšæããŸãã Weâre hiring ã¡ãã¬ãŒã§ã¯äžç·ã«åã仲éã倧åéããŠããŸãïŒ ã«ãžã¥ã¢ã«é¢è«ã宿œããŠãããŸãã®ã§ãã話ãã ãã§ãèããŠã¿ãã!ã¡ãã£ãšéè«ããŠã¿ãã!ã§ãæ§ããŸããã®ã§ããæ°è»œã«ãåãåãããã ããïŒ åéã®äžèЧ https://www.medley.jp/jobs/ å»çãšã³ãžãã¢ãªã³ã°é åçãäžãã£ãŠããŸãïŒã¡ãã¬ãŒã«ã€ããŠã話ããŸãïŒ https://pitta.me/matches/BtcyDvCvUZtx ã¡ãã¬ãŒã®éçºããŒã ã«ã€ããŠç¥ãããæ¹ïŒãã²ã話ãããŸãããïŒ https://pitta.me/matches/sNeEHMdSLZpB
ã¯ããã« ããã«ã¡ã¯ã人æãã©ãããã©ãŒã æ¬éš 第äžéçºã°ã«ãŒãã®åäº( @Hiroshi_mars )ã§ãã 2024 幎 12 æã«äž»ã«ããã¯ãšã³ãã®ãšã³ãžãã¢ãšããŠã¡ãã¬ãŒã«å
¥ç€ŸããŸããã å
¥ç€ŸããŠæ¥ãæµ
ãã§ããããã®èšäºãéããŠå°ãã§ãããã«ãªã£ããã¡ãã¬ãŒã«ã€ããŠç¥ã£ãŠããã ãããå¬ããã§ãã ä»åãç§ã¯ãDocker Desktop for Mac ãã OrbStack ãžç§»è¡ãããããžã§ã¯ããæ
åœããŸããã以éãDocker Desktop 㯠Docker Desktop for Mac ãæããŸãã 察象ãããã¯ã: ãžã§ãã¡ãã¬ãŒã®ãµã€ãããŒãž ã瀟å
ãªãã¬ãŒã¿ãŒãå©çšãããµã€ããæœèšã®æ¹ã
ãå©çšãããµã€ããªã©ã æé: 2~3 é±é OrbStack ãšã¯ å
¬åŒ OrbStack ãšã¯ OrbStack is the fast, light, and easy way to run Docker containers and Linux. Develop at lightspeed with our Docker Desktop alternative. (å
¬åŒãµã€ãããåŒçš) OrbStack ã¯ãDocker ã³ã³ããããã³ Linux ãé«éãã€è»œéã«ã容æã«å®è¡ããããã®ããŒã«ã§ãã ãšæžãããŠããŸãã Docker Desktop ã®ä»£æ¿ãšããŠæ³šç®ãããŠããŸãã OrbStack ã®ç¹åŸŽ Docker Desktop ããé«éã§è»œé æ¢åã® Docker ã³ãã³ãã docker-compose ç³»ã®ã³ãã³ããå©çšå¯èœ Docker Desktop ããã®ç§»è¡ã容æ CPU ãã¡ã¢ãªã®äœ¿çšéãæããããæ¢åã® Docker ã³ãã³ããšã®äºææ§ãé«ããããç§»è¡ãéçšã®è² æ
ãå°ãªãç¹ã倧ããªã¡ãªããã§ãã OrbStack ãžç§»è¡ããçç± å€§ããäºç¹ãããŸãã OrbStack ãžç§»è¡ããçç± ãã® 1 ãOrbStack ãš Docker Desktop ã®åçšå©çšã®æéå·®ã OrbStack ã®æé㯠ãã¡ã Docker Desktop ã®æé㯠ãã¡ã ä»ãŸã§ Docker Desktop ã® Docker Team ã®ãã©ã³ã§åçšå©çšããŠããŸããããããããããããããšã«éçºã¡ã³ããŒãå¢å ãã管çã§ããã¢ã«ãŠã³ãæ°ã®äžéãè¶
ããŠããŸãããã«ãªããŸããã Docker Desktop ã®ãã©ã³ã Docker Team ãã Docker Business ã«äžãããš 1 ãŠãŒã¶ãŒãããã®æé¡å©çšæã 15 ãã«ãã 24 ãã«ã«å¢å ããŸãã ãã®ãããããã©ã³ã®ã©ã³ã¯ãäžã€äžã«äžãããorãå¥ã®ããŒã«ã«ç§»è¡ããããšããéžæããããŸããã ããã©ã³ã®ã©ã³ã¯ãäžã€äžã«äžãããã®ãå¯èœã§ã¯ãããŸãããã OrbStack ãžç§»è¡ããçç± ãã® 2 ã«èšèŒãããŠããéãã©ãããç§»è¡é£æåºŠãå·¥æ°ã³ã¹ããäœãããšããããšããã£ãŠããå¥ã®ããŒã«ã«ç§»è¡ãããéžæããšããŸããã ãã®å€æã¯ã¡ãã¬ãŒã®è¡åååã§ãã( Our Essentials )ã®äžã®**ãæ¥ã
ã®å¹çŽãšå€§èãªæè³ã®äž¡ç«ã**ã«é©ã£ãŠããŸãã ç¡é§ãªã³ã¹ããèœãšããã®ãªãèœãšããèœãšããåã ãå¥ã®å€§èãªè¡åã«å©çšããããããã£ãè¡åååã«åºã¥ããåãã§ããã£ãããšæããŸãã éã«ãç§»è¡ã«ããå·¥æ°ã³ã¹ããããªãé«ãã£ãå ŽåãDocker Desktop ã®ãã©ã³ãäžããæ¹éã«ãªã£ãŠããå¯èœæ§ããããŸãã OrbStack ãžç§»è¡ããçç± ãã® 2 ãOrbStack ãžç§»è¡ã容æã ããã°ãªã©ã®åçš®æ
å ±æºã«ãããŠãOrbStack ãžã®ç§»è¡æé ã¯å®¹æã§ããç§»è¡ã«ãããå·¥æ°ãäœãããšãå ±åãããŠããŸãã ä»ããã°ã®äžäŸ: https://qiita.com/shoki-y/items/4b8e48a525062a8ec9ad ãŸãã瀟å
ã®å¥ãããã¯ãã§æ¢ã«ç§»è¡ããå®çžŸããããŸããã 瀟å
ã®å¥ãããã¯ãã®æè¡ã¹ã¿ãã¯ã¯ãä»åã®ç§»è¡å¯Ÿè±¡ãšè¿ãããã®ã§ããã ãã®ããã瀟å
ã®å¥ãããã¯ãã®ç§»è¡ãè¡ãªã£ãæ¹ã«ãã¢ãªã³ã°ããéãç§»è¡ã³ã¹ããå°ããããšãããããŸããã ç§»è¡äœæ¥ã«äŒŽãç°å¢å·®ç°ãããã«äŒŽãå·¥æ°è² æ
ã¯å€§ããªèª²é¡ãšãªããããã§ãããOrbStack ã§ã¯ãããã®è² æ
ãå°ãªãããšã瀟å
ã瀟å€ã®ç¥èŠèª¿æ»ã«ãã£ãŠèŠèŸŒãŸãããããç§»è¡ã決æããã«è³ããŸããã OrbStack ãžã®ç§»è¡æé 1. OrbStack ãã€ã³ã¹ããŒã« ã€ã³ã¹ããŒã«æ¹æ³ã¯ 2 çš®é¡ãããŸãã Homebrew ã䜿ã£ãã€ã³ã¹ããŒã« brew install orbstack 2. å
¬åŒãµã€ã ãã dmg 圢åŒã®ãã¡ã€ã«ãããŠã³ããŒããã 2. OrbStack ã®èµ·å ã€ã³ã¹ããŒã«åŸãFinder ã®ã¢ããªã±ãŒã·ã§ã³ãã OrbStack ã®ã¢ã€ã³ã³ãæ¢ããã¯ãªãã¯ãèµ·åãèµ·ååŸã以äžã®ãããªç»é¢ãåºãŠããŸãã Docker, Kubernetes, Linux ã©ããå©çšããã®ãéžæããŸãã ä»åã¯ãDocker Desktop ãã OrbStack ã«ç§»è¡ããã®ã§ãDocker ãéžæããŸãã Docker ãéžæãããšäžèšã®ãããªãããç»é¢ãåºãŸãã 3. Docker Desktop ãã OrbStack ãžã³ã³ãããã€ã¡ãŒãžã®æ
å ±ãç§»è¡ãã 2 çš®é¡æ¹æ³ããããŸãã ãããç»é¢ã«è¡šç€ºãããŠããâMigrate from Docker Desktopâãã¯ãªãã¯ãã äžéšã¡ãã¥ãŒããâFileâ->âMigrate Docker Dataâãã¯ãªãã¯ãã Docker Desktop äžã®ã³ã³ãããããªã¥ãŒã ãã€ã¡ãŒãžã OrbStack ã«ç§»è¡ãããŸã ïŒ2 ã®ã¡ãã¥ãŒã«ã€ããŠã®ç»é¢ migrate ããåŸãäžèšã®ãããªãããã¢ãããåºãããšããããŸãã å
容ã¯ã¢ã¶ã€ã¯ãã€ããŠããŸãããäžèšã®ãããªãã°ãåºåãããå ŽåããããŸãã container /~: create container: [Docker] No such image: ... ããã¯ãäžéšã®ã³ã³ãããã€ã¡ãŒãžã®ç§»è¡ã«å€±æããŠããããšã瀺ããŠããŸãã ä»åã®ç§»è¡ã«é¢ããŠã¯ãã®ãšã©ãŒã¡ãã»ãŒãžã migrate æã«è§£æ¶ããªããŠãåé¡ãããŸããã§ãããçç±ãšããŠã¯ããšã©ãŒå¯Ÿè±¡ãèªèº«ã§ä»¥åäœæããããŒã¿ãªã©ã migrate ã§ããªãã£ãã®ã¿ã§ãåŸã»ã©ååºŠäœæããã°ããã£ãããã§ãã 4. Docker ã³ã³ããã¹ãæ
å ±ã®ç¢ºèªãšå€æŽ migrate ãå®äºããããâDocker DesktopâãšâOrbStackâã©ã¡ããå©çšã㊠Docker Daemon ã«ã¢ã¯ã»ã¹ããã®ã確èªããå¿
èŠããããŸãã æ¬¡ã®ã³ãã³ãã§ã³ã³ããã¹ãã確èªããŸãã docker context ls åºåäŸ: $ docker context ls NAME DESCRIPTION DOCKER ENDPOINT ERROR default Current DOCKER_HOST based configuration unix:///hogehoge orbstack * OrbStack unix:///hogehoge â*âãä»å©çšããŠããã³ã³ããã¹ãã«ãªããŸã âDocker Desktopâ ãå©çšãããŠããå Žåã¯æ¬¡ã®ã³ãã³ãã§ OrbStack ã«å€æŽããŸãã docker context use orbstack åºåäŸ: % docker context use orbstack orbstack Current context is now "orbstack" 5. Docker ã³ã³ããã®ç«ã¡äžã Docker ã³ã³ãããèµ·åããŠãæ£åžžã«ç§»è¡ã§ããããšã確èªããŸãã å®å
šã«ç§»è¡ãå®äºããã Docker Desktop ãåé€ããŠãåé¡ãªãããšæããŸãã ã³ã³ããã®èµ·åæ¹æ³ã¯åèªã®å©çšç°å¢ã«å¿ããŠæé ãç°ãªããããæ¬çš¿ã§ã¯è©³çްã岿ããŸãã ããããã€ã³ããèŠåŽããç¹ å°ãããã£ããã€ã³ããèŠåŽããç¹ãªã©ãèšèŒããŠããŸãããåèã«ãªãã°å¹žãã§ãã Docker Network åšãã®ãšã©ãŒ Docker Desktop ã§ã³ã³ãããç«ã¡äžããŠãäœæ¥ããŠããå ŽåãDocker Network ãå€ããå°ãªããå©çšãããŠããããšæããŸãã Docker Desktop ã§äœæããŠãã Docker Network ãååšããŠããå ŽåãOrbStack ã§ Docker Network ãäœæããããšãããšåã Docker Network ãäœæããããšã«ãªã£ãŠããŸããããŒã ã®è¢«ããªã©ãçºçããããšããããŸãã ãã®ãããæ¬¡ã®ã³ãã³ãã§ Docker Network ã確èªããŸãã docker network ls äžèŠãªãããã¯ãŒã¯ãååšããŠããå Žåãæ¬¡ã®ã³ãã³ãã§åé€ããŸãã docker network rm Hogehoge ãã«ããã«ãåšãã®ãšã©ãŒ å
ã»ã©èšèŒãã Docker_Network åšãã®ãšã©ãŒ ãšäŒŒããããªãšã©ãŒã«ãªããŸãã Docker Desktop ã§äœææžã¿ã®ãã«ããã«ãç°å¢ã OrbStack ãšç«¶åããå ŽåããããŸãããã®å Žåã¯æ¢åã®ãã«ããã«ãç°å¢ãåé€ããOrbStack ã§æ°èŠã«ãã«ããã«ãç°å¢ãæ§ç¯ããããšã§åé¡ãè§£æ¶ã§ããŸãã ãšã©ãŒå
容 error: Error response from daemon: Conflict. The container name "multibuild" is already in use by container "container_id". You have to remove (or rename ) that container to be able to reuse that name. 次ã®ã³ãã³ãã§ãæ°ãã«ãã«ããã«ããäœæããŠå©çšã§ããŸãã docker buildx rm multibuild docker buildx create --name multibuild_new_type docker buildx use multibuild_new_type ã³ã³ãããšããŒã«ã«ã®ãã¡ã€ã«å·®åãæŽæ°ãããªãåé¡ éåžžã§ããã°ãVolume ãèšå®ããŠããã°ãããŒã«ã«ã§ãã¡ã€ã«ãæ°ãã«äœæããããmv, cp çã®ã³ãã³ãã§ãã¡ã€ã«ãç§»ãããããã¡ã€ã«å
ãæžãæããŠã Docker ã³ã³ããå
ã®ãã¡ã€ã«ãæŽæ°ãããããšæããŸãã ãããä»åãDocker ã³ã³ããå
ã§ãã¡ã€ã«ãæŽæ°ãããªãåé¡ãèµ·ããŠããŸããã ãã¡ãã®åé¡ã¯ãåå 远åã«ããªãèŠåŽããŸããã 調æ»ã®çµæã以åããå©çšããŠãã docker-sync ã OrbStack ãžã®ç§»è¡åŸã« æ£åžžã« åäœããŠããªãããšãããããŸããã docker-sync ãšã¯ãDocker ç°å¢ã§ããŒã«ã«ãšã³ã³ããéã®ãã¡ã€ã«åæãé«éåããããã®ããŒã«ã§ãã åå ã®åãåãã«ã¯èŠåŽããŸããããæ¬¡ã®æé ã§ç¹å®ã§ããŸããã å
è¡ã㊠OrbStack ã«ç§»è¡ããŠããå¥éšçœ²ã®æ¹ãšé£æºãåããäž¡è
ã®ç°å¢ã®éããèããäžã§ docker-sync ã®å©çšã®æç¡ãæãããã ãã¡ã€ã«ã®æŽæ°ãåæ ãããªãåé¡ã§ãã£ãããããã¡ã€ã«åæãæé©åãã docker-sync ãåå ã§ã¯ãªãããšæšæž¬ãã docker-sync ã䜿çšããªãç°å¢ã§æ€èšŒããŠåé¡ã®è§£æ¶ã確èªãã ãã®ãããOrbStack ãžã®ç§»è¡ãæ©ã« docker-sync ã®å©çšããããããšã§ ã³ã³ãããšããŒã«ã«ã®ãã¡ã€ã«å·®åãæŽæ°ãããªãåé¡ã解決ããŸããã ç§»è¡åŸã® OrbStack ã®äœ¿çšæ Docker Desktop ãã UI ãªã©ãã·ã³ãã«ã§ãããæäœã容æã§ãã migrates ããã ãã§ OrbStack ã«ç§»è¡ã§ããæè»œããããã£ãã§ãã åçšå©çšã®æéã Docker Desktop ã®ãã©ã³ããããããå©çšæãæããããã®ã§ãè¯ãããšæããŸãã ãŸãšã OrbStack ç§»è¡ãå®éã«ãã£ãŠã¿ãŠãæã£ãŠãã以äžã«å®¹æã«ç§»è¡ã§ãããšå®æããŸããã ãã¡ãã Docker Desktop ãè¯ãããšæããŸãããé床ãå©çšæãªã©ãå å³ããŠãç§»è¡ã®éžæè¢ãšã㊠OrbStack ãå
¥ã£ãŠããããªæ°ãããŠããŸãã ãŸããOrbStack ãå®éã«äœ¿ã£ãŠã¿ãŠãã ãããå®éã«å©çšããããšã§ãããããšãå€ãåºãŠããããšæããŸãã Weâre hiring ã¡ãã¬ãŒã§ã¯äžç·ã«åã仲éã倧åéããŠããŸãïŒ ã«ãžã¥ã¢ã«é¢è«ã宿œããŠãããŸãã®ã§ãã話ãã ãã§ãèããŠã¿ãã!ã¡ãã£ãšéè«ããŠã¿ãã!ã§ãæ§ããŸããã®ã§ããæ°è»œã«ãåãåãããã ããïŒ åéã®äžèЧ https://www.medley.jp/jobs/ å»çãšã³ãžãã¢ãªã³ã°é åçãäžãã£ãŠããŸãïŒã¡ãã¬ãŒã«ã€ããŠã話ããŸãïŒ https://pitta.me/matches/BtcyDvCvUZtx ã¡ãã¬ãŒã®éçºããŒã ã«ã€ããŠç¥ãããæ¹ïŒãã²ã話ãããŸãããïŒ https://pitta.me/matches/sNeEHMdSLZpB
ã¯ããã« ããã«ã¡ã¯ã人æãã©ãããã©ãŒã æ¬éš 第äžéçºã°ã«ãŒãã®åäº( @Hiroshi_mars )ã§ãã 2024 幎 12 æã«äž»ã«ããã¯ãšã³ãã®ãšã³ãžãã¢ãšããŠã¡ãã¬ãŒã«å
¥ç€ŸããŸããã å
¥ç€ŸããŠæ¥ãæµ
ãã§ããããã®èšäºãéããŠå°ãã§ãããã«ãªã£ããã¡ãã¬ãŒã«ã€ããŠç¥ã£ãŠããã ãããå¬ããã§ãã ä»åãç§ã¯ãDocker Desktop for Mac ãã OrbStack ãžç§»è¡ãããããžã§ã¯ããæ
åœããŸããã以éãDocker Desktop 㯠Docker Desktop for Mac ãæããŸãã 察象ãããã¯ã: ãžã§ãã¡ãã¬ãŒã®ãµã€ãããŒãž ã瀟å
ãªãã¬ãŒã¿ãŒãå©çšãããµã€ããæœèšã®æ¹ã
ãå©çšãããµã€ããªã©ã æé: 2~3 é±é OrbStack ãšã¯ å
¬åŒ OrbStack ãšã¯ OrbStack is the fast, light, and easy way to run Docker containers and Linux. Develop at lightspeed with our Docker Desktop alternative. (å
¬åŒãµã€ãããåŒçš) OrbStack ã¯ãDocker ã³ã³ããããã³ Linux ãé«éãã€è»œéã«ã容æã«å®è¡ããããã®ããŒã«ã§ãã ãšæžãããŠããŸãã Docker Desktop ã®ä»£æ¿ãšããŠæ³šç®ãããŠããŸãã OrbStack ã®ç¹åŸŽ Docker Desktop ããé«éã§è»œé æ¢åã® Docker ã³ãã³ãã docker-compose ç³»ã®ã³ãã³ããå©çšå¯èœ Docker Desktop ããã®ç§»è¡ã容æ CPU ãã¡ã¢ãªã®äœ¿çšéãæããããæ¢åã® Docker ã³ãã³ããšã®äºææ§ãé«ããããç§»è¡ãéçšã®è² æ
ãå°ãªãç¹ã倧ããªã¡ãªããã§ãã OrbStack ãžç§»è¡ããçç± å€§ããäºç¹ãããŸãã OrbStack ãžç§»è¡ããçç± ãã® 1 ãOrbStack ãš Docker Desktop ã®åçšå©çšã®æéå·®ã OrbStack ã®æé㯠ãã¡ã Docker Desktop ã®æé㯠ãã¡ã ä»ãŸã§ Docker Desktop ã® Docker Team ã®ãã©ã³ã§åçšå©çšããŠããŸããããããããããããããšã«éçºã¡ã³ããŒãå¢å ãã管çã§ããã¢ã«ãŠã³ãæ°ã®äžéãè¶
ããŠããŸãããã«ãªããŸããã Docker Desktop ã®ãã©ã³ã Docker Team ãã Docker Business ã«äžãããš 1 ãŠãŒã¶ãŒãããã®æé¡å©çšæã 15 ãã«ãã 24 ãã«ã«å¢å ããŸãã ãã®ãããããã©ã³ã®ã©ã³ã¯ãäžã€äžã«äžãããorãå¥ã®ããŒã«ã«ç§»è¡ããããšããéžæããããŸããã ããã©ã³ã®ã©ã³ã¯ãäžã€äžã«äžãããã®ãå¯èœã§ã¯ãããŸãããã OrbStack ãžç§»è¡ããçç± ãã® 2 ã«èšèŒãããŠããéãã©ãããç§»è¡é£æåºŠãå·¥æ°ã³ã¹ããäœãããšããããšããã£ãŠããå¥ã®ããŒã«ã«ç§»è¡ãããéžæããšããŸããã ãã®å€æã¯ã¡ãã¬ãŒã®è¡åååã§ãã( Our Essentials )ã®äžã®**ãæ¥ã
ã®å¹çŽãšå€§èãªæè³ã®äž¡ç«ã**ã«é©ã£ãŠããŸãã ç¡é§ãªã³ã¹ããèœãšããã®ãªãèœãšããèœãšããåã ãå¥ã®å€§èãªè¡åã«å©çšããããããã£ãè¡åååã«åºã¥ããåãã§ããã£ãããšæããŸãã éã«ãç§»è¡ã«ããå·¥æ°ã³ã¹ããããªãé«ãã£ãå ŽåãDocker Desktop ã®ãã©ã³ãäžããæ¹éã«ãªã£ãŠããå¯èœæ§ããããŸãã OrbStack ãžç§»è¡ããçç± ãã® 2 ãOrbStack ãžç§»è¡ã容æã ããã°ãªã©ã®åçš®æ
å ±æºã«ãããŠãOrbStack ãžã®ç§»è¡æé ã¯å®¹æã§ããç§»è¡ã«ãããå·¥æ°ãäœãããšãå ±åãããŠããŸãã ä»ããã°ã®äžäŸ: https://qiita.com/shoki-y/items/4b8e48a525062a8ec9ad ãŸãã瀟å
ã®å¥ãããã¯ãã§æ¢ã«ç§»è¡ããå®çžŸããããŸããã 瀟å
ã®å¥ãããã¯ãã®æè¡ã¹ã¿ãã¯ã¯ãä»åã®ç§»è¡å¯Ÿè±¡ãšè¿ãããã®ã§ããã ãã®ããã瀟å
ã®å¥ãããã¯ãã®ç§»è¡ãè¡ãªã£ãæ¹ã«ãã¢ãªã³ã°ããéãç§»è¡ã³ã¹ããå°ããããšãããããŸããã ç§»è¡äœæ¥ã«äŒŽãç°å¢å·®ç°ãããã«äŒŽãå·¥æ°è² æ
ã¯å€§ããªèª²é¡ãšãªããããã§ãããOrbStack ã§ã¯ãããã®è² æ
ãå°ãªãããšã瀟å
ã瀟å€ã®ç¥èŠèª¿æ»ã«ãã£ãŠèŠèŸŒãŸãããããç§»è¡ã決æããã«è³ããŸããã OrbStack ãžã®ç§»è¡æé 1. OrbStack ãã€ã³ã¹ããŒã« ã€ã³ã¹ããŒã«æ¹æ³ã¯ 2 çš®é¡ãããŸãã Homebrew ã䜿ã£ãã€ã³ã¹ããŒã« brew install orbstack 2. å
¬åŒãµã€ã ãã dmg 圢åŒã®ãã¡ã€ã«ãããŠã³ããŒããã 2. OrbStack ã®èµ·å ã€ã³ã¹ããŒã«åŸãFinder ã®ã¢ããªã±ãŒã·ã§ã³ãã OrbStack ã®ã¢ã€ã³ã³ãæ¢ããã¯ãªãã¯ãèµ·åãèµ·ååŸã以äžã®ãããªç»é¢ãåºãŠããŸãã Docker, Kubernetes, Linux ã©ããå©çšããã®ãéžæããŸãã ä»åã¯ãDocker Desktop ãã OrbStack ã«ç§»è¡ããã®ã§ãDocker ãéžæããŸãã Docker ãéžæãããšäžèšã®ãããªãããç»é¢ãåºãŸãã 3. Docker Desktop ãã OrbStack ãžã³ã³ãããã€ã¡ãŒãžã®æ
å ±ãç§»è¡ãã 2 çš®é¡æ¹æ³ããããŸãã ãããç»é¢ã«è¡šç€ºãããŠããâMigrate from Docker Desktopâãã¯ãªãã¯ãã äžéšã¡ãã¥ãŒããâFileâ->âMigrate Docker Dataâãã¯ãªãã¯ãã Docker Desktop äžã®ã³ã³ãããããªã¥ãŒã ãã€ã¡ãŒãžã OrbStack ã«ç§»è¡ãããŸã ïŒ2 ã®ã¡ãã¥ãŒã«ã€ããŠã®ç»é¢ migrate ããåŸãäžèšã®ãããªãããã¢ãããåºãããšããããŸãã å
容ã¯ã¢ã¶ã€ã¯ãã€ããŠããŸãããäžèšã®ãããªãã°ãåºåãããå ŽåããããŸãã container /~: create container: [Docker] No such image: ... ããã¯ãäžéšã®ã³ã³ãããã€ã¡ãŒãžã®ç§»è¡ã«å€±æããŠããããšã瀺ããŠããŸãã ä»åã®ç§»è¡ã«é¢ããŠã¯ãã®ãšã©ãŒã¡ãã»ãŒãžã migrate æã«è§£æ¶ããªããŠãåé¡ãããŸããã§ãããçç±ãšããŠã¯ããšã©ãŒå¯Ÿè±¡ãèªèº«ã§ä»¥åäœæããããŒã¿ãªã©ã migrate ã§ããªãã£ãã®ã¿ã§ãåŸã»ã©ååºŠäœæããã°ããã£ãããã§ãã 4. Docker ã³ã³ããã¹ãæ
å ±ã®ç¢ºèªãšå€æŽ migrate ãå®äºããããâDocker DesktopâãšâOrbStackâã©ã¡ããå©çšã㊠Docker Daemon ã«ã¢ã¯ã»ã¹ããã®ã確èªããå¿
èŠããããŸãã æ¬¡ã®ã³ãã³ãã§ã³ã³ããã¹ãã確èªããŸãã docker context ls åºåäŸ: $ docker context ls NAME DESCRIPTION DOCKER ENDPOINT ERROR default Current DOCKER_HOST based configuration unix:///hogehoge orbstack * OrbStack unix:///hogehoge â*âãä»å©çšããŠããã³ã³ããã¹ãã«ãªããŸã âDocker Desktopâ ãå©çšãããŠããå Žåã¯æ¬¡ã®ã³ãã³ãã§ OrbStack ã«å€æŽããŸãã docker context use orbstack åºåäŸ: % docker context use orbstack orbstack Current context is now "orbstack" 5. Docker ã³ã³ããã®ç«ã¡äžã Docker ã³ã³ãããèµ·åããŠãæ£åžžã«ç§»è¡ã§ããããšã確èªããŸãã å®å
šã«ç§»è¡ãå®äºããã Docker Desktop ãåé€ããŠãåé¡ãªãããšæããŸãã ã³ã³ããã®èµ·åæ¹æ³ã¯åèªã®å©çšç°å¢ã«å¿ããŠæé ãç°ãªããããæ¬çš¿ã§ã¯è©³çްã岿ããŸãã ããããã€ã³ããèŠåŽããç¹ å°ãããã£ããã€ã³ããèŠåŽããç¹ãªã©ãèšèŒããŠããŸãããåèã«ãªãã°å¹žãã§ãã Docker Network åšãã®ãšã©ãŒ Docker Desktop ã§ã³ã³ãããç«ã¡äžããŠãäœæ¥ããŠããå ŽåãDocker Network ãå€ããå°ãªããå©çšãããŠããããšæããŸãã Docker Desktop ã§äœæããŠãã Docker Network ãååšããŠããå ŽåãOrbStack ã§ Docker Network ãäœæããããšãããšåã Docker Network ãäœæããããšã«ãªã£ãŠããŸããããŒã ã®è¢«ããªã©ãçºçããããšããããŸãã ãã®ãããæ¬¡ã®ã³ãã³ãã§ Docker Network ã確èªããŸãã docker network ls äžèŠãªãããã¯ãŒã¯ãååšããŠããå Žåãæ¬¡ã®ã³ãã³ãã§åé€ããŸãã docker network rm Hogehoge ãã«ããã«ãåšãã®ãšã©ãŒ å
ã»ã©èšèŒãã Docker_Network åšãã®ãšã©ãŒ ãšäŒŒããããªãšã©ãŒã«ãªããŸãã Docker Desktop ã§äœææžã¿ã®ãã«ããã«ãç°å¢ã OrbStack ãšç«¶åããå ŽåããããŸãããã®å Žåã¯æ¢åã®ãã«ããã«ãç°å¢ãåé€ããOrbStack ã§æ°èŠã«ãã«ããã«ãç°å¢ãæ§ç¯ããããšã§åé¡ãè§£æ¶ã§ããŸãã ãšã©ãŒå
容 error: Error response from daemon: Conflict. The container name "multibuild" is already in use by container "container_id". You have to remove (or rename ) that container to be able to reuse that name. 次ã®ã³ãã³ãã§ãæ°ãã«ãã«ããã«ããäœæããŠå©çšã§ããŸãã docker buildx rm multibuild docker buildx create --name multibuild_new_type docker buildx use multibuild_new_type ã³ã³ãããšããŒã«ã«ã®ãã¡ã€ã«å·®åãæŽæ°ãããªãåé¡ éåžžã§ããã°ãVolume ãèšå®ããŠããã°ãããŒã«ã«ã§ãã¡ã€ã«ãæ°ãã«äœæããããmv, cp çã®ã³ãã³ãã§ãã¡ã€ã«ãç§»ãããããã¡ã€ã«å
ãæžãæããŠã Docker ã³ã³ããå
ã®ãã¡ã€ã«ãæŽæ°ãããããšæããŸãã ãããä»åãDocker ã³ã³ããå
ã§ãã¡ã€ã«ãæŽæ°ãããªãåé¡ãèµ·ããŠããŸããã ãã¡ãã®åé¡ã¯ãåå 远åã«ããªãèŠåŽããŸããã 調æ»ã®çµæã以åããå©çšããŠãã docker-sync ã OrbStack ãžã®ç§»è¡åŸã« æ£åžžã« åäœããŠããªãããšãããããŸããã docker-sync ãšã¯ãDocker ç°å¢ã§ããŒã«ã«ãšã³ã³ããéã®ãã¡ã€ã«åæãé«éåããããã®ããŒã«ã§ãã åå ã®åãåãã«ã¯èŠåŽããŸããããæ¬¡ã®æé ã§ç¹å®ã§ããŸããã å
è¡ã㊠OrbStack ã«ç§»è¡ããŠããå¥éšçœ²ã®æ¹ãšé£æºãåããäž¡è
ã®ç°å¢ã®éããèããäžã§ docker-sync ã®å©çšã®æç¡ãæãããã ãã¡ã€ã«ã®æŽæ°ãåæ ãããªãåé¡ã§ãã£ãããããã¡ã€ã«åæãæé©åãã docker-sync ãåå ã§ã¯ãªãããšæšæž¬ãã docker-sync ã䜿çšããªãç°å¢ã§æ€èšŒããŠåé¡ã®è§£æ¶ã確èªãã ãã®ãããOrbStack ãžã®ç§»è¡ãæ©ã« docker-sync ã®å©çšããããããšã§ ã³ã³ãããšããŒã«ã«ã®ãã¡ã€ã«å·®åãæŽæ°ãããªãåé¡ã解決ããŸããã ç§»è¡åŸã® OrbStack ã®äœ¿çšæ Docker Desktop ãã UI ãªã©ãã·ã³ãã«ã§ãããæäœã容æã§ãã migrates ããã ãã§ OrbStack ã«ç§»è¡ã§ããæè»œããããã£ãã§ãã åçšå©çšã®æéã Docker Desktop ã®ãã©ã³ããããããå©çšæãæããããã®ã§ãè¯ãããšæããŸãã ãŸãšã OrbStack ç§»è¡ãå®éã«ãã£ãŠã¿ãŠãæã£ãŠãã以äžã«å®¹æã«ç§»è¡ã§ãããšå®æããŸããã ãã¡ãã Docker Desktop ãè¯ãããšæããŸãããé床ãå©çšæãªã©ãå å³ããŠãç§»è¡ã®éžæè¢ãšã㊠OrbStack ãå
¥ã£ãŠããããªæ°ãããŠããŸãã ãŸããOrbStack ãå®éã«äœ¿ã£ãŠã¿ãŠãã ãããå®éã«å©çšããããšã§ãããããšãå€ãåºãŠããããšæããŸãã Weâre hiring ã¡ãã¬ãŒã§ã¯äžç·ã«åã仲éã倧åéããŠããŸãïŒ ã«ãžã¥ã¢ã«é¢è«ã宿œããŠãããŸãã®ã§ãã話ãã ãã§ãèããŠã¿ãã!ã¡ãã£ãšéè«ããŠã¿ãã!ã§ãæ§ããŸããã®ã§ããæ°è»œã«ãåãåãããã ããïŒ åéã®äžèЧ https://www.medley.jp/jobs/ å»çãšã³ãžãã¢ãªã³ã°é åçãäžãã£ãŠããŸãïŒã¡ãã¬ãŒã«ã€ããŠã話ããŸãïŒ https://pitta.me/matches/BtcyDvCvUZtx ã¡ãã¬ãŒã®éçºããŒã ã«ã€ããŠç¥ãããæ¹ïŒãã²ã話ãããŸãããïŒ https://pitta.me/matches/sNeEHMdSLZpB
ã¯ããã« ããã«ã¡ã¯ã人æãã©ãããã©ãŒã æ¬éš 第äžéçºã°ã«ãŒãã®åäº( @Hiroshi_mars )ã§ãã 2024 幎 12 æã«äž»ã«ããã¯ãšã³ãã®ãšã³ãžãã¢ãšããŠã¡ãã¬ãŒã«å
¥ç€ŸããŸããã å
¥ç€ŸããŠæ¥ãæµ
ãã§ããããã®èšäºãéããŠå°ãã§ãããã«ãªã£ããã¡ãã¬ãŒã«ã€ããŠç¥ã£ãŠããã ãããå¬ããã§ãã ä»åãç§ã¯ãDocker Desktop for Mac ãã OrbStack ãžç§»è¡ãããããžã§ã¯ããæ
åœããŸããã以éãDocker Desktop 㯠Docker Desktop for Mac ãæããŸãã 察象ãããã¯ã: ãžã§ãã¡ãã¬ãŒã®ãµã€ãããŒãž ã瀟å
ãªãã¬ãŒã¿ãŒãå©çšãããµã€ããæœèšã®æ¹ã
ãå©çšãããµã€ããªã©ã æé: 2~3 é±é OrbStack ãšã¯ å
¬åŒ OrbStack ãšã¯ OrbStack is the fast, light, and easy way to run Docker containers and Linux. Develop at lightspeed with our Docker Desktop alternative. (å
¬åŒãµã€ãããåŒçš) OrbStack ã¯ãDocker ã³ã³ããããã³ Linux ãé«éãã€è»œéã«ã容æã«å®è¡ããããã®ããŒã«ã§ãã ãšæžãããŠããŸãã Docker Desktop ã®ä»£æ¿ãšããŠæ³šç®ãããŠããŸãã OrbStack ã®ç¹åŸŽ Docker Desktop ããé«éã§è»œé æ¢åã® Docker ã³ãã³ãã docker-compose ç³»ã®ã³ãã³ããå©çšå¯èœ Docker Desktop ããã®ç§»è¡ã容æ CPU ãã¡ã¢ãªã®äœ¿çšéãæããããæ¢åã® Docker ã³ãã³ããšã®äºææ§ãé«ããããç§»è¡ãéçšã®è² æ
ãå°ãªãç¹ã倧ããªã¡ãªããã§ãã OrbStack ãžç§»è¡ããçç± å€§ããäºç¹ãããŸãã OrbStack ãžç§»è¡ããçç± ãã® 1 ãOrbStack ãš Docker Desktop ã®åçšå©çšã®æéå·®ã OrbStack ã®æé㯠ãã¡ã Docker Desktop ã®æé㯠ãã¡ã ä»ãŸã§ Docker Desktop ã® Docker Team ã®ãã©ã³ã§åçšå©çšããŠããŸããããããããããããããšã«éçºã¡ã³ããŒãå¢å ãã管çã§ããã¢ã«ãŠã³ãæ°ã®äžéãè¶
ããŠããŸãããã«ãªããŸããã Docker Desktop ã®ãã©ã³ã Docker Team ãã Docker Business ã«äžãããš 1 ãŠãŒã¶ãŒãããã®æé¡å©çšæã 15 ãã«ãã 24 ãã«ã«å¢å ããŸãã ãã®ãããããã©ã³ã®ã©ã³ã¯ãäžã€äžã«äžãããorãå¥ã®ããŒã«ã«ç§»è¡ããããšããéžæããããŸããã ããã©ã³ã®ã©ã³ã¯ãäžã€äžã«äžãããã®ãå¯èœã§ã¯ãããŸãããã OrbStack ãžç§»è¡ããçç± ãã® 2 ã«èšèŒãããŠããéãã©ãããç§»è¡é£æåºŠãå·¥æ°ã³ã¹ããäœãããšããããšããã£ãŠããå¥ã®ããŒã«ã«ç§»è¡ãããéžæããšããŸããã ãã®å€æã¯ã¡ãã¬ãŒã®è¡åååã§ãã( Our Essentials )ã®äžã®**ãæ¥ã
ã®å¹çŽãšå€§èãªæè³ã®äž¡ç«ã**ã«é©ã£ãŠããŸãã ç¡é§ãªã³ã¹ããèœãšããã®ãªãèœãšããèœãšããåã ãå¥ã®å€§èãªè¡åã«å©çšããããããã£ãè¡åååã«åºã¥ããåãã§ããã£ãããšæããŸãã éã«ãç§»è¡ã«ããå·¥æ°ã³ã¹ããããªãé«ãã£ãå ŽåãDocker Desktop ã®ãã©ã³ãäžããæ¹éã«ãªã£ãŠããå¯èœæ§ããããŸãã OrbStack ãžç§»è¡ããçç± ãã® 2 ãOrbStack ãžç§»è¡ã容æã ããã°ãªã©ã®åçš®æ
å ±æºã«ãããŠãOrbStack ãžã®ç§»è¡æé ã¯å®¹æã§ããç§»è¡ã«ãããå·¥æ°ãäœãããšãå ±åãããŠããŸãã ä»ããã°ã®äžäŸ: https://qiita.com/shoki-y/items/4b8e48a525062a8ec9ad ãŸãã瀟å
ã®å¥ãããã¯ãã§æ¢ã«ç§»è¡ããå®çžŸããããŸããã 瀟å
ã®å¥ãããã¯ãã®æè¡ã¹ã¿ãã¯ã¯ãä»åã®ç§»è¡å¯Ÿè±¡ãšè¿ãããã®ã§ããã ãã®ããã瀟å
ã®å¥ãããã¯ãã®ç§»è¡ãè¡ãªã£ãæ¹ã«ãã¢ãªã³ã°ããéãç§»è¡ã³ã¹ããå°ããããšãããããŸããã ç§»è¡äœæ¥ã«äŒŽãç°å¢å·®ç°ãããã«äŒŽãå·¥æ°è² æ
ã¯å€§ããªèª²é¡ãšãªããããã§ãããOrbStack ã§ã¯ãããã®è² æ
ãå°ãªãããšã瀟å
ã瀟å€ã®ç¥èŠèª¿æ»ã«ãã£ãŠèŠèŸŒãŸãããããç§»è¡ã決æããã«è³ããŸããã OrbStack ãžã®ç§»è¡æé 1. OrbStack ãã€ã³ã¹ããŒã« ã€ã³ã¹ããŒã«æ¹æ³ã¯ 2 çš®é¡ãããŸãã Homebrew ã䜿ã£ãã€ã³ã¹ããŒã« brew install orbstack 2. å
¬åŒãµã€ã ãã dmg 圢åŒã®ãã¡ã€ã«ãããŠã³ããŒããã 2. OrbStack ã®èµ·å ã€ã³ã¹ããŒã«åŸãFinder ã®ã¢ããªã±ãŒã·ã§ã³ãã OrbStack ã®ã¢ã€ã³ã³ãæ¢ããã¯ãªãã¯ãèµ·åãèµ·ååŸã以äžã®ãããªç»é¢ãåºãŠããŸãã Docker, Kubernetes, Linux ã©ããå©çšããã®ãéžæããŸãã ä»åã¯ãDocker Desktop ãã OrbStack ã«ç§»è¡ããã®ã§ãDocker ãéžæããŸãã Docker ãéžæãããšäžèšã®ãããªãããç»é¢ãåºãŸãã 3. Docker Desktop ãã OrbStack ãžã³ã³ãããã€ã¡ãŒãžã®æ
å ±ãç§»è¡ãã 2 çš®é¡æ¹æ³ããããŸãã ãããç»é¢ã«è¡šç€ºãããŠããâMigrate from Docker Desktopâãã¯ãªãã¯ãã äžéšã¡ãã¥ãŒããâFileâ->âMigrate Docker Dataâãã¯ãªãã¯ãã Docker Desktop äžã®ã³ã³ãããããªã¥ãŒã ãã€ã¡ãŒãžã OrbStack ã«ç§»è¡ãããŸã ïŒ2 ã®ã¡ãã¥ãŒã«ã€ããŠã®ç»é¢ migrate ããåŸãäžèšã®ãããªãããã¢ãããåºãããšããããŸãã å
容ã¯ã¢ã¶ã€ã¯ãã€ããŠããŸãããäžèšã®ãããªãã°ãåºåãããå ŽåããããŸãã container /~: create container: [Docker] No such image: ... ããã¯ãäžéšã®ã³ã³ãããã€ã¡ãŒãžã®ç§»è¡ã«å€±æããŠããããšã瀺ããŠããŸãã ä»åã®ç§»è¡ã«é¢ããŠã¯ãã®ãšã©ãŒã¡ãã»ãŒãžã migrate æã«è§£æ¶ããªããŠãåé¡ãããŸããã§ãããçç±ãšããŠã¯ããšã©ãŒå¯Ÿè±¡ãèªèº«ã§ä»¥åäœæããããŒã¿ãªã©ã migrate ã§ããªãã£ãã®ã¿ã§ãåŸã»ã©ååºŠäœæããã°ããã£ãããã§ãã 4. Docker ã³ã³ããã¹ãæ
å ±ã®ç¢ºèªãšå€æŽ migrate ãå®äºããããâDocker DesktopâãšâOrbStackâã©ã¡ããå©çšã㊠Docker Daemon ã«ã¢ã¯ã»ã¹ããã®ã確èªããå¿
èŠããããŸãã æ¬¡ã®ã³ãã³ãã§ã³ã³ããã¹ãã確èªããŸãã docker context ls åºåäŸ: $ docker context ls NAME DESCRIPTION DOCKER ENDPOINT ERROR default Current DOCKER_HOST based configuration unix:///hogehoge orbstack * OrbStack unix:///hogehoge â*âãä»å©çšããŠããã³ã³ããã¹ãã«ãªããŸã âDocker Desktopâ ãå©çšãããŠããå Žåã¯æ¬¡ã®ã³ãã³ãã§ OrbStack ã«å€æŽããŸãã docker context use orbstack åºåäŸ: % docker context use orbstack orbstack Current context is now "orbstack" 5. Docker ã³ã³ããã®ç«ã¡äžã Docker ã³ã³ãããèµ·åããŠãæ£åžžã«ç§»è¡ã§ããããšã確èªããŸãã å®å
šã«ç§»è¡ãå®äºããã Docker Desktop ãåé€ããŠãåé¡ãªãããšæããŸãã ã³ã³ããã®èµ·åæ¹æ³ã¯åèªã®å©çšç°å¢ã«å¿ããŠæé ãç°ãªããããæ¬çš¿ã§ã¯è©³çްã岿ããŸãã ããããã€ã³ããèŠåŽããç¹ å°ãããã£ããã€ã³ããèŠåŽããç¹ãªã©ãèšèŒããŠããŸãããåèã«ãªãã°å¹žãã§ãã Docker Network åšãã®ãšã©ãŒ Docker Desktop ã§ã³ã³ãããç«ã¡äžããŠãäœæ¥ããŠããå ŽåãDocker Network ãå€ããå°ãªããå©çšãããŠããããšæããŸãã Docker Desktop ã§äœæããŠãã Docker Network ãååšããŠããå ŽåãOrbStack ã§ Docker Network ãäœæããããšãããšåã Docker Network ãäœæããããšã«ãªã£ãŠããŸããããŒã ã®è¢«ããªã©ãçºçããããšããããŸãã ãã®ãããæ¬¡ã®ã³ãã³ãã§ Docker Network ã確èªããŸãã docker network ls äžèŠãªãããã¯ãŒã¯ãååšããŠããå Žåãæ¬¡ã®ã³ãã³ãã§åé€ããŸãã docker network rm Hogehoge ãã«ããã«ãåšãã®ãšã©ãŒ å
ã»ã©èšèŒãã Docker_Network åšãã®ãšã©ãŒ ãšäŒŒããããªãšã©ãŒã«ãªããŸãã Docker Desktop ã§äœææžã¿ã®ãã«ããã«ãç°å¢ã OrbStack ãšç«¶åããå ŽåããããŸãããã®å Žåã¯æ¢åã®ãã«ããã«ãç°å¢ãåé€ããOrbStack ã§æ°èŠã«ãã«ããã«ãç°å¢ãæ§ç¯ããããšã§åé¡ãè§£æ¶ã§ããŸãã ãšã©ãŒå
容 error: Error response from daemon: Conflict. The container name "multibuild" is already in use by container "container_id". You have to remove (or rename ) that container to be able to reuse that name. 次ã®ã³ãã³ãã§ãæ°ãã«ãã«ããã«ããäœæããŠå©çšã§ããŸãã docker buildx rm multibuild docker buildx create --name multibuild_new_type docker buildx use multibuild_new_type ã³ã³ãããšããŒã«ã«ã®ãã¡ã€ã«å·®åãæŽæ°ãããªãåé¡ éåžžã§ããã°ãVolume ãèšå®ããŠããã°ãããŒã«ã«ã§ãã¡ã€ã«ãæ°ãã«äœæããããmv, cp çã®ã³ãã³ãã§ãã¡ã€ã«ãç§»ãããããã¡ã€ã«å
ãæžãæããŠã Docker ã³ã³ããå
ã®ãã¡ã€ã«ãæŽæ°ãããããšæããŸãã ãããä»åãDocker ã³ã³ããå
ã§ãã¡ã€ã«ãæŽæ°ãããªãåé¡ãèµ·ããŠããŸããã ãã¡ãã®åé¡ã¯ãåå 远åã«ããªãèŠåŽããŸããã 調æ»ã®çµæã以åããå©çšããŠãã docker-sync ã OrbStack ãžã®ç§»è¡åŸã« æ£åžžã« åäœããŠããªãããšãããããŸããã docker-sync ãšã¯ãDocker ç°å¢ã§ããŒã«ã«ãšã³ã³ããéã®ãã¡ã€ã«åæãé«éåããããã®ããŒã«ã§ãã åå ã®åãåãã«ã¯èŠåŽããŸããããæ¬¡ã®æé ã§ç¹å®ã§ããŸããã å
è¡ã㊠OrbStack ã«ç§»è¡ããŠããå¥éšçœ²ã®æ¹ãšé£æºãåããäž¡è
ã®ç°å¢ã®éããèããäžã§ docker-sync ã®å©çšã®æç¡ãæãããã ãã¡ã€ã«ã®æŽæ°ãåæ ãããªãåé¡ã§ãã£ãããããã¡ã€ã«åæãæé©åãã docker-sync ãåå ã§ã¯ãªãããšæšæž¬ãã docker-sync ã䜿çšããªãç°å¢ã§æ€èšŒããŠåé¡ã®è§£æ¶ã確èªãã ãã®ãããOrbStack ãžã®ç§»è¡ãæ©ã« docker-sync ã®å©çšããããããšã§ ã³ã³ãããšããŒã«ã«ã®ãã¡ã€ã«å·®åãæŽæ°ãããªãåé¡ã解決ããŸããã ç§»è¡åŸã® OrbStack ã®äœ¿çšæ Docker Desktop ãã UI ãªã©ãã·ã³ãã«ã§ãããæäœã容æã§ãã migrates ããã ãã§ OrbStack ã«ç§»è¡ã§ããæè»œããããã£ãã§ãã åçšå©çšã®æéã Docker Desktop ã®ãã©ã³ããããããå©çšæãæããããã®ã§ãè¯ãããšæããŸãã ãŸãšã OrbStack ç§»è¡ãå®éã«ãã£ãŠã¿ãŠãæã£ãŠãã以äžã«å®¹æã«ç§»è¡ã§ãããšå®æããŸããã ãã¡ãã Docker Desktop ãè¯ãããšæããŸãããé床ãå©çšæãªã©ãå å³ããŠãç§»è¡ã®éžæè¢ãšã㊠OrbStack ãå
¥ã£ãŠããããªæ°ãããŠããŸãã ãŸããOrbStack ãå®éã«äœ¿ã£ãŠã¿ãŠãã ãããå®éã«å©çšããããšã§ãããããšãå€ãåºãŠããããšæããŸãã Weâre hiring ã¡ãã¬ãŒã§ã¯äžç·ã«åã仲éã倧åéããŠããŸãïŒ ã«ãžã¥ã¢ã«é¢è«ã宿œããŠãããŸãã®ã§ãã話ãã ãã§ãèããŠã¿ãã!ã¡ãã£ãšéè«ããŠã¿ãã!ã§ãæ§ããŸããã®ã§ããæ°è»œã«ãåãåãããã ããïŒ åéã®äžèЧ https://www.medley.jp/jobs/ å»çãšã³ãžãã¢ãªã³ã°é åçãäžãã£ãŠããŸãïŒã¡ãã¬ãŒã«ã€ããŠã話ããŸãïŒ https://pitta.me/matches/BtcyDvCvUZtx ã¡ãã¬ãŒã®éçºããŒã ã«ã€ããŠç¥ãããæ¹ïŒãã²ã話ãããŸãããïŒ https://pitta.me/matches/sNeEHMdSLZpB
ã¯ããã« ããã«ã¡ã¯ã人æãã©ãããã©ãŒã æ¬éš 第äžéçºã°ã«ãŒãã®åäº( @Hiroshi_mars )ã§ãã 2024 幎 12 æã«äž»ã«ããã¯ãšã³ãã®ãšã³ãžãã¢ãšããŠã¡ãã¬ãŒã«å
¥ç€ŸããŸããã å
¥ç€ŸããŠæ¥ãæµ
ãã§ããããã®èšäºãéããŠå°ãã§ãããã«ãªã£ããã¡ãã¬ãŒã«ã€ããŠç¥ã£ãŠããã ãããå¬ããã§ãã ä»åãç§ã¯ãDocker Desktop for Mac ãã OrbStack ãžç§»è¡ãããããžã§ã¯ããæ
åœããŸããã以éãDocker Desktop 㯠Docker Desktop for Mac ãæããŸãã 察象ãããã¯ã: ãžã§ãã¡ãã¬ãŒã®ãµã€ãããŒãž ã瀟å
ãªãã¬ãŒã¿ãŒãå©çšãããµã€ããæœèšã®æ¹ã
ãå©çšãããµã€ããªã©ã æé: 2~3 é±é OrbStack ãšã¯ å
¬åŒ OrbStack ãšã¯ OrbStack is the fast, light, and easy way to run Docker containers and Linux. Develop at lightspeed with our Docker Desktop alternative. (å
¬åŒãµã€ãããåŒçš) OrbStack ã¯ãDocker ã³ã³ããããã³ Linux ãé«éãã€è»œéã«ã容æã«å®è¡ããããã®ããŒã«ã§ãã ãšæžãããŠããŸãã Docker Desktop ã®ä»£æ¿ãšããŠæ³šç®ãããŠããŸãã OrbStack ã®ç¹åŸŽ Docker Desktop ããé«éã§è»œé æ¢åã® Docker ã³ãã³ãã docker-compose ç³»ã®ã³ãã³ããå©çšå¯èœ Docker Desktop ããã®ç§»è¡ã容æ CPU ãã¡ã¢ãªã®äœ¿çšéãæããããæ¢åã® Docker ã³ãã³ããšã®äºææ§ãé«ããããç§»è¡ãéçšã®è² æ
ãå°ãªãç¹ã倧ããªã¡ãªããã§ãã OrbStack ãžç§»è¡ããçç± å€§ããäºç¹ãããŸãã OrbStack ãžç§»è¡ããçç± ãã® 1 ãOrbStack ãš Docker Desktop ã®åçšå©çšã®æéå·®ã OrbStack ã®æé㯠ãã¡ã Docker Desktop ã®æé㯠ãã¡ã ä»ãŸã§ Docker Desktop ã® Docker Team ã®ãã©ã³ã§åçšå©çšããŠããŸããããããããããããããšã«éçºã¡ã³ããŒãå¢å ãã管çã§ããã¢ã«ãŠã³ãæ°ã®äžéãè¶
ããŠããŸãããã«ãªããŸããã Docker Desktop ã®ãã©ã³ã Docker Team ãã Docker Business ã«äžãããš 1 ãŠãŒã¶ãŒãããã®æé¡å©çšæã 15 ãã«ãã 24 ãã«ã«å¢å ããŸãã ãã®ãããããã©ã³ã®ã©ã³ã¯ãäžã€äžã«äžãããorãå¥ã®ããŒã«ã«ç§»è¡ããããšããéžæããããŸããã ããã©ã³ã®ã©ã³ã¯ãäžã€äžã«äžãããã®ãå¯èœã§ã¯ãããŸãããã OrbStack ãžç§»è¡ããçç± ãã® 2 ã«èšèŒãããŠããéãã©ãããç§»è¡é£æåºŠãå·¥æ°ã³ã¹ããäœãããšããããšããã£ãŠããå¥ã®ããŒã«ã«ç§»è¡ãããéžæããšããŸããã ãã®å€æã¯ã¡ãã¬ãŒã®è¡åååã§ãã( Our Essentials )ã®äžã®**ãæ¥ã
ã®å¹çŽãšå€§èãªæè³ã®äž¡ç«ã**ã«é©ã£ãŠããŸãã ç¡é§ãªã³ã¹ããèœãšããã®ãªãèœãšããèœãšããåã ãå¥ã®å€§èãªè¡åã«å©çšããããããã£ãè¡åååã«åºã¥ããåãã§ããã£ãããšæããŸãã éã«ãç§»è¡ã«ããå·¥æ°ã³ã¹ããããªãé«ãã£ãå ŽåãDocker Desktop ã®ãã©ã³ãäžããæ¹éã«ãªã£ãŠããå¯èœæ§ããããŸãã OrbStack ãžç§»è¡ããçç± ãã® 2 ãOrbStack ãžç§»è¡ã容æã ããã°ãªã©ã®åçš®æ
å ±æºã«ãããŠãOrbStack ãžã®ç§»è¡æé ã¯å®¹æã§ããç§»è¡ã«ãããå·¥æ°ãäœãããšãå ±åãããŠããŸãã ä»ããã°ã®äžäŸ: https://qiita.com/shoki-y/items/4b8e48a525062a8ec9ad ãŸãã瀟å
ã®å¥ãããã¯ãã§æ¢ã«ç§»è¡ããå®çžŸããããŸããã 瀟å
ã®å¥ãããã¯ãã®æè¡ã¹ã¿ãã¯ã¯ãä»åã®ç§»è¡å¯Ÿè±¡ãšè¿ãããã®ã§ããã ãã®ããã瀟å
ã®å¥ãããã¯ãã®ç§»è¡ãè¡ãªã£ãæ¹ã«ãã¢ãªã³ã°ããéãç§»è¡ã³ã¹ããå°ããããšãããããŸããã ç§»è¡äœæ¥ã«äŒŽãç°å¢å·®ç°ãããã«äŒŽãå·¥æ°è² æ
ã¯å€§ããªèª²é¡ãšãªããããã§ãããOrbStack ã§ã¯ãããã®è² æ
ãå°ãªãããšã瀟å
ã瀟å€ã®ç¥èŠèª¿æ»ã«ãã£ãŠèŠèŸŒãŸãããããç§»è¡ã決æããã«è³ããŸããã OrbStack ãžã®ç§»è¡æé 1. OrbStack ãã€ã³ã¹ããŒã« ã€ã³ã¹ããŒã«æ¹æ³ã¯ 2 çš®é¡ãããŸãã Homebrew ã䜿ã£ãã€ã³ã¹ããŒã« brew install orbstack 2. å
¬åŒãµã€ã ãã dmg 圢åŒã®ãã¡ã€ã«ãããŠã³ããŒããã 2. OrbStack ã®èµ·å ã€ã³ã¹ããŒã«åŸãFinder ã®ã¢ããªã±ãŒã·ã§ã³ãã OrbStack ã®ã¢ã€ã³ã³ãæ¢ããã¯ãªãã¯ãèµ·åãèµ·ååŸã以äžã®ãããªç»é¢ãåºãŠããŸãã Docker, Kubernetes, Linux ã©ããå©çšããã®ãéžæããŸãã ä»åã¯ãDocker Desktop ãã OrbStack ã«ç§»è¡ããã®ã§ãDocker ãéžæããŸãã Docker ãéžæãããšäžèšã®ãããªãããç»é¢ãåºãŸãã 3. Docker Desktop ãã OrbStack ãžã³ã³ãããã€ã¡ãŒãžã®æ
å ±ãç§»è¡ãã 2 çš®é¡æ¹æ³ããããŸãã ãããç»é¢ã«è¡šç€ºãããŠããâMigrate from Docker Desktopâãã¯ãªãã¯ãã äžéšã¡ãã¥ãŒããâFileâ->âMigrate Docker Dataâãã¯ãªãã¯ãã Docker Desktop äžã®ã³ã³ãããããªã¥ãŒã ãã€ã¡ãŒãžã OrbStack ã«ç§»è¡ãããŸã ïŒ2 ã®ã¡ãã¥ãŒã«ã€ããŠã®ç»é¢ migrate ããåŸãäžèšã®ãããªãããã¢ãããåºãããšããããŸãã å
容ã¯ã¢ã¶ã€ã¯ãã€ããŠããŸãããäžèšã®ãããªãã°ãåºåãããå ŽåããããŸãã container /~: create container: [Docker] No such image: ... ããã¯ãäžéšã®ã³ã³ãããã€ã¡ãŒãžã®ç§»è¡ã«å€±æããŠããããšã瀺ããŠããŸãã ä»åã®ç§»è¡ã«é¢ããŠã¯ãã®ãšã©ãŒã¡ãã»ãŒãžã migrate æã«è§£æ¶ããªããŠãåé¡ãããŸããã§ãããçç±ãšããŠã¯ããšã©ãŒå¯Ÿè±¡ãèªèº«ã§ä»¥åäœæããããŒã¿ãªã©ã migrate ã§ããªãã£ãã®ã¿ã§ãåŸã»ã©ååºŠäœæããã°ããã£ãããã§ãã 4. Docker ã³ã³ããã¹ãæ
å ±ã®ç¢ºèªãšå€æŽ migrate ãå®äºããããâDocker DesktopâãšâOrbStackâã©ã¡ããå©çšã㊠Docker Daemon ã«ã¢ã¯ã»ã¹ããã®ã確èªããå¿
èŠããããŸãã æ¬¡ã®ã³ãã³ãã§ã³ã³ããã¹ãã確èªããŸãã docker context ls åºåäŸ: $ docker context ls NAME DESCRIPTION DOCKER ENDPOINT ERROR default Current DOCKER_HOST based configuration unix:///hogehoge orbstack * OrbStack unix:///hogehoge â*âãä»å©çšããŠããã³ã³ããã¹ãã«ãªããŸã âDocker Desktopâ ãå©çšãããŠããå Žåã¯æ¬¡ã®ã³ãã³ãã§ OrbStack ã«å€æŽããŸãã docker context use orbstack åºåäŸ: % docker context use orbstack orbstack Current context is now "orbstack" 5. Docker ã³ã³ããã®ç«ã¡äžã Docker ã³ã³ãããèµ·åããŠãæ£åžžã«ç§»è¡ã§ããããšã確èªããŸãã å®å
šã«ç§»è¡ãå®äºããã Docker Desktop ãåé€ããŠãåé¡ãªãããšæããŸãã ã³ã³ããã®èµ·åæ¹æ³ã¯åèªã®å©çšç°å¢ã«å¿ããŠæé ãç°ãªããããæ¬çš¿ã§ã¯è©³çްã岿ããŸãã ããããã€ã³ããèŠåŽããç¹ å°ãããã£ããã€ã³ããèŠåŽããç¹ãªã©ãèšèŒããŠããŸãããåèã«ãªãã°å¹žãã§ãã Docker Network åšãã®ãšã©ãŒ Docker Desktop ã§ã³ã³ãããç«ã¡äžããŠãäœæ¥ããŠããå ŽåãDocker Network ãå€ããå°ãªããå©çšãããŠããããšæããŸãã Docker Desktop ã§äœæããŠãã Docker Network ãååšããŠããå ŽåãOrbStack ã§ Docker Network ãäœæããããšãããšåã Docker Network ãäœæããããšã«ãªã£ãŠããŸããããŒã ã®è¢«ããªã©ãçºçããããšããããŸãã ãã®ãããæ¬¡ã®ã³ãã³ãã§ Docker Network ã確èªããŸãã docker network ls äžèŠãªãããã¯ãŒã¯ãååšããŠããå Žåãæ¬¡ã®ã³ãã³ãã§åé€ããŸãã docker network rm Hogehoge ãã«ããã«ãåšãã®ãšã©ãŒ å
ã»ã©èšèŒãã Docker_Network åšãã®ãšã©ãŒ ãšäŒŒããããªãšã©ãŒã«ãªããŸãã Docker Desktop ã§äœææžã¿ã®ãã«ããã«ãç°å¢ã OrbStack ãšç«¶åããå ŽåããããŸãããã®å Žåã¯æ¢åã®ãã«ããã«ãç°å¢ãåé€ããOrbStack ã§æ°èŠã«ãã«ããã«ãç°å¢ãæ§ç¯ããããšã§åé¡ãè§£æ¶ã§ããŸãã ãšã©ãŒå
容 error: Error response from daemon: Conflict. The container name "multibuild" is already in use by container "container_id". You have to remove (or rename ) that container to be able to reuse that name. 次ã®ã³ãã³ãã§ãæ°ãã«ãã«ããã«ããäœæããŠå©çšã§ããŸãã docker buildx rm multibuild docker buildx create --name multibuild_new_type docker buildx use multibuild_new_type ã³ã³ãããšããŒã«ã«ã®ãã¡ã€ã«å·®åãæŽæ°ãããªãåé¡ éåžžã§ããã°ãVolume ãèšå®ããŠããã°ãããŒã«ã«ã§ãã¡ã€ã«ãæ°ãã«äœæããããmv, cp çã®ã³ãã³ãã§ãã¡ã€ã«ãç§»ãããããã¡ã€ã«å
ãæžãæããŠã Docker ã³ã³ããå
ã®ãã¡ã€ã«ãæŽæ°ãããããšæããŸãã ãããä»åãDocker ã³ã³ããå
ã§ãã¡ã€ã«ãæŽæ°ãããªãåé¡ãèµ·ããŠããŸããã ãã¡ãã®åé¡ã¯ãåå 远åã«ããªãèŠåŽããŸããã 調æ»ã®çµæã以åããå©çšããŠãã docker-sync ã OrbStack ãžã®ç§»è¡åŸã« æ£åžžã« åäœããŠããªãããšãããããŸããã docker-sync ãšã¯ãDocker ç°å¢ã§ããŒã«ã«ãšã³ã³ããéã®ãã¡ã€ã«åæãé«éåããããã®ããŒã«ã§ãã åå ã®åãåãã«ã¯èŠåŽããŸããããæ¬¡ã®æé ã§ç¹å®ã§ããŸããã å
è¡ã㊠OrbStack ã«ç§»è¡ããŠããå¥éšçœ²ã®æ¹ãšé£æºãåããäž¡è
ã®ç°å¢ã®éããèããäžã§ docker-sync ã®å©çšã®æç¡ãæãããã ãã¡ã€ã«ã®æŽæ°ãåæ ãããªãåé¡ã§ãã£ãããããã¡ã€ã«åæãæé©åãã docker-sync ãåå ã§ã¯ãªãããšæšæž¬ãã docker-sync ã䜿çšããªãç°å¢ã§æ€èšŒããŠåé¡ã®è§£æ¶ã確èªãã ãã®ãããOrbStack ãžã®ç§»è¡ãæ©ã« docker-sync ã®å©çšããããããšã§ ã³ã³ãããšããŒã«ã«ã®ãã¡ã€ã«å·®åãæŽæ°ãããªãåé¡ã解決ããŸããã ç§»è¡åŸã® OrbStack ã®äœ¿çšæ Docker Desktop ãã UI ãªã©ãã·ã³ãã«ã§ãããæäœã容æã§ãã migrates ããã ãã§ OrbStack ã«ç§»è¡ã§ããæè»œããããã£ãã§ãã åçšå©çšã®æéã Docker Desktop ã®ãã©ã³ããããããå©çšæãæããããã®ã§ãè¯ãããšæããŸãã ãŸãšã OrbStack ç§»è¡ãå®éã«ãã£ãŠã¿ãŠãæã£ãŠãã以äžã«å®¹æã«ç§»è¡ã§ãããšå®æããŸããã ãã¡ãã Docker Desktop ãè¯ãããšæããŸãããé床ãå©çšæãªã©ãå å³ããŠãç§»è¡ã®éžæè¢ãšã㊠OrbStack ãå
¥ã£ãŠããããªæ°ãããŠããŸãã ãŸããOrbStack ãå®éã«äœ¿ã£ãŠã¿ãŠãã ãããå®éã«å©çšããããšã§ãããããšãå€ãåºãŠããããšæããŸãã Weâre hiring ã¡ãã¬ãŒã§ã¯äžç·ã«åã仲éã倧åéããŠããŸãïŒ ã«ãžã¥ã¢ã«é¢è«ã宿œããŠãããŸãã®ã§ãã話ãã ãã§ãèããŠã¿ãã!ã¡ãã£ãšéè«ããŠã¿ãã!ã§ãæ§ããŸããã®ã§ããæ°è»œã«ãåãåãããã ããïŒ åéã®äžèЧ https://www.medley.jp/jobs/ å»çãšã³ãžãã¢ãªã³ã°é åçãäžãã£ãŠããŸãïŒã¡ãã¬ãŒã«ã€ããŠã話ããŸãïŒ https://pitta.me/matches/BtcyDvCvUZtx ã¡ãã¬ãŒã®éçºããŒã ã«ã€ããŠç¥ãããæ¹ïŒãã²ã話ãããŸãããïŒ https://pitta.me/matches/sNeEHMdSLZpB
ã¯ããã« ããã«ã¡ã¯ã人æãã©ãããã©ãŒã æ¬éš 第äžéçºã°ã«ãŒãã®åäº( @Hiroshi_mars )ã§ãã 2024 幎 12 æã«äž»ã«ããã¯ãšã³ãã®ãšã³ãžãã¢ãšããŠã¡ãã¬ãŒã«å
¥ç€ŸããŸããã å
¥ç€ŸããŠæ¥ãæµ
ãã§ããããã®èšäºãéããŠå°ãã§ãããã«ãªã£ããã¡ãã¬ãŒã«ã€ããŠç¥ã£ãŠããã ãããå¬ããã§ãã ä»åãç§ã¯ãDocker Desktop for Mac ãã OrbStack ãžç§»è¡ãããããžã§ã¯ããæ
åœããŸããã以éãDocker Desktop 㯠Docker Desktop for Mac ãæããŸãã 察象ãããã¯ã: ãžã§ãã¡ãã¬ãŒã®ãµã€ãããŒãž ã瀟å
ãªãã¬ãŒã¿ãŒãå©çšãããµã€ããæœèšã®æ¹ã
ãå©çšãããµã€ããªã©ã æé: 2~3 é±é OrbStack ãšã¯ å
¬åŒ OrbStack ãšã¯ OrbStack is the fast, light, and easy way to run Docker containers and Linux. Develop at lightspeed with our Docker Desktop alternative. (å
¬åŒãµã€ãããåŒçš) OrbStack ã¯ãDocker ã³ã³ããããã³ Linux ãé«éãã€è»œéã«ã容æã«å®è¡ããããã®ããŒã«ã§ãã ãšæžãããŠããŸãã Docker Desktop ã®ä»£æ¿ãšããŠæ³šç®ãããŠããŸãã OrbStack ã®ç¹åŸŽ Docker Desktop ããé«éã§è»œé æ¢åã® Docker ã³ãã³ãã docker-compose ç³»ã®ã³ãã³ããå©çšå¯èœ Docker Desktop ããã®ç§»è¡ã容æ CPU ãã¡ã¢ãªã®äœ¿çšéãæããããæ¢åã® Docker ã³ãã³ããšã®äºææ§ãé«ããããç§»è¡ãéçšã®è² æ
ãå°ãªãç¹ã倧ããªã¡ãªããã§ãã OrbStack ãžç§»è¡ããçç± å€§ããäºç¹ãããŸãã OrbStack ãžç§»è¡ããçç± ãã® 1 ãOrbStack ãš Docker Desktop ã®åçšå©çšã®æéå·®ã OrbStack ã®æé㯠ãã¡ã Docker Desktop ã®æé㯠ãã¡ã ä»ãŸã§ Docker Desktop ã® Docker Team ã®ãã©ã³ã§åçšå©çšããŠããŸããããããããããããããšã«éçºã¡ã³ããŒãå¢å ãã管çã§ããã¢ã«ãŠã³ãæ°ã®äžéãè¶
ããŠããŸãããã«ãªããŸããã Docker Desktop ã®ãã©ã³ã Docker Team ãã Docker Business ã«äžãããš 1 ãŠãŒã¶ãŒãããã®æé¡å©çšæã 15 ãã«ãã 24 ãã«ã«å¢å ããŸãã ãã®ãããããã©ã³ã®ã©ã³ã¯ãäžã€äžã«äžãããorãå¥ã®ããŒã«ã«ç§»è¡ããããšããéžæããããŸããã ããã©ã³ã®ã©ã³ã¯ãäžã€äžã«äžãããã®ãå¯èœã§ã¯ãããŸãããã OrbStack ãžç§»è¡ããçç± ãã® 2 ã«èšèŒãããŠããéãã©ãããç§»è¡é£æåºŠãå·¥æ°ã³ã¹ããäœãããšããããšããã£ãŠããå¥ã®ããŒã«ã«ç§»è¡ãããéžæããšããŸããã ãã®å€æã¯ã¡ãã¬ãŒã®è¡åååã§ãã( Our Essentials )ã®äžã®**ãæ¥ã
ã®å¹çŽãšå€§èãªæè³ã®äž¡ç«ã**ã«é©ã£ãŠããŸãã ç¡é§ãªã³ã¹ããèœãšããã®ãªãèœãšããèœãšããåã ãå¥ã®å€§èãªè¡åã«å©çšããããããã£ãè¡åååã«åºã¥ããåãã§ããã£ãããšæããŸãã éã«ãç§»è¡ã«ããå·¥æ°ã³ã¹ããããªãé«ãã£ãå ŽåãDocker Desktop ã®ãã©ã³ãäžããæ¹éã«ãªã£ãŠããå¯èœæ§ããããŸãã OrbStack ãžç§»è¡ããçç± ãã® 2 ãOrbStack ãžç§»è¡ã容æã ããã°ãªã©ã®åçš®æ
å ±æºã«ãããŠãOrbStack ãžã®ç§»è¡æé ã¯å®¹æã§ããç§»è¡ã«ãããå·¥æ°ãäœãããšãå ±åãããŠããŸãã ä»ããã°ã®äžäŸ: https://qiita.com/shoki-y/items/4b8e48a525062a8ec9ad ãŸãã瀟å
ã®å¥ãããã¯ãã§æ¢ã«ç§»è¡ããå®çžŸããããŸããã 瀟å
ã®å¥ãããã¯ãã®æè¡ã¹ã¿ãã¯ã¯ãä»åã®ç§»è¡å¯Ÿè±¡ãšè¿ãããã®ã§ããã ãã®ããã瀟å
ã®å¥ãããã¯ãã®ç§»è¡ãè¡ãªã£ãæ¹ã«ãã¢ãªã³ã°ããéãç§»è¡ã³ã¹ããå°ããããšãããããŸããã ç§»è¡äœæ¥ã«äŒŽãç°å¢å·®ç°ãããã«äŒŽãå·¥æ°è² æ
ã¯å€§ããªèª²é¡ãšãªããããã§ãããOrbStack ã§ã¯ãããã®è² æ
ãå°ãªãããšã瀟å
ã瀟å€ã®ç¥èŠèª¿æ»ã«ãã£ãŠèŠèŸŒãŸãããããç§»è¡ã決æããã«è³ããŸããã OrbStack ãžã®ç§»è¡æé 1. OrbStack ãã€ã³ã¹ããŒã« ã€ã³ã¹ããŒã«æ¹æ³ã¯ 2 çš®é¡ãããŸãã Homebrew ã䜿ã£ãã€ã³ã¹ããŒã« brew install orbstack 2. å
¬åŒãµã€ã ãã dmg 圢åŒã®ãã¡ã€ã«ãããŠã³ããŒããã 2. OrbStack ã®èµ·å ã€ã³ã¹ããŒã«åŸãFinder ã®ã¢ããªã±ãŒã·ã§ã³ãã OrbStack ã®ã¢ã€ã³ã³ãæ¢ããã¯ãªãã¯ãèµ·åãèµ·ååŸã以äžã®ãããªç»é¢ãåºãŠããŸãã Docker, Kubernetes, Linux ã©ããå©çšããã®ãéžæããŸãã ä»åã¯ãDocker Desktop ãã OrbStack ã«ç§»è¡ããã®ã§ãDocker ãéžæããŸãã Docker ãéžæãããšäžèšã®ãããªãããç»é¢ãåºãŸãã 3. Docker Desktop ãã OrbStack ãžã³ã³ãããã€ã¡ãŒãžã®æ
å ±ãç§»è¡ãã 2 çš®é¡æ¹æ³ããããŸãã ãããç»é¢ã«è¡šç€ºãããŠããâMigrate from Docker Desktopâãã¯ãªãã¯ãã äžéšã¡ãã¥ãŒããâFileâ->âMigrate Docker Dataâãã¯ãªãã¯ãã Docker Desktop äžã®ã³ã³ãããããªã¥ãŒã ãã€ã¡ãŒãžã OrbStack ã«ç§»è¡ãããŸã ïŒ2 ã®ã¡ãã¥ãŒã«ã€ããŠã®ç»é¢ migrate ããåŸãäžèšã®ãããªãããã¢ãããåºãããšããããŸãã å
容ã¯ã¢ã¶ã€ã¯ãã€ããŠããŸãããäžèšã®ãããªãã°ãåºåãããå ŽåããããŸãã container /~: create container: [Docker] No such image: ... ããã¯ãäžéšã®ã³ã³ãããã€ã¡ãŒãžã®ç§»è¡ã«å€±æããŠããããšã瀺ããŠããŸãã ä»åã®ç§»è¡ã«é¢ããŠã¯ãã®ãšã©ãŒã¡ãã»ãŒãžã migrate æã«è§£æ¶ããªããŠãåé¡ãããŸããã§ãããçç±ãšããŠã¯ããšã©ãŒå¯Ÿè±¡ãèªèº«ã§ä»¥åäœæããããŒã¿ãªã©ã migrate ã§ããªãã£ãã®ã¿ã§ãåŸã»ã©ååºŠäœæããã°ããã£ãããã§ãã 4. Docker ã³ã³ããã¹ãæ
å ±ã®ç¢ºèªãšå€æŽ migrate ãå®äºããããâDocker DesktopâãšâOrbStackâã©ã¡ããå©çšã㊠Docker Daemon ã«ã¢ã¯ã»ã¹ããã®ã確èªããå¿
èŠããããŸãã æ¬¡ã®ã³ãã³ãã§ã³ã³ããã¹ãã確èªããŸãã docker context ls åºåäŸ: $ docker context ls NAME DESCRIPTION DOCKER ENDPOINT ERROR default Current DOCKER_HOST based configuration unix:///hogehoge orbstack * OrbStack unix:///hogehoge â*âãä»å©çšããŠããã³ã³ããã¹ãã«ãªããŸã âDocker Desktopâ ãå©çšãããŠããå Žåã¯æ¬¡ã®ã³ãã³ãã§ OrbStack ã«å€æŽããŸãã docker context use orbstack åºåäŸ: % docker context use orbstack orbstack Current context is now "orbstack" 5. Docker ã³ã³ããã®ç«ã¡äžã Docker ã³ã³ãããèµ·åããŠãæ£åžžã«ç§»è¡ã§ããããšã確èªããŸãã å®å
šã«ç§»è¡ãå®äºããã Docker Desktop ãåé€ããŠãåé¡ãªãããšæããŸãã ã³ã³ããã®èµ·åæ¹æ³ã¯åèªã®å©çšç°å¢ã«å¿ããŠæé ãç°ãªããããæ¬çš¿ã§ã¯è©³çްã岿ããŸãã ããããã€ã³ããèŠåŽããç¹ å°ãããã£ããã€ã³ããèŠåŽããç¹ãªã©ãèšèŒããŠããŸãããåèã«ãªãã°å¹žãã§ãã Docker Network åšãã®ãšã©ãŒ Docker Desktop ã§ã³ã³ãããç«ã¡äžããŠãäœæ¥ããŠããå ŽåãDocker Network ãå€ããå°ãªããå©çšãããŠããããšæããŸãã Docker Desktop ã§äœæããŠãã Docker Network ãååšããŠããå ŽåãOrbStack ã§ Docker Network ãäœæããããšãããšåã Docker Network ãäœæããããšã«ãªã£ãŠããŸããããŒã ã®è¢«ããªã©ãçºçããããšããããŸãã ãã®ãããæ¬¡ã®ã³ãã³ãã§ Docker Network ã確èªããŸãã docker network ls äžèŠãªãããã¯ãŒã¯ãååšããŠããå Žåãæ¬¡ã®ã³ãã³ãã§åé€ããŸãã docker network rm Hogehoge ãã«ããã«ãåšãã®ãšã©ãŒ å
ã»ã©èšèŒãã Docker_Network åšãã®ãšã©ãŒ ãšäŒŒããããªãšã©ãŒã«ãªããŸãã Docker Desktop ã§äœææžã¿ã®ãã«ããã«ãç°å¢ã OrbStack ãšç«¶åããå ŽåããããŸãããã®å Žåã¯æ¢åã®ãã«ããã«ãç°å¢ãåé€ããOrbStack ã§æ°èŠã«ãã«ããã«ãç°å¢ãæ§ç¯ããããšã§åé¡ãè§£æ¶ã§ããŸãã ãšã©ãŒå
容 error: Error response from daemon: Conflict. The container name "multibuild" is already in use by container "container_id". You have to remove (or rename ) that container to be able to reuse that name. 次ã®ã³ãã³ãã§ãæ°ãã«ãã«ããã«ããäœæããŠå©çšã§ããŸãã docker buildx rm multibuild docker buildx create --name multibuild_new_type docker buildx use multibuild_new_type ã³ã³ãããšããŒã«ã«ã®ãã¡ã€ã«å·®åãæŽæ°ãããªãåé¡ éåžžã§ããã°ãVolume ãèšå®ããŠããã°ãããŒã«ã«ã§ãã¡ã€ã«ãæ°ãã«äœæããããmv, cp çã®ã³ãã³ãã§ãã¡ã€ã«ãç§»ãããããã¡ã€ã«å
ãæžãæããŠã Docker ã³ã³ããå
ã®ãã¡ã€ã«ãæŽæ°ãããããšæããŸãã ãããä»åãDocker ã³ã³ããå
ã§ãã¡ã€ã«ãæŽæ°ãããªãåé¡ãèµ·ããŠããŸããã ãã¡ãã®åé¡ã¯ãåå 远åã«ããªãèŠåŽããŸããã 調æ»ã®çµæã以åããå©çšããŠãã docker-sync ã OrbStack ãžã®ç§»è¡åŸã« æ£åžžã« åäœããŠããªãããšãããããŸããã docker-sync ãšã¯ãDocker ç°å¢ã§ããŒã«ã«ãšã³ã³ããéã®ãã¡ã€ã«åæãé«éåããããã®ããŒã«ã§ãã åå ã®åãåãã«ã¯èŠåŽããŸããããæ¬¡ã®æé ã§ç¹å®ã§ããŸããã å
è¡ã㊠OrbStack ã«ç§»è¡ããŠããå¥éšçœ²ã®æ¹ãšé£æºãåããäž¡è
ã®ç°å¢ã®éããèããäžã§ docker-sync ã®å©çšã®æç¡ãæãããã ãã¡ã€ã«ã®æŽæ°ãåæ ãããªãåé¡ã§ãã£ãããããã¡ã€ã«åæãæé©åãã docker-sync ãåå ã§ã¯ãªãããšæšæž¬ãã docker-sync ã䜿çšããªãç°å¢ã§æ€èšŒããŠåé¡ã®è§£æ¶ã確èªãã ãã®ãããOrbStack ãžã®ç§»è¡ãæ©ã« docker-sync ã®å©çšããããããšã§ ã³ã³ãããšããŒã«ã«ã®ãã¡ã€ã«å·®åãæŽæ°ãããªãåé¡ã解決ããŸããã ç§»è¡åŸã® OrbStack ã®äœ¿çšæ Docker Desktop ãã UI ãªã©ãã·ã³ãã«ã§ãããæäœã容æã§ãã migrates ããã ãã§ OrbStack ã«ç§»è¡ã§ããæè»œããããã£ãã§ãã åçšå©çšã®æéã Docker Desktop ã®ãã©ã³ããããããå©çšæãæããããã®ã§ãè¯ãããšæããŸãã ãŸãšã OrbStack ç§»è¡ãå®éã«ãã£ãŠã¿ãŠãæã£ãŠãã以äžã«å®¹æã«ç§»è¡ã§ãããšå®æããŸããã ãã¡ãã Docker Desktop ãè¯ãããšæããŸãããé床ãå©çšæãªã©ãå å³ããŠãç§»è¡ã®éžæè¢ãšã㊠OrbStack ãå
¥ã£ãŠããããªæ°ãããŠããŸãã ãŸããOrbStack ãå®éã«äœ¿ã£ãŠã¿ãŠãã ãããå®éã«å©çšããããšã§ãããããšãå€ãåºãŠããããšæããŸãã Weâre hiring ã¡ãã¬ãŒã§ã¯äžç·ã«åã仲éã倧åéããŠããŸãïŒ ã«ãžã¥ã¢ã«é¢è«ã宿œããŠãããŸãã®ã§ãã話ãã ãã§ãèããŠã¿ãã!ã¡ãã£ãšéè«ããŠã¿ãã!ã§ãæ§ããŸããã®ã§ããæ°è»œã«ãåãåãããã ããïŒ åéã®äžèЧ https://www.medley.jp/jobs/ å»çãšã³ãžãã¢ãªã³ã°é åçãäžãã£ãŠããŸãïŒã¡ãã¬ãŒã«ã€ããŠã話ããŸãïŒ https://pitta.me/matches/BtcyDvCvUZtx ã¡ãã¬ãŒã®éçºããŒã ã«ã€ããŠç¥ãããæ¹ïŒãã²ã話ãããŸãããïŒ https://pitta.me/matches/sNeEHMdSLZpB
ããã«ã¡ã¯ã Jobley ã§ãšã³ãžãã¢ãããŠããæ°å±
ã§ãã ã¡ãã¬ãŒã§ã¯ 2022 幎 7 æããçŸåšãŸã§çŽ 2 幎åãããã¯ããã°ãã²ãšæã« 1 èšäºä»¥äžã®ãªãºã ã§å
¬éãç¶ããŠããŸããã ãã®èšäºã§ã¯äŒæ¥ã®ããã¯ããã°ãäžå®ã®ãªãºã ã§ç¶ç¶éå¶ããæ¹æ³ããã¡ãã¬ãŒã®äºäŸã«æ²¿ã£ãŠç޹ä»ããŸããããã¯ããã°ãç¶ç¶éå¶ããããšã«ãå°ãã®æ¹ã®æå©ãã«ãªãã°å¹žãã§ãã ã¡ãã¬ãŒã®ããã¯ããã°ã®ãããããŒãž ããã¯ããã°éå¶ã«ãŸã€ããèª²é¡ ããã¯ããã°éå¶ã§æãé£ããããšã¯ãç¶ç¶çã«èšäºãå·çãå
¬éãç¶ããããšã ãšæããŸãã éå»ãæ¯ãè¿ããšãä»å玹ä»ããæ¹æ³ããšãåããã³ã³ã¹ã¿ã³ãã«èšäºãå
¬éããŠããŸãããããããèšäºãå®å®äŸçµŠã§ããäœå¶ã§ã¯ãããŸããã§ããã å
·äœçã«ã¯ã瀟å
å匷äŒã§çºè¡šããå
容ãããã¯ããã°ã«ãæžããŠãããéçšãããŠããææããããå匷äŒã®æºåãšããã¯ããã°ã®å·çã®äž¡æ¹ãæ¥åãšäžŠè¡ããŠè¡ãããšã¯ãå·çè
ã«ãšã£ãŠçžåœãªè² è·ãšãªã£ãŠããŸãããå·çè
ã®æ¥åãå¿ãããªããå
¬éãæ»ããšãããããŸããã ãã¡ããæå¿ã§å·çããŠãããã±ãŒã¹ãå€ã
ãããŸãããããã®ãããªè² è·ã®é«ãã«ãŒã«ã«é Œãéå¶ã¯èŠãããé·ãç¶ããŸããã§ããã ããã§ãã¡ãã¬ãŒã§ã¯ãæ¡çšæŽ»åã®äžç°ãšããŠç€Ÿå€ã®ãšã³ãžãã¢ããã¶ã€ããŒããããã¯ãéçºã«é¢ããæ¹ã
ã«ã¡ãã¬ãŒã®ããšãç¥ã£ãŠããã ããããšããç®çããããã©ãã«ãããã¯ããã°ãç¶ç¶ã§ããæ¹æ³ã暡玢ããŠããŸããã ããã¯ããã°ãç¶ç¶éå¶ããããã®åãçµã¿ ããããã¯ãäžèšã®èª²é¡ãæ¹åããã¡ãã¬ãŒã§çŽ 2 幎åç¶ç¶ããŠããããã¯ããã°éå¶ã®æ¹æ³ã玹ä»ããŸãã ã¡ãã¬ãŒã§ã¯ãããã¯ããã°éå¶å§å¡äŒãèšç«ããçµç¹çã«éå¶ãããšããã¢ãããŒãããšã£ãŠããŸãã å
·äœçã«ã©ã®ããã«éå¶ããŠããã®ãã以äžã®é ã«ç޹ä»ããŠãããŸãã éå¶å§å¡äŒã®ã¡ã³ããŒæ§æ éå¶å§å¡äŒã®æŽ»å å·çæšé²ã®æµã éå¶å§å¡äŒã® KPI 倧åã«ããŠããããš éå¶å§å¡äŒã®ã¡ã³ããŒæ§æ ãŸãã¯ã¡ã³ããŒæ§æã«ã€ããŠã§ãã ãªãŒããŒïŒå¿
é ïŒ ããã¯ããã°ãéå¶äœå¶ã®ããžã§ã³ã瀺ãã®ãäž»ãªåœ¹ç® **äŒç€Ÿã®ãã©ã³ãã£ã³ã°æŠç¥ãæ¡çšåŒ·åäžã®è·çš®ã»ããžã·ã§ã³ãçè§£ããå
¬éããèšäºã®æ¹åæ§ãå質ãã³ã³ãããŒã«ããå¿
èŠãããããã**äŒç€Ÿã®æææ±ºå®è
ïŒ CTO ããããŒãžã£ãŒé£ããŸãæ¡çšããŒã ãªã©ïŒãšå¯ã«é£æºãåãã人ãè¯ã ã³ãŒãã£ããŒã¿ãŒïŒå¿
é ïŒ èšäºå·çæšé²ãå®äŸã®ãã¡ã·ãªããŒã·ã§ã³ãè°äºé²ã®å
±æãäž»ãªåœ¹ç® èšäºãã¿ã®åéãå·çäŸé Œãåæ»ã«é²è¡ãããããåäºæ¥ããã³ãŒãã£ããŒã¿ãŒãéžåºããããšããã€ã³ã ã¡ãã¬ãŒã§ã¯äººæãã©ãããã©ãŒã äºæ¥ãšå»çãã©ãããã©ãŒã äºæ¥ã® 2 äºæ¥ããããããã 1 åãã€ãšã³ãžãã¢ãéžåºããŠãã ã¢ããã€ã¶ãŒïŒä»»æïŒ èšäºãã¿ã®ææ¡ãéå¶äœå¶ã®æ¹åãªã©ãäž»ãªåœ¹ç® æ¡çšæŽ»åã«å¯Ÿããè§£å床ãé«ã人ãäŒç€Ÿå
šäœãåºãèŠãŠãã人ã«ååããŠããããšèšäºãã¿ã®åéåãé«ãŸããããé©åã«å·»ã蟌ãã§ãããšè¯ã ã¡ãã¬ãŒã§ã¯æ¡çšããŒã ã®äººã CTO 宀æå±ã®äººã«ã¢ããã€ã¶ãŒãšããŠåå ããŠããã£ãŠãã çŸåšã¡ãã¬ãŒã§ã¯ãªãŒã㌠1 åãã³ãŒãã£ããŒã¿ãŒ 2 åãã¢ããã€ã¶ãŒ 3 åã®èš 6 åã§éå¶å§å¡äŒãæ§æããŠããŸããåã¡ã³ããŒã¯éå¶å§å¡äŒãšã¯å¥ã«ã¡ã€ã³ã®æ¥åãæã¡ãªãããå
Œä»»ã§æŽ»åããŠããŸãã ãã®äœå¶ã«ãããçµç¹å
šäœãçžŠãšæšªã«å¹
åºãã«ããŒã§ããããã¯ããã°ã®éå¶ãå¹ççã«é²ããããšãã§ããŠããŸãã ç¹ã«ã³ãŒãã£ããŒã¿ãŒã«ã€ããŠã¯ãåäºæ¥ããæäœ 1 åãéžåºããããšã§ãããããã®äºæ¥å
ã§è¡ãããæœçãæŽ»åãææ¡ãããããªããçµç¹èŠæš¡ã®æ¡å€§ã«ã察å¿ãããããªããŸãã ç¶ç¶çãªéå¶ãå®çŸããããã«ã¯ãæ¥åã®è² æ
ãç¹å®ã®äºæ¥ã«åããªããããªäœå¶ãæŽããããšã倧åã§ãã ããŒã ã§ååããŠæŽ»åããããšã§ãå人ã«äŸåããªãä»çµã¿ãç¯ãããšãã§ããçªçºçãªåé¡ã課é¡ãçºçããŠããã¡ã³ããŒå
šå¡ã§ååããŠè§£æ±ºã§ããŸãã éå¶å§å¡äŒã®æŽ»å ç¶ããŠãéå¶å§å¡äŒã®äžã§ãã£ãŠãããšã«ã€ããŠã§ããå®äŸãæ¯ãè¿ããå·çæšé²ãäž»ã«ãªããŸãã å®äŸ éé±ã§éå¬ ã¢ãžã§ã³ãã¯ååæ±ºãããã¯ã¹ãã¢ã¯ã·ã§ã³ã®ç¶æ³å
±æãå·çç¶æ³ã®å
±æã次æä»¥éã®èšäºæ¡ã®æ€èšããã®ä»è°è«å
±æ ããã§ã®ãã€ã³ããšããŠãã¹ã±ãžã¥ãŒã«ãéç®ããŠæ¬¡ã®èšäºæ¡ãå¿
ãæ±ºããããšãè¶
éèŠïŒæ±ºãŸããªããŸãŸçµãããªãïŒ äŸãã°ãèšäºãæ¥æã®æçµå¶æ¥æ¥ã«å
¬éããå Žåãé
ããšã仿ã®äžæ¬ã«ã¯èšäºæ¡ã確å®ãå·çè
ãžã®åæããšããŠãç¶æ
ã«ãªã£ãŠãå¿
èŠãããã®ã§ãã¹ã±ãžã¥ãŒã«ãéç®ããŠæ¬¡ã®èšäºæ¡ãå¿
ãæ±ºãã æ¯ãè¿ã 幎 1 åã§å®æœ ä»å¹ŽåºŠãæ¯ãè¿ããæ¬¡å¹ŽåºŠã®ç¶ç¶ã¢ã¯ã·ã§ã³ã»æ¹åã¢ã¯ã·ã§ã³ã決ãã çŽè¿ã®æ¯ãè¿ãã§ã¯ãæè¡ç³»èšäºã®æ°ãå¢ãããããšã«ãã PV æ°ã®å¢å ããã«ãžã¥ã¢ã«é¢è«ã®å Žã§ããã¯ããã°ã®è©±é¡ã«ãªãããšã§é¢è«ããããããªã£ããšããææã確èªã§ããç¶ç¶ã¢ã¯ã·ã§ã³ã®ã²ãšã€ãšããããšã決å®ã§ãã å·çæšé² 以äžã§è©³çްã«èª¬æ å·çæšé²ã®æµã ç¶ããŠãå·çæšé²ã®æµãã詳ãã玹ä»ããŸãã å
šäœã®æµãã¯å³ã®éãã§ãStep 1 ãã Step 3 ãŸã§ã®æµãã§èšäºãäœæããŠãããŸãã æé軞ãšããŠã¯ãStep 1 ã§èšäºã®å·çäŸé ŒãçµããåŸãStep 2 ã 3 ~ 4 é±éãããã§ãStep 3 ã 2 é±éãããã§å®äºãããèšäºãå
¬éãããšããæãã§é²ããŠããŸãã èšäºå·çã®æµã ã§ã¯ãStep 1 ããé ã«èª¬æããŠãããŸãã Step 1 1. èšäºæ¡ã®éžå®ãšæ±ºå® æ
åœ: éå¶å§å¡äŒ å®äŸã§èšäºæ¡ã決å®ãã åŸè¿°ããé åºãã®ãšãã« NG ãåºãå Žåã«åããŠåè£ãããã€ãçšæããŠãã èšäºæ¡ã®ã«ããŽãª æè¡ç³»èšäºïŒã¡ãã¬ãŒãªãã§ã¯ã®å¶çŽãå°ã£ããã€ã³ããªã©ãããã°ãããããæç¢ºã«ããïŒ äŸ: ãã€ã«ã®åæžããæ
å ±æŒæŽ©ãªã¹ã¯ã®åæžããäž¡æ¹æã«å
¥ãããIAM Identity Center ã¯æ¬²åŒµããªãã ã ã€ã³ã¿ãã¥ãŒèšäº äŸ: FY22 æ°åå
¥ç€Ÿãšã³ãžãã¢ã¯ãã® 1 幎ã§ã©ã®ãããªæé·ãããŠããã®ãã€ã³ã¿ãã¥ãŒããŸãã ã€ãã³ãåå èšäº äŸ: pmconf 2024 ã«ãŽãŒã«ãã¹ãã³ãµãŒãšããŠåè³ããŸããïŒ etc 2. èšäºæ¡ã®é åºã æ
åœ: ã³ãŒãã£ããŒã¿ãŒ å·çå®äºåŸã« NG ã«ãªãã®ãé²ããããå
ã« CTO ãžé åºããè¡ã å®äŸã®è°äºé²å
±æãšåããã圢ã§ãæ¥æã¯ãã®èšäºã§é²ããäºå®ã§ããããšãå
±æãã 3. å·çã®äºåäŸé Œ æ
åœ: ã³ãŒãã£ããŒã¿ãŒ çªç¶å·çãäŸé ŒããŠé©ãããªãããã«ãå·çãæ£åŒäŸé Œããåã«å·çè
ã«äŸé Œã®é åºããããŠãã 4. å·çã®æ£åŒäŸé Œ æ
åœ: ã³ãŒãã£ããŒã¿ãŒ å·çã¯æ¥åãšåãæ±ããªã®ã§ãSlack ã®ãããªãã¯ãªãã£ã³ãã«ã§ãã¡ã³ã·ã§ã³ã« CTO ãå·çè
ã®äžé·ãªã©é¢ä¿è
ãå«ã¿ãå·çãæ£åŒã«äŸé Œãã Step 2 5. ã¹ã±ãžã¥ãŒã«ã®äœæ æ
åœ: ã³ãŒãã£ããŒã¿ãŒ å·çãåçš¿æåºãã¬ãã¥ãŒãæçµã¬ãã¥ãŒãŸã§ã®æµããã«ã¬ã³ããŒã«èœãšã蟌ã¿ãé¢ä¿è
ã«å
±æãã ç· åãæç¢ºã«ãã€ã€ãéåžžæ¥åã®åéã§ãæåŸãŸã§å·çäœæ¥ãèµ°ããããããããã£ããã³ãŒãã£ããŒã¿ãŒãé²æç¢ºèªãªã©ãã€ã€ãã©ããŒãã 6. å·çç°å¢ã®æ§ç¯ æ
åœ: ã³ãŒãã£ããŒã¿ãŒ GitHub ã§èšäºã管çããŠããã®ã§ãèšäºã®ããŒã¹ãã¡ã€ã«ãäœæããIssue ãš Pull Request ãçšæãã å·çè
ã®è² æ
ããªãã¹ãæžãããèšäºå·çã®ã¿ã«éäžããŠããããããã«ãã 7. èšäºæ§ææ¡ã®äœæ æ
åœ: å·çè
ããå·çãããïŒãšããæ°æã¡ãæããããããããèšäºæ§æãšãªããããå
ã«èšäºã®æ§ææ¡ïŒç« ç«ãŠãšåç« ã®æŠèŠïŒãäœã骚åãåºããïŒã³ãŒãã£ããŒã¿ãŒã壿ã¡ãªã©ãµããŒãïŒ 8. å·ç æ
åœ: å·çè
äœæããèšäºæ§ææ¡ãããŒã¹ã«ããŠå·çãã Step 3 9. éå¶ã¬ãã¥ãŒ æ
åœ: éå¶å§å¡äŒããã®ä»é¢ä¿è
ïŒå·çè
ã®äžé·ãªã©ïŒ 誀åè±åã®åºæ¬çãªç¢ºèªã«å ããèšäºãããè¯ãããããã®ææ¡ãè¡ã åŸç¶ã®æçµã¬ãã¥ãŒã®è² æ
ãæžããããã«ãããã§ã§ããéãèšäºãå
¬éå¯èœãªç¶æ
ãŸã§æã£ãŠãã 10. æçµã¬ãã¥ãŒ æ
åœ: åºå ±ããŒã ãCTO åºå ±ããŒã ã«ã¯åºå ±èŠç¹ã§åé¡ãªããã確èªããŠããããCTO ã«ã¯ç¶²çŸ
çãªèŠç¹ã§åé¡ãªãããæçµç¢ºèªããŠããã ããã§èšäºãå
¬éå¯èœãªç¶æ
ã«ä»äžãã 11. å
¬é æ
åœ: ã³ãŒãã£ããŒã¿ãŒãå·çè
ãåºå ±ããŒã èšäºãå
¬éãã瀟å
å€ã«å
±æãã ã¡ãã¬ãŒã®å
¬åŒ X ã¢ã«ãŠã³ã ã§ãçºä¿¡ããŠããã®ã§ããã©ããŒãããããé¡ãããŸã éå¶å§å¡äŒã® KPI ç¶ããŠãéå¶å§å¡äŒã§èšå®ããŠãã KPI ã«ã€ããŠã§ãã KPI ã¯ã·ã³ãã«ã«ãã²ãšæã«æäœ 1 èšäºä»¥äžãå
¬éããããš ãŸãã¯ç¶ç¶ããããšã倧äºãªã®ã§ãæåã¯ã·ã³ãã«ãª KPI ã«ããŠããããšããã KPI ãå¢ãããªãç¶ç¶ã§ããäœå¶ãæŽã£ãŠãã 倧åã«ããŠããããš æåŸã«ããããŸã§ã§å€ªåã§åŒ·èª¿ãããã€ã³ã以å€ã«ãéå¶äžç¹ã«å€§å㪠2 ç¹ã玹ä»ããŸãã ããã¯ããã°ãããç®çãæç¢ºã«ãã äœãããã«ããŠãç®çãå®ããŠå
±éèªèãšããŠæã€ããšã¯å€§åã§ãããããã¯ããã°ã®éå¶ãåæ§ã«ç®çãæç¢ºã«ããŠãã¬ãªãããã«ãã ã¡ãã¬ãŒã§ã¯æ¡çšã«ç¹ããããšãç®çãšããŠãããããã¯ããã°ãéããŠç€Ÿå€ã®æ¹ã
ã«ã¡ãã¬ãŒããšãç¥ã£ãŠããã ããè§£å床ãäžããŠããããããã«åªããŠãã ç®çãæç¢ºã ãšèšäºæ¡ã®æ€èšã«ã軞ãã§ããäŸãã°ãããã¯ããããŒãžã£ãŒã®æ¡çšã匷åããŠããªããããã¯ããããŒãžã£ãŒåãã®èšäºãçšæããããšããåããã§ãã å·çã¯æ¥åã§ããããšãæç¢ºã«ãã èšäºå·çã«ãããŠè»œèŠãããã¡ãªå°è±¡ã§ãå·çãæ¥åã§ããããšãåœããåã®ããã§åœããåã«ãªã£ãŠãªãã£ãããã éåžžæ¥åãšã®å
Œãåãã¯å¿
èŠã«ãªãããæ¥åã§ãããšããããšã¯ã€ã³ãŒã«æ¥åäžã«æéã確ä¿ããŠåãçµãã¹ãããšã§ãã ããããããããµãã£ãšããŠãããšæ¥åäžã«å·çãèŸããªããå·çãããã€ã³ãããŠå
¬éãé
ããå¯èœæ§ãé«ããªã ã¡ãã¬ãŒã§ã¯éå¶å§å¡äŒã®çºè¶³æã« CTO ããå·çã¯æ¥åãšããŠãã£ããåãçµãã§æ¬²ãããšãã話ãããããã®æèãå«ãã§éå¶ãªãã¬ãŒã·ã§ã³ãæ§ç¯ããŠããèæ¯ããã äŸãã°å·çäŸé Œãå·çè
ã®äžé·ãå«ããŠè¡ã£ãããçãèŠããå Žæã§äŸé Œãªã©ã®ã³ãã¥ãã±ãŒã·ã§ã³ããšã£ãããå
¬éãŸã§ã®ã¹ã±ãžã¥ãŒã«ã现ããåŒããŠéçºãããžã§ã¯ããšåãããã«é²ããã ãããã« ã¡ãã¬ãŒãçŽ 2 幎åç¶ç¶ããŠããããã¯ããã°éå¶ã®æ¹æ³ã玹ä»ããŸããã ãªãŒããŒãšã³ãŒãã£ããŒã¿ãŒãäžå¿ãšããéå¶å§å¡äŒã«ãããçµç¹å
šäœãçžŠãšæšªã«å¹
åºãã«ããŒããéçºãããžã§ã¯ããšåãããã«é¢ä¿è
ãšã®èª¿æŽãã¹ã±ãžã¥ãŒãªã³ã°ãè¡ããéå¶ã«ãå·çè
ã«ãè² æ
ãéäžããªãç¡çã®ãªãäœå¶ãç¯ãããšã«ãããããã¯ããã°ãç¶ç¶éå¶ããŠããŸãã äŒç€Ÿã®èŠæš¡ããã§ãŒãºã«ãã£ãŠã¯ãã®ãŸãŸåãå
¥ããã®ã¯é£ãããããããŸããããšãã»ã³ã¹ã ããæœåºããŠäŒç€Ÿã®ã¹ã¿ã€ã«ã颚åã«åã圢ã«ã«ã¹ã¿ãã€ãºãããããã ã«éå¶ãå§ããŠæšé²ããŠããã®ãè¯ããããããŸããã ä»åã®èšäºããããã¯ããã°ãç¶ç¶éå¶ããããšã«ãå°ãã®æ¹ã®åèã«ãªãã°å¹žãã§ãã Weâre hiring ã¡ãã¬ãŒã§ã¯äžç·ã«åã仲éã倧åéããŠããŸããã«ãžã¥ã¢ã«é¢è«ã宿œããŠãããŸãã®ã§ãå°ãã§ããèå³ã®ããæ¹ã¯ãã²ãå¿åãåŸ
ã¡ããŠãããŸãã åéã®äžèЧ | æ ªåŒäŒç€Ÿã¡ãã¬ãŒ ã¡ãã¬ãŒã®æ¡çšæ
å ±ã¯ãã¡ãããã確èªãã ããã www.medley.jp
ããã«ã¡ã¯ã Jobley ã§ãšã³ãžãã¢ãããŠããæ°å±
ã§ãã ã¡ãã¬ãŒã§ã¯ 2022 幎 7 æããçŸåšãŸã§çŽ 2 幎åãããã¯ããã°ãã²ãšæã« 1 èšäºä»¥äžã®ãªãºã ã§å
¬éãç¶ããŠããŸããã ãã®èšäºã§ã¯äŒæ¥ã®ããã¯ããã°ãäžå®ã®ãªãºã ã§ç¶ç¶éå¶ããæ¹æ³ããã¡ãã¬ãŒã®äºäŸã«æ²¿ã£ãŠç޹ä»ããŸããããã¯ããã°ãç¶ç¶éå¶ããããšã«ãå°ãã®æ¹ã®æå©ãã«ãªãã°å¹žãã§ãã ã¡ãã¬ãŒã®ããã¯ããã°ã®ãããããŒãž ããã¯ããã°éå¶ã«ãŸã€ããèª²é¡ ããã¯ããã°éå¶ã§æãé£ããããšã¯ãç¶ç¶çã«èšäºãå·çãå
¬éãç¶ããããšã ãšæããŸãã éå»ãæ¯ãè¿ããšãä»å玹ä»ããæ¹æ³ããšãåããã³ã³ã¹ã¿ã³ãã«èšäºãå
¬éããŠããŸãããããããèšäºãå®å®äŸçµŠã§ããäœå¶ã§ã¯ãããŸããã§ããã å
·äœçã«ã¯ã瀟å
å匷äŒã§çºè¡šããå
容ãããã¯ããã°ã«ãæžããŠãããéçšãããŠããææããããå匷äŒã®æºåãšããã¯ããã°ã®å·çã®äž¡æ¹ãæ¥åãšäžŠè¡ããŠè¡ãããšã¯ãå·çè
ã«ãšã£ãŠçžåœãªè² è·ãšãªã£ãŠããŸãããå·çè
ã®æ¥åãå¿ãããªããå
¬éãæ»ããšãããããŸããã ãã¡ããæå¿ã§å·çããŠãããã±ãŒã¹ãå€ã
ãããŸãããããã®ãããªè² è·ã®é«ãã«ãŒã«ã«é Œãéå¶ã¯èŠãããé·ãç¶ããŸããã§ããã ããã§ãã¡ãã¬ãŒã§ã¯ãæ¡çšæŽ»åã®äžç°ãšããŠç€Ÿå€ã®ãšã³ãžãã¢ããã¶ã€ããŒããããã¯ãéçºã«é¢ããæ¹ã
ã«ã¡ãã¬ãŒã®ããšãç¥ã£ãŠããã ããããšããç®çããããã©ãã«ãããã¯ããã°ãç¶ç¶ã§ããæ¹æ³ã暡玢ããŠããŸããã ããã¯ããã°ãç¶ç¶éå¶ããããã®åãçµã¿ ããããã¯ãäžèšã®èª²é¡ãæ¹åããã¡ãã¬ãŒã§çŽ 2 幎åç¶ç¶ããŠããããã¯ããã°éå¶ã®æ¹æ³ã玹ä»ããŸãã ã¡ãã¬ãŒã§ã¯ãããã¯ããã°éå¶å§å¡äŒãèšç«ããçµç¹çã«éå¶ãããšããã¢ãããŒãããšã£ãŠããŸãã å
·äœçã«ã©ã®ããã«éå¶ããŠããã®ãã以äžã®é ã«ç޹ä»ããŠãããŸãã éå¶å§å¡äŒã®ã¡ã³ããŒæ§æ éå¶å§å¡äŒã®æŽ»å å·çæšé²ã®æµã éå¶å§å¡äŒã® KPI 倧åã«ããŠããããš éå¶å§å¡äŒã®ã¡ã³ããŒæ§æ ãŸãã¯ã¡ã³ããŒæ§æã«ã€ããŠã§ãã ãªãŒããŒïŒå¿
é ïŒ ããã¯ããã°ãéå¶äœå¶ã®ããžã§ã³ã瀺ãã®ãäž»ãªåœ¹ç® **äŒç€Ÿã®ãã©ã³ãã£ã³ã°æŠç¥ãæ¡çšåŒ·åäžã®è·çš®ã»ããžã·ã§ã³ãçè§£ããå
¬éããèšäºã®æ¹åæ§ãå質ãã³ã³ãããŒã«ããå¿
èŠãããããã**äŒç€Ÿã®æææ±ºå®è
ïŒ CTO ããããŒãžã£ãŒé£ããŸãæ¡çšããŒã ãªã©ïŒãšå¯ã«é£æºãåãã人ãè¯ã ã³ãŒãã£ããŒã¿ãŒïŒå¿
é ïŒ èšäºå·çæšé²ãå®äŸã®ãã¡ã·ãªããŒã·ã§ã³ãè°äºé²ã®å
±æãäž»ãªåœ¹ç® èšäºãã¿ã®åéãå·çäŸé Œãåæ»ã«é²è¡ãããããåäºæ¥ããã³ãŒãã£ããŒã¿ãŒãéžåºããããšããã€ã³ã ã¡ãã¬ãŒã§ã¯äººæãã©ãããã©ãŒã äºæ¥ãšå»çãã©ãããã©ãŒã äºæ¥ã® 2 äºæ¥ããããããã 1 åãã€ãšã³ãžãã¢ãéžåºããŠãã ã¢ããã€ã¶ãŒïŒä»»æïŒ èšäºãã¿ã®ææ¡ãéå¶äœå¶ã®æ¹åãªã©ãäž»ãªåœ¹ç® æ¡çšæŽ»åã«å¯Ÿããè§£å床ãé«ã人ãäŒç€Ÿå
šäœãåºãèŠãŠãã人ã«ååããŠããããšèšäºãã¿ã®åéåãé«ãŸããããé©åã«å·»ã蟌ãã§ãããšè¯ã ã¡ãã¬ãŒã§ã¯æ¡çšããŒã ã®äººã CTO 宀æå±ã®äººã«ã¢ããã€ã¶ãŒãšããŠåå ããŠããã£ãŠãã çŸåšã¡ãã¬ãŒã§ã¯ãªãŒã㌠1 åãã³ãŒãã£ããŒã¿ãŒ 2 åãã¢ããã€ã¶ãŒ 3 åã®èš 6 åã§éå¶å§å¡äŒãæ§æããŠããŸããåã¡ã³ããŒã¯éå¶å§å¡äŒãšã¯å¥ã«ã¡ã€ã³ã®æ¥åãæã¡ãªãããå
Œä»»ã§æŽ»åããŠããŸãã ãã®äœå¶ã«ãããçµç¹å
šäœãçžŠãšæšªã«å¹
åºãã«ããŒã§ããããã¯ããã°ã®éå¶ãå¹ççã«é²ããããšãã§ããŠããŸãã ç¹ã«ã³ãŒãã£ããŒã¿ãŒã«ã€ããŠã¯ãåäºæ¥ããæäœ 1 åãéžåºããããšã§ãããããã®äºæ¥å
ã§è¡ãããæœçãæŽ»åãææ¡ãããããªããçµç¹èŠæš¡ã®æ¡å€§ã«ã察å¿ãããããªããŸãã ç¶ç¶çãªéå¶ãå®çŸããããã«ã¯ãæ¥åã®è² æ
ãç¹å®ã®äºæ¥ã«åããªããããªäœå¶ãæŽããããšã倧åã§ãã ããŒã ã§ååããŠæŽ»åããããšã§ãå人ã«äŸåããªãä»çµã¿ãç¯ãããšãã§ããçªçºçãªåé¡ã課é¡ãçºçããŠããã¡ã³ããŒå
šå¡ã§ååããŠè§£æ±ºã§ããŸãã éå¶å§å¡äŒã®æŽ»å ç¶ããŠãéå¶å§å¡äŒã®äžã§ãã£ãŠãããšã«ã€ããŠã§ããå®äŸãæ¯ãè¿ããå·çæšé²ãäž»ã«ãªããŸãã å®äŸ éé±ã§éå¬ ã¢ãžã§ã³ãã¯ååæ±ºãããã¯ã¹ãã¢ã¯ã·ã§ã³ã®ç¶æ³å
±æãå·çç¶æ³ã®å
±æã次æä»¥éã®èšäºæ¡ã®æ€èšããã®ä»è°è«å
±æ ããã§ã®ãã€ã³ããšããŠãã¹ã±ãžã¥ãŒã«ãéç®ããŠæ¬¡ã®èšäºæ¡ãå¿
ãæ±ºããããšãè¶
éèŠïŒæ±ºãŸããªããŸãŸçµãããªãïŒ äŸãã°ãèšäºãæ¥æã®æçµå¶æ¥æ¥ã«å
¬éããå Žåãé
ããšã仿ã®äžæ¬ã«ã¯èšäºæ¡ã確å®ãå·çè
ãžã®åæããšããŠãç¶æ
ã«ãªã£ãŠãå¿
èŠãããã®ã§ãã¹ã±ãžã¥ãŒã«ãéç®ããŠæ¬¡ã®èšäºæ¡ãå¿
ãæ±ºãã æ¯ãè¿ã 幎 1 åã§å®æœ ä»å¹ŽåºŠãæ¯ãè¿ããæ¬¡å¹ŽåºŠã®ç¶ç¶ã¢ã¯ã·ã§ã³ã»æ¹åã¢ã¯ã·ã§ã³ã決ãã çŽè¿ã®æ¯ãè¿ãã§ã¯ãæè¡ç³»èšäºã®æ°ãå¢ãããããšã«ãã PV æ°ã®å¢å ããã«ãžã¥ã¢ã«é¢è«ã®å Žã§ããã¯ããã°ã®è©±é¡ã«ãªãããšã§é¢è«ããããããªã£ããšããææã確èªã§ããç¶ç¶ã¢ã¯ã·ã§ã³ã®ã²ãšã€ãšããããšã決å®ã§ãã å·çæšé² 以äžã§è©³çްã«èª¬æ å·çæšé²ã®æµã ç¶ããŠãå·çæšé²ã®æµãã詳ãã玹ä»ããŸãã å
šäœã®æµãã¯å³ã®éãã§ãStep 1 ãã Step 3 ãŸã§ã®æµãã§èšäºãäœæããŠãããŸãã æé軞ãšããŠã¯ãStep 1 ã§èšäºã®å·çäŸé ŒãçµããåŸãStep 2 ã 3 ~ 4 é±éãããã§ãStep 3 ã 2 é±éãããã§å®äºãããèšäºãå
¬éãããšããæãã§é²ããŠããŸãã èšäºå·çã®æµã ã§ã¯ãStep 1 ããé ã«èª¬æããŠãããŸãã Step 1 1. èšäºæ¡ã®éžå®ãšæ±ºå® æ
åœ: éå¶å§å¡äŒ å®äŸã§èšäºæ¡ã決å®ãã åŸè¿°ããé åºãã®ãšãã« NG ãåºãå Žåã«åããŠåè£ãããã€ãçšæããŠãã èšäºæ¡ã®ã«ããŽãª æè¡ç³»èšäºïŒã¡ãã¬ãŒãªãã§ã¯ã®å¶çŽãå°ã£ããã€ã³ããªã©ãããã°ãããããæç¢ºã«ããïŒ äŸ: ãã€ã«ã®åæžããæ
å ±æŒæŽ©ãªã¹ã¯ã®åæžããäž¡æ¹æã«å
¥ãããIAM Identity Center ã¯æ¬²åŒµããªãã ã ã€ã³ã¿ãã¥ãŒèšäº äŸ: FY22 æ°åå
¥ç€Ÿãšã³ãžãã¢ã¯ãã® 1 幎ã§ã©ã®ãããªæé·ãããŠããã®ãã€ã³ã¿ãã¥ãŒããŸãã ã€ãã³ãåå èšäº äŸ: pmconf 2024 ã«ãŽãŒã«ãã¹ãã³ãµãŒãšããŠåè³ããŸããïŒ etc 2. èšäºæ¡ã®é åºã æ
åœ: ã³ãŒãã£ããŒã¿ãŒ å·çå®äºåŸã« NG ã«ãªãã®ãé²ããããå
ã« CTO ãžé åºããè¡ã å®äŸã®è°äºé²å
±æãšåããã圢ã§ãæ¥æã¯ãã®èšäºã§é²ããäºå®ã§ããããšãå
±æãã 3. å·çã®äºåäŸé Œ æ
åœ: ã³ãŒãã£ããŒã¿ãŒ çªç¶å·çãäŸé ŒããŠé©ãããªãããã«ãå·çãæ£åŒäŸé Œããåã«å·çè
ã«äŸé Œã®é åºããããŠãã 4. å·çã®æ£åŒäŸé Œ æ
åœ: ã³ãŒãã£ããŒã¿ãŒ å·çã¯æ¥åãšåãæ±ããªã®ã§ãSlack ã®ãããªãã¯ãªãã£ã³ãã«ã§ãã¡ã³ã·ã§ã³ã« CTO ãå·çè
ã®äžé·ãªã©é¢ä¿è
ãå«ã¿ãå·çãæ£åŒã«äŸé Œãã Step 2 5. ã¹ã±ãžã¥ãŒã«ã®äœæ æ
åœ: ã³ãŒãã£ããŒã¿ãŒ å·çãåçš¿æåºãã¬ãã¥ãŒãæçµã¬ãã¥ãŒãŸã§ã®æµããã«ã¬ã³ããŒã«èœãšã蟌ã¿ãé¢ä¿è
ã«å
±æãã ç· åãæç¢ºã«ãã€ã€ãéåžžæ¥åã®åéã§ãæåŸãŸã§å·çäœæ¥ãèµ°ããããããããã£ããã³ãŒãã£ããŒã¿ãŒãé²æç¢ºèªãªã©ãã€ã€ãã©ããŒãã 6. å·çç°å¢ã®æ§ç¯ æ
åœ: ã³ãŒãã£ããŒã¿ãŒ GitHub ã§èšäºã管çããŠããã®ã§ãèšäºã®ããŒã¹ãã¡ã€ã«ãäœæããIssue ãš Pull Request ãçšæãã å·çè
ã®è² æ
ããªãã¹ãæžãããèšäºå·çã®ã¿ã«éäžããŠããããããã«ãã 7. èšäºæ§ææ¡ã®äœæ æ
åœ: å·çè
ããå·çãããïŒãšããæ°æã¡ãæããããããããèšäºæ§æãšãªããããå
ã«èšäºã®æ§ææ¡ïŒç« ç«ãŠãšåç« ã®æŠèŠïŒãäœã骚åãåºããïŒã³ãŒãã£ããŒã¿ãŒã壿ã¡ãªã©ãµããŒãïŒ 8. å·ç æ
åœ: å·çè
äœæããèšäºæ§ææ¡ãããŒã¹ã«ããŠå·çãã Step 3 9. éå¶ã¬ãã¥ãŒ æ
åœ: éå¶å§å¡äŒããã®ä»é¢ä¿è
ïŒå·çè
ã®äžé·ãªã©ïŒ 誀åè±åã®åºæ¬çãªç¢ºèªã«å ããèšäºãããè¯ãããããã®ææ¡ãè¡ã åŸç¶ã®æçµã¬ãã¥ãŒã®è² æ
ãæžããããã«ãããã§ã§ããéãèšäºãå
¬éå¯èœãªç¶æ
ãŸã§æã£ãŠãã 10. æçµã¬ãã¥ãŒ æ
åœ: åºå ±ããŒã ãCTO åºå ±ããŒã ã«ã¯åºå ±èŠç¹ã§åé¡ãªããã確èªããŠããããCTO ã«ã¯ç¶²çŸ
çãªèŠç¹ã§åé¡ãªãããæçµç¢ºèªããŠããã ããã§èšäºãå
¬éå¯èœãªç¶æ
ã«ä»äžãã 11. å
¬é æ
åœ: ã³ãŒãã£ããŒã¿ãŒãå·çè
ãåºå ±ããŒã èšäºãå
¬éãã瀟å
å€ã«å
±æãã ã¡ãã¬ãŒã®å
¬åŒ X ã¢ã«ãŠã³ã ã§ãçºä¿¡ããŠããã®ã§ããã©ããŒãããããé¡ãããŸã éå¶å§å¡äŒã® KPI ç¶ããŠãéå¶å§å¡äŒã§èšå®ããŠãã KPI ã«ã€ããŠã§ãã KPI ã¯ã·ã³ãã«ã«ãã²ãšæã«æäœ 1 èšäºä»¥äžãå
¬éããããš ãŸãã¯ç¶ç¶ããããšã倧äºãªã®ã§ãæåã¯ã·ã³ãã«ãª KPI ã«ããŠããããšããã KPI ãå¢ãããªãç¶ç¶ã§ããäœå¶ãæŽã£ãŠãã 倧åã«ããŠããããš æåŸã«ããããŸã§ã§å€ªåã§åŒ·èª¿ãããã€ã³ã以å€ã«ãéå¶äžç¹ã«å€§å㪠2 ç¹ã玹ä»ããŸãã ããã¯ããã°ãããç®çãæç¢ºã«ãã äœãããã«ããŠãç®çãå®ããŠå
±éèªèãšããŠæã€ããšã¯å€§åã§ãããããã¯ããã°ã®éå¶ãåæ§ã«ç®çãæç¢ºã«ããŠãã¬ãªãããã«ãã ã¡ãã¬ãŒã§ã¯æ¡çšã«ç¹ããããšãç®çãšããŠãããããã¯ããã°ãéããŠç€Ÿå€ã®æ¹ã
ã«ã¡ãã¬ãŒããšãç¥ã£ãŠããã ããè§£å床ãäžããŠããããããã«åªããŠãã ç®çãæç¢ºã ãšèšäºæ¡ã®æ€èšã«ã軞ãã§ããäŸãã°ãããã¯ããããŒãžã£ãŒã®æ¡çšã匷åããŠããªããããã¯ããããŒãžã£ãŒåãã®èšäºãçšæããããšããåããã§ãã å·çã¯æ¥åã§ããããšãæç¢ºã«ãã èšäºå·çã«ãããŠè»œèŠãããã¡ãªå°è±¡ã§ãå·çãæ¥åã§ããããšãåœããåã®ããã§åœããåã«ãªã£ãŠãªãã£ãããã éåžžæ¥åãšã®å
Œãåãã¯å¿
èŠã«ãªãããæ¥åã§ãããšããããšã¯ã€ã³ãŒã«æ¥åäžã«æéã確ä¿ããŠåãçµãã¹ãããšã§ãã ããããããããµãã£ãšããŠãããšæ¥åäžã«å·çãèŸããªããå·çãããã€ã³ãããŠå
¬éãé
ããå¯èœæ§ãé«ããªã ã¡ãã¬ãŒã§ã¯éå¶å§å¡äŒã®çºè¶³æã« CTO ããå·çã¯æ¥åãšããŠãã£ããåãçµãã§æ¬²ãããšãã話ãããããã®æèãå«ãã§éå¶ãªãã¬ãŒã·ã§ã³ãæ§ç¯ããŠããèæ¯ããã äŸãã°å·çäŸé Œãå·çè
ã®äžé·ãå«ããŠè¡ã£ãããçãèŠããå Žæã§äŸé Œãªã©ã®ã³ãã¥ãã±ãŒã·ã§ã³ããšã£ãããå
¬éãŸã§ã®ã¹ã±ãžã¥ãŒã«ã现ããåŒããŠéçºãããžã§ã¯ããšåãããã«é²ããã ãããã« ã¡ãã¬ãŒãçŽ 2 幎åç¶ç¶ããŠããããã¯ããã°éå¶ã®æ¹æ³ã玹ä»ããŸããã ãªãŒããŒãšã³ãŒãã£ããŒã¿ãŒãäžå¿ãšããéå¶å§å¡äŒã«ãããçµç¹å
šäœãçžŠãšæšªã«å¹
åºãã«ããŒããéçºãããžã§ã¯ããšåãããã«é¢ä¿è
ãšã®èª¿æŽãã¹ã±ãžã¥ãŒãªã³ã°ãè¡ããéå¶ã«ãå·çè
ã«ãè² æ
ãéäžããªãç¡çã®ãªãäœå¶ãç¯ãããšã«ãããããã¯ããã°ãç¶ç¶éå¶ããŠããŸãã äŒç€Ÿã®èŠæš¡ããã§ãŒãºã«ãã£ãŠã¯ãã®ãŸãŸåãå
¥ããã®ã¯é£ãããããããŸããããšãã»ã³ã¹ã ããæœåºããŠäŒç€Ÿã®ã¹ã¿ã€ã«ã颚åã«åã圢ã«ã«ã¹ã¿ãã€ãºãããããã ã«éå¶ãå§ããŠæšé²ããŠããã®ãè¯ããããããŸããã ä»åã®èšäºããããã¯ããã°ãç¶ç¶éå¶ããããšã«ãå°ãã®æ¹ã®åèã«ãªãã°å¹žãã§ãã Weâre hiring ã¡ãã¬ãŒã§ã¯äžç·ã«åã仲éã倧åéããŠããŸããã«ãžã¥ã¢ã«é¢è«ã宿œããŠãããŸãã®ã§ãå°ãã§ããèå³ã®ããæ¹ã¯ãã²ãå¿åãåŸ
ã¡ããŠãããŸãã åéã®äžèЧ | æ ªåŒäŒç€Ÿã¡ãã¬ãŒ ã¡ãã¬ãŒã®æ¡çšæ
å ±ã¯ãã¡ãããã確èªãã ããã www.medley.jp
ããã«ã¡ã¯ã Jobley ã§ãšã³ãžãã¢ãããŠããæ°å±
ã§ãã ã¡ãã¬ãŒã§ã¯ 2022 幎 7 æããçŸåšãŸã§çŽ 2 幎åãããã¯ããã°ãã²ãšæã« 1 èšäºä»¥äžã®ãªãºã ã§å
¬éãç¶ããŠããŸããã ãã®èšäºã§ã¯äŒæ¥ã®ããã¯ããã°ãäžå®ã®ãªãºã ã§ç¶ç¶éå¶ããæ¹æ³ããã¡ãã¬ãŒã®äºäŸã«æ²¿ã£ãŠç޹ä»ããŸããããã¯ããã°ãç¶ç¶éå¶ããããšã«ãå°ãã®æ¹ã®æå©ãã«ãªãã°å¹žãã§ãã ã¡ãã¬ãŒã®ããã¯ããã°ã®ãããããŒãž ããã¯ããã°éå¶ã«ãŸã€ããèª²é¡ ããã¯ããã°éå¶ã§æãé£ããããšã¯ãç¶ç¶çã«èšäºãå·çãå
¬éãç¶ããããšã ãšæããŸãã éå»ãæ¯ãè¿ããšãä»å玹ä»ããæ¹æ³ããšãåããã³ã³ã¹ã¿ã³ãã«èšäºãå
¬éããŠããŸãããããããèšäºãå®å®äŸçµŠã§ããäœå¶ã§ã¯ãããŸããã§ããã å
·äœçã«ã¯ã瀟å
å匷äŒã§çºè¡šããå
容ãããã¯ããã°ã«ãæžããŠãããéçšãããŠããææããããå匷äŒã®æºåãšããã¯ããã°ã®å·çã®äž¡æ¹ãæ¥åãšäžŠè¡ããŠè¡ãããšã¯ãå·çè
ã«ãšã£ãŠçžåœãªè² è·ãšãªã£ãŠããŸãããå·çè
ã®æ¥åãå¿ãããªããå
¬éãæ»ããšãããããŸããã ãã¡ããæå¿ã§å·çããŠãããã±ãŒã¹ãå€ã
ãããŸãããããã®ãããªè² è·ã®é«ãã«ãŒã«ã«é Œãéå¶ã¯èŠãããé·ãç¶ããŸããã§ããã ããã§ãã¡ãã¬ãŒã§ã¯ãæ¡çšæŽ»åã®äžç°ãšããŠç€Ÿå€ã®ãšã³ãžãã¢ããã¶ã€ããŒããããã¯ãéçºã«é¢ããæ¹ã
ã«ã¡ãã¬ãŒã®ããšãç¥ã£ãŠããã ããããšããç®çããããã©ãã«ãããã¯ããã°ãç¶ç¶ã§ããæ¹æ³ã暡玢ããŠããŸããã ããã¯ããã°ãç¶ç¶éå¶ããããã®åãçµã¿ ããããã¯ãäžèšã®èª²é¡ãæ¹åããã¡ãã¬ãŒã§çŽ 2 幎åç¶ç¶ããŠããããã¯ããã°éå¶ã®æ¹æ³ã玹ä»ããŸãã ã¡ãã¬ãŒã§ã¯ãããã¯ããã°éå¶å§å¡äŒãèšç«ããçµç¹çã«éå¶ãããšããã¢ãããŒãããšã£ãŠããŸãã å
·äœçã«ã©ã®ããã«éå¶ããŠããã®ãã以äžã®é ã«ç޹ä»ããŠãããŸãã éå¶å§å¡äŒã®ã¡ã³ããŒæ§æ éå¶å§å¡äŒã®æŽ»å å·çæšé²ã®æµã éå¶å§å¡äŒã® KPI 倧åã«ããŠããããš éå¶å§å¡äŒã®ã¡ã³ããŒæ§æ ãŸãã¯ã¡ã³ããŒæ§æã«ã€ããŠã§ãã ãªãŒããŒïŒå¿
é ïŒ ããã¯ããã°ãéå¶äœå¶ã®ããžã§ã³ã瀺ãã®ãäž»ãªåœ¹ç® **äŒç€Ÿã®ãã©ã³ãã£ã³ã°æŠç¥ãæ¡çšåŒ·åäžã®è·çš®ã»ããžã·ã§ã³ãçè§£ããå
¬éããèšäºã®æ¹åæ§ãå質ãã³ã³ãããŒã«ããå¿
èŠãããããã**äŒç€Ÿã®æææ±ºå®è
ïŒ CTO ããããŒãžã£ãŒé£ããŸãæ¡çšããŒã ãªã©ïŒãšå¯ã«é£æºãåãã人ãè¯ã ã³ãŒãã£ããŒã¿ãŒïŒå¿
é ïŒ èšäºå·çæšé²ãå®äŸã®ãã¡ã·ãªããŒã·ã§ã³ãè°äºé²ã®å
±æãäž»ãªåœ¹ç® èšäºãã¿ã®åéãå·çäŸé Œãåæ»ã«é²è¡ãããããåäºæ¥ããã³ãŒãã£ããŒã¿ãŒãéžåºããããšããã€ã³ã ã¡ãã¬ãŒã§ã¯äººæãã©ãããã©ãŒã äºæ¥ãšå»çãã©ãããã©ãŒã äºæ¥ã® 2 äºæ¥ããããããã 1 åãã€ãšã³ãžãã¢ãéžåºããŠãã ã¢ããã€ã¶ãŒïŒä»»æïŒ èšäºãã¿ã®ææ¡ãéå¶äœå¶ã®æ¹åãªã©ãäž»ãªåœ¹ç® æ¡çšæŽ»åã«å¯Ÿããè§£å床ãé«ã人ãäŒç€Ÿå
šäœãåºãèŠãŠãã人ã«ååããŠããããšèšäºãã¿ã®åéåãé«ãŸããããé©åã«å·»ã蟌ãã§ãããšè¯ã ã¡ãã¬ãŒã§ã¯æ¡çšããŒã ã®äººã CTO 宀æå±ã®äººã«ã¢ããã€ã¶ãŒãšããŠåå ããŠããã£ãŠãã çŸåšã¡ãã¬ãŒã§ã¯ãªãŒã㌠1 åãã³ãŒãã£ããŒã¿ãŒ 2 åãã¢ããã€ã¶ãŒ 3 åã®èš 6 åã§éå¶å§å¡äŒãæ§æããŠããŸããåã¡ã³ããŒã¯éå¶å§å¡äŒãšã¯å¥ã«ã¡ã€ã³ã®æ¥åãæã¡ãªãããå
Œä»»ã§æŽ»åããŠããŸãã ãã®äœå¶ã«ãããçµç¹å
šäœãçžŠãšæšªã«å¹
åºãã«ããŒã§ããããã¯ããã°ã®éå¶ãå¹ççã«é²ããããšãã§ããŠããŸãã ç¹ã«ã³ãŒãã£ããŒã¿ãŒã«ã€ããŠã¯ãåäºæ¥ããæäœ 1 åãéžåºããããšã§ãããããã®äºæ¥å
ã§è¡ãããæœçãæŽ»åãææ¡ãããããªããçµç¹èŠæš¡ã®æ¡å€§ã«ã察å¿ãããããªããŸãã ç¶ç¶çãªéå¶ãå®çŸããããã«ã¯ãæ¥åã®è² æ
ãç¹å®ã®äºæ¥ã«åããªããããªäœå¶ãæŽããããšã倧åã§ãã ããŒã ã§ååããŠæŽ»åããããšã§ãå人ã«äŸåããªãä»çµã¿ãç¯ãããšãã§ããçªçºçãªåé¡ã課é¡ãçºçããŠããã¡ã³ããŒå
šå¡ã§ååããŠè§£æ±ºã§ããŸãã éå¶å§å¡äŒã®æŽ»å ç¶ããŠãéå¶å§å¡äŒã®äžã§ãã£ãŠãããšã«ã€ããŠã§ããå®äŸãæ¯ãè¿ããå·çæšé²ãäž»ã«ãªããŸãã å®äŸ éé±ã§éå¬ ã¢ãžã§ã³ãã¯ååæ±ºãããã¯ã¹ãã¢ã¯ã·ã§ã³ã®ç¶æ³å
±æãå·çç¶æ³ã®å
±æã次æä»¥éã®èšäºæ¡ã®æ€èšããã®ä»è°è«å
±æ ããã§ã®ãã€ã³ããšããŠãã¹ã±ãžã¥ãŒã«ãéç®ããŠæ¬¡ã®èšäºæ¡ãå¿
ãæ±ºããããšãè¶
éèŠïŒæ±ºãŸããªããŸãŸçµãããªãïŒ äŸãã°ãèšäºãæ¥æã®æçµå¶æ¥æ¥ã«å
¬éããå Žåãé
ããšã仿ã®äžæ¬ã«ã¯èšäºæ¡ã確å®ãå·çè
ãžã®åæããšããŠãç¶æ
ã«ãªã£ãŠãå¿
èŠãããã®ã§ãã¹ã±ãžã¥ãŒã«ãéç®ããŠæ¬¡ã®èšäºæ¡ãå¿
ãæ±ºãã æ¯ãè¿ã 幎 1 åã§å®æœ ä»å¹ŽåºŠãæ¯ãè¿ããæ¬¡å¹ŽåºŠã®ç¶ç¶ã¢ã¯ã·ã§ã³ã»æ¹åã¢ã¯ã·ã§ã³ã決ãã çŽè¿ã®æ¯ãè¿ãã§ã¯ãæè¡ç³»èšäºã®æ°ãå¢ãããããšã«ãã PV æ°ã®å¢å ããã«ãžã¥ã¢ã«é¢è«ã®å Žã§ããã¯ããã°ã®è©±é¡ã«ãªãããšã§é¢è«ããããããªã£ããšããææã確èªã§ããç¶ç¶ã¢ã¯ã·ã§ã³ã®ã²ãšã€ãšããããšã決å®ã§ãã å·çæšé² 以äžã§è©³çްã«èª¬æ å·çæšé²ã®æµã ç¶ããŠãå·çæšé²ã®æµãã詳ãã玹ä»ããŸãã å
šäœã®æµãã¯å³ã®éãã§ãStep 1 ãã Step 3 ãŸã§ã®æµãã§èšäºãäœæããŠãããŸãã æé軞ãšããŠã¯ãStep 1 ã§èšäºã®å·çäŸé ŒãçµããåŸãStep 2 ã 3 ~ 4 é±éãããã§ãStep 3 ã 2 é±éãããã§å®äºãããèšäºãå
¬éãããšããæãã§é²ããŠããŸãã èšäºå·çã®æµã ã§ã¯ãStep 1 ããé ã«èª¬æããŠãããŸãã Step 1 1. èšäºæ¡ã®éžå®ãšæ±ºå® æ
åœ: éå¶å§å¡äŒ å®äŸã§èšäºæ¡ã決å®ãã åŸè¿°ããé åºãã®ãšãã« NG ãåºãå Žåã«åããŠåè£ãããã€ãçšæããŠãã èšäºæ¡ã®ã«ããŽãª æè¡ç³»èšäºïŒã¡ãã¬ãŒãªãã§ã¯ã®å¶çŽãå°ã£ããã€ã³ããªã©ãããã°ãããããæç¢ºã«ããïŒ äŸ: ãã€ã«ã®åæžããæ
å ±æŒæŽ©ãªã¹ã¯ã®åæžããäž¡æ¹æã«å
¥ãããIAM Identity Center ã¯æ¬²åŒµããªãã ã ã€ã³ã¿ãã¥ãŒèšäº äŸ: FY22 æ°åå
¥ç€Ÿãšã³ãžãã¢ã¯ãã® 1 幎ã§ã©ã®ãããªæé·ãããŠããã®ãã€ã³ã¿ãã¥ãŒããŸãã ã€ãã³ãåå èšäº äŸ: pmconf 2024 ã«ãŽãŒã«ãã¹ãã³ãµãŒãšããŠåè³ããŸããïŒ etc 2. èšäºæ¡ã®é åºã æ
åœ: ã³ãŒãã£ããŒã¿ãŒ å·çå®äºåŸã« NG ã«ãªãã®ãé²ããããå
ã« CTO ãžé åºããè¡ã å®äŸã®è°äºé²å
±æãšåããã圢ã§ãæ¥æã¯ãã®èšäºã§é²ããäºå®ã§ããããšãå
±æãã 3. å·çã®äºåäŸé Œ æ
åœ: ã³ãŒãã£ããŒã¿ãŒ çªç¶å·çãäŸé ŒããŠé©ãããªãããã«ãå·çãæ£åŒäŸé Œããåã«å·çè
ã«äŸé Œã®é åºããããŠãã 4. å·çã®æ£åŒäŸé Œ æ
åœ: ã³ãŒãã£ããŒã¿ãŒ å·çã¯æ¥åãšåãæ±ããªã®ã§ãSlack ã®ãããªãã¯ãªãã£ã³ãã«ã§ãã¡ã³ã·ã§ã³ã« CTO ãå·çè
ã®äžé·ãªã©é¢ä¿è
ãå«ã¿ãå·çãæ£åŒã«äŸé Œãã Step 2 5. ã¹ã±ãžã¥ãŒã«ã®äœæ æ
åœ: ã³ãŒãã£ããŒã¿ãŒ å·çãåçš¿æåºãã¬ãã¥ãŒãæçµã¬ãã¥ãŒãŸã§ã®æµããã«ã¬ã³ããŒã«èœãšã蟌ã¿ãé¢ä¿è
ã«å
±æãã ç· åãæç¢ºã«ãã€ã€ãéåžžæ¥åã®åéã§ãæåŸãŸã§å·çäœæ¥ãèµ°ããããããããã£ããã³ãŒãã£ããŒã¿ãŒãé²æç¢ºèªãªã©ãã€ã€ãã©ããŒãã 6. å·çç°å¢ã®æ§ç¯ æ
åœ: ã³ãŒãã£ããŒã¿ãŒ GitHub ã§èšäºã管çããŠããã®ã§ãèšäºã®ããŒã¹ãã¡ã€ã«ãäœæããIssue ãš Pull Request ãçšæãã å·çè
ã®è² æ
ããªãã¹ãæžãããèšäºå·çã®ã¿ã«éäžããŠããããããã«ãã 7. èšäºæ§ææ¡ã®äœæ æ
åœ: å·çè
ããå·çãããïŒãšããæ°æã¡ãæããããããããèšäºæ§æãšãªããããå
ã«èšäºã®æ§ææ¡ïŒç« ç«ãŠãšåç« ã®æŠèŠïŒãäœã骚åãåºããïŒã³ãŒãã£ããŒã¿ãŒã壿ã¡ãªã©ãµããŒãïŒ 8. å·ç æ
åœ: å·çè
äœæããèšäºæ§ææ¡ãããŒã¹ã«ããŠå·çãã Step 3 9. éå¶ã¬ãã¥ãŒ æ
åœ: éå¶å§å¡äŒããã®ä»é¢ä¿è
ïŒå·çè
ã®äžé·ãªã©ïŒ 誀åè±åã®åºæ¬çãªç¢ºèªã«å ããèšäºãããè¯ãããããã®ææ¡ãè¡ã åŸç¶ã®æçµã¬ãã¥ãŒã®è² æ
ãæžããããã«ãããã§ã§ããéãèšäºãå
¬éå¯èœãªç¶æ
ãŸã§æã£ãŠãã 10. æçµã¬ãã¥ãŒ æ
åœ: åºå ±ããŒã ãCTO åºå ±ããŒã ã«ã¯åºå ±èŠç¹ã§åé¡ãªããã確èªããŠããããCTO ã«ã¯ç¶²çŸ
çãªèŠç¹ã§åé¡ãªãããæçµç¢ºèªããŠããã ããã§èšäºãå
¬éå¯èœãªç¶æ
ã«ä»äžãã 11. å
¬é æ
åœ: ã³ãŒãã£ããŒã¿ãŒãå·çè
ãåºå ±ããŒã èšäºãå
¬éãã瀟å
å€ã«å
±æãã ã¡ãã¬ãŒã®å
¬åŒ X ã¢ã«ãŠã³ã ã§ãçºä¿¡ããŠããã®ã§ããã©ããŒãããããé¡ãããŸã éå¶å§å¡äŒã® KPI ç¶ããŠãéå¶å§å¡äŒã§èšå®ããŠãã KPI ã«ã€ããŠã§ãã KPI ã¯ã·ã³ãã«ã«ãã²ãšæã«æäœ 1 èšäºä»¥äžãå
¬éããããš ãŸãã¯ç¶ç¶ããããšã倧äºãªã®ã§ãæåã¯ã·ã³ãã«ãª KPI ã«ããŠããããšããã KPI ãå¢ãããªãç¶ç¶ã§ããäœå¶ãæŽã£ãŠãã 倧åã«ããŠããããš æåŸã«ããããŸã§ã§å€ªåã§åŒ·èª¿ãããã€ã³ã以å€ã«ãéå¶äžç¹ã«å€§å㪠2 ç¹ã玹ä»ããŸãã ããã¯ããã°ãããç®çãæç¢ºã«ãã äœãããã«ããŠãç®çãå®ããŠå
±éèªèãšããŠæã€ããšã¯å€§åã§ãããããã¯ããã°ã®éå¶ãåæ§ã«ç®çãæç¢ºã«ããŠãã¬ãªãããã«ãã ã¡ãã¬ãŒã§ã¯æ¡çšã«ç¹ããããšãç®çãšããŠãããããã¯ããã°ãéããŠç€Ÿå€ã®æ¹ã
ã«ã¡ãã¬ãŒããšãç¥ã£ãŠããã ããè§£å床ãäžããŠããããããã«åªããŠãã ç®çãæç¢ºã ãšèšäºæ¡ã®æ€èšã«ã軞ãã§ããäŸãã°ãããã¯ããããŒãžã£ãŒã®æ¡çšã匷åããŠããªããããã¯ããããŒãžã£ãŒåãã®èšäºãçšæããããšããåããã§ãã å·çã¯æ¥åã§ããããšãæç¢ºã«ãã èšäºå·çã«ãããŠè»œèŠãããã¡ãªå°è±¡ã§ãå·çãæ¥åã§ããããšãåœããåã®ããã§åœããåã«ãªã£ãŠãªãã£ãããã éåžžæ¥åãšã®å
Œãåãã¯å¿
èŠã«ãªãããæ¥åã§ãããšããããšã¯ã€ã³ãŒã«æ¥åäžã«æéã確ä¿ããŠåãçµãã¹ãããšã§ãã ããããããããµãã£ãšããŠãããšæ¥åäžã«å·çãèŸããªããå·çãããã€ã³ãããŠå
¬éãé
ããå¯èœæ§ãé«ããªã ã¡ãã¬ãŒã§ã¯éå¶å§å¡äŒã®çºè¶³æã« CTO ããå·çã¯æ¥åãšããŠãã£ããåãçµãã§æ¬²ãããšãã話ãããããã®æèãå«ãã§éå¶ãªãã¬ãŒã·ã§ã³ãæ§ç¯ããŠããèæ¯ããã äŸãã°å·çäŸé Œãå·çè
ã®äžé·ãå«ããŠè¡ã£ãããçãèŠããå Žæã§äŸé Œãªã©ã®ã³ãã¥ãã±ãŒã·ã§ã³ããšã£ãããå
¬éãŸã§ã®ã¹ã±ãžã¥ãŒã«ã现ããåŒããŠéçºãããžã§ã¯ããšåãããã«é²ããã ãããã« ã¡ãã¬ãŒãçŽ 2 幎åç¶ç¶ããŠããããã¯ããã°éå¶ã®æ¹æ³ã玹ä»ããŸããã ãªãŒããŒãšã³ãŒãã£ããŒã¿ãŒãäžå¿ãšããéå¶å§å¡äŒã«ãããçµç¹å
šäœãçžŠãšæšªã«å¹
åºãã«ããŒããéçºãããžã§ã¯ããšåãããã«é¢ä¿è
ãšã®èª¿æŽãã¹ã±ãžã¥ãŒãªã³ã°ãè¡ããéå¶ã«ãå·çè
ã«ãè² æ
ãéäžããªãç¡çã®ãªãäœå¶ãç¯ãããšã«ãããããã¯ããã°ãç¶ç¶éå¶ããŠããŸãã äŒç€Ÿã®èŠæš¡ããã§ãŒãºã«ãã£ãŠã¯ãã®ãŸãŸåãå
¥ããã®ã¯é£ãããããããŸããããšãã»ã³ã¹ã ããæœåºããŠäŒç€Ÿã®ã¹ã¿ã€ã«ã颚åã«åã圢ã«ã«ã¹ã¿ãã€ãºãããããã ã«éå¶ãå§ããŠæšé²ããŠããã®ãè¯ããããããŸããã ä»åã®èšäºããããã¯ããã°ãç¶ç¶éå¶ããããšã«ãå°ãã®æ¹ã®åèã«ãªãã°å¹žãã§ãã Weâre hiring ã¡ãã¬ãŒã§ã¯äžç·ã«åã仲éã倧åéããŠããŸããã«ãžã¥ã¢ã«é¢è«ã宿œããŠãããŸãã®ã§ãå°ãã§ããèå³ã®ããæ¹ã¯ãã²ãå¿åãåŸ
ã¡ããŠãããŸãã åéã®äžèЧ | æ ªåŒäŒç€Ÿã¡ãã¬ãŒ ã¡ãã¬ãŒã®æ¡çšæ
å ±ã¯ãã¡ãããã確èªãã ããã www.medley.jp
ããã«ã¡ã¯ã Jobley ã§ãšã³ãžãã¢ãããŠããæ°å±
ã§ãã ã¡ãã¬ãŒã§ã¯ 2022 幎 7 æããçŸåšãŸã§çŽ 2 幎åãããã¯ããã°ãã²ãšæã« 1 èšäºä»¥äžã®ãªãºã ã§å
¬éãç¶ããŠããŸããã ãã®èšäºã§ã¯äŒæ¥ã®ããã¯ããã°ãäžå®ã®ãªãºã ã§ç¶ç¶éå¶ããæ¹æ³ããã¡ãã¬ãŒã®äºäŸã«æ²¿ã£ãŠç޹ä»ããŸããããã¯ããã°ãç¶ç¶éå¶ããããšã«ãå°ãã®æ¹ã®æå©ãã«ãªãã°å¹žãã§ãã ã¡ãã¬ãŒã®ããã¯ããã°ã®ãããããŒãž ããã¯ããã°éå¶ã«ãŸã€ããèª²é¡ ããã¯ããã°éå¶ã§æãé£ããããšã¯ãç¶ç¶çã«èšäºãå·çãå
¬éãç¶ããããšã ãšæããŸãã éå»ãæ¯ãè¿ããšãä»å玹ä»ããæ¹æ³ããšãåããã³ã³ã¹ã¿ã³ãã«èšäºãå
¬éããŠããŸãããããããèšäºãå®å®äŸçµŠã§ããäœå¶ã§ã¯ãããŸããã§ããã å
·äœçã«ã¯ã瀟å
å匷äŒã§çºè¡šããå
容ãããã¯ããã°ã«ãæžããŠãããéçšãããŠããææããããå匷äŒã®æºåãšããã¯ããã°ã®å·çã®äž¡æ¹ãæ¥åãšäžŠè¡ããŠè¡ãããšã¯ãå·çè
ã«ãšã£ãŠçžåœãªè² è·ãšãªã£ãŠããŸãããå·çè
ã®æ¥åãå¿ãããªããå
¬éãæ»ããšãããããŸããã ãã¡ããæå¿ã§å·çããŠãããã±ãŒã¹ãå€ã
ãããŸãããããã®ãããªè² è·ã®é«ãã«ãŒã«ã«é Œãéå¶ã¯èŠãããé·ãç¶ããŸããã§ããã ããã§ãã¡ãã¬ãŒã§ã¯ãæ¡çšæŽ»åã®äžç°ãšããŠç€Ÿå€ã®ãšã³ãžãã¢ããã¶ã€ããŒããããã¯ãéçºã«é¢ããæ¹ã
ã«ã¡ãã¬ãŒã®ããšãç¥ã£ãŠããã ããããšããç®çããããã©ãã«ãããã¯ããã°ãç¶ç¶ã§ããæ¹æ³ã暡玢ããŠããŸããã ããã¯ããã°ãç¶ç¶éå¶ããããã®åãçµã¿ ããããã¯ãäžèšã®èª²é¡ãæ¹åããã¡ãã¬ãŒã§çŽ 2 幎åç¶ç¶ããŠããããã¯ããã°éå¶ã®æ¹æ³ã玹ä»ããŸãã ã¡ãã¬ãŒã§ã¯ãããã¯ããã°éå¶å§å¡äŒãèšç«ããçµç¹çã«éå¶ãããšããã¢ãããŒãããšã£ãŠããŸãã å
·äœçã«ã©ã®ããã«éå¶ããŠããã®ãã以äžã®é ã«ç޹ä»ããŠãããŸãã éå¶å§å¡äŒã®ã¡ã³ããŒæ§æ éå¶å§å¡äŒã®æŽ»å å·çæšé²ã®æµã éå¶å§å¡äŒã® KPI 倧åã«ããŠããããš éå¶å§å¡äŒã®ã¡ã³ããŒæ§æ ãŸãã¯ã¡ã³ããŒæ§æã«ã€ããŠã§ãã ãªãŒããŒïŒå¿
é ïŒ ããã¯ããã°ãéå¶äœå¶ã®ããžã§ã³ã瀺ãã®ãäž»ãªåœ¹ç® **äŒç€Ÿã®ãã©ã³ãã£ã³ã°æŠç¥ãæ¡çšåŒ·åäžã®è·çš®ã»ããžã·ã§ã³ãçè§£ããå
¬éããèšäºã®æ¹åæ§ãå質ãã³ã³ãããŒã«ããå¿
èŠãããããã**äŒç€Ÿã®æææ±ºå®è
ïŒ CTO ããããŒãžã£ãŒé£ããŸãæ¡çšããŒã ãªã©ïŒãšå¯ã«é£æºãåãã人ãè¯ã ã³ãŒãã£ããŒã¿ãŒïŒå¿
é ïŒ èšäºå·çæšé²ãå®äŸã®ãã¡ã·ãªããŒã·ã§ã³ãè°äºé²ã®å
±æãäž»ãªåœ¹ç® èšäºãã¿ã®åéãå·çäŸé Œãåæ»ã«é²è¡ãããããåäºæ¥ããã³ãŒãã£ããŒã¿ãŒãéžåºããããšããã€ã³ã ã¡ãã¬ãŒã§ã¯äººæãã©ãããã©ãŒã äºæ¥ãšå»çãã©ãããã©ãŒã äºæ¥ã® 2 äºæ¥ããããããã 1 åãã€ãšã³ãžãã¢ãéžåºããŠãã ã¢ããã€ã¶ãŒïŒä»»æïŒ èšäºãã¿ã®ææ¡ãéå¶äœå¶ã®æ¹åãªã©ãäž»ãªåœ¹ç® æ¡çšæŽ»åã«å¯Ÿããè§£å床ãé«ã人ãäŒç€Ÿå
šäœãåºãèŠãŠãã人ã«ååããŠããããšèšäºãã¿ã®åéåãé«ãŸããããé©åã«å·»ã蟌ãã§ãããšè¯ã ã¡ãã¬ãŒã§ã¯æ¡çšããŒã ã®äººã CTO 宀æå±ã®äººã«ã¢ããã€ã¶ãŒãšããŠåå ããŠããã£ãŠãã çŸåšã¡ãã¬ãŒã§ã¯ãªãŒã㌠1 åãã³ãŒãã£ããŒã¿ãŒ 2 åãã¢ããã€ã¶ãŒ 3 åã®èš 6 åã§éå¶å§å¡äŒãæ§æããŠããŸããåã¡ã³ããŒã¯éå¶å§å¡äŒãšã¯å¥ã«ã¡ã€ã³ã®æ¥åãæã¡ãªãããå
Œä»»ã§æŽ»åããŠããŸãã ãã®äœå¶ã«ãããçµç¹å
šäœãçžŠãšæšªã«å¹
åºãã«ããŒã§ããããã¯ããã°ã®éå¶ãå¹ççã«é²ããããšãã§ããŠããŸãã ç¹ã«ã³ãŒãã£ããŒã¿ãŒã«ã€ããŠã¯ãåäºæ¥ããæäœ 1 åãéžåºããããšã§ãããããã®äºæ¥å
ã§è¡ãããæœçãæŽ»åãææ¡ãããããªããçµç¹èŠæš¡ã®æ¡å€§ã«ã察å¿ãããããªããŸãã ç¶ç¶çãªéå¶ãå®çŸããããã«ã¯ãæ¥åã®è² æ
ãç¹å®ã®äºæ¥ã«åããªããããªäœå¶ãæŽããããšã倧åã§ãã ããŒã ã§ååããŠæŽ»åããããšã§ãå人ã«äŸåããªãä»çµã¿ãç¯ãããšãã§ããçªçºçãªåé¡ã課é¡ãçºçããŠããã¡ã³ããŒå
šå¡ã§ååããŠè§£æ±ºã§ããŸãã éå¶å§å¡äŒã®æŽ»å ç¶ããŠãéå¶å§å¡äŒã®äžã§ãã£ãŠãããšã«ã€ããŠã§ããå®äŸãæ¯ãè¿ããå·çæšé²ãäž»ã«ãªããŸãã å®äŸ éé±ã§éå¬ ã¢ãžã§ã³ãã¯ååæ±ºãããã¯ã¹ãã¢ã¯ã·ã§ã³ã®ç¶æ³å
±æãå·çç¶æ³ã®å
±æã次æä»¥éã®èšäºæ¡ã®æ€èšããã®ä»è°è«å
±æ ããã§ã®ãã€ã³ããšããŠãã¹ã±ãžã¥ãŒã«ãéç®ããŠæ¬¡ã®èšäºæ¡ãå¿
ãæ±ºããããšãè¶
éèŠïŒæ±ºãŸããªããŸãŸçµãããªãïŒ äŸãã°ãèšäºãæ¥æã®æçµå¶æ¥æ¥ã«å
¬éããå Žåãé
ããšã仿ã®äžæ¬ã«ã¯èšäºæ¡ã確å®ãå·çè
ãžã®åæããšããŠãç¶æ
ã«ãªã£ãŠãå¿
èŠãããã®ã§ãã¹ã±ãžã¥ãŒã«ãéç®ããŠæ¬¡ã®èšäºæ¡ãå¿
ãæ±ºãã æ¯ãè¿ã 幎 1 åã§å®æœ ä»å¹ŽåºŠãæ¯ãè¿ããæ¬¡å¹ŽåºŠã®ç¶ç¶ã¢ã¯ã·ã§ã³ã»æ¹åã¢ã¯ã·ã§ã³ã決ãã çŽè¿ã®æ¯ãè¿ãã§ã¯ãæè¡ç³»èšäºã®æ°ãå¢ãããããšã«ãã PV æ°ã®å¢å ããã«ãžã¥ã¢ã«é¢è«ã®å Žã§ããã¯ããã°ã®è©±é¡ã«ãªãããšã§é¢è«ããããããªã£ããšããææã確èªã§ããç¶ç¶ã¢ã¯ã·ã§ã³ã®ã²ãšã€ãšããããšã決å®ã§ãã å·çæšé² 以äžã§è©³çްã«èª¬æ å·çæšé²ã®æµã ç¶ããŠãå·çæšé²ã®æµãã詳ãã玹ä»ããŸãã å
šäœã®æµãã¯å³ã®éãã§ãStep 1 ãã Step 3 ãŸã§ã®æµãã§èšäºãäœæããŠãããŸãã æé軞ãšããŠã¯ãStep 1 ã§èšäºã®å·çäŸé ŒãçµããåŸãStep 2 ã 3 ~ 4 é±éãããã§ãStep 3 ã 2 é±éãããã§å®äºãããèšäºãå
¬éãããšããæãã§é²ããŠããŸãã èšäºå·çã®æµã ã§ã¯ãStep 1 ããé ã«èª¬æããŠãããŸãã Step 1 1. èšäºæ¡ã®éžå®ãšæ±ºå® æ
åœ: éå¶å§å¡äŒ å®äŸã§èšäºæ¡ã決å®ãã åŸè¿°ããé åºãã®ãšãã« NG ãåºãå Žåã«åããŠåè£ãããã€ãçšæããŠãã èšäºæ¡ã®ã«ããŽãª æè¡ç³»èšäºïŒã¡ãã¬ãŒãªãã§ã¯ã®å¶çŽãå°ã£ããã€ã³ããªã©ãããã°ãããããæç¢ºã«ããïŒ äŸ: ãã€ã«ã®åæžããæ
å ±æŒæŽ©ãªã¹ã¯ã®åæžããäž¡æ¹æã«å
¥ãããIAM Identity Center ã¯æ¬²åŒµããªãã ã ã€ã³ã¿ãã¥ãŒèšäº äŸ: FY22 æ°åå
¥ç€Ÿãšã³ãžãã¢ã¯ãã® 1 幎ã§ã©ã®ãããªæé·ãããŠããã®ãã€ã³ã¿ãã¥ãŒããŸãã ã€ãã³ãåå èšäº äŸ: pmconf 2024 ã«ãŽãŒã«ãã¹ãã³ãµãŒãšããŠåè³ããŸããïŒ etc 2. èšäºæ¡ã®é åºã æ
åœ: ã³ãŒãã£ããŒã¿ãŒ å·çå®äºåŸã« NG ã«ãªãã®ãé²ããããå
ã« CTO ãžé åºããè¡ã å®äŸã®è°äºé²å
±æãšåããã圢ã§ãæ¥æã¯ãã®èšäºã§é²ããäºå®ã§ããããšãå
±æãã 3. å·çã®äºåäŸé Œ æ
åœ: ã³ãŒãã£ããŒã¿ãŒ çªç¶å·çãäŸé ŒããŠé©ãããªãããã«ãå·çãæ£åŒäŸé Œããåã«å·çè
ã«äŸé Œã®é åºããããŠãã 4. å·çã®æ£åŒäŸé Œ æ
åœ: ã³ãŒãã£ããŒã¿ãŒ å·çã¯æ¥åãšåãæ±ããªã®ã§ãSlack ã®ãããªãã¯ãªãã£ã³ãã«ã§ãã¡ã³ã·ã§ã³ã« CTO ãå·çè
ã®äžé·ãªã©é¢ä¿è
ãå«ã¿ãå·çãæ£åŒã«äŸé Œãã Step 2 5. ã¹ã±ãžã¥ãŒã«ã®äœæ æ
åœ: ã³ãŒãã£ããŒã¿ãŒ å·çãåçš¿æåºãã¬ãã¥ãŒãæçµã¬ãã¥ãŒãŸã§ã®æµããã«ã¬ã³ããŒã«èœãšã蟌ã¿ãé¢ä¿è
ã«å
±æãã ç· åãæç¢ºã«ãã€ã€ãéåžžæ¥åã®åéã§ãæåŸãŸã§å·çäœæ¥ãèµ°ããããããããã£ããã³ãŒãã£ããŒã¿ãŒãé²æç¢ºèªãªã©ãã€ã€ãã©ããŒãã 6. å·çç°å¢ã®æ§ç¯ æ
åœ: ã³ãŒãã£ããŒã¿ãŒ GitHub ã§èšäºã管çããŠããã®ã§ãèšäºã®ããŒã¹ãã¡ã€ã«ãäœæããIssue ãš Pull Request ãçšæãã å·çè
ã®è² æ
ããªãã¹ãæžãããèšäºå·çã®ã¿ã«éäžããŠããããããã«ãã 7. èšäºæ§ææ¡ã®äœæ æ
åœ: å·çè
ããå·çãããïŒãšããæ°æã¡ãæããããããããèšäºæ§æãšãªããããå
ã«èšäºã®æ§ææ¡ïŒç« ç«ãŠãšåç« ã®æŠèŠïŒãäœã骚åãåºããïŒã³ãŒãã£ããŒã¿ãŒã壿ã¡ãªã©ãµããŒãïŒ 8. å·ç æ
åœ: å·çè
äœæããèšäºæ§ææ¡ãããŒã¹ã«ããŠå·çãã Step 3 9. éå¶ã¬ãã¥ãŒ æ
åœ: éå¶å§å¡äŒããã®ä»é¢ä¿è
ïŒå·çè
ã®äžé·ãªã©ïŒ 誀åè±åã®åºæ¬çãªç¢ºèªã«å ããèšäºãããè¯ãããããã®ææ¡ãè¡ã åŸç¶ã®æçµã¬ãã¥ãŒã®è² æ
ãæžããããã«ãããã§ã§ããéãèšäºãå
¬éå¯èœãªç¶æ
ãŸã§æã£ãŠãã 10. æçµã¬ãã¥ãŒ æ
åœ: åºå ±ããŒã ãCTO åºå ±ããŒã ã«ã¯åºå ±èŠç¹ã§åé¡ãªããã確èªããŠããããCTO ã«ã¯ç¶²çŸ
çãªèŠç¹ã§åé¡ãªãããæçµç¢ºèªããŠããã ããã§èšäºãå
¬éå¯èœãªç¶æ
ã«ä»äžãã 11. å
¬é æ
åœ: ã³ãŒãã£ããŒã¿ãŒãå·çè
ãåºå ±ããŒã èšäºãå
¬éãã瀟å
å€ã«å
±æãã ã¡ãã¬ãŒã®å
¬åŒ X ã¢ã«ãŠã³ã ã§ãçºä¿¡ããŠããã®ã§ããã©ããŒãããããé¡ãããŸã éå¶å§å¡äŒã® KPI ç¶ããŠãéå¶å§å¡äŒã§èšå®ããŠãã KPI ã«ã€ããŠã§ãã KPI ã¯ã·ã³ãã«ã«ãã²ãšæã«æäœ 1 èšäºä»¥äžãå
¬éããããš ãŸãã¯ç¶ç¶ããããšã倧äºãªã®ã§ãæåã¯ã·ã³ãã«ãª KPI ã«ããŠããããšããã KPI ãå¢ãããªãç¶ç¶ã§ããäœå¶ãæŽã£ãŠãã 倧åã«ããŠããããš æåŸã«ããããŸã§ã§å€ªåã§åŒ·èª¿ãããã€ã³ã以å€ã«ãéå¶äžç¹ã«å€§å㪠2 ç¹ã玹ä»ããŸãã ããã¯ããã°ãããç®çãæç¢ºã«ãã äœãããã«ããŠãç®çãå®ããŠå
±éèªèãšããŠæã€ããšã¯å€§åã§ãããããã¯ããã°ã®éå¶ãåæ§ã«ç®çãæç¢ºã«ããŠãã¬ãªãããã«ãã ã¡ãã¬ãŒã§ã¯æ¡çšã«ç¹ããããšãç®çãšããŠãããããã¯ããã°ãéããŠç€Ÿå€ã®æ¹ã
ã«ã¡ãã¬ãŒããšãç¥ã£ãŠããã ããè§£å床ãäžããŠããããããã«åªããŠãã ç®çãæç¢ºã ãšèšäºæ¡ã®æ€èšã«ã軞ãã§ããäŸãã°ãããã¯ããããŒãžã£ãŒã®æ¡çšã匷åããŠããªããããã¯ããããŒãžã£ãŒåãã®èšäºãçšæããããšããåããã§ãã å·çã¯æ¥åã§ããããšãæç¢ºã«ãã èšäºå·çã«ãããŠè»œèŠãããã¡ãªå°è±¡ã§ãå·çãæ¥åã§ããããšãåœããåã®ããã§åœããåã«ãªã£ãŠãªãã£ãããã éåžžæ¥åãšã®å
Œãåãã¯å¿
èŠã«ãªãããæ¥åã§ãããšããããšã¯ã€ã³ãŒã«æ¥åäžã«æéã確ä¿ããŠåãçµãã¹ãããšã§ãã ããããããããµãã£ãšããŠãããšæ¥åäžã«å·çãèŸããªããå·çãããã€ã³ãããŠå
¬éãé
ããå¯èœæ§ãé«ããªã ã¡ãã¬ãŒã§ã¯éå¶å§å¡äŒã®çºè¶³æã« CTO ããå·çã¯æ¥åãšããŠãã£ããåãçµãã§æ¬²ãããšãã話ãããããã®æèãå«ãã§éå¶ãªãã¬ãŒã·ã§ã³ãæ§ç¯ããŠããèæ¯ããã äŸãã°å·çäŸé Œãå·çè
ã®äžé·ãå«ããŠè¡ã£ãããçãèŠããå Žæã§äŸé Œãªã©ã®ã³ãã¥ãã±ãŒã·ã§ã³ããšã£ãããå
¬éãŸã§ã®ã¹ã±ãžã¥ãŒã«ã现ããåŒããŠéçºãããžã§ã¯ããšåãããã«é²ããã ãããã« ã¡ãã¬ãŒãçŽ 2 幎åç¶ç¶ããŠããããã¯ããã°éå¶ã®æ¹æ³ã玹ä»ããŸããã ãªãŒããŒãšã³ãŒãã£ããŒã¿ãŒãäžå¿ãšããéå¶å§å¡äŒã«ãããçµç¹å
šäœãçžŠãšæšªã«å¹
åºãã«ããŒããéçºãããžã§ã¯ããšåãããã«é¢ä¿è
ãšã®èª¿æŽãã¹ã±ãžã¥ãŒãªã³ã°ãè¡ããéå¶ã«ãå·çè
ã«ãè² æ
ãéäžããªãç¡çã®ãªãäœå¶ãç¯ãããšã«ãããããã¯ããã°ãç¶ç¶éå¶ããŠããŸãã äŒç€Ÿã®èŠæš¡ããã§ãŒãºã«ãã£ãŠã¯ãã®ãŸãŸåãå
¥ããã®ã¯é£ãããããããŸããããšãã»ã³ã¹ã ããæœåºããŠäŒç€Ÿã®ã¹ã¿ã€ã«ã颚åã«åã圢ã«ã«ã¹ã¿ãã€ãºãããããã ã«éå¶ãå§ããŠæšé²ããŠããã®ãè¯ããããããŸããã ä»åã®èšäºããããã¯ããã°ãç¶ç¶éå¶ããããšã«ãå°ãã®æ¹ã®åèã«ãªãã°å¹žãã§ãã Weâre hiring ã¡ãã¬ãŒã§ã¯äžç·ã«åã仲éã倧åéããŠããŸããã«ãžã¥ã¢ã«é¢è«ã宿œããŠãããŸãã®ã§ãå°ãã§ããèå³ã®ããæ¹ã¯ãã²ãå¿åãåŸ
ã¡ããŠãããŸãã åéã®äžèЧ | æ ªåŒäŒç€Ÿã¡ãã¬ãŒ ã¡ãã¬ãŒã®æ¡çšæ
å ±ã¯ãã¡ãããã確èªãã ããã www.medley.jp
ããã«ã¡ã¯ã Jobley ã§ãšã³ãžãã¢ãããŠããæ°å±
ã§ãã ã¡ãã¬ãŒã§ã¯ 2022 幎 7 æããçŸåšãŸã§çŽ 2 幎åãããã¯ããã°ãã²ãšæã« 1 èšäºä»¥äžã®ãªãºã ã§å
¬éãç¶ããŠããŸããã ãã®èšäºã§ã¯äŒæ¥ã®ããã¯ããã°ãäžå®ã®ãªãºã ã§ç¶ç¶éå¶ããæ¹æ³ããã¡ãã¬ãŒã®äºäŸã«æ²¿ã£ãŠç޹ä»ããŸããããã¯ããã°ãç¶ç¶éå¶ããããšã«ãå°ãã®æ¹ã®æå©ãã«ãªãã°å¹žãã§ãã ã¡ãã¬ãŒã®ããã¯ããã°ã®ãããããŒãž ããã¯ããã°éå¶ã«ãŸã€ããèª²é¡ ããã¯ããã°éå¶ã§æãé£ããããšã¯ãç¶ç¶çã«èšäºãå·çãå
¬éãç¶ããããšã ãšæããŸãã éå»ãæ¯ãè¿ããšãä»å玹ä»ããæ¹æ³ããšãåããã³ã³ã¹ã¿ã³ãã«èšäºãå
¬éããŠããŸãããããããèšäºãå®å®äŸçµŠã§ããäœå¶ã§ã¯ãããŸããã§ããã å
·äœçã«ã¯ã瀟å
å匷äŒã§çºè¡šããå
容ãããã¯ããã°ã«ãæžããŠãããéçšãããŠããææããããå匷äŒã®æºåãšããã¯ããã°ã®å·çã®äž¡æ¹ãæ¥åãšäžŠè¡ããŠè¡ãããšã¯ãå·çè
ã«ãšã£ãŠçžåœãªè² è·ãšãªã£ãŠããŸãããå·çè
ã®æ¥åãå¿ãããªããå
¬éãæ»ããšãããããŸããã ãã¡ããæå¿ã§å·çããŠãããã±ãŒã¹ãå€ã
ãããŸãããããã®ãããªè² è·ã®é«ãã«ãŒã«ã«é Œãéå¶ã¯èŠãããé·ãç¶ããŸããã§ããã ããã§ãã¡ãã¬ãŒã§ã¯ãæ¡çšæŽ»åã®äžç°ãšããŠç€Ÿå€ã®ãšã³ãžãã¢ããã¶ã€ããŒããããã¯ãéçºã«é¢ããæ¹ã
ã«ã¡ãã¬ãŒã®ããšãç¥ã£ãŠããã ããããšããç®çããããã©ãã«ãããã¯ããã°ãç¶ç¶ã§ããæ¹æ³ã暡玢ããŠããŸããã ããã¯ããã°ãç¶ç¶éå¶ããããã®åãçµã¿ ããããã¯ãäžèšã®èª²é¡ãæ¹åããã¡ãã¬ãŒã§çŽ 2 幎åç¶ç¶ããŠããããã¯ããã°éå¶ã®æ¹æ³ã玹ä»ããŸãã ã¡ãã¬ãŒã§ã¯ãããã¯ããã°éå¶å§å¡äŒãèšç«ããçµç¹çã«éå¶ãããšããã¢ãããŒãããšã£ãŠããŸãã å
·äœçã«ã©ã®ããã«éå¶ããŠããã®ãã以äžã®é ã«ç޹ä»ããŠãããŸãã éå¶å§å¡äŒã®ã¡ã³ããŒæ§æ éå¶å§å¡äŒã®æŽ»å å·çæšé²ã®æµã éå¶å§å¡äŒã® KPI 倧åã«ããŠããããš éå¶å§å¡äŒã®ã¡ã³ããŒæ§æ ãŸãã¯ã¡ã³ããŒæ§æã«ã€ããŠã§ãã ãªãŒããŒïŒå¿
é ïŒ ããã¯ããã°ãéå¶äœå¶ã®ããžã§ã³ã瀺ãã®ãäž»ãªåœ¹ç® **äŒç€Ÿã®ãã©ã³ãã£ã³ã°æŠç¥ãæ¡çšåŒ·åäžã®è·çš®ã»ããžã·ã§ã³ãçè§£ããå
¬éããèšäºã®æ¹åæ§ãå質ãã³ã³ãããŒã«ããå¿
èŠãããããã**äŒç€Ÿã®æææ±ºå®è
ïŒ CTO ããããŒãžã£ãŒé£ããŸãæ¡çšããŒã ãªã©ïŒãšå¯ã«é£æºãåãã人ãè¯ã ã³ãŒãã£ããŒã¿ãŒïŒå¿
é ïŒ èšäºå·çæšé²ãå®äŸã®ãã¡ã·ãªããŒã·ã§ã³ãè°äºé²ã®å
±æãäž»ãªåœ¹ç® èšäºãã¿ã®åéãå·çäŸé Œãåæ»ã«é²è¡ãããããåäºæ¥ããã³ãŒãã£ããŒã¿ãŒãéžåºããããšããã€ã³ã ã¡ãã¬ãŒã§ã¯äººæãã©ãããã©ãŒã äºæ¥ãšå»çãã©ãããã©ãŒã äºæ¥ã® 2 äºæ¥ããããããã 1 åãã€ãšã³ãžãã¢ãéžåºããŠãã ã¢ããã€ã¶ãŒïŒä»»æïŒ èšäºãã¿ã®ææ¡ãéå¶äœå¶ã®æ¹åãªã©ãäž»ãªåœ¹ç® æ¡çšæŽ»åã«å¯Ÿããè§£å床ãé«ã人ãäŒç€Ÿå
šäœãåºãèŠãŠãã人ã«ååããŠããããšèšäºãã¿ã®åéåãé«ãŸããããé©åã«å·»ã蟌ãã§ãããšè¯ã ã¡ãã¬ãŒã§ã¯æ¡çšããŒã ã®äººã CTO 宀æå±ã®äººã«ã¢ããã€ã¶ãŒãšããŠåå ããŠããã£ãŠãã çŸåšã¡ãã¬ãŒã§ã¯ãªãŒã㌠1 åãã³ãŒãã£ããŒã¿ãŒ 2 åãã¢ããã€ã¶ãŒ 3 åã®èš 6 åã§éå¶å§å¡äŒãæ§æããŠããŸããåã¡ã³ããŒã¯éå¶å§å¡äŒãšã¯å¥ã«ã¡ã€ã³ã®æ¥åãæã¡ãªãããå
Œä»»ã§æŽ»åããŠããŸãã ãã®äœå¶ã«ãããçµç¹å
šäœãçžŠãšæšªã«å¹
åºãã«ããŒã§ããããã¯ããã°ã®éå¶ãå¹ççã«é²ããããšãã§ããŠããŸãã ç¹ã«ã³ãŒãã£ããŒã¿ãŒã«ã€ããŠã¯ãåäºæ¥ããæäœ 1 åãéžåºããããšã§ãããããã®äºæ¥å
ã§è¡ãããæœçãæŽ»åãææ¡ãããããªããçµç¹èŠæš¡ã®æ¡å€§ã«ã察å¿ãããããªããŸãã ç¶ç¶çãªéå¶ãå®çŸããããã«ã¯ãæ¥åã®è² æ
ãç¹å®ã®äºæ¥ã«åããªããããªäœå¶ãæŽããããšã倧åã§ãã ããŒã ã§ååããŠæŽ»åããããšã§ãå人ã«äŸåããªãä»çµã¿ãç¯ãããšãã§ããçªçºçãªåé¡ã課é¡ãçºçããŠããã¡ã³ããŒå
šå¡ã§ååããŠè§£æ±ºã§ããŸãã éå¶å§å¡äŒã®æŽ»å ç¶ããŠãéå¶å§å¡äŒã®äžã§ãã£ãŠãããšã«ã€ããŠã§ããå®äŸãæ¯ãè¿ããå·çæšé²ãäž»ã«ãªããŸãã å®äŸ éé±ã§éå¬ ã¢ãžã§ã³ãã¯ååæ±ºãããã¯ã¹ãã¢ã¯ã·ã§ã³ã®ç¶æ³å
±æãå·çç¶æ³ã®å
±æã次æä»¥éã®èšäºæ¡ã®æ€èšããã®ä»è°è«å
±æ ããã§ã®ãã€ã³ããšããŠãã¹ã±ãžã¥ãŒã«ãéç®ããŠæ¬¡ã®èšäºæ¡ãå¿
ãæ±ºããããšãè¶
éèŠïŒæ±ºãŸããªããŸãŸçµãããªãïŒ äŸãã°ãèšäºãæ¥æã®æçµå¶æ¥æ¥ã«å
¬éããå Žåãé
ããšã仿ã®äžæ¬ã«ã¯èšäºæ¡ã確å®ãå·çè
ãžã®åæããšããŠãç¶æ
ã«ãªã£ãŠãå¿
èŠãããã®ã§ãã¹ã±ãžã¥ãŒã«ãéç®ããŠæ¬¡ã®èšäºæ¡ãå¿
ãæ±ºãã æ¯ãè¿ã 幎 1 åã§å®æœ ä»å¹ŽåºŠãæ¯ãè¿ããæ¬¡å¹ŽåºŠã®ç¶ç¶ã¢ã¯ã·ã§ã³ã»æ¹åã¢ã¯ã·ã§ã³ã決ãã çŽè¿ã®æ¯ãè¿ãã§ã¯ãæè¡ç³»èšäºã®æ°ãå¢ãããããšã«ãã PV æ°ã®å¢å ããã«ãžã¥ã¢ã«é¢è«ã®å Žã§ããã¯ããã°ã®è©±é¡ã«ãªãããšã§é¢è«ããããããªã£ããšããææã確èªã§ããç¶ç¶ã¢ã¯ã·ã§ã³ã®ã²ãšã€ãšããããšã決å®ã§ãã å·çæšé² 以äžã§è©³çްã«èª¬æ å·çæšé²ã®æµã ç¶ããŠãå·çæšé²ã®æµãã詳ãã玹ä»ããŸãã å
šäœã®æµãã¯å³ã®éãã§ãStep 1 ãã Step 3 ãŸã§ã®æµãã§èšäºãäœæããŠãããŸãã æé軞ãšããŠã¯ãStep 1 ã§èšäºã®å·çäŸé ŒãçµããåŸãStep 2 ã 3 ~ 4 é±éãããã§ãStep 3 ã 2 é±éãããã§å®äºãããèšäºãå
¬éãããšããæãã§é²ããŠããŸãã èšäºå·çã®æµã ã§ã¯ãStep 1 ããé ã«èª¬æããŠãããŸãã Step 1 1. èšäºæ¡ã®éžå®ãšæ±ºå® æ
åœ: éå¶å§å¡äŒ å®äŸã§èšäºæ¡ã決å®ãã åŸè¿°ããé åºãã®ãšãã« NG ãåºãå Žåã«åããŠåè£ãããã€ãçšæããŠãã èšäºæ¡ã®ã«ããŽãª æè¡ç³»èšäºïŒã¡ãã¬ãŒãªãã§ã¯ã®å¶çŽãå°ã£ããã€ã³ããªã©ãããã°ãããããæç¢ºã«ããïŒ äŸ: ãã€ã«ã®åæžããæ
å ±æŒæŽ©ãªã¹ã¯ã®åæžããäž¡æ¹æã«å
¥ãããIAM Identity Center ã¯æ¬²åŒµããªãã ã ã€ã³ã¿ãã¥ãŒèšäº äŸ: FY22 æ°åå
¥ç€Ÿãšã³ãžãã¢ã¯ãã® 1 幎ã§ã©ã®ãããªæé·ãããŠããã®ãã€ã³ã¿ãã¥ãŒããŸãã ã€ãã³ãåå èšäº äŸ: pmconf 2024 ã«ãŽãŒã«ãã¹ãã³ãµãŒãšããŠåè³ããŸããïŒ etc 2. èšäºæ¡ã®é åºã æ
åœ: ã³ãŒãã£ããŒã¿ãŒ å·çå®äºåŸã« NG ã«ãªãã®ãé²ããããå
ã« CTO ãžé åºããè¡ã å®äŸã®è°äºé²å
±æãšåããã圢ã§ãæ¥æã¯ãã®èšäºã§é²ããäºå®ã§ããããšãå
±æãã 3. å·çã®äºåäŸé Œ æ
åœ: ã³ãŒãã£ããŒã¿ãŒ çªç¶å·çãäŸé ŒããŠé©ãããªãããã«ãå·çãæ£åŒäŸé Œããåã«å·çè
ã«äŸé Œã®é åºããããŠãã 4. å·çã®æ£åŒäŸé Œ æ
åœ: ã³ãŒãã£ããŒã¿ãŒ å·çã¯æ¥åãšåãæ±ããªã®ã§ãSlack ã®ãããªãã¯ãªãã£ã³ãã«ã§ãã¡ã³ã·ã§ã³ã« CTO ãå·çè
ã®äžé·ãªã©é¢ä¿è
ãå«ã¿ãå·çãæ£åŒã«äŸé Œãã Step 2 5. ã¹ã±ãžã¥ãŒã«ã®äœæ æ
åœ: ã³ãŒãã£ããŒã¿ãŒ å·çãåçš¿æåºãã¬ãã¥ãŒãæçµã¬ãã¥ãŒãŸã§ã®æµããã«ã¬ã³ããŒã«èœãšã蟌ã¿ãé¢ä¿è
ã«å
±æãã ç· åãæç¢ºã«ãã€ã€ãéåžžæ¥åã®åéã§ãæåŸãŸã§å·çäœæ¥ãèµ°ããããããããã£ããã³ãŒãã£ããŒã¿ãŒãé²æç¢ºèªãªã©ãã€ã€ãã©ããŒãã 6. å·çç°å¢ã®æ§ç¯ æ
åœ: ã³ãŒãã£ããŒã¿ãŒ GitHub ã§èšäºã管çããŠããã®ã§ãèšäºã®ããŒã¹ãã¡ã€ã«ãäœæããIssue ãš Pull Request ãçšæãã å·çè
ã®è² æ
ããªãã¹ãæžãããèšäºå·çã®ã¿ã«éäžããŠããããããã«ãã 7. èšäºæ§ææ¡ã®äœæ æ
åœ: å·çè
ããå·çãããïŒãšããæ°æã¡ãæããããããããèšäºæ§æãšãªããããå
ã«èšäºã®æ§ææ¡ïŒç« ç«ãŠãšåç« ã®æŠèŠïŒãäœã骚åãåºããïŒã³ãŒãã£ããŒã¿ãŒã壿ã¡ãªã©ãµããŒãïŒ 8. å·ç æ
åœ: å·çè
äœæããèšäºæ§ææ¡ãããŒã¹ã«ããŠå·çãã Step 3 9. éå¶ã¬ãã¥ãŒ æ
åœ: éå¶å§å¡äŒããã®ä»é¢ä¿è
ïŒå·çè
ã®äžé·ãªã©ïŒ 誀åè±åã®åºæ¬çãªç¢ºèªã«å ããèšäºãããè¯ãããããã®ææ¡ãè¡ã åŸç¶ã®æçµã¬ãã¥ãŒã®è² æ
ãæžããããã«ãããã§ã§ããéãèšäºãå
¬éå¯èœãªç¶æ
ãŸã§æã£ãŠãã 10. æçµã¬ãã¥ãŒ æ
åœ: åºå ±ããŒã ãCTO åºå ±ããŒã ã«ã¯åºå ±èŠç¹ã§åé¡ãªããã確èªããŠããããCTO ã«ã¯ç¶²çŸ
çãªèŠç¹ã§åé¡ãªãããæçµç¢ºèªããŠããã ããã§èšäºãå
¬éå¯èœãªç¶æ
ã«ä»äžãã 11. å
¬é æ
åœ: ã³ãŒãã£ããŒã¿ãŒãå·çè
ãåºå ±ããŒã èšäºãå
¬éãã瀟å
å€ã«å
±æãã ã¡ãã¬ãŒã®å
¬åŒ X ã¢ã«ãŠã³ã ã§ãçºä¿¡ããŠããã®ã§ããã©ããŒãããããé¡ãããŸã éå¶å§å¡äŒã® KPI ç¶ããŠãéå¶å§å¡äŒã§èšå®ããŠãã KPI ã«ã€ããŠã§ãã KPI ã¯ã·ã³ãã«ã«ãã²ãšæã«æäœ 1 èšäºä»¥äžãå
¬éããããš ãŸãã¯ç¶ç¶ããããšã倧äºãªã®ã§ãæåã¯ã·ã³ãã«ãª KPI ã«ããŠããããšããã KPI ãå¢ãããªãç¶ç¶ã§ããäœå¶ãæŽã£ãŠãã 倧åã«ããŠããããš æåŸã«ããããŸã§ã§å€ªåã§åŒ·èª¿ãããã€ã³ã以å€ã«ãéå¶äžç¹ã«å€§å㪠2 ç¹ã玹ä»ããŸãã ããã¯ããã°ãããç®çãæç¢ºã«ãã äœãããã«ããŠãç®çãå®ããŠå
±éèªèãšããŠæã€ããšã¯å€§åã§ãããããã¯ããã°ã®éå¶ãåæ§ã«ç®çãæç¢ºã«ããŠãã¬ãªãããã«ãã ã¡ãã¬ãŒã§ã¯æ¡çšã«ç¹ããããšãç®çãšããŠãããããã¯ããã°ãéããŠç€Ÿå€ã®æ¹ã
ã«ã¡ãã¬ãŒããšãç¥ã£ãŠããã ããè§£å床ãäžããŠããããããã«åªããŠãã ç®çãæç¢ºã ãšèšäºæ¡ã®æ€èšã«ã軞ãã§ããäŸãã°ãããã¯ããããŒãžã£ãŒã®æ¡çšã匷åããŠããªããããã¯ããããŒãžã£ãŒåãã®èšäºãçšæããããšããåããã§ãã å·çã¯æ¥åã§ããããšãæç¢ºã«ãã èšäºå·çã«ãããŠè»œèŠãããã¡ãªå°è±¡ã§ãå·çãæ¥åã§ããããšãåœããåã®ããã§åœããåã«ãªã£ãŠãªãã£ãããã éåžžæ¥åãšã®å
Œãåãã¯å¿
èŠã«ãªãããæ¥åã§ãããšããããšã¯ã€ã³ãŒã«æ¥åäžã«æéã確ä¿ããŠåãçµãã¹ãããšã§ãã ããããããããµãã£ãšããŠãããšæ¥åäžã«å·çãèŸããªããå·çãããã€ã³ãããŠå
¬éãé
ããå¯èœæ§ãé«ããªã ã¡ãã¬ãŒã§ã¯éå¶å§å¡äŒã®çºè¶³æã« CTO ããå·çã¯æ¥åãšããŠãã£ããåãçµãã§æ¬²ãããšãã話ãããããã®æèãå«ãã§éå¶ãªãã¬ãŒã·ã§ã³ãæ§ç¯ããŠããèæ¯ããã äŸãã°å·çäŸé Œãå·çè
ã®äžé·ãå«ããŠè¡ã£ãããçãèŠããå Žæã§äŸé Œãªã©ã®ã³ãã¥ãã±ãŒã·ã§ã³ããšã£ãããå
¬éãŸã§ã®ã¹ã±ãžã¥ãŒã«ã现ããåŒããŠéçºãããžã§ã¯ããšåãããã«é²ããã ãããã« ã¡ãã¬ãŒãçŽ 2 幎åç¶ç¶ããŠããããã¯ããã°éå¶ã®æ¹æ³ã玹ä»ããŸããã ãªãŒããŒãšã³ãŒãã£ããŒã¿ãŒãäžå¿ãšããéå¶å§å¡äŒã«ãããçµç¹å
šäœãçžŠãšæšªã«å¹
åºãã«ããŒããéçºãããžã§ã¯ããšåãããã«é¢ä¿è
ãšã®èª¿æŽãã¹ã±ãžã¥ãŒãªã³ã°ãè¡ããéå¶ã«ãå·çè
ã«ãè² æ
ãéäžããªãç¡çã®ãªãäœå¶ãç¯ãããšã«ãããããã¯ããã°ãç¶ç¶éå¶ããŠããŸãã äŒç€Ÿã®èŠæš¡ããã§ãŒãºã«ãã£ãŠã¯ãã®ãŸãŸåãå
¥ããã®ã¯é£ãããããããŸããããšãã»ã³ã¹ã ããæœåºããŠäŒç€Ÿã®ã¹ã¿ã€ã«ã颚åã«åã圢ã«ã«ã¹ã¿ãã€ãºãããããã ã«éå¶ãå§ããŠæšé²ããŠããã®ãè¯ããããããŸããã ä»åã®èšäºããããã¯ããã°ãç¶ç¶éå¶ããããšã«ãå°ãã®æ¹ã®åèã«ãªãã°å¹žãã§ãã Weâre hiring ã¡ãã¬ãŒã§ã¯äžç·ã«åã仲éã倧åéããŠããŸããã«ãžã¥ã¢ã«é¢è«ã宿œããŠãããŸãã®ã§ãå°ãã§ããèå³ã®ããæ¹ã¯ãã²ãå¿åãåŸ
ã¡ããŠãããŸãã åéã®äžèЧ | æ ªåŒäŒç€Ÿã¡ãã¬ãŒ ã¡ãã¬ãŒã®æ¡çšæ
å ±ã¯ãã¡ãããã確èªãã ããã www.medley.jp
ããã«ã¡ã¯ã Jobley ã§ãšã³ãžãã¢ãããŠããæ°å±
ã§ãã ã¡ãã¬ãŒã§ã¯ 2022 幎 7 æããçŸåšãŸã§çŽ 2 幎åãããã¯ããã°ãã²ãšæã« 1 èšäºä»¥äžã®ãªãºã ã§å
¬éãç¶ããŠããŸããã ãã®èšäºã§ã¯äŒæ¥ã®ããã¯ããã°ãäžå®ã®ãªãºã ã§ç¶ç¶éå¶ããæ¹æ³ããã¡ãã¬ãŒã®äºäŸã«æ²¿ã£ãŠç޹ä»ããŸããããã¯ããã°ãç¶ç¶éå¶ããããšã«ãå°ãã®æ¹ã®æå©ãã«ãªãã°å¹žãã§ãã ã¡ãã¬ãŒã®ããã¯ããã°ã®ãããããŒãž ããã¯ããã°éå¶ã«ãŸã€ããèª²é¡ ããã¯ããã°éå¶ã§æãé£ããããšã¯ãç¶ç¶çã«èšäºãå·çãå
¬éãç¶ããããšã ãšæããŸãã éå»ãæ¯ãè¿ããšãä»å玹ä»ããæ¹æ³ããšãåããã³ã³ã¹ã¿ã³ãã«èšäºãå
¬éããŠããŸãããããããèšäºãå®å®äŸçµŠã§ããäœå¶ã§ã¯ãããŸããã§ããã å
·äœçã«ã¯ã瀟å
å匷äŒã§çºè¡šããå
容ãããã¯ããã°ã«ãæžããŠãããéçšãããŠããææããããå匷äŒã®æºåãšããã¯ããã°ã®å·çã®äž¡æ¹ãæ¥åãšäžŠè¡ããŠè¡ãããšã¯ãå·çè
ã«ãšã£ãŠçžåœãªè² è·ãšãªã£ãŠããŸãããå·çè
ã®æ¥åãå¿ãããªããå
¬éãæ»ããšãããããŸããã ãã¡ããæå¿ã§å·çããŠãããã±ãŒã¹ãå€ã
ãããŸãããããã®ãããªè² è·ã®é«ãã«ãŒã«ã«é Œãéå¶ã¯èŠãããé·ãç¶ããŸããã§ããã ããã§ãã¡ãã¬ãŒã§ã¯ãæ¡çšæŽ»åã®äžç°ãšããŠç€Ÿå€ã®ãšã³ãžãã¢ããã¶ã€ããŒããããã¯ãéçºã«é¢ããæ¹ã
ã«ã¡ãã¬ãŒã®ããšãç¥ã£ãŠããã ããããšããç®çããããã©ãã«ãããã¯ããã°ãç¶ç¶ã§ããæ¹æ³ã暡玢ããŠããŸããã ããã¯ããã°ãç¶ç¶éå¶ããããã®åãçµã¿ ããããã¯ãäžèšã®èª²é¡ãæ¹åããã¡ãã¬ãŒã§çŽ 2 幎åç¶ç¶ããŠããããã¯ããã°éå¶ã®æ¹æ³ã玹ä»ããŸãã ã¡ãã¬ãŒã§ã¯ãããã¯ããã°éå¶å§å¡äŒãèšç«ããçµç¹çã«éå¶ãããšããã¢ãããŒãããšã£ãŠããŸãã å
·äœçã«ã©ã®ããã«éå¶ããŠããã®ãã以äžã®é ã«ç޹ä»ããŠãããŸãã éå¶å§å¡äŒã®ã¡ã³ããŒæ§æ éå¶å§å¡äŒã®æŽ»å å·çæšé²ã®æµã éå¶å§å¡äŒã® KPI 倧åã«ããŠããããš éå¶å§å¡äŒã®ã¡ã³ããŒæ§æ ãŸãã¯ã¡ã³ããŒæ§æã«ã€ããŠã§ãã ãªãŒããŒïŒå¿
é ïŒ ããã¯ããã°ãéå¶äœå¶ã®ããžã§ã³ã瀺ãã®ãäž»ãªåœ¹ç® **äŒç€Ÿã®ãã©ã³ãã£ã³ã°æŠç¥ãæ¡çšåŒ·åäžã®è·çš®ã»ããžã·ã§ã³ãçè§£ããå
¬éããèšäºã®æ¹åæ§ãå質ãã³ã³ãããŒã«ããå¿
èŠãããããã**äŒç€Ÿã®æææ±ºå®è
ïŒ CTO ããããŒãžã£ãŒé£ããŸãæ¡çšããŒã ãªã©ïŒãšå¯ã«é£æºãåãã人ãè¯ã ã³ãŒãã£ããŒã¿ãŒïŒå¿
é ïŒ èšäºå·çæšé²ãå®äŸã®ãã¡ã·ãªããŒã·ã§ã³ãè°äºé²ã®å
±æãäž»ãªåœ¹ç® èšäºãã¿ã®åéãå·çäŸé Œãåæ»ã«é²è¡ãããããåäºæ¥ããã³ãŒãã£ããŒã¿ãŒãéžåºããããšããã€ã³ã ã¡ãã¬ãŒã§ã¯äººæãã©ãããã©ãŒã äºæ¥ãšå»çãã©ãããã©ãŒã äºæ¥ã® 2 äºæ¥ããããããã 1 åãã€ãšã³ãžãã¢ãéžåºããŠãã ã¢ããã€ã¶ãŒïŒä»»æïŒ èšäºãã¿ã®ææ¡ãéå¶äœå¶ã®æ¹åãªã©ãäž»ãªåœ¹ç® æ¡çšæŽ»åã«å¯Ÿããè§£å床ãé«ã人ãäŒç€Ÿå
šäœãåºãèŠãŠãã人ã«ååããŠããããšèšäºãã¿ã®åéåãé«ãŸããããé©åã«å·»ã蟌ãã§ãããšè¯ã ã¡ãã¬ãŒã§ã¯æ¡çšããŒã ã®äººã CTO 宀æå±ã®äººã«ã¢ããã€ã¶ãŒãšããŠåå ããŠããã£ãŠãã çŸåšã¡ãã¬ãŒã§ã¯ãªãŒã㌠1 åãã³ãŒãã£ããŒã¿ãŒ 2 åãã¢ããã€ã¶ãŒ 3 åã®èš 6 åã§éå¶å§å¡äŒãæ§æããŠããŸããåã¡ã³ããŒã¯éå¶å§å¡äŒãšã¯å¥ã«ã¡ã€ã³ã®æ¥åãæã¡ãªãããå
Œä»»ã§æŽ»åããŠããŸãã ãã®äœå¶ã«ãããçµç¹å
šäœãçžŠãšæšªã«å¹
åºãã«ããŒã§ããããã¯ããã°ã®éå¶ãå¹ççã«é²ããããšãã§ããŠããŸãã ç¹ã«ã³ãŒãã£ããŒã¿ãŒã«ã€ããŠã¯ãåäºæ¥ããæäœ 1 åãéžåºããããšã§ãããããã®äºæ¥å
ã§è¡ãããæœçãæŽ»åãææ¡ãããããªããçµç¹èŠæš¡ã®æ¡å€§ã«ã察å¿ãããããªããŸãã ç¶ç¶çãªéå¶ãå®çŸããããã«ã¯ãæ¥åã®è² æ
ãç¹å®ã®äºæ¥ã«åããªããããªäœå¶ãæŽããããšã倧åã§ãã ããŒã ã§ååããŠæŽ»åããããšã§ãå人ã«äŸåããªãä»çµã¿ãç¯ãããšãã§ããçªçºçãªåé¡ã課é¡ãçºçããŠããã¡ã³ããŒå
šå¡ã§ååããŠè§£æ±ºã§ããŸãã éå¶å§å¡äŒã®æŽ»å ç¶ããŠãéå¶å§å¡äŒã®äžã§ãã£ãŠãããšã«ã€ããŠã§ããå®äŸãæ¯ãè¿ããå·çæšé²ãäž»ã«ãªããŸãã å®äŸ éé±ã§éå¬ ã¢ãžã§ã³ãã¯ååæ±ºãããã¯ã¹ãã¢ã¯ã·ã§ã³ã®ç¶æ³å
±æãå·çç¶æ³ã®å
±æã次æä»¥éã®èšäºæ¡ã®æ€èšããã®ä»è°è«å
±æ ããã§ã®ãã€ã³ããšããŠãã¹ã±ãžã¥ãŒã«ãéç®ããŠæ¬¡ã®èšäºæ¡ãå¿
ãæ±ºããããšãè¶
éèŠïŒæ±ºãŸããªããŸãŸçµãããªãïŒ äŸãã°ãèšäºãæ¥æã®æçµå¶æ¥æ¥ã«å
¬éããå Žåãé
ããšã仿ã®äžæ¬ã«ã¯èšäºæ¡ã確å®ãå·çè
ãžã®åæããšããŠãç¶æ
ã«ãªã£ãŠãå¿
èŠãããã®ã§ãã¹ã±ãžã¥ãŒã«ãéç®ããŠæ¬¡ã®èšäºæ¡ãå¿
ãæ±ºãã æ¯ãè¿ã 幎 1 åã§å®æœ ä»å¹ŽåºŠãæ¯ãè¿ããæ¬¡å¹ŽåºŠã®ç¶ç¶ã¢ã¯ã·ã§ã³ã»æ¹åã¢ã¯ã·ã§ã³ã決ãã çŽè¿ã®æ¯ãè¿ãã§ã¯ãæè¡ç³»èšäºã®æ°ãå¢ãããããšã«ãã PV æ°ã®å¢å ããã«ãžã¥ã¢ã«é¢è«ã®å Žã§ããã¯ããã°ã®è©±é¡ã«ãªãããšã§é¢è«ããããããªã£ããšããææã確èªã§ããç¶ç¶ã¢ã¯ã·ã§ã³ã®ã²ãšã€ãšããããšã決å®ã§ãã å·çæšé² 以äžã§è©³çްã«èª¬æ å·çæšé²ã®æµã ç¶ããŠãå·çæšé²ã®æµãã詳ãã玹ä»ããŸãã å
šäœã®æµãã¯å³ã®éãã§ãStep 1 ãã Step 3 ãŸã§ã®æµãã§èšäºãäœæããŠãããŸãã æé軞ãšããŠã¯ãStep 1 ã§èšäºã®å·çäŸé ŒãçµããåŸãStep 2 ã 3 ~ 4 é±éãããã§ãStep 3 ã 2 é±éãããã§å®äºãããèšäºãå
¬éãããšããæãã§é²ããŠããŸãã èšäºå·çã®æµã ã§ã¯ãStep 1 ããé ã«èª¬æããŠãããŸãã Step 1 1. èšäºæ¡ã®éžå®ãšæ±ºå® æ
åœ: éå¶å§å¡äŒ å®äŸã§èšäºæ¡ã決å®ãã åŸè¿°ããé åºãã®ãšãã« NG ãåºãå Žåã«åããŠåè£ãããã€ãçšæããŠãã èšäºæ¡ã®ã«ããŽãª æè¡ç³»èšäºïŒã¡ãã¬ãŒãªãã§ã¯ã®å¶çŽãå°ã£ããã€ã³ããªã©ãããã°ãããããæç¢ºã«ããïŒ äŸ: ãã€ã«ã®åæžããæ
å ±æŒæŽ©ãªã¹ã¯ã®åæžããäž¡æ¹æã«å
¥ãããIAM Identity Center ã¯æ¬²åŒµããªãã ã ã€ã³ã¿ãã¥ãŒèšäº äŸ: FY22 æ°åå
¥ç€Ÿãšã³ãžãã¢ã¯ãã® 1 幎ã§ã©ã®ãããªæé·ãããŠããã®ãã€ã³ã¿ãã¥ãŒããŸãã ã€ãã³ãåå èšäº äŸ: pmconf 2024 ã«ãŽãŒã«ãã¹ãã³ãµãŒãšããŠåè³ããŸããïŒ etc 2. èšäºæ¡ã®é åºã æ
åœ: ã³ãŒãã£ããŒã¿ãŒ å·çå®äºåŸã« NG ã«ãªãã®ãé²ããããå
ã« CTO ãžé åºããè¡ã å®äŸã®è°äºé²å
±æãšåããã圢ã§ãæ¥æã¯ãã®èšäºã§é²ããäºå®ã§ããããšãå
±æãã 3. å·çã®äºåäŸé Œ æ
åœ: ã³ãŒãã£ããŒã¿ãŒ çªç¶å·çãäŸé ŒããŠé©ãããªãããã«ãå·çãæ£åŒäŸé Œããåã«å·çè
ã«äŸé Œã®é åºããããŠãã 4. å·çã®æ£åŒäŸé Œ æ
åœ: ã³ãŒãã£ããŒã¿ãŒ å·çã¯æ¥åãšåãæ±ããªã®ã§ãSlack ã®ãããªãã¯ãªãã£ã³ãã«ã§ãã¡ã³ã·ã§ã³ã« CTO ãå·çè
ã®äžé·ãªã©é¢ä¿è
ãå«ã¿ãå·çãæ£åŒã«äŸé Œãã Step 2 5. ã¹ã±ãžã¥ãŒã«ã®äœæ æ
åœ: ã³ãŒãã£ããŒã¿ãŒ å·çãåçš¿æåºãã¬ãã¥ãŒãæçµã¬ãã¥ãŒãŸã§ã®æµããã«ã¬ã³ããŒã«èœãšã蟌ã¿ãé¢ä¿è
ã«å
±æãã ç· åãæç¢ºã«ãã€ã€ãéåžžæ¥åã®åéã§ãæåŸãŸã§å·çäœæ¥ãèµ°ããããããããã£ããã³ãŒãã£ããŒã¿ãŒãé²æç¢ºèªãªã©ãã€ã€ãã©ããŒãã 6. å·çç°å¢ã®æ§ç¯ æ
åœ: ã³ãŒãã£ããŒã¿ãŒ GitHub ã§èšäºã管çããŠããã®ã§ãèšäºã®ããŒã¹ãã¡ã€ã«ãäœæããIssue ãš Pull Request ãçšæãã å·çè
ã®è² æ
ããªãã¹ãæžãããèšäºå·çã®ã¿ã«éäžããŠããããããã«ãã 7. èšäºæ§ææ¡ã®äœæ æ
åœ: å·çè
ããå·çãããïŒãšããæ°æã¡ãæããããããããèšäºæ§æãšãªããããå
ã«èšäºã®æ§ææ¡ïŒç« ç«ãŠãšåç« ã®æŠèŠïŒãäœã骚åãåºããïŒã³ãŒãã£ããŒã¿ãŒã壿ã¡ãªã©ãµããŒãïŒ 8. å·ç æ
åœ: å·çè
äœæããèšäºæ§ææ¡ãããŒã¹ã«ããŠå·çãã Step 3 9. éå¶ã¬ãã¥ãŒ æ
åœ: éå¶å§å¡äŒããã®ä»é¢ä¿è
ïŒå·çè
ã®äžé·ãªã©ïŒ 誀åè±åã®åºæ¬çãªç¢ºèªã«å ããèšäºãããè¯ãããããã®ææ¡ãè¡ã åŸç¶ã®æçµã¬ãã¥ãŒã®è² æ
ãæžããããã«ãããã§ã§ããéãèšäºãå
¬éå¯èœãªç¶æ
ãŸã§æã£ãŠãã 10. æçµã¬ãã¥ãŒ æ
åœ: åºå ±ããŒã ãCTO åºå ±ããŒã ã«ã¯åºå ±èŠç¹ã§åé¡ãªããã確èªããŠããããCTO ã«ã¯ç¶²çŸ
çãªèŠç¹ã§åé¡ãªãããæçµç¢ºèªããŠããã ããã§èšäºãå
¬éå¯èœãªç¶æ
ã«ä»äžãã 11. å
¬é æ
åœ: ã³ãŒãã£ããŒã¿ãŒãå·çè
ãåºå ±ããŒã èšäºãå
¬éãã瀟å
å€ã«å
±æãã ã¡ãã¬ãŒã®å
¬åŒ X ã¢ã«ãŠã³ã ã§ãçºä¿¡ããŠããã®ã§ããã©ããŒãããããé¡ãããŸã éå¶å§å¡äŒã® KPI ç¶ããŠãéå¶å§å¡äŒã§èšå®ããŠãã KPI ã«ã€ããŠã§ãã KPI ã¯ã·ã³ãã«ã«ãã²ãšæã«æäœ 1 èšäºä»¥äžãå
¬éããããš ãŸãã¯ç¶ç¶ããããšã倧äºãªã®ã§ãæåã¯ã·ã³ãã«ãª KPI ã«ããŠããããšããã KPI ãå¢ãããªãç¶ç¶ã§ããäœå¶ãæŽã£ãŠãã 倧åã«ããŠããããš æåŸã«ããããŸã§ã§å€ªåã§åŒ·èª¿ãããã€ã³ã以å€ã«ãéå¶äžç¹ã«å€§å㪠2 ç¹ã玹ä»ããŸãã ããã¯ããã°ãããç®çãæç¢ºã«ãã äœãããã«ããŠãç®çãå®ããŠå
±éèªèãšããŠæã€ããšã¯å€§åã§ãããããã¯ããã°ã®éå¶ãåæ§ã«ç®çãæç¢ºã«ããŠãã¬ãªãããã«ãã ã¡ãã¬ãŒã§ã¯æ¡çšã«ç¹ããããšãç®çãšããŠãããããã¯ããã°ãéããŠç€Ÿå€ã®æ¹ã
ã«ã¡ãã¬ãŒããšãç¥ã£ãŠããã ããè§£å床ãäžããŠããããããã«åªããŠãã ç®çãæç¢ºã ãšèšäºæ¡ã®æ€èšã«ã軞ãã§ããäŸãã°ãããã¯ããããŒãžã£ãŒã®æ¡çšã匷åããŠããªããããã¯ããããŒãžã£ãŒåãã®èšäºãçšæããããšããåããã§ãã å·çã¯æ¥åã§ããããšãæç¢ºã«ãã èšäºå·çã«ãããŠè»œèŠãããã¡ãªå°è±¡ã§ãå·çãæ¥åã§ããããšãåœããåã®ããã§åœããåã«ãªã£ãŠãªãã£ãããã éåžžæ¥åãšã®å
Œãåãã¯å¿
èŠã«ãªãããæ¥åã§ãããšããããšã¯ã€ã³ãŒã«æ¥åäžã«æéã確ä¿ããŠåãçµãã¹ãããšã§ãã ããããããããµãã£ãšããŠãããšæ¥åäžã«å·çãèŸããªããå·çãããã€ã³ãããŠå
¬éãé
ããå¯èœæ§ãé«ããªã ã¡ãã¬ãŒã§ã¯éå¶å§å¡äŒã®çºè¶³æã« CTO ããå·çã¯æ¥åãšããŠãã£ããåãçµãã§æ¬²ãããšãã話ãããããã®æèãå«ãã§éå¶ãªãã¬ãŒã·ã§ã³ãæ§ç¯ããŠããèæ¯ããã äŸãã°å·çäŸé Œãå·çè
ã®äžé·ãå«ããŠè¡ã£ãããçãèŠããå Žæã§äŸé Œãªã©ã®ã³ãã¥ãã±ãŒã·ã§ã³ããšã£ãããå
¬éãŸã§ã®ã¹ã±ãžã¥ãŒã«ã现ããåŒããŠéçºãããžã§ã¯ããšåãããã«é²ããã ãããã« ã¡ãã¬ãŒãçŽ 2 幎åç¶ç¶ããŠããããã¯ããã°éå¶ã®æ¹æ³ã玹ä»ããŸããã ãªãŒããŒãšã³ãŒãã£ããŒã¿ãŒãäžå¿ãšããéå¶å§å¡äŒã«ãããçµç¹å
šäœãçžŠãšæšªã«å¹
åºãã«ããŒããéçºãããžã§ã¯ããšåãããã«é¢ä¿è
ãšã®èª¿æŽãã¹ã±ãžã¥ãŒãªã³ã°ãè¡ããéå¶ã«ãå·çè
ã«ãè² æ
ãéäžããªãç¡çã®ãªãäœå¶ãç¯ãããšã«ãããããã¯ããã°ãç¶ç¶éå¶ããŠããŸãã äŒç€Ÿã®èŠæš¡ããã§ãŒãºã«ãã£ãŠã¯ãã®ãŸãŸåãå
¥ããã®ã¯é£ãããããããŸããããšãã»ã³ã¹ã ããæœåºããŠäŒç€Ÿã®ã¹ã¿ã€ã«ã颚åã«åã圢ã«ã«ã¹ã¿ãã€ãºãããããã ã«éå¶ãå§ããŠæšé²ããŠããã®ãè¯ããããããŸããã ä»åã®èšäºããããã¯ããã°ãç¶ç¶éå¶ããããšã«ãå°ãã®æ¹ã®åèã«ãªãã°å¹žãã§ãã Weâre hiring ã¡ãã¬ãŒã§ã¯äžç·ã«åã仲éã倧åéããŠããŸããã«ãžã¥ã¢ã«é¢è«ã宿œããŠãããŸãã®ã§ãå°ãã§ããèå³ã®ããæ¹ã¯ãã²ãå¿åãåŸ
ã¡ããŠãããŸãã https://www.medley.jp/jobs/
ããã«ã¡ã¯ã Jobley ã§ãšã³ãžãã¢ãããŠããæ°å±
ã§ãã ã¡ãã¬ãŒã§ã¯ 2022 幎 7 æããçŸåšãŸã§çŽ 2 幎åãããã¯ããã°ãã²ãšæã« 1 èšäºä»¥äžã®ãªãºã ã§å
¬éãç¶ããŠããŸããã ãã®èšäºã§ã¯äŒæ¥ã®ããã¯ããã°ãäžå®ã®ãªãºã ã§ç¶ç¶éå¶ããæ¹æ³ããã¡ãã¬ãŒã®äºäŸã«æ²¿ã£ãŠç޹ä»ããŸããããã¯ããã°ãç¶ç¶éå¶ããããšã«ãå°ãã®æ¹ã®æå©ãã«ãªãã°å¹žãã§ãã ã¡ãã¬ãŒã®ããã¯ããã°ã®ãããããŒãž ããã¯ããã°éå¶ã«ãŸã€ããèª²é¡ ããã¯ããã°éå¶ã§æãé£ããããšã¯ãç¶ç¶çã«èšäºãå·çãå
¬éãç¶ããããšã ãšæããŸãã éå»ãæ¯ãè¿ããšãä»å玹ä»ããæ¹æ³ããšãåããã³ã³ã¹ã¿ã³ãã«èšäºãå
¬éããŠããŸãããããããèšäºãå®å®äŸçµŠã§ããäœå¶ã§ã¯ãããŸããã§ããã å
·äœçã«ã¯ã瀟å
å匷äŒã§çºè¡šããå
容ãããã¯ããã°ã«ãæžããŠãããéçšãããŠããææããããå匷äŒã®æºåãšããã¯ããã°ã®å·çã®äž¡æ¹ãæ¥åãšäžŠè¡ããŠè¡ãããšã¯ãå·çè
ã«ãšã£ãŠçžåœãªè² è·ãšãªã£ãŠããŸãããå·çè
ã®æ¥åãå¿ãããªããå
¬éãæ»ããšãããããŸããã ãã¡ããæå¿ã§å·çããŠãããã±ãŒã¹ãå€ã
ãããŸãããããã®ãããªè² è·ã®é«ãã«ãŒã«ã«é Œãéå¶ã¯èŠãããé·ãç¶ããŸããã§ããã ããã§ãã¡ãã¬ãŒã§ã¯ãæ¡çšæŽ»åã®äžç°ãšããŠç€Ÿå€ã®ãšã³ãžãã¢ããã¶ã€ããŒããããã¯ãéçºã«é¢ããæ¹ã
ã«ã¡ãã¬ãŒã®ããšãç¥ã£ãŠããã ããããšããç®çããããã©ãã«ãããã¯ããã°ãç¶ç¶ã§ããæ¹æ³ã暡玢ããŠããŸããã ããã¯ããã°ãç¶ç¶éå¶ããããã®åãçµã¿ ããããã¯ãäžèšã®èª²é¡ãæ¹åããã¡ãã¬ãŒã§çŽ 2 幎åç¶ç¶ããŠããããã¯ããã°éå¶ã®æ¹æ³ã玹ä»ããŸãã ã¡ãã¬ãŒã§ã¯ãããã¯ããã°éå¶å§å¡äŒãèšç«ããçµç¹çã«éå¶ãããšããã¢ãããŒãããšã£ãŠããŸãã å
·äœçã«ã©ã®ããã«éå¶ããŠããã®ãã以äžã®é ã«ç޹ä»ããŠãããŸãã éå¶å§å¡äŒã®ã¡ã³ããŒæ§æ éå¶å§å¡äŒã®æŽ»å å·çæšé²ã®æµã éå¶å§å¡äŒã® KPI 倧åã«ããŠããããš éå¶å§å¡äŒã®ã¡ã³ããŒæ§æ ãŸãã¯ã¡ã³ããŒæ§æã«ã€ããŠã§ãã ãªãŒããŒïŒå¿
é ïŒ ããã¯ããã°ãéå¶äœå¶ã®ããžã§ã³ã瀺ãã®ãäž»ãªåœ¹ç® **äŒç€Ÿã®ãã©ã³ãã£ã³ã°æŠç¥ãæ¡çšåŒ·åäžã®è·çš®ã»ããžã·ã§ã³ãçè§£ããå
¬éããèšäºã®æ¹åæ§ãå質ãã³ã³ãããŒã«ããå¿
èŠãããããã**äŒç€Ÿã®æææ±ºå®è
ïŒ CTO ããããŒãžã£ãŒé£ããŸãæ¡çšããŒã ãªã©ïŒãšå¯ã«é£æºãåãã人ãè¯ã ã³ãŒãã£ããŒã¿ãŒïŒå¿
é ïŒ èšäºå·çæšé²ãå®äŸã®ãã¡ã·ãªããŒã·ã§ã³ãè°äºé²ã®å
±æãäž»ãªåœ¹ç® èšäºãã¿ã®åéãå·çäŸé Œãåæ»ã«é²è¡ãããããåäºæ¥ããã³ãŒãã£ããŒã¿ãŒãéžåºããããšããã€ã³ã ã¡ãã¬ãŒã§ã¯äººæãã©ãããã©ãŒã äºæ¥ãšå»çãã©ãããã©ãŒã äºæ¥ã® 2 äºæ¥ããããããã 1 åãã€ãšã³ãžãã¢ãéžåºããŠãã ã¢ããã€ã¶ãŒïŒä»»æïŒ èšäºãã¿ã®ææ¡ãéå¶äœå¶ã®æ¹åãªã©ãäž»ãªåœ¹ç® æ¡çšæŽ»åã«å¯Ÿããè§£å床ãé«ã人ãäŒç€Ÿå
šäœãåºãèŠãŠãã人ã«ååããŠããããšèšäºãã¿ã®åéåãé«ãŸããããé©åã«å·»ã蟌ãã§ãããšè¯ã ã¡ãã¬ãŒã§ã¯æ¡çšããŒã ã®äººã CTO 宀æå±ã®äººã«ã¢ããã€ã¶ãŒãšããŠåå ããŠããã£ãŠãã çŸåšã¡ãã¬ãŒã§ã¯ãªãŒã㌠1 åãã³ãŒãã£ããŒã¿ãŒ 2 åãã¢ããã€ã¶ãŒ 3 åã®èš 6 åã§éå¶å§å¡äŒãæ§æããŠããŸããåã¡ã³ããŒã¯éå¶å§å¡äŒãšã¯å¥ã«ã¡ã€ã³ã®æ¥åãæã¡ãªãããå
Œä»»ã§æŽ»åããŠããŸãã ãã®äœå¶ã«ãããçµç¹å
šäœãçžŠãšæšªã«å¹
åºãã«ããŒã§ããããã¯ããã°ã®éå¶ãå¹ççã«é²ããããšãã§ããŠããŸãã ç¹ã«ã³ãŒãã£ããŒã¿ãŒã«ã€ããŠã¯ãåäºæ¥ããæäœ 1 åãéžåºããããšã§ãããããã®äºæ¥å
ã§è¡ãããæœçãæŽ»åãææ¡ãããããªããçµç¹èŠæš¡ã®æ¡å€§ã«ã察å¿ãããããªããŸãã ç¶ç¶çãªéå¶ãå®çŸããããã«ã¯ãæ¥åã®è² æ
ãç¹å®ã®äºæ¥ã«åããªããããªäœå¶ãæŽããããšã倧åã§ãã ããŒã ã§ååããŠæŽ»åããããšã§ãå人ã«äŸåããªãä»çµã¿ãç¯ãããšãã§ããçªçºçãªåé¡ã課é¡ãçºçããŠããã¡ã³ããŒå
šå¡ã§ååããŠè§£æ±ºã§ããŸãã éå¶å§å¡äŒã®æŽ»å ç¶ããŠãéå¶å§å¡äŒã®äžã§ãã£ãŠãããšã«ã€ããŠã§ããå®äŸãæ¯ãè¿ããå·çæšé²ãäž»ã«ãªããŸãã å®äŸ éé±ã§éå¬ ã¢ãžã§ã³ãã¯ååæ±ºãããã¯ã¹ãã¢ã¯ã·ã§ã³ã®ç¶æ³å
±æãå·çç¶æ³ã®å
±æã次æä»¥éã®èšäºæ¡ã®æ€èšããã®ä»è°è«å
±æ ããã§ã®ãã€ã³ããšããŠãã¹ã±ãžã¥ãŒã«ãéç®ããŠæ¬¡ã®èšäºæ¡ãå¿
ãæ±ºããããšãè¶
éèŠïŒæ±ºãŸããªããŸãŸçµãããªãïŒ äŸãã°ãèšäºãæ¥æã®æçµå¶æ¥æ¥ã«å
¬éããå Žåãé
ããšã仿ã®äžæ¬ã«ã¯èšäºæ¡ã確å®ãå·çè
ãžã®åæããšããŠãç¶æ
ã«ãªã£ãŠãå¿
èŠãããã®ã§ãã¹ã±ãžã¥ãŒã«ãéç®ããŠæ¬¡ã®èšäºæ¡ãå¿
ãæ±ºãã æ¯ãè¿ã 幎 1 åã§å®æœ ä»å¹ŽåºŠãæ¯ãè¿ããæ¬¡å¹ŽåºŠã®ç¶ç¶ã¢ã¯ã·ã§ã³ã»æ¹åã¢ã¯ã·ã§ã³ã決ãã çŽè¿ã®æ¯ãè¿ãã§ã¯ãæè¡ç³»èšäºã®æ°ãå¢ãããããšã«ãã PV æ°ã®å¢å ããã«ãžã¥ã¢ã«é¢è«ã®å Žã§ããã¯ããã°ã®è©±é¡ã«ãªãããšã§é¢è«ããããããªã£ããšããææã確èªã§ããç¶ç¶ã¢ã¯ã·ã§ã³ã®ã²ãšã€ãšããããšã決å®ã§ãã å·çæšé² 以äžã§è©³çްã«èª¬æ å·çæšé²ã®æµã ç¶ããŠãå·çæšé²ã®æµãã詳ãã玹ä»ããŸãã å
šäœã®æµãã¯å³ã®éãã§ãStep 1 ãã Step 3 ãŸã§ã®æµãã§èšäºãäœæããŠãããŸãã æé軞ãšããŠã¯ãStep 1 ã§èšäºã®å·çäŸé ŒãçµããåŸãStep 2 ã 3 ~ 4 é±éãããã§ãStep 3 ã 2 é±éãããã§å®äºãããèšäºãå
¬éãããšããæãã§é²ããŠããŸãã èšäºå·çã®æµã ã§ã¯ãStep 1 ããé ã«èª¬æããŠãããŸãã Step 1 1. èšäºæ¡ã®éžå®ãšæ±ºå® æ
åœ: éå¶å§å¡äŒ å®äŸã§èšäºæ¡ã決å®ãã åŸè¿°ããé åºãã®ãšãã« NG ãåºãå Žåã«åããŠåè£ãããã€ãçšæããŠãã èšäºæ¡ã®ã«ããŽãª æè¡ç³»èšäºïŒã¡ãã¬ãŒãªãã§ã¯ã®å¶çŽãå°ã£ããã€ã³ããªã©ãããã°ãããããæç¢ºã«ããïŒ äŸ: ãã€ã«ã®åæžããæ
å ±æŒæŽ©ãªã¹ã¯ã®åæžããäž¡æ¹æã«å
¥ãããIAM Identity Center ã¯æ¬²åŒµããªãã ã ã€ã³ã¿ãã¥ãŒèšäº äŸ: FY22 æ°åå
¥ç€Ÿãšã³ãžãã¢ã¯ãã® 1 幎ã§ã©ã®ãããªæé·ãããŠããã®ãã€ã³ã¿ãã¥ãŒããŸãã ã€ãã³ãåå èšäº äŸ: pmconf 2024 ã«ãŽãŒã«ãã¹ãã³ãµãŒãšããŠåè³ããŸããïŒ etc 2. èšäºæ¡ã®é åºã æ
åœ: ã³ãŒãã£ããŒã¿ãŒ å·çå®äºåŸã« NG ã«ãªãã®ãé²ããããå
ã« CTO ãžé åºããè¡ã å®äŸã®è°äºé²å
±æãšåããã圢ã§ãæ¥æã¯ãã®èšäºã§é²ããäºå®ã§ããããšãå
±æãã 3. å·çã®äºåäŸé Œ æ
åœ: ã³ãŒãã£ããŒã¿ãŒ çªç¶å·çãäŸé ŒããŠé©ãããªãããã«ãå·çãæ£åŒäŸé Œããåã«å·çè
ã«äŸé Œã®é åºããããŠãã 4. å·çã®æ£åŒäŸé Œ æ
åœ: ã³ãŒãã£ããŒã¿ãŒ å·çã¯æ¥åãšåãæ±ããªã®ã§ãSlack ã®ãããªãã¯ãªãã£ã³ãã«ã§ãã¡ã³ã·ã§ã³ã« CTO ãå·çè
ã®äžé·ãªã©é¢ä¿è
ãå«ã¿ãå·çãæ£åŒã«äŸé Œãã Step 2 5. ã¹ã±ãžã¥ãŒã«ã®äœæ æ
åœ: ã³ãŒãã£ããŒã¿ãŒ å·çãåçš¿æåºãã¬ãã¥ãŒãæçµã¬ãã¥ãŒãŸã§ã®æµããã«ã¬ã³ããŒã«èœãšã蟌ã¿ãé¢ä¿è
ã«å
±æãã ç· åãæç¢ºã«ãã€ã€ãéåžžæ¥åã®åéã§ãæåŸãŸã§å·çäœæ¥ãèµ°ããããããããã£ããã³ãŒãã£ããŒã¿ãŒãé²æç¢ºèªãªã©ãã€ã€ãã©ããŒãã 6. å·çç°å¢ã®æ§ç¯ æ
åœ: ã³ãŒãã£ããŒã¿ãŒ GitHub ã§èšäºã管çããŠããã®ã§ãèšäºã®ããŒã¹ãã¡ã€ã«ãäœæããIssue ãš Pull Request ãçšæãã å·çè
ã®è² æ
ããªãã¹ãæžãããèšäºå·çã®ã¿ã«éäžããŠããããããã«ãã 7. èšäºæ§ææ¡ã®äœæ æ
åœ: å·çè
ããå·çãããïŒãšããæ°æã¡ãæããããããããèšäºæ§æãšãªããããå
ã«èšäºã®æ§ææ¡ïŒç« ç«ãŠãšåç« ã®æŠèŠïŒãäœã骚åãåºããïŒã³ãŒãã£ããŒã¿ãŒã壿ã¡ãªã©ãµããŒãïŒ 8. å·ç æ
åœ: å·çè
äœæããèšäºæ§ææ¡ãããŒã¹ã«ããŠå·çãã Step 3 9. éå¶ã¬ãã¥ãŒ æ
åœ: éå¶å§å¡äŒããã®ä»é¢ä¿è
ïŒå·çè
ã®äžé·ãªã©ïŒ 誀åè±åã®åºæ¬çãªç¢ºèªã«å ããèšäºãããè¯ãããããã®ææ¡ãè¡ã åŸç¶ã®æçµã¬ãã¥ãŒã®è² æ
ãæžããããã«ãããã§ã§ããéãèšäºãå
¬éå¯èœãªç¶æ
ãŸã§æã£ãŠãã 10. æçµã¬ãã¥ãŒ æ
åœ: åºå ±ããŒã ãCTO åºå ±ããŒã ã«ã¯åºå ±èŠç¹ã§åé¡ãªããã確èªããŠããããCTO ã«ã¯ç¶²çŸ
çãªèŠç¹ã§åé¡ãªãããæçµç¢ºèªããŠããã ããã§èšäºãå
¬éå¯èœãªç¶æ
ã«ä»äžãã 11. å
¬é æ
åœ: ã³ãŒãã£ããŒã¿ãŒãå·çè
ãåºå ±ããŒã èšäºãå
¬éãã瀟å
å€ã«å
±æãã ã¡ãã¬ãŒã®å
¬åŒ X ã¢ã«ãŠã³ã ã§ãçºä¿¡ããŠããã®ã§ããã©ããŒãããããé¡ãããŸã éå¶å§å¡äŒã® KPI ç¶ããŠãéå¶å§å¡äŒã§èšå®ããŠãã KPI ã«ã€ããŠã§ãã KPI ã¯ã·ã³ãã«ã«ãã²ãšæã«æäœ 1 èšäºä»¥äžãå
¬éããããš ãŸãã¯ç¶ç¶ããããšã倧äºãªã®ã§ãæåã¯ã·ã³ãã«ãª KPI ã«ããŠããããšããã KPI ãå¢ãããªãç¶ç¶ã§ããäœå¶ãæŽã£ãŠãã 倧åã«ããŠããããš æåŸã«ããããŸã§ã§å€ªåã§åŒ·èª¿ãããã€ã³ã以å€ã«ãéå¶äžç¹ã«å€§å㪠2 ç¹ã玹ä»ããŸãã ããã¯ããã°ãããç®çãæç¢ºã«ãã äœãããã«ããŠãç®çãå®ããŠå
±éèªèãšããŠæã€ããšã¯å€§åã§ãããããã¯ããã°ã®éå¶ãåæ§ã«ç®çãæç¢ºã«ããŠãã¬ãªãããã«ãã ã¡ãã¬ãŒã§ã¯æ¡çšã«ç¹ããããšãç®çãšããŠãããããã¯ããã°ãéããŠç€Ÿå€ã®æ¹ã
ã«ã¡ãã¬ãŒããšãç¥ã£ãŠããã ããè§£å床ãäžããŠããããããã«åªããŠãã ç®çãæç¢ºã ãšèšäºæ¡ã®æ€èšã«ã軞ãã§ããäŸãã°ãããã¯ããããŒãžã£ãŒã®æ¡çšã匷åããŠããªããããã¯ããããŒãžã£ãŒåãã®èšäºãçšæããããšããåããã§ãã å·çã¯æ¥åã§ããããšãæç¢ºã«ãã èšäºå·çã«ãããŠè»œèŠãããã¡ãªå°è±¡ã§ãå·çãæ¥åã§ããããšãåœããåã®ããã§åœããåã«ãªã£ãŠãªãã£ãããã éåžžæ¥åãšã®å
Œãåãã¯å¿
èŠã«ãªãããæ¥åã§ãããšããããšã¯ã€ã³ãŒã«æ¥åäžã«æéã確ä¿ããŠåãçµãã¹ãããšã§ãã ããããããããµãã£ãšããŠãããšæ¥åäžã«å·çãèŸããªããå·çãããã€ã³ãããŠå
¬éãé
ããå¯èœæ§ãé«ããªã ã¡ãã¬ãŒã§ã¯éå¶å§å¡äŒã®çºè¶³æã« CTO ããå·çã¯æ¥åãšããŠãã£ããåãçµãã§æ¬²ãããšãã話ãããããã®æèãå«ãã§éå¶ãªãã¬ãŒã·ã§ã³ãæ§ç¯ããŠããèæ¯ããã äŸãã°å·çäŸé Œãå·çè
ã®äžé·ãå«ããŠè¡ã£ãããçãèŠããå Žæã§äŸé Œãªã©ã®ã³ãã¥ãã±ãŒã·ã§ã³ããšã£ãããå
¬éãŸã§ã®ã¹ã±ãžã¥ãŒã«ã现ããåŒããŠéçºãããžã§ã¯ããšåãããã«é²ããã ãããã« ã¡ãã¬ãŒãçŽ 2 幎åç¶ç¶ããŠããããã¯ããã°éå¶ã®æ¹æ³ã玹ä»ããŸããã ãªãŒããŒãšã³ãŒãã£ããŒã¿ãŒãäžå¿ãšããéå¶å§å¡äŒã«ãããçµç¹å
šäœãçžŠãšæšªã«å¹
åºãã«ããŒããéçºãããžã§ã¯ããšåãããã«é¢ä¿è
ãšã®èª¿æŽãã¹ã±ãžã¥ãŒãªã³ã°ãè¡ããéå¶ã«ãå·çè
ã«ãè² æ
ãéäžããªãç¡çã®ãªãäœå¶ãç¯ãããšã«ãããããã¯ããã°ãç¶ç¶éå¶ããŠããŸãã äŒç€Ÿã®èŠæš¡ããã§ãŒãºã«ãã£ãŠã¯ãã®ãŸãŸåãå
¥ããã®ã¯é£ãããããããŸããããšãã»ã³ã¹ã ããæœåºããŠäŒç€Ÿã®ã¹ã¿ã€ã«ã颚åã«åã圢ã«ã«ã¹ã¿ãã€ãºãããããã ã«éå¶ãå§ããŠæšé²ããŠããã®ãè¯ããããããŸããã ä»åã®èšäºããããã¯ããã°ãç¶ç¶éå¶ããããšã«ãå°ãã®æ¹ã®åèã«ãªãã°å¹žãã§ãã Weâre hiring ã¡ãã¬ãŒã§ã¯äžç·ã«åã仲éã倧åéããŠããŸããã«ãžã¥ã¢ã«é¢è«ã宿œããŠãããŸãã®ã§ãå°ãã§ããèå³ã®ããæ¹ã¯ãã²ãå¿åãåŸ
ã¡ããŠãããŸãã åéã®äžèЧ | æ ªåŒäŒç€Ÿã¡ãã¬ãŒ ã¡ãã¬ãŒã®æ¡çšæ
å ±ã¯ãã¡ãããã確èªãã ããã www.medley.jp