ããã«ã¡ã¯ãåºå館ã§ããã¯ã¨ã³ãéçºãæ å½ãã¦ãã廣ç°ã§ãã å æ¥ãæ¥æ¬æå¤§ç´ã® Java ã®ã¤ãã³ããJJUG CCC 2025 Fallãã«åå ãã¦ãã¾ããã®ã§ããã®ã¬ãã¼ãããå±ããã¾ãã

JJUG CCCã¨ã¯ï¼
JJUG CCC ã¨ã¯æ¥æ¬ Java ã¦ã¼ã¶ã¼ã°ã«ã¼ãï¼JJUGï¼ã主å¬ãããå½å æå¤§ç´ã® Java ã³ãã¥ããã£ã«ã³ãã¡ã¬ã³ã¹ã§ããJavaï¼JVM ã®ææ°ãããã¯ãããSpring Boot ãªã©ã®ãã¬ã¼ã ã¯ã¼ã¯ããã¹ããã¢ã¼ããã¯ãã£ããªãã¶ã¼ãããªãã£ãªã©å¹ åºããã¼ãã®ã»ãã·ã§ã³ãç¨æããã¦ãã¾ãã
ããã«å ãã¦ãã¹ãã³ãµã¼ãã¼ã¹ãç¨æããã¦ãããJava ã JVM ç³»è¨èªãå©ç¨ãã¦ããå社ã®ãããã¯ãç´¹ä»ãæè¡ç¸è«ãããã«ãã£é å¸ãªã©ã®äº¤æµãè¡ããã¦ãã¾ããå¼ç¤¾åºå館ãéå»ã«ä½åº¦ãã¹ãã³ãµã¼ã¨ãã¦ãã¼ã¹ãåºå±ããããã¹ãã³ãµã¼ã»ãã·ã§ã³ãéå¬ããã¦ããã ãã¾ããããä»åã¯è«¸äºæ ã«ãããã´ã¹ãã³ãµã¼ã®ã¿ã®åå ã§ãã

