ã¯ããã« ããã«ã¡ã¯ãããŒã¿ãµã€ãšã³ã¹éšã® æå ã§ããæ®æ®µã¯ZOZOTOWNã«ãããæ€çŽ¢ã®æ¹åãæ
åœããŠããŸãã ZOZOTOWNã«ã¯100äžç¹ãè¶
ããååãååšããæ¯æ¥2700ç¹ãã®æ°ååã远å ãããŠããŸãããã®ãããªèšå€§ãªååæ°ãæ±ãZOZOTOWNã«ãããŠããŠãŒã¶ãŒãæ±ããååãèŠã€ããããããããã®æ€çŽ¢æ©èœã¯éåžžã«éèŠã§ãã äžæ¹ã§ããã¡ãã·ã§ã³ãšããæ¥ã
ããŒãºãæ¿ããå€åãããã¡ã€ã³ã«ãããŠããŠãŒã¶ãŒã®ããŒãºãæ€çŽ¢ã¯ãšãªããæ£ç¢ºã«ææ¡ããé©åãªååãæç€ºããããšã¯å°é£ã䌎ããŸããç¹ã«ãæ€çŽ¢ã·ã¹ãã ã«ãããŠæ€çŽ¢çµæã0ä»¶ã§ããïŒä»¥äžã0ä»¶ãããïŒããšã¯ãŠãŒã¶ãŒã«ãšã£ãŠæªãäœéšãšãªããé¢è±ãæããŠããŸããŸã 1 ãå®éã«ZOZOTOWNã§ã¯ãæ¥ã
0ä»¶ããããçºçããŠããã倧ããªèª²é¡ãšãªã£ãŠããŸãã æ¬èšäºã§ã¯ãæ€çŽ¢çµæã0ä»¶ã«ãªãäž»ãªåå ãšããã®å¯Ÿçã®1ã€ã§ããã¯ãšãªæžãæãã«ã€ããŠç޹ä»ããŸãã ç®æ¬¡ ã¯ããã« ç®æ¬¡ èæ¯ ãªã0ä»¶ããããèµ·ããã®ã 1. ã¿ã€ããã¹ãã«ãã¹ 2. è¡šèšæºã 3. æ€çŽ¢æ¡ä»¶ãéå®çã§ãã ã¯ãšãªæžãæããšã¯ ã¯ãšãªæ¡åŒµ èŸæžãçšããé¢é£èªã®è¿œå é¡äŒŒåºŠãçšããé¢é£èªã®è¿œå ã¹ãã«ãã¹ã®ä¿®æ£ ã¯ãšãªç·©å ã¹ã³ã¢ãªã³ã°ã«ããã¯ãšãªç·©å End-to-Endãªã¯ãšãªæžãæã ã°ã©ããã¥ãŒã©ã«ãããã¯ãŒã¯ã«ãã£ãŠæ€çޢ履æŽãèæ
® 匷ååŠç¿ãçšããçæã¢ãã«ã«ããã¯ãšãªæžãæã ãŸãšã èæ¯ ECãµã€ãã«ãããŠ0ä»¶ãããã¯é¢è±ãåŒãèµ·ãããè³Œè²·ã®æ©äŒæå€±ã«ãã€ãªãã倧ããªåé¡ã§ããå®éã«ZOZOTOWNã§ã0ä»¶ãããã¯çºçããŠããã以äžã¯ãã¬ãã£ãŒã¹ããšå
¥åããã€ããããã¬ããŒã¹ããšå
¥åããŠããŸã£ãå Žåã®æ€çŽ¢çµæã§ãã 0ä»¶ããããšãªã£ãå Žåã¯å¥ã®ã¯ãšãªã詊ãããã«ä¿ãããŸããããŠãŒã¶ãŒã¯æ€çŽ¢æ¡ä»¶ãäžããèŠçŽããŠåå
¥åããªããã°ãªãããæéãããããŸãã ãªã0ä»¶ããããèµ·ããã®ã ã§ã¯ããªã0ä»¶ããããèµ·ããã®ã§ããããã0ä»¶ãããã®åå ã¯æ§ã
ã§ãããäžè¬ã«æ¬¡ã®ãããªåå ãèããããŸãã 1. ã¿ã€ããã¹ãã«ãã¹ ãŠãŒã¶ãŒãæ€çŽ¢ããŒã¯ãŒããå
¥åããéã«ãæå³ããåèªãæ£ç¢ºã«å
¥åã§ããŠããªãã±ãŒã¹ã§ãã äŸïŒ ãã¬ãã£ãŒã¹ããšæ€çŽ¢ããã€ããããã¬ããŒã¹ããšå
¥å ãã¢ã¯ã»ãµãªãŒããšæ€çŽ¢ããã€ããããã¢ã¯sesari-ããšå
¥å ãã¯ã³ããŒã¹ããšæ€çŽ¢ããã€ããããã¯ã³ã¹ãããšå
¥å äžèšã®ããã«ãæ¬æ¥æå³ããåèªããäžéšã®æåãç°ãªã£ãŠãããšãæ€çŽ¢ã·ã¹ãã ã«ç»é²ããŠããåååã屿§æ
å ±ãšå®å
šã«äžèŽããã0ä»¶ããããšãªãããšããããŸãã 2. è¡šèšæºã ãŠãŒã¶ãŒãæ€çŽ¢ã«äœ¿ã£ãåèªããæ€çŽ¢ã·ã¹ãã åŽã®ååæ
å ±ã«ç»é²ãããŠããåèªãšæå³ã¯åãã§ã衚çŸãç°ãªãã±ãŒã¹ã§ããäžè¬çãªãã®ãšããŠã¯ãåãåèªã§ãã£ãŠããã«ã¿ã«ãã»ã²ãããªã»æŒ¢åã»è±åã»å
šè§åè§ã»éãä»®åãªã©ã®éãã«ãã£ãŠè¡šèšãæºããã±ãŒã¹ã§ããäŸãšããŠã¯ã以äžãæããããŸãã äŸïŒ ã·ã¹ãã ã§ã¯ãåäŸæããšç»é²ãããŠããããããã©ãæããšæ€çŽ¢ããã ã·ã¹ãã ã§ã¯ãZOZOTOWNããšç»é²ãããŠããããããŸãŸã¿ãŠã³ããšæ€çŽ¢ããã ãŸãããã¡ãã·ã§ã³åéã§ã¯åãæå³ãæã€åèªã§ããã¬ã³ãã«ãã£ãŠåŒã³æ¹ãå€ããããããããã«ç¥èªãå¥åãå€ãååšããŸããäŸãã°ã以äžã®ãããªã±ãŒã¹ãèããããŸãã äŸïŒ ãŠãŒã¶ãŒã¯ãã«ãã³ããšæ€çŽ¢ããããã·ã¹ãã ã§ã¯ãããã°ãã§ç»é²ãããŠãã ãŠãŒã¶ãŒã¯ããªãŒããŒãªãŒã«ããšæ€çŽ¢ããããã·ã¹ãã ã§ã¯ããµãããããã§ç»é²ãããŠãã æä»£ã®æµãã§ãããºãã³ããããã³ãããšåŒã°ããããã«ãªã£ã ã·ã¹ãã ããããã®å·®ç°ãé¢é£æ§ãèªèããŠããªãå ŽåããŠãŒã¶ãŒã®å
¥åã¯ãšãªãååãšé¢é£ä»ããããã0ä»¶ããããšãªãããšããããŸãããã¡ãã·ã§ã³ã«ããããã¬ã³ãã®å€åã¯èãããåžžã«ææ°ã®åèªãžå¯Ÿå¿ããããšã容æã§ã¯ãããŸããã 3. æ€çŽ¢æ¡ä»¶ãéå®çã§ãã è€æ°ã®æ¡ä»¶ãçµã¿åãããŠæ€çŽ¢ããå Žåã«ããã®çµã¿åããã«å®å
šã«äžèŽããååã1ã€ãååšããªãã±ãŒã¹ã§ããåã
ã®æ¡ä»¶ã«åèŽããååã¯ååšãããã®ã®ããŠãŒã¶ãŒãæå®ããå
šãŠã®æ¡ä»¶ãæºããååãååšããªãå Žåã«0ä»¶ããããšãªããŸãã äŸïŒ ãèµ€ AND è±æ AND ãã¬ã¢ã¹ã«ãŒãã èµ€ããã¬ã¢ã¹ã«ãŒãã¯æ±ã£ãŠããããèµ€ãè±æã®ãã¬ã¢ã¹ã«ãŒãã¯æ±ã£ãŠããªã ãã¯ã³ããŒã¹ AND è±æ AND 4Lãµã€ãºã ä»ã®æ¡ä»¶ã«è©²åœããååã¯ååšãããããããã4Lãµã€ãºãåãæ±ã£ãŠããªã ãŠãŒã¶ãŒãè©³çŽ°ãªæ¡ä»¶ã§çµã蟌ãããšããã»ã©ãå®å
šã«ãããããã¢ã€ãã ãæžå°ãã0ä»¶ãããã®ãªã¹ã¯ã¯é«ãŸããŸãã ãã®ãããªåé¡ã解決ããããã®ã¢ãããŒãã®1ã€ãããã¯ãšãªæžãæãïŒQuery RewritingïŒãã§ããæ¬èšäºã§ã¯ãã¯ãšãªæžãæãã®ææ³ãšãã®å¹æã«ã€ããŠè§£èª¬ããŸãã ã¯ãšãªæžãæããšã¯ ã¯ãšãªæžãæããšã¯ããŠãŒã¶ãŒãå
¥åããæ€çŽ¢ã¯ãšãªããããæ€çŽ¢ã·ã¹ãã ã«é©ãã圢ãžèªåçã«å€æããæè¡ã®ããšã§ããã¯ãšãªæžãæãã®ç®çã¯RecallãšPrecisionã®åäžã§ãããã®ããããŠãŒã¶ãŒã®æ€çŽ¢æå³ãä¿æãã€ã€ãããå€ãã®é¢é£ååãæ£ç¢ºã«ããããããããšãç®æããŸãã0ä»¶ãããã®åæžã«ãããŠã¯ãååãèŠã€ãããªããç¶æ
ã®è§£æ¶ãéèŠã§ããããããããããé¢é£ååãå¢ãããRecallãåäžãããããšãäž»ãªç®çã§ãã äžæ¹ã§ããŠãŒã¶ãŒã®å
¥åããã¯ãšãªãæžãæããããšã¯ãæ€çŽ¢æå³ãã·ã¹ãã ã誀解ãããªã¹ã¯ã䌎ããŸãããã®ãããã¹ãã«ãã¹ã®ä¿®æ£ãªã©ãã¯ãšãªãæžãæããéã¯ãŠãŒã¶ãŒãå
ã®ã¯ãšãªã«æ»ãããã®åç·ãæäŸããããšãéèŠã§ã 2 ãäŸãã°ã以äžã®ããã«æ€çŽ¢çªã®çäžã«æžãæãåŸã®ã¯ãšãªãšå
ã®ã¯ãšãªã衚瀺ããŸããããã«ãã£ãŠã·ã¹ãã ããŠãŒã¶ãŒã®æå³ã誀解ããŠæžãæããŠããŸã£ãå Žåã§ããå
ã®ã¯ãšãªãã¯ãªãã¯ããããšã§ãŠãŒã¶ãŒã¯æå³ããæ€çŽ¢çµæãåŸãããšãã§ããŸãã ããã§ã¯ã¯ãšãªæžãæãã®ææ³ã«ã€ããŠãå€å
žçãªã«ãŒã«ããŒã¹ã®ææ³ãã2025幎çŸåšã®ææ°ã®ææ³ãŸã§ãããã€ã玹ä»ããŸãã ã¯ãšãªæ¡åŒµ ã¯ãšãªæ¡åŒµãšã¯ããŠãŒã¶ãŒãå
¥åããæ€çŽ¢ã¯ãšãªã«å¯ŸããŠãé¢é£ããããŒã¯ãŒãããã¬ãŒãºã远å ããææ³ã§ããããã«ããæ€çŽ¢ã®Recallãåäžãããããå€ãã®é¢é£ååãæ
å ±ããŠãŒã¶ãŒã«æäŸã§ããŸãã äŸãã°ãå
ã®ã¯ãšãªããã¬ãã£ãŒã¹ OR ãã¬ã¢ã¹ã«ãŒããã®å Žåãã¯ãšãªæ¡åŒµã«ãã£ãŠãã¬ãã£ãŒã¹ OR ãã¬ã¢ã¹ã«ãŒã OR ã¹ã«ãŒãããªã©ã®é¢é£ããŒã¯ãŒãã远å ãããããå€ãã®ååããããããããã«ãªããŸãã ã¯ãšãªæ¡åŒµã«ã¯ã·ãœãŒã©ã¹èŸæžããã¡ã€ã³ç¬èªã®èŸæžãçšããææ³ãåèªã®é¡äŒŒåºŠãèšç®ããŠé¢é£èªã远å ããææ³ãªã©ããããŸããããããã®ææ³ã«ã€ããŠèŠãŠãããŸãããã èŸæžãçšããé¢é£èªã®è¿œå èŸæžãçšããŠæ€çŽ¢ã¯ãšãªå
ã®ååèªã«å¯ŸããŠé¡äŒŒããã¯ãšãªã远å ããææ³ã玹ä»ããŸã 3 ãäŸãã°ãããã±ãããããããšããåèªã«é¢é£ããåèªãšããŠãåžœåããšãããããäžäœæŠå¿µã®åèªãèŸæžã«ç»é²ããŠãããŸãããããã0ä»¶ãããæã«æ¡åŒµããã¯ãšãªãšããŠçšããããšã§ããã±ããããããåãæ±ã£ãŠããªãå Žåã§ãåžœåãšãã倧ããªã«ããŽãªãšããŠæ€çŽ¢ããçµæããŠãŒã¶ãŒã«æäŸã§ããŸãã ããã§ã¯å®éã«æ¥æ¬èªã®WordNetããäžäœæŠå¿µãååŸããŠã¿ãŸããããæ¥æ¬èªWordNetã«ã¯ããã±ãããããããšããåèªãç»é²ãããŠããªãããããããŒãã¡ãŒããšããåèªã詊ããŠã¿ãŸããä»å㯠NLTK ãšããPythonã®èªç¶èšèªåŠçã©ã€ãã©ãªãçšããŠãWordNetããæ¥æ¬èªã®äžäœæŠå¿µãååŸããã³ãŒãã以äžã«ç€ºããŸãã from nltk.corpus import wordnet as wn word = 'ããŒãã¡ãŒ' synsets = wn.synsets(word, lang= 'jpn' ) syn = synsets[ 0 ] hypernym_jp_names = sorted ( list ( set ( ', ' .join(lemma.name() for lemma in h_syn.lemmas( 'jpn' )) for h_syn in syn.hypernyms() if h_syn.lemmas( 'jpn' ) ))) print (hypernym_jp_names) # åºåçµæ # ['éŽ'] ãã®ããã«WordNetã®ãããªèŸæžãçšããããšã§ãåèªã®äžäœæŠå¿µãååŸããæå³çã«éè€ããèªå¥ãåé€ã§ããŸãã äžæ¹ã§ãåè¿°ããéãããã±ãããããããšããåèªã¯WordNetã«ã¯ååšããŸããããZOZOTOWNãå«ãå€ãã®ãã¡ãã·ã§ã³ECãµã€ãã§å©çšãããçšèªã§ãããã®ããã«æ€çŽ¢ã·ã¹ãã ã®ãã¡ã€ã³ã«ç¹åããŠããèªå¥ã¯ãç¬èªã®èŸæžã«ç»é²ããŠããå¿
èŠããããŸãããã¡ãã·ã§ã³ãã¡ã€ã³ã§ã¯ããã¬ã³ãã®å€åã«ãã£ãŠæ°ããåèªã衚çŸãé »ç¹ã«ç»å ŽããŸãããã®ããããããã«åžžæå¯Ÿå¿ãç¶ããããšèªäœã容æã§ã¯ãããŸããã é¡äŒŒåºŠãçšããé¢é£èªã®è¿œå ãŠãŒã¶ãŒãå
¥åããã¯ãšãªã«å¯ŸããŠãæ©æ¢°çã«èšç®ããé¡äŒŒåºŠã«ãã£ãŠè¿œå ããã¯ãšãªãéžå®ããææ³ã玹ä»ããŸã 4 ã äŸãã°äºååŠç¿æžã¿èšèªã¢ãã«ãçšããŠãŠãŒã¶ã®å
¥åã¯ãšãª $q$ ã®ååèª $t_q$ ãšè¿œå åè£ã®åèª $t_c$ ã®ãã¯ãã« $\vec{v}_{t_q}$ ã $\vec{v}_{t_c}$ ãèšç®ãã以äžã®ããã«ã³ãµã€ã³é¡äŒŒåºŠãçšããŠé¡äŒŒåºŠãèšç®ããŸãã åŒçšïŒ An Introduction to Neural Information Retrieval ãããŠãæãé¡äŒŒåºŠãé«ãåè£ã®åèªãã¯ãšãªã«è¿œå ãããšããæµãã§ãã ã¹ãã«ãã¹ã®ä¿®æ£ ãŠãŒã¶ãŒã®å
¥åããæ€çŽ¢ã¯ãšãªã«å¯ŸããŠãã¹ãã«ãã¹ãä¿®æ£ããããšã§ããµãŒãã¹åŽãæå³ããæ€çŽ¢çµæãåŸãããããã«ããŸã 5 ãã¹ãã«ãã¹ãžã®å¯Ÿå¿ã¯åŒç€Ÿã®ä»¥äžã®èšäºã§è©³ãã解説ããŠããã®ã§ããã²ã芧ãã ããã techblog.zozo.com ã¯ãšãªç·©å ã¯ãšãªç·©å 6 ãšã¯ãæ€çŽ¢ã¯ãšãªããç¹å®ã®åèªïŒä¿®é£Ÿèªãã¹ãããã¯ãŒããªã©ïŒãæå³çã«éè€ããŠããèªå¥ãåé€ããããšã§ãæ€çŽ¢æ¡ä»¶ãç·©åããŠå€ãã®æ€çŽ¢çµæãåŸãææ³ã§ãã ECãµã€ãã«ãããŠå®éã«äžèŠãªã¯ãšãªãåé€ããããšã§ã0ä»¶ãããã«ãªãã¯ãšãªã®çŽ27ïŒ
ã1件以äžãããããã¯ãšãªã«æžãæãããããšããç ç©¶ããããŸã 7 ã äŸãã°ãå
ã®ã¯ãšãªããã¬ãã£ãŒã¹ ã¹ã«ãŒã å®ã ãã§ãã¯æãã®å Žåããå®ãããšãã修食èªãåé€ããŠãã¬ãã£ãŒã¹ ã¹ã«ãŒã ãã§ãã¯æããšããããšã§ãããå€ãã®ååããããããããã«ãªããŸãã ãã®ããã«ã0ä»¶ãããã®åå ãšããŠæãããæ€çŽ¢æ¡ä»¶ãéå®çã§ãããå Žåã«ç¹ã«æå¹ãªææ³ã§ãè€éãªã¯ãšãªãã·ã³ãã«ã«ããããšã§ãæ€çŽ¢çµæãå¢ããããšãã§ããŸãã äžæ¹ã§ãæ€çŽ¢çµæããŠãŒã¶ãŒã®æå³ãååã«æºãããŠããããã€ååãªæ°ã®ååããããããå Žåã¯æ³šæãã¹ãã§ãããã®ãããªå Žåã«ã¯ãšãªç·©åããããšãŠãŒã¶ãŒã®æå³ããªãååã倿°è¡šç€ºãããŠããŸãå¯èœæ§ããããããæ
éã«è¡ãå¿
èŠããããŸãããã£ãŠãã¯ãšãªç·©åã¯äž»ã«æ€çŽ¢çµæã0ä»¶ã§ãã£ãå ŽåããŠãŒã¶ãŒã®æå³ããååãèŠã€ãããªãå Žåã«é©çšãããããšãå€ãã§ãããã ããæ€çŽ¢çµææ°ãå¢ãããšããŠããè¯ãæ€çŽ¢çµæãåŸããããšã¯éããªãç¹ã«æ³šæãå¿
èŠã§ãã ã¹ã³ã¢ãªã³ã°ã«ããã¯ãšãªç·©å ã¯ãšãªç·©åã§ã¯æ€çŽ¢ã¯ãšãªããç¹å®ã®åèªãåé€ããŸãããéèŠãªç¹ã¯ã©ã®åèªãåé€ãããã§ããTanãã¯ECãµã€ãã«ããã0ä»¶ãããã®ã¯ãšãªã«å¯ŸããŠãååèªã®éèŠåºŠãã¹ã³ã¢ãªã³ã°ããã¹ã³ã¢ãäœãåèªããåé€ããææ³ãææ¡ããŠããŸã 8 ã ãŸãã¯ããã©ã³ãåãåååãTier 1ãè²ããµã€ãºãªã©ã®å±æ§ãTier 2ããã®ä»ã®åèªãTier 3ã®ããã«ãåèªãéèŠåºŠã®é«ãé ã«TieråãããŸãããããã®æ¯ãåãã¯åºæ¬çã«èŸæžããŒã¹ã§ãããäžè¬çãªåè©ã§æ§æããããã©ã³ãåãååšããŸãããã®ãããæ©æ¢°åŠç¿ã¢ãã«ã«ãã£ãŠãã®åèªããã©ã³ãåã§ãããã©ããã®å€å®ãè¡ã£ãŠããŸããããããŠåŸãããåèªã®Tierãããã®åèªãå«ãŸããŠããæ€çŽ¢ãã°ããã¯ãªãã¯çãååŸããæçµçãªéèŠåºŠã¹ã³ã¢ãèšç®ããŸãã ææ¡ææ³ã§ã¯Recallã®åäžãèŠãããŸããããäžæ¹ã§ã¯ãšãªã«å«ãŸããåèªæ°ãå°ãªãå Žåã«ã¯ã¯ãšãªã®æ€çŽ¢æå³ã倧ããå€åããŠããŸãã±ãŒã¹ããã£ããšå ±åãããŠããŸãã åŒçšïŒ Query Rewrite for Null and Low Search Results in eCommerce End-to-Endãªã¯ãšãªæžãæã ãããŸã§ã¯èŸæžããã¯ãã«ã«ãã£ãŠè¿œå ã»åé€ããåèªãååŸãã鿥çãªã¯ãšãªæžãæãã®ææ³ã玹ä»ããŠããŸãããæ©æ¢°åŠç¿ã®æè¡ãé²åããã«ã€ããŠããŠãŒã¶ãŒã®å
¥åã¯ãšãªãèšèªã¢ãã«ã«å
¥åããçŽæ¥æžãæãåŸã®ã¯ãšãªãåºåããEnd-to-Endãªã¯ãšãªæžãæãã®ææ³ã®ç ç©¶ãçãã«ãªã£ãŠããŸãããæ¬ç« ã§ã¯ãã®ãããªEnd-to-Endãªã¯ãšãªæžãæãã®ææ³ã玹ä»ããŸãã ã°ã©ããã¥ãŒã©ã«ãããã¯ãŒã¯ã«ãã£ãŠæ€çޢ履æŽãèæ
® ãããŸã§ç޹ä»ããŠããææ³ã¯ãããããæžãæã察象ã®ã¯ãšãªã®ã¿ãèæ
®ããŠããŸãããZuoãã®ç ç©¶ã§ã¯ãŠãŒã¶ãŒãéå»ã«æ€çŽ¢ããã¯ãšãªãèæ
®ããã¯ãšãªæžãæããããããšã§ããŠãŒã¶ãŒããšã®å€æ§ãªæ€çŽ¢æå³ã«åã£ãã¯ãšãªãæäŸããææ³ãææ¡ããŠããŸã 9 ã äŸãã°ãããã³ã å®ãããšããã¯ãšãªã®ã¿ã§ã¯ãŠãŒã¶ãŒãããããããºãã³ãã®ãããªãã®ãæ±ããŠããã®ããäžçãšããŠã®ããã³ãããæ±ããŠããã®ãã¯åãããŸãããããã§ããŠãŒã¶ãŒã1ã€åã®æ€çŽ¢ã§ãããã ãã³ãããšæ€çŽ¢ããŠãããšããŸãããã®å Žåã¯ãŠãŒã¶ãŒã¯äžçã§ã¯ãªããäžçã®äžã«å±¥ãããã³ãããæ±ããŠããå¯èœæ§ãé«ãããããããã ã¹ ãã³ã å®ãããšãã£ãã¯ãšãªã«æžãæããã®ãè¯ãããã§ãã ãã®ããã«ããŠãŒã¶ãŒã®éå»ã®æ€çޢ履æŽãèæ
®ããããšã§ããããŠãŒã¶ãŒã®æå³ã«åã£ãã¯ãšãªã®æžãæããæåŸ
ã§ããŸãã ãã®å®çŸã®ãããGATïŒGraph Attention NetworkïŒãçšããŠãŠãŒã¶ãŒã®æ€çޢ履æŽãã°ã©ãæ§é ãšããŠè¡šçŸããã¯ãšãªéã®é¢ä¿æ§ãèæ
®ããã¯ãšãªæžãæããææ¡ããŠããŸããææ¡ã¢ãã«ã¯ECãµã€ãã®ç€Ÿå
ããŒã¿ãå©çšãããªãã©ã€ã³è©äŸ¡ã§ãããŒã¹ã©ã€ã³ãäžåãæ§èœã瀺ããŸããããŸãããªã³ã©ã€ã³ã®A/Bãã¹ããéããŠåçã®åäžãèŠãããã»ããã¯ãšãªæžãæãã«ãã£ãŠæãã ååãŸã§å°éãããŸã§ã®æ€çŽ¢æ°ãæžå°ããããšã確èªãããŸããã åŒçšïŒ Context-Aware Query Rewriting for Improving Usersâ Search Experience on E-commerce Websites 匷ååŠç¿ãçšããçæã¢ãã«ã«ããã¯ãšãªæžãæã çæã¢ãã«ãçšããã¯ãšãªæžãæãã¯èŸæžããŒã¹ãšç°ãªãã以äžã®ãããªåé¡ããããŸãã çæãããã¯ãšãªã«å€æ§æ§ããªã å
ã®ã¯ãšãªã«å¯Ÿããæ€çŽ¢çµæãšé¡äŒŒãããã WebãECãµã€ãæ€çŽ¢ã«ãããŠã¯ãã¬ã€ãã³ã·ãã³ã¹ãã®èгç¹ãããªã¢ã«ã¿ã€ã ã§ã®æžãæãã¯é£ãã çæãããã¯ãšãªãååã®ã«ãã¬ããžãåäžããããã¯ããããªã ããã§ãAgrawalãã®ç ç©¶ã§ã¯çæã¢ãã«ãšåŒ·ååŠç¿ãçµã¿åãããããšã§ãå
ã®ã¯ãšãªã®æå³ãä¿æãã€ã€ãæ€çŽ¢çµæã®å€æ§æ§ãé«ãã¯ãšãªã«æžãæããææ³ãææ¡ããŠããŸã 10 ãå
ã®ã¯ãšãªã®æå³ãä¿æããããã«ã2ã€ã®ã¯ãšãªéã®é¡äŒŒåºŠãèšç®ããã¢ãã«ãåŠç¿ããã¢ãã«ã®åºåããã¹ã³ã¢ãå ±é
¬ãšããŠããŸãããŸããæžãæãåŸã®ã¯ãšãªãå€ãã®ååãããããããããã«ãæžãæãåŸã®ã¯ãšãªã«ãã£ãŠãããããååã®æ°ãå ±é
¬ãšããŠäžããŠããŸãã ææ¡ã¢ãã«ãå©çšãããŠãŒã¶ãŒã®éå»ã®å
¥åã«å¯Ÿããã¯ãšãªãæžãæããããŒã¿ããŒã¹çã«ãã£ãã·ã¥ããŸãããªã³ã©ã€ã³ã§ã¯ãŠãŒã¶ãŒãæ€çŽ¢ã¯ãšãªãå
¥åããéã«ããã£ãã·ã¥ããæžãæãåŸã®ã¯ãšãªãååŸããŠåæ€çŽ¢ãããããçæã¢ãã«ãå©çšããªãããéåžžã«äœãã¬ã€ãã³ã·ã§ã®ã¯ãšãªæžãæããå®çŸããŠããŸãã ãŸããææ¡ã¢ãã«ã¯ããŒã¹ã©ã€ã³ã®çæã¢ãã«ãšæ¯èŒããŠãã«ãã¬ããžã28ïŒ
åäžãããšå ±åãããŠããŸãã åŒçšïŒ Enhancing e-commerce product search through reinforcement learning-powered query reformulation ãŸãšã ä»åã¯0ä»¶ãããã®åé¿ã«çŠç¹ãåœãŠãã¯ãšãªæžãæãã®ææ³ã«ã€ããŠã«ãŒã«ããŒã¹ãæ©æ¢°åŠç¿ãçšããã¢ãããŒãã玹ä»ããŸããã æ€çŽ¢çµæã0ä»¶ããããšãªãããšã¯ããŠãŒã¶ãŒã«ãšã£ãŠæªãäœéšãšãªããé¢è±ãæ©äŒæå€±ã«ç¹ããå¯èœæ§ããããŸãããã®åé¡ã¯ããŠãŒã¶ãŒã«ããå
¥åãã¹ïŒã¿ã€ããã¹ãã«ãã¹ïŒãèšèã®å€æ§ãªè¡šçŸïŒå矩èªã»é¡çŸ©èªã衚èšããïŒãæ€çŽ¢æ¡ä»¶ã®çµã蟌ã¿ãããªã©ãæ§ã
ãªèŠå ã§çºçããŸãããŸãããã¡ãã·ã§ã³ãã¡ã€ã³ã§ã¯ãã¬ã³ãã®å€åã«ãã£ãŠæ°ããåèªã衚çŸãé »ç¹ã«ç»å ŽããŸãããã®ãããåžžã«ææ°ã®åèªã«å¯Ÿå¿ããããšã¯ã決ããŠå®¹æã§ã¯ãããŸããã ZOZOTOWNã®æ€çŽ¢æ©èœã«ãããŠãã0ä»¶ããããæžããããŠãŒã¶ãŒãæ±ããååãããã¹ã ãŒãºã«èŠã€ããããããã«ããããšã¯ãç¶ç¶çãªèª²é¡ã§ãã ZOZOã§ã¯ãäžç·ã«ãµãŒãã¹ãäœãäžããŠãããæ¹ãåéäžã§ãããèå³ã®ããæ¹ã¯ã以äžã®ãªã³ã¯ãããã²ãå¿åãã ããã corp.zozo.com Baymardã®ç ç©¶ã§ã Designing the "No Results" Page ãã«ãåæ§ãªèšåããªãããŠããŸãã ↩ Baymardã®ç ç©¶ã§ã Handling Misspellings on Search Results Pages ãã«ãåæ§ã®èšåããªãããŠããŸãã ↩ Christopher D. Manning, Prabhakar Raghavan, Hinrich SchÃŒtze. Introduction to Information Retrieval . Cambridge University Press, Chapter 9,2008. ↩ Bhaskar Mitra, Nick Craswell. An Introduction to Neural Information Retrieval . Microsoft Research, pages 49-50, 2018. ↩ Christopher D. Manning, Prabhakar Raghavan, Hinrich SchÃŒtze. Introduction to Information Retrieval . Cambridge University Press, Chapter 3,2008. ↩ Hurtado, Carlos A. and Poulovassilis, Alexandra and Wood, Peter T. A Relaxed Approach to RDF Querying . The Semantic Web - ISWC 2006, pages 314-328, 2006. ↩ Yuki Amemiya, Tomohiro Manabe, Sumio Fujita and Tetsuya Sakai. How Do Users Revise Zero-Hit Product Search Queries? . ECIR 2021. ↩ Tan, Zehong, Canran Xu, Mengjie Jiang, Hua Yang and Xiaoyuan Wu. â Query Rewrite for Null and Low Search Results in eCommerce. â eCOM@SIGIR (2017). ↩ Simiao Zuo, Qingyu Yin, Haoming Jiang, Shaohui Xi, Bing Yin, Chao Zhang, and Tuo Zhao. 2023. Context-Aware Query Rewriting for Improving Usersâ Search Experience on E-commerce Websites. In Proceedings of the 61st Annual Meeting of the Association for Computational Linguistics (Volume 5: Industry Track), pages 616â628, Toronto, Canada. Association for Computational Linguistics. ↩ Sanjay Agrawal, Srujana Merugu, and Vivek Sembium. 2023. Enhancing E-commerce Product Search through Reinforcement Learning-Powered Query Reformulation. In Proceedings of the 32nd ACM International Conference on Information and Knowledge Management (CIKM '23). Association for Computing Machinery, New York, NY, USA, 4488â4494. ↩
ã¯ããã« ããã«ã¡ã¯ãDeveloper Engagementãããã¯ã® @wiroha ã§ãã6æ19æ¥ã«ãWWDC25 å ±åäŒ at LINEã€ããŒ, ZOZOããéå¬ããŸãããAppleã®å¹Žæ¬¡éçºè
ã€ãã³ããWWDC25ãã§çºè¡šãããææ°æè¡ãç¥èŠã«ã€ããŠããšã³ãžãã¢ãããããã®èŠç¹ã§å
±æããã€ãã³ãã§ããæ¬èšäºã§ã¯ãªãã©ã€ã³ã§éå¬ããåœæ¥ã®æ§åãã¬ããŒãããŸãïŒ ãªããæ¬ã€ãã³ãã¯AppleãNDAãç· çµããéçºè
ã«ã®ã¿å
¬è¡šããŠããæ
å ±ãåãæ±ã£ãŠãããåå ã¯Apple Developer Programã«å å
¥ããŠããæ¹ã«éå®ããŠå®æœããŸãããæ¬ã¬ããŒããã»ãã·ã§ã³ã®è©³çްã¯å²æããé°å²æ°ããäŒãã§ããã°ãšæããŸãã lycorptech-jp.connpass.com ç»å£å
容ãŸãšã å瀟ã®ãšã³ãžãã¢ã«ããLTãšãçŸå°ã«åå ãããšã³ãžãã¢ã«ããããã«ãã£ã¹ã«ãã·ã§ã³ãè¡ããŸããã çºè¡šã¿ã€ãã« ç»å£è
2åç®ã®ãã€ãã S_Shimotori What's new in Foundation Model ã ãŒã¯ãŸ What's New in Apple Intelligence Tommy Finally Here! A Native WebView for SwiftUI ã»ãŒã¿ WWDC25 activities of LINE app MDX Team ikesyo FAANSã«ãããWriting Toolsã®æŽ»çš ã€ãã»ãŒ ããã«ãã£ã¹ã«ãã·ã§ã³ freddi, Masakaz Ozaki, ikkou 2åç®ã®ãã€ãã LINEã€ããŒã®S_Shimotoriããã«ããçºè¡š What's new in Foundation Model ZOZOã®ã ãŒã¯ãŸã«ããçºè¡š What's New in Apple Intelligence LINEã€ããŒã®Tommyããã«ããçºè¡š Finally Here! A Native WebView for SwiftUI ZOZOã®ã»ãŒã¿ã«ããçºè¡š WWDC25 activities of LINE app MDX Team LINEã€ããŒã®ikesyoããã«ããçºè¡š FAANSã«ãããWriting Toolsã®æŽ»çš ZOZOã®ã€ãã»ãŒã«ããçºè¡š ããã«ãã£ã¹ã«ãã·ã§ã³ ããã«ãã£ã¹ã«ãã·ã§ã³ã®æ§å ããã«ãã£ã¹ã«ãã·ã§ã³ã«ã¯ZOZOã®ikkouãSwift Students Community Japan Organizerã®Masakaz OzakiãããLINEã€ããŒã®freddiãããç»å£ããŸãããWWDC25ã§æ°ã«ãªã£ãçºè¡šãå®è£
ãããããšãåå ããŠè¯ãã£ãããšãªã©ãèªãããŸãããçŸå°ã§ã®ã³ãã¥ãã±ãŒã·ã§ã³ã倧åãšããã®ã¯ã¿ãªããå
±éã®æèŠã§ãã³ãã¥ããã£ã€ãã³ããžã®åå ãæµ·å€ã®æåãªãšã³ãžãã¢ãšã®äŒè©±ãªã©ã楜ããã ããã§ããè¡ãã¹ãããããã®å Žæã倱æè«ãšãã£ããä»åŸåå ããæ¹ã®åèã«ãªãæ
å ±ãå
±æãããŸããã æåŸã« ä»åã¯WWDC25ã®ææ°æ
å ±ãçŸå°ã®äœéšãå
±æãã貎éãªå ŽãšãªããŸããããåå ããã ããçããŸãããããšãããããŸããïŒ ZOZOã§ã¯ææ°æ
å ±ããã£ãããã€ã€ãäžç·ã«ãµãŒãã¹ãäœãäžããŠããã仲éãåéäžã§ãããèå³ã®ããæ¹ã¯ã以äžã®ãªã³ã¯ãããã²ãå¿åãã ããã hrmos.co corp.zozo.com
ã¯ããã« ããã«ã¡ã¯ãããŒã¿ã·ã¹ãã éšæšèŠåºç€ãããã¯ã®æ£æ¬ïŒ @i6tsux ïŒã§ãã ZOZOTOWNã«ã¯1,600ã®ã·ã§ããã9,000以äžã®ãã©ã³ãã100äžç¹ãè¶
ããååãéãŸããæ¯æ¥2,700ç¹ãã®æ°ååã远å ãããŠããŸãããã®èšå€§ãªååã®äžããã1,000äžäººä»¥äžã®ãŠãŒã¶ãŒããããã«ãããã ããšæããååãèŠã€ããŠããããŒãŒãã®ããã«ããŒãœãã©ã€ãºã¯æ¬ ãããªãæè¡ã§ãã ç§ãã¡ã®ããŒã ã§ã¯ãåã«å¥œã¿ã«åãååãèŠããã ãã§ãªãããæ°ããååãšã®åºäŒãããæäŸã§ããããŒãœãã©ã€ãºãç®æããŸãããããŒã ç»é¢ã®ã¢ãžã¥ãŒã«ã«è¡šç€ºããååããŠãŒã¶ãŒããšã«æé©ãªé çªã§äžŠã³æ¿ããä»çµã¿ãæ§ç¯ãããã®çµæã ã¢ãžã¥ãŒã«ã®ã¯ãªãã¯ååæ°ã58.3ïŒ
å¢å ãã¢ãžã¥ãŒã«çµç±ã®å泚éé¡ã26.3ïŒ
å¢å ãšããææãéæããŸããã æ¬èšäºã§ã¯ããã®åãçµã¿ã®èæ¯ãšãªã£ã課é¡ããæè¡çãªè§£æ±ºã¢ãããŒããã·ã¹ãã æ§æããããŠA/Bãã¹ãã§åŸãããææãŸã§è©³ãã解説ããŸãã ããŒãœãã©ã€ãºæ©èœãæšèŠã·ã¹ãã ã®éçºã«æºããæ¹ã
ã®åèã«ãªãã°å¹žãã§ãã ç®æ¬¡ ã¯ããã« ç®æ¬¡ èæ¯ã»èª²é¡ ã¢ãžã¥ãŒã«ãšã¯ çŸç¶ã®èª²é¡ ä»åã®å¯Ÿè±¡ïŒã«ããŽãªæšèŠã¢ãžã¥ãŒã« ããŒãœãã©ã€ãºããžã㯠èšèšæ¹é Two-Towerã¢ãã«ãšãã¯ãã«æ€çŽ¢ ãã¯ãã«æ€çŽ¢åºç€ã®éžå® 2段éåŠçã®èšèš ãããã¿ã€ãã³ã°ã«ããäºåæ€èšŒ ããŒãœãã©ã€ãºã·ã¹ãã ã·ã¹ãã æŠèŠ ã·ã¹ãã æ§æ ã¢ãã«ã®æŽåæ§æ
ä¿ A/Bãã¹ãã«ãã广æ€èšŒ ãã¹ãæŠèŠ çµæ ãŸãšããšä»åŸã®å±æ ãããã« èæ¯ã»èª²é¡ ã¢ãžã¥ãŒã«ãšã¯ ZOZOTOWNã®ããŒã ç»é¢ã¯ããŠãŒã¶ãŒãæåã«èšªããå Žæã§ãããååãšã®åºäŒããçã¿åºãéèŠãªæ¥ç¹ãšãªã£ãŠããŸãããã®ããŒã ç»é¢ã¯ãã¢ãžã¥ãŒã«ããšåŒã°ããåå衚瀺æ ã§æ§æããããããããç¹å®ã®ããŒãã§ååã玹ä»ããŠããŸãã äŸãã°ãã20代女æ§åãã¯ã³ããŒã¹ããæ³šç®ã®ã¢ãŠã¿ãŒç¹éããšãã£ãæ§ã
ãªåãå£ã§ååã蚎æ±ããŠããŸãã çŸç¶ã®èª²é¡ åŸæ¥ã®ã·ã¹ãã ã§ã¯ãã¢ãžã¥ãŒã«å
ã®åå衚瀺é ãå
šãŠãŒã¶ãŒå
±éã®äººæ°é ã«ãªã£ãŠããŸãããäŸãã°ã20代女æ§åãã¯ã³ããŒã¹ããšããã¢ãžã¥ãŒã«ã§ããååã¯äººæ°é ã§äžŠã¹ãããŠããããŠãŒã¶ãŒã®å¥œã¿ãéå»ã®è³Œè²·å±¥æŽã«é¢ããããå
šå¡ãåãååãåãé çªã§èŠãããšã«ãªã£ãŠããã®ã§ãã ä»åã®å¯Ÿè±¡ïŒã«ããŽãªæšèŠã¢ãžã¥ãŒã« ãã®ç¶æ³ãæ¹åãããããã¢ãžã¥ãŒã«å
ã®åå衚瀺é ããŠãŒã¶ãŒããšã«æé©åããŸãããæ°ããã¢ãžã¥ãŒã«ã®äžããããŸãã¯ããŒã ç»é¢äžéšã«3ã€è¡šç€ºããããã«ããŽãªæšèŠã¢ãžã¥ãŒã«ãã察象ã«éžã³ãŸããããã®ã¢ãžã¥ãŒã«ã¯ãçŽè¿ã®ãŠãŒã¶ãŒè¡åãå
ã«èå³ããããããªã«ããŽãªïŒã¢ãŠã¿ãŒããã³ããã·ã£ããªã©ïŒã®ååã衚瀺ããŸãã ã«ããŽãªæšèŠã¢ãžã¥ãŒã«ã¯2段éã®ä»çµã¿ã§åäœããŸãããŸãããŠãŒã¶ãŒããšã«ããŒãœãã©ã€ãºãããã«ããŽãªã»ãã©ã³ãã§çµã蟌ã¿ã次ã«ãã®æ¡ä»¶ã«åãååã人æ°é ã§è¡šç€ºããŸãããããããã®2段éç®ã®ã人æ°é 衚瀺ãã課é¡ã§ãããã«ããŽãªãšãã©ã³ããããŒãœãã©ã€ãºããŠããååã®è¡šç€ºé ã人æ°é ã§ã¯ãããŒãœãã©ã€ãºã®å¹æãååã«çºæ®ãããŸããã å³1: ZOZOTOWNããŒã ç»é¢ã«è¡šç€ºãããã«ããŽãªæšèŠã¢ãžã¥ãŒã«ã®äŸ ããŒãœãã©ã€ãºããžã㯠èšèšæ¹é ç§ãã¡æšèŠåºç€ããŒã ã¯ãZOZOTOWNã®ããŒãœãã©ã€ãºæ©èœå
šè¬ãæ
åœããŠããŸããæ¯å¹Ž OKR ãšãã圢åŒã§ããŒã ã®æ¹åæ§ã決ããŠãããä»å¹ŽåºŠã¯ãæ°ããªåºäŒããç®æããæ°èŠæ§ãšå€æ§æ§ã«éãã眮ãããšããç®æšãæ²ããŸãããããã¯ãé¢é£æ§ã ããè¿œãæ±ããããŒãœãã©ã€ãºã§ã¯ããŠãŒã¶ãŒã®èå³ãåºå®åããæ°ããªååãšã®åºäŒãã倱ãããŠããŸããšããèãããã§ãã ãã®ãããžã§ã¯ãã§ããããŒã ã®OKRã«æ²¿ã£ãŠãæ°ããªåºäŒããç®æããŠæ°èŠæ§ãšå€æ§æ§ãéèŠããããšã«ããŸããããã ãããŸã£ããèå³ã®ãªãååãèŠããŠãæå³ããªããããé¢é£æ§ãå«ãã3ã€ã®èŠçŽ ããã©ã³ã¹ããçµã¿åãããã¢ãããŒããæ¡çšããŸããã èŠçŽ ç®æãããš é¢é£æ§ ãŠãŒã¶ãŒã®èå³ã«åã£ãååãæšèŠãã æ°èŠæ§ ãŸã èŠãããšã®ãªãååãšåºäŒããæ©äŒãäœã 倿§æ§ åãã®ãªãå¹
åºãååãææ¡ãã Two-Towerã¢ãã«ãšãã¯ãã«æ€çŽ¢ ãããã®3èŠçŽ ãå®çŸããæå€§ã®èª²é¡ã¯ã1,000äžäººã®ãŠãŒã¶ãŒãš100äžç¹ã®ååãšããèšå€§ãªçµã¿åããã®äžãããåãŠãŒã¶ãŒãšã®é¢é£æ§ãé«ãååãèŠã€ãåºãããšã§ããã ãã®èª²é¡ã«å¯Ÿãã 以åã®èšäº ã§ç޹ä»ããTwo-Towerã¢ãã«ãä»åãæ¡çšããŸãããTwo-Towerã¢ãã«ã¯ããŠãŒã¶ãŒãšååãããããç¬ç«ãããã¥ãŒã©ã«ãããã¯ãŒã¯ïŒTowerïŒã§åŠçããåãæ¬¡å
ã®ãã¯ãã«ç©ºéã«åãèŸŒãææ³ã§ããé¢é£æ§ã®é«ããŠãŒã¶ãŒãšååã®ãã¯ãã«ãäºãã«è¿ããªãããã«åŠç¿ãããããããããŠãŒã¶ãŒã®ãã¯ãã«ããããã®ãŠãŒã¶ãŒã«é©ããååããã¯ãã«æ€çŽ¢ïŒè¿åæ¢çŽ¢ïŒã§ååŸã§ããããã«ãªããŸãã Two-Towerã¢ãã«ã®è©³ããä»çµã¿ã«ã€ããŠã¯ååã®èšäºããåç
§ãã ããã ãã¯ãã«æ€çŽ¢åºç€ã®éžå® ãã¯ãã«æ€çŽ¢ã®åºç€ãšããŠãGoogle Cloudã® Vertex AI Vector Search ãæ¡çšããŸãããäºåã«ååãã¯ãã«ãç»é²ããŠããããšã§ããŠãŒã¶ãŒãã¯ãã«ãšé¢é£æ§ã®é«ãååãé«éã«ååŸã§ããŸããæ¡çšçç±ã¯ä»¥äžã®éãã§ãã æ¡çšçç± è©³çŽ° æè»ãªãã£ã«ã¿ãªã³ã°æ©èœããã ãã©ã³ããã«ããŽãªãäŸ¡æ Œãªã©ã§ååããã£ã«ã¿ãªã³ã°ããäžã§ãã¯ãã«æ€çŽ¢ãå¯èœ 倿§æ§ç¢ºä¿ã®ä»çµã¿ããã ã¯ã©ãŠãã£ã³ã°æ©èœ ã«ãããåã屿§å€ïŒãã©ã³ããã«ããŽãªãªã©ïŒã®ååæ°ãå¶éããæ€çŽ¢çµæã®å€æ§æ§ã確ä¿å¯èœ å°æ¥çãªæ¡åŒµæ§ããã ä»åã¯ãããåŠçã§äœ¿çšããæ³å®ã ããå°æ¥çãªãªã¢ã«ã¿ã€ã åã®äºå®ããããããã«å¯Ÿå¿å¯èœ 2段éåŠçã®èšèš é¢é£æ§ã»æ°èŠæ§ã»å€æ§æ§ãå
ŒãåããããŒãœãã©ã€ãºãå®çŸããããã以äžã®2段éåŠçãèšèšããŸããã å³2: ããŒãœãã©ã€ãºåŠçã®2段éã¢ãããŒã 第1段éïŒè¿åã®ååååŸïŒé¢é£æ§Ã倿§æ§ïŒ Vertex AI Vector Searchã§ãŠãŒã¶ãŒãã¯ãã«ã«è¿ãååãæ€çŽ¢ããããšã§ã é¢é£æ§ ã®é«ãååãååŸããŸããåæã«ãã¯ã©ãŠãã£ã³ã°æ©èœã«ããåäžãã©ã³ããæå€§3ä»¶ã«å¶éããããšã§ã 倿§æ§ ã確ä¿ããŸããããã«ããããŠãŒã¶ãŒã®èå³ã«åããªããããæ§ã
ãªãã©ã³ãã®ååãåè£ãšããŠéžåºã§ããŸãã 第2段éïŒäžŠã³é 調æŽïŒæ°èŠæ§ïŒ ååŸããååã®äžãããæè¿ãŠãŒã¶ãŒãé²èЧããååã«ã¯ã¹ã³ã¢ã®ããã«ãã£ãå ãã衚瀺é ã調æŽããŸãããã®èª¿æŽã«ãã£ãŠããŠãŒã¶ãŒããŸã èŠãŠããªãååãåªå
çã«è¡šç€ºãããé¢é£æ§ãä¿ã¡ãªãã æ°èŠæ§ ã®é«ãååãšã®åºäŒããçãŸããããèšèšããŠããŸãã ãã®2段éåŠçã«ãããé¢é£æ§ã»æ°èŠæ§ã»å€æ§æ§ã®3èŠçŽ ãã¹ãŠãæºãããããŒãœãã©ã€ãºãå®çŸããŸãã å³3: ããŒãœãã©ã€ãºã«ãã£ãŠæåŸ
ãããåå衚瀺ã®å€å ãããã¿ã€ãã³ã°ã«ããäºåæ€èšŒ èšèšããã¢ãããŒãã®åŠ¥åœæ§ã確èªãããããæ¬æ Œçãªéçºã®åã« Gradio ã§æ€èšŒããŒã«ãäœæããŸããã ãã®ããŒã«ã§ã¯ãŠãŒã¶ãŒIDãå
¥åããã ãã§ããã®ãŠãŒã¶ãŒåãã«ããŒãœãã©ã€ãºãããååãªã¹ãããã©ãŠã¶äžã§ç¢ºèªã§ããŸããå®éã®åäœãèŠãããšã§ãåŸæ¥ã®äººæ°é 衚瀺ãšã®éããæç¢ºã«ãªããã¹ããŒã¯ãã«ããŒãžã®èª¬æã广çã«è¡ããŸããã ãããã¿ã€ãã³ã°ã§ã¢ãããŒãã®åŠ¥åœæ§ã確èªã§ããããšã§ãèªä¿¡ãæã£ãŠæ¬æ Œçãªéçºã«çæã§ããŸããã ããŒãœãã©ã€ãºã·ã¹ãã ã·ã¹ãã æŠèŠ äžè¿°ã®ãããªããŒãœãã©ã€ãºãæ¬çªç°å¢ã§éçšãããããåãŠãŒã¶ãŒã«æé©ãªååãªã¹ããçæã»é
ä¿¡ããã·ã¹ãã ãæ§ç¯ããŸãããTwo-Towerã¢ãã«ã®åŠç¿ã100äžååã®ãã¯ãã«çæãšã€ã³ããã¯ã¹æŽæ°ã1000äžäººãè¶
ãããŠãŒã¶ãŒãžã®æšèŠçµæã®çæãŸã§ããã¹ãŠãèªååããŠããŸãã ã·ã¹ãã ã®äžæ žãšãªãã®ã¯ããã¯ãã«æ€çŽ¢ã€ã³ããã¯ã¹ãš2ã€ã®ãããåŠçãã€ãã©ã€ã³ã§ãã æ¥æ¬¡ã§å®è¡ããããã€ãã©ã€ã³ã¯Two-Towerã¢ãã«ãåŠç¿ãããã¯ãã«æ€çŽ¢ã€ã³ããã¯ã¹ãæŽæ°ããŸããäžæ¹ã1æéæ¯ã«å®è¡ããããã€ãã©ã€ã³ã¯ãææ°ã®ãŠãŒã¶ãŒè¡åãåæ ããæšèŠååã®çæãæ
åœããŸããçæãããçµæã¯Bigtableã«ä¿åãããããŒã ç»é¢è¡šç€ºæã«äœã¬ã€ãã³ã·ã§é
ä¿¡ãããŸãã ã·ã¹ãã æ§æ å³4: ããŒãœãã©ã€ãºã·ã¹ãã ã®å
šäœæ§æ ã³ã³ããŒãã³ã åœ¹å² training-and-indexing-pipeline (Vertex AI Pipelines) æ¥æ¬¡ã§ä»¥äžã®åŠçãè¡ããã€ãã©ã€ã³ 1. Two-Towerã¢ãã«ïŒUser TowerãProduct TowerïŒãèšç·ŽããŠModel Registryã«ä¿å 2. Product Towerã䜿çšããŠå
šååïŒçŽ100äžä»¶ïŒã®ãã¯ãã«ãçæ 3. çæãããã¯ãã«ã§Vertex AI Vector Searchã®ã€ã³ããã¯ã¹ãæŽæ° module-personalization-pipeline (Vertex AI Pipelines) 1æéæ¯ã«ä»¥äžã®åŠçãè¡ããã€ãã©ã€ã³ 1. Model RegistryããUser Towerã¢ãã«ãååŸ 2. ææ°ã®ãŠãŒã¶ãŒç¹åŸŽéãšUser Towerã䜿çšããŠãŠãŒã¶ãŒãã¯ãã«ãçæ 3. ãŠãŒã¶ãŒãã¯ãã«ã®è¿åååãVertex AI Vector SearchããååŸ a. ã¯ã©ãŠãã£ã³ã°æ©èœã䜿çšããåäžãã©ã³ãã¯æå€§3ä»¶ã«å¶é 4. ååŸããååã«å¯ŸããŠæ°èŠæ§ãèæ
®ããäžŠã³æ¿ã 5. çµæãBigtableã«ä¿å product-vector-index (Vertex AI Vector Search) å
šååãã¯ãã«ãæ ŒçŽãããé«éæ€çŽ¢ã€ã³ããã¯ã¹ ã¢ãã«ã®æŽåæ§æ
ä¿ User TowerãšProduct Towerã¯å¿
ãåãããŒãžã§ã³ã®ã¢ãã«ã䜿çšããå¿
èŠããããŸããç°ãªãããŒãžã§ã³ã®ã¢ãã«ã䜿çšãããšããŠãŒã¶ãŒãã¯ãã«ãšååãã¯ãã«ãç°ãªããã¯ãã«ç©ºéã«åã蟌ãŸããŠããŸããé¡äŒŒåºŠèšç®ãæå³ããªããªããªããŸãã ãã®åé¡ãé²ãããã以äžã®ä»çµã¿ãå®è£
ããŸããã training-and-indexing-pipelineãæ°ããã¢ãã«ãèšç·Žããååãã¯ãã«ã®æŽæ°ãå®äº æŽæ°å®äºåŸãModel Registryã®è©²åœã¢ãã«ã«ãçŸåšã®ã€ã³ããã¯ã¹ãšåææžã¿ãã瀺ããšã€ãªã¢ã¹ãèšå® module-personalization-pipelineã¯åžžã«ãã®ãšã€ãªã¢ã¹ãæãã¢ãã«ãäœ¿çš ãã®æ¹åŒã«ãããååãã¯ãã«ãçæããã¢ãã«ãšåãããŒãžã§ã³ã§ãŠãŒã¶ãŒãã¯ãã«ãçæãããããšãä¿èšŒãããã¯ãã«ç©ºéã®æŽåæ§ãç¶æããŠããŸãã A/Bãã¹ãã«ãã广æ€èšŒ ãã¹ãæŠèŠ ããŒãœãã©ã€ãºã®å¹æãå®éçã«è©äŸ¡ããããã以äžã®èšå®ã§A/Bãã¹ãã宿œããŸããã é
ç® å
容 æé 28æ¥é 察象ãŠãŒã¶ãŒæ° çŽ500äžäºº 察象ã¢ãžã¥ãŒã« ã«ããŽãªæšèŠã¢ãžã¥ãŒã«ïŒããŒã ç»é¢ã®3ç®æïŒ Control矀 åŸæ¥ã®äººæ°é 衚瀺 Treatment矀 ããŒãœãã©ã€ãºããã䞊ã³é ïŒé¢é£æ§Ãæ°èŠæ§Ã倿§æ§ïŒ çµæ ãæ°ããªåºäŒãããç®æããããŒãœãã©ã€ãºããåªãããŠãŒã¶ãŒäœéšãšç¢ºããªããžãã¹ææã«ã€ãªãããŸããã ã«ããŽãªæšèŠã¢ãžã¥ãŒã«ã®çŽæ¥çãªææ ææš æ¹åçïŒTreatment/ControlïŒ 1人åœãããŠããŒã¯ååé²èŠ§æ° +18.8% 1人åœãããŠããŒã¯ãã©ã³ãé²èŠ§æ° +56.3% 1人åœãããŠããŒã¯ååã¯ãªãã¯æ° +58.3% 1人åœãããŠããŒã¯ãã©ã³ãã¯ãªãã¯æ° +63.3% 1人åœããã¢ãžã¥ãŒã«çµç±ã®å泚éé¡ +26.3% ãããã®çµæããããæ°ããªåºäŒãããç®æããããŒãœãã©ã€ãºã®æåã確èªã§ããŸããåã«é²èЧæ°ãå¢ããã ãã§ãªããã¯ãªãã¯æ°ã倧å¹
ã«å¢å ïŒåå+58.3ïŒ
ããã©ã³ã+63.3ïŒ
ïŒããŠããç¹ãéèŠã§ãã 衚瀺ãããæ°ããååã»ãã©ã³ãããŠãŒã¶ãŒã®èå³ãåŒããç©æ¥µçã«ã¯ãªãã¯ãããŠãã ããšã瀺ããŠããŸãããããŠå泚éé¡ã26.3ïŒ
åäžããæ°ããªåºäŒããããžãã¹äŸ¡å€ã«ãçµã³ã€ããŸããã ããã«ãã¢ãžã¥ãŒã«å
šäœã®ã«ãã¬ããžææšïŒå
šãŠãŒã¶ãŒã®è¡åãéèšããçµæïŒã倧å¹
ã«æ¹åããŸããã ææšïŒå
šãŠãŒã¶ãŒéèšïŒ æ¹åçïŒTreatment/ControlïŒ ãŠããŒã¯é²èЧååæ° +387.9% ãŠããŒã¯é²èЧãã©ã³ãæ° +62.4% ãŠããŒã¯ã¯ãªãã¯ååæ° +202.2% ãŠããŒã¯ã¯ãªãã¯ãã©ã³ãæ° +92.2% ãããã®çµæããã ããŒãœãã©ã€ãºã«ãã£ãŠã«ããŽãªæšèŠã¢ãžã¥ãŒã«ã§è¡šç€ºãããååã»ãã©ã³ãã®çš®é¡ã倧å¹
ã«å¢å ãã ããšãããããŸããåŸæ¥ã®äººæ°é ã§ã¯éãããååã»ãã©ã³ããã衚瀺ãããŸããã§ããããããŒãœãã©ã€ãºã«ãã£ãŠåãŠãŒã¶ãŒã«åããã倿§ãªååã衚瀺ãããããã«ãªããŸããããã®çµæãé²èЧãããååã®çš®é¡ã387.9ïŒ
å¢ãã¯ãªãã¯ãããååã®çš®é¡ã202.2ïŒ
å¢ãšããåçãªæ¹åãå®çŸããŸãããããã¯ã åãããŠããååãé©åãªãŠãŒã¶ãŒã«å±ããå®éã«èå³ãæãããŠãã ããšãæå³ããŠããŸãã ãµã€ãå
šäœãžã®åœ±é¿ ææš æ¹åçïŒTreatment/ControlïŒ 1人åœããåæ³šéé¡ +0.4% 1人åœãããæ°ã«å
¥ãååæ° +4.3% 1人åœãããæ°ã«å
¥ããã©ã³ãæ° +1.4% 1人åœãããµã€ã蚪åé »åºŠ +0.2% 1人åœããããŒã ç»é¢ã®èšªåé »åºŠ +0.2% ããŒã ç»é¢ã®3ã€ã®ã¢ãžã¥ãŒã«ãšããéå®çãªå€æŽã§ãããªããããµã€ãå
šäœã®KPIãåäžããŸããããæ°ã«å
¥ãç»é²ã®å¢å ã¯ã ããŒãœãã©ã€ãºã«ãã£ãŠèŠã€ããååã»ãã©ã³ãã«ããŠãŒã¶ãŒã匷ãèå³ãæã¡ãä»åŸã賌å
¥ãæ€èšããããšæãã ããšã瀺ããŠããŸãã蚪åé »åºŠã®åäžã¯ãæ°ããªååãšã®åºäŒããžã®æåŸ
æãçã¿åºããŠãã蚌æ ã§ãã ç¹ã«æ³šç®ãã¹ãã¯ã1人åœããåæ³šéé¡ã0.4ïŒ
åäžããããšã§ããäžèŠå°ããªæ°åã«èŠããŸããã ZOZOTOWNã®èŠæš¡ãèãããšéåžžã«å€§ããªããžãã¹ã€ã³ãã¯ã ãšãªããŸãã ãŸãšããšä»åŸã®å±æ ç§ãã¡ã¯ãæ°ããªåºäŒããç®æããæ°èŠæ§ãšå€æ§æ§ã«éãã眮ãããšããããŒã ã®OKRã«åºã¥ããZOZOTOWNããŒã ç»é¢ã®ããŒãœãã©ã€ãºã«åãçµã¿ãŸããã ãã®çµæã1人åœããã¯ãªãã¯ååæ°ã58.3ïŒ
å¢å ãã¢ãžã¥ãŒã«çµç±ã®å泚éé¡ã26.3ïŒ
å¢å ãšãã倧ããªææãéæãããã«ã衚瀺ãããååã®çš®é¡ã387.9ïŒ
å¢å ããåãããŠããååã«å
ãåœãŠãããšãã§ããŸããã æè¡é¢ã§ã¯ãTwo-Towerã¢ãã«ãšVertex AI Vector Searchãçµã¿åãããããšã§ãæ°èŠæ§ã»å€æ§æ§ãæèããããŒãœãã©ã€ãºãå®çŸã§ããŸããããŸãããããã¿ã€ãã³ã°ã«ããäºåæ€èšŒã®éèŠæ§ãåèªèããŸããã ä»åŸã¯ããã®æåãåºã«ä»¥äžã®å±éãé²ããŠãããŸãã ãããæšèŠãããªã¢ã«ã¿ã€ã æšèŠãžã®ç§»è¡ ããŒã ç»é¢ã®ä»ã¢ãžã¥ãŒã«ãžã®å±é ããŒã ç»é¢ä»¥å€ãžã®å±é ãããã« ããŒãœãã©ã€ãºã¯æè¡ã ãã®åé¡ã§ã¯ãããŸãããã©ã®ãããªäŸ¡å€ããŠãŒã¶ãŒã«å±ãããã®ãããã®æ³ãã圢ã«ããèšèšãéèŠã§ãã æ¬èšäºã§ç޹ä»ããææ³ãèãæ¹ããããŒãœãã©ã€ãºã·ã¹ãã ã®æ§ç¯ã«åãçµãçããŸã®åèã«ãªãã°å¹žãã§ãã ZOZOã§ã¯ãäžç·ã«ãµãŒãã¹ãäœãäžããŠãããæ¹ãåéäžã§ãããèå³ã®ããæ¹ã¯ã以äžã®ãªã³ã¯ãããã²ãå¿åãã ããã corp.zozo.com
ã¯ããã« æè¡æŠç¥éšã® @ikkou ã§ããXRãšããŒããŒãã奜ãã§ãç¹ã«Vision ProãšHHKB Studioã®çµã¿åããã倧奜ãã§ããçŸå°æå»ã§2025幎6æ8æ¥ã10æ¥ã«å¯Ÿé¢åœ¢åŒã§éå¬ããã WWDC25ã®Special Event ã«çŸå°åå ããŠããŸãããäœåãã®æ¹ã«ãäœåãåå ããŠãããããšèšãããŸããããåããŠã®çŸå°åå ã§ããïŒ æ¬èšäºã§ã¯ãçŸå°åå ãªãã§ã¯ã®ã€ãã³ããåœæ¥çºè¡šãããå
容ã«ã€ããŠãç§ã®èŠç¹ããéå ±ãšããŠãäŒãããŸãã ã¯ããã« WWDCãšSpecial Event Schedule äºåæºå ã»ãããŒã»ã«ã³ãã¡ã¬ã³ã¹åå æ¯æŽå¶åºŠ èªç©ºåžãšå®¿æ³å
ã®æé
Wallet passã®ç»é² éä¿¡ç°å¢ãšæ€èšŒçšããã€ã¹ Day 0 (June 8) Welcome reception Apple Design Awards Day 1 (6/9) Keynote Liquid Glass Apple Intelligence Download station Platforms State of the Union In-person labs Reception in the inner ring Day 2 (June 10) Developer activities (Morning session) çŸå°ã§ã®ã¢ã¯ãã£ãã㣠Run & Walk with Ctrl+Alt+Run - WWDC Edition WWDC25 Vision Pro Community Meetup A Vision Pro Spatial Art Experience for WWDC25 Flatland: Mixed Reality Dreams SpatialComputing Meetup @ WWDC25 ãããã« WWDC25é¢é£ã€ãã³ãã®ãç¥ãã WWDC25 Recap for Spatial Computing WWDC25 å ±åäŒ at LINEã€ããŒ, ZOZO LODGE XR Talk Vol.28 / WWDC25 & AWE USA 2025 Report WWDCãšSpecial Event WWDC(Worldwide Developers Conference)ã¯ãAppleãæ¯å¹Žéå¬ãã éçºè
åã ã®ã«ã³ãã¡ã¬ã³ã¹ã§ããKeynoteãPlatforms State of the UnionããããŠæ°å€ãã®ã»ãã·ã§ã³ãã©ããè¡ãããAppleã®ææ°æè¡ãéçºããŒã«ã«ã€ããŠåŠã¹ãŸããWWDCã¯ãAppleã®ææ°æè¡ãåŠã³ãä»ã®éçºè
ãšäº€æµããéèŠãªæ©äŒã§ããä»å¹Žã® WWDC25 ã¯6æ9æ¥ã13æ¥ã«ãªã³ã©ã€ã³ã§éå¬ãããŸããã ç§ãçŸå°åå ããSpecial Eventã¯ãã®WWDC25ã®äžéšãæ§æãã æåŸ
å¶ ã®ã€ãã³ãã§ããã»ãã·ã§ã³ã ãã§ããã°ãªã³ã©ã€ã³ã§ãäºè¶³ããŸãããäŸãã°ãªã³ã©ã€ã³ã®ã©ããšç°ãªãIn-person Labsã§ã¯Appleã®æ¹ããçŽæ¥ãã£ãŒãããã¯ãåããããŸãããŸãã6æ10æ¥ã«éå¬ãããSpecial SessionãçŸå°åå è
ã®ã¿ãåå ã§ããã€ãã³ãã§ãã Schedule Date Pacific Time Content Venue Day 0 (June 8) 3 p.m. Welcome reception Infinite Loop Day 1 (June 9) 8 a.m. Check-in Apple Park 10 a.m. Keynote Apple Park 12 p.m. Download station open Apple Park 12 p.m. Lunch Apple Park 1 p.m. Platforms State of the Union Apple Park 2 p.m. In-person labs Apple Park 4-5:30 p.m. Reception in the inner ring Apple Park Day 2 (June 10) 10 a.m. Activities at the Developer Center (Morning Session) Apple Developer Center Cupertino äºåæºå WWDC25 Special Eventã®æ¬ç·šãæ°ã«ãªãæ¹ã¯ Day 0ã®ããŒã ããèªã¿é²ããŠãã ãããããã§ã¯ãçŸå°ã«èµŽãåã®äºåæºåã«ã€ããŠãäŒãããŸãã ã»ãããŒã»ã«ã³ãã¡ã¬ã³ã¹åå æ¯æŽå¶åºŠ 4æ5æ¥ã®æ·±å€ã«åœéžã¡ãŒã«ãå±ããWWDC25ã®Special Eventã«åå ããããšã決ãŸããŸããããã®æç¹ã§æž¡èªæ¥ãŸã§2ãæçšåºŠãããããŸããã§ããã ZOZOã§ã¯çŠå©åçã®äžç°ãšããŠã ã»ãããŒã»ã«ã³ãã¡ã¬ã³ã¹åå æ¯æŽå¶åºŠ ããçšæãããŠããŸããåœå
ã®æè¡ã«ã³ãã¡ã¬ã³ã¹ã¯ãã¡ãããWWDCã®ãããªæµ·å€ã«ã³ãã¡ã¬ã³ã¹ã«åå ããéã¯ãäºåã«ç³è«ããããšã§åå è²»ãæž¡èªè²»ã¯ãã¡ããã宿æ³è²»ã«çŸå°ã§ã®äº€éè²»ãªã©ã®è«žçµè²»ãäŒç€Ÿãè² æ
ããŠãããŸãã ç§ã¯äŸå¹Žã幎å§ã«æ¬å¶åºŠãå©çšããŠCESã«åå ããŠããã®ã§ãä»åã¯æ¬å¶åºŠãå©çšããå幎ã¶ãã®æµ·å€åºåŒµã§ãããåç¬ã§ã®æµ·å€åºåŒµã¯äžå®ã®çµéšããã£ãã®ã§ããŸãã¯ææ©ãèªç©ºåžãšå®¿æ³å
ãªã©ãæé
ããŸããã èªç©ºåžãšå®¿æ³å
ã®æé
äŒå Žæå¯ãã®ç©ºæž¯ã¯ãµã³ããŒåœé空枯ïŒSJCïŒã§ãããä»åã¯ä¹ç¶äŸ¿ã®é¢ä¿ã§ãµã³ãã©ã³ã·ã¹ã³åœé空枯ïŒSFOïŒãå©çšããŸããããã©ã€ãäžã¯ Apple Musicã§å
¬éãããŠããWWDC25ã®ãã¬ã€ãªã¹ã ãèŽããªãããWWDC25ãžã®æ°æã¡ãé«ããŠããŸããã music.apple.com SFOããæåã®ç®çå°ã§ããInfinite LoopãŸã§ã®ç§»åã¯ãå®äŸ¡ã«æžãŸãããªãBARTãšCaltrainããããŠVTAãã¹ãªã©ã®å
Œ
±äº€éæ©é¢ã®çµã¿åããã§ããããã¢ã»ãã¥ã»ãã¢ã§2æéååŸããããŸãã察ããŠUberãå©çšããã°ã³ã¹ãã¯4åååŸã«ãªããŸããã30åçšåºŠã§å°çããŸããä»åã¯âã³ã¹ãâããâã¿ã€ãâãåªå
ããŠUberãå©çšããŸããã 宿æ³å
ã¯Infinite LoopããåŸæ©åå
ã®ããã«ã³ã¹ãã®è¯ã Cupertino Hotel ã«ããŸããããã®ããã«ã«ã¯ä»ã«ãWWDC25ã®åå è
ãå€ã宿æ³ããŠãããæé£äŒå Žããšã³ãã©ã³ã¹ã§è»ãåŸ
ã£ãŠããéãªã©ã«ä»ã®åå è
ãšèªç¶ã«äŒè©±ãçãŸããŸãããWWDC25ã®åå è
å士ã§ã®äº€æµã¯ãçŸå°åå ã®å€§ããªé
åã®ã²ãšã€ã§ãã Wallet passã®ç»é² äŒæãè¿ã¥ããšWallet passãã¡ãŒã«ã§å±ããŸããWWDC24ã§ãçºçããŠããããã§ãããåœåã iPhoneã®èšèªèšå®ããæ¥æ¬èªãã®ãŸãŸã ãšWallet passãæ£åžžã«è¡šç€ºãããªã äºè±¡ãçºçããŠããŸãããèšèªèšå®ããè±èªãã«å€æŽããŠããæ¹ããŠç»é²ã詊ã¿ããšãããç¡äºã«Wallet passã衚瀺ãããŸããããã®Wallet passã¯ãäŒå Žã§ã®ãã§ãã¯ã€ã³ã«å©çšããŸãã éä¿¡ç°å¢ãšæ€èšŒçšããã€ã¹ ç§ã¯iPhone 3G以åããã®ãœãããã³ã¯ãŠãŒã¶ãŒã§ãããœãããã³ã¯ã«ã¯é話ãšããŒã¿éä¿¡ãã¢ã¡ãªã«ã§äœ¿ãæŸé¡ã®ã ã¢ã¡ãªã«æŸé¡ ããšãããµãŒãã¹ãããããããå©çšããã°çŸå°ã§ã®éä¿¡ç°å¢ã¯æŠãè³ããŸããããã«ããã¯ã¢ãããšããŠAiraloã®eSIMãæ®æ®µé£ãã®iPhoneã«ã»ããããŠèšã¿ãŸããã äŸå¹ŽãWWDCã®æéäžã«æ°ããOSãçºè¡šãããããã«éçºè
ã®ã¿ãã€ã³ã¹ããŒã«ã§ãã Developer Preview ãå
¬éãããŸããããã§å¢ãããæ®æ®µé£ãã®iPhoneãã¢ããããŒãããŠããŸããšäžæž¬ã®äºæ
ãèµ·ãããšãã«å°ãã®ã§ãçŸå°ã§ã®æ€èšŒçšã«äºåã®iPhoneãæåããŠããŸãã åæ§ã«Vision Proãæã¡èŸŒãã§ããŸããããããã«ããã¯æ€èšŒçšã®äºåæ©ãŸã§çšæã§ããŸãããvisionOS 2ã®ç»å Žæã«ã¯ã¢ããããŒãã«å€±æã㊠Developer Strap ã«å©ããããèŠãæãåºããããŸããä»åã¯äœãèµ·ããªãããã«ç¥ããªããçŸå°ã«æã¡èŸŒã¿ãŸããã Day 0 (June 8) Day 0ã¯SFOã«å°çåŸãåŸè¿°ããWWDC25é¢é£ã€ãã³ãã3ä»¶ããªããŠãããInfinite Loopã§éå¬ãããWelcome receptionã«åå ããŸããã Welcome reception Welcome Receptionã¯åæ¥ãã§ãã¯ã€ã³ãå
Œããã€ãã³ãã§ãæšå¹Žã«åŒãç¶ãä»å¹ŽãAppleã®æ§æ¬ç€Ÿã§ããInfinite Loopã§éå¬ãããŸãããç¿æ¥ã®ã¡ã€ã³ã€ãã³ãã«æ©ããã䞊ã¶ããã«ã¯ããã®ã¿ã€ãã³ã°ã§ãããžãåãåã£ãŠããå¿
èŠããããŸãã Appleã®æ¹ãInfinite Loopã®åã§èšå¿µåçãæ®ã£ãŠãããŸãã ç§ã¯éå§æå»ã®15æå°ãåã«Infinite Loopãžãã©ãçããŸãããäŒå Žã«ã¯æ¢ã«å€ãã®åå è
ãéãŸã£ãŠããŠããããžãåãåãããã®è¡åãã§ããŠããŸãããã»ãã¥ãªãã£ãã§ãã¯ãå³ãããäŒå Žå
ã«å
¥ããã®ã¯16æéãã§ãããæã¶ãã§ã®åå è
ã¯ãã»ãã¥ãªãã£ãã§ãã¯ã«æéãããããªããããè¡åããã¹ã§ããŸããç¹ã«Day 0ã¯å€§ããªè·ç©ãå¿
èŠãšããããšã¯ããå€ããªãã®ã§ãæã¶ãã§ã®åå ã匷ãããããããŸãã å人ã®ADPã§åœéžããŠããã®ã§ZOZO, Inc.ã®è¡šèšããªããããžã ã»ãã¥ãªãã£ãã§ãã¯ãçµãããšãã³ã·ã§ã³ã®é«ãAppleã®çãããåºè¿ããŠãããŸããèªç¶ãšèªåã®ãã³ã·ã§ã³ãé«ãŸããŸããæ¥ããããããã«ãã€ã¿ããããŠãããŸããããããã§æéäžã«æºåž¯ãããããžãšããã«ãã£ãåãåããŸãã ãããžãšããã«ãã£ãåãåããšã³ãã©ã³ã¹ã WWDC25ã®ããã«ãã£ã¯ããŒãããã°ã»æ°Žçã»ã¹ãã©ããã»WWDC25ã®ãã³ãããžã»ããã§ããã äŒå Žã«å
¥ã£ãåŸã®éããæ¹ã¯èªç±ã§ããå®çªãšãèšããWWDC25ã®ã¢ãã¥ã¡ã³ãåã§åçãæ®ãã®ã¯ãã¡ãããã©ãããæ¥ãããã³ãæ¿ããããäŒå Žå
ã«çšæãããŠããã³ãŒã³ããŒã«ã²ãŒã ã§éãã ãããŠããæ¹ãããŸããã ãçŽæã®WWDC25ã¢ãã¥ã¡ã³ãåã§ã®èšå¿µæ®åœ±ã ã©ãããæ¥ããã瀺ããã³ãæãããŒãïŒãŸã å
¥å ŽããŠããªãæ¹ãäžå®æ°ãã16:45æç¹ïŒã ãŸããäŒå Žå
ã§ã¯é£ã¹ç©ãšé£²ã¿ç©ãç¡éã«æäŸãããŠããŠãé£ã¹ãã飲ãã ãããªããåå è
åå£«ã§æ¥œããäŒè©±ãããªã©ãæãæãã«éãããŠããŸããã ãã³ããŒã¬ãŒç³»ã®ãã®ã®ä»ãåæããå°ããªãŸãã䞌ãªã©ãçšæãããŠããŸããã äžåºŠID Checkããã°ã¢ã«ã³ãŒã«ãå«ããŠé£²ã¿ç©ã¯èªç±ã«é£²ããŸããã ãªããå¯ããªã£ãé åãã§ãœããã¯ãªãŒã ãé£ã¹ãŠããŸããŸããã Apple Design Awards Welcome receptionãšåãäŒå Žå
ã§2025幎ã®ã Apple Design Awards ãã®åè³äœåã«ããããŒã¹ãèšããããŠããŸãããåè³è
ãæäžããããããã£ãŒã®ãµã³ãã«ãå±ç€ºãããŠããŠããã®ãã£ããéãæè§Šã«æããæåããŸããã å
š6ã«ããŽãªãŒããšã«åè³äœåã®ããŒã¹ãèšããããŠããŸããã Apple Design Awardsã®ãããã£ãŒã®ãµã³ãã«ã ã¯ããŒãºãã7 p.m.ãè¿ã¥ããé ãä»å¹Žã®ã Swift Student Challenge ãã§æ¥æ¬äººãšããŠå¯äžã®åªç§åè³è
ã§ããæ¿±æ¬ 倪èŒããã«ãäŒãã§ããŸãããæ¿±æ¬ããã®ããšã¯åè³ã®èšäºãèŠãŠåºçºåããæ°ã«ãªã£ãŠããã®ã§ãçŽæ¥ã話ãã§ããŠãšãŠãå¬ããã£ãã§ãã Hanafuda Tactics ã®Vision Pro察å¿ã楜ãã¿ã«ããŠããŸãïŒ æ¿±æ¬ å€ªèŒãããšèšå¿µæ®åœ± Photo by @toyochang ããã ããããŠDay 0ã¯ç¡äºã«çµäºããŸãããç¿æ¥ããã®ã¡ã€ã³ã€ãã³ãã«åããŠæ©ãã«äŒã¿ãŸãããã Day 1 (6/9) developer.apple.com Day 1ã¯WWDC25ã®ã¡ã€ã³ã€ãã³ãã§ãã Keynote ãš Platforms State of the Union ããã㊠In-person labs ãªã©ãå¬ãããŸããã äŒå Žã¯Apple Parkã§ãããå
¥å Žåã®åŸ
æ©åã¯Apple Park Visitor Centerã®è£æã«åœ¢æãããŸãããã®åŸ
æ©åãžäžŠã¶ãšããããã€ãã³ãã¯å§ãŸã£ãŠãããšãã£ãŠãéèšã§ã¯ãããŸãããéå Žæéã¯8 a.m.ã§ãããç§ã¯LINEã€ããŒã®åå è
ããšãšãã«6 a.m.é ãã䞊ã³å§ããŸãããæååã®æ¹ã¯æãããªãåãã䞊ãã§ããããã§ããæ¥ãå°ã蟌ãåã®æé垯ã¯èå¯ãã®ã§ã絶察ã«èæã®äžçãæåããããšãããããããŸãã éå ŽãåŸ
ã£ãŠãããšApple Park Visitor Centerã«äœµèšãããŠããCaffÚ Macsã®ããŒãããã³ãŒããŒãæäŸãããŸãããããããšãŠãçŸå³ãããŠãæããããããããŠããŸããŸããã CaffÚ Macsã®ããŒãããã³ãŒããŒã å®å»ãè¿ã¥ãã«é£ããAppleã®æ¹ããããïŒãããïŒããã£ãŒã·ãŒïŒãã³ãŒã«ãç¹°ãè¿ã倧ãã«çãäžããŠãããŸããããŸã«âéè¯âã®æãå£°ãæ··ãã£ãŠããŸãããå®å»çŽåã®æ§åãTim Cookæ°ã®XïŒæ§TwitterïŒã« æçš¿ãããŠããŸãã ãå®ã¯éå§3ã4ç§ã«æ ã蟌ãã§ããŸãã ãããŠããããå®å»ã®8 a.m.ãéãããšããã§åãåãå§ããŸãããæåã®ã²ãŒãã§ãããžãã¹ãã£ã³ããæ¬¡ã®ã²ãŒãã§ã»ãã¥ãªãã£ãã§ãã¯ãåããŸããã»ãã¥ãªãã£ãã§ãã¯ã¯Day 0åæ§ã«å³éã§ããäŒå Žå
ã§ããã«æ€èšŒãããããšãèãããšãããã«æã¶ãã§ã®åå ã¯é£ããã®ã§ãè·ç©ã¯ã§ããã ãå°ãªãããŠããããšãããããããŸããããã§ã䞊ã¶ã¬ãŒã³ã«ãã£ãŠã¯æéããããã®ã§é次第ãšããåŽé¢ãåŠããŸããã§ããã çµæãšããŠç§ã¯åæ¹2åç®ã®äžæå¯ãã®åº§åžã確ä¿ã§ããŸãããæšå¹Žãåæ¹ã®åº§åžã¯Enterprise Gueståãã«ç¢ºä¿ãããŠããã®ã§ãä»å¹Žã¯ç«¯ã®æ¹ãšã¯ããåæ¹ã®åº§åžã確ä¿ã§ããã®ã¯å¹žéã ã£ããšèšãããããããŸããããã ãããã®äžæåŽã屿 ¹ã¯ãããã®ã®æãã«å°ã蟌ãéœå°ããéåžžã«åŒ·ããKeynoteäžã¯æããšã®æŠãã§ãããæ¥å¹Žä»¥éã«ãã®ãšãªã¢ãçãæ¹ã¯ãæ¥çŒãæ¢ããå¡ã£ãŠããããšã匷ãããããããŸãã åãã2åç®ã®äžæå¯ãã®åº§åžããèŠãã¹ããŒãžã®æ§åã 座åžã確ä¿åŸãKeynoteãå§ãŸããŸã§ã®æéã§LINEã€ããŒã®æ¹ã
ããšäžç·ã«æé£ã楜ãã¿ãŸããã 座åžãé¢ããéã¯å¿µã®ããã«AirTagãªã©ã®ãã©ãã«ãŒãå
¥ããŠãããšå®å¿ã§ããŸã ã åæå»ã«æ¥æ¬ã§ã¯ZOZOã®iOSãšã³ãžãã¢ãç»å£ããã Extended Tokyo - WWDC 2025 ããéå¬ãããŠããŠãçäžç¶ãè¡ãããŠããŸããã Keynote www.youtube.com å®å»ãè¿ããæšå¹Žåæ§ã«CEOã®Tim Cookæ°ãšSenior Vice Presidentã®Craig Federighiæ°ãå£äžã«ç»å Žããçãæéã§ããããŒã¯ããŸããããã®æ§åãã¢ãŒã«ã€ãã«ã¯æ®ããªãçŸå°ãªãã§ã¯ã®äœéšã§ãããã®åŸãKeynoteæ¬ç·šã®ãããªãäŒå Žå
ã®ã¹ã¯ãªãŒã³ã§åçãããŸããã CEOã®Tim Cookæ°ãšSenior Vice Presidentã®Craig Federighiæ°ã Liquid Glass ä»åã®WWDCã§ã¯OSããŒãžã§ã³ã西æŠã«ããããiOS 26ãªã©ã«ãããšãã£ã倧èãªå€æŽããããŸãããããããäžçªã®ç®çã§ããããŠãŒã¶ãŒãšéçºè
ã®åæ¹ã«ãšã£ãŠå€§ããªå€åãšãªãã®ã¯ Liquid Glass ã®çºè¡šã§ã¯ãªãã§ããããã www.apple.com 倧èãã€å€§ããªå€åã§ãããXRå±ã®ç§ãšããŠã¯visionOSã®ç³»èãä»OSã«æ³¢åãããšèããŠããŸãããã®visionOSã«ãæ§ã
ãªã¢ããããŒããå ãããã空éã³ã³ãã¥ãŒãã£ã³ã°ã®çºå±ã«å€§ããå¯äžããããšãæåŸ
ãããŸãã Apple Intelligence æšå¹Žã®WWDC24ã§çºè¡šããã Apple Intelligence ãé²åããããããXcodeã«ChatGPTãçµ±åãããŸããããããäŒå Žã沞ããããããã¯ã®ã²ãšã€ã§ããKeynoteã§ã¯ChatGPTãšã®çµ±åãæšããŠããŸããããäŸãã° Claude Sonnet 4ãªã©èªèº«ã§ã¢ãã«ãéžæã§ããŸã ã developer.apple.com Download station KeynoteãšPlatforms State of the Unionã®éã®çŽ90åéã¯ã©ã³ãã¿ã€ã ãšãªããåæã«äŒå Žå
ã®Download stationããªãŒãã³ããŸãããDownload stationã«ã¯é»æºãšæç·LANãçšæãããŠããŸããäŒå Žå
ã«ã¯é«éãªWi-Fiãé£ãã§ããã®ã§ãææ©ãã©ã³ããæžãŸããiPhoneãšVision Proã®ã¢ããããŒãã詊ã¿ãŸããïŒå°ãªããšããã®èšäºãæžããŠããæç¹ã§å€§ããªåé¡ã¯çºçããŠããŸããïŒã Download stationã¯äŒå Žå
ã«è€æ°çšæãããŠããŸããã ããã§ã²ãšã€ãã©ãã«ãããããã£ããæåããæ€èšŒçšã®iPhoneãããã«ã«çœ®ããŠããŠããšã«æ°ã¥ããŸããããããç¹å®ã®ã¢ããªãåäœããªããªã£ãå Žåãç¹ã«UberãLyftãèªç©ºäŒç€Ÿã®ã¢ããªã§äžæž¬ã®äºæ
ãçºçãããšéäžãå³ãããã®ã«ãªããŸãããããããããšãªãã°æ€èšŒçšã®iPhoneã«å¿
èŠãªãã®ãã€ã³ã¹ããŒã«ããã°æžãã®ã§ãæœãæ®æ®µäœ¿ãã®iPhoneã«iOS 26ãã€ã³ã¹ããŒã«ããããšã«ãªããŸããã ä»åºŠã€ãã³ãã§è©±ã3人ã§éåïŒ ã¿ããªã§visionOS26ãããŠã³ããŒãããŠãŸãð #WWDC25 pic.twitter.com/2SSDPmv411 — ARããããá¯
/ MESON CEO (@AR_Ojisan) 2025幎6æ9æ¥ visionOSã«åŒ·ãé¢å¿ãå¯ããå奜ã®å£«ãåæµãã3人ã§Vision Proãè£
çããªããã¢ããããŒããåŸ
ã¡ããã®ãŸãŸæ¬¡ã®Platforms State of the UnionãžãšåãããŸããã äœè«ã§ãããç§ã®Vision Proã«çããŠãããªã¬ã³ãžè²ã®ã«ããŒã¯ dbrandã®Aperture ã§ããäŒå Žå
ã§ãæ°ã«ãªã£ãæ¹ãå€ãã®ããåçãæ®ãããŠãã ãããšå£°ãæããããããšãäœåºŠããããŸããã Platforms State of the Union www.youtube.com www.youtube.com KeynoteãèŠãŠããåæ¹ã®åº§åžã¯åŒãç¶ã匷ãéœå°ãã«ç
§ããããŠãããããPlatforms State of the Unionã¯å»ºç©å
ã«ç§»åããŸãããiOS 26ãvisionOS 26ãšãã«ã¢ããããŒããæžãã§ããã®ã§ããã®å€åãããå
·äœçã«æ³åããªããèŠèŽããŸããã Platforms State of the Unionã®æ§åã In-person labs KeynoteãPlatforms State of the Unionãšãã«Apple DeveloperãŸãã¯YouTubeã§ã¢ãŒã«ã€ããèŠèŽã§ããŸããèŠèŽããã ãã§ããã°ãç¹ã«çŸå°åå ããå¿
èŠã¯ãããŸãããããããâ宿³âãæ¥œããã«ããªã³ã©ã€ã³åå ã®æ¹ã«å©ããããŸããããããAppleã®æ¹ãšå¯Ÿé¢ã§äŒè©±ã§ãã In-person labs ã¯çŸå°åå ãªãã§ã¯ã®ç¹æš©ã§ããééå³ã§ãã ãã®In-person labsã¯Day 2ã«çšæãããŠããOne-on-one labsãgroup labãšç°ãªããååãšããŠäºåäºçŽãäžèŠã§ãïŒDesign & AX DesignãšApp Store Distribution & Servicesã®2ã€ã®ã¿å¿
èŠïŒãæ°ã«ãªãã«ããŽãªãŒã®ãšãªã¢ã«è¡ãããã®å Žã§å£°ããããŠååéã®ã¹ãã·ã£ãªã¹ããšäŒè©±ã§ããŸãã In-person labsã®ã«ããŽãªãŒããšã®é
眮å³ã ç§ã¯Spatial ComputingãšSafari & Webã®ããŒã¹ã«ç«ã¡å¯ããAppleãèãã空éã³ã³ãã¥ãŒãã£ã³ã°ãWebXRã®å°æ¥ã«ã€ããŠã®äŒè©±ã楜ãã¿ãŸããã Spatial Computingã©ãã®æ§åã Reception in the inner ring In-person labsã§ã®äŒè©±ã楜ããã åŸã¯Apple Parkã®ãªã³ã°å
ãå·¡ã Reception in the inner ring ãæ¥œãã¿ãŸããã Keynoteã§Craig Federighiæ°ãä¹ã£ãŠããF1ã«ãŒã æåãªè¹ã®ã¢ãŒãã æ¬ç©ãšèŠééãããããªâäººå·¥æ± âã«ãè¡ãããã£ãã®ã§ãããè¹ã®ã¢ãŒããå«ããŠäžå®æéãçµéããåŸã«å°éãããŠããŸã£ãã®ã¯æ®å¿µã§ããããŸããApple Parkã®å
šäœãèŠæž¡ãã2Fã3Fã«ãè¡ããŸããã§ãããããã§ãã飲ã¿ç©ãšé£ã¹ç©ãçæã«Apple Parkã®çŸããæ¯è²ã楜ãã¿ãªãããåå è
å士ã§äŒè©±ãååã«æ¥œãããŸãããæ¢ã«iOS 26ã«ã¢ããããŒãããŠããããšããããå®éã®ç»é¢ãèŠãªããã®äŒè©±ãã§ããŸããã Day 2 (June 10) developer.apple.com Special Eventã®æçµæ¥ãšãªãDay 2ã¯Apple Developer Center Cupertinoã§éçºè
åãã®Developer activitiesãéå¬ãããŸããã Morningã»Afternoonã»Eveningã®3ã€ã®æé垯ããéžæããŠäºåã«äºçŽããã®ã§ãããç§ã¯ãã®äºçŽã«åºé
ããŠæ°ä»ãããšãã«ã¯æ¢ã«ãã¹ãŠã®æ ãåãŸã£ãŠããŸããããã®ããã空ãç¶æ³ã«å¿ããŠå
çé ã§å©çšã§ãã Overflow seating ã®åŸ
æ©åã«å°äžæéã»ã©äžŠãã§Morning Sessionæ ã«åå ããŸããã äŸå¹Žã¯äžŠã¹ã°ã¹ããŒãžã®ããç¹å¥ãªããŒã«ã«å
¥ããŸããããä»å¹Žã¯äŸå¹Žããã人æ°ãå€ãã£ãã®ããOverflow seatingãšããŠæ¡å
ãããã®ã¯60人çšåºŠãå
¥ããçšåºŠã®äŒè°å®€ã§ããããŸããOverflow seatingã䞊ãã§ãã人ãå
šå¡å
¥å Žã§ããããã§ã¯ãªããäžå®ã®ãšããã§æã¡åãã«ãªããæ®å¿µãªããåå ã§ããªãã£ã人ãããŸãããæ¥å¹Žä»¥éã®åŸåãšå¯ŸçãšããŠãäºåäºçŽã¯å¿
é ãšããŠããããéããå Žåã¯1æé以äžåãã䞊ã¶èŠæã§èšãããšãããããããŸãã Developer activities (Morning session) KeynoteãState of the Unionãšç°ãªããDeveloper activitiesã®å
容ã¯å
¬éãããŸãããæ°ãã«çºè¡šãããLiquid Glassãäžå¿ãšããŠããã®ç¹é·ãå
·äœçãªæŽ»çšæ¹æ³ã«ã€ããŠãã©ã€ããã¢ã亀ããªããAppleã®æ¹ãå
¥ãæ¿ããç«ã¡æ¿ããã§è§£èª¬ããŠãããŸããã Developer activitiesã®ã¹ããŒãžã Overflow seatingã®ã©ã€ããã¥ãŒã€ã³ã°ã«ãŒã ã¯âã©ã€ãæâãå³ããã«ã¯ç©è¶³ããªãããããŸããããã³ãŒãã䌎ãã©ã€ããã¢ã¯éåžžã«èŠããããããã¯ããã§ããããã§ããã Overflow seatingã®ã©ã€ããã¥ãŒã€ã³ã°ã«ãŒã ã çµäºåŸã«ã¯ãäŒå Žå
ã«çšæãããã©ã³ããã€ãŸã¿ãªãããAppleã®æ¹ãåå è
åå£«ã§æ¥œãã亀æµããŸããã Developer activitiesçµäºåŸã«æäŸãããã©ã³ãã ããã以ãŠç§ã®WWDC25 Special Eventã¯çµäºããŸãããSpecial Eventãçµãã£ãŠãWWDCã¯ç¶ããŸããåŒãç¶ãé¢é£ã»ãã·ã§ã³ãçºããæå
ã§åããæ¥ã
ãå§ãŸããŸãïŒ çŸå°ã§ã®ã¢ã¯ãã£ãã㣠WWDCã®éå¬äžã»éå¬åŸã«äžçååœã®éçºè
ã³ãã¥ããã£ãWWDCã«é¢é£ããã€ãã³ããéå¬ããŸãã ãããã®ã€ãã³ãã®å€ãã¯WWDC25ã®å
¬åŒããŒãžã§ã玹ä»ãããŠããŸã ãç§ã¯æ»åšäžã®3æ¥éã§æ¬¡ã®ã€ãã³ãã«åå ããŸããã Jun 8, Run & Walk with Ctrl+Alt+Run - WWDC Edition Jun 8, WWDC25 Vision Pro Community Meetup Jun 8, A Vision Pro Spatial Art Experience for WWDC25 Flatland: Mixed Reality Dreams Jun 9, Vision Pro Meetup at CommunityKit Jun 9, Spatial Computing Meetup @ WWDC25 Jun 10, One More Thing Conference 2025 Jun 10, CommunityKit ç¹ã«å°è±¡ã«æ®ã£ããã®ã玹ä»ããŸãã Run & Walk with Ctrl+Alt+Run - WWDC Edition Day 0ã®8 a.m.ããCtrl+Alt+RunïŒ @ctrlaltrunph ïŒãäž»å¬ããã Run & Walk ãã€ãã³ãã«åå ããŸãããDay 0ã¯3 p.m.ã¹ã¿ãŒããªã®ã§ãæã®æéãæå¹æŽ»çšããããšæãäºåã«ç³ã蟌ãã§ããŸããã RunçµãWalkçµãåãã³ãŒã¹ãå·¡ããŸããã Apple Park Visitor Centerã«éåããç°¡åãªèªå·±ç޹ä»ã®åŸãRunçµãšWalkçµã«åãããããã4kmã®éã®ããé²ã¿ãŸãããç§ã¯åæ¥ã®7 a.m.ã«SFOãžå°çããã°ããã§ãäžå®ã®ç²ããããããšãæ³å®ããŠWalkãéžãã§ããŸãããããããããªããã£ãããšããããŒã¹ã§èµ°ã£ãŠããããŒã ããã£ãã®ã§ãRunã«åå ããŠãããã£ããããããŸããïŒèµ°ããéŽãå±¥ããŠããŠããŸããïŒïŒã ãŽãŒã«åŸã«æäŸãããããã©ã«ãŠã©ãŒã¿ãŒã æ°æã¡ããæ©ããŠãŽãŒã«ããåŸãããã©ã«ãŠã©ãŒã¿ãŒãé
ãããåå è
å士ã§WWDC25ãžã®æåŸ
ãèªãåããŸããã WWDC25 Vision Pro Community Meetup Run & Walkã®åŸã¯Ctrl+Alt+Runã®äž»å¬è
ã«ããå¥ã®ã€ãã³ãã WWDC25 Vision Pro Community Meetup ãã«ãã®ãŸãŸåå ããŸãããååãããã¯Run & Walkããã®åå è
ã§ãããããã®Meetupã®ããã«åå ããæ¹ãäžå®æ°ããŸããã 仲è¯ããªã£ã4人ã§èšå¿µæ®åœ±ã ãã®å Žã§ææ°æåããŠä»²è¯ããªã£ãæ¹ã
ãšVision ProãRay-Ban Meta AI Glassesãªã©ã®è©±ã«è±ãå²ãããŸããããããŠå¶ç¶ã«ãç§ã®é£ã«ããç·æ§ã¯ã4æã«å¯©æ»å¡ãšããŠåå ããããã«ãœã³ã€ãã³ãã VisionDevCamp Tokyo ãã®åå è
ãšããããšã倿ãããšãŠãé©ããŸããããããã£ãåºäŒãããªã¢ã«ã€ãã³ãã®ééå³ã§ããæåŸã«4人ã§åçãæ®ã£ãŠè§£æ£ããŸããã A Vision Pro Spatial Art Experience for WWDC25 Flatland: Mixed Reality Dreams Day 0ã®å
¥å Žééã«Vision Proã䜿ã£ãã¢ãŒãäœéšã€ãã³ãã A Vision Pro Spatial Art Experience for WWDC25 Flatland: Mixed Reality Dreams ãã«åå ããŸããã æ¥å Žè
ã®ãµã€ã³ãå ããããããŒã äŒå Žã¯Apple Park Visitor CenterããUberã§5åçšåºŠã®ãšããã«ããäžè»å®¶ã§ãAirbnbã§æ¢ããŠåããããã§ãã åçã«åã£ãŠããªããã®ãå«ããŠå
š7å°ã®Vision Proã§èšãã§ããŸããã ãã®ã€ãã³ãã¯App Storeã«ããªãªãŒã¹ãããŠããILLUSION Techã®Vision Proåãã¢ããªã Story: Spatial Storytelling ããå©çšããŠå¶äœããããã®ã§ãç§ã¯ãšãŠã楜ãããŸããã SpatialComputing Meetup @ WWDC25 äž»å¬è
ã®ZacïŒ @greenlig ïŒæ°ã亀ããŠèšå¿µæ®åœ±ã Day 1ã®ReceptionåŸã«å°ãé¢ããå Žæã®PUBã§å¬ãããã SpatialComputing Meetup @ WWDC25 ãã«åå ããŸãããããªãŒããªã³ã¯ã§å
¥éå Žèªç±ã®ã€ãã³ãã§ãVision Proã«èå³ãæã€æ¹ã
ãéãŸããèªç±ã«äŒè©±ã楜ãã¿ãŸããã ãããã« æ¬èšäºã¯Day 2çµäºåŸã«ããã«ã§HHKBãæ¥ç¶ããVision Proã®Macä»®æ³ãã£ã¹ãã¬ã€ã§å·çããŠããŸããç§ã¯ãã®åŸã AWE USA 2025 ã«åå ããããæ©æã®ãã©ã€ãã§ããµã³ãŒã«ã¹ã®ãã³ã°ããŒãã«åãããŸããAndroid XRãªã©ã®æ
å ±ãæåŸ
ãããAWE USA 2025ã®æ§åã¯ãåŸæ¥å¥ã®èšäºã§ãäŒãããŸãã ãŸããåŸæ¥ãWWDC25ã«ãªã³ã©ã€ã³åå ããŠããiOSãšã³ãžãã¢ããŒã ã«ãããã»ãã·ã§ã³ãåå ããã©ãã§åŸãç¥èŠãªã©ã玹ä»ããã¬ããŒãèšäºãå
¬éäºå®ã§ãã çŸå Žããã¯ä»¥äžã§ãïŒ WWDC25é¢é£ã€ãã³ãã®ãç¥ãã WWDC25ã®éå¬ã«ããããŠãæ§ã
ãªRecapã€ãã³ããå ±åäŒãäºå®ãããŠããŸãããã®ããã€ãã«ç»å£ããŸãã WWDC25 Recap for Spatial Computing 6æ16æ¥ã«TOKYO NODE LABã§éå¬ãããã WWDC25 Recap for Spatial Computing ãã«ç»å£ããŸãã WWDC25ã§çºè¡šããã 空éã³ã³ãã¥ãŒãã£ã³ã° é¢é£ã®æ
å ±ã«ç¹åããŠã空éã³ã³ãã¥ãŒãã£ã³ã°ã«äžå®¶èšãã3åãããã«ãã£ã¹ã«ãã·ã§ã³åœ¢åŒã§ä»åŸã®å¯èœæ§ã«ã€ããŠæ·±æãããŠãããŸãã WWDC25 å ±åäŒ at LINEã€ããŒ, ZOZO 6æ19æ¥ã«ãLINEã€ããŒãšZOZOã®ãšã³ãžãã¢ãããããããèå³ã®ããåéã«ã€ããŠãæ°ããçºè¡šãããæè¡ãåŸãç¥èŠãæ
å ±ãªã©ãå
±æããã WWDC25 å ±åäŒ at LINEã€ããŒ, ZOZO ããéå¬ããŸãã ZOZOããã¯3åã®iOSãšã³ãžãã¢ãLT Sessionã«ç»å£ããŸãããŸããç§ã¯ããã«ãã£ã¹ã«ãã·ã§ã³ã®ããã©ãŒã®ã²ãšããšããŠåå ããŸãããèå³ã®ããæ¹ã¯ãã²ãåå ãã ããã LODGE XR Talk Vol.28 / WWDC25 & AWE USA 2025 Report 6æ25æ¥ã«LODGEã§éå¬ãããã LODGE XR Talk Vol.28 / WWDC25 & AWE USA 2025 Report ãã«ç»å£ããŸãã LODGE XR Talkã¯LINEã€ããŒã®æ¹ãšå
±åã§æ¯æéå¬ããŠããXRé åã«ç¹åããã€ãã³ãã§ãä»åã¯WWDC25ãšããã®åŸã«åå ããAWE USA 2025ã®2ã€ã®ã€ãã³ãã«ã€ããŠç޹ä»ããŸãã ZOZOã§ã¯ãäžç·ã«ãµãŒãã¹ãäœãäžããŠããã仲éãåéäžã§ãããèå³ã®ããæ¹ã¯ã以äžã®ãªã³ã¯ãããã²ãå¿åãã ããã corp.zozo.com
ã¯ããã« ããã«ã¡ã¯ãDeveloper Engagementãããã¯ã® @wiroha ã§ãã5æ29æ¥ã«ãè¥æãšã³ãžãã¢ãèªããªã¢ã«ãªå®äŸ ~ãæè¡è² åµããšã®æŠãæ¹ã»ãæè¡è³ç£ã掻ããæ¹ããéå¬ããŸãããSmartHRã»ZOZOã»TOKIUMã»ãã¬ã€ãã®4瀟ããè¥æãšã³ãžãã¢ãéããæè¡è² åµãæè¡è³ç£ã®æŽ»çšã«ã€ããŠèªãåãã€ãã³ãã§ããæ¬èšäºã§ã¯ãªãã©ã€ã³éå¬ããåœæ¥ã®ã¬ããŒãããå±ãããŸãïŒ plaidtech.connpass.com ç»å£å
容ãŸãšã SmartHRã»ZOZOã»TOKIUMã»ãã¬ã€ãã®ã¡ã³ããŒã«ããçºè¡šã®åŸã質çå¿ç&ã¯ãã¹ããŒã¯ãè¡ããŸããã çºè¡šã¿ã€ãã« ç»å£è
ã³ãŒãã®èå€åŠ ãåŽåãããã¯ãããçºæããæé·ã®ç³§ã SmartHR 颿 ¹ å¥å€ª 挞é²ã ZOZO åšå· å®å€ªé æè¡æžå¿µã«ç«ã¡åããæ³æ¹æ£ãç©äŸ¿ã«ä¹ãåã£ã話 TOKIUM é«ç° å°äºº ç©ã¿äžããããæè¡è³ç£ãšåãåããªããããããã¯ãã®ä¿¡é Œæ§ãã©ãå®ãã ãã¬ã€ã çå±± ææµ· 質çå¿ç&ã¯ãã¹ããŒã¯ ç»å£å瀟ã®ã¡ã³ã㌠ã³ãŒãã®èå€åŠ ãåŽåãããã¯ãããçºæããæé·ã®ç³§ã SmartHR 颿 ¹ å¥å€ªããã«ããçºè¡š speakerdeck.com SmartHRã®é¢æ ¹ããããã¯ãåŽåãããã¯ãéçºã®çŸå Žã§çŽé¢ããè€éãªããŒã¿ã¢ãã«ãæè¡ã¹ã¿ãã¯ã®æ··åšãè€éãªã³ãŒããšãã£ã課é¡ãžã®åãåãæ¹ãèªã£ãŠããã ããŸãããäžåºŠã®å®ç§ãªäœãçŽãã¯ããããä»ã§ããæåã®ããšãã®ç©ã¿éããæç¶å¯èœãªæ¹åãžã®éã§ãããšã®ããšã§ããã æŒžé²ã ZOZO åšå·å®å€ªéã«ããçºè¡š speakerdeck.com ZOZOã®åšå·ããã¯ã颿 ¹ãããšåããè² åµãå°ããã€ãªãã¬ã€ã¹ããŠãã倧åãã€ããŠèªãããŸãããå°ããã€æ¹åããããã«ããšã«ããæ§ç°å¢ãè§Šã£ãŠã³ãŒããèªããããã°ãã³ãªã©ã€ããé¿ãã³ã³ããŒãã³ãã¬ãã«ã»ããŒãžåäœãªã©çްãã眮ãæãããéçºè
äœéšã«æè³ãããšãã£ãæ¹æ³ã玹ä»ãããŸããããŸãè² åµã«ããªãããã«æ³šæããç¹ãçºè¡šãããŸããã æè¡æžå¿µã«ç«ã¡åããæ³æ¹æ£ãç©äŸ¿ã«ä¹ãåã£ã話 TOKIUM é«ç°å°äººããã«ããçºè¡š speakerdeck.com TOKIUMã®é«ç°ããããã¯ãã€ã³ãã€ã¹å¶åºŠã®æ³æ¹æ£ã«äŒŽãéåžžã«å€ãã®ã³ãŒããä¿®æ£ããå¿
èŠããã£ãäžã§ã©ã®ããã«å¯Ÿå¿ããããèŠåŽã工倫ã«ã€ããŠèªã£ãŠããã ããŸãããäžå¯§ã«æŽãåºããè¡ãå
±éåããããšã§è² åµãæžãããŠããã倿Žã«åŒ·ãã³ãŒããžãšæ¹åãããŠããŸããã ç©ã¿äžããããæè¡è³ç£ãšåãåããªããããããã¯ãã®ä¿¡é Œæ§ãã©ãå®ãã ãã¬ã€ã çå±±ææµ·ããã«ããçºè¡šïŒåžæã«ãããé¡ã¯äŒããŠããŸãïŒ speakerdeck.com ãã¬ã€ãã®çå±±ããããã¯ããµã€ãã®æžãæããABãã¹ãæœçãæ¯æŽãããKARTE Blocksããšãããããã¯ãã§ä¿¡é Œæ§ãæ
ä¿ããããã®åãçµã¿ã«ã€ããŠå
±æããã ããŸãããCUJ(Critical User Journey)ãæ±ºããããšã§SLOãçå®ããŠãããCUJã®éèŠããæããçºè¡šã§ããã 質çå¿çïŒã¯ãã¹ããŒã¯ 質çå¿çïŒã¯ãã¹ããŒã¯ã®æ§å 質çå¿çïŒã¯ãã¹ããŒã¯ã§ã¯ãSlidoãéããŠå¯ããããåå è
ããã®è³ªåã«åçããŠãããŸãããæ°åä»¶ãšéåžžã«å€ãã®è³ªåãå¯ããããçºè¡šå
容ã«å¯Ÿããæ·±ãæãäžããè¡ãããŸãããæåã®æµžéãæè¡ã¹ã¿ãã¯ã®æ··åšãžã®èª²é¡æãªã©ãå瀟ã§ã®åãçµã¿ãèãã«ã€ããŠã®æèŠäº€æãè¡ãããŸããã æåŸã« ä»åã¯è¥æãšã³ãžãã¢ã䞻圹ãšãªããæè¡è² åµã»æè¡è³ç£ãšã©ãåãåãããæ¬é³ã§èªãåã貎éãªå ŽãšãªããŸãããæèŠªäŒã«ãå€ãã®æ¹ãåå ãã亀æµã楜ããã§ããŸããããåå ããã ããã¿ãªããŸãããããšãããããŸãããä»åŸããã®ãããªã€ãã³ããéããŠç¥èŠãå
±æãããšã³ãžãã¢å士ã®ã€ãªãããæ·±ããŠãããããšæããŸãã åšå·ã®ç»å£ã§è§ŠããWEARã®ã»ããZOZOã§ã¯å€æ§ãªãããã¯ãã®æé·ãæè¡çãªææŠã«æ¥ã
åãçµãã§ããŸããçŸåšãè€æ°ã®ããžã·ã§ã³ã§ãšã³ãžãã¢ãåéããŠããŸãã®ã§ããèå³ããæã¡ã®æ¹ã¯ä»¥äžã®ãªã³ã¯ãããã²ãå¿åãã ããã corp.zozo.com
ZOZOéçºçµç¹ã®2025幎5æåã®æŽ»åãæ¯ãè¿ããZOZO TECH BLOGã§å
¬éããèšäºãç»å£ã»æ²èŒæ
å ±ãªã©ããŸãšããMonthly Tech Reportããå±ãããŸãã ZOZO TECH BLOG 2025幎5æã¯ãåæã®Monthly Tech Reportãå«ãèš7æ¬ã®èšäºãå
¬éããŸãããæ¯ãè¿ã£ãŠã¿ããšç¹ã«ã€ãã³ãã®åå ã¬ããŒããå€ãæã§ããã techblog.zozo.com ç»å£ Google Cloud Next 2025 Recap in ZOZO 5æ12æ¥ã«éå¬ãããã Google Cloud Next 2025 Recap in ZOZO ãã«ãMAéšã®éœè€ã»åå·ã»å¯æ°žã®3åãç»å£ããŸããã ãZOZOãšã³ãžãã¢ç»å£æ
å ±ã æ¬æ¥ 5/12(æ) 19:00ãããGoogle Cloud Next 2025 Recap in ZOZOããYouTubeã«ãŠãªã³ã©ã€ã³é
ä¿¡ããããŸãðïž ZOZOããã¯MAéšã®éœè€ã»åå·ã»å¯æ°žã®3åãç»å£ããŸãããã²ãèŠèŽãã ããïŒ https://t.co/Sx6pQmM69k #GoogleCloudNext25Recap #GoogleCloudNext — ZOZO Developers (@zozotech) 2025幎5æ12æ¥ www.youtube.com speakerdeck.com speakerdeck.com speakerdeck.com After RubyKaigi 2025ãZOZOããã¡ã€ã³ãã£ããã¯ã·ãã 5æ13æ¥ã«éå¬ãããRubyKaigi 2025 ã¹ãã³ãµãŒäŒæ¥ã®æ ªåŒäŒç€ŸZOZOããã¡ã€ã³ãã£æ ªåŒäŒç€Ÿããã¯ã·ãæ ªåŒäŒç€Ÿãå
±å¬ããRubyKaigi Afterã€ãã³ãã After RubyKaigi 2025ãZOZOããã¡ã€ã³ãã£ããã¯ã·ãã ãã«ãWEARããã¯ãšã³ãéšã®å°å±±ïŒ @agri_business_k ïŒãã rbs-traceã䜿ã£ãŠWEARã§åçæã詊ããŠã¿ã ããšé¡ããŠç»å£ããŸããããŸããWEARããã¯ãšã³ãéšãã£ã¬ã¯ã¿ãŒã®è«èšªïŒ @tsuwatch ïŒãããã«ãã£ã¹ã«ãã·ã§ã³ã®ã¹ããŒã«ãŒãšããŠç»å£ããŸããã ãZOZOãšã³ãžãã¢ç»å£æ
å ±ã æ¬æ¥ 5/13(ç«) 19:00ãããAfter RubyKaigi 2025ãZOZOããã¡ã€ã³ãã£ããã¯ã·ããããéå¬ããããŸãðïž ZOZOããã¯WEARããã¯ãšã³ãéšã®è«èšª @tsuwatch ãšå°å±± @agri_business_k ã®2åãç»å£ããŸãïŒ https://t.co/DLmwkzR5fi #rubykaigi2025_after — ZOZO Developers (@zozotech) 2025幎5æ13æ¥ speakerdeck.com TSKaigi 2025 5æ23æ¥ãã24æ¥ã®2æ¥éã«ãããéå¬ãããã TSKaigi 2025 ãã«ãZOZOTOWNéçº3éšã®ç°äžïŒ @nayuta999999 ïŒãã ããªããŒã·ã§ã³ã©ã€ãã©ãªåŸ¹åºæ¯èŒ ããšé¡ããŠç»å£ããŸããã ãZOZOãšã³ãžãã¢ç»å£æ
å ±ã æ¬æ¥ããéå¬äžã®TSKaigi 2025 DAY2ã«ZOZOTOWNã§Webããã³ããšã³ããšã³ãžãã¢ãåããç°äž @nayuta999999 ãç»å£ããTypeScriptã«ãããããªããŒã·ã§ã³ã©ã€ãã©ãªã®éžå®åºæºãšæ¯èŒã«ã€ããŠè§£èª¬ããŸãðïž https://t.co/WWpn6rU7oU #TSKaigi2025 #zozo_engineer — ZOZO Developers (@zozotech) 2025幎5æ23æ¥ 2025.tskaigi.org speakerdeck.com 2025幎床 人工ç¥èœåŠäŒå
šåœå€§äŒïŒç¬¬39åïŒ 5æ27æ¥ãã30æ¥ã®4æ¥éã«ãããéå¬ãããã 2025幎床 人工ç¥èœåŠäŒå
šåœå€§äŒïŒç¬¬39åïŒ ãã«ãZOZOããŒã¿ãµã€ãšã³ã¹éšã®äŒæŸ€ããã Eã³ããŒã¹æ€çŽ¢çµæã«ãããã¯ãšãªã«å¿ãããµã ãã€ã«æé©åã«é¢ããå®éšçç ç©¶ ããšé¡ããŠãZOZO Researchã®å·å³¶ãã éåéBregmanãã€ããŒãžã§ã³ã¹ãšçœ®æäžå€NNã«ãããã®åŠç¿ ããšé¡ããŠãããããäžè¬ã»ãã·ã§ã³ã«ç»å£ããŸããã ð£ïžäººå·¥ç¥èœåŠäŒå
šåœå€§äŒ #JSAI2025 ç»å£ã®ãç¥ãã 5/27 13:40-15:20 SäŒå Ž (äŒè°å®€701-2) ã«ãããŠãZOZO Researchã®å·å³¶ã次ã®ããŒãã§ç»å£ããŸãðïž [1S3-GS-2-01] éåéBregmanãã€ããŒãžã§ã³ã¹ãšçœ®æäžå€NNã«ãããã®åŠç¿ https://t.co/SqnTyqNi9a #zozo_engineer — ZOZO Developers (@zozotech) 2025幎5æ26æ¥ ð£ïžäººå·¥ç¥èœåŠäŒå
šåœå€§äŒ #JSAI2025 ç»å£ã®ãç¥ãã 5/29 17:40-19:20 EäŒå Ž (äŒè°å®€1101-2) ã«ãããŠãZOZOããŒã¿ãµã€ãšã³ã¹éšã®äŒæŸ€ããæ¬¡ã®ããŒãã§ç»å£ããŸãðïž [3E6-GS-10] Eã³ããŒã¹æ€çŽ¢çµæã«ãããã¯ãšãªã«å¿ãããµã ãã€ã«æé©åã«é¢ããå®éšçç ç©¶ https://t.co/j1WuODmzmr #zozo_engineer — ZOZO Developers (@zozotech) 2025幎5æ26æ¥ DX & AI Forum 2025 Spring æ±äº¬ 5æ29æ¥ã«éå¬ãããã DX & AI Forum 2025 Spring æ±äº¬ ãã«ãAIäºæ¥æŠç¥éšã®å·ç°ãã ZOZOã«ãããçæAIã®æŽ»çšæšé² ããšé¡ããŠç»å£ããŸããã ð£ïž 5/29(æš)ã«éå¬ããããDX & AI Forum 2025 Spring æ±äº¬ãã«AIäºæ¥æŠç¥éšã®å·ç°ããZOZOã«ãããçæAIã®æŽ»çšæšé²ããšããã¿ã€ãã«ã§ç»å£ããŸãðïž https://t.co/ByvhyHJQeI #zozo_engineer — ZOZO Developers (@zozotech) 2025幎5æ27æ¥ è¥æãšã³ãžãã¢ãèªããªã¢ã«ãªå®äŸ ~ãæè¡è² åµããšã®æŠãæ¹ã»ãæè¡è³ç£ã掻ããæ¹ 5æ29æ¥ã«SmartHRã»ZOZOã»TOKIUMã»ãã¬ã€ãã®4瀟ååã€ãã³ããšããŠéå¬ãããã è¥æãšã³ãžãã¢ãèªããªã¢ã«ãªå®äŸ ~ãæè¡è² åµããšã®æŠãæ¹ã»ãæè¡è³ç£ã掻ããæ¹ ãã«ãWEARããã³ããšã³ãéšã®åšå·ïŒ @ssssotaro ïŒãã æŒžé²ã ããšé¡ããŠç»å£ããŸããã ð£ïž 5/29(æš)ã«éå¬ããããè¥æãšã³ãžãã¢ãèªããªã¢ã«ãªå®äŸ ~ãæè¡è² åµããšã®æŠãæ¹ã»ãæè¡è³ç£ã掻ããæ¹ãã«WEARããã³ããšã³ãéš ããã¯ãªãŒãã®åšå· @ssssotaro ããæŒžé²ãããšããã¿ã€ãã«ã§ç»å£ããŸãðïž https://t.co/FLOt1GCand #YoungLegacyEngineering #zozo_engineer — ZOZO Developers (@zozotech) 2025幎5æ27æ¥ speakerdeck.com æ²èŒ ãšã³ãžãã¢type ã ãšã³ãžãã¢type ãã®ã èŽããšã³ãžãã¢type ãã«ãããŒã¿ã·ã¹ãã éšã®å¥¥å±±ïŒ @pokoyakazan ïŒãåºæŒããPodcastã®å
å®¹ãæžãèµ·ãããWebèšäºãå
¬éãããŸããã type.jp HHKB life ã HHKB Life ãã®ã çªæé£ã®ããŒããŒã ãã«ãŠãZOZOã§æŽ»èºããåæ§è±ããªãšã³ãžãã¢ãã¡ãæããéå
·ïŒHHKBïŒãäžå¿ã«ãåãæ¹ããã¡ãã·ã§ã³ãžã®ãã ããã«ã€ããŠã®ã€ã³ã¿ãã¥ãŒèšäºãæ²èŒãããŸããã happyhackingkb.com ASCII.jp ã ASCII.jp ãã®ã æ¥åãå€ããkintoneãŠãŒã¶ãŒäºäŸ 第262åãã«ãã³ãŒãã¬ãŒããšã³ãžãã¢ãªã³ã°éšã®æ°äºãç»å£ããã Cybozu Days 2024 ãã®ã»ãã·ã§ã³ã®æš¡æ§ãæ²èŒãããŸããã ascii.jp ãã®ä» IJCAI 2025 è«ææ¡æ åèå·¥æ¥å€§åŠãšZOZOç ç©¶æã®å
±åç ç©¶ãã人工ç¥èœåéã®ãããã«ã³ãã¡ã¬ã³ã¹ãIJCAI 2025ãã«ãŠè«æãæ¡æãããŸããã zozonext.com 以äžã2025幎5æã®ZOZOã®æŽ»åå ±åã§ããïŒ ZOZOã§ã¯ãäžç·ã«ãµãŒãã¹ãäœãäžããŠãããæ¹ãåéäžã§ãããèå³ã®ããæ¹ã¯ã以äžã®ãªã³ã¯ãããã²ãå¿åãã ããã corp.zozo.com
ã¯ããã« ããã«ã¡ã¯ãCTOãããã¯ã®å æ±ïŒ @Horie1024 ïŒã§ãã2025幎5æ20æ¥ã5æ21æ¥ã«ãããŠãã«ãªãã©ã«ãã¢å·ããŠã³ãã³ãã¥ãŒã«ããã·ã§ã¢ã©ã€ã³ã»ã¢ã³ãã£ã·ã¢ã¿ãŒã§éå¬ããã Google I/O 2025ïŒä»¥äž I/OïŒ ã«çŸå°åå ãããŠããŸããã Google I/Oãšã¯ Google I/Oã¯ãGoogleãæ¯å¹Žéå¬ããéçºè
åãã®ã«ã³ãã¡ã¬ã³ã¹ã§ãææ°ã®æè¡ã補åãã¢ããããŒãã®çºè¡šãæ§ã
ãªé åã«ã€ããŠã®æè¡ã»ãã·ã§ã³ãªã©ãè¡ãããå Žã§ããç§èªèº«ãšããŠã¯ã2018幎以æ¥ã®çŸå°åå ãšãªããŸãã ä»åã®Google I/Oãžã®åå ç®ç ä»åã®I/Oã®åå ç®çã¯ãGoogleãä»ç€Ÿã®åå è
ãšã®é¢ä¿äœããšGoogleã®ææ°ãããã¯ãããã³æè¡çãªãã£ããã¢ããã§ããçŸåšãŸã§ã«ZOZOã§ã¯ã ZOZOTOWN ã WEAR by ZOZO ã FAANS ã®Androidã¢ããªéçºãçµéšããŠããŸãããŸããGitHub Copilotã®å°å
¥ã«é¢ãã£ãŠããã¯AIã«èå³ãããããšãããä»åã®I/Oã§ã¯AndroidãšAIã®è©±é¡ãäžå¿ã«ãã£ããã¢ããããŠããŸããã Day0 éå¬åæ¥ã®5æ19æ¥ã«çŸå°ãžå°çããŸãããããã«ã«ãã§ãã¯ã€ã³åŸãäŒå Žã§ããã·ã§ã¢ã©ã€ã³ã»ã¢ã³ãã£ã·ã¢ã¿ãŒãŸã§ãã€ãã³ãåå 蚌ã§ãããããžãåãåãã«åãããŸããããã®ãããžã¯ãäŒæäžã®äŒå Žãžã®å
¥å Žã«å¿
èŠãšãªããŸãã 建ç©ã«å
¥ããšPixelbookã眮ããŠããã®ã§ã¡ãŒã«ã¢ãã¬ã¹ãå
¥åããã§ãã¯ã€ã³ããŸãã ãã§ãã¯ã€ã³ãæžãŸããç¡äºãããžãåãåãããšãã§ããŸããã ãããžåãåã£ãããšãè¿ãã«ãã巚倧ãªãã³ãã®ãããªGoogleãªãã£ã¹ã«ãã Google Store ãžå¯ããããŠã³ãã³ãã¥ãŒã®ããŠã³ã¿ãŠã³ã«ããã¬ã¹ãã©ã³ã§ã©ã³ããé£ã¹ãŸãã 1 ããããŠããã«ã«æ»ã£ãŠææ¥ã«åããŸããã Day1 Day1ãç¡äºäŒå Žã«çããŸãããäŒå Žã§æäŸãããæé£ãé£ã¹ãGoogle keynoteãè¡ãããã¢ã³ãã£ã·ã¢ã¿ãŒã®å
¥å Žåã«äžŠã³äžãžå
¥ããŸãã Google keynote Google Keynoteã¯ãã®äœçœ®ã§èŽããŸãããããã«æ¥ããšI/Oã«æ¥ãå®æãæ¹§ããŠããŸãã Google Keynoteã®åç»ã¯ãã¡ãããã芧ãã ãããKeynoteåé ã§ãResearch becomes realityããšãã£ãããã«ãAIãGoogleã®æ§ã
ãªè£œåããµãŒãã¹ã«æ·±ãçµ±åããã€ã€ãããŸãããããŠãç§ãã¡ã®èº«ã®åãã«AIãæµžéãçæŽ»ãå€ãããããªã€ã¡ãŒãžãæãŠãçºè¡šãå€ããã£ããšæããŸãã I/Oã§ã®çºè¡šå
容ã«ã€ããŠè³ªåã§ããNotebookLMãå
¬éãããŠããŸãã®ã§äœµããŠã芧ãã ããã NotebookLM: Google I/O 2025 Geminiã«ã€ããŠã¯ã2.5 Proã2.5 Flashã®ãã¬ãã¥ãŒçãä»å¹Žçºè¡šãããä»åã®I/Oã§ãå€ãã®ã¢ããããŒãããããŸãããçºè¡šãããå
容ã«ã€ããŠã¯ãGoogleã®ãã¡ãã®èšäºã«ãŸãšããããŠããŸãã blog.google Gemini 2.5 Proã®ãDeep Thinkãã¯ãã²äœ¿ã£ãŠã¿ããã§ãããæ¡æ£èšèªã¢ãã«ã§ããGemini Diffusionã®åºåã®éãã«ã¯é©ããŸãããGeminiã«ã¹ã±ããããWebã¢ããªãäœæãããŠãããã¢ãé¢çœãã®ã§ãã²ã芧ãã ãããGeminiã®ã³ãŒãã£ã³ã°èœåã®é«ããèŠããšGemini Code Assistãå©çšããŠã¿ãããªããŸããã ãŸããGeminiã¢ããªãžã®Agentã¢ãŒãã®å°å
¥ãçºè¡šãããŸããã Project Mariner ã§éçºãããã³ã³ãã¥ãŒã¿ã®å©çšæ©èœãAgent2Agent ProtocolãšMCPãžã®å¯Ÿå¿ãçºè¡šãããŠããŸãã Agentã¢ãŒããä»ã®Agentãšé£æºãã€ã€ãã³ã³ãã¥ãŒã¿ã®å©çšæ©èœã§ã®ãã©ãŠã¶çã®æäœãMCPã«ããæ
å ±ã®ååŸã»æŽæ°ãªã©ãèªåŸçã«è¡ãããšãã§ãããã§ããKeynoteäžã§ã¯ããŠãŒã¶ãŒã®æ¡ä»¶ã«åãç©ä»¶ãèªåŸçã«æ¢ããã¢ãè¡ãããŠããŸãããAgentã¢ãŒãã¯ããŠãŒã¶ãŒãšããŠãé¢çœãã§ãããZOZOãšããŠãAgent2Agent Protocolãå®è£
ããAgentãæã€ã¹ããªã®ããªã©ãéçºè
ãšããŠãæ°ã«ãªãæ©èœã§ããæ©ãå®éã«è§Šã£ãŠã¿ãããšæããŸãã Project MarinerãšäžŠã¶ãã1ã€ã®ç ç©¶ãããžã§ã¯ã Project Astra ã¯ããŠãããŒãµã«AIã¢ã·ã¹ã¿ã³ããå®çŸãã詊ã¿ã§ãããã®ã¢ã·ã¹ã¿ã³ãã¯ãåšå²ã®äžçãçè§£ã§ããããèšèšãããŠããŸãã Project Astraã§éçºãããã©ã€ãæ©èœã Gemini Live ãšããŠäžè¬æäŸãããŸããã ã©ã€ãæ©èœã¯Live APIãšããŠéçºè
åãã«ãæäŸãããŠããŸãã ai.google.dev Live APIã¯ã Google AI Studio ã§ç°¡åã«è©Šãããšãã§ããŸãããå人çã«ãAPIã䜿ã£ãŠäœããäœã£ãŠã¿ãããšæããŸãã ãŸããProject Astraã®ææ°ã®ãããã¿ã€ããAction Intelligence + Geminiãã®ç޹ä»ã§ã¯ãGeminiãšå¯Ÿè©±ããªããè¡ãèªè»¢è»ã®ä¿®çãæãããŠããŸãããŠãŒã¶ãŒããã¥ã¢ã«ã®æ€çŽ¢ãåèã«ãªãYouTubeåç»ã®è¡šç€ºã販売åºãšã®ã¡ãŒã«ããå¿
èŠãªéšåã®æ€çŽ¢ãèªåã§é»è©±ãæããŠã®åšåº«ç¢ºèªãšåã眮ããªã©ãGeminiãšå
±åã§äœæ¥ããæ§åã«æªæ¥ãæããŸããã Googleæ€çŽ¢ã®çºè¡šã§ãAI Modeãªã©è峿·±ãçºè¡šãå€ããããŸããããç¹ã«ããŒãã£ã«è©Šçæ©èœã¯èŠéããŸãããäŒå Žã®çãäžããæ¹ãããããå€ãã®äººãæåŸ
ããŠããæ©èœã§ããããšã䌺ããŸããã ãããŠãAndroid XRã§ãããã¢ã§ãç»å ŽããŠããã°ã©ã¹åããã€ã¹ã®çºå£²ææã¯æèšãããŸããã§ããããçºå£²ãããã賌å
¥ããããšæããŸãã Android XRã«ã€ããŠã®ã»ãã·ã§ã³ãCodelabãå
¬éãããŠããŸãã®ã§ãæå
ã§åãããŠã¿ãããšæããŸãã https://io.google/2025/explore/technical-session-22 https://developer.android.com/codelabs/xr-fundamentals-part-1#0 https://developer.android.com/codelabs/xr-fundamentals-part-2#0 ããŠãImagen 4ãVeo 3ãFlowãè峿·±ãã£ãã®ã§ãããGoogle keynoteåŸã«èŽãããDeveloper keynoteããã玹ä»ããããšæããŸãã Developer keynote Developer keynoteã¯ãéçºè
åãã®åºèª¿è¬æŒã§ããDeveloper Keynoteã®åç»ã¯ãã¡ãããã芧ãã ããã Developer keynoteã®Androidã®ã»ã¯ã·ã§ã³ã§ç޹ä»ããããAndroidifyããé¢çœãã£ãã§ããå
šèº«åçãå
ã«ãªãªãžãã«ã®Androidãããããäœæããã¢ããªã§ãAIãæŽ»çšãããµã³ãã«ã¢ããªã§ã 2 ã Androidifyã¯ã Firebase AI Logic SDK ïŒæ§Vertex AI in FirebaseïŒã䜿ãGemini 2.5 FlashãšImagen 3ã«ã¢ã¯ã»ã¹ããŠããŸãã Geminiã«å¯ŸããŠç»åã«äººç©ãå«ãŸããŠãããã人ç©ã«çŠç¹ãåã£ãŠããããç»åã«äžé©åãªã³ã³ãã³ããå«ãŸããŠãããã©ãããªã©ãè©äŸ¡ããããã³ãããçµãã§ãããšã®ããšã§ããGeminiãæŽ»çšãããšãããªã¢ããªãäœããã®ããšç®ããé±ã§ãããImagen 3ã§ã®ç»åçæãAndroidã¢ããªããæè»œã«å®è¡ã§ããããšã«ãé©ããŸããã Androidifyã®å®è£
ã«ã€ããŠã¯ã次ã®èšäºã«è©³çŽ°ãæžãããŠããŸãã https://android-developers.googleblog.com/2025/05/androidify-building-ai-driven-experiences-jetpack-compose-gemini-camerax.html https://android-developers.googleblog.com/2025/05/androidify-how-androidify-leverages-gemini-firebase-ml-kit.html Androidifyã¯ãUIã« Material 3 Expressive ãæ¡çšããããã²ãŒã·ã§ã³ã«ã¯ Navigation 3 ã䜿çšããŠããããããããã®å®è£
ãµã³ãã«ãšããŠãåç
§ã§ããŸããGitHubã®Repositoryã¯ãã¡ãã§ãã github.com ãŸããAndroid端æ«äžã§Gemini Nanoã䜿ãçŽæ¥ããã³ãããåŠçããOn-device AIã«ãèå³ããããé¢é£ã»ãã·ã§ã³ã芳ãŠã¿ãããšæããŸãã Day2 Day2ãå€ãã®ã»ãã·ã§ã³ãè¡ãããŸããDay2ã§èŽããã»ãã·ã§ã³ã®ãã¡ã次ã®2ã€ã玹ä»ããŸãã What's new in Android development tools Google Cloud's AI powered SDLC assistant, Gemini Code Assist What's new in Android development tools What's new in Android development toolsã§ã¯ãAndroidã¢ããªã®éçºã§äœ¿çšããAndroid Studioãªã©ã®ããŒã«ã®ã¢ããããŒããçºè¡šãããŸãã Gemini in Android Studioã«ããAIãæŽ»çšããéçºè
ãµããŒãæ©èœã«ã€ããŠã®çºè¡šãäž»ãªå
容ã§ãããGeminiã¯ãã³ãŒãã®ææ¡ãããã¥ã¡ã³ãã®çæãã¯ã©ãã·ã¥ã®è§£æ±ºãªã©éçºè
ã®ã¯ãŒã¯ãããŒã®å¹
åºãç¯å²ã«é©çšãããŠãããä»åã®çºè¡šã§ããæ©èœã匷åããããšæããŸããã developer.android.com ä»åçºè¡šãããGemini in Android Studioã«é¢ããã¢ããããŒãã¯æ¬¡ã®ãšããã§ããã»ãã·ã§ã³å
ã§ã¯ãGemini 2.5 ProãæŽ»çšããããšã§ä»¥åãããã¯ããã«é«åºŠãªæ©èœãå®çŸå¯èœã«ãªã£ãŠãããšèšåãããŠããŸããã ãŠãŒã¶ããªãã£ã®åäž Update Assistant Journeys Agent Crashlytics Integration Compose Integration Gemini in Android Studio for businesses ä»ã«ãããã¯ã¢ãããšãªã¹ãã¢ã®ãã¹ãæ©èœã®åŒ·åãAndroid XR Emulatorã®ãµããŒããªã©å€ãã®æ©èœã玹ä»ãããŸãããããã§ã¯çºè¡šãããGemini in Android Studioã®ã¢ããããŒãã®å
容ã玹ä»ããŠãããŸãã ãŠãŒã¶ããªãã£ã®åäž ãŠãŒã¶ããªãã£ã®åäžãšããŠã¯ã次ã®ãããªå
容ã§ããã ã³ãŒãè£å®ã®ãŽãŒã¹ãããã¹ãã«ã·ã³ã¿ãã¯ã¹ãã€ã©ã€ãã远å ãã£ããæ©èœãComposeã§ãªã©ã€ããã¢ãã¡ãŒã·ã§ã³ãæ¹å ã³ãŒãã¹ããããã®ã¹ããªãŒãã³ã°è¡šç€ºãã¹ã¯ããŒã«åäœã®æ¹å ã¯ãšãªã«æ·»ä»ããããã¡ã€ã«ã確èªã§ããã³ã³ããã¹ãããã¯ãŒã远å 䜿çšããŠããã¢ãã«ïŒäŸïŒGemini 2.5 ProïŒã®è¡šç€ºã远å ãŠãŒã¶ããªãã£ã®åäžã«ã€ããŠã®ã»ãã·ã§ã³ã®è©²åœç®æã¯ãã¡ãã§ãã Update Assistant Update Assistantã¯ãGeminiãæŽ»çšããŠã©ã€ãã©ãªãäžæ¬ã§æŽæ°ã§ããŸãããã«ããã¡ã€ã«ãåæããCompiler SDKãAGPãGradleãBOMãªã©ã®ã¢ããããŒããææ¡ããŠãããããã§ãããé¢é£ãããªãªãŒã¹ããŒããžã®ãªã³ã¯ãåºããŠãããã®ãå¬ããæ©èœã§ããããšãŒãžã§ã³ãããã«ããå®è¡ãããšã©ãŒãæ€åºããã®ãšã©ãŒã«ã€ããŠæšè«ããŠä¿®æ£ã詊ã¿ãããã§ãã ã©ã€ãã©ãªã®ã¢ããããŒãã¯æ¥åžžçã«è¡ãäœæ¥ã§ãããæã«ã¯è€æ°ã®ã©ã€ãã©ãªã®ããŒãžã§ã³ããœãŒã¹ã³ãŒãã®å€æŽã䌎ããŸããUpdate Assistantã¯ããããã®ã¢ããããŒãäœæ¥ãåæ»ã«é²ããå©ãã«ãªããšæããŸããã Update Assistantã«ã€ããŠã®ã»ãã·ã§ã³ã®è©²åœç®æã¯ãã¡ãã§ãã Journeys Journeys ã¯ãã€ã³ãã°ã¬ãŒã·ã§ã³ãã¹ãã®äœæããµããŒãããæ©èœã§ããŠãŒã¶ãŒã®ãžã£ãŒããŒïŒéèŠãªã¿ã¹ã¯ïŒãèªç¶èšèªã§èšè¿°ã§ããŸããXMLãšããŠã衚çŸå¯èœã§ãããGUIãçšæãããŠããããã¹ãã®é²è¡ç¶æ³ãçµæã確èªã§ããããã§ããTest Recorderãçšãããšã¢ããªæäœãèšé²ããŠæ¢åãŸãã¯æ°èŠã®ãžã£ãŒããŒã«è¿œå ã§ããèšé²ãããæäœã®èª¬æãä¿®æ£ããããæåã§æ€èšŒã¹ãããã远å å¯èœã§ããã ã What's new in Android development tools ã®4:42ããåŒçšã ãŸããFirebase App Distributionãšé£æºã㊠App Testing agent ã«ãã£ãŠäœæããJourneysãå®è¡ã§ããããã§ããã ã What's new in Android development tools ã®14:12ããåŒçšã 端æ«ã®æäœãèšé²ããŠã€ã³ãã°ã¬ãŒã·ã§ã³ãã¹ããçæããæ¢åã®ãµãŒãã¹ãããŒã«ã¯ããã€ããããŸããJourneysã®Test RecorderãGeminiã®ãµããŒãã§ã©ã®çšåºŠå¹ççã«ãã¹ããäœæã§ãããèå³ããããå®éã«è§Šã£ãŠåãããŠã¿ãããšæããŸãã Journeysã«ã€ããŠã®ã»ãã·ã§ã³ã®è©²åœç®æã¯ãã¡ãã§ãã Agent Agentã¯ãã³ãŒãã®ãã°ä¿®æ£ããŠããããã¹ãã®äœæãæ¯æŽãããšãŒãžã§ã³ãã§ãAgentã¿ãããã¢ã¯ã»ã¹ã§ããŸããäŸãã°ãæ£ããå€ãè¿ããªãã¡ãœããããã£ãå Žåããã°ãAndroid Studioã§è¡šç€ºããŠããç»é¢ã«ãªãå Žåã§ããã宣èšãžç§»åãæ©èœãªã©ãå©çšããŠåå ãç¹å®ããããšããŸãã ã What's new in Android development tools ã®15:52ããåŒçšã ãŸããAgentã®ãŠããããã¹ãäœææ¯æŽã«ãã£ãŠLinkedListã¯ã©ã¹ã®ãã¹ãã³ãŒããäœæãããã¢ããããŸãããAgentã«æç€ºãããšGradleã®æ§æãªã©å®éã®ãããžã§ã¯ãæ§é ãçè§£ããŠãã¡ã€ã«ãé
眮ãã¹ãé©åãªå Žæãç¹å®ããŠããããã§ãã ã What's new in Android development tools ã®17:04ããåŒçšã LinkedListã¯ã©ã¹ã®ã³ãŒããæå³çã«å£ããã°ãæ··å
¥ãããåŸãAgentã«ãã¹ãã³ãŒããå®è¡ããã倱æããå Žåã¯ã³ãŒããä¿®æ£ããããæç€ºãããã¢ããããŸãããAgentã¯å€±æãããã¹ãã«ã€ããŠãã³ãŒããæšè«ããŠãã°ãä¿®æ£ããå床ãã¹ããå®è¡ããŠåæ ŒãããŠããŸãã ã What's new in Android development tools ã®18:12ããåŒçšã Lintã®èŠåãããXMLãã¡ã€ã«ã«å¯ŸããŠèŠåãä¿®æ£ããããäŸé Œã§ããŸããAgentã¯èŠåãåæãä¿®æ£æ¹æ³ãææ¡ããŸãã ã What's new in Android development tools ã®19:10ããåŒçšã Agentã«ã€ããŠã®ã»ãã·ã§ã³ã®è©²åœç®æã¯ãã¡ãã§ãã Crashlytics Integration Crashlyticsã®ã¯ã©ãã·ã¥ã¬ããŒããšã®çµ±åã匷åãããŠããŸããAndroid Studioå
ã«ã¯ã©ãã·ã¥ã®åå ã説æããããã«ã衚瀺ãããGeminiãå®éã®ã³ãŒããåç
§ããŠæšè«ããŸããå Žåã«ãã£ãŠã¯ããSuggest a fixããã¿ã³ãæŒãããšã§ä¿®æ£æ¹æ³ãææ¡ãããŸãããŸããã¯ã©ãã·ã¥çºçåŸã«ãœãŒã¹ãã¡ã€ã«ã倿Žãããå Žåã§ããCrashlyticsãAndroid Vitalsãæã€ã³ãããIDãå©çšããŠè¡çªå·ã®ãããè£æ£ããæ£ç¢ºãªåæãå¯èœã§ãã ã What's new in Android development tools ã®19:53ããåŒçšã Crashlytics Integrationã«ã€ããŠã®ã»ãã·ã§ã³ã®è©²åœç®æã¯ãã¡ãã§ãã Compose Integration Composableã®ãã¬ãã¥ãŒãèªåçæãããã¿ã³ã远å ãããŸããããAuto Generate Compose previewããã¿ã³ãæŒãã ãã§ãã¬ãã¥ãŒãèªåçæã§ããŸãã ã What's new in Android development tools ã®20:45ããåŒçšã Geminiã«ãããã¡ã€ã«ã®åæã«åºã¥ããŠãµã³ãã«ããŒã¿ãå«ããã¬ãã¥ãŒãçæãããŸãããã¬ãã¥ãŒäœææãç¹ã«ãã©ã¡ãŒã¿ã®å€ãComposableã§ã¯ããµã³ãã«ããŒã¿ãçšæããã®ãé¢åã«æããããšãå€ãã£ãã®ã§ããã®æ©èœã䜿ãå Žé¢ã¯å€ããã§ããéåžžã«äŸ¿å©ã ãšæããŸãã ã What's new in Android development tools ã®21:04ããåŒçšã Compose Integrationã«ã€ããŠã®ã»ãã·ã§ã³ã®è©²åœç®æã¯ãã¡ãã§ãã Gemini in Android Studio for businesses Gemini in Android Studio for businessesã¯ãGemini Code Assistã®ã©ã€ã»ã³ã¹ã賌å
¥ããããšã§å©çšã§ããŸããGemini in Android Studio for businessesã§ã¯ããšã³ã¿ãŒãã©ã€ãºå¯Ÿå¿çã®Geminiãå©çšã§ããŸããããã«ã¯ã管çã³ã³ãããŒã«ãæ§ã
ãªã»ãã¥ãªãã£åºæºãæºããã³ãŒãã»ãã¥ãªãã£ãIPè£åãšãã£ãå
容ãå«ãŸããŸãã developer.android.com Gemini in Android Studioã¯ç¡æã§è©Šãããšãã§ããŸããããããåŒç€Ÿç€Ÿå
ã®çæAIã®å©çšã¬ã€ãã©ã€ã³ã®åºæºãæºãããæ¥åå©çšãã§ããŠããŸããã§ãããä»åãGemini in Android Studio for businessesã®ç»å Žã§æ¥åå©çšãå¯èœã«ãªã£ãŠããŸãã åŒç€Ÿã§ã¯ãGemini in Android Studio for businessesã®è©Šéšå°å
¥ãé²è¡äžã§ãããã®ä»¶ã«ã€ããŠã¯ãŸãå¥ã®æ©äŒã«å
±æã§ããã°ãšæããŸãã Google Cloud's AI powered SDLC assistant, Gemini Code Assist Developer keynoteãWhat's new in Android development toolsã§ãèšåãããŠããGemini Code Assistã«é¢ããã»ãã·ã§ã³ã§ãã Gemini Code Assistã¯ããœãããŠã§ã¢éçºã©ã€ããµã€ã¯ã«(SDLC)å
šäœããµããŒããã倿§ãªæ©èœãæäŸããŠããŸãã developers.google.com ã»ãã·ã§ã³ã§ã¯ãGemini Code Assistã«ã¯æ¬¡ã®3ã€ã®Contextãããããšã玹ä»ããŠããŸããã Local Context Organization Context Engineering Context Local Contextã¯ããŒã«ã«ã®ã³ãŒãããŒã¹ãOrganization Contextã¯çµç¹ã®ã³ãŒãã£ã³ã°ã«ãŒã«ãšãã£ãæ
å ±ã§ãããããŠãEngineering Contextã¯ãAtlassian Jira/ConfluenceãGitHubãGoogle Docsãªã©ã§ç®¡çãããã¿ã¹ã¯ãããã¥ã¡ã³ãã§ãã Gemini Code Assistã§ã¯ãããã®ã³ã³ããã¹ããGeminiã«æäŸããä»çµã¿ããããŸããäŸãã°ãGemini Code AssistããŒã«ã䜿çšãããšããã³ããã« @GoogleDocs ãšå
¥åããããšã§Google Docsã«ç®¡çãããããã¥ã¡ã³ããèªã¿èŸŒãããšãã§ããŸãã cloud.google.com ãŸããOrganization ContextãšããŠãã³ãŒãã®ã«ã¹ã¿ãã€ãºã䜿çšããããšã§çµç¹ã®ã³ãŒãã£ã³ã°ã¹ã¿ã€ã«ã«åãããŠGemini Code Assistãã³ãŒããçæããããã«ãªããŸãã developers.google.com ã»ãã·ã§ã³åŸåã§ã¯ãã¢ãè¡ãããŸãããGoogle Docsã§æžãããDesign docsãèªã¿èŸŒãŸããGemini Code Assistã«Javaã®ã¢ããã°ã¬ãŒããšäžèŠã«ãªã£ãã©ã€ãã©ãªã®åé€ã¿ã¹ã¯ãå®è¡ãããæåããŠããŸããã ä»åŸãAgent2Agent ProtocolãMCPãæŽ»çšããããšã§AIã«ã§ããããšãå¢ããAIã«ããSDLCå
šè¬ã®ãµããŒããã©ã®ããã«é²åããŠãããæ¥œãã¿ã§ããAIã®ãµããŒããåæãšããããã¥ã¡ã³ãã®æŽåãªã©ãèªããŒã ã§ãåãçµãã§ã¿ãããšæããŸãã ãŸããåŒç€Ÿã®Google Cloud Next '25åå ã¬ããŒãã§ãGemini Code Assistã«ã€ããŠã®ç޹ä»ããããŸãã®ã§ã芧ãã ããã techblog.zozo.com äŒå Žå
ã®æ§å I/Oã®äŒå Žã¯Google keynoteãDeveloper keynoteãè¡ãããã¢ã³ãã£ã·ã¢ã¿ãŒãšåçš®ã»ãã·ã§ã³ãè¡ãããã¹ããŒãžã«å€§ããåãããŸããã¹ããŒãžã¯ãAIããAndroidããWebããCloudãããããã¹ããŒãžã®ããŒãã«æ²¿ã£ãã»ãã·ã§ã³ãè¡ãããŸãã åã¹ããŒãžã®åšèŸºã§ã¯ãGooglerã«è³ªåã§ããQ&Aã¹ããŒã·ã§ã³ãGoogleã®ææ°ãããã¯ããè§Šãããšãå¯èœãªãã¢ããŒã¹ãé
眮ãããŠããŸããã AIãµã³ãããã¯ã¹ã§ã¯GeminiãæŽ»çšããæ§ã
ãªãã¢ãäœéšã§ããŸããã Androidã«ã€ããŠè³ªåã§ããQ&Aã¹ããŒã·ã§ã³ã§ãã Androidã«é¢ããã»ãã·ã§ã³ãè¡ãããã¹ããŒãžã§ãã åçš®ãã¢ãäœéšããããšãã§ãããã®å Žã§è³ªåãã§ããŸããã ã¿ããªèšå¿µæ®åœ±ãããŠããŸããã ãŸãšã ä»åã®I/Oã§ã¯ãKeynoteåé ã®ãResearch becomes realityããšããèšèã象城ããããã«ãAIãGoogleã®è£œåããµãŒãã¹ã«æ·±ãçµ±åãããŠããæ§åãç®ã®åœããã«ããŸãããç¹ã«Geminiã®é²åã¯ç®èŠãŸãããProject Astraã«ãããã«ãã¢ãŒãã«ãªèœåãAgentæ©èœã®åŒ·åã¯ãä»åŸã®ã¢ããªã±ãŒã·ã§ã³éçºã®ããæ¹ã倧ããå€ããå¯èœæ§ãç§ããŠãããšæããŸãã éçºè
ã®èŠç¹ã§ã¯ãGoogle AI StudioãFirebase AI Logic SDKãšãã£ãããŒã«ãå
å®ããAIãããæè»œã«ããããŠé«åºŠã«æŽ»çšã§ããç°å¢ãæŽãã€ã€ããããšã宿ããŸãããAndroidifyã®ãããªãµã³ãã«ã¢ããªã¯ãAIãšæ¢åæè¡ãçµã¿åãããããšã§ããããŸã§ã«ãªããŠãŒã¶ãŒäœéšãçã¿åºããããšã«é¢çœããæããŠããŸãã ãŸããGemini Code Assistã®ããã«AIããœãããŠã§ã¢éçºã©ã€ããµã€ã¯ã«å
šäœããµããŒãããéçºè
ã¯ããåµé çãªäœæ¥ã«éäžã§ããå¯èœæ§ãæããŸãããäžæ¹ã§ãAIã®é²åã®éãã«äŒŽããAIãçè§£ããããããã¥ã¡ã³ãã®æŽåããAIãšã®å¹æçãªåèª¿æ¹æ³ã暡玢ããŠããå¿
èŠæ§ãæããŠããŸãã 7幎ã¶ãã®çŸå°åå ãšãªã£ãä»åã®I/Oã¯ãæè¡çãªåºæ¿ã¯ãã¡ããã®ããšãäžçäžã®éçºè
ãšäº€æµããçŸå°ã®ç±æ°ãèã§æããããšãã§ãã貎éãªäœéšã§ãããæ¥å¹Žã®Google I/Oã§ã¯ãä»åçºè¡šãããæè¡ãããã«é²åããã©ã®ãããªæ°ããæªæ¥ãèŠããŠãããã®ãä»ããéåžžã«æ¥œãã¿ã§ãã æåŸã«ãZOZOã§ã¯äžç·ã«ãããã¯ããéçºããŠããããšã³ãžãã¢ãåéããŠããŸãããèå³ã®ããæ¹ã¯äžèšãªã³ã¯ãããã²ãå¿åãã ããïŒ corp.zozo.com ããŸã Day0ã®ãã£ããŒã§é£ã¹ããã©ã€ã ãªããæé«ã§ããã 7幎åã«ãé£ã¹ãŠçŸå³ããã£ãã®ã§ãã²ãŸãè¡ããããšæã£ãŠããŸãããåçã¯ãã¹ã¢ãŒã¯ãµãŒã¢ã³ãå
¥ã£ãSAN FRANCISCOãšããã¯ã¬ãŒãã§ãã ↩ ããã€ããããšåŒãã§ããŸããããæ£åŒåç§°ã¯Androidããããã§ãã ↩
ã¯ããã« ããã«ã¡ã¯ãAIã»ã¢ããªãã£ã¯ã¹æ¬éšãããŒã±ãã£ã³ã°ãµã€ãšã³ã¹ãããã¯ã®éå±±ã§ããæ®æ®µã¯ãTVCMçã®æ°èŠé¡§å®¢åãã®ç²åŸæœçããæ¢å顧客åãã®æœçãªã©ãããŒã±ãã£ã³ã°æœçã®å¹ææ€èšŒãæ
åœããŠããŸããæœçã®å¹ææ€èšŒã«ãããŠã¯ã å¹³åçãªæœç广ã ãã§ãªãããŠãŒã¶ãŒããšã®æœç广ã®éã ãæããããšãéèŠã§ãããããããŠãŒã¶ãŒããšã®æœçå¹æãæšå®ããææ³ã¯æ°å€ãããäžæ¹ã§ãå®ããŒã¿ãžã®æå¹æ§ãåãããå©çšãããã±ãŒã¹ã¯å°ãªããšãã課é¡ããããŸãããä»åã®èšäºã§ã¯ããã®èª²é¡ã«å¯ŸããŠãŠãŒã¶ãŒããšã®å¹æãæ±ããææ³ã®å®çšæ§ãæ€èšŒããåãçµã¿ãã玹ä»ããŸãã ç®æ¬¡ ã¯ããã« ç®æ¬¡ èæ¯ èª²é¡ é©åãªææ³ïŒã©ã®ææ³ãå©çšããã®ãè¯ãã åæèšèš çµæ æšå®ç²ŸåºŠïŒã©ã®çšåºŠã®ç²ŸåºŠã§æšå®ã§ããã®ã åæèšèš çµæ ãã®ä»ã®ç€ºå ãŸãšã åŒçš èæ¯ AIã»ã¢ããªãã£ã¯ã¹æ¬éšãããŒã±ãã£ã³ã°ãµã€ãšã³ã¹ãããã¯ã§ã¯ãZOZOTOWNã§å®æœãããŠããæœçã®å¹ææ€èšŒãæ¥ã
è¡ãªã£ãŠããŸããæœç广ã¯äž»ã«A/Bãã¹ãã宿œããããšã§æšå®ããŠããŸãããæœç广ãæå€§åããããã«ã¯ A矀ãB矀ã®2矀ã®å·®ã ãã§ã¯ãªãããŠãŒã¶ãŒããšã®æœç广 ãç¥ãå¿
èŠããããŸãããŠãŒã¶ãŒããšã®æœç广ã¯ãå ææšè«ã®ææ³ãçšããŠæšå®ã§ããŸãããŠãŒã¶ãŒããšã®æœç广ãç¥ãããšã§ãæœçãç¶ç¶ããŠå®æœããéã«æŽ»çšã§ããæ
å ±ãåŸãããŸãã äŸãã°ããã©ã®ãããªå±æ§ã®ãŠãŒã¶ãŒã«æœçãåœãŠãã¹ããããšãã£ãã察象è
ã®æé©åãè¡ãããšãå¯èœã«ãªããŸãã èª²é¡ ãŠãŒã¶ãŒããšã®æœçå¹æãæšå®ããããã®åæææ³ã¯æ°å€ãããäžæ¹ã§ãäžèšã®é
ç®ãæããã«ãªã£ãŠããŸããã§ããã é©åãªææ³ïŒã©ã®ææ³ãå©çšããã®ãè¯ãã æšå®ç²ŸåºŠïŒã©ã®çšåºŠã®ç²ŸåºŠã§æšå®ã§ããã®ã é©åãªææ³ïŒã©ã®ææ³ãå©çšããã®ãè¯ãã åæèšèš ããã§ã¯ãè€æ°ã®ææ³ã暪䞊ã³ã§æ¯èŒããŸããã䜿çšããããŒã¿ã¯ãZOZOã®å®éã®å泚ããŒã¿ã§ããå®ããŒã¿ã«å¯ŸããŠã幎霢ããšã«ç°ãªãæœç广ãšãçŽè¿30æ¥ã®èšªååæ°ã亀絡å åãšããŠæ³å®ãã广ãå ãå人工çãªããŒã¿ã»ãããäœæããŸããã倿°ããšã®é¢ä¿ã®ã€ã¡ãŒãžã¯äžå³ã«ãªããŸãã æ€èšŒã®æŠèŠããŸãšãããã®ãäžèšã®è¡šã«ãªããŸããä»åã®ã±ãŒã¹ã§ã¯å¹Žéœ¢ããšã«å¹æãç°ãªããšããŠãããããå¹æä¿®é£Ÿåã¯å¹Žéœ¢ã«ãªããŸããç²ŸåºŠææšãšããŠã¯ã誀差ïŒMSEïŒ/å¹³åã®æœç广ïŒATEïŒãçšããŠè©äŸ¡ããŸããã æ°åŒã§æŽçãããšããŸããŠãŒã¶ãŒ$i$ã®æœç广$\tau_{i}$ã¯ãæœçãã$T=1$ãšæœçãªã$T=0$ã®çµæ$Y_{i}$ã®å·®åã«ãªããŸãã $$ \tau_i = Y_i(T=1) - Y_i(T=0) $$ 誀差ïŒMSEïŒãšå¹³åã®æœç广ïŒATEïŒã¯ããããäžèšã®ããã«å®çŸ©ãããŸããåŒäžã®$\hat{\tau}_i$ã¯æœçå¹æã®æšå®å€ã«ãªããŸãããã®ãã誀差ïŒMSEïŒã¯ åãµã³ãã«ããšã®çã®æœç广ããã®ãã ã以ã£ãŠè©äŸ¡ããŠããããšã«ãªããŸãããŸããå¹³åã®æœç广ã¯åãµã³ãã«ã®æœç广ãå¹³åããå€ã«ãªããŸãã $$ \text{MSE} = \frac{1}{n} \sum_{i=1}^{n} (\tau_i - \hat{\tau}_i)^2 $$ $$ \text{ATE} = \frac{1}{n} \sum_{i=1}^n \tau_i $$ é
ç® èšå® æ¯èŒããææ³ Meta-Learner(S, T, X, DR) / Linear DML / Causal Forest DML 䜿çšããŒã¿ å人工ããŒã¿ïŒå®ããŒã¿ãããŒã¹ã«ã·ãã¥ã¬ãŒã·ã§ã³ããæœç广ãåæããããŒã¿ïŒ ãµã³ãã«æ° 10,000 ã¢ãŠãã«ã ($Y$) 賌å
¥éé¡ å¹æä¿®é£Ÿå($X$) 幎霢 亀絡å å($W$) çŽè¿30æ¥ã®èšªååæ°ã ä»®å®ããæœçå¹æã®æ§é ãŠãŒã¶ãŒã®å¹Žéœ¢ã«å¯ŸããŠç·åœ¢ / éç·åœ¢ ä»®å®ããæœç广ã®å€§ãã æœçããªãã£ãå Žåã®20% 粟床ã®è©äŸ¡ææš MSE / ATE ã·ãã¥ã¬ãŒã·ã§ã³åæ° 3å çµæ çµæãšããŠã¯äžèšã®è¡šã«ãªããŸããã粟床ã¯ãç°¡åã®ããS-Learner察æ¯ã§èšèŒããŠããŸããçµæDMLç³»ã®ææ³ã§æã粟床ãè¯ãçµæã«ãªããŸããã ææ³ MSE / ATEïŒç·åœ¢ïŒ MSE / ATEïŒéç·åœ¢ïŒ S-Learner 100.0% 100.0% T-Learner 467.5% 442.8% X-Learner 239.5% 263.8% DR-Learner 34.0% 33.0% Linear DML 7.3% 7.5% Causal Forest DML 12.7% 11.6% åæãšããŠåææ³ã®æ§è³ªã¯äžè¡šã®ãšããã§ãDMLç³»ã®ææ³ãããããã¹ããªæšå®ãè¡ããç¹ãèžãŸãããšäžèšã®çµæã¯èªç¶ã ãšè§£éã§ããŸãã ææ³ ä¿¡é Œåºéã®ç®åº Wã®èæ
® äžåè¡¡ããŒã¿ãžã®å¯Ÿå¿ é£ç¶çãªTãžã®å¯Ÿå¿ Xã«ã€ããŠéç·åœ¢ãªå¹æ S-Learner à à à à â T-Learner à à à à â X-Learner à à à à â DR-Learner â â â à à Linear DML â â â â à Causal Forest DML â â â â â æšå®ç²ŸåºŠïŒã©ã®çšåºŠã®ç²ŸåºŠã§æšå®ã§ããã®ã åæèšèš 1ã®æ€èšŒã§ã粟床ãæãé«ãææ³ã§ãã£ããLinear DML / Causal Forest DMLãã«æ³šç®ããŸããããã®2ææ³ã«ã€ããŠãå®éã®ã±ãŒã¹ã«è¿ããµã³ãã«æ°ãæœç广ãä»®å®ããå Žåã«ã©ã®çšåºŠã®ç²ŸåºŠãåŸãããããæ€èšŒããŸããã粟床ã®è©äŸ¡ææšãšããŠã¯ã誀差ïŒRMSEïŒ/å¹³åã®æœç广ïŒATEïŒãçšããŠè©äŸ¡ããŸãããå®çŸ©ãšããŠã¯äžèšã®ãšããã§ãã $$\text{RMSE} = \sqrt{ \frac{1}{n} \sum_{i=1}^{n} (\tau_i - \hat{\tau}_i)^2 }$$ ããã¯ãå¹³åçãªæœç广ã«å¯ŸããŠãã©ãã ãçžå¯Ÿçã«èª€å·®ã倧ããããç€ºãææšã§ããæ€èšŒã®æŠèŠããŸãšãããã®ãäžèšã®è¡šã«ãªããŸãã é
ç® èšå® æ¯èŒããææ³ Linear DML / Causal Forest DML 䜿çšããŒã¿ å人工ããŒã¿ïŒå®ããŒã¿ãããŒã¹ã«ã·ãã¥ã¬ãŒã·ã§ã³ããæœç广ãåæããïŒ ãµã³ãã«æ° 1,000 / 10,000 / 50,000 å¹æä¿®é£Ÿå($X$) 幎霢ã 亀絡å å($W$) çŽè¿30æ¥ã®èšªååæ°ã ä»®å®ããæœçå¹æã®æ§é å¹æä¿®é£ŸåïŒæœç广ã®éãã®åå ã«ãªãå åïŒã«å¯ŸããŠç·åœ¢ / éç·åœ¢ ä»®å®ããæœç广ã®å€§ãã æœçããªãã£ãå Žåã«å¯ŸããŠïŒ5ïŒ
, 25ïŒ
, 50ïŒ
ïŒ è©äŸ¡ææš RMSE / ATE ã·ãã¥ã¬ãŒã·ã§ã³åæ° 3å ä»®å®ããæœç广ãšããŠã¯äžå³ã®ããã«ãç·åœ¢ãªå Žåãšéç·åœ¢ãªå Žåã®2ãã¿ãŒã³ãèããŸããã çµæ æœç广ãå€ããå Žåã«èª€å·®ïŒRMSEïŒ/æœç广(ATE)æ¯ãã©ããªãããäžå³ã«ç€ºããŸãããäžå³ãèŠããšããµã³ãã«æ°ãæœç广ã倧ãããªãã»ã©ãèª€å·®ïŒæœç广æ¯ïŒãå°ãããªã£ãŠããŸããæ°å€ãšããŠã¯ããµã³ãã«æ°ã50,000ãATEãæœçããªãå Žåã®50ïŒ
çšåºŠã«ããå Žåã§ã誀差/æœç广æ¯ã¯0.7çšåºŠã«ãªã£ãŠããŸãããã®ããšããäžèšã®æ¡ä»¶äžã§ã¯ãæœç广ã®å€§å°é¢ä¿ã«ã€ããŠã¯æãããããšããŠããç²Ÿç·»ãªæœç广ã®è©äŸ¡ã¯é£ããããšãããããŸãããLinear DMLãšCausal Forest DMLã®2ææ³ã§å€§ããªå·®ã¯ãããŸããã§ããããæœç广ãç·åœ¢ãšèšããã±ãŒã¹ã¯éãããŠããŸãããã®ãããéç·åœ¢ãªå¹æãèæ
®ã§ããCausal Forest DMLãäžèšææ³ã®äžã§ã¯æãæ±çšçã§ãå®åã§ã®å©çšã«é©ããŠãããšèããããŸãã ãã®ä»ã®ç€ºå æ€èšŒãé²ããäžã§ãæ¬é¡ãšã¯å°ãç°ãªããã®ã®ãè峿·±ãæ°ã¥ããåŸãããŸããã 1ç¹ç®ãšããŠãå¹æä¿®é£ŸåXããšã®æšå®ç²ŸåºŠã«ã€ããŠã§ãã åæãšããŠtreeç³»ã®ææ³ã¯ã ç¹åŸŽéã®äž¡ç«¯ã«ãããé åã®æšå®ã¯äžå®å®ã«ãªãåŸå ããããŸããä»åã®æ€èšŒã§ããè¥å¹Žå±€ãé«å¹Žéœ¢å±€ã§æ¥µç«¯ãªæœçå¹æãæšå®ããŠããã±ãŒã¹ãèŠãããŸãããããã¯treeç³»ã¢ãã«ã®æ§é äžãç¹åŸŽéã®ç«¯ã«ããŒã¿ãå°ãªããšååãªåå²ãè¡ãããç²ãæšå®ã«ãªãããããããšèããããŸãã 2ç¹ç®ã«ãæšå®æã«äžãã亀絡å åã®èšå®ã«ã€ããŠã§ãã å®è·µã§ã¯äº€çµ¡å åãæªç¥ã§ããã±ãŒã¹ãå€ããã¢ãã«èšèšã«ãããWã®éžå®ã¯é£ãããªããŸããä»åã¯ãããŒã¿çææã«äœ¿ããã亀絡å åã®ã¿ãWãšããŠèšå®ããå Žåãšãä»ã®å€æ°ãå«ããå Žåãšã§æ¯èŒããŸããããã®çµæãçæéçšã§äœ¿ããã亀絡å åã®ã¿ãæ£ããèšå®ããæ¹ããæšå®ç²ŸåºŠã¯é«ããªããŸãããäžèŠãªå€æ°ãWã«å«ãããšããã€ãºãéåŠç¿ã«ããéã«æšå®ç²ŸåºŠãäžãããšèããããŸãããã®çµæãã Wãå€ãå«ããã°ããããã§ã¯ãªã ãšãã瀺åãåŸãããŸããã ãŸãšã æ¬èšäºã§ã¯ãŠãŒã¶ãŒããšã®æœçå¹æãæšå®ããææ³ã®å®çšæ§ã«é¢ããæ€èšŒãã玹ä»ããŸãããæ€èšŒã®çµæã Causal Forest DMLãææ³ã®äžã§ã¯æãæ±çšçã§ããç¹ ãããããŸããããŸãã ãµã³ãã«æ°ãæœç广ãå°ããã±ãŒã¹ã§ã¯ãç²Ÿç·»ã«æœç广ãè©äŸ¡ããããšã¯é£ããããš ãããããŸããããããã®çµæãããŠãŒã¶ãŒããšã®æœç广ãåæããŠã¿ããæ¹ã®åèã«ãªãã°å¹žãã§ãã ä»åŸã¯ä»åã®çµæãæ·±æããããããªæ€èšŒãåŒãç¶ãé²ããããšã§ããã广çãªæœçè©äŸ¡ã®å®çŸãç®æããŠãããããšèããŠããŸãããŸãå®éã®æœçã«å¯ŸããŠãæ¢åã®æ¹æ³ãšäžŠèµ°ããªããäžèšã®ææ³ã®æŽ»çšãé²ããŠãããã°ãšæã£ãŠããŸãã ZOZOã§ã¯ãäžç·ã«ãµãŒãã¹ãäœãäžããŠãããæ¹ãåéäžã§ãããèå³ã®ããæ¹ã¯ã以äžã®ãªã³ã¯ãããã²ãå¿åãã ããã hrmos.co åŒçš å ææšè« åºç€ããæ©æ¢°åŠç¿ã»æç³»åè§£æã»å ææ¢çŽ¢ãçšããæææ±ºå®ã®ã¢ãããŒã æ©æ¢°åŠç¿ã§å ææšè« Double Machine Learning
ã¯ããã« ããã«ã¡ã¯ãããŒã¿ãµã€ãšã³ã¹éšããŒã¿ãµã€ãšã³ã¹2ãããã¯ã® Nishiyama ã§ããæã
ã®ããŒã ã§ã¯ãAIãããŒã¿ãµã€ãšã³ã¹ã掻çšãããããã¯ãéçºã®ãããç ç©¶éçºã«åãçµãã§ããŸããä»åãç§ã¯ èšèªåŠçåŠäŒç¬¬31åå¹Žæ¬¡å€§äŒ ã«åå ãããããåå ã¬ããŒããšããŠæ°ã«ãªã£ãçºè¡šãããã€ã玹ä»ããŸãã ç®æ¬¡ ã¯ããã« ç®æ¬¡ èšèªåŠçåŠäŒç¬¬31åå¹Žæ¬¡å€§äŒ (NLP2025) æ°ã«ãªã£ãç ç©¶çºè¡š [C1-1] Swallowã³ãŒãã¹v2: æè²çãªæ¥æ¬èªãŠã§ãã³ãŒãã¹ã®æ§ç¯ [C3-4] è€æ°ã¿ã¹ã¯ã»è€æ°é
ç®ã«è·šã£ããã«ãã¢ãŒãã«èªåè©äŸ¡ææ³ [C10-6] å€§èŠæš¡èšèªã¢ãã«ã«ãããSupervised Fine-tuningã®å
æ¬çæ€èšŒ ãŸãšã ãããã« èšèªåŠçåŠäŒç¬¬31åå¹Žæ¬¡å€§äŒ (NLP2025) èšèªåŠçåŠäŒå¹Žæ¬¡å€§äŒã¯ãç ç©¶è
ãæè¡è
ãéãŸãåºçŸ©ã®èšèªåŠçã«é¢ããç ç©¶ææãçºè¡šã»äº€æµããåœå
æå€§èŠæš¡ã®åŠè¡äŒè°ã§ããä»åã§31åç®ã®éå¬ã§ããã3æ10æ¥ãã14æ¥ã®æéãé·åŽçã®åºå³¶ã¡ãã»é·åŽã§éå¬ãããŸããã æ°ã«ãªã£ãç ç©¶çºè¡š 以éã¯ãç§ãèå³ãæã£ãçºè¡šãããã€ãã玹ä»ããŸãã [C1-1] Swallowã³ãŒãã¹v2: æè²çãªæ¥æ¬èªãŠã§ãã³ãŒãã¹ã®æ§ç¯ æéš ç¿ (ç§åŠå€§/ç£ç·ç /NII), å²¡åŽ çŽèг, æ°Žæš æ , è€äº äžå, äžæ 泰士, å€§äº èä¹ (ç§åŠå€§/ç£ç·ç ), å¡©è°· æ³°å¹³, éœè€ 幞å²é, Youmi Ma, åç° èªåž, å²¡æ¬ æå·±, ç³ç° èæš¹ (ç§åŠå€§), æšªç° ç倮 (ç§åŠå€§/ç£ç·ç ), 髿 å€§ä¹ (ç£ç·ç ) ãã®ç ç©¶ã§ã¯ãæè²çãªæ¥æ¬èªWebããã¹ããçšããããšã§ãæ¥æ¬èªã«åŒ·ãLLMãæ§ç¯ããããšãç®çãšããŠããŸããããã§ãæè²çããšã¯ã次ã®2ç¹ã§å®çŸ©ãããŠããŸãã 1ã€ç®ã¯ãæç« ã®å
容ãåŠè¡çã»æé€çã§ããç¹ã§ãã2ã€ç®ã¯ãç©äºããããããã説æããŠããç¹ã§ããææ¡ææ³ã§ã¯äºååŠç¿æã«äœ¿çšããã³ãŒãã¹ã®å質ãäžããããã«ãWikiåé¡åšãšLLMåé¡åšãçšããŠãæè²ç䟡å€ã®é«ãæç« ãå³éžããŸããWikiåé¡åšã¯ãæ£äŸãåŠè¡çãªWikipediaã®æç« ãè² äŸãã©ã³ãã æœåºããWebæç« ãšããŠåé¡ããŸããLLMåé¡åšã¯ãLLMã«ãã£ãŠæè²ç䟡å€ã®æ¡ç¹ã3段éã®å ç¹æ¹åŒã§è©äŸ¡ããŸãã å®éšã¯ãåé¡åšç¡ãïŒããŒã¹ã©ã€ã³ïŒãšWikiåé¡åšãLLMåé¡åšã«ãã£ãŠãã£ã«ã¿ãªã³ã°ããã³ãŒãã¹ãLlama3 8Bã§ç¶ç¶äºååŠç¿ãæ¯èŒããŸãããçµæãšããŠãWikiåé¡åšãšLLMåé¡åšã®ã¹ã³ã¢äžäœ10ïŒ
ãçšããå Žåã«ã質åå¿çã»æé€ç§ç®ã»ç¿»èš³ã§ããŒã¹ã©ã€ã³ãšæ¯èŒããŠæ§èœãæ¹åãããææ¡ææ³ã®æå¹æ§ã瀺ããŸããã äžæ¹ã§æè²ç䟡å€ã®äžäœ10ïŒ
-30ïŒ
ã䜿çšããå Žåã«ãWikiåé¡åšã§ã¯ãããŒã¹ã©ã€ã³ãäžåããåçšåºŠã®ã¹ã³ã¢ã«ãªããŸãããããã¯ãWikiåé¡åšã¯ãWikipediaãšé¡äŒŒããæç« ã®æ€åºã«ç¹åããŠãããããæè²çãšã¿ãªãæç« ã®ç¯å²ã®çããåå ãšããŠèããããããã§ããLLMåé¡åšã¯ãå¹
åºãæç« ã«é©åãªã¹ã³ã¢ãä»äžã§ããããšããæè²ç䟡å€ã®äžäœ10ïŒ
-30ïŒ
ãçšããå Žåã«ããæè²ç䟡å€ã®äžäœ10ïŒ
ãšåæ§ã«ããŒã¹ã©ã€ã³ããè¯ãã¹ã³ã¢ã«ãªã£ãŠããŸãããããã¯ãLLMåé¡åšã¯æ±çšçãªæè²ç䟡å€ã«åºã¥ããŠèšç·ŽãããŠããããã®ããã§ãã è©³çŽ°ãæ°ã«ãªãæ¹ã¯ã 衚é¡ã®è«æ ãåç
§ããŠãã ããã [C3-4] è€æ°ã¿ã¹ã¯ã»è€æ°é
ç®ã«è·šã£ããã«ãã¢ãŒãã«èªåè©äŸ¡ææ³ å€§äº èä¹ (ç§åŠå€§), éå æ£åŒ (MBZUAI/ç§åŠå€§), å²¡åŽ çŽèг (ç§åŠå€§/ç£ç·ç /NII), äºäž äžé (ç§åŠå€§) ãã®ç ç©¶ã§ã¯ãè€æ°ã®ã¿ã¹ã¯ã«ãããVLM (Vision-Language Model) ã®çææãããè¯ãè©äŸ¡ããããšãç®çãšããŠããŸããããã§ãHarmonicEvalãšMMHE (Multi-task, Multi-criteria, Human Evaluation) ãææ¡ããŸããHarmonicEvalã¯è€æ°ã®è©äŸ¡é
ç®ãèæ
®ããè©äŸ¡ææ³ã§ã次ã®3ã¹ãããã§è©äŸ¡ããŸãã ã¹ããã1ã¯ãé
ç®å¥è©äŸ¡ã§ããé
ç®å¥è©äŸ¡ã§ã¯ãVLMãè©äŸ¡åšãšããŠ5ã€ã®é
ç®ïŒæ£ç¢ºæ§ã»å®å
šæ§ã»æçæ§ã»æµæ¢æ§ã»å®çµæ§ïŒãè©äŸ¡ããŸããã¹ããã2ã¯ãã¹ã³ã¢å¹³æ»åã§ããã¹ã³ã¢å¹³æ»åã§ã¯ãããŒã¯ã³ã®çæç¢ºçã«åºã¥ããŠã¹ã³ã¢ã®æåŸ
å€ãèšç®ããŸããã¹ããã3ã¯ãã¹ã³ã¢éèšã§ããã¹ã³ã¢éèšã§ã¯ãã¹ããã2ã®å¹³æ»åã¹ã³ã¢ã«éã¿ãã€ããŠç·åè©äŸ¡ãåºåããŸããããã§éã¿ã¯ã忣ã倧ããå Žåã«å°ããéã¿ãäžãã忣ãå°ããå Žåã«å€§ããéã¿ãäžããŸãã æ¬¡ã«MMHEãæ§ç¯ããŸããMMHEã¯ãè€æ°ã¿ã¹ã¯ã»è€æ°è©äŸ¡é
ç®ã人æã§è©äŸ¡ããããŒã¿ã»ããã§ããå
·äœçã«ã¯ãREG (Referring Expression Generation) ã»VQA (Visual Question Answering) ã»VDU (Visual Document Understanding) ã»IC (Image Captioning) ã®4ã€ã®ã¿ã¹ã¯ãå
è¿°ãã5ã€ã®è©äŸ¡é
ç®ã«é¢ããŠäººæã§è©äŸ¡ããŠæ§ç¯ãããŠããŸãã å®éšã§ã¯ãMMHEã«ãããŠãHarmonicEvalã¯å
šãŠã®ã¿ã¹ã¯ã«ãããŠæ¢åææ³ãäžåãæ§èœã瀺ããŸããããŸããHarmonicEvalã®åã¹ããããçããŠå®éšãçµæãããåã¹ããããæå¹ã«åããŠããããšã瀺ããŸãããè©³çŽ°ãæ°ã«ãªãæ¹ã¯ã 衚é¡ã®è«æ ãåç
§ããŠãã ããã [C10-6] å€§èŠæš¡èšèªã¢ãã«ã«ãããSupervised Fine-tuningã®å
æ¬çæ€èšŒ åç° å®¥éœ, å±±å
æ èŒ (NII/æ±å€§), å°ç° æ ä» (NII), å€§é¢ æŽå¹³ (æ±å€§), 宮尟 ç¥ä» (NII/æ±å€§), 髿š åª (NII) ãã®ç ç©¶ã§ã¯ãäºåŸåŠç¿ãšããŠã®Supervised Fine-tuning (SFT) ã«ããã以äžã®3ã€ã®ç¹ã«ã€ããŠãåºç¯ãªæ€èšŒãè¡ãªã£ãŠããŸãã åŠç¿ããŒã¿ãšäžæµã¿ã¹ã¯ã®æ§èœã®é¢ä¿ åŠç¿ããŒã¿ã®ãµã³ãã«ãµã€ãºãäžæµã¿ã¹ã¯ã®æ§èœã«äžããåœ±é¿ åŠç¿æ¹æ³ã«ããéã é¢é£ç ç©¶ãšããŠãåè¿°ãã3ç¹ã«ã€ããŠæ§ã
ãªè°è«ããããéå®ãããã¢ãã«ãåŠç¿ããŒã¿ã»è©äŸ¡ã§ã®å ±åã¯ãããŸããç¶²çŸ
çãªæ¯èŒã«ã¯ãªã£ãŠããŸãããäŸãã°ãåŠç¿ããŒã¿ã®ãµã³ãã«ãµã€ãºãæ§èœã«äžãã圱é¿ã®è©äŸ¡ã§ã¯ãSFTã¯ããŒã¿ã®è³ªãé«ãå°æ°ã®ãµã³ãã«ã§ååã§ãããšããå ±åãå€§èŠæš¡ãªããŒã¿ãçšæããã¹ãã§ãããšããå ±åããããŸããããã§æ¬ç ç©¶ã§ã¯ã245çš®é¡ã®SFTã¢ãã«ãèšç·Žããã¢ãã«ãã¡ããªãŒãããŒã¿ã»ããã®çš®é¡ã»éã»åŠç¿ææ³ã«ã€ããŠæ€èšŒãããŠããŸãã å®éšã¯äºååŠç¿ãããå€§èŠæš¡èšèªã¢ãã«ã§ãããOLMo-7B-hfãllm-jp-3-7B, Qwn2.5-7BãçšããŠããŸããããŒã¿ã»ããã¯10çš®é¡çšæããåŠç¿ææ³ã¯ãLoRAãšãã«ãã©ã¡ãŒã¿ïŒå
šãã©ã¡ãŒã¿ïŒã§æ¯èŒããŠããŸããè©äŸ¡ã¯opencompassã䜿çšããŠãMathã»Codingã»Knowledgeã»Subjectiveã®ã«ããŽãªããã³ãããŒã¯ãšããŠäœ¿çšããŠããŸãã çµæãšããŠãåŠç¿ããŒã¿ã®ã«ããŽãªä»¥å€ã«ãåé¡ããã©ãŒãããã®æ§è³ªãéèŠã§ãããšç€ºåãããŠããŸããåå ã¯ãåŠç¿ããŒã¿ã»ãããšã«ããŽãªã®åœ±é¿ã®æ€èšŒã«ãã£ãŠãç¹å®ã®ããŒã¿ã»ããã¯In Distribution, Out of Distributionåããã¹ã³ã¢ã«åœ±é¿ãäžããŠãããšèããããããã§ãã æ¬¡ã«ããŒã¿ã»ãããµã€ãºã®åœ±é¿ã®æ€èšŒã§ã¯ã1kãš20kã®ããŒã¿ã»ãããµã€ãºãæ¯èŒããŠå®éšããŠããŸããçµæãšããŠãå
šäœçãªåŸåãã¹ã³ã¢ã¯å€ããããããŒã¿ã®è³ªãéèŠã§ããããšã瀺åããŠããŸããã¢ãã«ãã¡ããªãŒã®åœ±é¿ã®æ€èšŒã§ã¯ãã¢ãã«ã®äºååŠç¿èšèªãã¢ãŒããã¯ãã£ã«ãããã¹ã³ã¢ã®å€åã«äžè²«æ§ãèŠãããŸããã ä»åã®åå ã¬ããŒãã§è¿°ã¹ãå
容以å€ã«ãæ§ã
ãªåæãããŠãããããè©³çŽ°ãæ°ã«ãªãæ¹ã¯ã 衚é¡ã®è«æ ãåç
§ããŠãã ããã ãŸãšã æ¬èšäºã§ã¯ãèšèªåŠçåŠäŒç¬¬31å幎次倧äŒã®åå ã¬ããŒãããå±ãããŸãããä»åã¯ãåå ç»é²è
æ°ãçºè¡šä»¶æ°ãã¹ãã³ãµãŒæ°ãæŽä»£1äœãšãªããŸãããæ¬å¹Žæ¬¡å€§äŒã§ã¯ãç ç©¶çºè¡šã«é¢ããè°è«ãåŠã³ããããæã
ã倧äŒã§åŸãç¥èãç ç©¶éçºã«åãå
¥ããŠããããšæããŸãã ãããã« ZOZOã§ã¯ãäžç·ã«ãµãŒãã¹ãäœãäžããŠãããæ¹ãåéäžã§ãããèå³ã®ããæ¹ã¯ã以äžã®ãªã³ã¯ãããã²ãå¿åãã ããã corp.zozo.com
ã¯ããã« ããã«ã¡ã¯ãDeveloper Engagementãããã¯ã® @wiroha ã§ãã5æ13æ¥ã«ã After RubyKaigi 2025ãZOZOããã¡ã€ã³ãã£ããã¯ã·ãã ããéå¬ããŸãããæ¬ã€ãã³ãã¯ãRubyKaigi 2025ã®ã¹ãã³ãµãŒäŒæ¥ã§ããZOZOããã¡ã€ã³ãã£ããã¯ã·ãã®3瀟ãå
±åã§äž»å¬ããAfterã€ãã³ãã§ãã pixiv.connpass.com RubyKaigi 2025ã«åå ããæ¹ããåå ã§ããªãã£ãæ¹ã楜ãããå
容ãšãªã£ãŠãããçŸå°åå è
ãšãªã¢ãŒãåå è
ãåãããŠå€ãã®RubyistãéãŸããŸããã ç»å£å
容ãŸãšã RubyKaigi 2025ã«åå ããZOZOã»ãã¡ã€ã³ãã£ã»ãã¯ã·ãã®ã¡ã³ããŒã«ããçºè¡šãšãäžè¬å
¬åLTãããã«ãã£ã¹ã«ãã·ã§ã³ãè¡ããŸããã çºè¡šã¿ã€ãã« ç»å£è
Kaigi Effect 2025 ãã¯ã·ã sue445 rbs-traceã䜿ã£ãŠWEARã§åçæã詊ããŠã¿ã ZOZO KEI æºåãä»ã«ã€ãªãã / RubyKaigi 2025ã®ããã¯ããã°è£è©± ãã¡ã€ã³ã㣠mikik0 ïŒ nakayama-bird Road to Ruby for A Linguistics Nerd Hayato Ishida ( @hayat01sh1da ) ruby.wasmãšWebSocketã§éãŒã lni_T ( @lni_T ) ç§ã®RubyKaigi 2025 Kaigi Effect chobishiba ( @chobishiba ) Kaigi Effectã§railsã«ãã«ãªã¯ãéã£ãã ããµã®ã³ ( @fusagiko ) Rubyã®ãã°ãçŽã話 kiridaruma ( @kiridaruma ) âæè¡ã«ã³ãã¡ã¬ã³ã¹ã§äœãå€ããïŒâ ââRubyKaigiåŸã®èªåãšããŒã ãæ¯ãè¿ã shun ( @shun_shun_last ) ããã«ãã£ã¹ã«ãã·ã§ã³+æèŠªäŒ ç¥è°·ïŒ tsuwatch ïŒ harukasan Kaigi Effect 2025 ãã¯ã·ã sue445ããŸã«ããçºè¡š speakerdeck.com Sue445ããŸã¯ãRubyKaigi 2025ã®ååŸã«æžããã³ãŒãïŒKaigi EffectïŒã«ã€ããŠçºè¡šãããŸããããããŸã§3床ãRubyKaigiã«æ¡æãããŠããã®ã¯ãããããæ¥ã
ã®ç©ã¿éããããããããã ãšæããŸããã rbs-traceã䜿ã£ãŠWEARã§åçæã詊ããŠã¿ã ZOZO KEIã«ããçºè¡š speakerdeck.com ZOZOã®KEIããã¯ãrbs-traceãçšããŠWEARã®ã¢ããªã§åçæã詊ããçµæã«ã€ããŠçºè¡šããŸãããã³ãŒãè£å®ããšã©ãŒãã€ã©ã€ããšãã£ãã¡ãªãããåŸãããããã§ããã€ãŸãããç¹ãªã©ã詳现ã¯ã¹ã©ã€ãè³æãã芧ãã ããã æºåãä»ã«ã€ãªãã / RubyKaigi 2025ã®ããã¯ããã°è£è©± ãã¡ã€ã³ã㣠mikik0ããŸã«ããçºè¡š speakerdeck.com mikik0ããŸã¯ãRubyKaigiã«åããŠããŸããŸãªæºåãããããšã§äº€æµãåŠã³ãå¢ããããšãçºè¡šãããŸããã質çå¿çã®æéã§ã¯å
·äœçãªã³ãŒããèŠãªããã®ãã£ã¹ã«ãã·ã§ã³ãå§ãŸããéåžžã«çãäžãã£ãŠããŸããã ãã¡ã€ã³ã㣠nakayama-birdããŸã«ããçºè¡š nakayama-birdããŸã¯ãRubyKaigi 2025ã®ããã¯ããã°è£è©±ããšããã¿ã€ãã«ã§çºè¡šãããŸãããããã¯ããã°ãæžããšãããããæ±ºããŠããããšã§ãæ°ããªçºèŠã亀æµã«ç¹ãã£ãããã§ãããªããä»åã®è³æã¯ruby.wasmã®ã¹ã©ã€ãäœæããŒã«ãgibier2ããçšããŠäœæããŠããŸãããè³æã®å
±æã®ä»çµã¿ã¯ãŸã ãªããããªã®ã§ãä»åŸã«æåŸ
ã§ããã å
¬åLT å
¬åLTã«ã¯ããããã®ãå¿åãããã ããŸãããçºè¡šè
ã®ã¿ãªããŸããããšãããããŸãããRubyKaigiãéããŠåŠã³ãåŸãããã¢ãããŒã·ã§ã³ãé«ãŸã£ãããšãã£ãææãããèŠãããŸãããè³æãå
¬éãããŠããçºè¡šã«ã¯ãªã³ã¯ã貌ã£ãŠããŸãã®ã§ããã²ã芧ãã ããã Road to Ruby for A Linguistics Nerd / Hayato Ishida ( @hayat01sh1da ) ruby.wasmãšWebSocketã§éãŒã / lni_T ( @lni_T ) ç§ã®RubyKaigi 2025 Kaigi Effect / chobishiba ( @chobishiba ) Kaigi Effectã§railsã«ãã«ãªã¯ãéã£ãã / ããµã®ã³ ( @fusagiko ) Rubyã®ãã°ãçŽã話 / kiridaruma ( @kiridaruma ) âæè¡ã«ã³ãã¡ã¬ã³ã¹ã§äœãå€ããïŒâ ââRubyKaigiåŸã®èªåãšããŒã ãæ¯ãè¿ã / shun ( @shun_shun_last ) ããã«ãã£ã¹ã«ãã·ã§ã³ ããã«ãã£ã¹ã«ãã·ã§ã³ã®æ§å ããã«ãã£ã¹ã«ãã·ã§ã³ã«ã¯ãã¡ã€ã³ãã£ã®ç¥è°·ããŸããã¯ã·ãã®harukasanããŸãZOZOã®tsuwatchãç»å£ããŸãããRubyKaigiã§æ°ã«ãªã£ãã»ãã·ã§ã³ãã¹ãã³ãµãŒããŒã¹ã®æ¯ãè¿ãã®ã»ããåå è
ããã®è³ªåãžã®åçãè¡ãåæ¹åã®ã³ãã¥ãã±ãŒã·ã§ã³ãåã£ãŠããŸãããã©ããã£ãŠããããŒã¶ã«ãèããããã©ãããã°æ¡æãããããšãã£ã話é¡ã«ã¯åå è
ãããæèŠãé£ã³äº€ããã¿ãªããŸã®ç±æãæããŸããã æåŸã« ä»åã¯Rubyã®committerããååŠè
ãŸã§å€æ§ãªå±æ§ã®RubyistãéãŸããRubyKaigiãåž°ã£ãŠãããããªåæ°ãããããšããé°å²æ°ã®ã€ãã³ããšãªããŸãããæ¥å¹Žã®RubyKaigi 2026ã«åããŠææ¬²ãé«ãŸããããã«æ¥œãã¿ã«ãªã£ãããšæããŸããã¿ãªããŸãåå ããã ãããããšãããããŸããïŒ ZOZOã§ã¯ãShort talkã§ã話ããããWEAR by ZOZOããéçºããRubyãšã³ãžãã¢ãåéäžã§ããã«ãžã¥ã¢ã«é¢è«ãåãä»ããŠããŸãã®ã§ããèå³ã®ããæ¹ã¯ä»¥äžã®ãªã³ã¯ãããã²ãå¿åãã ããã hrmos.co hrmos.co
ã¯ããã« ããã«ã¡ã¯ãDeveloper Engagementãããã¯ã® @wiroha ã§ãã5æ12æ¥ã«ã Google Cloud Next 2025 Recap in ZOZO ããšé¡ãããGoogle Cloud Next 2025ã®æ¯ãè¿ãã€ãã³ãããªã³ã©ã€ã³ã§éå¬ããŸããã https://zozotech-inc.connpass.com/event/351747/ zozotech-inc.connpass.com æ¬æ¯ãè¿ãã€ãã³ãã®åæãšãªãGoogle Cloud Next 2025ã®åå ã¬ããŒãèšäºãå
æå
¬éããŠããŸããçŸå°ã®åççããããŸãã®ã§ããããŠã芧ãã ããã techblog.zozo.com ç»å£å
容ãŸãšã æ¬ã€ãã³ãã§ã¯ãã©ã¹ãã¬ã¹ã®äŒå Žã«èµŽããŠçŸå°åå ããZOZOã¡ã³ããŒã®çºè¡šã«å ããç¹å¥ã²ã¹ããšããŠã°ãŒã°ã«ã»ã¯ã©ãŠãã»ãžã£ãã³ã®æ¹ã«ããç»å£ããã ããŸããã çºè¡šã¿ã€ãã« ç»å£è
Google Cloud Next 2025 Recap ã°ãŒã°ã«ã»ã¯ã©ãŠãã»ãžã£ãã³ååäŒç€Ÿ å°é åä¹ çæAIã¢ãã«ãšããŒã±ãã£ã³ã°ã§ã®ã³ã³ãã³ãçæ ZOZO, Inc. éœè€ æå
µ ããŒã±ãã£ã³ã°æœçã®éçšåã³éçºãæ¯æŽããAIã®æŽ»çš ZOZO, Inc. åå· ç¯€ ã¢ããªã±ãŒã·ã§ã³éçºãå éããæ©èœã¢ããããŒã ZOZO, Inc. 坿°ž è¯å åœæ¥ã®çºè¡šã¯YouTubeã®ã¢ãŒã«ã€ãåç»ãã芧ãã ããããªããã°ãŒã°ã«ã»ã¯ã©ãŠãã»ãžã£ãã³ååäŒç€Ÿã®å°éããŸã«ããçºè¡šã¯éœåã«ããã¢ãŒã«ã€ãã«å«ãŸããŠãããŸãããããããããäºæ¿ãã ããã www.youtube.com Google Cloud Next 2025 Recap ã°ãŒã°ã«ã»ã¯ã©ãŠãã»ãžã£ãã³ååäŒç€Ÿ å°é åä¹ããŸã«ããçºè¡š ã°ãŒã°ã«ã»ã¯ã©ãŠãã»ãžã£ãã³ååäŒç€Ÿã®å°éããŸããã¯ãGoogle Cloud Next 2025ã§çºè¡šããã倿°ã®æ©èœã«ã€ããŠã玹ä»ããã ããŸãããVertex AIãšAgentspaceã®é²åã«ããã髿©èœåã«å ããŠäœ¿ãããããåäžããŠããããšãããããŸããããç»å£ããããšãããããŸããïŒ çæAIã¢ãã«ãšããŒã±ãã£ã³ã°ã§ã®ã³ã³ãã³ãçæ ZOZO, Inc. éœè€ æå
µã«ããçºè¡š speakerdeck.com éœè€ã®çºè¡šã§ã¯ãçæAIã¢ãã«ã掻çšããããŒã±ãã£ã³ã°ã³ã³ãã³ãçæã®å¯èœæ§ãäºäŸã«ã€ããŠç޹ä»ããŸãããVeo 2ã§çæãããåç»ã¯ãšãŠãèªç¶ã§ãããã¹ããããªãããªã³ã³ãã³ããæè»œã«çæã§ããŠããŸããã ããŒã±ãã£ã³ã°æœçã®éçšåã³éçºãæ¯æŽããAIã®æŽ»çš ZOZO, Inc. åå· ç¯€ã«ããçºè¡š speakerdeck.com åå·ããã¯BigQueryãäžå¿ãšããGoogle Cloudã®AIæ©èœã掻çšããããŒã±ãã£ã³ã°æœçã®éçšãéçºãæ¯æŽããæ¹æ³ã«ã€ããŠçºè¡šããŸãããããŒã¿åæã®å¹çåãæææ±ºå®ã®è¿
éåã«é¢ããäºäŸã§ã¯ãæ°ã¶æããã£ãŠããåæã1åã§çµããããã«ãªã£ããšã®ããšã§ãAIã®åã宿ã§ããå
容ã§ããã ã¢ããªã±ãŒã·ã§ã³éçºãå éããæ©èœã¢ããããŒã ZOZO, Inc. 坿°ž è¯åã«ããçºè¡š speakerdeck.com 坿°žããã¯ãCloud RunãGemini Code Assistãªã©ãã¢ããªã±ãŒã·ã§ã³éçºãå éãããGoogle Cloudã®æ°æ©èœã«ã€ããŠçºè¡šããŸãããGemini Code Assistã¯ãœãŒã¹ã³ãŒãã®èªåçæã ãã§ã¯ãªããèšèšãã¬ãã¥ãŒã»ãããã€ã»ãããã°ãªã©éçºè
ã®æ¥é ã®æ¥åã倿¹é¢ãããµããŒããããŠãããšã®ããšã§ãçç£æ§åäžãžã®å¯äžãæåŸ
ã§ããå
容ã§ããã æåŸã« ã€ãã³ãåœæ¥ã«ãªã¢ã«ã¿ã€ã ã§ãèŠèŽããã ããçããŸããèŠèŽããããšãããããŸãããèŠéããæ¹ã¯ãã²ã¢ãŒã«ã€ãåç»ãã芧ãã ããã ZOZOã§ã¯ãäžç·ã«ãµãŒãã¹ãäœãäžããŠãããæ¹ãåéäžã§ãããèå³ã®ããæ¹ã¯ã以äžã®ãªã³ã¯ãããã²ãå¿åãã ããã corp.zozo.com
ZOZOéçºçµç¹ã®2025幎4æåã®æŽ»åãæ¯ãè¿ããZOZO TECH BLOGã§å
¬éããèšäºãç»å£ã»æ²èŒæ
å ±ãªã©ããŸãšããMonthly Tech Reportããå±ãããŸãã ZOZO TECH BLOG 2025幎4æã¯ãåæã®Monthly Tech Reportãå«ãèš5æ¬ã®èšäºãå
¬éããŸãããç¹ã«ã Kubernetes Event-driven AutoscalingïŒKEDAïŒã§å®çŸããå€éã»äŒæ¥ã®ã€ã³ãã©ã³ã¹ãåæž ãã¯ãšãŠãå€ãã®æ¹ã«èªãŸããŸãããGoogle Cloudã®ã³ã¹ãåæžã«èå³ããæã¡ã®æ¹ã¯ãã²ãäžèªãã ããã techblog.zozo.com ZOZO DEVELOPERS BLOG RubyKaigi 2025 ã«Platinum SponsorãšããŠåè³ããæšã®èšäºãå
¬éããŸããã technote.zozo.com RubyKaigi 2025ã®åå ã¬ããŒãã¯ZOZO TECH BLOGã«å
¬éããŠããŸããããããŠã芧ãã ããã techblog.zozo.com ç»å£ try! Swift Tokyo 2025 4æ9æ¥ãã4æ11æ¥ã«ãããŠéå¬ãããã try! Swift Tokyo 2025 ãã§ãèšæž¬ã¢ããªéšã®Michael âPetrieïŒ @Kapsy ïŒãã MSDFãšMetalãçšããçŸããããã¹ãã¬ã³ããªã³ã° ããšããã¿ã€ãã«ã§ç»å£ããŸããã ïŒŒæ¬æ¥ããtry! Swift Tokyo 2025ïŒ ZOZOã¯SILVERã¹ãã³ãµãŒã»DIVERSITY & INCLUSIONã¹ãã³ãµãŒã»STUDENTã¹ãã³ãµãŒãšããŠåè³ããŠããŸãð ãŸãZOZOãšã³ãžãã¢ã®Michael âPetrieãç»å£ããŸãð 4æ10æ¥(æš) 10:35ããMSDFãšMetalãçšããçŸããããã¹ãã¬ã³ããªã³ã°ã #tryswift #zozo_engineer — ZOZO Developers (@zozotech) 2025幎4æ9æ¥ www.youtube.com try! Swift Tokyo åè³5瀟å
±å¬ åŠçåã iOSããããããã«ãœã³ 4æ12æ¥ã«try! Swift Tokyo 2025 Student Scholarship Sponsor 宿œäŒæ¥5ç€ŸïŒæ ªåŒäŒç€Ÿã¡ã«ã«ãª/ãã¯ã·ãæ ªåŒäŒç€Ÿ/ãµã€ããŠãºæ ªåŒäŒç€Ÿ/æ ªåŒäŒç€ŸMIXI/æ ªåŒäŒç€ŸZOZOïŒãååã§ã try! Swift Tokyo åè³5瀟å
±å¬ åŠçåã iOSããããããã«ãœã³ ããéå¬ããŸããã æ²èŒ Think IT ã Think IT ãã® ãCloudNative Days Winter 2024ãã¬ããŒã ã«ãECåºç€éçºæ¬éšã®æšªç°ãšäºäºãç»å£ããã»ãã·ã§ã³ã®ã¬ããŒããæ²èŒãããŸããã thinkit.co.jp ãšã³ãžãã¢type ã ãšã³ãžãã¢type ãã®ã èŽããšã³ãžãã¢type ãã«ãããŒã¿ã·ã¹ãã éšã®å¥¥å±±ïŒ @pokoyakazan ïŒãåºæŒããPodcastã®å
å®¹ãæžãèµ·ãããWebèšäºãå
¬éãããŸããã type.jp ãã®ä» è±äŒæ¥ã»LYST LTDã®å
šæ ªåŒãååŸãå®å
šåäŒç€Ÿå 2025幎4æ9æ¥ã«ãã¬ã¹ãªãªãŒã¹ãçºè¡šããéããZOZOã¯æ¬§ç±³ãäžå¿ã«é«ã人æ°ãèªããã¡ãã·ã§ã³ã·ã§ããã³ã°ãã©ãããã©ãŒã ãLystããéå¶ããLYST LTDã®å
šæ ªåŒãååŸããå®å
šåäŒç€Ÿåããããšã決å®ããŸããã prtimes.jp LYST LTDã®å®å
šåäŒç€Ÿåã«ã€ããŠã¯ 2025幎3ææ éææ±ºç®çºè¡š ã§ãèšåããŠããŸãã corp.zozo.com 以äžã2025幎4æã®ZOZOã®æŽ»åå ±åã§ããïŒ ZOZOã§ã¯ãäžç·ã«ãµãŒãã¹ãäœãäžããŠãããæ¹ãåéäžã§ãããèå³ã®ããæ¹ã¯ã以äžã®ãªã³ã¯ãããã²ãå¿åãã ããã corp.zozo.com
Developer Engagementãããã¯ã® @ikkou ã§ãã2025幎4æ16æ¥ãã18æ¥ã®3æ¥éã«ãããæåªçã¯æŸå±±åžã® æåªççæ°æåäŒé€š ã§ã RubyKaigi 2025 ããéå¬ãããŸãããZOZOã¯äŸå¹Žéããã©ããã¹ãã³ãµãŒãšããŠåè³ããã¹ãã³ãµãŒããŒã¹ãåºå±ããŸããã technote.zozo.com æ¬èšäºã§ã¯ãååã¯WEARã®ããã¯ãšã³ããšã³ãžãã¢ãæ°ã«ãªã£ãã»ãã·ã§ã³ã玹ä»ããŸããåŸåã§ã¯ãZOZOã®åè³ããŒã¹ã®æ§åãšå瀟ã®ããŒã¹ã«ãããã³ãŒãã£ããŒããåçäžå¿ã«å ±åããŸãã ZOZOãšWEARãšRubyKaigi ZOZOãšWEARãšMatzãã WEARã®ããã¯ãšã³ããšã³ãžãã¢ãæ°ã«ãªã£ãã»ãã·ã§ã³ Speeding up Class#new Automatically generating types by running tests Making TCPSocket.new "Happy"! Happy Eyeballs Version 2ïŒRFC 8305ïŒã«ã€ã㊠On-the-fly Suggestions of Rewriting Method Deprecations ZOZOããŒã¹ã®çŽ¹ä» RubyKaigiå
¬åŒã€ãã³ãã®ã¹ã¿ã³ãã©ãªãŒ åè³äŒæ¥ããŒã¹ã®ã³ãŒãã£ããŒããŸãšã After RubyKaigi 2025ãZOZOããã¡ã€ã³ãã£ããã¯ã·ãããéå¬ããŸãïŒ ãããã« ZOZOãšWEARãšRubyKaigi ä»åã®äŒå Žãšãªã£ãã®ã¯éåŸæž©æ³ãããã°ã®ãæåªççæ°æåäŒé€šã äŸå¹ŽãZOZOãRubyKaigiã«åè³ããŠããããšã«çåãæãããæ¹ãããã£ããããããããŸããããç§ãã¡ãéå¶ãã ãã¡ãã·ã§ã³ã³ãŒãã£ããŒãã¢ããªãWEAR by ZOZOã ã®ããã¯ãšã³ãã¯Ruby on Railsã§éçºãããŠããŸãã2013幎ã«VBScriptã§æ§ç¯ãããã·ã¹ãã ã§ãããã2020幎é ããã³ãŒãããªãŒãºããRubyãžã®ãªãã¬ã€ã¹ãéå§ããŸãããçŸåšããªãã¬ã€ã¹ãé²ããªãããæ°èŠã®æ©èœãRubyã§éçºããŠããŸãã WEARã®æè¡ã¹ã¿ã㯠ZOZOãšRubyKaigiã®é¢ä¿ã¯ãZOZOã®å身ã§ããVASILYæä»£ã® RubyKaigi 2017 ã«é¡ããŸããã³ããçŠãçµãŠåéãã RubyKaigi 2022 ããã¯WEARã®ããã¯ãšã³ãéçºãæ
ãããŒã ãäžå¿ãšãªã£ãŠåè³ãšã¹ãã³ãµãŒããŒã¹ã®åºå±ãç¶ããŠããŸãã RubyKaigi2017åå ã¬ããŒã(å
šæ¥å)ãšã¹ã©ã€ããŸãšã RubyKaigi2018åå ã¬ããŒã RubyKaigi 2019åå ã¬ããŒããsonotsç»å£ã»ãã·ã§ã³ & ãšã³ãžãã¢8åã«ããå³éžã»ãã·ã§ã³ RubyKaigi 2022åå ã¬ããŒã ããšã³ãžãã¢ã«ããã»ãã·ã§ã³ç޹ä»ã RubyKaigi 2023åå ã¬ããŒã ããšã³ãžãã¢ã«ããã»ãã·ã§ã³ç޹ä»ã RubyKaigi 2024 åå ã¬ããŒã ZOZOãšWEARãšMatzãã ä»å¹ŽãZOZOã®ã¹ãã³ãµãŒããŒã¹ã«éã³ã«ããŠãããMatzãã ZOZOã§ã¯âRubyã®ããâããšMatzãããæè¡é¡§åãšããŠãè¿ãããæ¯æMatz MTGãšç§°ãããªã³ã©ã€ã³ããŒãã£ã³ã°ã宿œããŠããŸãããã®Matz MTGã¯Rubyãšã³ãžãã¢ã«éããã誰ã§ãåå å¯èœã§ããRubyã«ç¹åãã話é¡ãããæè¡å
šè¬ã«é¢ããè峿·±ã話é¡ãŸã§ãå¹
åºãè°è«ã§ããå ŽãšããŠå®çããŠããŸããRubyKaigi 2025ã®ç¿é±ã«éå¬ãããMatz MTGã§ã¯ãKeebKaigiã§RubyKaigiãšãçžã®ãããããŒããŒããã«é¢ãã話é¡ãšããŠãMatzããã®ããŒããŒãè«ãèªãããŠããŸããã WEARã®ããã¯ãšã³ããšã³ãžãã¢ãæ°ã«ãªã£ãã»ãã·ã§ã³ ä»å¹Žã¯WEARããŒã ãã4åã®ããã¯ãšã³ããšã³ãžãã¢ãRubyKaigiã«åå ããŸãããæ¬ããŒãã§ã¯åãšã³ãžãã¢ãç¹ã«æ°ã«ãªã£ãã»ãã·ã§ã³ãåã
ã®èŠç¹ã§ç޹ä»ããŸãã Speeding up Class#new @tsuwatch ã§ããä»å¹Žããããããããããã»ãã·ã§ã³ããã£ãŠãæ©ãã ã®ã§ãããAaron PattersonïŒ @tenderlove ïŒããã®ã Speeding up Class#new ãã«ã€ããŠç޹ä»ããŸãã speakerdeck.com ãã®ã»ãã·ã§ã³ã¯ãã¿ã€ãã«ã®éã Class.new ã®é床ãåäžãããããšã«ã€ããŠè§£èª¬ãããã®ã§ãããã®å®çŸæ¹æ³ãšããŠçç®ãããã®ã¯ããã®ã¡ãœãããCã§å®è£
ãããŠããç¹ã§ããã Class.new ãå®è¡ãããšã以äžã®æµãã§åŠçãããŸãã ãªããžã§ã¯ããallocateãã initializeãã ãªããžã§ã¯ããreturnãã RubyããCãžããããŠãŸãRubyãžãšå€æããŠããå¿
èŠããããŸãã 該åœã®ãœãŒã¹ã³ãŒã㯠ruby/object.c ã®ãã¡ãã§ãã VALUE rb_class_new_instance_pass_kw ( int argc, const VALUE *argv, VALUE klass) { VALUE obj; obj = rb_class_alloc (klass); rb_obj_call_init_kw (obj, argc, argv, RB_PASS_CALLED_KEYWORDS); return obj; } ãªãèšèªã®å¢çããŸãããšé
ããªãã®ããããã¯Calling Conventionãããªãã¡åŒåºèŠçŽã®éãã«ãããã®ã§ãã RubyãšCã§ã¯ãåŒæ°ã®åãæž¡ãæ¹æ³ãªã©ãç°ãªããŸããRubyã§ã¯ããŒã¯ãŒãåŒæ°ã䜿çšã§ããŸãããCã§ã¯ãµããŒããããŠããŸãããäŸãã°ããã·ã¥åãããªã©ãããŸããŸãªå€æãå¿
èŠã§ãã ãã®ãããCã®åŠçã ããèŠãã°éããããããŸããããèšèªã®å¢çããŸãããªãŒããŒãããã«ãããå
šäœã§èŠããšé床ãé
ããªã£ãŠããå¯èœæ§ããããŸãããããã£ãŠãå€å°é
ããšãCã§ã¯ãªãRubyã§å®çŸããæ¹ãè¯ããšèããããŸãã該åœã®å®è£
㯠ruby/ruby#9289 ã§ç€ºãããŠããŸãã ãã³ãããŒã¯ãšããŠallocations per secondãèšæž¬ãããŠããŸããã1ã€ã®äœçœ®åŒæ°ã§ã¯1.8xãããŒã¯ãŒãåŒæ°ã3åã§3.2xã10åã§6.2xãšããçµæã§ããã ããã«ã¯ãã¡ãªããããããã¡ã¢ãªãå€å°å¢å ããããšãããšã©ãŒæã®ã¹ã¿ãã¯ãã¬ãŒã¹ã§ Class#new ããªããªã£ãŠããŸãã±ãŒã¹ããããŸããããããããããã¯èš±å®¹ç¯å²å
ã§ãããšçµè«ã¥ããããŠããŸããã ãã®ã»ãã·ã§ã³ã®å
容èªäœãšãŠãããããããã®ã§ãããæ®æ®µããRubyã®å
éšãæ·±ãç¥ããããšæãã€ã€ããCãèªãããšã«å¯ŸããããŒãã«ãæããŠããŸããããã©ããã£ãèãæ¹ã§èªãã§ããã°è¯ãã®ããåŠã¶ããšãã§ããŸãããããã«Rubyãžã®èå³ã奜å¥å¿ã匷ãæãŠãããã«ãªã£ãã»ãã·ã§ã³ã§ããã Automatically generating types by running tests å°å±± ã§ããç§ããã¯Takumi ShotokuïŒ @sinsoku_listy ïŒããã®ã Automatically generating types by running tests ãã玹ä»ããŸãã speakerdeck.com ãã®ã»ãã·ã§ã³ã¯ããã¹ãã®å®è¡ãéããŠèªåçã«ãrbs-inlineçšã«RBSã³ã¡ã³ãã§åæ
å ±ãçæããŠãããgemã rbs-trace ãã«ã€ããŠè§£èª¬ããçºè¡šã§ããã rbs-traceã¯ãRubyã®ãã¹ããå®è¡ããªãããå®è¡ãããã³ãŒãã®åŒæ°ãšæ»ãå€ã®åæ
å ±ããã¬ãŒã¹ããããšã§åæ
å ±ãåéããRBS圢åŒã§åºåããŸããæ¢åã®ã³ãŒãè¡æ°ãå€ãã¢ããªã±ãŒã·ã§ã³ã«å¯ŸããŠããã¹ãŠã®ã¡ãœããã«æåã§RBSãèšè¿°ããã®ã¯å°é£ã§ããããããã¹ãå®è¡æã«å宣èšã§ããããã«ããããšãç®æšã«åãçµãŸããŠãããšã®ããšã§ãã ãã¬ãŒã¹ã«ã¯ãRubyã®æšæºã©ã€ãã©ãªã§ããTracePointã䜿çšããŠããŸããTracePointã¯ãRubyã®å®è¡äžã«ç¹å®ã®ã€ãã³ãïŒã¡ãœããåŒã³åºããã¯ã©ã¹å®çŸ©ãªã©ïŒããã¬ãŒã¹ããããã®APIã§ãã rbs-traceã®çšæ³ã¯éåžžã«ã·ã³ãã«ã§ãã以äžã¯ã»ãã·ã§ã³äžã§ç޹ä»ããããµã³ãã«ã³ãŒãã§ãã trace = RBS :: Trace .new # Enable tracing to call methods trace.enable # Call methods user = User .new( " Yukihiro " , " Matsumoto " ) user.say_hello # Disable tracing trace.disable # Save RBS type declarations as comments trace.save_comments ãã®ã³ãŒããå®è¡ãããšã user.say_hello ã¡ãœããã®åŒæ°ãšæ»ãå€ã®åæ
å ±ãåéãããRubyãã¡ã€ã«ã«RBSã³ã¡ã³ããæ¿å
¥ãããŸãã class User # @rbs (String, String) -> void def initialize (first_name, last_name) @first_name = first_name @last_name = last_name end # @rbs () -> String def full_name "#{ @first_name } #{ @last_name }" end # @rbs () -> void def say_hello puts " hi, #{ full_name } . " end end RSpecãMinitestãªã©ã®ãã¹ããã¬ãŒã ã¯ãŒã¯ãšçµã¿åãããŠäœ¿çšã§ãããã¹ããå®è¡ããããšã§ãåæ
å ±ãèªåçã«çæã§ããŸãã ãã¹ããšå宣èšã®äžèŽãåæãšããããããã¹ãããªãã¡ãœãããããã¹ããäžååãªã¡ãœããã«å¯ŸããŠã¯åæ
å ±ãçæãããŸããããŸãããã¹ãã«äžåãããå Žåãåæ
å ±ã誀ã£ãŠçæãããç¹ã«æ³šæãå¿
èŠã§ãã 以äžã®2ã€ã®Railsã¢ããªã±ãŒã·ã§ã³ã«å¯ŸããŠrbs-traceãå®è¡ããçµæã玹ä»ãããŸããã Redmine Mastodon ããã©ãŒãã³ã¹ã«ã€ããŠãè§ŠããããŠãããããŒã«ã«ãã·ã³ïŒ2021幎補ã®MacBook Pro M1 Max 64GBïŒã§ãã¹ããå®è¡ããå Žåãrbs-traceå°å
¥ååŸã§ã®å®è¡æéã«ä»¥äžã®å·®ç°ãèŠãããŸããã Rails app rbs-traceå°å
¥å rbs-traceå°å
¥åŸ å·®å æ¯ç Redmine 2m14s 12m7s 9m53s 5.43å Mastodon 45s 2m54s 2m9s 3.87å Timeeãmovã®ãããã¯ãã®ã¢ããªã±ãŒã·ã§ã³ã³ãŒãã«å¯ŸããŠãrbs-traceå°å
¥ååŸã«CIã§ãã¹ããå®è¡ããçµæãããã©ãŒãã³ã¹ã®å·®ç°ã¯ä»¥äžã®éãã§ããã Rails app jobs rbs-traceå°å
¥å rbs-traceå°å
¥åŸ å·®å æ¯ç Timee 35 7m16s 10m40s 3m24s 1.47å mov 20 15m52s 22m16s 6m24s 1.40å â»Timeeã§ã¯RSpecã®Actionsã« split-test ã䜿çšã â»movã§ã¯RSpecã®Actionsã« split-tests-by-timings ã䜿çšã ãã¹ãã®å®è¡æéã¯å¢å ããŸãããrbs-traceã®å®è¡ã¯äžåºŠã®ã¿ã§æžããããããã©ãŒãã³ã¹ãžã®åœ±é¿ã¯èš±å®¹ç¯å²å
ã§ãããšè¿°ã¹ãããŠããŸããã ã»ãã·ã§ã³ã®äžç€ã§ã¯ä»¥äžã®èª²é¡ã«å¯ŸããŠãrbs-traceã§è¡ã£ãæ¹åã玹ä»ãããŸãããå
·äœçãªæ¹åç¹ã®è©³çްã«ã€ããŠã¯å²æããŸããã詳现ã«ãèå³ã®ããæ¹ã¯ã»ãã·ã§ã³è³æãåç
§ããŠãã ããã ã¯ã©ã¹ã¡ãœããã§NoMethodErrorãçºçãã ã¯ã©ã¹åãActiveRecord::Relationã«ãªã voidåããµããŒãããŠããªã 䞊åãã¹ãã§ã®ãã¬ãŒã¹ãã§ããªã å°æ¥ã®å±æãšããŠã¯ä»¥äžã®æ©èœãèããŠãããšã®ããšã§ããã ããå€ãã®åããµããŒããã ãããã¯åŒæ°ããžã§ããªã¯ã¹åãã€ã³ã¿ãã§ãŒã¹åãªã© ãã¹ããå®è¡ããã床ã«RBSã³ã¡ã³ããæŽæ°ãã gem_rbs_collectionã«ãªãgemã®RBSãã¡ã€ã«ãä¿åãã rbs-traceã¯æ¢åã®ã¢ããªã±ãŒã·ã§ã³ã«å¯ŸããŠãã¹ãé§åã§å宣èšãè¡ãããç»æçã§å®çšçãªçŽ æŽãããgemã§ããWEARãRBSã®å°å
¥ãèšç»ããŠããã®ã§ããã²rbs-traceã詊ããŠã¿ããã§ãã Making TCPSocket.new "Happy"! chika ã§ããç§ããã¯Misaki ShioiïŒ @coe401_ ïŒããã®ã Making TCPSocket.new "Happy"! ãã玹ä»ããŸãã speakerdeck.com ãã®ã»ãã·ã§ã³ã§ã¯ãRubyã®ãœã±ããæ¡åŒµã©ã€ãã©ãªã«ãã TCPSocket.new ã«ãHappy Eyeballs Version 2ïŒRFC 8305ïŒïŒä»¥äžHEv2ïŒã®ã¢ã«ãŽãªãºã ãå°å
¥ããåãçµã¿ã解説ãããŸããã èæ¯ãšããŠãRubyã®ãœã±ããæ¡åŒµã©ã€ãã©ãªã«ã¯ TCPSocket.new ã®ä»ã« Socket.tcp ãšãã2系統ã®TCPã¯ã©ã€ã¢ã³ãçæAPIããããŸãã å»å¹Žéå¬ãããRubyKaigi 2024ã§ã¯ ã Socket.tcp ã«Happy Eyeballs Version 2 (HEv2)ãå°å
¥ããããšããåãçµã¿ ãçºè¡šãããŸãããä»åã¯ãã®ç¶ç·šãšããŠãCå®è£
ã§ãã TCPSocket.new ãžã®ç§»æ€ãããŒãã§ããã ç§ã¯ãã®HEv2ãšããã¢ã«ãŽãªãºã ãããããšããç¥ããªãã£ãã®ã§ãHEv2ãã©ããã£ãã¢ã«ãŽãªãºã ãç°¡åã«ãŸãšããŸãã Happy Eyeballs Version 2ïŒRFC 8305ïŒã«ã€ã㊠IPv6ãšIPv4ã®äž¡æ¹ãå©çšå¯èœãªç°å¢ã«ãããŠãéä¿¡ããéã«IPv6ãšIPv4ãžã®æ¥ç¶ãå¹ççã«è©Šè¡ããããæ©ã確ç«ã§ããæ¹ãå©çšããHappy Eyeballsãšããä»çµã¿ããããŸãã Happy Eyeballs Version 1ïŒä»¥äžãHEv1ïŒã§ã¯ããŸãIPv6ã®æ¥ç¶ã詊ããçŽ250 msåŸ
æ©ããŠãã®æéå
ã«æ¥ç¶ã確ç«ã§ããªããã°IPv4ãžã®æ¥ç¶ãéå§ãããç°¡æãã©ãŒã«ããã¯ããšããä»çµã¿ã«ãªã£ãŠããŸãã ããã¯ã·ã³ãã«ãªä»æ§ã§ããã課é¡ãšããŠãIPv6ãæ¥ç¶ã§ããªãå Žåã«çŽ0.25ç§ã®é
å»¶ãçºçããããšããåé¡ããããŸããã ãããã®åé¡ã解決ããããã«HEv2ãçå®ãããŸãããHEv2ã§ã¯ãå
é ã®IPv6ãžæ¥ç¶åŸã50 msåŸ
æ©ããæ¥ç¶ã確ç«ã§ããªããã°IPv4ãžã®æ¥ç¶ã䞊åã§è©Šãããšãã仿§ã«å€æŽãããäžèšã®åé¡ãè§£æ¶ãããŸããã 倿Žç¹ã¯ããã ãã§ã¯ãªããå
·äœçãªHEv1ãšHEv2ã®éãã¯ä»¥äžã®éããšãªã£ãŠããŸãã é
ç® HEv1 (RFC 6555) HEv2 (RFC 8305) ã¢ãã¬ã¹äžŠã³æ¿ã IPv6矀âIPv4矀ã®é ãã®ãŸãŸ IPv6ãšIPv4ã亀äºã«ã€ã³ã¿ãŒãªãŒãããçæ¹ãé£ç¶ããŠè©°ãŸãã®ãé²ã IPv4çæãŸã§ã®åŸ
æ© åºå®250 ms æå€§50 msã ãIPv6ãåŸ
ã¡ãå³åº§ã«IPv4ãèµ°ããã å詊è¡éé æ¢å®ãªã 250 ms ããšã«æ¬¡ã®ã¢ãã¬ã¹ãæå
¥ïŒæå°100 ms / æå€§2 sã§èª¿æŽå¯ïŒ åææ¥ç¶æ° å
é ïŒã¿ã€ããŒããšã«1æ¬è¿œå æå€§5ä»¶ãŸã§äžæ°ã«IPv6ãèµ°ããã以é250 msééã§è¿œå 倱ææã®ãã©ãŒã«ãã㯠IPv6ãå£ãããš250 ms以äžã®é
å»¶ãçºçããã å€ãã®ã±ãŒã¹ã§é
å»¶50 msçšåºŠã§IPv4ã«åæ¿ IPv6åªå
ã®ç¶æ IPv4å
è¡ã«ãªãå¯èœæ§ããã IPv6ã®åªå
ãšè¿
éãªãã©ãŒã«ããã¯ã®äž¡ç« ã»ãã·ã§ã³ã®è©±ã«æ»ããŸããæ¢åã®Rubyã«ããããœã±ããæ¡åŒµã©ã€ãã©ãªã§ããã®åé¡ãèµ·ããŠãããRubyå®è£
ã® Socket.tcp ãšCå®è£
ã® TCPSocket.new ã¯ãåŸæ¥IPv6âIPv4ã®é åºã§é次ååè§£æ±ºã»æ¥ç¶ããIPv6ã倱æãããšIPv4ãžã®ãã©ãŒã«ããã¯é
å»¶ããŠããŸããã å»å¹Žã®ã»ãã·ã§ã³ã§ã¯ã Socket.tcp ã«ãŠHEv2ã¢ã«ãŽãªãºã ãå®è£
ããã«ããããããããã®ç¶æ
ïŒstart / v4w / v6c / v4c / v46c / v46w / success / failure / timeoutïŒãå®çŸ©ãããããloopãšïŒå·šå€§ãªïŒcaseã§åå²ããããšããå®è£
ã玹ä»ããŠããŸããã ãã§ã¯ãã®å®è£
ãåèã« TCPSocket.new ã«ãå°å
¥ãããïŒããšãªã£ããšããããã®å®è£
ã«ã¯ãç¶æ
é·ç§»ãè€éã§ãäŸãã°IPv6/IPv4äž¡æ¹ã®åå解決ãäž¡æ¹ãšãæåããéãªã©ã«ç¡é§ãªåŠçãæŒããçºçããå Žåãããããšããåé¡ããããå»å¹Žçºè¡šãã Socket.tcp ã®èšèšããäœãçŽãããšã«ãªã£ãã®ãä»åã®ã»ãã·ã§ã³ã®ã¡ã€ã³ãšãªã£ãŠããŸããã æ¹è¯çã® Socket.tcp ã§ã¯ãç¶æ
é·ç§»ãã®ãã®ãæšãŠã1ã«ãŒãäžã§ã§ããåŠçããã¹ãŠifæã§å€å®ã»å®è¡ããããããªèšèšã«æ¹é転æã㊠Socket.tcp ãäœãçŽãã TCPSocket.new ãžãšç§»æ€ããŠããããšãããããªåœ¢ã§è©±ãããŠããŸããã å
·äœçã«ã¯ã©ã®ããã«ä¿®æ£ããããã©ã®ãããªåé¡ããã£ãããªã©ã¯ãç§ã«ã¯ããªãé£ããå
容ã ã£ãããã説æã§ããèªä¿¡ããããŸããã詳现ã«ãèå³ã®ããæ¹ã¯ãåŸæ¥å
¬éãããã»ãã·ã§ã³åç»ãåç
§ããŠãã ãããåé¡çºèŠåŸã®ææ¶ã®ä¿®æ£ãäœãçŽããRuby 3.4.0ã®ãªãªãŒã¹ç· ãåãã«éã«åããã®ãã€ãã€æãä¿®æ£ããŒãžåŸã«Rubyã®CIãã³ã±ãŸãã£ãŠçã£èµ€ã«çäžãã話ãªã©ãããããŸãã§ããã¥ã¡ã³ã¿ãªãŒæ ç»ãèŠãŠããããã§ãéåžžã«èšå Žæã®ããè峿·±ãå
容ã§ããã çŽäœæ²æãã£ãããã§ãããæçµçã«ç¡äºããŒãžãããRuby 3.4.0ã«Happy Eyeballs v2ã远å ããããšã®ããšã§ããïŒ Ruby 3.4.0 ãªãªãŒã¹ããŒã HEv2é©çšåŸã®ããã©ãŒãã³ã¹ã¯ä»¥äžã®éãã§ãã ruby-lang.orgã«æ¥ç¶ããéãHEv2ç¡å¹ã®å Žå0.129 sãæå¹ã®å Žå0.145 sãšãå
ããªãªãŒããŒããã IPv6壿»
ç°å¢ïŒ15 s â 0.114 sãšå€§å¹
ççž®ãã132.3åã®é«éå ãã³ãããŒã¯ç°å¢ã§ã¯132.3åã®é«éåãèŠãããŠããŸããïŒ ãã®çºè¡šã¯éåžžã«å°è±¡ã«æ®ã£ãŠããŸããèªèº«ã®å
šãç¥ããªãã£ããæ°ãããããã¯ãŒã¯æ¥ç¶ã¢ã«ãŽãªãºã ããå°å
¥ãããšããããããè¶£å³ã§ãã£ããã¢ããããŠãã人ãèªãRubyã«çµã¿èŸŒã掻åãè¡ããããã«ãã£ãŠæ®æ®µäœ¿çšããŠããRubyã®éä¿¡é床ãéããªããæ©æµãåããŠãããšããäºå®ã«æéãåããŸããã æçµçã«Rubyã³ããã¿ãŒã«ãªã£ããšããã£ããã£ãŠããŠããRubyã³ããã¿ãŒã¯ã©ã®ãããªäººãã©ããã£ãçµç·¯ã§ãªã£ãŠããã®ãããšããèªåã®äžã§æªç¥ã ã£ããšãããå°ãæç¢ºã«ãªãã»ãã·ã§ã³ã§ããããŸããïŒ On-the-fly Suggestions of Rewriting Method Deprecations å°å³¶( @KojimaNaoyuki )ã§ããç§ããã¯Masato OhbaïŒ @ohbarye ïŒããã®ã On-the-fly Suggestions of Rewriting Method Deprecations ãã玹ä»ããŸãã speakerdeck.com ãã®ã»ãã·ã§ã³ã§ã¯ãã©ã€ãã©ãªã®ã¡ãœãããéæšå¥šã«ãªã£ããšãããããå©çšããŠããã³ãŒããä¿®æ£ããäœæ¥ãå¹çåããããšãã詊ã¿ã話ãããŠããŸããã ã©ã€ãã©ãªã®éçºè
ãå€ãã¡ãœãããåé€ããããšèããæãçŸåšã¯ãã®å€ãã¡ãœãããéæšå¥šãšããŠèŠåãåºããªã©ãããŠãŠãŒã¶ãŒã«æ°ããã¡ãœãããžã®ä¿®æ£ãä¿ãããŠãŒã¶ãŒã¯æåã§ä¿®æ£ããå¿
èŠããããŸãã ãŠãŒã¶ãŒãæåã§ä¿®æ£ã宿œããã®ã¯ãæéããããããšãæ°ããªãã°ãçãããšããããŠæ¬æ¥ãã¹ãéçºãšã¯éããšããã«æèãå²ããªããã°ãªããªãããšã課é¡ãšã»ãã·ã§ã³ã§ã¯èšãããŠããŸãããããã§ohbaryeããã¯ã䜿çšãããŠããéæšå¥šã®ã¡ãœãããèªåã§æ€åºããä¿®æ£ãææ¡ããã deprewriter-ruby ããéçºããããã§ãã ç§èªèº«ãGemã®ã¢ããããŒãã宿œããéã«ã¯ããµãŒãã¹ã§å©çšãããŠããã¡ãœãããéæšå¥šãåé€ãããŠããªããã確èªããããšã«å€ãã®æéãå²ããŠãããããéåžžã«é
åçãªããŒã«ã§ãããšæããŸããããããŠãã©ã€ãã©ãªéçºè
ã«ãšã£ãŠãå©çšè
ã«ããæç¢ºã«éæšå¥šã¡ãœããã®ä¿®æ£æ¹æ³ãæç€ºã§ãããããã¡ãªããããããšæããŸããã deprewriter-rubyãå©çšããããã«ã¯ãã©ã€ãã©ãªã®éçºè
ãéæšå¥šã®ã¡ãœãããšãã®ä»£ããã«ãªãã¡ãœãããdeprewriter-rubyãçšããŠã©ã€ãã©ãªåŽã«å®çŸ©ããŸãããããŠã©ã€ãã©ãªã®å©çšè
ã«ã¯3ã€ã®ã¢ãŒããæäŸãããŠããããããã䜿çšããŠéæšå¥šã¡ãœãããã©ã€ãã©ãªéçºè
ãå®çŸ©ãã代ããã®ã¡ãœãããžä¿®æ£ã§ããŸãã 3ã€ã®ã¢ãŒãã¯ä»¥äžã®ç¹æ§ãæã¡ãŸãã Log Mode èŠåãšäžç·ã«å€æŽã®ææ¡ããã°ã«è¡šç€ºãã Diff Mode éæšå¥šç®æããšã«å·®åãã¡ã€ã«ãäœæãã Rewrite Mode èªåã§éæšå¥šã¡ãœãããä¿®æ£ããŠæžãæãã ã»ãã·ã§ã³ã§ã¯å®éã«ãã¢ã§ãããã®åäœã玹ä»ãããŠãããã©ã€ãã©ãªéçºè
åŽã®å®çŸ©æ¹æ³ãç°¡æœã«èšè¿°ã§ããå©çšè
åŽã䜿ãããããšæããŸããã ã»ãã·ã§ã³äžã§ã¯deprewriter-rubyã®èª²é¡ãã話ããããŠãããã³ãŒãä¿®æ£ã®ãã¿ãŒã³ã§å¯Ÿå¿ã§ããŠããªããã¿ãŒã³ãååšããããšãããã®ããŒã«ãRubyã®ãšã³ã·ã¹ãã ã«åãå
¥ãããããã©ãããªã©ãæããããŠããŸããã ç¹ã«ãRubyã®ãšã³ã·ã¹ãã ã«åãå
¥ãããããã©ããã«ã€ããŠã¯ãdeprewriter-rubyããµãŒãããŒãã£ã®gemã§èšèªã«çµã¿èŸŒãŸããæ©èœã§ã¯ãªãããšããããå
šãŠã®ã©ã€ãã©ãªéçºè
ã«åŒ·å¶ããããšã¯çŸå®çã§ãªããšèšãããŠããŸããããã®ãããçŸç¶ã§ã¯ã©ã€ãã©ãªå©çšè
èªèº«ã倿ã®å®çŸ©ãèšè¿°ãdeprewriter-rubyã䜿çšããããšã«ãªããŸãã deprewriter-rubyãæå€§éã«æŽ»çšããããã«ã¯ãã©ã€ãã©ãªéçºè
ãç©æ¥µçã«éæšå¥šã¡ãœããã®ä¿®æ£ïŒä»£ãããšãªãã¡ãœããïŒå®çŸ©ããããšãéèŠã§ãããšæããŸããã deprewriter-rubyã¯ã©ã€ãã©ãªéçºè
ãšå©çšè
ã®åæ¹ã«ã¡ãªãããããããçŽ æŽãããããŒã«ã§ããæ¬ããŒã«ã®æ®åã«ãããã©ã€ãã©ãªã®ããŒãžã§ã³ã¢ããäœæ¥ãåæ»ã«ãªãããšãæåŸ
ãããŸãã ZOZOããŒã¹ã®çŽ¹ä» ZOZOã®ã¹ãã³ãµãŒããŒã¹ã§ã¯ãWEARã®ãªãã¥ãŒã¢ã«åŸã«iOSDC Japan 2024ãDroidKaigi 2024ã§ã宿œããã ãã¡ãã·ã§ã³ãžã£ã³ã«èšºæ ããã¡ã€ã³ã³ã³ãã³ããšããŠå±ç€ºããŸããã WEAR by ZOZOã®ãã¡ãã·ã§ã³ãžã£ã³ã«èšºæ èšºæçµæã«å¿ããŠãæž¡ãããŠããå
š144çš®é¡ã®ã¹ããã«ãŒã¯RubyKaigi 2025ã§ã奜è©ã§ãããããšããšãžã£ã³ã«ã«ãã£ãŠåºçŸé »åºŠãç°ãªãåŸåã«ãããŸãããå£ç¯ã®éããããããã¯æè¡é åã®éãããä»ã§ã¯ããå€ããªãã£ããžã£ã³ã«ã®åºãå²åãå€ãããã«æããããã®ã¯å°è±¡çã§ããã ããã¡ãã·ã§ã³ãžã£ã³ã«èšºæãã®çµæã¯å
š144çš®é¡ãããªãã®çµæã¯äœã§ãããïŒ ãã®ããã¡ãã·ã§ã³ãžã£ã³ã«èšºæãã¯ããŒã¹åºå±å°çšã³ã³ãã³ãã§ã¯ãªããWEARã¢ããªã§å®éã«è©Šããæ©èœã®ã²ãšã€ã§ããããŒã¹ã§ã¢ããªãã€ã³ã¹ããŒã«ããŠèšºæãããæ¹ã ãã§ãªããæ¢ã«èšºææžã¿ã®æ¹ããããã¯ãå人ãååã䌎ã£ãŠå蚪ãããæ¹ãããã£ããããå€ãã®æ¹ã
ã«ãèå³ãæã£ãŠããã ããããšãå¬ããæããŸãã å€ãã®æ¹ã«ããã¡ãã·ã§ã³ãžã£ã³ã«èšºæãããäœéšããã ããŸããã ãã®ä»ãZOZOTOWNã®ããŒã«ãã³ãLINEã¹ã¿ã³ãããšã³ãžãã¢ç·šããã¢ããŒãã«ããã¹ããã«ãŒãªã©ãç¡åã§é
åžããŠããŸãããZOZOTOWNå
¬åŒãã£ã©ã¯ã¿ãŒãç®±ç«ããã¯ã¹ãã®ã¹ããã«ãŒãæè¡ã«ã³ãã¡ã¬ã³ã¹ã®ããŒã¹ã«äžŠãã ã®ã¯åããŠã§ããã ZOZOããŒã¹ã§é
åžããŠããããã«ã㣠æ¹ããŠZOZOããŒã¹ã«ãç«ã¡å¯ãããã ããçãããããããšãããããŸããïŒ RubyKaigiå
¬åŒã€ãã³ãã®ã¹ã¿ã³ãã©ãªãŒ ãã¹ãŠã®ã¹ã¿ã³ããéããã¹ã¿ã³ãã©ãªãŒã RubyKaigiã§ã¯äŸå¹Žãå
¬åŒã€ãã³ããšããŠã¹ãã³ãµãŒããŒã¹ãå·¡ãã¹ã¿ã³ãã©ãªãŒãéå¬ãããŠããŸãããã®ã¹ã¿ã³ãã©ãªãŒã¯åå è
ãšã¹ãã³ãµãŒããŒã¹ã®ZOZOã¹ã¿ãããäŒè©±ããè¯ããã£ããã«ããªã£ãŠããŸããæšå¹Žã®å
š20ããŒã¹ã«å¯ŸããŠä»å¹Žã¯å
š46ããŒã¹ãšæšå¯Ÿæ¯2å以äžã®ããŒã¹ãåºå±ããŠããã®ã§ãäŒæäžã«ã³ã³ããªãŒãã§ããæ¹ã¯å€ããªãã£ããããããŸãããåå ããæ¹ã¯Booth CompleteãŸã§ãã©ãçããŸãããïŒ åè³äŒæ¥ããŒã¹ã®ã³ãŒãã£ããŒããŸãšã .images-row.mceNonEditable{width:100% !important;} ãã£ããŒã§ãã iOSDC Japan 2024 ã DroidKaigi 2024 ãšåæ§ã«ãRubyKaigi 2025ã®åè³äŒæ¥ããŒã¹ãå·¡ãã ç¹ã«åããŠæèŠããã³ãŒãã£ããŒããäžå¿ã« åç€Ÿã®æ§åãæ®åœ±ããŸããã ã«ã«ã¯ã³ã ã®é£ã¹ãã°ãã / Tabelog Tech Blog ããããå忝èŒãµãŒãã¹ã®ãã€ãã¹ããã / ãã€ãã¹ã ããã¯ããã° 2è²å±éã®PKSHA Technologyãã / PKSHA Delta ã«ã©ãã«ãªããžã¥ã¢ã«ãããããªãã¯ã·ã£ãã / MIXI DEVELOPERS Tech Blog æ¯åºç®¡çãã©ãããã©ãŒã ã®TOKIUMãã / TOKIUM ããã¯ããã° ã·ã³ãã«ãªããŽãšå
¬åŒãã¹ã³ããQiitanãåé¢ã»èé¢ã«ããªã³ãããã·ã£ãã®Qiitaãã Qiita Blog WEDããã¯ãžããã¢ããããŒã«ãŒãšè¥ä»ãã·ã£ã / WED Engineering Blog è²éãã»ããžã¥ã¢ã«éãã·ã£ã«ã®Ruby Developementãã / TECH BLOG WEARã§ãå©çšããŠããFastlyãã / ããã° âDon't push production on Fridayâã®ã·ã£ãã食ã£ãŠããFindyãã / Findy Tech Blog èŠç©DXã¯ã©ãŠãã®Leaner Technologiesãã / ãªãŒããŒéçºè
ãã㰠決æžä»£è¡ãµãŒãã¹ãå±éããããžã«ã®KOMOJUãã / KOMOJU ããã¯ããã° ZOZOã§ãå©çšããŠããSentryãã / Sentry Engineering Blog CPaaSã®Vonageãã / Vonage API Developer Blog ãŠã§ã«ãã¹æ¥çã®äºçŽã»æ±ºæžã·ã¹ãã ãå±éããhacomonoããã¯æ³è¢«ã¹ã¿ã€ã« / hacomono TECH BLOG YouTubeã®ãéã®çŸããã²ãšããç®ç«ã£ãŠããdelyããã¯ã·ã£ããšãžããã¢ããããŒã«ãŒ / dely Tech Blog é»è©±èªåå¿çãµãŒãã¹ã®IVRyããã¯ã·ã£ããšãžããã¢ããããŒã«ãŒ / IVRyããã¯ããã° äºå®ç®¡çã¯ã©ãŠãã®DIGGLEããã¯ã·ã£ããšããŒãã£ãŒ / DIGGLEéçºè
ããã° TwoGateããã¯Tã·ã£ããšè¥ä»ãã·ã£ãã®2çš®é¡ TwoGate Tech Blog èäžã®âDâãç®ç«ã£ãŠãããªãã»ã³ã¹ã®è»¢è·ãã©ãããã / 転è·ãã©ããREPORT ã³ãŒãã¬ãŒãããŽã®ã·ã£ããšããã«ãµã³ãã·ã¥ãããããHubbleãã / Hubble note èäžã«å€§ããªäºæ¬¡å
ã³ãŒããèŒããŠããMEDLEYãã / MEDLEY Tech Blog ãã«ã¹ã±ã¢ã¹ã¿ãŒãã¢ããã®Linc'wellããã¯ãŠããã©ãŒã ã¿ã€ã / Zenn Publication ææŽ»ã»å©æŽ»ãããã³ã°ã¢ããªã®withãã / Qiita Organization çœé»ã®ã·ã£ããšããŒãã£ãŒã®movãã / movã®ããã¯ããã° äžåç£ããã¯ã®ITANDIããã¯æ³è¢«ã¹ã¿ã€ã« / ITANDI Engineer Blog ä¿è²æœèšåãã®ICTäºæ¥ãå±éããŠãããŠããã¡ãã / ãŠããã¡éçºè
ããã° noteããã¯ã«ãŒãã£ã¬ã³ / noteãšã³ãžãã¢ã®æè¡èšäº ã«ãŒãã£ã¬ã³ã®ã¯ããã³ãåæã«ã€ãã猶ãããžã«ãã ãããæããŸãã ã¹ã¿ã¡ã³ããã¯ãŠããã©ãŒã ã¿ã€ã / stmn tech blog è¢ã«âBuild Fast, Deliver Fast.âãšèšãããŠããSTORESãã / STORES Product Blog ãšããã³ã¹ã¿ã€ã«ã®ã¯ãã¯ããããã / ã¯ãã¯ãããéçºè
ããã° è€æ°ããªãšãŒã·ã§ã³ã®ã·ã£ããçãŠãã坿¥è»¢è·ã®Offersãã / Offers Tech Blog äŒæäžã«æ¯æ¥æ¥æ¿ããã§å°å
ã®çŸå³ããã¿ãããšãªã¬ã³ãžãé
ã£ãŠããé£ã¹ãã§ã¯ãã / é£ã¹ãã§ã¯éçºè
ããã° HackSpace SponsorãšããŠäŒå Ž2éã§ããã¯ã¹ããŒã¹ãæäŸããŠããã¹ããŒããã³ã¯ãã / inSmartBank åè³ããŒã¹ã§ã¯åºå±å
容ãè£
食ã«ç®ãè¡ããã¡ã§ãããå瀟ãã³ãŒãã£ããŒãã«ãããŠã工倫ãåãããŠããããšãåãããŸããïŒããå¿ããäžãååããã ããããŒã¹ã®çæ§ãæ¬åœã«ããããšãããããŸããïŒ After RubyKaigi 2025ãZOZOããã¡ã€ã³ãã£ããã¯ã·ãããéå¬ããŸãïŒ After RubyKaigi 2025ãZOZOããã¡ã€ã³ãã£ããã¯ã·ãã 5æ13æ¥ïŒç«ïŒã«RubyKaigi 2025ã¹ãã³ãµãŒäŒæ¥ã®æ ªåŒäŒç€ŸZOZOããã¡ã€ã³ãã£æ ªåŒäŒç€Ÿããã¯ã·ãæ ªåŒäŒç€Ÿã§RubyKaigi 2025ã®ã¢ãã¿ãŒã€ãã³ãã After RubyKaigi 2025ãZOZOããã¡ã€ã³ãã£ããã¯ã·ãã ããéå¬ããŸãã RubyKaigi 2025ã«åå ããæ¹ããåå ã§ããªãã£ãæ¹ãããã²ãæ°è»œã«ãåå ãã ããïŒ pixiv.connpass.com ãããã« æŸå±±ãæããããRubyKaigi 2025åå è
åãããã«ã㣠ZOZOã¯æ¯å¹ŽRubyKaigiã«åè³ããããŒã¹ãåºå±ããŠãããä»å¹Žãå€ãã®æ¹ã
ãšã®äº€æµãéããŠææçŸ©ãªæéãéããããšãã§ããŸãããå®è¡å§å¡äŒã®çæ§ããããŠæž©ããè¿ããŠãã ãã£ãæŸå±±åžã®çæ§ã«æè¬ç³ãäžããŸããæ¥å¹Žãåã³çŽ æŽãããæéãå
±æã§ããããšã楜ãã¿ã«ããŠãããŸãïŒ æè¡ã«ã³ãã¡ã¬ã³ã¹ã§ã¯æäŸã®ã¹ãã³ãµãŒããã«ãžã®ãµã€ã³ïŒ ZOZOã§ã¯ãæ¥å¹Žã®RubyKaigi 2026ãäžç·ã«çãäžãããšã³ãžãã¢ãåéããŠããŸãããèå³ã®ããæ¹ã¯ä»¥äžã®ãªã³ã¯ãããå¿åãã ããã corp.zozo.com ãŸããäŒæäžã¯æ··éã®ãããååã«ã話ãã§ããªãã£ãæ¹ãããã£ããããããããŸãããããããã詳ãã話ãèããããšããæ¹ãããã£ããããŸããããã«ãžã¥ã¢ã«é¢è«ãåãä»ããŠããŸãã æ¥å¹Žã®éå¬å°ã¯åœé€šïŒ ããã§ã¯ãŸãæ¥å¹Žã®RubyKaigiã§ãäŒãããŸããããåœé€šã®å°ã§ãçŽ æŽãããåºäŒããããããšãä»ããæ¥œãã¿ã«ããŠããŸããçŸå Žããã¯ä»¥äžã§ãïŒ
ããã«ã¡ã¯ãMAéšMAæœçæšé²ãããã¯ã®åå·ã§ãã 2025幎4æ9æ¥ã11æ¥ã«éå¬ããã Google Cloud Next 2025 ãžåå ããŠããŸãããå»å¹Žã«ç¶ãã¢ã¡ãªã«ã»ã©ã¹ãã¬ã¹ã§éå¬ãããåŒç€Ÿããã¯MAéšã®éœè€ã»åå·ã»å¯æ°žã®3åãåå ããŸããããªããå»å¹Žåå ããæ§åã¯ä»¥äžã®ããã¯ããã°ã§ç޹ä»ããŠããŸãã techblog.zozo.com ä»å¹Žã¯çæAIãããŒã¿ãã»ãã¥ãªãã£ã®ææ°æ
å ±ã玹ä»ããã»ãã·ã§ã³ãå€ãã£ãå°è±¡ã§ãããæ¬èšäºã§ã¯ãçŸå°ã§ã®æ§åãšç¹ã«è峿·±ãã£ãã»ãã·ã§ã³ãããã¯ã¢ããããŠç޹ä»ããŸãã ãŸããä»åã®ããã¯ããã°ã§ç޹ä»ã§ããªãã£ãå
容ãªã©ãå«ããRecapã®ãªã³ã©ã€ã³ã€ãã³ãã2025/5/12ã«éå¬äºå®ã§ãããã®ã€ãã³ãã§ã¯ãGoogle Cloud Japanã®ãšã³ãžãã¢ã«ããç»å£ããã ããä»åã®Google Cloud Next 2025ã«ã€ããŠè©³ããã話ããã ããŸãããã²ãåå ãã ããã zozotech-inc.connpass.com çŸå°ã®æ§å å»å¹Žã«åŒãç¶ãã©ã¹ãã¬ã¹ã®ãã³ãã¬ã€ã»ãã€ããã« ã³ã³ãã³ã·ã§ã³ã»ã³ã¿ãŒã§éå¬ãããŸãããäžçäžããå€ãã®ãšã³ãžãã¢ãããžãã¹ãªãŒããŒãéãŸããäŒå Žã¯ä»å¹Žãæªæ¥ãæ¢ãç±æ°ã«å
ãŸããŸããã ä»å¹Žã®åºèª¿è¬æŒã§ã¯ãç¹ã«é²åãç®èŠãŸããçæAIã«é¢ããæ°ããªçºè¡šãçžæ¬¡ããããžãã¹ãžã®å
·äœçãªæŽ»çšäºäŸãšãšãã«å€§ããªæ³šç®ãéããŸãããããŒã¿ãšAIã®çµ±åãããã«æšãé²ããæ°ãµãŒãã¹ã«é¢ããã¢ããããŒãã玹ä»ãããGoogle Cloudã®é²åã匷ãå°è±¡ã¥ããŸããã åãã¬ã€ã¯ã¢ãŠãã»ãã·ã§ã³ããã³ãºãªã³ã©ããæŽ»æ³ã§ãåå è
ã¯ææ°æè¡ã®ç¿åŸãèªç€Ÿã®èª²é¡è§£æ±ºã®ãã³ããåŸãããšçå£ã«åãçµãã§ããŸããã äŒæ¥ããŒã¹ã§ã¯ãGoogle Cloudèªèº«ã®ãœãªã¥ãŒã·ã§ã³ã¯ãã¡ãããå€ãã®ããŒãããŒäŒæ¥ã«ãããã¢ã³ã¹ãã¬ãŒã·ã§ã³ãäºäŸç޹ä»ãè¡ãããæŽ»çºãªãããã¯ãŒãã³ã°æ§ç¯ã®æ§åããã¡ãã¡ã§èŠãããŸããã æ°æ¥éã«ãããã€ãã³ããéããŠãåå è
ã¯ææ°æ
å ±ãã€ã³ãããããã ãã§ãªããæ¥çã®å°éå®¶ãä»ã®åå è
ãšçŽæ¥äº€æµããããšã§ãæ°ããªç¥èŠãã€ã³ã¹ãã¬ãŒã·ã§ã³ãåŸã貎éãªæ©äŒãšãªã£ãããã§ãã 以éã§ã¯ãçŸå°ã«åå ããã¡ã³ããŒãæ°ã«ãªã£ãã»ãã·ã§ã³ã玹ä»ããŸãã ã»ãã·ã§ã³çŽ¹ä» Accelerate creative media content with gen AI MAéšMAåºç€ãããã¯ã®éœè€ïŒ @kyoppii13 ïŒã§ãã ãã®ã»ãã·ã§ã³ã§ã¯ãçæAIãæŽ»çšããã¡ãã£ã¢ã³ã³ãã³ãã®å¶äœã«ã€ããŠç޹ä»ãããŸãããæåã«ã¢ãã«ã䜿ã£ãçæã«ãããææšã«ã€ããŠã®ç޹ä»ããããŸãããå質ãšå®å
šæ§ã®2ã€ã§ãã ãŸãã¯å質ã§ããå質ãšã¯ãããã³ããã§æç€ºããéãã®é©åãªã¹ã¿ã€ã«ã§ãŠãŒã¶ãŒã«ãšã£ãŠé
åçãªææç©ãçæãããããšã§ããåè³ªãæªããšãäœåºŠãæç€ºããå¿
èŠããããããã«äŒŽãæéãéé¡çãªã³ã¹ããå¢å ããŠããŸããŸãã æ¬¡ã«å®å
šæ§ã«ã€ããŠã§ããããã§ã¯èäœæš©ã®å
責ãšé»åéãããå®å
šãã£ã«ã¿ãŒã«ã€ããŠè¿°ã¹ãããŠããŸãããèäœæš©ã®å
責ã¯ã¢ãã«ã®åŠç¿ã«èäœæš©ãžåããããŒã¿ã䜿çšããªãããšã§å®çŸããŠããŸããé»åéããã¯ãGoogle DeepMindã®æè¡ã§ããSynthIDã§å®çŸããŠãããšè¿°ã¹ãããŠããŸãããã¢ãã«ã§çæãããã³ã³ãã³ãã«ãã®éãããå
¥ããããšã§ãæææš©ãèäœæš©ãæç¢ºã«ããããã§ããå®å
šãã£ã«ã¿ãŒã¯æå®³ãªã³ã³ãã³ããçæããªãããã«ããŠãŒã¶ãŒã調æŽã§ãããã©ã¡ãŒã¿ã§å®å¿ããŠã¢ãã«ãå©çšã§ããŸããããžãã¹ã§äœ¿çšããå Žåãèäœæš©ã®å¯Ÿå¿ã¯éèŠã§ããããããã©ãããã©ãŒã ãšããŠæ
ä¿ãããŠããããšã¯è¯ããã€ã³ãã ãšæããŸãã æ¬¡ã«ã¯ãªãšã€ãã£ãã®ãŠãŒã¹ã±ãŒã¹ã«äœ¿çšã§ããçæã¢ãã«ã§ããVeo 2ãImagen 3ãLyriaãChirp 3ã®4ã€ã®ã¢ãã«ã«ã€ããŠç޹ä»ãããŸããããŸãã¯Veo 2ã§ããããã¯åç»çæã®ã¢ãã«ã§ãäžããããããã¹ããç»åããåç»ãçæã§ããŸãã以äžã®æ©èœã«ã€ããŠç޹ä»ãããŠããŸããã Image to VideoïŒäžããããç»åããããã³ããã®æç€ºã«åŸãåç»ãçæã Interpolation: åç»ã®æåãšæåŸã®ãã¬ãŒã ãäžãããšãã®éãè£å®ããåç»ãçæã Camera Movement Presets: åäžç»åããæå®ããã«ã¡ã©ã¢ã³ã°ã«ãã·ã§ããã®æ åãçæã Inpainting & Outpainting: å
ã®åç»ã厩ããã«åç»å
ã®ãªããžã§ã¯ãã®è¿œå ã»åé€ãå®çŸãOutpaintingã®ãŠãŒã¹ã±ãŒã¹ãšããŠã¯ãã¢ã¹ãã¯ãæ¯ã倿Žããè€æ°ã®ããã€ã¹ãµã€ãºã«å¯Ÿå¿ããããªã©ã å
¬éè³æã Accelerate creative media content with gen AI ãã®P.11ããåŒç𠿬¡ã«Imagen 3ã§ããããã¯ããã¹ãããç»åãçæããã¢ãã«ã§ãããã£ãã圢åŒã§ããã³ãããäžããããšã§ãç»åã«å¯ŸããŠãªããžã§ã¯ãã远å ã»åé€ã§ããŸãã å
¬éè³æã Accelerate creative media content with gen AI ãã®P.14ããåŒç𠿬¡ã«Lyriaã§ããããã¯ããã¹ãããæ¥œæ²ãçæããã¢ãã«ã§ããæå€§30ç§ã®æ¥œæ²ãçæã§ããŸãã å
¬éè³æã Accelerate creative media content with gen AI ãã®P.15ããåŒçš æåŸã«Chirp 3ã§ããããã¯é³å£°çæãšæåèµ·ããã®ã¢ãã«ã§ãã以äžã®æ©èœã«ã€ããŠç޹ä»ãããŠããŸããã HD VoicesïŒå
¥åãããããã¹ãããçžæ§ãªã©ãå
¥ããèªç¶ãªé³å£°ãäœæã Instant Custom VoiceïŒå
¥åãããé³å£°ããã®ã«ã¹ã¿ã é³å£°ã®äœæã Transcription with DiarizationïŒè€æ°äººã話ããŠããé³å£°ããå人ãèå¥ãèšé²ã§ããããŠãŒã¹ã±ãŒã¹ãšããŠäŒè°ãéè©±ã®æåèµ·ããããããããŠããŸããã å
¬éè³æã Accelerate creative media content with gen AI ãã®P.16ããåŒçš ããã§ç޹ä»ãã4ã€ã®ã¢ãã«ã¯ã忥ã®ããŒããŒãã§ã倧ã
çã«çºè¡šãããŠããããããã®ã¢ãã«ãçµã¿åãããŠã¹ããŒãžäžã§å®éã«ã³ã³ãã³ããäœæããŠããã®ã§ãšãŠãå°è±¡ã«æ®ã£ãŠããŸãããªãã§ãVeo2ã§äœæãããåç»ã¯ä»åå€ãã®å Žé¢ã§èŠãæ©äŒãããå°è±¡çã§ãããããŒããŒãäŒå Žã§ã®åŸ
ã¡æéãéå§ã®ã«ãŠã³ãããŠã³ã§ãæåœ±ãããŠããŸããã çæã¢ãã«ç޹ä»ã®æ¬¡ã¯ãŠãŒã¹ã±ãŒã¹ã«ã€ããŠã®ç޹ä»ã§ããç»åç·šéã¢ããªãããŒã±ãã£ã³ã°&åºåãåç»ã¹ããŒãªãŒããªã³ã°ã®3ã€ã®åéã«åããŠç޹ä»ãããŠããŸããã玹ä»ããã3ã€ã®åéã®äžãããMAã®ãŠãŒã¹ã±ãŒã¹ã«æãè¿ãããŒã±ãã£ã³ã°&åºåã«ã€ããŠã®ã¿ç޹ä»ããŸãã ãããŸã§åºåã®ããŒã±ã¿ãŒã¯èªåã®ã€ã¡ãŒãžã«è¿ãç»åãããããã®ç»åã®äžããéžã¶å¿
èŠããããŸããããç»åçæã¢ãã«ã§ããImagenã䜿ãããšã§ãçæ³ã®ç»åã1ããäœæã§ããŸãã補åã®æ®åœ±ã«ãããŠãèæ¯ã ããå€ããããšãåºæ¥ãããæ§ã
ãªå Žæã«èªç±ã«é
眮ãã§ããŸããç»åã ãã§ã¯ãªããåç»çæã鳿¥œçæã¢ãã«ã䜿ãããšã§åç»ã®åºåãäœæåºæ¥ããšè¿°ã¹ãããŠããŸãããè€æ°ã®ã·ãŒã³ãããããäœæãã€ãªãåãããããšã§é·ãåç»åºåãäœæã§ããããã§ãã å
¬éè³æã Accelerate creative media content with gen AI ãã®P.41ããåŒç𠿬¡ã«ã¯ã©ããã»ãã€ã³ã瀟ã®ããŒã±ãã£ã³ã°äºäŸã«ã€ããŠã®ç޹ä»ã§ãããããŸã§ã©ã®ããã«çæAIãããŒã±ãã£ã³ã°ã«å©çšããŠããããšçæããã»ã¹ã«ã€ããŠè¿°ã¹ãããŠããŸããããã¡ãã®äŒç€Ÿã§ã¯èªç€Ÿã®ã¯ãªãšã€ãã£ãäœæã«ç¹åããã¯ãªãšã€ãã£ãäœæããŒã«ã掻çšããŠãããšã®ããšã§ããããã®ããŒã«ã®äžã§Googleã®çæAIãæŽ»çšããŠãããšã®ããšã§ãããã®ããŒã«ã®éçºã«åœããããŸãã¯ä»¥äžã®ãããªã¹ãããã宿œãããšã®ããšã§ãã Geminiã«ãã£ãŠããŒã±ãã£ã³ã°ã«å¿
èŠãªããã¥ã¡ã³ãïŒããªãŒãïŒãäœæ Imagenã«ããã³ã³ã»ããç»åã®äœæ 1ãš2ãçµã¿åãããã¯ãªãšã€ãã£ãç»åã®äœæ Geminiã«ããã¯ãªãšã€ãã£ãã®è©äŸ¡ ImagenãVeoãçšããæçµçãªã¯ãªãšã€ãã£ãã®äœæ 次ã«èªç€Ÿãã©ã³ãã«é¢ããæ
å ±ãã©ã®ããã«ããŒã«ã«çµã¿èŸŒãããšãã話ããããŸãããRAGïŒRetrieval Augmented GenerationïŒã䜿ã£ãŠåªãããã£ã³ããŒã³ãã¹ã¿ã€ã«ã¬ã€ããæ¶è²»è
ããŒã¿ãªã©ãåã蟌ãã ãšã®ããšã§ãããRAGã䜿ã£ãçç±ã¯ãæéãšè²»çšãåæžåºæ¥ãããã ããã§ããã¢ãã«ã®ãã¬ãŒãã³ã°ãäžèŠã§ãå¿
èŠãªããŒã¿ãå¿
èŠãªã¿ã€ãã³ã°ã§åã蟌ãããšè¿°ã¹ãããŠããŸããã ãã®ããŒã«ãå°å
¥ããçµæãã¯ãªãšã€ãã£ãã®äœæãããŒã8é±éãã8æéã«ãªããæè¡ã«è©³ãããªããŠãŒã¶ãŒã§ã40åã®äŸ¡å€ãçã¿åºãããšçºè¡šãããŠããŸããã å
¬éè³æã Accelerate creative media content with gen AI ãã®P.60ããåŒçš Imagenã¯ç§ãã¡MAã®éçšã§ã掻çšã§ãããšæããŸãããMAéšã§ã¯çŸåšZMPïŒZOZO Marketing PlatformïŒãšããåºç€ãéçºããŠããŸããZMPã¯æœçæ
åœè
ãããŒã±ãã£ã³ã°æ
åœè
ã®ã¿ã§ãã£ã³ããŒã³é
ä¿¡ã宿œã§ããããã«ãããã©ãããã©ãŒã ã§ãã 詳ããã¯ä»¥äžã®ããã¯ããã°ãã芧ãã ããã techblog.zozo.com ã³ã³ãã³ãã®äœæã«ãããŠImagenãæŽ»çšããããšã§ã¯ãªãšã€ãã£ãäœæã®å¹
ãåºããããã ãšæããŸããããŸããããŒãœãã©ã€ãºé
ä¿¡ã«ãããŠã¯ããŠãŒã¶ãŒããšã«å¥œã¿ããã¯ãã«ããŒã¿ãšããŠæã£ãŠããã°ããŠãŒã¶ãŒããšã«ç°ãªããã¶ã€ã³ãé
ä¿¡æã«èªåã§çæãããªã©ãåºæ¥ããšæããŸããã çŸåšMAããé
ä¿¡ããŠããã³ã³ãã³ãã¯ç»åããå©çšããŠãããŸããããVeoãªã©ã®ã¢ãã«ãå©çšããããšã§åç»ã䜿ã£ãããèŠèŠçãªã³ã³ãã³ããäœæãããªã©ãããŒã±ãã£ã³ã°ã«ãããæŽ»çšã®å¹
ã¯å€§ãã«ãããšæããŸããã Whatâs new in BigQuery MAéšMAæœçæšé²ãããã¯ã®åå·ïŒ @luckyriver ïŒã§ããMAé åã®ããŒã±ãã£ã³ã°æœçã®éçšãšããã«é¢ããéçºæ¥åãžæºãã£ãŠããŸããä»ååå ããGoogle Cloud Next '25ã®ã»ãã·ã§ã³ã®äžãããä»åŸã®ããŒã±ãã£ã³ã°æœçã®éçšã»éçºã«ã©ã圱é¿ãããããç¹ã«å°è±¡çã ã£ãç¹ã«ã€ããŠã玹ä»ããŸãã ä»åã®ã»ãã·ã§ã³ã§ã¯ãBigQueryã®ææ°ã€ãããŒã·ã§ã³ãšããŠãAIãšã®çµ±å匷åã倧ããªããŒããšããŠèªãããŠããŸãããBigQueryã¯åãªããããŒã¿ãŠã§ã¢ããŠã¹ããããAI掻çšãåæãšãããããè³¢ããã倿©èœãªããŒã¿ãã©ãããã©ãŒã ãžãšå€§ããé²åããŠããŸããã»ãã·ã§ã³ã§ã¯ããã®é²åããèªåŸçãªããŒã¿AIãã©ãããã©ãŒã ããžã®ç§»è¡ãšããŠèª¬æããŠããŸããã ããã§ãããèªåŸçããšã¯ãå°æ¥çã«BigQueryèªäœãããŒã¿ç®¡çã®æé©åãåé¡ã®èªåæ€ç¥ã»ä¿®æ£ãªã©ãããçšåºŠèªãè¡ãããã«ãªãããšãæããŸããããã«ããããŠãŒã¶ãŒã¯é¢åãªäœæ¥ããè§£æŸãããããŒã¿ãAIãæŽ»çšããæ°ãã䟡å€ã®åµåºã«ããéäžã§ããããã«ãªãã®ãç®æããŠãããšã®ããšã§ãã BigQueryã®ãã©ãããã©ãŒã ãšããŠã®é²åã¯ã倧ãã以äžã®æ®µéã§æŽçã§ããŸãã æ§é åããŒã¿ãé«éã«åæããããŒã¿ãŠã§ã¢ããŠã¹ãšããŠã®èªç éæ§é åããŒã¿ãæ±ããã¬ã€ã¯ããŠã¹èŠçŽ ã®åã蟌ã¿ïŒå€æ§ãªããŒã¿ã®äžå
管çã»åæãžïŒ AIïŒç¹ã«GeminiïŒæŽ»çšãåæãšããããŒã¿æŽ»çšã»åæãã©ãããã©ãŒã ãžã®é²å ã What's new in BigQuery ãã®1:55ããåŒçš ã€ãŸããBigQueryã¯ããŒã¿ã貯ããå ŽæãããAIãšå
±ã«ããŒã¿ãæå€§éã«æŽ»çšããããã®ãã€ã³ããªãžã§ã³ããªçµ±ååºç€ãžãšé²åããŠãããšèããããŸãã ä»åã®ã»ãã·ã§ã³ã§ã¯ã顧客äºäŸãšããŠå€§æç©å
·ã¡ãŒã«ãŒã®ããã«ç€Ÿã玹ä»ãããŸãããå瀟ã¯BigQuery MLãšGeminiãæŽ»çšãã倧éã®æ¶è²»è
ã¬ãã¥ãŒåæã«ãããŠãããŒã¿åæã®å€§å¹
ãªå¹çåãã³ã¹ãåæžããããŠããŒã¿ã«åºã¥ããæææ±ºå®ã®è¿
éåãå®çŸãããšã®ããšã§ãã ããã«ç€Ÿã§ã¯ä»¥åãäžçäžããéãŸãèšå€§ãªæ¶è²»è
ãã£ãŒãããã¯ïŒè£œåã¬ãã¥ãŒãªã©ïŒãæäœæ¥ïŒã¹ãã¬ããã·ãŒãçïŒã§åé¡ã»éèšããŠããŸããããã®äœæ¥ã«ãæ°ã¶æåäœã®æéãéé¡çãªã³ã¹ãããã©ã³ãéã®æ¯èŒãå°é£ãšãã£ã課é¡ããããŸãããããã§å瀟ã¯ãBigQuery MLãšGeminiãæŽ»çšããSQLãããŒã¹ã«æ¶è²»è
ã¬ãã¥ãŒã®ããã¹ããããããã¯ãããµããããã¯ãã屿§ããã»ã³ãã¡ã³ãïŒææ
ïŒããšãã£ãæ§é åãããããŒã¿ãžèªåã§åé¡ã»å€æããã·ã¹ãã ãBigQueryå
ã«æ§ç¯ããæ¢åã®ããŒã¿åŠçãã€ãã©ã€ã³ã«çµã¿èŸŒã¿ãŸããã 以äžã®äŸã§ã¯ãSQLããŒã¹ã§ã®æ¶è²»è
ã¬ãã¥ãŒãGeminiãè§£éãJSON圢åŒã§åºåããæ§åã衚ããŠããŸãã ã What's new in BigQuery ãã®12:35ããåŒçš ãã®çµæãåææéããæ°ã¶æãã1åããžãšåçã«ççž®ããå€éšããŒã«å©çšæãšæ¯èŒããŠå¹Žé100äžãã«ä»¥äžã®ã³ã¹ãåæžã«ãæåããããã§ããããã«ãå
šç€Ÿã§çµ±äžãããåºæºã«ããæ¶è²»è
ã€ã³ãµã€ããè¿
éã«ææ¡ã»æ¯èŒã§ããããã«ãªããè£œåæ¹åãããŒã±ãã£ã³ã°æŠç¥ãžã®æŽ»çšãé²ãã§ãããšã®ããšã§ããã ç§ãã¡ZOZOTOWNã§ãååããŒãžã«ã¬ãã¥ãŒæçš¿ã§ããæ©èœãæäŸããŠããŸãããã®ã¬ãã¥ãŒã掻çšããŠããã粟床ã®é«ãããŠãŒã¶ãŒäžäººã²ãšãã«åã£ãããããååãããŒãœãã©ã€ãºããŠèšŽæ±ã§ããå¯èœæ§ããããšèããŠããŸãããããèšå€§ãªã¬ãã¥ãŒããŒã¿ãã€èªç¶èšèªã§ããããããã®ãŸãŸã®ç¶æ
ã§ã¯ãã©ã®ååãããã©ã®ãããªç¹ïŒäŸïŒãµã€ãºæãçŽ æããã¶ã€ã³ããã©ã³ãçïŒã«ã€ããŠããã©ã®ããã«è©äŸ¡ãããŠããã®ãããšãã£ãæ
å ±ããå€§èŠæš¡ãã€äœç³»çã«åæã»æŽ»çšããããšãå°é£ã§ãã ããã§ãç§ãã¡ãããã«ç€Ÿã®äºäŸã®ããã«ãAIïŒGeminiãªã©ïŒã掻çšããŠã¬ãã¥ãŒãæ§é åã»å®éçãªããŒã¿ã«å€æããããšã§ãã¬ãã¥ãŒè§£æã®ç²ŸåºŠãç¶²çŸ
æ§ãåäžãããããã®ã§ã¯ãšèããŠããŸããããã«ãããåã
ã®ãŠãŒã¶ãŒã®æœåšçãªå¥œã¿ãæžå¿µç¹ãããæ·±ãçè§£ããååã¬ã³ã¡ã³ããŒã·ã§ã³ãUI/UXã®æ¹åã«ç¹ããŠãããå¯èœæ§ããããšèããŠããŸãã Gemini in BigQuery: Your AI assistant for transforming your data workflows BigQueryãšGeminiã®çµ±åãã©ã®ããã«ããŒã¿æŽ»çšãAIéçºãå éãããã©ã®ãããªäŸ¡å€ããããããŠãããã顧客äºäŸã亀ããŠã玹ä»ããŸãã è±åœã®éä¿¡äŒç€Ÿã§ããVirgin Media O2瀟ã§ã¯ããŒã¿ããŒã ãžã®äŸåãæäœæ¥ã«ããéå¹çãããŒã¿ã®ãµã€ãåãšãã£ã課é¡ããããŸãããããã§å瀟ã¯BigQueryã®åçš®AIæ¯æŽæ©èœïŒData Preparationã»Data Canvasã»ã³ãŒãçæçïŒã掻çšããå°éç¥èããªããŠãããŒã¿æºåããåæãå¯èŠåãŸã§ã容æã«è¡ããç°å¢ãæŽåããŸãããäŸãã°ãSQLããGeminiãåŒã³åºããŠãµããŒããã±ããã®éèŠæ
å ±ïŒãã€ã»ã ããã»ã©ãã§ã»ãªã«ãïŒãèªåæœåºããããšãã£ã掻çšäŸã玹ä»ãããŸãããããã«ãããäœæ¥å·¥æ°ã®å€§å¹
ãªåæžïŒæäœæ¥ã§80ïŒ
以äžããšã³ãžãã¢è² è·ã§30ïŒ
以äžïŒãèŠèŸŒãŸããŠããŸãã ã Gemini in BigQuery: Your AI assistant for transforming your data workflows ãã®26:21ããåŒçš ãŸããé£åäŒç€Ÿã®General Mills瀟ã¯ãAIæä»£ã®ããŒã¿éèŠå¢å€§ãžã®å¯Ÿå¿ãéçºå¹çåã®ãããGeminiã®ã³ãŒãæ¯æŽæ©èœãå°å
¥ããéçºè
ã®çç£æ§åäžãå®çŸããŠããŸããäŸãã°ãSQLã®ã³ã¡ã³ãã«èªç¶èšèªã§ããžãã¹ããžãã¯ãæžããšãGeminiãSQLæã«å€æããŠãããæ©èœãªã©ã玹ä»ãããŸãããããã«ãããSQLã®èª¿æ»ãåŠç¿ã«ãããã³ã¹ãåæžãæåŸ
ã§ããŸãã ç§ãã¡ZOZOTOWNã«ãããŠããéèšããŠãŒã¶ãŒã¿ãŒã²ãã£ã³ã°ã®ããã®SQLäœææã«ãèšå€§ãªããŒã¿ãçè§£ãæ±ãå¿
èŠããããããã«å€ãã®æéãšæéãããã£ãŠããŸããGeminiã«ããã³ãŒãæ¯æŽæ©èœã掻çšããã°ãSQLäœæã»éçšã«é¢ããå€ãã®ã¹ããããå¹çåãããæéãšæéã倧å¹
ã«åæžã§ããããšãæåŸ
ãããŸããããã«ãããããŒã±ã¿ãŒãã¢ããªã¹ãã¯ããè¿
éã«ããŒã¿ã€ã³ãµã€ããçºèŠãã广çãªæœçã®ç«æ¡ã»å®è¡ã«éäžã§ããçµæãšããŠããŒã±ãã£ã³ã°æœçã®PDCAãµã€ã¯ã«ãããã«é«éåã§ããå¯èœæ§ããããšèããŠããŸãã Enterprise-grade security and scale for serverless workloads with Cloud Run MAéšMAåºç€ãããã¯ã®å¯æ°žïŒ @turbofish_ ïŒã§ããç§ããã¯ãã¢ããªã±ãŒã·ã§ã³éçºã«é¢é£ããæ°æ©èœãžãã©ãŒã«ã¹ããŠã玹ä»ããŸãã ãã®ã»ãã·ã§ã³ã§ã¯ãååã¯Cloud Runã®ãšã³ã¿ãŒãã©ã€ãºå¯Ÿå¿ã«ãããé²åãšææ°æ©èœã«ã€ããŠãåŸåã¯KubernetesãšCloud Runãæ¯èŒãCloud Runãæ¡çšããã顧客äºäŸã®ã±ãŒã¹ã¹ã¿ãã£ã説æãããŸããã Cloud Runãšã¯ãGoogle CloudãæäŸãããã«ãããŒãžããªãµãŒããŒã¬ã¹ã³ã³ãããã©ãããã©ãŒã ã§ããVMãªã©ã®ç®¡çãããããšãªãã¹ã±ãŒã©ãã«ãªã€ã³ãã©ã¹ãã©ã¯ãã£ã享åã§ãããããéçºããŒã ã¯ã·ã³ãã«ãªéçšã§é«ãããã·ãã£ãå®çŸã§ããŸãããŸãã¯çºè¡šãããå
容ããŸãšãããã®åŸã«èè
ãæ°ã«ãªã£ãç¹ã«ã€ããŠããã¯ã¢ããããŠã話ãããŸãã ãšã³ã¿ãŒãã©ã€ãºå¯Ÿå¿ã«ãããCloud Runã®ç¹åŸŽ 1. ã»ãã¥ãªãã£ãšã³ã³ãã©ã€ã¢ã³ã¹ 2å±€ã®ãµã³ãããã¯ã¹ã«ããã»ãã¥ã¢ãªå®è¡ç°å¢ ããŒã¿æå·åãšãã©ãã£ãã¯ãžã®ã¢ã¯ã»ã¹å¶åŸ¡ FedRAMP HighãHIPAAãªã©ã®ç±³åœã«ãããã»ãã¥ãªãã£èªèšŒãååŸæžã¿ IAMãVPCã®çµ±åã«ãããæ¢åã®ã»ãã¥ãªãã£ã¢ãŒããã¯ãã£ãšé£æºå¯èœ 2. 倿§ãªã¯ãŒã¯ããŒãå¯Ÿå¿ AIæšè«ãWebãµãŒãã¹ãAPIããã¯ãšã³ããããŒã¿åŠçãªã©å¹
åºãçšéã«å¯Ÿå¿ å
¬éãããã¯éå
¬éãèŠæš¡ã®å€§å°ã«é¢ããããæ§ã
ãªã¢ããªã±ãŒã·ã§ã³ã«å¯Ÿå¿ ã¹ã¿ãŒãã¢ããæéãé·ãã¢ããªïŒäŸïŒSpring BootïŒã«ã察å¿å¯èœ 3. ã³ã¹ãå¹ç ãã©ãã£ãã¯ã«å¿ããèªåã¹ã±ãŒãªã³ã°ïŒãŒãã¹ã±ãŒã«ã§ç¡é§ãªã³ã¹ãåæž ãŸãŒã³åé·æ§ãããã©ã«ãã§æäŸãããéå°ãªãªãœãŒã¹ç¢ºä¿ãäžèŠ è€æ°ã®èª²éã¢ãŒããã³ãããã¡ã³ãå²åŒãå©çšå¯èœ 2025幎ã®ãšã³ã¿ãŒãã©ã€ãºåãæ°æ©èœãã€ã©ã€ã Vertex AI à Cloud Runã§AIã¢ããªããµãŒããŒã¬ã¹ã§éçš GPUãµããŒããGAã5ç§ã§èµ·åå¯èœ Direct VPC Egressã匷åãããã¹ããŒããä¿¡é Œæ§ãã³ã¹ãã§åªäœ Cloud Runã€ã³ã¹ã¿ã³ã¹ã«VPCçŽçµã®IPãä»äž Identity-Aware ProxyïŒIAPïŒã®çµã¿èŸŒã¿ ããŒããã©ã³ãµãŒãªãã§çŽæ¥Cloud Runãžã¢ã¯ã»ã¹ã§ããããã«ãªã ãã«ããªãŒãžã§ã³ãããã€ãšãã§ã€ã«ãªãŒã㌠ä»åŸãã¯ãã¹ãªãŒãžã§ã³ãã§ã€ã«ãªãŒããŒæ©èœïŒreadiness probeã«åºã¥ãïŒãæäŸäºå® Cloud Run Worker PoolsïŒãŸããªãæäŸäºå®ïŒ Cloud Runã®ãšã³ã¿ãŒãã©ã€ãºæŽ»çš ã Enterprise-grade security and scale for serverless workloads with Cloud Run ãã®3:33ããåŒçš æè¿ã§ã¯ãVertex AIã«ã¢ãã«ããã¹ãã£ã³ã°ããããã³ããšã³ããCloud Runã§æ§æããã¢ãŒããã¯ãã£ãããèŠããããšã®ããšã§ãã2024幎ã«Cloud Storageãã±ãããCloud Runã³ã³ããå
ã®ãã¡ã€ã«ãšããŠããŠã³ãå¯èœã«ãªããŸããããããã«ãã£ãŠAIã¢ãã«ãã¡ãã£ã¢ãæ§æãã¡ã€ã«ã®åãæ±ãã容æã«ãªããŸããã äžèšã®çºè¡šã®äžã§ãç¹ã«ç§ãæ°ã«ãªã£ããã®ãšããŠãCloud Run Worker PoolsãšãããåžžæããŒãªã³ã°ååŠçã«ç¹åããæ§æãæ°ãã«çºè¡šãããŸãããWorker Poolsã¯ãKafkaãªã©ã®éãªã¯ãšã¹ãããŒã¹ã®ã¯ãŒã¯ããŒãã«å¯Ÿå¿ããæ°ãªãœãŒã¹ãšããŠãAPIãªã¯ãšã¹ããåä¿¡ãããCPU䜿çšçã«ãã£ãŠãªãŒãã¹ã±ãŒã«ã§ããŸããåžžæçšŒåã¯ãŒã«ãŒå°çšã«èšèšãããŠãããããããå¹ççãªæéäœç³»ãé©çšãããã¢ã€ãã«æã®ã³ã¹ãæžå¿µã軜æžãããŠããããã§ããç§ãæå±ããMAéšã§ããåŠçãexactly onceã«ããããã«Pub/Subã®pullãµãã¹ã¯ãªãã·ã§ã³ãèµ·ç¹ãšãããµãŒãã¹ãäœæãããªã©ãéãªã¯ãšã¹ãããŒã¹ã®ã¯ãŒã¯ããŒããè€æ°ååšããŠããŸãããã®ããããã®ãããªæ©èœã欲ãããšåºŠã
話ããŠããã®ã§ãå人çã«ã¯ãšãŠãå¬ããçºè¡šã§ããã é¢ä¿ããŠãæè¿MAéšã§è¡ã£ãã¡ãŒã«é
ä¿¡ã·ã¹ãã ã®å€§å¹
ãªãªã¢ãŒããã¯ãã£ã§ãèŠä»¶ã«åãããŠæ§ã
ãªèšå®ã®Cloud Runã䜿çšããžã§ããã¥ãŒã§é£æºãããããšã«ãããæè»ã§ã¹ã±ãŒã©ãã«ãªé
ä¿¡ã·ã¹ãã ãå®çŸã§ããŸãããã¢ãŒããã¯ãã£ã«ã€ããŠèª¬æããããã¯ããã°ãå
¬éããŠããŸãã®ã§ããã¡ãããã²ãäžèªãã ããã techblog.zozo.com ã»ãã·ã§ã³ã®åŸåã«ã¯ããªãŒã¹ãã©ãªã¢ã®4倧éè¡ã®ã²ãšã€ã§ãããªãŒã¹ãã©ãªã¢ã»ãã¥ãŒãžãŒã©ã³ãéè¡ã®ãªã³ã©ã€ã³ãµãŒãã¹ANZ Plusã®éçºè
ã«ããã±ãŒã¹ã¹ã¿ãã£ã®çºè¡šããããŸãããANZ Plusã§ã¯ãKubernetesãšCloud Runã®äœ¿çšãæ¯èŒæ€èšããäžã§ãCloud Runãã»ãšãã©ã®ã¢ããªã±ãŒã·ã§ã³ã®ããã©ã«ãã®ã©ã³ã¿ã€ã ãšããŠæ¡çšããããšã«ããããã§ããçŸåšã§ã¯1,600ãè¶
ããCloud RunãµãŒãã¹ãæ¬çªç°å¢ã§çšŒåããŠãããšã®ããšã§ãã ANZ Plusã«ããCloud RunãšKubernetesã®æ¯èŒæ€èš ã Enterprise-grade security and scale for serverless workloads with Cloud Run ãã®25:00ããåŒçš éèæ©é¢ã§ããå瀟ã«ãšã£ãŠã¯ãé«å¯çšæ§ãšãªãŒãžã§ã³é害æã®ãã§ã€ã«ãªãŒããŒãäžå¯æ¬ ã§ããKubernetesã§ã®ãã«ããªãŒãžã§ã³å¯Ÿå¿ã¯ã倿°ã®ã¯ã©ã¹ã¿ãŒããŸãŒã³ã®èšå®ããããã¯ãŒã¯æ§æãªã©ãå¿
èŠã§ã倧ãããã§ããããããCloud Runãªãã¯ã©ã¹ã¿ãŒãããŒãã®ããããžã§ãã³ã°ãäžèŠã§ãgcloudã³ãã³ãã§ã·ã³ãã«ã«ãµãŒãã¹ããããã€ã§ããŸããããã«ãã¯ãã¹ãªãŒãžã§ã³ã®ããŒããã©ã³ãµãŒããSpannerã®ãã¥ã¢ã«ãªãŒãžã§ã³æ©èœïŒã·ãããŒã»ã¡ã«ãã«ã³éïŒãšçµã¿åãããããšã§ãé«å¯çšæ§ãå®çŸããŠããŸãã ANZ Plusã§ã®å
·äœçãªCloud Run掻çšäŸãšããŠã1æ¥1åãªã¯ãšã¹ã以äžãæãå瀟ã®ããã·ã¥é
ä¿¡ãµãŒãã¹ã®äºäŸã玹ä»ãããŸãããã·ã§ããã³ã°ã掻çºã«è¡ãããæé垯ãããã¢ãŒã·ã§ã³ãã£ã³ããŒã³äžãªã©ã®ã¢ã¯ã»ã¹ãã¹ãã€ã¯ããæé垯ã«ããCloud Runã®ãªãŒãã¹ã±ãŒã«ã®ãããã§ããã©ãŒãã³ã¹ãäœäžãããããšãªã察å¿ã§ããŠããããšã®ããšã§ããMAéšã§ãããã·ã¥ãã¡ãŒã«ãLINEã§ã®é
ä¿¡ãè¡ãªã£ãŠãããé
ä¿¡ã·ã¹ãã ã«Cloud Runãããå©çšããŠããããšããããã®ãããããã«ã€ããŠéåžžã«å
±æã§ããŸããã Cloud Runã®æ§èœã®è¯ãã¯ããã·ã§ã³ã¯ãªãã£ã«ã«ãªã¢ããªã±ãŒã·ã§ã³éçºã«å¯Ÿãã倧ããªåŒ·ã¿ã§ãããããæ°å¹Žã®é²åã«ããããã«ãšã³ã¿ãŒãã©ã€ãºã®ããŒãºãžãã£ããå¿ããããæ®µéã«é²åããŠãããšããç¹ã匷調ãããã»ãã·ã§ã³ã§ãããAI掻çšãã»ãã¥ãªãã£ããã«ããªãŒãžã§ã³å¯Ÿå¿ããããåŠçãåžžæçšŒåã®Worker Poolsãªã©æ§ã
ãªãŠãŒã¹ã±ãŒã¹ã«å¯Ÿå¿ããCloud Runã¯ããããã®äŒæ¥ã€ã³ãã©ã®äžæ žãšããŠãŸããŸã泚ç®ãããŠããããšã«ãªãããã§ãã Whatâs new in Gemini Code Assist Whatâs new in Gemini Code Assistãšããã»ãã·ã§ã³ã§ã¯ã2024幎ã«ãªãã©ã³ããããéçºè
åãAIæ¯æŽããŒã«ã§ããGemini Code Assistã«ã€ããŠããã¢ã亀ããŠèª¬æãããŸãããGemini Code Assistã§ã®æäŸã¢ãã«ã¯ãGemini 1.0 Proãã1.5 ProããããŠçŸåšã®Gemini 2.0ãžãšé²åãéããŸãããGemini Code Assistã¯Standard EditionãšEnterprise Editionã«åãããç¹ã«Enterprise Editionã§ã¯äŒæ¥ç¬èªã®ã³ãŒãããŒã¹ãç¥èãèæ
®ããŠææ¡ããäžæ¹ã§ãæ©å¯æ
å ±ãå®å
šã«å®ãããšãã§ããŸããããã«ãç¡æã§äœ¿çšã§ããindividualsãæè¿å ãããŸããã ãœãããŠã§ã¢éçºãžã®AIã®æŽ»çšã¯ãæ¥çã®ãã¬ã³ããšãªã£ãŠããŸããGoogleãæ¯æŽããèª¿æ»æ©é¢DORAã®èª¿æ»ã«ãããšãçŸåšã§ã¯å€ãã®äŒæ¥ãAIã®æŽ»çšãããžãã¹ã«ãšã£ãŠäžå¯æ¬ ãªãã®ãšèªèããŠãããéçºè
ã®çŽ75ïŒ
ããã§ã«AIãã³ãŒãã®äœæãåé¡è§£æ±ºã«æŽ»çšããŠããŸãããã ããçç£æ§åäžãæããŠããéçºè
ãå€ãäžæ¹ã§ãã³ãŒãã®å質ãå®å®æ§ã®äœäžãä¿¡é Œæ§ã®èª²é¡ãšãã£ãæžå¿µãååšããŠããŸãã ã Whatâs new in Gemini Code Assist ãã®3:00ããåŒçš Googleã¯Gemini Code AssistããåãªãIDEã§ã®ã³ãŒãè£å®ã ãã§ãªããããã¥ã¡ã³ãã®äœæããã¹ããã»ãã¥ãªãã£ãã§ãã¯ããããã€ã¡ã³ããŸã§ããœãããŠã§ã¢éçºã®ã©ã€ããµã€ã¯ã«ïŒSDLCïŒå
šäœãæ¯æŽãããšã³ã¿ãŒãã©ã€ãºåãã®AIéçºããŒã«ãšããŠèšèšããŠããŸãããã®ãããã»ãã¥ãªãã£ãéçšç®¡çããã©ã€ãã·ãŒä¿è·ã®èгç¹ããã峿 ŒãªæŽåããªãããŠããŸãã ãœãããŠã§ã¢éçºã©ã€ããµã€ã¯ã«å
šäœã§é©åãªãµããŒããæäŸããGemini Code Assistã®æ©èœãšããŠãGemini Code Assist ToolsãGemini Code Assist AgentsãCode Assist for GitHubã«ã€ããŠèª¬æãããŸãããToolãšAgentã®éããšããŠã¯ãããŒã«ããã£ããå
ã§ã®ããã³ããè£å®ãæ
ãã®ã«å¯ŸãããšãŒãžã§ã³ãã¯è€æ°ã®ã¿ã¹ã¯ãèªç¶èšèªã§é£æºã»èªååãããã®ã§ãè€æ°ã®ãµãããã³ãããé§äœ¿ããŠåäžã®ããã³ãããããæ£ç¢ºã§å®å®ããçµæãå°ãåºããŸãã ã Whatâs new in Gemini Code Assist ãã®26:10ããåŒçš Gemini Code Assistã¯ãšãŒãžã§ã³ããªã©ãéããŠæ§ã
ãªæ
å ±ãœãŒã¹ãçµ±åããŠã³ã³ããã¹ãïŒæèïŒãå
±æããããšã§ãç°ãªããã©ãããã©ãŒã ã«æ£åšããæ
å ±ãæšªæçã«èæ
®ãã³ãŒãå質åäžã«é¢ããã¢ããã€ã¹ãè¡ããŸããã³ã³ããã¹ãã«ã¯ãããŒã«ã«ã®ã³ãŒãããŒã¹ããé¢é£ãã¡ã€ã«ãèªåæœåºããããããžã§ã¯ãã³ã³ããã¹ãããç¬èªã®ã©ã€ãã©ãªãã³ãŒãã£ã³ã°èŠçŽãRAGã§æŽ»ããããšã³ã¿ãŒãã©ã€ãºã³ã³ããã¹ãããããã«ã³ãŒã以å€ã«ãPRDãJiraãªã©ã®ã¿ã¹ã¯ç®¡çããŒã«ãŸã§å«ããããšã³ãžãã¢ãªã³ã°ã³ã³ããã¹ããããããããŸããŸãªæ
å ±ãã³ã³ããã¹ããšããŠåã蟌ãããšã§ããã粟床ã®é«ãææ¡ãå®çŸããŠããŸãã Gemini Code Assistãè§£éããã³ã³ããã¹ã ã Enterprise-grade security and scale for serverless workloads with Cloud Run ãã®9:00ããåŒçš æ
å ±ã®éçšç®¡çãã¢ã¯ã»ã¹å¶åŸ¡ã匷åãããŠãããã©ã®æ
å ±ãã€ã³ããã¯ã¹å¯Ÿè±¡ã«ãªããã誰ãã©ã®æ
å ±ã«ã¢ã¯ã»ã¹ã§ããããšãã£ãç¹ã现ããå¶åŸ¡ã§ããŸãã Gemini Code Assistã«ã¯ãç¡æã§äœ¿çšã§ããGemini Code Assist for individualsãšãææã®Gemini Code Assist Standardããã³Gemini Code Assist Enterpriseã®ãã©ã³ããããŸããææãã©ã³ã§ã¯ãç¹å
žãšããŠèäœæš©ãªã¹ã¯ã«é¢ãããindemnificationïŒå
責ïŒããæäŸãããŠããŸããããã¯ãGemini Code Assistãçæããã³ãŒãã«é¢ããæ³ç責任ãGoogleãæ
ä¿ãããã®ã§ãå®å¿ããŠå°å
¥ã§ãããã€ã³ãã®ã²ãšã€ã§ãããªãã§ãEnterprise Editionã«ãããŠã¯ãäŒæ¥ç¹æã®ããŒãºã«å¿ããæ©èœåŒ·åãè¡ãããŠããŸããããšãã°ãèªç€Ÿã®ãã©ã€ããŒãAPIãã©ã€ãã©ãªã掻çšããã³ãŒãææ¡æ©èœããGitHubãGitLabããããã¯ãªã³ãã¬ãã¹ç°å¢ã®ãªããžããªãªã©ãšã®é£æºã«ããæ¥æ¬¡ã§ã®åã€ã³ããã¯ã¹ãã»ãã¥ã¢ãªéé¢ç°å¢ã§ã®ã³ãŒãä¿ç®¡ïŒGoogle瀟å¡ã«ã¯éå
¬éïŒãªã©ãçšæãããŠããŸããããã«ãGeminiã®äœ¿çšç¶æ³ãå¯èŠåãããªãã¶ãŒãããªãã£æ©èœãæäŸãããŠãããDORAã¡ããªã¯ã¹ã売äžãšã®çžé¢åæãããã³ããããã³ã¬ã¹ãã³ã¹ã®ãã°ååŸïŒãã©ã€ããŒããã±ããã«ä¿åïŒãªã©ãå¯èœã§ãã ã»ãã·ã§ã³ã®æåŸã«ãSentry瀟ã«ãããå®éã«ç€Ÿå
ã§è¡ãããŠããGemini Code AssistãšSentryã®AIãšãŒãžã§ã³ããæŽ»çšããéçºããã»ã¹ã®ãã¢ã³ã¹ãã¬ãŒã·ã§ã³ãè¡ãããŸããããã¢ã§ã¯ãGemini Code Assistã®ãã£ããã€ã³ã¿ãã§ãŒã¹ãéããŠãSentryã®ãšã©ãŒæ
å ±ãããã©ãŒãã³ã¹ããŒã¿ããªã¢ã«ã¿ã€ã ã§ååŸãããšã©ãŒã«ã€ããŠèšåãããŠããã€ã·ã¥ãŒã衚瀺ãããªã©ã®ã·ãŒã³ããããŸãããSentryãšGemini Code Assistã®é£æºã¯ããšã©ãŒæ€åºããä¿®æ£ãŸã§ã®äžé£ã®ããã»ã¹ãã·ãŒã ã¬ã¹ã«çµ±åããéçºè
ããããŒç¶æ
ã«ããæéã䌞ã°ããäœæ¥å¹çã倧å¹
ã«åäžãããŸãããã®ãã¢ã§ã®éçºè
äœéšã¯ãŸãã§ãã¡ã€ã³ãçç¥ãããšã³ãžãã¢ãåžžã«éçºè
ããµããŒããããã®ãããªå°è±¡ãåããAIãæŽ»çšããæ¬¡äžä»£ã®éçºäœéšã瀺ã奜äŸã«ãªã£ãŠãããšæããŸããã ãã®ããã«ãGemini Code Assistã䜿çšããããšã§ãéçºè
ã¯è€æ°ã®ããŒã«ãåãæ¿ããããšãªããIDEå
ã§ãšã©ãŒã®è©³çްãé¢é£ãããã©ã³ã¶ã¯ã·ã§ã³æ
å ±ã確èªã§ããããã«ãªããŸããããã«ãããéçºã®çç£æ§ãšå質ã®åäžããœãããŠã§ã¢ã®è¿
éãªãªãªãŒã¹ãå¯èœãšãªããŸããç§ã¯ãéçºãããã¯ãããã°æã«ã·ã§ãŒãã«ãããå€çšããŠããããã®ããŒã«ãåãæ¿ããŠäœ¿çšããŠããã®ã§ãIDEã ãã§æ§ã
ãªèª¿æ»ãã·ã§ãŒãã«ããããŠãããã®ã¯ãè¿æªæ¥çãªéçºè
äœéšã ãšæããŸãããè€æ°ã®ãªããžããªã§ã®éçºãšå€ãã®ããã¥ã¡ã³ãã®äœæã»è§£èªã»ç®¡çãæ§ã
ãªããŒã«ã䜿çšãããããã°äœæ¥ãªã©ãæ¥ã
ã®äœæ¥ã®ã³ã³ããã¹ãã¹ã€ãããåçã«æžãããã®ã§ã¯ãšå€§å€æåŸ
ããŠããŸãããšã³ã¿ãŒãã©ã€ãºã§ã®å©çšã«ã¯æ¬ ãããªãå®å
šæ§ã«ã€ããŠã匷調ãããŠãããå€ãã®äŒæ¥ã§ã®å°å
¥æ€èšãåŸæŒãããã®ã§ã¯ãšæããŸãã ãããã« æ¬èšäºã§ã¯å¹
åºãããŒãã§ãµãŒãã¹ã®ã¢ããããŒãã«ã€ããŠèª¬æããŸãããæ°å€ãã®ã»ãã·ã§ã³ããããã©ããéåžžã«è峿·±ãå
容ã°ããã§ããã®ã§ã å
¬åŒãµã€ãã®Session Library ã§ããã²æ°ã«ãªã£ãã»ãã·ã§ã³ãèŠãŠã¿ãŠãã ããã ã€ãã³ãå
šäœã®é°å²æ°ãšããŠã¯ãä»å¹Žãå幎ã«åŒãç¶ãAIã«é¢ããçºè¡šãå€ãèŠãããç¹ã«åºèª¿è¬æŒã¯çæAIã®è©±é¡ãåé¢ã«æŒãåºããå
容ã§ããããªãã§ããAIãšãŒãžã§ã³ãå士ã飿ºããæ°ãããã³ã«ã§ããA2AïŒAgent2AgentïŒã«é¢ãã説æãšããã䜿çšãããã¢ã§ãæ§ã
ãªæ©èœã飿ºã人éã®ããã«ããŒã¿ãåæããããé³å£°ã§å¯Ÿå¿ããããå€åŒã亀æžã®å¿è«Ÿå¯åŠã«ã€ããŠäžåžã«çžè«ããïŒïŒïŒãªã©ã倿§ãªã¿ã¹ã¯ãããªãã¢ããªã±ãŒã·ã§ã³ã®å®è£
äŸãç¹ã«å°è±¡çã§ãããã誰ã§ããšãŒãžã§ã³ããäœæãå
¬éããä»ã®ãšãŒãžã§ã³ããšããåãã§ãããä»çµã¿ãæšæºåãããããšã«ãã£ãŠãããããç¥èãã¹ãã«ãâåå©çšå¯èœãªã€ã³ã¿ãŒãã§ãŒã¹âãšããŠéãããæªæ¥ãçŸå®å³ã垯ã³ãŠãããšæããŸãã ãŸããã»ãã·ã§ã³ä»¥å€ã«ããäŒæ¥ããŒã¹ãéçºè
ããŒãã¢ããã§ã®æ§ã
ãªéçºè
ãšã®è°è«ãå€ã«è¡ãããã€ãã³ãã§ã®ä»ç€Ÿã®æ¹ã
ãšã®äº€æµãªã©ããšãŠã貎éãªçµéšãã§ããŸããã æåŸã«ãåŒç€Ÿã§ã¯ã«ã³ãã¡ã¬ã³ã¹åå ã«äŒŽãæž¡èªè²»ã宿æ³è²»ã¯çŠå©åçã®ã²ãšã€ã§ããã»ãããŒã»ã«ã³ãã¡ã¬ã³ã¹åå æ¯æŽå¶åºŠã«ãã£ãŠãã«ã³ãã¡ã¬ã³ã¹åå ã«ãããè²»çšã¯å
šãŠäŒç€Ÿè² æ
ã§ãã ZOZOã§ã¯äžç·ã«ãããã¯ããéçºããŠããããšã³ãžãã¢ãåéããŠããŸãããèå³ã®ããæ¹ã¯äžèšãªã³ã¯ãããã²ãå¿åãã ããïŒ corp.zozo.com
ã¯ããã« ããã«ã¡ã¯ãZOZOTOWNéçºæ¬éšã§ZOZOTOWN iOSã®éçºãæ
åœããŠãã å°æŸ ã§ããç§ãã¡ã¯ãããŒã ãããå¹ççãã€ã¹ã±ãŒã«ããããéçºç°å¢ãæ§ç¯ããããã«ãSwift Package ManagerïŒä»¥äžSPMïŒãžã®ç§»è¡ãã¯ãããšããŠæ§ã
ãªåãçµã¿ãè¡ããŸãããæ¬èšäºã§ã¯ããã®éçšã§åŸãããç¥èŠãšå®è·µããå
容ã«ã€ããŠã玹ä»ããŸãã èæ¯ãšåæ© ZOZOTOWN iOSã¯æ¥ã
é²åããŠããŸããå ããŠéçºã«æºãã人ãå¢ããããšã§ãã³ã³ããªã¯ãã®å¢å ãã¡ã³ããã³ã¹ã³ã¹ãã®å¢å ãªã©ã®èª²é¡ãå¢ããéçºåºç€ã®æ¹åãæ¥åãšãªããŸãããå°æ¥çãªã¡ã³ããã³ã¹ã³ã¹ãã®åæžãšéçºå¹çã®åäžãç®æãã以äžã®åæ©ã«åºã¥ãæ¹å掻åãéå§ããŸããã ã¹ã±ãŒã«ããããåºç€äœã ã¢ããªã®æé·ã«åãããæè»ãªéçºç°å¢ã®æ§ç¯ ããŒã ã«ãšã£ãŠéçºããããäœå¶ éçºè
ã®ã¹ãã¬ã¹ã軜æžããçç£æ§ãåäžãããç°å¢æŽå é·æçãªã¡ã³ããã³ã¹ã®ãããã å°æ¥çãªãã©ãã«ãæªç¶ã«é²ããé·æçãªå®å®çšŒåãå®çŸ èª²é¡ ZOZOTOWN iOSã¯ããã®èŠæš¡ãšè€éããããããã€ãã®éèŠãªèª²é¡ã«çŽé¢ããŠããŸããã ãã«ãæš©éã®è€éã ãã«ãæš©éã®ä»äžãããŒã å
ã§å®çµããããã«ãå¯èœç¶æ
ã«æã£ãŠãããŸã§æéãããã ã³ã³ããªã¯ãã®å€çº ããŒã ã®äººæ°ã䞊è¡ãããžã§ã¯ãæ°ãå¢ããŠããã«ã€ããŠpbxprojãã¡ã€ã«ã®ã³ã³ããªã¯ããå€çºããŠãã ã¡ã€ã³ã®ã©ã€ãã©ãªç®¡çãCocoaPodsã ã£ã CocoaPodsã®ã¡ã³ããã³ã¹ã¢ãŒããçºè¡šãã 1 ãè¿ããã¡ã«è±åŽã®å¿
èŠããã£ã pbxprojã«ããããã±ãŒãžç®¡çã§ã¯ãã©ã€ãã©ãªéã®äŸåé¢ä¿ãæç¢ºã«ææ¡ãã«ãã çŸåšäœ¿çšããŠããã©ã€ãã©ãªãšãã®äŸåé¢ä¿ãªã©ãææ¡ãã¥ããã£ã ã©ã€ãã©ãªãå€ãããŒãžã§ã³ã®ãŸãŸæŸçœ®ãããŠãã æäœæ¥ã§ã®ããŒãžã§ã³ã¢ããã«ã¯ãæéãšæéãããã 解決çãšã¢ãããŒã ãããã®èª²é¡ã解決ããããã«ãç§ãã¡ã¯ä»¥äžã®ã¢ãããŒããåããŸããã 1. æš©é管çã®æ¹å ãã«ãæš©éãè€éã«ãªã£ãŠããŸã£ãŠãããããã·ã³ãã«ãªæ§æã«ãªãããã«æ¹åããŸããã ZOZOTOWNã«ã¯ZOZOMAT/ZOZOGLASSãšãã£ãèšæž¬æ©èœãå«ãŸããŠããŸãããããã¯ãã¥ãŒãžãŒã©ã³ãã«ããåäŒç€Ÿã®ZOZO NEW ZEALAND LIMITEDïŒä»¥äžZOZO NZïŒãéçºããSDK(C++)ãã瀟å
ã®å¥ããŒã ãSwiftã§ã©ãããããã®ã䜿çšããŠããŸããSDKã®Package.swiftã¯ZOZO NZã®ãªããžããªã§ç®¡çããŠããŸãããæ¬äœã®XCFrameworkã¯JFrog 2 ã®ã¹ãã¬ãŒãžãµãŒãã¹ã§ç®¡çãããŠããŸããã ã€ãŸãZOZOTOWNããã«ãããéã«ã¯ãæ ªåŒäŒç€ŸZOZOã®Organizationãžã®ã¢ã¯ã»ã¹ã ãã§ã¯ãªããZOZO NZã®OrganizationãšJFrogãžã®ã¢ã¯ã»ã¹ãå¿
èŠã§ãããç¹ã«ãJFrogã®æš©éä»äžã¯JFrogã®ä»æ§ãZOZO NZãšã®æå·®ã«ãããã¹ã ãŒãºã«é²ããããšãé£ããç¶æ³ã§ããããŸããè±èªã§ãããšãã§ããã¡ã³ããŒãéãããŠããããã³ãã¥ãã±ãŒã·ã§ã³ãå±äººåããŠããŸãããããããèæ¯ããããZOZOTOWN iOSããã«ãå¯èœãªç¶æ³ã«ãããŸã§ã«æéãããã£ãŠããŸã£ãŠããŸããã ããã§èšæž¬ã©ã€ãã©ãªã®Repositoryãèªç€ŸOrganizationå
ã«mirrorãšããŠäœæããXCFrameworkãRelease Assetã«é
眮ããŸãããçµæãšããŠJFrogãžã®äŸåãè§£æ¶ããæš©éä»äžãããŒã å
ã§å®çµããã«ããç°¡ç¥åããããšã«æåããŸããã 2. Package.swiftã«ããã©ã€ãã©ãªã®äŸå管çã®å°å
¥ ã©ã€ãã©ãªãé·ãæéæŽæ°ãããŠãããäŸåé¢ä¿ãææ¡ãã¥ããåé¡ã«ã€ããŠã®è§£æ±ºçãšããŠPackage.swiftãå°å
¥ããŸãããå°å
¥ã«ããã£ãŠã¯iOSçéã§ããèŠãããäžè¬çãªãã«ãã¢ãžã¥ãŒã«æ§æã§ã¯ãªããã©ã€ãã©ãªã®äŸåã®ã¿ã管çããPackageãäœæããŸããããã¡ãã¯äžèšãåèã«ããŸããã qiita.com ããã«ãããäŸåé¢ä¿ã®å¯èŠåãšç®¡çã容æã«ãªããŸããã Package.swiftãããã°ãäžèšã³ãã³ãã§äŸåé¢ä¿ãã°ã©ãã«ã§ããŸãã swift package show-dependencies --format dot | dot -Tpng -o graph.png ãã¡ããå®éã«åºåãããäŸåé¢ä¿ã®å³ã§ããäžéšç€Ÿå
ã©ã€ãã©ãªãé»å¡ãã«ããŠããŸãã 詳ãã解説ã¯ãã¡ãã«ãŸãšããŠããã®ã§ãæ°ã«ãªãæ¹ã¯åèã«ããŠã¿ãŠãã ããã zenn.dev ãŸããPackage.swiftãããããšã«ãã£ãŠèªåã§ã©ã€ãã©ãªã®æŽæ°ã®PRãäœæãããããªãããã§ãããŸã ãZOZOTOWNã«ã¯ãã®ä»çµã¿ã¯ãããŸãããä»åŸå¯Ÿå¿ããŠããããšæããŸãã 3. Groupåç
§ãããã©ã«ãåç
§ãžã®å€æŽ ZOZOTOWNãXcode 16ã«å¯Ÿå¿ããã¿ã€ãã³ã°ã§ãpbxprojã®ã³ã³ããªã¯ãåé¡ãè§£æ¶ããããã«ãGroupåç
§ãããã©ã«ãåç
§ãžå€æŽããŸããã 3 ããã«ããããããžã§ã¯ããã¡ã€ã«ã®ç«¶åã倧å¹
ã«æžå°ããéçºå¹çãåäžããŸããããã®å€æŽã«ãã£ãŠããªãéçºã¯æ¥œã«ãªããŸããããåç
§ã®ä»çµã¿ãã®ãã®ãå€ãããã圱é¿ã倧ããã§ããä»®ã«Group察å¿ããPRããªããŒãããããã®ãªã倧å€ã«ãªãããšãæ³å®ãããã®ã§ãã¿ã€ãã³ã°ãããèŠãªãããã£ãã»ãããããªãšæããŸããã 4. SPMç§»è¡ãšToolç³»ã©ã€ãã©ãªã®æ¹å ZOZOTOWN iOSã§ã¯ä»¥åããäžéšã©ã€ãã©ãªã®ç®¡çã«SPMã䜿çšããŠãããå°å
¥ããã¿ã€ãã³ã°ããå®å
šç§»è¡ãæ€èšããŠããŸãããããããXcode 15ç³»ã§SPMãå©çšãããšãã©ã³ãã®åãæ¿ãã§pbxprojãã¡ã€ã«ã倿ŽããSPMãã£ãã·ã¥ãæ®çºããŸããããã®ããããã£ãã·ã¥ãå¹ããå床ã©ã€ãã©ãªãããŠã³ããŒãããå¿
èŠã«ãªãããç§»è¡ãèºèºããŠããŸããããã®åé¡ãXcode 16ã§è§£æ¶ãããããšãCocoaPodsãã¡ã³ããã³ã¹ã¢ãŒãã«å
¥ã£ãããšãæ©ã«ãSPMãžã®å®å
šç§»è¡ãé²ããŸããã å®å
šç§»è¡ããã«ããã£ãŠã¯ãäžèšã®é çªã§é²ããŠãããŸããã 䜿çšããŠããã©ã€ãã©ãªãSPMã«å¯Ÿå¿ããŠãããã確èªãã SPM察å¿ã®ããŒãžã§ã³ãžã®ã¢ããããŒããããã©ã€ãã©ãªã®ã¢ããããŒã è€éãããªToolç³»ã®ã©ã€ãã©ãªãã¢ããããŒã ãã®ä»ã®ã©ã€ãã©ãªãã¢ããããŒã Toolç³»ã®ã©ã€ãã©ãªã®ç§»è¡ äžèšé
ç®ã®äžã§ãToolç³»ã®ã©ã€ãã©ãªã®ã¢ããããŒããäžçªèŠæŠããŸãããZOZOTOWNã§äœ¿çšããŠããToolç³»ã©ã€ãã©ãªã¯SwiftGenãšLicensePlistã®2ã€ã§ããã©ã¡ããBuildToolPluginã«ã¯å¯Ÿå¿ããŠããŸããããZOZOTOWNã§äœ¿çšããŠãããŠãŒã¹ã±ãŒã¹ãšã¯åŸ®åŠã«åãããããªãç§»è¡ãšã¯è¡ããŸããã§ãããSwiftGenã«ã€ããŠã¯ãXcode 16ã®Asset Symbolsçææ©èœ 4 ãå©çšããããšã§ãããŒã«èªäœã廿¢ããããå¹ççãªãªãœãŒã¹ç®¡çãå®çŸããŸãããLicensePlistã«ã€ããŠã¯ãSPMçµç±ã§ã®å°å
¥ãé¿ããHomebrewçµç±ã§ã€ã³ã¹ããŒã«ããŠäœ¿çšããããã«ããŸãããGitHub Actionsãçµã¿åãããããšã§ããããžã§ã¯ãããã®åãé¢ããšã©ã€ã»ã³ã¹æ
å ±ã®èªåæŽæ°ãå¯èœã«ããŸããã è€éãªäŸåé¢ä¿ã«ããããªã³ã«ã®ãšã©ãŒ ããã倧ããè©°ãŸã£ããã€ã³ãã§ãããZOZOTOWN iOSã¯ãããã¯ãŒã¯ã¢ãžã¥ãŒã«ãAPIClientãšããŠå¥Targetã«åãåºããŠããããã®äŸåã®é¢ä¿ã¯äžèšã®ããã«ãªã£ãŠããŸãããAãBãšããã©ã€ãã©ãªã¯CocoaPodsã§ç®¡çãããŠãããç¹ã«Bã¯ZOZOTOWNãšAPIClientã®äž¡æ¹ã§äœ¿çšãããŠããŸãã ããããã®ãŸãŸSPMãžãšç§»è¡ãããšããã以åããSPMã§ç®¡çãããŠããã©ã€ãã©ãªïŒå³äžã®CïŒã§ãªã³ã¯æã«ãšã©ãŒãåºãããã«ãªããŸããã ãã¡ããèŠæŠããŸããããçŽæ¥çã«ãªã³ã«ã®åé¡ã解決ããã®ã§ã¯ãªããæ§æç®¡çãã®ãã®ãèŠçŽããŸãããæçµçãªçµæãšããŠã¯ãAPIClientã®ã¿ãŒã²ããããšSPMã§ç®¡çããããã«ããããšã§åé¡ãè§£æ¶ããããã·ã³ãã«ãªæ§æã«ã§ããŸããã ãããã®åé¡ã¯ãããŸããããç¡äºZOZOTOWN iOSã¯CocoaPodsããå®å
šã«è±åŽããæŽããŠã©ã€ãã©ãªç®¡çãå
šãŠSPMãžãšç§»è¡ã§ããŸããã åŸããã广 ãããã®åãçµã¿ããã£ãããšã§æ§ã
ãªå¹æãåŸãããšãã§ããŸããã ãã®ãã¡ã®1ã€ãšããŠããžã§ã€ã³ãããã«ãã§ããããã«ãªããŸã§ã®æéã®é«éåã«æåããŸãããä»ãŸã§ã¯æ°ããã¡ã³ããŒãåç»ããéã«ZOZOTOWN iOSããã«ãããŠã¿ã¹ã¯ã«åãæããããŸã§ã«ãããŠåæ¥ãæªããŠæ°æ¥ããã£ãŠããŸãããšããããŸããããã«ãæ§æãã·ã³ãã«ã«ããŠããã«ã€ããæ¥ååå ãã30åçšåºŠã§ãã«ããŸã§æã£ãŠããããšãã§ããããã«ãªããæ¥åéå§æã«ãããããã«ããã¯ã®è§£æ¶ã«æåããŸããã ãŸãã誰ã§ããã«ãã§ããããã«ããããšã§ä»ããŒã ã®ã¡ã³ããŒãZOZOTOWN iOSããã«ããããšããã±ãŒã¹ãå¢ããŸãããZOZOTOWNã¯ZOZOã®äžã§ãäºæ¥ã®æ±ã§ããããããã€ãã£ãã ãã§ã¯ãªãWebViewåŽã§ãæ¥ã
æ°ããæ©èœã远å ãããŠããŸããä»ãŸã§ã¯ãWebåŽã®ããŒã ã¡ã³ããŒãåäœç¢ºèªããããå Žåãã€ãã£ãããŒã ãžãšé£çµ¡ãã調æ»ããŠãããå¿
èŠããããŸãããåæ¹ã§å²ã蟌ã¿ãåŸ
ã¡æéãçºçããŠããŸããããWebããŒã ãç°¡åã«ãã«ãã§ããç¶æ
ã«ãªããäžå
·å調æ»ãä¿®æ£äŸé Œãã¹ã ãŒãºã«ãªããäºãã«ã¡ãªãããå¢ããŸããã ãŸãšã æ¬èšäºã§ã¯ãZOZOTOWN iOSããŒã ãè¡ã£ãã¹ã±ãŒã«ããããéçºåºç€äœãã®åãçµã¿ã«ã€ããŠç޹ä»ããŸãããç§ãã¡ã®çµéšããä»ã®éçºããŒã ã®åèã«ãªãã°å¹žãã§ããç§ãã¡ã¯ãä»åŸãç¶ç¶çãªæ¹å掻åãéããŠãããå
ç¢ãªéçºåºç€ãæ§ç¯ããŠãããŸãã æåŸã« ZOZOã§ã¯ãäžç·ã«å€§èŠæš¡ãªãµãŒãã¹äœããããŠãããæ¹ãåéããŠããŸãããèå³ã®ããæ¹ã¯ã以äžã®ãªã³ã¯ãããã²ãå¿åãã ããïŒ hrmos.co hrmos.co https://blog.cocoapods.org/CocoaPods-Support-Plans/ ↩ https://jfrog.com/ ↩ https://developer.apple.com/documentation/xcode-release-notes/xcode-16-release-notes#Project-Management ↩ https://developer.apple.com/documentation/xcode-release-notes/xcode-16-release-notes#Asset-Catalogs ↩
ZOZOéçºçµç¹ã®2025幎3æåã®æŽ»åãæ¯ãè¿ããZOZO TECH BLOGã§å
¬éããèšäºãç»å£ã»æ²èŒæ
å ±ãªã©ããŸãšããMonthly Tech Reportããå±ãããŸãã ZOZO TECH BLOG 2025幎3æã¯ãåæã®Monthly Tech Reportãå«ãèš11æ¬ã®èšäºãå
¬éããŸãããç¹ã«ãZOZOTOWNã®æšèŠã·ã¹ãã ã«ãããA/Bãã¹ãã®æšæºåãã¯éåžžã«å€ãã®æ¹ã«èªãŸããŸãããZOZOTOWNã®æšèŠã·ã¹ãã ã«èå³ããæã¡ã®æ¹ã¯ãã²ãäžèªãã ããã techblog.zozo.com ZOZO DEVELOPERS BLOG try! Swift Tokyo 2025 ã«SILVERã¹ãã³ãµãŒã»DIVERSITY & INCLUSIONã¹ãã³ãµãŒã»STUDENTã¹ãã³ãµãŒãšããŠåè³ããæšã®èšäºãå
¬éããŸããã technote.zozo.com ç»å£ ã¢ãŒããã¯ãã£éžå®ã®äºäŸãšåŠã³ ïœã¢ããªã¹ããã€ã¯ããµãŒãã¹ãã¢ãžã¥ã©ãŒã¢ããªã¹ã®å
±çãšæé©åïœ 3æ12æ¥ã«éå¬ãããã ã¢ãŒããã¯ãã£éžå®ã®äºäŸãšåŠã³ ïœã¢ããªã¹ããã€ã¯ããµãŒãã¹ãã¢ãžã¥ã©ãŒã¢ããªã¹ã®å
±çãšæé©åïœ ãã§ãç©æµéçºéšã®å²¡æ¬ïŒ @cocet33oo0 ïŒãšäœç°ïŒ @sakuty06 ïŒãã äžæ©ãã€æé·ããªããé²ãã ZOZOã®åºå¹¹ã·ã¹ãã ãªãã¬ã€ã¹ ããšããã¿ã€ãã«ã§ç»å£ããŸããã ãZOZOãšã³ãžãã¢ç»å£æ
å ±ã ææ¥3/12(æ°Ž)ãæŒéå¬ã®ãã¢ãŒããã¯ãã£éžå®ã®äºäŸãšåŠã³ ïœã¢ããªã¹ããã€ã¯ããµãŒãã¹ãã¢ãžã¥ã©ãŒã¢ããªã¹ã®å
±çãšæé©åïœãã«ãç©æµéçºéšã®å²¡æ¬ @cocet33oo0 ãšäœç° @sakuty06 ãç»å£ããŸãðïž https://t.co/FM5LqCFMOo #ã¢ãŒããã¯ãã£éžå®_findy — ZOZO Developers (@zozotech) 2025幎3æ11æ¥ speakerdeck.com Vue.js v-tokyo Meetup #22 3æ28æ¥ã«éå¬ãããã Vue.js v-tokyo Meetup #22 ãã§ãWEARããã³ããšã³ãéšã§ããã¯ãªãŒãã®åšå·ïŒ @ssssotaro ïŒãã PreactãHooksãšSignalsã®äž¡ç« ããšããã¿ã€ãã«ã§ç»å£ããŸããã ãZOZOãšã³ãžãã¢ç»å£æ
å ±ã æ¬æ¥ 3/28(é) 19æéå¬ã®ãVue.js v-tokyo Meetup #22ãã«ãWEARããã³ããšã³ãéšã®åšå· @ssssotaro ãç»å£ããŸãðïž é§ã蟌ã¿åå å¯èœã§ãããã²ãåå ãã ããïŒ https://t.co/kbfbiQ2D9m #v_tokyo22 — ZOZO Developers (@zozotech) 2025幎3æ28æ¥ speakerdeck.com æ²èŒ ç¹ç æ°è ã ç¹ç æ°è ãã«ãããã¡ãã·ã§ã³æ¥çäŒæ¥ã®ãããŒãã³ã«èãããšããç¹éã«ãŠãä»å¹Žæ³šç®ããããããã¯ã¹ã®ã²ãšã€ãšããŠãZOZOã«ãããAI掻çšã«ã€ããŠãAIã»ã¢ããªãã£ã¯ã¹æ¬é𠿬éšé·ã®ç§éãã€ã³ã¿ãã¥ãŒããŠããã ããŸããïŒææäŒå¡éå®ïŒã senken.co.jp ãã®ä» ZOZOã¯ã€ãº ZOZOã®æ°åæ¡çšã«èå³ã®ããæ¹ã«åããŠãZOZOã®ããšããã£ãšç¥ã£ãŠããããïŒã§ããã°ïŒããZOZOã奜ãã«ãªã£ãŠãããããšå¬ãããªãšæã£ãŠäœã£ãæééå®ã®ã³ã³ãã³ããZOZOã¯ã€ãºããäœæã»å
¬éããŸããã ãã²ææŠããŠã¿ãŠãã ããïŒ ïŒŒâš ZOZOã¯ã€ãºéå¬äžâšïŒ ZOZO ã®æ°åæ¡çšã«èå³ãããæ¹ã«åããŠæééå®ã³ã³ãã³ããäœæããŸããðð¡ ZOZOã®ããšãæ·±ãç¥ã£ãŠãïŒã§ããã°ïŒãã£ãšå¥œãã«ãªã£ãŠãããããå¬ããã§ãð ãªãªãžãã«ã°ããºãåœéžããããïŒãã²ãã§ãã¯ããŠã¿ãŠãã ããð #ZOZO #æ°åæ¡çš #27åãšç¹ãããã pic.twitter.com/Pn3xM0SLtz — ZOZO Developers (@zozotech) 2025幎3æ28æ¥ corp.zozo.com 以äžã2025幎3æã®ZOZOã®æŽ»åå ±åã§ããïŒ ZOZOã§ã¯ãäžç·ã«ãµãŒãã¹ãäœãäžããŠãããæ¹ãåéäžã§ãããèå³ã®ããæ¹ã¯ã以äžã®ãªã³ã¯ãããã²ãå¿åãã ããã corp.zozo.com
ã¯ããã« ããã«ã¡ã¯ãããŒã¿ã·ã¹ãã éšMLOpsãããã¯ã® æšæ ã§ããMLOpsãããã¯ã§ã¯ãç¶ç¶çã«Google Cloudã®ã³ã¹ãåæžã«åãçµãã§ããŸãããã®äžç°ãšããŠãå€éãäŒæ¥ãšãã£ãå©çšãããŠããªãæé垯ã«ã皌åãç¶ããããšã§çºçããŠãããéçºã»æ€èšŒã»ãã¹ãç°å¢ã®äœåãªã³ã¹ãã«çç®ããŸããã ãã®èª²é¡ã解決ããããã«ãMLOpsãããã¯ã§ã¯ Kubernetes Event-driven Autoscaling ïŒä»¥äžKEDAïŒãå°å
¥ããŸãããKEDAã¯ãKubernetesç°å¢ã§ã€ãã³ãããªãã³ã«ãããªãŒãã¹ã±ãŒã«ãå®çŸãããªãŒãã³ãœãŒã¹ã®ããŒã«ã§ããKEDAã«ããå©çšãããŠããªãæé垯ã®Podã忢ããäœåãªã³ã¹ããåæžããŸããã æ¬èšäºã§ã¯KEDAãå°å
¥ããã¢ãããŒã·ã§ã³ã广ãå°å
¥ããéã«çŽé¢ãã課é¡ããå ããŠäºæ
ãªãæ¬çªç°å¢ãžé©çšããããã«å·¥å€«ããç¹ãã玹ä»ããŸããKEDAã®å°å
¥ã§ãããªãã³ã¹ãåæžãç®æãããæ¹ã
ã®å©ãã«ãªãã°å¹žãã§ãã ç®æ¬¡ ã¯ããã« ç®æ¬¡ èæ¯ KEDAãå°å
¥ããçµç·¯ 1. Podã®å°æ°ã0å°ã«ã§ããªã 2. ã¹ã±ãžã¥ãŒã«ããŒã¹ã®ãªãŒãã¹ã±ãŒã«ãã§ããªã 解決ç KEDAã®å°å
¥ KEDAã®æŠèŠ KEDAã®ã¢ãŒããã¯ã㣠KEDAã®ã³ã³ããŒãã³ã KEDAã®å°å
¥ã«ããã³ã¹ãåæžã®è©Šç® KEDAã®å°å
¥æ¹æ³ ã€ã³ã¹ããŒã«æ¹æ³ ãããã§ã¹ããçŽæ¥é©çšããæ¹æ³ kustomizeã䜿çšããæ¹æ³ Podã®ãªãœãŒã¹èšå®ãšåé·å Podã®ãªãœãŒã¹èšå® åé·åã®èšå® ã¹ã±ãžã¥ãŒã«ããŒã¹ã®ããªã¬ãŒèšå® ãŒãã¹ã±ãŒã«æã«æ³šæãã¹ãPDBã®èšå® CPU䜿çšçã«å¿ããããªã¬ãŒèšå® ã¹ã±ãžã¥ãŒã«ã»CPU䜿çšçãçµã¿åãããããªã¬ãŒèšå® KEDAå°å
¥æã®æ³šæç¹ æ¢åã®HPAç¡å¹åæã®Pod調æŽãšå°å
¥ã¿ã€ãã³ã° KEDAã®å°å
¥å¹æã»ã¡ãªãã å°å
¥ã«ããã³ã¹ãåæž åæžé¡ã®ç®åº 幎éã®ã³ã¹ãåæžå¹æ Compute Engine ã®ã³ã¹ãåæž Datadog ã®ã³ã¹ãåæž KEDAå°å
¥åŸã®èª²é¡ãšè§£æ±ºç å€åœ¢ç£èŠã®èª²é¡ãšè§£æ±ºç Argo Rolloutsã§KEDAãé©çšããããã®èšå®å€æŽ ä»åŸã®å±æ ãŸãšã èæ¯ åæãšããŠãMLOpsããŒã ã§ã¯ãããªãã¯ã¯ã©ãŠãã«Google Cloudã䜿çšãã Google Kubernetes Engine ïŒä»¥äžãGKEïŒäžã«ãµãŒãã¹ãæ§ç¯ããŠããŸãããŸãã1Pod1Nodeã®æ§æããšã£ãŠãããããPodã®æ°ã«å¯Ÿå¿ããNodeãååšããŸããGKEã®Nodeã¯Compute Engineã®VMäžã§çšŒåãã皌åæéãšå°æ°ã»ãã·ã³ã¿ã€ãã«å¿ããŠã³ã¹ããçºçããŸããå ããŠããããåŠçã®ãããªåçºå®è¡ã®Podãšã¯ç°ãªããAPI Podã¯åžžæçšŒåãå¿
èŠã§ããä¿å®å¯Ÿè±¡ã®APIã52åãšå€ããGKEã®Nodeãå®è¡ããŠããCompute Engineã®ã³ã¹ããGoogle Cloudå
šäœã®ã³ã¹ãã®äžã§å€§ããªå²åãå ããŠããããšã課é¡ãšãªã£ãŠããŸããã ãã®èª²é¡ã解決ããããã«ãMLOpsãããã¯ã§ã¯Podå°æ°ãèŠçŽãããšã§Compute Engineã®ã³ã¹ããåæžã§ããªããæ€èšããŸããã æ¬çªç°å¢ã§ã¯ãŠãŒã¶ãŒåœ±é¿ãåºããªãããã«ãå¯çšæ§ã»ããã©ãŒãã³ã¹ã®èгç¹ããååãªPodã®å°æ°ãç¶æããå¿
èŠããããŸãããã®ãããPodã®å°æ°ãæžããéã¯æ
éã«å¯Ÿå¿ããå¿
èŠããããŸããäžæ¹ãéçºã»æ€èšŒã»ãã¹ãç°å¢ã§ã¯ãéçºè
ãéçºã»æ€èšŒã»ãã¹ãç®çã§ã®ã¿å©çšããããããå¶æ¥æéå€ã¯çšŒåããå¿
èŠããããŸããã ããã§ãéçºã»æ€èšŒã»ãã¹ãç°å¢ã®Podãå¶æ¥æéå€ã«åæ¢ããå Žåãã©ã®çšåºŠã®ã³ã¹ãåæžãå¯èœã詊ç®ãããšãããCompute Engineã®ã³ã¹ããçŽ30ïŒ
åæžã§ãããšèŠèŸŒãŸããŸããã ããããèžãŸããéçºã»æ€èšŒã»ãã¹ãç°å¢ã§ã¯å¶æ¥æ¥ä»¥å€ã«Podã忢ããæ¬çªç°å¢ã§ã¯æé垯ããšã®ãã©ãã£ãã¯ãåæããäžã§Podãã¹ã±ãŒã«ã€ã³ããããšã§ãäœåãªVMã³ã¹ããåæžããæ¹éã«æ±ºå®ããŸããã KEDAãå°å
¥ããçµç·¯ ãããŸã§MLOpsãããã¯ã§ã¯Kubernetesæšæºã® Horizontal Pod Autoscaler ïŒä»¥äžãHPAïŒã䜿çšããŠãPodã®ãªãŒãã¹ã±ãŒã«ãè¡ã£ãŠããŸãããããããCompute Engineã®ã³ã¹ãåæžãé²ããäžã§ãæšæºã®HPAã ãã§ã¯å¯Ÿå¿ãé£ãã課é¡ã«çŽé¢ããŸããã æšæºã®HPAã§ã¯å¯Ÿå¿ã§ããªãã£ã課é¡ã¯ã以äžã®2ç¹ã§ãã 1. Podã®å°æ°ã0å°ã«ã§ããªã æšæºã®HPAã§ã¯ãæå°ã§ã1å°ãŸã§ããã¹ã±ãŒã«ã€ã³ã§ããªããããæ·±å€ã鱿«ãªã©ã®æé垯ã«ãPodãç¶æãããGKEã§äœåãªã³ã¹ããçºçããŠããŸããã 2. ã¹ã±ãžã¥ãŒã«ããŒã¹ã®ãªãŒãã¹ã±ãŒã«ãã§ããªã æšæºã®HPAã§ã¯ãã©ãã£ãã¯ããŒã¹ã®ã¹ã±ãŒã«ãå¯èœã§ããããããè² è·ã®å¢å ãæ€ç¥ããŠããPodã®ã¹ã±ãžã¥ãŒãªã³ã°ãèµ·åãå®äºãããŸã§æéãããããããæ¥æ¿ãªè² è·å€åã«ã¯å¯Ÿå¿ã§ãããã¹ã±ãŒã«ã¢ãŠããè² è·ã®å€åã«éã«åããªãããšããããŸãããã®ãããæ¬çªç°å¢ã§ã¯ãã©ãã£ãã¯ã®å€ã鱿«ãåºæºã«Podæ°ãç¶æããå¿
èŠããããããŒã¯æãšæ¯èŒããŠè² è·ã®å°ãªãæé垯ã§ãéå°ãªãªãœãŒã¹ãç¶æãããäœåãªã³ã¹ããçºçããŠããŸããã è§£æ±ºç æšæºã®HPAã®èª²é¡ã解決ããããã«ãMLOpsãããã¯ã§ã¯KEDAãå°å
¥ããŸãããKEDAãæŽ»çšããããšã§æè»ãªã¹ã±ãŒã«èŠä»¶ã«å¯Ÿå¿ã§ããŸããå
·äœçã«ã¯ããéçºã»æ€èšŒã»ãã¹ãç°å¢ã®Podãå€éã鱿«ã®æ¥åæéå€ã«å®å
šåæ¢ããããšãããæ¬çªç°å¢ã®Podãè² è·ã®å°ãªãæé垯ã«åãããŠã¹ã±ãŒã«ã€ã³ããããšããå®çŸã§ããŸãããŸãäºåã«ã¹ã±ãžã¥ãŒã«ãèšå®ã§ããç¹ã¯ã³ã¹ãé¢ä»¥å€ã«ãå©ç¹ããããŸããåŸæ¥ã®éçšã§ã¯ãè² è·è©Šéšæã«æ€èšŒç°å¢ã®Podæ°ãæ¬çªç°å¢ãšåãå°æ°ãŸã§å¢å ããããå Žåãªã©ãäžæçã«Podãã¹ã±ãŒã«ã¢ãŠãããäœæ¥å®äºåŸã«ã¹ã±ãŒã«ã€ã³ããŠããŸããããã®ãšãå®äºåŸã®ã¹ã±ãŒã«ã€ã³ãå¿ãããã¹ã床ã
ãããŸãããã¹ã±ãŒã«ã¢ãŠãã»ã¹ã±ãŒã«ã€ã³ãäºåã«ã¹ã±ãžã¥ãŒã«èšå®ããããšã§ãäœæ¥æŒãã®é²æ¢ã«ãã€ãªãããŸãã KEDAã®å°å
¥ KEDAã®æŠèŠ KEDAã®äž»èŠãªæ©èœãšæ§æã³ã³ããŒãã³ããã玹ä»ããŸãã KEDAã¯æšæºã®HPAã®ä»çµã¿ã掻çšããªãããæ¬¡ã®æ¡åŒµæ©èœãæäŸããæè»ãªã¹ã±ãŒãªã³ã°ãå¯èœã«ããŸãã ãŒãã¹ã±ãŒã« Podãå®å
šã«åæ¢ãã1â0ã0â1ã®ã¹ã±ãŒã«ãå¯èœã ã€ãã³ãããªãã³ãªãªãŒãã¹ã±ãŒã« CPUãã¡ã¢ãªã«å ããŠãã¡ãã»ãŒãžãã¥ãŒã®é·ããAPIãªã¯ãšã¹ãæ°ãªã©ã®å€éšã¡ããªã¯ã¹ãããªã¬ãŒã«ã¹ã±ãŒãªã³ã°ãå¶åŸ¡ã§ããã ã¹ã±ãžã¥ãŒã«ããŒã¹ã®ãªãŒãã¹ã±ãŒã« KEDAã®Custom Resourceã§ãã ScaledObject ã«ãããããã¹ã±ãžã¥ãŒã«ãèšå®ããããšã§ãç¹å®ã®æéåž¯ãææ¥ã«Podæ°ããªãŒãã¹ã±ãŒã«ã§ããã KEDAã®ã¢ãŒããã¯ã㣠次å³ã¯KEDAã®ã¢ãŒããã¯ãã£ãç€ºãæŠå¿µå³ã§ãã KEDAã®å
¬åŒããã¥ã¡ã³ã ããåŒçšããŸãã KEDAã¯Kubernetesæšæºã®HPAãšé£æºããPodã®å°æ°ã0â1ã«ã¹ã±ãŒã«ã§ããæ¡åŒµæ©èœãæäŸããŸãã ScaledObject ãšããã«ã¹ã¿ã ãªãœãŒã¹ã«ãã¹ã±ãŒã«å¯Ÿè±¡ãããªã¬ãŒïŒCPU䜿çšçãã¹ã±ãžã¥ãŒã«ãªã©ïŒãèšå®ã§ããŸããKEDAã¯ãã®èšå®ã«åºã¥ãå€éšã€ãã³ãã宿çã«ç£èŠããå¿
èŠã«å¿ããŠHPAã®äœæãšã¹ã±ãŒã«ãè¡ããŸãã HPAã1ânã®ã¹ã±ãŒã«ãæ
ããKEDAã0â1ã®ã¹ã±ãŒã«ãè£å®ããããšã§ãããæè»ãªãªãŒãã¹ã±ãŒã«ãå¯èœã«ãªããŸãã KEDAã®ã³ã³ããŒãã³ã KEDAã«ã¯3ã€ã®äž»èŠãªã³ã³ããŒãã³ããååšããŸãã å®è£
ã³ã³ããŒãã³ã æ©èœ åœ¹å² keda-operator Kubernetesã®Deploymentã0â1ã«ã¹ã±ãŒã«ããã€ãã³ãããªããšãã¯Podãã¹ã±ãŒã«ã€ã³ãã Agent keda-operator-metrics-apiserver å€éšã¡ããªã¯ã¹ãªã©ã®ã€ãã³ããHPAã«æäŸããã¹ã±ãŒã«ã¢ãŠããæ¯æŽãã Metrics keda-admission ScaledObject ãªã©ã®ãªãœãŒã¹å€æŽãé©çšãããåã«ãèªåçã«ããªããŒã·ã§ã³ãè¡ãã誀ã£ãèšå®ã®é©çšã鲿¢ãã Admission Webhooks KEDAã®å°å
¥ã«ããã³ã¹ãåæžã®è©Šç® KEDAãå©çšãããšãŒãã¹ã±ãŒã«ãšã¹ã±ãžã¥ãŒã«ããŒã¹ã®ãªãŒãã¹ã±ãŒã«ã«ãããCompute Engineã®ã³ã¹ãåæžãå®çŸã§ããŸããäžæ¹ã§KEDAã®ã³ã³ããŒãã³ãã皌åããããã®è¿œå ã³ã¹ããçºçããŸããå°èŠæš¡ãªã¯ã©ã¹ã¿ãPod忢æéãçãå ŽåãKEDAã®è¿œå ã³ã¹ããPod忢ã«ããã³ã¹ãåæžãäžåããããããããŸãããã®ãããå°å
¥åã«æåŸ
ãããã³ã¹ãåæžå¹æãèŠç©ããããšãéèŠã§ãã KEDAå°å
¥ã«ããé±ãããã®Compute Engineã®åæžã³ã¹ãã¯ã次ã®åŒã§èŠç©ãããŸããã KEDAå°å
¥ã«ããCompute Engineã®åæžã³ã¹ã = Compute Engineã®ã³ã¹ã ÃïŒé±ãããã®åæ¢æé / 168hïŒ- KEDAã®éçšã³ã¹ã MLOpsãããã¯ã§ã¯ãä¿å®ããŠãã52åã®APIã®ãã¡ãéçºã»æ€èšŒã»ãã¹ãç°å¢ã«ãã38åã®APIã«å¯Ÿå¿ããPodïŒ38å°ïŒã察象ãšããŸããã ãããã®Podã¯ãå¹³æ¥å€éïŒ1æ¥8æé à 平æ¥5æ¥éïŒãšãåæ¥çµæ¥ïŒ1æ¥24æé Ã äŒæ¥2æ¥éïŒã®çšŒåãäžèŠãªãããé±ãããåèš88æéåãåæ¢å¯Ÿè±¡ãšããŠããŸãã38å°ã®Podã察象ã«åæ¢ããããšã§ãé±ããã3,344PodæéïŒ38å° Ã 88æéïŒã®åæžå¹æãèŠèŸŒããŸãã äžæ¹ã§ãKEDAã®éçšã«ã¯ãéçºã»æ€èšŒã»ãã¹ãã§Podã15å°å¿
èŠã§ãããã®ãããé±ãããã®KEDAã®éçšã³ã¹ãã¯2,520PodæéïŒ15å° Ã 24æé à 7æ¥ïŒãšãªããŸãã 以äžããé±ããã824Podæéã®åæžãšãªããŸãã å ããŠAPIã皌åããNodeã¯ãKEDAã皌åããNodeãããé«ã¹ããã¯ãªãã·ã³ã¿ã€ããèŠæ±ããNodeãå€ããããŸãããã®ããå®éã®åæžã³ã¹ãã¯Podæé以äžã®å¹æãèŠèŸŒããŸãã ããã«ãMLOpsãããã¯ã§ã¯ã¢ãã¿ãªã³ã°ã« Datadog ã䜿çšããŠããŸããDatadog Agentã¯DaemonSetãšããŠåNodeäžã§åžžã«åäœããŠãããããèµ·åäžã®Nodeããšã«ã¢ãã¿ãªã³ã°ã³ã¹ããçºçããŸããKEDAã«ãã£ãŠäžèŠãªæé垯ã®Podã忢ãããããšã§ãDatadogã®ã¢ãã¿ãªã³ã°å¯Ÿè±¡ãªãœãŒã¹ãåæžãããDatadogã®ã³ã¹ãåæžã«ãã€ãªãããŸãã ãããã®çµæãããKEDAã®å°å
¥ã¯Compute Engineããã³Datadogã®äž¡é¢ã§ãååãªã³ã¹ãåæžå¹æãèŠèŸŒãããšå€æããŸããã KEDAã®å°å
¥æ¹æ³ ããããã¯å
·äœçãªKEDAã®å°å
¥æ¹æ³ã説æããŸãã æ¬¡ã®é
ç®ã«ã€ããŠå®éã®ã³ãŒãã亀ããŠè§£èª¬ããŸãã ã€ã³ã¹ããŒã«æ¹æ³ Podã®ãªãœãŒã¹èšå®ãšåé·å ScaledObject ã®èšå® ã¹ã±ãžã¥ãŒã«ããŒã¹ã®ããªã¬ãŒèšå® CPUããªã¬ãŒã®èšå® ã¹ã±ãžã¥ãŒã«ã»CPU䜿çšçãçµã¿åãããããªã¬ãŒèšå® ã€ã³ã¹ããŒã«æ¹æ³ KEDAã䜿çšããã«ã¯ãKEDAã®Custom OperatorãKubernetesã¯ã©ã¹ã¿ã«è¿œå ããå¿
èŠããããŸãã ã€ã³ã¹ããŒã«æ¹æ³ã«ã€ããŠã¯ã å
¬åŒããã¥ã¡ã³ã ãåèã«ããŸããããŸããKEDAã®ããŒãžã§ã³ãšKubernetesã®äºææ§ã«ã€ããŠã¯ã KEDAå
¬åŒããã¥ã¡ã³ãïŒGitHubïŒ ãäºåã«åç
§ããŠãã ãããMLOpsãããã¯ã§ã¯Kubernetes v1.30 ç³»ã䜿çšããŠãããKEDA v2.16.0 ãšã®äºææ§ã確èªããäžã§å°å
¥ããŸããã KEDAã®ã€ã³ã¹ããŒã«æ¹æ³ã«ã¯ããããã§ã¹ããçŽæ¥é©çšããæ¹æ³ãš kustomize ãå©çšããŠç°å¢ããšã«ç®¡çããæ¹æ³ã®2ã€ããããŸãã ãããã§ã¹ããçŽæ¥é©çšããæ¹æ³ æ¬¡ã®ã³ãã³ãã§KEDA v2.16.0 ãKubernetesã¯ã©ã¹ã¿ã«ã€ã³ã¹ããŒã«ã§ããŸãããã®æäœã«ããKEDAã®Custom Resource DefinitionïŒCRDïŒãCustom Controllerãé¢é£ãªãœãŒã¹ãäœæãã keda åå空éã«ãããã€ãããŸãããŸã ScaledJob ã®CRDã¯ãµã€ãºã倧ãããã¯ã©ã€ã¢ã³ãåŽã§åŠçããããªãããã以äžã®ããã« --server-side ãæå®ããŠKubernetes APIãµãŒããŒåŽã§é©çšããå¿
èŠããããŸãã > kubectl apply --server-side -f https://github.com/kedacore/keda/releases/download/v2. 16 . 0 /keda-2. 16 . 0 .yaml namespace/keda serverside-applied customresourcedefinition.apiextensions.k8s.io/cloudeventsources.eventing.keda.sh serverside-applied customresourcedefinition.apiextensions.k8s.io/clustercloudeventsources.eventing.keda.sh serverside-applied customresourcedefinition.apiextensions.k8s.io/clustertriggerauthentications.keda.sh serverside-applied customresourcedefinition.apiextensions.k8s.io/scaledjobs.keda.sh serverside-applied customresourcedefinition.apiextensions.k8s.io/scaledobjects.keda.sh serverside-applied customresourcedefinition.apiextensions.k8s.io/triggerauthentications.keda.sh serverside-applied serviceaccount/keda-operator serverside-applied role.rbac.authorization.k8s.io/keda-operator serverside-applied clusterrole.rbac.authorization.k8s.io/keda-external-metrics-reader serverside-applied clusterrole.rbac.authorization.k8s.io/keda-operator serverside-applied rolebinding.rbac.authorization.k8s.io/keda-operator serverside-applied rolebinding.rbac.authorization.k8s.io/keda-auth-reader serverside-applied clusterrolebinding.rbac.authorization.k8s.io/keda-hpa-controller-external-metrics serverside-applied clusterrolebinding.rbac.authorization.k8s.io/keda-operator serverside-applied clusterrolebinding.rbac.authorization.k8s.io/keda-system-auth-delegator serverside-applied service/keda-admission-webhooks serverside-applied service/keda-metrics-apiserver serverside-applied service/keda-operator serverside-applied deployment.apps/keda-admission serverside-applied deployment.apps/keda-metrics-apiserver serverside-applied deployment.apps/keda-operator serverside-applied apiservice.apiregistration.k8s.io/v1beta1.external.metrics.k8s.io serverside-applied validatingwebhookconfiguration.admissionregistration.k8s.io/keda-admission serverside-applied kustomize ã䜿çšããæ¹æ³ MLOpsããŒã ã§ã¯ãKEDAã®ãããã§ã¹ãã«å¯ŸããŠç°å¢ããšã®ããããé©çšã§ããããã«ããããã kustomize ãæŽ»çšããKEDAãã€ã³ã¹ããŒã«ããŸããã kustomize ã¯ãããŒã¹ãšãªããããã§ã¹ããšç°å¢ããšã®å·®åã管çããããŒã«ã§ããç°å¢å·®åã®ããããããŒã¹ãããã§ã¹ãã«é©çšããããšã§ãåç°å¢ã«å¯Ÿå¿ãããããã§ã¹ããçæã»ç®¡çããŸãã kustomization.yaml ã«ä»¥äžã®ããã¥ãã§ã¹ããèšèŒãã kustomize build ã§çæãããããã§ã¹ãã kubectl apply ããããšã§KEDAãã€ã³ã¹ããŒã«ã§ããŸãã apiVersion : kustomize.config.k8s.io/v1beta1 kind : Kustomization namespace : keda resources : - https://github.com/kedacore/keda/releases/download/v2.16.0/keda-2.16.0.yaml Podã®ãªãœãŒã¹èšå®ãšåé·å KEDAã®åã³ã³ããŒãã³ãã«å¯ŸããŠãã³ã³ããã«å²ãåœãŠãCPUã»ã¡ã¢ãªã®é
åãšæ°Žå¹³ã¹ã±ãŒã«ã«ããåé·åã®æ§æå€ãé©åã«èšå®ããå¿
èŠããããŸãã MLOpsãããã¯ã§ã¯ã KEDAã®å
¬åŒããã¥ã¡ã³ã ã«èšèŒãããŠããèšå®å€ãåºæºã«ãã€ã€ãæ¬çªç°å¢ã«é©ãããªãœãŒã¹é
åãšåé·åæ§æãæ¡çšããŸããã Podã®ãªãœãŒã¹èšå® CPUã»ã¡ã¢ãªã®äœ¿çšçã«ã¯äœè£ãããããããã©ã«ãã®èšå®å€ãé©çšããŸãããCPUã»ã¡ã¢ãªã®äœ¿çšç¶æ³ã確èªããå¿
èŠã«å¿ããŠResource RequestsãšResource Limitsã調æŽããŠãã ããã pod CPU (Limits/Request) Memory (Limits/Request) keda-admission 1 core / 1 core 1000Mi / 1000Mi keda-metrics-apiserver 1 core / 1 core 1000Mi / 1000Mi keda-operator 1 core / 1 core 1000Mi / 1000Mi åé·åã®èšå® äžæ¹ãKEDAã®åé·åèšå®ã¯éçºã»æ€èšŒã»ãã¹ãã®åç°å¢ãããã³æ¬çªç°å¢ã§ç°ãªãå€ãèšå®ããŸããã KEDAã®å
¬åŒããã¥ã¡ã³ã ã§ã¯ãé«å¯çšæ§ãèæ
®ããæ§æãšã㊠keda-metrics-apiserver ã¯1å°ã keda-operator ã¯2å°ãæšå¥šãããŠããŸããéçºã»æ€èšŒã»ãã¹ãç°å¢ã¯ãã®å€ã䜿çšããæ¬çªç°å¢ã§ã¯ãããªãå¯çšæ§åäžã®ãããã©ã¡ãã3å°æ§æãæ¡çšããŸããã pod éçºç°å¢ æ€èšŒç°å¢ ãã¹ãç°å¢ æ¬çªç°å¢ keda-admission 1å°æ§æ 1å°æ§æ keda-metrics-apiserver 2å°ãAZ忣 3å°æ§æãAZ忣 keda-operator 2å°ãAZ忣 3å°æ§æãAZ忣 以äžã¯éçºã»æ€èšŒã»ãã¹ãã®åç°å¢ã«ãããKEDAã³ã³ããŒãã³ãã®Deploymentæ§æã§ãã apiVersion : apps/v1 kind : Deployment metadata : name : keda-admission namespace : keda spec : replicas : 1 template : spec : containers : - name : keda-admission-webhooks resources : requests : cpu : 1000m memory : 1Gi limits : cpu : 1000m memory : 1Gi affinity : nodeAffinity : requiredDuringSchedulingIgnoredDuringExecution : nodeSelectorTerms : - matchExpressions : - key : cloud.google.com/gke-nodepool operator : In values : - <nodepoolå> tolerations : - key : "dedicated" operator : "Equal" value : <nodepoolå> effect : "NoSchedule" apiVersion : apps/v1 kind : Deployment metadata : name : keda-metrics-apiserver namespace : keda spec : replicas : 2 template : spec : containers : - name : keda-metrics-apiserver resources : requests : cpu : 1000m memory : 1Gi limits : cpu : 1000m memory : 1Gi affinity : nodeAffinity : requiredDuringSchedulingIgnoredDuringExecution : nodeSelectorTerms : - matchExpressions : - key : cloud.google.com/gke-nodepool operator : In values : - <nodepoolå> tolerations : - key : "dedicated" operator : "Equal" value : <nodepoolå> effect : "NoSchedule" apiVersion : apps/v1 kind : Deployment metadata : name : keda-operator namespace : keda spec : replicas : 2 template : spec : containers : - name : keda-operator resources : requests : cpu : 1000m memory : 1Gi limits : cpu : 1000m memory : 1Gi affinity : nodeAffinity : requiredDuringSchedulingIgnoredDuringExecution : nodeSelectorTerms : - matchExpressions : - key : cloud.google.com/gke-nodepool operator : In values : - <nodepoolå> tolerations : - key : "dedicated" operator : "Equal" value : <nodepoolå> effect : "NoSchedule" æ¬çªç°å¢ã§ã¯ãäžèšã®ãããã§ã¹ãã«å¯Ÿã㊠kustomize ã䜿çšããŠããããåœãŠãããšã§ç°å¢ããšã«ç°ãªãèšå®å€ãäžæžãããŠé©çšããŠããŸãã æ¬¡ã®èšè¿°ã¯ kustomize ã䜿çšããŠæ¬çªç°å¢ã«é©çšãããããå
容ã§ãã apiVersion : apps/v1 kind : Deployment metadata : name : keda-metrics-apiserver namespace : keda spec : replicas : 3 apiVersion : apps/v1 kind : Deployment metadata : name : keda-operator namespace : keda spec : replicas : 3 äžèšãããã§ã¹ããé©çšããããšã§ keda-metrics-apiserver ãš keda-operator ã3å°ã§æ§æã§ããåé·åã§ããŸãã ã¹ã±ãžã¥ãŒã«ããŒã¹ã®ããªã¬ãŒèšå® ScaledObject ã«æ¬¡ã®ãããã§ã¹ããé©çšãããšãç¹å®ã®æéã«PodããªãŒãã¹ã±ãŒã«ã§ããŸãããã®ç¯ã§ã¯äž»èŠãªèšå®ã®ã¿ãæç²ããŠããŸãã詳现ãªèšå®æ¹æ³ã¯ã å
¬åŒããã¥ã¡ã³ã ãåç
§ããŠãã ããã spec : scaleTargetRef : name : <deployment-name> # ã¹ã±ãŒã«å¯Ÿè±¡ã®Deploymentå minReplicaCount : 0 # æå°Replicaæ°ã0ã«èšå®ïŒãŒãã¹ã±ãŒã«ãæå¹åïŒ maxReplicaCount : 3 # æå€§Replicaæ°ã3ã«èšå® triggers : - type : cron metadata : timezone : Asia/Tokyo # ã¿ã€ã ãŸãŒã³ãæå® start : 0 7 * * 1-5 # å¹³æ¥ã®åå7æã«ã¹ã±ãŒãªã³ã°ãéå§ end : 0 23 * * 1-5 # å¹³æ¥ã®ååŸ23æã«ã¹ã±ãŒãªã³ã°ãçµäº desiredReplicas : "1" # ã¹ã±ãŒã«ã¢ãŠãæã®Podæ° ãŒãã¹ã±ãŒã«æã«æ³šæãã¹ãPDBã®èšå® KEDAã§PodããŒãã¹ã±ãŒã«ãããå ŽåãPodDisruptionBudgetïŒPDBïŒã®èšå®ãèŠçŽãå¿
èŠããããŸããPDBãšã¯ãKubernetesã«ãããŠåžžã«æäœé皌åãããŠããã¹ãPodæ°ãä¿èšŒããããã®ä»çµã¿ã§ãã PDBã® minAvailable ã«1以äžãèšå®ãããŠãããšããæäœã§ã1ã€ã®Podã皌åãããããšããå¶çŽãåããããPodã®ãŒãã¹ã±ãŒã«ããããã¯ãããŸãã ãã®ãããéçºã»æ€èšŒã»ãã¹ãç°å¢ãªã©ã§ãŒãã¹ã±ãŒã«ãå®çŸãããå Žåã¯ãPDBã® minAvailable ã0ã«èšå®ããŠããå¿
èŠããããŸãã CPU䜿çšçã«å¿ããããªã¬ãŒèšå® HPAãšåæ§ã«CPU䜿çšçãããªã¬ãŒãšããã¹ã±ãŒã«ãå¯èœã§ãã è² è·ã«å¿ããŠPodãã¹ã±ãŒã«ããã«ã¯ã次ã®ãããã§ã¹ãã®ããã«CPUããªã¬ãŒãèšå®ããŸãããã®èšå®ã«ãããCPU䜿çšçã50ïŒ
ãè¶
ãããšPodãèªåçã«ã¹ã±ãŒã«ã¢ãŠãããŸãã triggers : - type : cpu metricType : Utilization metadata : value : "50" # CPU䜿çšçã50%ãè¶
ããå Žåã«ã¹ã±ãŒã«ã¢ãŠã ã¹ã±ãžã¥ãŒã«ã»CPU䜿çšçãçµã¿åãããããªã¬ãŒèšå® Cronããªã¬ãŒãšCPUããªã¬ãŒãçµã¿åãããæçµç㪠ScaledObject ã®æ§æã¯æ¬¡ã®ãããã§ã¹ãã«ãªããŸãã ãã®æ§æã«ãããæ¬¡ã®ãªãŒãã¹ã±ãŒã«ãå®çŸã§ããŸãã å€éïŒ23:00ã07:00ïŒ PodããŒãã¹ã±ãŒã«ããäœåãªãªãœãŒã¹æ¶è²»ãæããã æ¥äžïŒ07:00ã23:00ïŒ æäœ1ã€ã®Podãç¶æããCPU䜿çšçã50ïŒ
以äžã«ãªããšã¹ã±ãŒã«ã¢ãŠãããŠè² è·ã«å¯Ÿå¿ããã apiVersion : keda.sh/v1alpha1 kind : ScaledObject metadata : name : <scaledobject-name> # ScaledObjectã®ååãæå® namespace : keda # 察象ã®Namespaceãæå® spec : scaleTargetRef : name : <deployment-name> # ã¹ã±ãŒã«å¯Ÿè±¡ã®Deploymentå minReplicaCount : 0 # æå°Replicaæ°ã0ã«èšå®ïŒãŒãã¹ã±ãŒã«ãæå¹åïŒ maxReplicaCount : 3 # æå€§Replicaæ°ã3ã«èšå® triggers : - type : cpu metricType : Utilization metadata : value : "50" # CPU䜿çšçã50%ãè¶
ããå Žåã«ã¹ã±ãŒã«ã¢ãŠã - type : cron metadata : timezone : Asia/Tokyo # ã¿ã€ã ãŸãŒã³ãæå® start : 0 7 * * 1-5 # å¹³æ¥ã®åå7æã«ã¹ã±ãŒãªã³ã°ãéå§ end : 0 23 * * 1-5 # å¹³æ¥ã®ååŸ23æã«ã¹ã±ãŒãªã³ã°ãçµäº desiredReplicas : "1" # ã¹ã±ãŒã«ã¢ãŠãæã®Podæ° KEDAå°å
¥æã®æ³šæç¹ KEDAãå°å
¥ããéãMLOpsãããã¯ãç¹ã«æ³šæãããã€ã³ããã玹ä»ããŸãã æ¢åã®HPAç¡å¹åæã®Pod調æŽãšå°å
¥ã¿ã€ãã³ã° KEDAãå°å
¥ããéããã§ã«HPAãé©çšãããŠããç°å¢ã§ã¯ç«¶åãçºçããŸããããã¯KEDAãå
éšçã«HPAãçæã»ç®¡çããä»çµã¿ãæã£ãŠããããã§ãããã®ãããKEDAãå°å
¥ããåã«æ¢åã®HPAãç¡å¹åããå¿
èŠããããŸãã ãã ããHPAãç¡å¹åãããšKEDAãå°å
¥ãããŸã§ã®éPodæ°ãåºå®ããè² è·å€åã«å¯Ÿå¿ã§ããªããªããŸããç¹ã«æ¬çªç°å¢ã§ã¯å¯çšæ§ã»ããã©ãŒãã³ã¹ã®èгç¹ããæ
éãªå¯Ÿå¿ãæ±ããããŸãããã®ããHPAãç¡å¹åããåã« minReplicas ãé©åã«èšå®ãã¹ã±ãŒã«ã¢ãŠãããŠããããšã§ãæ¥æ¿ãªãªã¯ãšã¹ãå¢å ã«åããå¿
èŠããããŸãã ãããã®ç¹ãèæ
®ããHPAç¡å¹ååã«ã minReplicas ã®èŠçŽããè¡ããŸããããã©ãã£ãã¯ã®ããŒã¯æã«ã察å¿ã§ããããã«ãçŸåšã®æ§æã§èš±å®¹å¯èœãªãªã¯ãšã¹ãæ°ã«å¯ŸããŠãçŽè¿1é±éã®æå€§ãªã¯ãšã¹ãæ°ãäžåããæ¥è¿ããŠããå Žåã« minReplicas ãå¢å ãããŸããã ããã«ãç§»è¡æã®ãšã©ãŒãæå°éã«æãããããHPAã®ç¡å¹åããKEDAã®é©çšãŸã§ã®äžé£ã®äœæ¥ãããã©ãã£ãã¯ãå°ãªãååäžã«é©çšã宿œããŸããã KEDAã®å°å
¥å¹æã»ã¡ãªãã å°å
¥ã«ããã³ã¹ãåæž MLOpsãããã¯ã§ã¯éçºã»æ€èšŒã»ãã¹ãç°å¢ã«ãããŠåèšã§38åã®APIã«å¯ŸããŠKEDAãæŽ»çšããå€éããã³åæ¥çµæ¥ã«Pod忢ã宿œããŸããããã®æœçã«ããCompute Engineã®ã³ã¹ãã倧å¹
ã«åæžã§ããŸããã åæžé¡ã®ç®åº 以äžã®ç®åºé¡ã¯ãŒãã¹ã±ãŒã«ã«ããCompute Engineã®åæžåã®ã¿ã察象ãšããŠãããã¢ãã¿ãªã³ã°ããŒã«ã®ã³ã¹ãåæžãæ¬çªç°å¢ã®ãªãœãŒã¹æé©åã¯å«ãŸããŠããŸããã KEDAå°å
¥ååŸã®æ¯èŒã§ã¯ãå¹³æ¥ã®Compute Engineã³ã¹ãã¯çŽ27ïŒ
åæžãããŸããããŸããäŒæ¥ïŒåæ¥ïŒã«ãããŠã¯çŽ45ïŒ
ã®åæžå¹æãèŠãããŸããã 1 幎éã®ã³ã¹ãåæžå¹æ Compute Engine ã®ã³ã¹ãåæž åºå åæžç å¯Ÿè±¡æ¥æ°ïŒå¹ŽéïŒ å¹³æ¥ çŽ27% 261æ¥ äŒæ¥ïŒåæ¥ïŒ çŽ45% 104æ¥ KEDAã®å°å
¥ã«ãã0å°ãžã®ã¹ã±ãŒã«ã€ã³ãã§ããããã«ãªããŸãããããã«ãã皌åããŠããªãæé垯ã«ããã£ãŠããCompute Engineã®ã³ã¹ãã倧å¹
ã«åæžã§ããŸããã Datadog ã®ã³ã¹ãåæž ã¢ãã¿ãªã³ã°å¯Ÿè±¡ãªãœãŒã¹ã®åæžã«ãããDatadogã®ã³ã¹ããçŽ40ïŒ
åæžããã广ããããŸããã KEDAå°å
¥åŸã®èª²é¡ãšè§£æ±ºç KEDAå°å
¥åŸã«ããã€ãã®èª²é¡ãçºçããŸããããããã®èª²é¡ãšè§£æ±ºçã玹ä»ããŸãã å€åœ¢ç£èŠã®èª²é¡ãšè§£æ±ºç MLOpsããŒã ã§ã¯ããµãŒãã¹ã®å¯çšæ§ãæ
ä¿ãããããå€éšãã宿çã«ãªã¯ãšã¹ãããŠAPIã®å¿çç¶æ³ã確èªããå€åœ¢ç£èŠãå°å
¥ããŠããŸããKEDAã«ãã£ãŠPodæ°ã0ã«ã¹ã±ãŒã«ããŠã³ããŠããéã«å€åœ¢ç£èŠãç¶ç¶ãããšãªã¯ãšã¹ãã倱æããäžèŠãªã¢ã©ãŒããçºçããŸãã ãã®åé¡ãåé¿ããããã«ãAPIã®å€åœ¢ç£èŠã ScaledObject ã®ããªã¬ãŒãšåãã¹ã±ãžã¥ãŒã«ã§åæ¢ããããã«èšå®ããŠããŸãããããããPodæ°ã0å°ã®ç¶æ
ããèµ·åããéãPodã®ã¹ã±ãžã¥ãŒãªã³ã°ãã³ã³ããã®ç«ã¡äžãã«æéãèŠããããå€åœ¢ç£èŠã®ãªã¯ãšã¹ãã«éã«åããŸããã§ãããäŸãã°ã7:00ã«å€åœ¢ç£èŠãéå§ããèšå®ã®å Žåãåãã¿ã€ãã³ã°ã§APIãã¹ã±ãŒã«ã¢ãŠãããŠããã³ã³ãããReadyç¶æ
ã«ãªãAPIãã¬ã¹ãã³ã¹ãè¿ããã®ã¯7:10é ã«ãªããŸãããã®çµæãå€åœ¢ç£èŠãPodã®èµ·ååã«éå§ãããã¢ã©ãŒãã®èª€å ±ãçºçããŸããã ãã®åé¡ã解決ãããããAPIããšã«ç°ãªãèµ·åæéãèæ
®ããå€åœ¢ç£èŠãéå§ããããŸã§ã«ç¢ºå®ã«PodãReadyã«ãªãããã« ScaledObject ã®èšå®ãããæ©ãæéã«èª¿æŽããŸãããããã«ããPodã®èµ·åãå®äºããŠããå€åœ¢ç£èŠãè¡ããããã«ãªããäžèŠãªã¢ã©ãŒãã®çºçãé²ãããšãã§ããŸããã å€åœ¢ç£èŠã«å ããèªããŒã ã管çãã以å€ã®ãµãŒãã¹ããéä¿¡ããããªã¯ãšã¹ããèæ
®ããå¿
èŠããããŸãããKEDAã®å°å
¥åã¯å¶æ¥æéå€ã«ã¯APIã䜿çšããªããããPodã忢ããŠãåé¡ãªããšæ³å®ããŠããŸãããããããå®éã«ã¯èªããŒã ã管çãã以å€ã®ä»ã®APIããã®ãªã¯ãšã¹ããèŠèœãšããŠããPod忢äžã«ãªã¯ãšã¹ããã¿ã€ã ã¢ãŠãããããšã§ã¢ã©ãŒããçºçãããŠããŸããŸããã ããã解決ããããã«ããªã¯ãšã¹ããçºçããæé垯ã«åãããŠãPodã®åæ¢ããã³èµ·åã®ã¿ã€ãã³ã°ã調æŽããŸãããããã«ãä»ããŒã ã®APIãªã¯ãšã¹ãããã®æé垯ã«éãªããªãããããªã¯ãšã¹ãã®éä¿¡ã¿ã€ãã³ã°ã調æŽããŠãããããšã§å¯Ÿå¿ããŸããã Argo Rolloutsã§KEDAãé©çšããããã®èšå®å€æŽ MLOpsãããã¯ã§ã¯ãKubernetesäžã§ããã°ã¬ãã·ãããªããªãŒãå®çŸããããã«ãã«ããªã¢ãªãªãŒã¹ããµããŒããã Argo Rollouts ã䜿çšããŠããŸããArgo Rolloutsã«ã€ããŠã¯ãèšæž¬SREããŒã ã®èšäºã§ãè§ŠããããŠããŸãã®ã§ãã²ãã¡ãããåç
§ãã ããã techblog.zozo.com éåžžãKEDAã§ã¯ Deployment ãã¹ã±ãŒã«å¯Ÿè±¡ãšããå Žå㯠scaleTargetRef ã« name ã®ã¿ãæå®ããã°ããã apiVersion ã kind ãçç¥ã§ããŸããäžæ¹ã§ã Rollout ã®ãããªã«ã¹ã¿ã ãªãœãŒã¹ã察象ãšããã«ã¯ scaleTargetRef ã« apiVersion ãš kind ãæç€ºçã«æå®ããå¿
èŠããããŸãã ãã®ãããArgo Rolloutsã®CustomResourceã§ããã Rollout ãªãœãŒã¹ãé©çšããã«ã¯ãã¹ã±ãŒã«å¯Ÿè±¡ã®æå®æ¹æ³ã倿Žããå¿
èŠããããŸããã èšå®äŸã¯ä»¥äžã®éãã§ãã spec : scaleTargetRef : apiVersion : argoproj.io/v1alpha1 kind : Rollout name : <rollout-name> # ã¹ã±ãŒã«å¯Ÿè±¡ã®Rolloutå ä»åŸã®å±æ ä»åã¯éçºã»æ€èšŒã»ãã¹ãç°å¢ã察象ã«KEDAã®å°å
¥ã«ããå€éã»äŒæ¥ã®Podæ°ã®åæžã宿œããã³ã¹ãåæžããŸãããäžæ¹ã§æ¬çªç°å¢ã§ã¯æšæºã®HPAããKEDAã® ScaledObject ã«çœ®ãæããã®ã¿ã§ãã¹ã±ãžã¥ãŒã«ããŒã¹ã§ã®ãªãŒãã¹ã±ãŒã«ã«ããã³ã¹ãåæžã¯æªçæã§ãã çŸåšã®æ¬çªç°å¢ã§ã¯æé垯ããšã®ãã©ãã£ãã¯ã«å¿ããPodå°æ°èª¿æŽãã§ããŠããªããããäœå°ãªãªãœãŒã¹ãæ®ã£ãŠããŸããå
·äœçã«ã¯å¹³æ¥ææ¹ãªã©ã®ãã©ãã£ãã¯ãå°ãªãæé垯ã§ããå¿
èŠä»¥äžã®Podå°æ°ãç¶æãããŠããç¶æ³ã§ããä»åŸã¯æé垯ããšã®ãã©ãã£ãã¯ãåæããå®éã®è² è·ã«å¿ããã¹ã±ãŒãªã³ã°ã«ãŒã«ãé©çšããããšã§äœåãªãªãœãŒã¹ã®åæžãšæé©ãªã¹ã±ãŒãªã³ã°ãå®çŸããŠãããŸãã ãŸãšã æåŸãŸã§ãèªã¿ããã ãããããšãããããŸãããæ¬èšäºã§ã¯KEDAãå°å
¥ããç®çã广ã«å ããå°å
¥ã«éããŠã®èª²é¡ãå®å
šã«æ¬çªç°å¢ãžé©çšããããã®å·¥å€«ããç¹ãã玹ä»ããŸãããKEDAã®å°å
¥ã«ãããMLOpsãããã¯ã§ã¯GKEã«ããã倧å¹
ãªã³ã¹ãåæžã«æåããŸããããŸãKEDAã®ã¹ã±ãžã¥ãŒã«ããŒã¹ã®ãªãŒãã¹ã±ãŒã«ã«ããéçšè² è·ã®äœæžã«ãç¹ãããŸãããæ¬èšäºãçæ§ã®ã圹ã«ç«ãŠã°å¹žãã§ãã æåŸã«ãªããŸãããZOZOã§ã¯äžç·ã«ãµãŒãã¹ãäœãäžããŠãããæ¹ãåéäžã§ããMLOpsãããã¯ã§ãçµ¶è³æ¡çšãè¡ã£ãŠããããããèå³ããæ¹ã¯ä»¥äžã®ãªã³ã¯ãããã²ãå¿åãã ããã hrmos.co æ¬è©Šç®ã¯ãŒãã¹ã±ãŒã«å¯Ÿè±¡ã®dev/stg/qaç°å¢ã®ã¿ã忝ãšããŠèšç®ããŠããŸã ↩
ã¯ããã« ããã«ã¡ã¯ïŒãWEARããã¯ãšã³ãéšããã¯ãšã³ããããã¯ã®å°å³¶ïŒ @KojimaNaoyuki ïŒã§ããæ®æ®µã¯åŒç€ŸãµãŒãã¹ã§ããWEARã®ããã¯ãšã³ãéçºã»ä¿å®ãæ
åœããŠããŸãã WEARã®ããã¯ãšã³ãã¯Rubyã§åäœããŠãããRuby 3.3.6ã«ã¢ããããŒãããããšãæ©ã«YJITãæå¹åããŸãããæ¬èšäºã§ã¯WEARã«YJITãå°å
¥ããéã®å¹æãšãã®èå¯ãã玹ä»ããŸãã ç®æ¬¡ ã¯ããã« ç®æ¬¡ YJITãšã¯ ããã©ãŒãã³ã¹èšæž¬æ¡ä»¶ äºåæºå æ¬çªç°å¢ã®èšæž¬çµæ èªå¯ãµãŒã㌠ã¬ã¹ãã³ã¹ã¿ã€ã ïŒ99th percentileïŒ ã¡ã¢ãªäœ¿çšé ãªãœãŒã¹ãµãŒã㌠ã¬ã¹ãã³ã¹ã¿ã€ã ïŒ99th percentileïŒ ã¡ã¢ãªäœ¿çšé èšæž¬çµæã«ã€ããŠã®èå¯ ãªãœãŒã¹ãµãŒããŒã®ã¡ã¢ãªäœ¿çšéã®å¢å ã倧ããããšã«ã€ã㊠ããã«YJITã广çã«äœ¿ãã«ã¯ ãŸãšã åèæç® ãç¥ãã YJITãšã¯ YJITã¯JITã³ã³ãã€ã©ã®äžçš®ã§ãRubyã®åŠçé床ã®åäžãå³ããã®ã§ããå€ãã®äŒæ¥ã§ããã©ãŒãã³ã¹ã®åäžãå ±åãããŠããŸããäžæ¹ã§ãã·ã³ã³ãŒãããã®ã¡ã¿ããŒã¿ãã¡ã¢ãªã«ä¿ç®¡ãããããã¡ã¢ãªäœ¿çšéã®å¢å ã«ã¯æ³šæãå¿
èŠã§ãã詳ãã㯠YJIT README ãã芧ãã ããã ããã©ãŒãã³ã¹èšæž¬æ¡ä»¶ Ruby 3.3.6 YJITç¡å¹åç¶æ
ãšRuby 3.3.6 YJITæå¹åç¶æ
ã§APIã®ããã©ãŒãã³ã¹èšæž¬ã宿œããŠããããæ¯èŒããŸããã --yjit-exec-mem-size ãªã©ã®ããã©ãŒãã³ã¹ã«åœ±é¿ãããªãã·ã§ã³ã¯ããã©ã«ãèšå®ã®ãŸãŸå®æœããŸããã WEARãæ§æããã·ã¹ãã ã®äžã§ãRailsã§æ§ç¯ããŠããèªå¯ãµãŒããŒãšãªãœãŒã¹ãµãŒããŒãååšããŠãããä»åã¯ãã®2ã€ã§èšæž¬ããŸããããŸããããããã®èŠæš¡ã瀺ããããã³ãŒãè¡æ°ã®æŠç®ã以äžã«ç€ºããŸãã èªå¯ãµãŒããŒ: 1,000 ~ 5,000è¡çšåºŠ ãªãœãŒã¹ãµãŒããŒ: 300,000è¡çšåºŠ äºåæºå äºåæºåãšããŠãæ¬çªç°å¢ãžé©çšããåã«ã¹ããŒãžã³ã°ç°å¢ã§YJITãæå¹åããããã©ãŒãã³ã¹èšæž¬ã宿œããŸããã çµæãã¬ã¹ãã³ã¹ã¿ã€ã ãæ¹åããã¡ã¢ãªäœ¿çšéãªã©ãéåºŠã«æªåããããšã¯ãããŸããã§ãããããããYJITã¯é »ç¹ã«å©çšãããã³ãŒããã³ã³ãã€ã«ããŠã¡ã¢ãªã«ä¿åãããããæ¬çªç°å¢ã«æ¯ã¹ãŠæ¥µç«¯ã«ãªã¯ãšã¹ãæ°ãå°ãªãã¹ããŒãžã³ã°ç°å¢ã§ã¯æ£ç¢ºãªæ€èšŒãã§ããŠããŸããã§ããã å®éã«ããªãœãŒã¹ãµãŒããŒã«ãããŠã¹ããŒãžã³ã°ç°å¢ã§ã¯ã¡ã¢ãªäœ¿çšéã13ïŒ
å¢å ã«çãŸã£ãŠããŸããããæ¬çªç°å¢ã§ã¯31ïŒ
ãã®å¢å ïŒè©³ããçµæã¯åŸè¿°ïŒãããŠããŸããŸããããããåé¿ããããã«ã¯ãè² è·è©ŠéšããŒã«ãªã©ãå©çšããŠæ¬çªåæ§ã«æ§ã
ãªAPIããªã¯ãšã¹ãããããšã§ããæ£ç¢ºãªæ€èšŒãå¯èœãšæããŸãã æ¬çªç°å¢ã®èšæž¬çµæ å®éã«æ¬çªç°å¢ã§YJITãæå¹åããéã®å¹æãã玹ä»ããŸãã äžé±éã®å¹³åå€ãYJITç¡å¹åç¶æ
ãšYJITæå¹åç¶æ
ã«åããããããã¬ã¹ãã³ã¹ã¿ã€ã ãšã¡ã¢ãªäœ¿çšéãèšæž¬ããŸããã çµæã¯ãèªå¯ãµãŒããŒã«ãããŠå
šäœã®ã¬ã¹ãã³ã¹ã¿ã€ã ã¯çŽ11ïŒ
æ¹åããã¡ã¢ãªäœ¿çšéã¯çŽ20ïŒ
å¢å ããŸããããªãœãŒã¹ãµãŒããŒã«ãããŠå
šäœã®ã¬ã¹ãã³ã¹ã¿ã€ã ã¯çŽ19ïŒ
æ¹åããã¡ã¢ãªäœ¿çšéã¯çŽ31ïŒ
å¢å ããŸããã 以éã«èšæž¬çµæã®è©³çްãèšèŒããŸãã èªå¯ãµãŒã㌠ã¬ã¹ãã³ã¹ã¿ã€ã ïŒ99th percentileïŒ YJITç¡å¹ç¶æ
ïŒçŽ«ïŒ YJITæå¹ç¶æ
ïŒéïŒ 47ms 42ms çŽ11ïŒ
ã®æ¹åãèŠãããŸããã ã¡ã¢ãªäœ¿çšé YJITç¡å¹ç¶æ
ïŒçŽ«ïŒ YJITæå¹ç¶æ
ïŒéïŒ 541MiB 650MiB ã¡ã¢ãªäœ¿çšéã¯çšŒåããŠããpodsã®åèšå€ã§ãã çŽ20ïŒ
ã®å¢å ãèŠãããŸããã ãªãœãŒã¹ãµãŒã㌠ã¬ã¹ãã³ã¹ã¿ã€ã ïŒ99th percentileïŒ YJITç¡å¹ç¶æ
ïŒçŽ«ïŒ YJITæå¹ç¶æ
ïŒéïŒ 549ms 445ms çŽ19ïŒ
ã®æ¹åãèŠãããŸããã ã¡ã¢ãªäœ¿çšé YJITç¡å¹ç¶æ
ïŒçŽ«ïŒ YJITæå¹ç¶æ
ïŒéïŒ 64.3GiB 84.2GiB ã¡ã¢ãªäœ¿çšéã¯çšŒåããŠããpodsã®åèšå€ã§ãã çŽ31ïŒ
ã®å¢å ãèŠãããŸããã èšæž¬çµæã«ã€ããŠã®èå¯ çµæã¯æŠãæåŸ
éãã®ãã®ã§ãããã¬ã¹ãã³ã¹ã¿ã€ã ã®æ¹åãèŠãããã¡ã¢ãªäœ¿çšéã¯å¢å ããŸããã蚱容å€ä»¥å
ã®å¢å ãšãªããŸããã ãªãœãŒã¹ãµãŒããŒã«é¢ããŠã¯ã¡ã¢ãªäœ¿çšéã31ïŒ
ãšå€§ããäžæããŠããŸã£ãã®ã§ãããã¡ã¢ãªäœ¿çšçã¯å
ããäœè£ããã£ãããã蚱容å€ã®ç¯å²ã«åãŸããŸããã 以äžã«ä»åã®çµæã§æ°ã«ãªã£ãç¹ã§èª¿æ»ããããšãªã©ãæ²èŒããŸãã ãªãœãŒã¹ãµãŒããŒã®ã¡ã¢ãªäœ¿çšéã®å¢å ã倧ããããšã«ã€ã㊠ãªãœãŒã¹ãµãŒããŒã¯YJITæå¹åç¶æ
ã§ã¯çŽ31ïŒ
ãã¡ã¢ãªäœ¿çšéãå¢å ããŠãããèªå¯ãµãŒããŒã®å¢å çãããé«ãããšãæ°ã«ãªããŸãããããã¯ããªãœãŒã¹ãµãŒããŒã§ã¯æäŸããŠããAPIã®æ°ãå€ãã䜿çšãããŠããRubyã³ãŒãã®çš®é¡ãå€ãããšãåå ãšèããããŸãã YJITã¯äžå®ã®åæ°ä»¥äžåŒã³åºãããã³ãŒããYJITã®ã³ã³ãã€ã«ã«å¯Ÿå¿ããŠãããã³ã³ãã€ã«ãã¡ã¢ãªã«ä¿åããŸãããã®ããããµãŒãã¹ã§äœ¿ãããŠããã³ãŒãã®çš®é¡ãå€ãã»ã©ã¡ã¢ãªäœ¿çšéãå¢å ãããšèããããŸãã ããã§ãYJITãã³ã³ãã€ã«ããŠçæããã³ãŒããµã€ãºã瀺ãcode_region_sizeã確èªããŸããã äžèšã°ã©ãã®éããèªå¯ãµãŒããŒïŒç·ïŒã§ã¯å¹³å7.7MiBã ã£ãã®ã«å¯ŸããŠãªãœãŒã¹ãµãŒããŒïŒèµ€ïŒã§ã¯å¹³å42.9MiBãšãªã£ãŠããŸãããcode_region_sizeã®ä»ã«ãããšæ¯äŸããŠã¡ã¿ããŒã¿ãçæããã¡ã¢ãªã«ä¿ç®¡ããããªã©ãå®éã¯ããå€ãã®ã¡ã¢ãªã䜿çšããŠããããšã«ãªããŸãã ãã®ããšãããèªå¯ãµãŒããŒããããªãœãŒã¹ãµãŒããŒã«ãããŠã¡ã¢ãªäœ¿çšéãå¢å ããŠããŸã£ãŠããã®ã¯ã䜿çšãããŠããã³ãŒãã®çš®é¡ãå€ãããšã«åå ããããšèããããŸãã ããã«YJITã广çã«äœ¿ãã«ã¯ YJITã«ããã¡ã¢ãªäœ¿çšéãæãããªãã°ã --yjit-exec-mem-size ã --yjit-call-threshold ã®å€èª¿æŽã§å¯èœã§ãã --yjit-exec-mem-size ã¯YJITãçæããã³ãŒããµã€ãºã®äžéãæå®ã§ããã®ã§ã¡ã¢ãªäœ¿çšéãæããããšãã§ããŸãã --yjit-call-threshold ã¯YJITã颿°ã®ã³ã³ãã€ã«ãéå§ãããŸã§ã®åŒã³åºãåæ°ãæå®ã§ããŸãã倧ããããããšã§ããŸãåŒã³åºãããªã颿°ã¯ã³ã³ãã€ã«ããªããªãããã¡ã¢ãªäœ¿çšéãæããããŸãã詳现㯠YJIT README Command-Line Options ãã芧ãã ããã ãããããããã®å€ã®èª¿ç¯ã¯YJITã®å¹æãèããå¯èœæ§ããããŸãããã®ãããã¡ã¢ãªäœ¿çšéãšããã©ãŒãã³ã¹ã®ãã©ã³ã¹ãèæ
®ããŠèšå®ããå¿
èŠããããŸãã WEARã§ã¯çŸåšã®ã¡ã¢ãªäœ¿çšéã§ãåé¡ãªããã宿œããŠããŸããããä»åŸæ¹åãå¿
èŠã«ãªã£ããæ€èšããããšæã£ãŠããŸãã ãŸããRuby 3.4ã«ã¢ããããŒãããããšã§ããããªãããã©ãŒãã³ã¹æ¹åãæåŸ
ã§ããŸãã Ruby 3.4.0 ãªãªãŒã¹ ããããx86-64ãšarm64ã®äž¡æ¹ã®ãã©ãããã©ãŒã ã«ãããŠãã»ãšãã©ã®ãã³ãããŒã¯ã®ããã©ãŒãã³ã¹ãåäžããŸãããããã¡ã¿ããŒã¿ã®å§çž®ãšçµ±äžçãªã¡ã¢ãªäœ¿çšéå¶éã«ããã¡ã¢ãªäœ¿çšéãåæžããŸããããšèšèŒãããŠããŸãããã®ãããRuby 3.4ã§ãYJITã®æ¹åãæåŸ
ã§ããŸãã ãŸãšã æ¬èšäºã§ã¯WEARã§ã®YJITã®å¹æãšèå¯ã«ã€ããŠã玹ä»ããŸãããä»åæ¹ããŠãæ¢åã³ãŒãã®ä¿®æ£ãäžèŠã§å
šäœã®ããã©ãŒãã³ã¹ãæ¹åã§ããYJITã¯çŽ æŽããããšæããŸãããä»åŸã®YJITã®æŽãªãçºå±ã«æåŸ
ããããšæããŸãã åèæç® æ¬èšäºãäœæããã«ãããã以äžã®æç®ãåèã«ãããŠããã ããŸããã貎éãªæ
å ±ãå
¬éããŠãã ãã£ãèè
ã®çæ§ã«æè¬ç³ãäžããŸãã YJIT README Ruby 3.3 YJITã®ã¡ã¢ãªç®¡çãšRJIT ããã¹ãŠãæ°ãããªã£ã2ã€ã®JITã䜿ãããªã YJITã®æ§èœãæå€§éåŒãåºãæ¹æ³ - k0kubun's blog Ruby 3.4.0 ãªãªãŒã¹ ãç¥ãã ZOZOã§ã¯ãäžç·ã«ãµãŒãã¹ãäœãäžããŠãããæ¹ãåéäžã§ãããèå³ã®ããæ¹ã¯ã以äžã®ãªã³ã¯ãããã²ãå¿åãã ããã hrmos.co
ã¯ããã« ã¯ãããŸããŠã2025幎4æã«æ ªåŒäŒç€ŸZOZOãžå
¥ç€Ÿäºå®ã®åå
èæïŒ @skysky0208 ïŒã§ããããŒã ã®çããã«ã¯ãã£ã¡ãããšåŒã°ããŠããŸãã ãã®èšäºã§ã¯ãçŽå幎éWEARããã¯ãšã³ãããŒã ã«ãŠåå ããå
å®è
ã¢ã«ãã€ãã«ã€ããŠã®äœéšè«ãã話ãããããšæããŸããZOZOã«èå³ããã人ã¯ãã¡ãããå
å®è
ã¢ã«ãã€ãã«èå³ããã人ããŸãå
¥ç€Ÿã«å¯ŸããŠäžå®ãæ±ããŠãã人ãªã©ãæ§ã
ãªæ¹ã
ã®åèã«ãªãã°å¹žãã§ãïŒ ç®æ¬¡ ã¯ããã« ç®æ¬¡ å
å®è
ã¢ã«ãã€ããšã¯ ç§ãå
å®è
ã¢ã«ãã€ãã«åå ããç®ç å
å®è
ã¢ã«ãã€ãã®æŠèŠ WEARããã¯ãšã³ãããŒã ã¯ã©ããªããŒã ïŒ å
å®è
ã¢ã«ãã€ãã®1æ¥ å®éã«è¡ãªã£ãã¿ã¹ã¯ ã¿ã¹ã¯ã®æŠèŠ äŒç»å
±æãšä»æ§æ€èš 仿§æ€èšMTGãžã®åå ããžãã¯æ€èšã®ããã®ã¢ãã¯äœæ å®è£
æ¹æ³ã®éžå®ã»æ€èšŒ è€æ°ã®å®è£
æ¡ã®æ¯èŒæ€è𠿬çªDBã«ãããããã©ãŒãã³ã¹æ€èšŒ å®è£
ã»ãªãªãŒã¹ åŠã³ãšæ¯ãè¿ã 1. 質åã¯è³ªããã¹ããŒãã倧åã«ãã¹ã 2. å®åã§åŠã¹ããã¹ãã³ãŒãã®éèŠæ§ 3. 誰ã«äœãäŒãããã®ãïŒ ãšããèŠç¹ã§ã®èšèªå 4. ç©æ¥µçã«çºèšã§ããªãã£ãããšãžã®åç ãŸãšã æåŸã« å
å®è
ã¢ã«ãã€ããšã¯ å
å®è
ã¢ã«ãã€ããšã¯å
宿¿è«Ÿããå
¥ç€ŸãŸã§ã®æéã«ã¢ã«ãã€ãã®éçšå¥çŽãçµã³ãå
å®å
ã§å°±æ¥ã§ãããã®ã§ãã æ¯æããŸããŸãªéšçœ²ãè·çš®ã®ã¢ã«ãã€ãã®åéããããå
å®ãããã ããè·çš®ã¯ãã¡ãããä»ã®è·çš®ã«ãå¿åã§ããŸããé »åºŠãå€åæéãªã©æè»ã«å¯Ÿå¿å¯èœãªãããåŠæ¥ãä»ã®ã¢ã«ãã€ããšã®äž¡ç«ãããããã®ãå¬ãããã€ã³ãã§ãïŒ ç§ãå
å®è
ã¢ã«ãã€ãã«åå ããç®ç ç§ã¯å
¥ç€Ÿã«åããŠã以äžã®ãããªäžå®ãçåãæ±ããŠããŸããã æ¥åå
容ãä»äºã®é²ãæ¹ã®ã€ã¡ãŒãžãã€ããŠããããå
¥ç€ŸåŸãäžå® éšçœ²é
å±ã«ããããèªèº«ã®ããããããšãèå³ãããããšãæç¢ºã«ããã ããããäžç·ã«åãæ¹ã
ã®é°å²æ°ãç¥ããã ãã®ãããªäžå®ãçåãæ±ããŠããæ¹ã¯ãå€ãã®ã§ã¯ãªãã§ããããïŒãã®ãšããå
å®è
ã¢ã«ãã€ããšããå¶åºŠãããããšãç¥ããäžå®ãè§£æ¶ãã€ã€ãåããŠã®å®åã«ææŠããããšèãå¿åããŸããã å
å®è
ã¢ã«ãã€ãã®æŠèŠ ç§ã¯ã2024幎8æããå
¥ç€ŸãŸã§ã®çŽå幎éãWEARã®ããã¯ãšã³ãããŒã ã§å
å®è
ã¢ã«ãã€ãã«åå ããŸãããå€åäœç³»ã¯åºå®ã·ããå¶ã§ã10æãã19æãŸã§ã®1æ¥8æéå€åãé±ã«2æ¥ã®ããŒã¹ã§ããã«ãªã¢ãŒãã§åãããŠããã ããŸããã WEARããã¯ãšã³ãããŒã ã¯ã©ããªããŒã ïŒ WEARãšã¯ãæ ªåŒäŒç€ŸZOZOãéå¶ããæ¥æ¬æå€§çŽã®ãã¡ãã·ã§ã³ã³ãŒãã£ããŒãã¢ããªã§ãã2024幎ã®5æã«ãWEAR by ZOZOããšããŠãªãã¥ãŒã¢ã«ãããæ°ããªãã¡ãã·ã§ã³ãžã£ã³ã«èšºææ©èœãã³ã³ãã³ãã远å ãããŸããã corp.zozo.com WEARããã¯ãšã³ãããŒã ã¯ãWEARã®ããã¯ãšã³ãéçºãæ
åœããŠããããŒã ã§ããããŒã ã¯ããã10åã»ã©ã§æ§æãããŠãããæ°æ©èœéçºãæ¢åæ©èœã®æ¹åããªãã¬ã€ã¹ãé害察å¿ãªã©å¹
åºãæ¥åãè¡ã£ãŠããŸããèšèªã¯äž»ã«Rubyã䜿çšããŠãããã³ãã¥ãã±ãŒã·ã§ã³ããŒã«ãšããŠSlackãDiscordãªã©ã掻çšããŠããŸãïŒå·çæç¹ïŒã å
å®è
ã¢ã«ãã€ãã®1æ¥ ããã§ãå®éã®ç§ã®1æ¥ã®æµããã玹ä»ããããšæããŸãã 10:00 - åºå€ã»ã¬ãã¥ãŒã¿ã€ã åºå€æå»ãããåŸããŸãã¯ä»æ¥ã®äºå®ã確èªããŸãããã®åŸãèªèº«ã®PullRequestã«ã€ããã³ã¡ã³ãã確èªããä»ã®ã¡ã³ããŒã®PullRequestã¬ãã¥ãŒãããŸããWEARããã¯ãšã³ãããŒã ã¯ãPullRequestãæåºãããå°ãªããšã2人ã«ã¬ãã¥ãŒãããŠãããæåããããŸããã¬ãã¥ãŒãåããã ãã§ãªããå
茩æ¹ã®PullRequestãã³ãŒããèŠãããšã§æ°ããªç¥èãèŠç¹ãåŠã¹ããããäºãæéã確ä¿ããŠåãçµãã§ããŸããã 11:00 - æäŒ WEARããã¯ãšã³ãããŒã ã§ã¯ãæ¯æ11æã«æäŒãè¡ã£ãŠããŸããæäŒã®å§ãã«ã¯å°è©±ããããè¿æ³ãããã£ãŠããããšã鱿«ã®åºæ¥äºãªã©ã話ãããšãŠãåãããªé°å²æ°ã§ã¹ã¿ãŒãããŸããå人çã«ãäžç·ã«ä»äºãããçããã®è¶£å³ãæ¥åžžãèãããšãã§ããã®ã§ããšãŠã楜ãã¿ã«ããŠããŸããïŒ ãã®åŸãèªåã®æšæ¥ã®é²æã仿¥ã®äºå®ã課é¡ãªã©ãå
±æããããŒã å
šäœã§é²æã確èªããŸãããŸããæäŒã§ã¯ãå®è£
ã»èšèšäžã®èª²é¡ãæ©ãã§ããããšãªã©ãæ°è»œã«å
茩æ¹ã«çžè«ã§ããå ŽããããŸããèªèº«ã ãã§ã¯è§£æ±ºã§ããªãåé¡ãäžç·ã«èããŠããã ããã®ã§ããšãŠãå¿åŒ·ãã£ãã§ãã 12:00 - ãã€ãªãŒã¹ã¯ã©ã WEARã§ã¯ãã¹ã¯ã©ã ãæ¡çšããŠãããããã¯ãšã³ãããŒã ã ãã§ãªããããªãã¯ã¹åã®ããŒã ã«ãæå±ããŠããŸãããããªãã¯ã¹åã®ããŒã ã«ã¯ãPdMããã¶ã€ããŒããšã³ãžãã¢ïŒiOSã» Androidã»ããã¯ãšã³ãïŒãQAã®ã¡ã³ããŒãæ°åãã€æå±ããããããã®å°éåéãæŽ»ãããŠããŒã ã®æ
åœé åãæ¹åããŠãããŸãã ãã®ãããæäŒåŸãæ¯æ¥12æã«æå±ããŒã å
ã§ãã€ãªãŒã¹ã¯ã©ã ãè¡ã£ãŠããŸããããã§ã¯ãããŒã ã§é²ããŠããäŒç»ã®é²æã課é¡ãå
±æããä»è·çš®ã®æ¹ã
ãšã®é£æºãå³ããŸããå
å®è
ã¢ã«ãã€ããšããŠãå®éã®ã¹ã¯ã©ã ã«åå ããªãããããã¯ãã®æ¹åã«åãçµãããšã¯ããªããªããªãçµéšã ãšæããŸããããã«ãå°éã®é å以å€ã®è©±ãå±éããããããããå¹
åºãèŠç¹ãç¥èã身ã«ã€ããããšãã§ããŸããã 12:30 - éçº æäŒããã€ãªãŒã¹ã¯ã©ã ã§ä»æ¥ã®ã¿ã¹ã¯ã確èªããåŸã¯ãå®éã«éçºäœæ¥ã«å
¥ã£ãŠãããŸããç§ã¯ãSlackã«äœæ¥çšã¹ã¬ãããç«ãŠãŠãããã«ä»æ¥ã®TODOã鲿ã課é¡ãªã©ãæžã蟌ãã§ããŸããããŸããå
茩æ¹ãDiscordã«ããŠãã ããã®ã§ãäœæ¥äžã«å°ã£ãããšãããã°ãããçžè«ã解決ã§ããŸããã 14:00 - ã¡ã³ã¿ãŒãšã®1on1 å
å®è
ã¢ã«ãã€ãã§ã¯ãã¡ã³ã¿ãŒãã€ããŠãã ããã1æ¥ãã2æ¥ã«1åçšåºŠã鲿ãå°ãããšãªã©ãçžè«ããæéãããã ããŠããŸãããã¢ã«ãã€ããéå§ããŠããã¯ãä»ã®å
茩æ¹ãšã1on1ãæ¥æ¿ããã§çµãã§ããã ããæ¥œããéè«ããªããçããã®ããšãç¥ãããšãã§ããŸããããŸãã1on1ã§ã¯æè¡çãªããšã¯ãã¡ãããæè¿ã®åºæ¥äºãå
¥ç€Ÿã«åããäžå®ãªã©ãçžè«ã§ããŸããæåã®ãã¡ã¯ç·åŒµããããšããããŸããããåæ°ãéãããã³ã«ãªãã§ã話ããããã«ãªããã ãã ããšå
茩æ¹ãšã®è·é¢ãçž®ãŸã£ããšæããŠããŸãã 15:00 - äŒæ© 16:00 - éçºã»MTGã®åå ãããããåŒãç¶ãéçºäœæ¥ãé²ããŠãããŸããæ
åœããã¿ã¹ã¯ã«ãã£ãŠã¯ãä»ã®ããŒã ã®æ¹ã
ãšããåããããªããé²ããããšããããŸãããã®éã¯ãMTGã«åå ãã鲿ã仿§ã®ããåãããè¡ããŸããã 19:00 - éå€ æåŸã«ã仿¥ã®é²æãææ³ãæ¥å ±ã«ãŸãšããéå€ãšãªããŸãã å
å®è
ã¢ã«ãã€ãã®1æ¥ã¯ãããã§ããã§ããããïŒãã«ãªã¢ãŒãã§ã®å€åã«äžå®ããããŸããããçããã®æåããµããŒãã®ãããã§ãäžæ©ãã€åã«é²ãããšãã§ããŸãããç¹ã«ãæè¡çãªè³ªåãããéã«ã¯ãå¿ããäžã§ãæéãå²ããŠäžå¯§ã«ã¢ããã€ã¹ããã ãããå®å¿ããŠåãçµãããšãã§ããŸããã å®éã«è¡ãªã£ãã¿ã¹ã¯ çŽå幎éã®å
å®è
ã¢ã«ãã€ããéããŠãããŸããŸãªã¿ã¹ã¯ã«ææŠãããŠããã ããŸãããä»åã¯ããã®äžã®1ã€ãã玹ä»ããŸãããã®ã¿ã¹ã¯ã§ã¯ãåã«ã³ãŒããæžãã ãã§ã¯ãªãã仿§ã®æ€èšãæè¡éžå®ã«ãé¢ããããšãã§ãããšãŠã貎éãªçµéšãšãªããŸããã ããã§ã¯ãäŒç»ã起祚ãããŠãããªãªãŒã¹ããããŸã§ã®ããã»ã¹ããå
å®è
ã¢ã«ãã€ãã®èŠç¹ã§ã玹ä»ããŸãïŒ ã¿ã¹ã¯ã®æŠèŠ ä»åãç§ãæ
åœããã®ã¯ãã¡ã€ã¯æçš¿ç»é¢ã§çšãããã人æ°ã¿ã°ã©ã³ãã³ã°ã®äœæããšããäŒç»ã§ãããWEARã§ã¯ãã³ãŒãã£ããŒããã¡ã€ã¯ãããŠããŠåç»ãªã©ã®ã³ã³ãã³ããæçš¿ã§ããæ©èœããããŸãããã®éã«ããããã¥ã©ã«ã¡ã€ã¯ãããæ¥ã¡ã€ã¯ããªã©æçš¿ã«é¢é£ããã¿ã°ãéžæã§ããŸãããã®æ©èœã«ãããŠããŠãŒã¶ãŒãéžæããããããã人æ°ã®ã¿ã°ã衚瀺ãããããªæ©èœãæ±ããããŠããŸããã äŒç»å
±æãšä»æ§æ€èš ãŸããã¹ã¯ã©ã éçºã§ã¯ãPdMïŒãããã¯ããããŒãžã£ãŒïŒããäŒç»ã®èª¬æããããŸããããã§ã¯ããã®æ©èœããªãå¿
èŠãªã®ããã©ã®ããã«ãŠãŒã¶ãŒäœéšãåäžãããã®ããšãã£ãèæ¯ãçè§£ããããšãéèŠã§ãã ãããããã®æç¹ã§ã¯ãã©ã®ãããªããžãã¯ã§ã©ã³ãã³ã°ã決å®ããããšããç¹ã«ã€ããŠããŸã æç¢ºã«å®ãŸã£ãŠããŸããã§ãããããã§ãã¹ã¯ã©ã ããŒã ã«ããããã£ã¹ã«ãã·ã§ã³ãéèŠãšãªããŸãã 仿§æ€èšMTGãžã®åå ç§èªèº«ã仿§æ€èšã®MTGã«åå ããã©ã®ãããªä»æ§ãé©åããããŒã ã®çãããšäžç·ã«èããŸãããåããŠãã®ãããªMTGã«åå ãããã©ã®ãããªã¿ã°ãåºããæçš¿ãããããããšãããŠãŒã¶ãŒèŠç¹ãšããã©ã®ãããªã¿ã°ãåºããæçš¿ã®è³ªãåäžãããããšãããããã¯ãèŠç¹ãäž¡ç«ãããããšã®é£ãããæããŸãããããŒã ã®çãããäžäººã²ãšãããããã¯ããšãŠãŒã¶ãŒäœéšã«çå£ã«åãåã£ãŠããå§¿ããšãŠãå°è±¡çã§ãWEARãããããŠçã¿åºãããŠããã®ã ãšèã§æããŸããã ããžãã¯æ€èšã®ããã®ã¢ãã¯äœæ ãŸãã仿§ã決å®ããã«ããããããŸããŸãªã©ã³ãã³ã°ããžãã¯ãã¿ãŒã³ã®ã¢ãã¯äœæãæ
åœãããŠããã ããŸãããã¢ãã¯ã䜿ãããšã§ãã©ã³ãã³ã°éèšããžãã¯ã倿Žããéã«ãã©ã®ã¿ã°ãäžäœã«è¡šç€ºãããããäºåã«ç¢ºèªã§ããããžãã¯ã®èª¿æŽãã©ã®ãããªåœ±é¿ãäžããããã·ãã¥ã¬ãŒã·ã§ã³ã§ããŸãã ããžãã¯ãæ€èšããéããŠãŒã¶ãŒã®äœéšäŸ¡å€ãéèŠèŠããããšã¯åæã§ãããããã¯ãšã³ããšããŠã®å®è£
å¯èœæ§ïŒãã£ãžããªãã£ïŒãããã©ãŒãã³ã¹ãèæ
®ããå¿
èŠããããŸããããã§ãããããã®ãã©ã³ã¹ãèãã€ã€è€æ°ã®ããžãã¯ãäœæããããã«å®éã®ããŒã¿ãçšããã¢ãã¯ãäœæããããšã§ãPdMããã¶ã€ããŒãä»ã®ãšã³ãžãã¢ã®æ¹ã
ã«ãããããããææ¡ã§ãããã工倫ããŸããã äžè¬çã«ãã¢ãã¯ãäœãã ãããšæãããã¡ã§ãããç°ãªãã¢ãã¯ãæ¯èŒããããšã§æ°ããªèŠç¹ãçºèŠãçãŸããè°è«ãããæŽ»æ§åãããããšãã§ããŸããç¹ã«ãããžãã¯ã®ããããªéãã§ã©ã³ãã³ã°çµæã倧ããå€ããããšãããããã®å€åãèŠèŠçã«ç¢ºèªã§ããã¢ãã¯ã¯éåžžã«æçšã ãšå®æããŸããã å®è£
æ¹æ³ã®éžå®ã»æ€èšŒ 仿§ãåºãŸã£ãããæ¬¡ã¯ãã©ã®ãããªææ³ã§å®è£
ãããïŒããèããŠãããŸãã è€æ°ã®å®è£
æ¡ã®æ¯èŒæ€èš ä»åãã¿ã°ã©ã³ãã³ã°ãéèšãååŸããAPIã®å®è£
ãæ
åœããŸãããå®è£
æ¹æ³ãæ€èšããéã«ã¯ã以äžã®ãããªæ¡ãæããããããã®ã¡ãªããã»ãã¡ãªãããæ¯èŒããŸããã ãªã¯ãšã¹ãæ¯ã«ã¯ãšãªããŒã¹ã§éèš ãããåŠçã§ã©ã³ãã³ã°ãå®ææŽæ° ãã£ãã·ã¥ïŒRedisïŒã䜿çšããæ¹æ³ ãã®æç¹ã§ã¯ãã©ã®æ¹åŒãæé©ãªã®ã確信ãæãŠãªãã£ããããæäŒã§ããŒã ã®æ¹ã
ã«çžè«ããæçµçã«1ã®æ¹æ³ãæ¡çšããããšã«ããŸãããçç±ãšããŠã¯ãå®è£
ã³ã¹ããäœããååã®ãããã ãªå®è£
ãšããŠé©ããŠããããšãã¯ãšãªãããããåŠçãžãšå®è£
ãç§»è¡ããéã«ãããŸã§ææ»ããçºçããªãããšããªã©ãæããããŸããæ€èšããäžã§ãå®è£
ã³ã¹ãã»é·æçãªéçšã³ã¹ãã»è² è·ã®ãã©ã³ã¹ãèŠãªãããæé©ãªæ¹æ³ãéžæããããšããšãŠãé£ãããšæããŸããã æ¬çªDBã«ãããããã©ãŒãã³ã¹æ€èšŒ ä»åã¯ãšãªã§ã®å®è£
ãšãªã£ããããäºåã«æ¬çªç°å¢ã®DBãçšããŠããã©ãŒãã³ã¹æ€èšŒãè¡ããŸãããã¯ãšãªã®å®è¡èšç»ã確èªããã€ã³ããã¯ã¹ã®è¿œå ãæ€èšããããæ¬çªç°å¢ã§ã¯ãšãªãå®è¡ããŠå®è¡æéãèšæž¬ããéçšäžåé¡ããªããã確èªããããšãã£ãäœæ¥ãããŸããã å®è£
ã»ãªãªãŒã¹ 仿§ãšå®è£
æ¹æ³ã決ãŸã£ããããããå®è£
ã§ããä»åã¯ãäºåã«ããŸããŸãªããžãã¯ã§ã¢ãã¯ãäœæããå®éã®ããŒã¿ã§æ€èšŒããŠãããããå®è£
èªäœã¯ã¹ã ãŒãºã«é²ããããšãã§ããŸããã æåŸã«ãå®è£
ããæ©èœã®QAãè¡ããåé¡ããªããã°ãªãªãŒã¹ãšãªããŸãããã®ãªãªãŒã¹ã«ãã£ãŠããã¬ã³ãã«åã£ã人æ°ã¿ã°ã衚瀺ãããããã«ãªããŸãããããã«ããããŠãŒã¶ãŒã¯ãããã®ã¿ã°ãéžæããŠæçš¿ããããšã§ãèªèº«ã®æçš¿ãããå€ãã®äººã«èŠãŠãããããããªãããšãã圢ã§äœéšäŸ¡å€ãåäžãããããšãã§ããããã«ãªããŸãããèªèº«ã®æžããã³ãŒãããããã¯ãã®äžéšãšããŠåããŠããã®ãèŠãã®ã¯ããšãŠãå¬ããç¬éã§ããïŒ åŠã³ãšæ¯ãè¿ã ããããã¯ãå
å®è
ã¢ã«ãã€ããéããŠåŸãåŠã³ããæ¯ãè¿ããããã¯ã¢ããããŠã話ãããããšæããŸãã 1. 質åã¯è³ªããã¹ããŒãã倧åã«ãã¹ã æåã®ãã¡ã¯ãããã£ãšã¡ãããšèª¿ã¹ãŠãã質åããæ¹ãããã®ã§ã¯ïŒããšèããããŠãäœæ¥ãæ¢ãŸã£ãŠããŸãããšãå€ã
ãããŸããããã®ãšãå
茩æ¹ãããã調ã¹ãããšããã¡ãã倧åã ããã©ãèããæ¹ãæ©ã解決ã§ããããšãå€ãããšããã¢ããã€ã¹ãããã ããŸããããã以éã15å調ã¹ãŠã解決ããªãå Žåã¯ããã«è³ªåããããã«ããã¹ããŒããæèããããšã§ãåŸã
ã«äœæ¥ãæ©ãé²ããããããã«ãªã£ãŠãããŸããã ã€ãã€ããå
茩æ¹ã®æéãåããªãããã«ããšèããŠããŸããã¡ã§ãããçµéšè±å¯ãªå
茩æ¹ã®åŽã§åŠã¹ããšãããããªæµãŸããç°å¢ã¯ãããŸããããããããããããã質åããªãããããããåžåããŠãããããšæããŸãã 2. å®åã§åŠã¹ããã¹ãã³ãŒãã®éèŠæ§ åŠçã®ãã¡ã¯ãåãã°åé¡ãªããšããèãã§ã軜ãåäœç¢ºèªãããŠããããããã€ãããïŒããšãããããšé²ããŠããŸãããšãå€ã
ãããŸããããã®ãããæ¥ããããªãããä»ãŸã§ãã£ãããšãã¹ãã³ãŒããæžããããšããããŸããã§ãããããããå®éã®ãµãŒãã¹ã§ã¯ããããã€åŸã«å€§ããªãã°ãé害ãåŒãèµ·ãããŠããŸãå¯èœæ§ãããã倧å€å±éºã§ãã ããã§ãå
茩æ¹ãšã®ãã¢ãããã³ãŒãã¬ãã¥ãŒãéããŠãã©ã®ããã«ãã¹ããæžãããšã§å質ãæ
ä¿ã§ããã®ããšãã芳ç¹ã«ã€ããŠå®è·µããªããåŠã¶ããšãã§ããŸãããæåã®ãã¡ã¯ããªããªãããŸãæžããæéãããã£ãŠããŸããŸãããããã®åèªèº«ã®å®è£
ã«èªä¿¡ãæã€ããšãã§ããä»ã§ã¯æžããªããšäžå®ã«ãªãã»ã©ã§ãïŒããããæžãã°è¯ããšããããã§ã¯ãªãããšãé£ããã§ããïŒããã®åŠã³ã¯ãå®éã®çŸå Žã«å
¥ã£ãŠåããããããã身ããã£ãŠåŠã¹ãããšã ãšæããŸããã 3. 誰ã«äœãäŒãããã®ãïŒ ãšããèŠç¹ã§ã®èšèªå ãšã³ãžãã¢ã¯ã³ãŒããæžãã ãã§ãªããããã¥ã¡ã³ããäœæããŠå
±æããããä»ã®ããŒã ã®æ¹ã
ããåããããããšãã³ãã¥ãã±ãŒã·ã§ã³ãæ¬ ãããŸããããã®äžã§ãå
å®è
ã¢ã«ãã€ããšããŠçŸå Žã«å
¥ã£ãéãããŒã ã®çããã®è©±ããšãŠããããããããããŸã詳ãããªãç§ã§ããã£ãšçè§£ã§ããããšã«æåããããšãä»ã§ãèŠããŠããŸããè²ã
ãªå
茩æ¹ã«æèããŠããç¹ãèããŠã¿ããšãã誰ã«äœãäŒãããã®ãïŒããšããèŠç¹ã§ã®èšèªåãå
±éããŠãããšæããŸãããä»ã§ã暡玢ããªããã§ã¯ãããŸãããèªåãªãã«ã誰ã«äœãäŒãããã®ãïŒããåžžã«èããªããäŒè©±ããããå¿ãããããã«ããŠããŸãã 4. ç©æ¥µçã«çºèšã§ããªãã£ãããšãžã®åç ã¯ããã®ãã¡ã¯ãæ¥åã®å
šäœåãèŠããŠããªãããã€æè¡çã«ããããªãããšãå€ããMTGãªã©ã§ç©æ¥µçã«çºèšã§ããªãããšããããŸããã ããããæ¯ãè¿ã£ãŠã¿ãã°ãå³ãå·Šãåãããªãç¶æ
ã ãããããçŽ æŽãªçåãæ°ããèŠç¹ã§ã®çºèšãã§ãããã£ã³ã¹ã ã£ããšæããŠããŸãã å®éãå°ããã€è³ªåãæèŠãåºããããã«ãªã£ãŠããããšã§ãããã«çè§£ãæ·±ãŸããã£ããã«ãªããŸãããä»åŸãããã«ç©æ¥µçã«çºèšã§ãããããæèããŠãããããšæããŸãã ãŸãšã æ¯ãè¿ããšãå
å®è
ã¢ã«ãã€ããéããŠãããããã®åŠã³ãåŸãªãããåé ã®ç®çãéæã§ãããšå®æããŠããŸããç¹ã«ãããŒã ã®äžå¡ãšããŠããŠãŒã¶ãŒäœéšã®åäžãæ¬æ°ã§èãæãäœéšãéããŠããèªåãããããããšã¯ãŸãããããã ïŒããšå確èªã§ããŸãããããã«ãå
å®è
ã¢ã«ãã€ããéããŠä»ã®éšçœ²ã®æ¹ã
ãšãã話ãããæ©äŒãå€ããããäŒç€Ÿå
šäœã®é°å²æ°ãç¥ããããšã§ãå
¥ç€Ÿãžã®æ¥œãã¿ãããäžå±€é«ãŸããŸããã ãããŸã§ãã£ãŠãããã®ã¯ãé
å±å
ã®ããŒã ã®çããã®ãµããŒãããã£ãããããã ãšæããŠããŸããå
¥ç€ŸåŸãããããŒã ã«è²¢ç®ã§ããããã«ãåŒãç¶ãåªåããŠãããããšæããŸãã ãã²ãåããããªäžå®ãæ±ããŠããæ¹ã
ãããã°ãå°ãã§ãäžå®ãè§£æ¶ããããã£ããã«ããããŠZOZOãå
å®è
ã¢ã«ãã€ãã«èå³ãããæ¹ã
ã«ãšã£ãŠåèã«ãªãã°å¹žãã§ãïŒ æåŸã« ZOZOã§ã¯ãäžç·ã«ãµãŒãã¹ãäœãäžããŠãããæ¹ãåéäžã§ãããèå³ã®ããæ¹ã¯ã以äžã®ãªã³ã¯ãããã²ãå¿åãã ããã hrmos.co corp.zozo.com
ã¯ããã« ããã«ã¡ã¯ãèšæž¬ãããã¥ãŒã¹éšã®äºäžã§ããç§ãã¡ã¯ZOZOFITãZOZOMATãšãã£ãèšæž¬ç³»ãããã¯ãã®éçºPMãããŒã¿åéã粟床æ€èšŒãªã©ãµãŒãã¹æ§ç¯ãããUI/UXã®åæã»è©äŸ¡ãªã©ã®å¹
åºãæ¥åãè¡ã£ãŠãããŸãã ããªãã®ã䌌åãããæ¢ãããã¡ãã·ã§ã³ã³ãŒãã£ããŒãã¢ããªã WEAR by ZOZO ãã§ã¯ã2024幎5æã«ã WEARã詊ãã¡ã€ã¯ ãæ©èœããªãªãŒã¹ããŸãããARãæŽ»çšããWEARã®ãŠãŒã¶ãŒãæçš¿ããã¡ã€ã¯ãèªåã®é¡ã§è©Šãããšãã§ããŸãã ãã®æ©èœã®éçºã«ããããæãããã§ãã¯ã®éŸå€èª¿æŽã倧ããªèª²é¡ãšãªããŸãããæ¬èšäºã§ã¯ããã®æé©åããã»ã¹ãšUXåäžã®åãçµã¿ã«ã€ããŠè§£èª¬ããŸãã WEARã詊ãã¡ã€ã¯ãšã¯ïŒ WEARã詊ãã¡ã€ã¯ã¯ãã¢ããªå
ã®ãã¿ã³ãæŒãã ãã§ã以äžã®äœéšãå¯èœãªæ©èœã§ãã æçš¿ããããã«ã¡ã€ã¯ãèªåã®é¡ã«é©çšã§ãã ã¡ã€ã¯ã®æ¿ãã調æŽã§ãã ã¢ãã«ãã€ã³ãã«ãšã³ãµãŒã®ã¡ã€ã¯ã«åãæ¿ãããã ARæè¡ã掻çšãããªã¢ã«ãªã¡ã€ã¯ã·ãã¥ã¬ãŒã·ã§ã³ãæäŸããŸãã wear.jp WEARã詊ãã¡ã€ã¯ã®ç»é²ãã㌠ãŠãŒã¶ãŒãã¡ã€ã¯ãç»é²ããéã®æµãã¯ä»¥äžã®éãã§ãã ã¡ã€ã¯æçš¿çšã®ç»åãéžæ ç·šéç»é¢ã§ã¡ã€ã¯ããŒã¿ãç»é² ã€ã³ã«ã¡ã©èµ·ååŸãç°å¢ãã§ãã¯ïŒé¡ã®è·é¢ã»æããïŒ 8æ¹åããé¡ã®èšæž¬ çæãããèšæž¬ããŒã¿ããã¬ãã¥ãŒ ã¡ã€ã¯ç»é²å®äº ãã®äžã§ãæãããã§ãã¯ãUXãšèšæž¬å質ã®äž¡é¢ã§éèŠãªãã€ã³ãã§ããã æãããã§ãã¯ã®èª²é¡ æãããã§ãã¯ã®éŸå€ãUXãšã¡ã€ã¯ããŒã¿å質ã«å€§ãã圱é¿ããããšãããããŸããã UXã®åé¡ ïŒæãããã§ãã¯ã«æéãããããšããŠãŒã¶ãŒã®ã¹ãã¬ã¹ã«ãªãé¢è±çãå¢å ãã å質ã®åé¡ ïŒæãããé©åã§ãªããšãã¡ã€ã¯ããŒã¿ãçœé£ã³ããå®éã®èè²ãšç°ãªã£ãŠããŸã æãããã§ãã¯ã®éŸå€ãé©åã«èª¿æŽããããšã§ãUXãšå質ã®ãã©ã³ã¹ãæé©åããå¿
èŠããããŸããã æããéŸå€ã®åœ±é¿èª¿æ» 調æ»ç°å¢ 端æ«ïŒiPhone 14 ç
§ææ¡ä»¶ïŒå®€å
ç
§æäž ææšïŒ æãããã§ãã¯ã«ãããå¹³åæé çœé£ã³çºççïŒèã®è²ãšèããå·®ãããã±ãŒã¹ãçœé£ã³ãšå®çŸ©ïŒ 調æ»çµæãšæé©ãªéŸå€ã®æ±ºå® éŸå€ å¹³åæéïŒç§ïŒ çœé£ã³çºçç é« 18.8 0% äž 6.5 33% äœ 2.4 83% çµæããã ãéŸå€ãäžçšåºŠãã«ããããšã§ãUXãšå質ã®ãã©ã³ã¹ãæãè¯ã ãšå€æããŸããã éŸå€ãé«ããããšãçœé£ã³ã¯é²ãããUXãæªå éŸå€ãäœããããšãUXã¯è¯ããã¡ã€ã¯ã®å質ãäœäž éŸå€ãäžããæé©è§£ïŒUXãšã¡ã€ã¯å質ã®ãã©ã³ã¹ãäž¡ç« ãŸãšã æãããã§ãã¯ã®éŸå€ã¯ãåçŽã«ãé«ããã°è¯ãããäœããã°éãããšãã£ããã®ã§ã¯ãªããUXãšå質ã®ãã¬ãŒããªããèæ
®ããå¿
èŠããããšèããŠããŸããç§ãã¡ã¯ãããŒã¿ãããšã«æé©ãªéŸå€ãå°ãåºãããŠãŒã¶ãŒãå¿«é©ã«äœ¿ãããWEARã詊ãã¡ã€ã¯ãæ©èœãæäŸã§ããããæ¹åãç¶ããŠããŸããä»åŸããèšæž¬ç³»ãããã¯ãã®å質åäžãšUXæé©åãäž¡ç«ããåãçµã¿ãé²ããŠãããŸãããWEARã詊ãã¡ã€ã¯ãæ©èœã®äœéšãåäžããããšãããã²å®éã«è©ŠããŠã¿ãŠãã ããïŒ ZOZOã§ã¯ãäžç·ã«ãµãŒãã¹ãäœãäžããŠãããæ¹ãåéäžã§ãããèå³ã®ããæ¹ã¯ã以äžã®ãªã³ã¯ãããã²ãå¿åãã ããã corp.zozo.com