åå ããã»ãã·ã§ã³ã®ææ³
è¨å¤§ãªãã¼ã¿ãã©ããã°ãï¼Java à MQ ã§ä½ã Pub/Sub ã¢ã¼ããã¯ãã£
ã¡ããã© Kafka ãç¨ããã¢ããªã±ã¼ã·ã§ã³ã®å®è£ ãé²ãã¦ãããããåèã«ãªãããã ã¨æãã¦åå ãã¾ãããConsumer æ°ã®é©æ£å¤ãæ±ããé£ããããããªãã§ãããæå¹ã«ããã¨éãå¦çãããªã¬ã¼ããã¡ãã»ã¼ã¸ãéãªã£ã¦ Consumer å´ãè©°ã¾ãå¾ããã¨ãã£ãå®è·µã«åºã¥ãç¥è¦ãã·ã§ã¢ããã ããæçãªã»ãã·ã§ã³ã§ããã
å°ããå§ããããã® Property-Based Testing
Property-Based Testing ãæµè¡ãå§ãã¦ããã¨ãã話ãè³ã«ãã¦ããããã£ããã¢ããã®ããã«åå ãã¾ãããéçºè ã¯ä»æ§ãªã©å®çããç¥èã«å¯¾ãã¦ãã¹ããæ¸ããã¡ã§ãããçè§£ã®æµ ãé¨åã«ãããã°ãå ¥ãè¾¼ã¿ãããââã ããããæ§è³ªï¼ããããã£ï¼ãæ¢ç´¢çã«ãã¹ãããã¹ããã¨ãã主張ãè ¹è½ã¡ãã¾ãããä¾ã¨ãã¦æãããã¦ãããç¨è¾¼ä¾¡æ ¼ããç¨æä¾¡æ ¼ãè¨ç®ããã¨èª¤å·®ã 1 以ä¸ã«ãªãã¯ããã¨ãã£ãæ§è³ªãæ©æ¢°çã«æ¤è¨¼ãã¦ãã話ãã¨ã¦ãåãããããã£ãã§ãã
ZOZOTOWN ã«ã¼ã決æ¸ãªãã¬ã¤ã¹ ââ ã¢ã¸ã¥ã©ã¢ããªã¹ã¨ãã鿏¡ææ¦ç¥
VBScript ã§ 11 ä¸è¡ã®ã¬ã¬ã·ã¼ã³ã¼ãããã¤ã¯ããµã¼ãã¹åããããã·ã§ã³ã«ãããã鿏¡ææ¦ç¥ãã¨ãã¦ã¢ã¸ã¥ã©ã¢ããªã¹ãæ¡ç¨ããçµç·¯ã«é¢ããã»ãã·ã§ã³ã§ãããåºå館ã®ã¢ããã¤ãºã¸ã®åãçµã¿ã¨ãå ±éç¹ãå¤ããåæã«ã·ã³ãã·ã¼ãæãã¾ããã çæ³ã ãã追ã£ã¦åæ£ã®è¤éæ§ãã³ã¹ããè¦èª¤ããªããã¨ãç¶æ³ã«å¿ãã¦ä¸æ¦ãã¤ã¯ããµã¼ãã¹åã®é¸æãæ¨ã¦ãæææ±ºå®ãã¢ã¸ã¥ã©ã¢ããªã¹ã®ãã¹ãå®¹ææ§ãè¨è¨å¤æ´ã®æè»æ§ã¨ãã£ãã¡ãªããã ãã§ãªããCI ã®å®è¡æéãå»¶ã³ããããã¹ã±ã¼ã«ã®ä¸éãªã©ã®ãã¬ã¼ããªãã¾ã§èªããã¦ãããã¨ã¦ãå®è·µçã§ããã
Axon Framework ã®ã¤ãã³ãã¹ãã¢ãç¬èªæ¡å¼µãã話
ååã«ç¶ã㦠ZOZOTOWN ã®æ¹ã®çºè¡¨ã§ãããå人çã« CQRS ã¨ã¤ãã³ãã½ã¼ã·ã³ã°ã«é¢å¿ãããããã®ä»£è¡¨çãªãã¬ã¼ã ã¯ã¼ã¯ã®ä¸ã¤ã§ãã Axon ã®è©±é¡ã«æ¹ããã¦åå ãã¾ãããAxon ã¯ï¼ç§ã®çè§£ã§ã¯ï¼æ¨æºã®å®è£ ã¨ã㦠JPA/JDBC ã«ãã RDB ãã¼ã¹ã® Event Store ãç¨æããã¦ãããã¤ãã³ããæ±ãããã®ã¤ã³ã¿ã¼ãã§ã¼ã¹ãæä¾ããã¦ãã¾ãã䏿¹ã§ Axon Server ã¨ããå°ç¨ã¤ãã³ãã¹ãã¢ã鏿è¢ã¨ãã¦åå¨ãã¾ããçºè¡¨ã§ã¯ DynamoDB + Kinesis ã®æ§æã«ãããã¨ã§ãå°äººæ°ã§ãéç¨ã»ä¿å®ãããããã工夫ãç´¹ä»ããã¦ãããã¨ã¦ãåå¼·ã«ãªãã¾ããã
ã¢ã¼ããã¯ãã£ã¨èããè¿·åã«ãªããªãéçºè ãã¹ã
ã¢ããªã±ã¼ã·ã§ã³ã¢ã¼ããã¯ãã£ã«çµ¡ããããã¹ãè¨è¨ã®æéã¨ãªãã»ãã·ã§ã³ã§ããããªãã¨ãªãé ã«ãã£ãããã¹ããã¹ãäºæãããController 層ã»UseCase å±¤ã»æ°¸ç¶å層ã»å¤é¨éä¿¡ã¨ãã£ãã³ã³ãã¼ãã³ããã¨ã«ãä½ãæ¤è¨¼ãã¹ãããã¸ä¸å¯§ã«åè§£ãã¦èª¬æããã¦ãããã¡ããã©æ°åæä»£ã«ããã¹ãã§ä½ãæ¤è¨¼ããã°ããã®ããã§è¿·èµ°ãã¦ããèªåã«èªã¾ãããå 容ã§ãããåãæ©ã¿ãæ±ãã¦ãã人ãããããã²è³æãã·ã§ã¢ãããã§ãã
ãã¥ã¼ã¬ã¬ã·ã¼å¾¹åºææ¦ã¬ã¤ã
以åããã¢ã¼ãé¨ãªã©ã§å·å³¶ããã®ãªã³ã©ã¤ã³ã»ãã·ã§ã³ãæè´ãã¦ãã¾ãããããªãã©ã¤ã³åå ã¯åã§ã¨ã¦ã楽ãã¿ã«ãã¦ãã¾ããããã¬ã¬ã·ã¼ã®åçç£ããªã©å¼·ãã®ã¯ã¼ãã«æããç¬ã£ã¦ãã¾ãã¤ã¤ã示ããããµã³ãã«ã³ã¼ããèªãã¨ä¸è¦ãããã«è¦ãã¦ãâãã¥ã¼ã¬ã¬ã·ã¼âã«ãªãå¾ããã¨ãåãããå·ãæ±ãããã¾ãããç¹ã«ã仿§é ããã®é ç®ã¯æãå½ããç¯ããããåãããã«æããæ¹ãå¤ãã®ã§ã¯ãªããã¨æãã¾ãã ã¾ã 人é¡ã«æå¾ ãããã®ã§ãFunctional Domain Modeling ã®èãæ¹ã®ããã«ã仿§ã¢ãã«ã¨å®è£ ã¢ãã«ããªãã¹ãä¸è´ããããã¨ãæèãã¦ããããã¨æããã»ãã·ã§ã³ã§ããã
è³æ: ãã¥ã¼ã¬ã¬ã·ã¼å¾¹åºææ¦ã¬ã¤ã
åèè³æä¸è¦§: ãã¥ã¼ã¬ã¬ã·ã¼å¾¹åºææ¦ã¬ã¤ãåèè³æ
çµããã«
çºè¡¨è ã®æ¹ã«ç´æ¥è³ªåã§ãããªã©ããªãã©ã¤ã³ã¤ãã³ãã®è¯ããå確èªãã 1 æ¥ã§ãããã©ã®çºè¡¨ãå¦ã³ãå¤ããã¾ã次åãåå ãããã¨æãã¾ãã
ãªããå¼ç¤¾åºå館ã11/25 19:00ããéå¬ãããAfter JJUG CCC 2025 Fall ã§ç»å£ããã¦ããã ãäºå®ã§ãï¼LINEã¤ãã¼æ ªå¼ä¼ç¤¾ãæ ªå¼ä¼ç¤¾ZOZOã®æ¹ã ãç»å£ã»åå äºå®ã§ããèå³ãããæ¹ãJJUGã®ä½é»ãã¾ã å³ããããæ¹ã¯ãã²ä¸è¨ããã§ãã¯ãã¦éã³ã«æ¥ã¦ãã ããï¼