ç§ãã¡ã¯çãã«ã³ãã¡ã¬ã³ã¹ã«æåŸ ããŠããŸãã éåžžãéåžžã«å ·äœçãªã¬ããŒãã®ã°ã«ãŒããéåžžã«å ·äœçãªãããã¯ã«é²ã¿ãŸãã ãããã¯ã®ã»ããã¯ãã©ãããã©ãŒã ããšã«ç°ãªããŸãã Javistsãä»èå³ãæã£ãŠãããã®ã¯æ¬¡ã®ãšããã§ãã
- æ§èœ
- ä»®æ³ãã·ã³ãšã©ã³ã¿ã€ã æ©èœ
- JDK 9/10 / ...
- ãã¬ãŒã ã¯ãŒã¯
- 建ç¯
- ãšã³ã¿ãŒãã©ã€ãº
- ããã°ããŒã¿ãšæ©æ¢°åŠç¿
- ããŒã¿ããŒã¹
- JVMèšèªïŒKotlinãå«ãïŒ
- Devops
- ããŸããŸãªå°ããªãããã¯
äŒè°ããã°ã©ã ã¯ããããã¯ããšã«å°ãªããšã1ã€ã®è¯ãã¬ããŒããéžæããããã«èšèšãããŠããŸãã JPointã¯2æ¥ä»¥å ã«éå¬ãããçŽ40ã®ã¬ããŒããããããããã¹ãŠã®äž»èŠãªåé¡ãäœããã®åœ¢ã§åŒ·èª¿ãããŸãã
ãã®çãæçš¿ã§ã¯ãäž»ã«ããã©ãŒãã³ã¹ãšã©ã³ã¿ã€ã ã«é¢ããã¬ããŒãã«è¡ã人ãšããŠç§ãæ°ã«å ¥ã£ãã¬ããŒãã«ã€ããŠã話ããŸãã
ã¹ã±ãŒãªã³ã°ãã¯ã©ã¹ã¿ãŒããã®ä»ãã¹ãŠã«ã€ããŠã¯èæ ®ããŸãããLightbendã®Christopher BateyãAkkaã«ã€ããŠè©±ã ãConfluentã®Victor Gamov ã Kafkaã«ã€ããŠè©±ããŸãã
ãã£ã¹ã¯ã©ã㌠èšäºã¯å ¬åŒãŠã§ããµã€ãã®ããã°ã©ã ã®å 容ã®å°è±¡ã«ã€ããŠæžãããŸããã 以äžã¯ãã¹ãŠç§èªèº«ã®èãã§ãããã¬ããŒãããã®åŒçšã§ã¯ãããŸããã ããã¹ãã«ã¯ã誀ã£ãä»®å®ãäžæ£ç¢ºãªèšè¿°ãå«ãŸããŠããå¯èœæ§ããããŸãïŒç¢ºãã«ãããŸãïŒã
æ§èœ
åè«ã®èšäºãã¢ã»ã³ããªèšèªãæ¿å ¥ããJavaããèŠããŠããŸããïŒ ã³ã¡ã³ãã®äžã§ã apanginã¯VMStructsã«ã€ããŠè©±ããããšè¿°ã¹ãã ãVMStructsïŒãªãã¢ããªã±ãŒã·ã§ã³ã¯JVMã®å éšã«ã€ããŠç¥ãå¿ èŠãããã®ãââïŒã ã¬ããŒãã¯VMStructsã®äœ¿çšã«å°å¿µããŠããŸããããã¯ãTLABãã³ãŒããã£ãã·ã¥ãå®æ°ããŒã«ãã¡ãœãããã·ã³ãã«ãªã©ãJVMã®å éšæ§é ã«ã€ããŠåŠã¶ããšãã§ããHotSpotä»®æ³ãã·ã³ã®ç¹å¥ãªAPIã§ããéåžžã®ããã°ã©ã ã Andreyã¯ãVMStructsãå®éã®ããŒã«ïŒOdnoklassnikiã§äœ¿çšïŒã®éçºã«ã©ã®ããã«åœ¹ç«ã€ãã®äŸã瀺ããŸãã
2çªç®ã®è¬æŒãJavaã®ããŒããŠã§ã¢ãã©ã³ã¶ã¯ã·ã§ã³ã¡ã¢ãªãã¯ãDevexpertsã®dxLabç 究ã°ã«ãŒãã®ç 究ãšã³ãžãã¢ã§ããNikita Kovalã«ãããã®ã§ãã ä»æåãã«JBreakã«ããå Žåã圌ã¯ããã§ãŸã£ããç°ãªãããšã«ã€ããŠè©±ããŠããããšã«æ°ä»ããããããŸããïŒææ°ã®ãã«ãã³ã¢ã¢ãŒããã¯ãã£ãšç¹å¥ãªã¢ã«ãŽãªãºã ã®ãã¯ãŒã䜿çšããŠé«éãã«ãã¹ã¬ããããã·ã¥ããŒãã«ãæžãïŒã åãã¬ããŒãã§ããã©ã³ã¶ã¯ã·ã§ã³ã¡ã¢ãªã«ã€ããŠèª¬æããŸãããã©ã³ã¶ã¯ã·ã§ã³ã¡ã¢ãªã¯ãçŸä»£ã®ããã»ããµã§åŸã ã«è¡šç€ºãããŸãããæ®éã®äººã«ã©ã®ããã«äœ¿çšãããã¯ãŸã äžæã§ãã Nikitaã¯ãããã䜿çšããæ¹æ³ãOpenJDKã«æ¢ã«ããæé©åãããã³Javaã³ãŒãããçŽæ¥ãã©ã³ã¶ã¯ã·ã§ã³ãå®è¡ããæ¹æ³ã«ã€ããŠè©±ãå¿ èŠããããŸãã
ãããŠæåŸã«ã Enterprise Without Brakes ã è¡ãªãŸãããäŒæ¥ã®ãªãç§ãã¡ã¯ã©ãã«ããã®ã§ãããïŒ Sergey Tsypanovã¯ããã€ãéè¡ãã¡ã€ã³ã®Luxoftã§ããã©ãŒãã³ã¹ã®åé¡ãæ±ã£ãŠããŸãã ãã®ã¬ããŒãã§ã¯ãã¢ããªã±ãŒã·ã§ã³ã®ããã©ãŒãã³ã¹ãäœäžããããã¿ãŒã³ã調ã¹ãŸããã³ãŒãã¬ãã¥ãŒã§èŠãããã»ã©è»œããIDEã§èµ€ã匷調ãããªãã»ã©è€éã§ãã ãã¹ãŠã®äŸã¯ãéçšç°å¢ã§å®è¡ãããŠããã¢ããªã±ãŒã·ã§ã³ã®ã³ãŒãã«åºã¥ããŠããŸãã
ãããã¡ã€ãªã³ã°
çŒçãããã¡ã€ãªã³ã°ã«ã€ããŠã¯ã3ã€ã®ã¬ããŒããåãäžããããŸããã Sasha Goldsteinã«ããæåã®ã¬ããŒãã ãJVMã¢ããªã±ãŒã·ã§ã³çšã®Linuxã³ã³ããããã©ãŒãã³ã¹ããŒã«ã ã ãµãŒã·ã£ã¯ãããŒãã³ã¢ããã©ãŒãã³ã¹ã®é£ç¶å¶äœè ã§ãã æšå¹ŽãJPointã§ã圌ã¯JVMã§ã®Berkeley Packet Filterã®äœ¿çšã«ã€ããŠçŽ æŽãããè¬æŒãè¡ããŸããïŒYouTubeã®æçš¿ãèŠãããšã匷ããå§ãããŸãïŒãã³ã³ããåã®è©³çŽ°ãèŠãã®ã¯æéã®åé¡ã§ããã äžçã¯é²ãšæž¯æ¹ŸåŽåè ã«ãªãããããç§ãã¡ã«å€ãã®æ°ããåé¡ããããããŸãã ãæ°ã¥ããããããŸããããã»ãšãã©ã®äœã¬ãã«ã®ãããã°ããã³ãããã¡ã€ãªã³ã°ã·ã¹ãã ã¯ãã³ã³ããã«é©çšããããšãããŸããŸãªæ©èœã劚害ç©ã§ãã£ã±ãã«ãªããŸãã Sashaã¯ãBCCãperfãå«ãGNU / Linuxãã©ãããã©ãŒã ã§ææ°ã®ããŒã«ã䜿çšãããšããããªãºã ãéããŠãäž»ãªã·ããªãªïŒCPU䜿çšçãIOå¿çæ§ãå ±æããŒã¿ããŒã¹ãžã®ã¢ã¯ã»ã¹ãªã©ïŒãæ€èšããŸãã
ããã€ã¯ãç§ããã³ããã»ããµãŒåœä»€ãŸã§æ£ç¢ºã«ãããã¡ã€ãªã³ã°ãããã¯ãã©ã€ãã¡ã€ãŒã³ãã³ã¯ã®ã»ã«ã²ã€ã»ã¡ã«ãã³ããäœæãã2çªç®ã®ãããã¡ã€ãªã³ã°ã¬ããŒãã§ãã èå³æ·±ãããšã«ãäœé 延ã®Javaã³ãŒãã«åãçµãåã¯ãIntelã§C / C ++ / FORTRANèšèªã®ã³ã³ãã€ã©ããã©ãŒãã³ã¹ãšã³ãžãã¢ãšããŠåããŠããŸããã ãã®ã¬ããŒãã«ã¯ããã©ãŒãã³ã¹ããããŸãïŒ :-)ãŸããããã»ããµã®ããŒããŠã§ã¢æ©èœãšIntelããã»ããµãã¬ãŒã¹ãã¯ãããžã«ã€ããŠã説æããŸããããã«ããããããã¡ã€ãªã³ã°ã®ç²ŸåºŠãåäžãããããã°ã©ã ã»ã¯ã·ã§ã³ã®å®è¡ãåæ§ç¯ã§ããŸãã ãã®ãããªã¬ããŒãã¯ã»ãšãã©ãããŸããïŒããšãã°ãTracing Summit 2015ã§Andi Kleenã¬ããŒããèŠã€ããããšãã§ããŸãïŒãéåžžãå€ãã®çåãæ®ããJavaã«é¢ããŠã¯å®çšæ§ã«æ¬ ããŠããŸãã ããã«ã¯ãäž¡æ¹ã®äžçïŒIntelãšJavaã®äž¡æ¹ïŒã蚪ãã人ãããã ãã§ãªãããã£ã¹ã«ãã·ã§ã³ãšãªã¢ã§èŠã€ããŠäžå¿«ãªè³ªåãããããšãã§ããŸãã
3çªç®ã®ã¬ããŒãã¯ã ããŠãããŒãµã«ãããã¡ã€ã©ãŒãšãã®å Žæãã§ãã Excelsior JETïŒAOTã³ã³ãã€ã«ã®æé©åã«åºã¥ãèªå®Java SEå®è£ ïŒã®éçºè ã®1人ã§ããIvan Uglyanskyã«ãã£ãŠäœæãããã©ã³ã¿ã€ã ãGCãã¯ã©ã¹ã®èªã¿èŸŒã¿ããã«ãã¹ã¬ããã®ãµããŒãããããã¡ã€ãªã³ã°ãªã©ãåŠçããŸãã ã¬ããŒãã®æ¬è³ªã¯ãæè¿ãExcelsior JETã§å®è¡ãããŠããã¢ããªã±ãŒã·ã§ã³ã®ãããã¡ã€ã«ãåéããå¿ èŠããã£ãããšã§ãã ãµããŒããããŠãããã¹ãŠã®ã·ã¹ãã ãšã¢ãŒããã¯ãã£ã§ãã¢ããªã±ãŒã·ã§ã³ãåã³ã³ãã€ã«ããã«ã蚱容ã§ããããã©ãŒãã³ã¹ã§ãããè¡ãå¿ èŠããããŸãã ãããã¡ã€ãªã³ã°ã®éåžžã®æ¹æ³ãåæã«ããããã¹ãŠã®ãã€ã³ãã«é©åããªãããšãå€æããã®ã§ãç§ã¯èªåã®äœããèãåºããªããã°ãªããŸããã§ããã Ivanã¯ãAOTã«é©ãããããã¡ã€ãªã³ã°æ¹æ³ãJVMå ããã³ãŒãããããã¡ã€ãªã³ã°ããå Žåã®äœè£ãããã³ãããã¡ã€ã©ãŒã®æ±çšæ§ã«å¯ŸããŠæ¯æãå¿ èŠããããã®ãæããŠãããŸãã
ã«ã¹ã¿ã ã©ã³ã¿ã€ã
ã©ã³ã¿ã€ã ã¯ãèŠããã«ãJVMèšèªã§é«ã¬ãã«ã®ã³ãŒããååŸããäœã¬ãã«ïŒããšãã°ãã·ã³ã³ãŒãïŒã«å€æããŠå®è¡ããã»ã¹ãå¶åŸ¡ãããã®ã§ãã éåžžãã¢ã»ã³ãã©ãŒãã³ã³ãã€ã©ãŒãã€ã³ã¿ãŒããªã¿ãŒãä»®æ³ãã·ã³ãªã©ããããŸãã ã©ã³ã¿ã€ã ã®æ©èœã¯ãé©çšãããã¿ã¹ã¯ã®ããã©ãŒãã³ã¹ã®æ©èœãå®çŸ©ããŸãã
ããã°ã©ã ã«æåã«æ³šç®ããã®ã¯ã JDKã«é¢ããAlibabaã¬ããŒãã§ãã ãã©ãã¯ãžã£ãã¯ãšã³ã«ãŒãã³ã䜿çšããŠç¬èªã®JDKãäœæããããšã倢èŠãŠããªã人ã¯ããŸãããïŒ ããããããã¯å°çã®ãããªåŽåãçã¿ãèŠãã¿ã§ããããšã¯èª°ã«ãšã£ãŠãæããã§ãã ããããã¢ãªããã§ã¯ãããå€æããŸããã ããã«åœŒããæã£ãŠãããã®ããããŸãïŒ
- GCã®ãªãŒããŒããããªãã§é衚瀺é åã®ãªããžã§ã¯ããéžæã§ããç¹å®ã®ã¡ã«ããºã ã
- JVMã«çŽæ¥çµã¿èŸŒãŸãã軜éã¹ã¬ããïŒã³ã«ãŒãã³ïŒã¯ãéåæããã°ã©ãã³ã°ã«å¿ èŠã§ãã
- ã©ã€ããããã¡ã€ãªã³ã°æ©èœ
- å¥ã®çŽ æµãªããããªããš
ã¯ããç§ãã¡ïŒOpenJDKã䜿çšããŠããäžè¬å€§è¡ïŒã¯éããªãProject Loomã䜿çšããŸãã ãããã埮åŠãªéãããããŸã-Loomã§ã®ã³ã«ãŒãã³ã®éçºã¯ãäž»ãªç®æšã§ããç¹ç¶ã«æ¬¡ããã®ã§ãã ãã¡ã€ããŒã¯åºåãããç¶ç¶ãå¿ èŠãšããŸããããããªãã¯APIã«ããã«ããŸãã¯ãŸã£ããç»å Žããå¿ èŠã¯ãããŸããã ã¢ãªããã§ã¯ãããããã¹ãŠããã§ã«ç¬èªã«æŽãæµãããŠããããã§ãã
ç§ãç解ããŠããããã«ãããã¯ãç¬èªã®ãããã©ã€ãšã¿ãªJDKã䜿çšããããšããã«ããŽãªããã®ã¬ããŒãã§ã¯ãªããåæ§ã®æ©èœã®éçºããã¹ã¿ãŒããããOpenJDKã§ã®äžåšãšæŠã人ã ã®ããã®ã¬ã€ãã§ãã ããšãã°ããããã¡ã€ãªã³ã°ããŒã«ã¯ããããã¡ã€ã«å¯Ÿè±¡ã®é åãšã¯ãŒã¯ããŒãã«äŸåããŸãã補åããšã«ç°ãªããŸãã Alibabaã®ã¹ããŒã«ãŒã¯ã圌ã®ããŒã«ã«ã€ããŠè©±ãã ãã§ãªããã¯ãŒã¯ããŒããåé¡ããããã»ã¹ã«ã€ããŠã話ããŸããããã¯ããã®ãããªããŒã«ãæ£ããæ¹åã«éçºããŠããŸãã
ãšããã§ãã³ã«ãŒãã³ã«ã€ããŠè©±ããŠããã®ã§ã ãããã¯Kotlinã«ããŒãžã§ã³1.1ïŒ å®éšç¶æ
ïŒããç»å Žãããããã«ã€ããŠã¯JetBrainsã®Roman Elizarovã«ããå ±åãããã§ãããã ãã®å°èª¬ã§ã¯ãéåæããã°ã©ãã³ã°ãžã®ã¢ãããŒãã®é²åããããã®éããšé¡äŒŒæ§ã«ã€ããŠèª¬æããŸãã ããã«ãçŸåšã®Kotlinã«ãããã®ããããªãã¿ã®async/await
ãããåªããŠããã®ã¯ãªãããšããå
¬åŒã®ç«å ŽãèããŸãã
è¡ãéããªãããã«ããããã«ãAlibaba JDKã¯çãããšã³ã·ã¹ãã ã®å¯äžã®ä»£è¡šè ã§ã¯ãããŸããã ãã¡ãããAzul Zingã«ã€ããŠã®ã¬ããŒãããããOpenJ9ã«ã€ããŠã¯2ã€ ïŒ 1ã2 ïŒãããŸãã
Azul補åã®å éšã«é¢ãããã¹ãŠã®ã¬ããŒãã«ã¯ãç§ã«ãšã£ãŠããçš®ã®æ²ãã¿ããããŸãã ç§ã®äººçã®äžã§ãç§ã¯åœŒãã®ã¯ãŒã«ã§ã¯ãããéåžžã«é«äŸ¡ãªæ±ºå®ã䜿ã£ãŠéžæã®èŒªã«å ¥ããªããã°ãªããªãã£ãã ãããã£ãŠãç§ã«ãšã£ãŠã¯ããã®æ°ããã¬ããŒã㯠ããã€ãã£ãOpenJDKãšç«¶åãããã¯ãããžãŒã«é¢ããæ å ±æºãšããŠçè«çã«éèŠã§ããå¯èœæ§ãé«ããªããŸãã çŸåšãOpenJDKã§ã¯ãAOTããŒããç©æ¥µçã«éçºãããŠããŸã-OpenJDK JDK 9ã«ã¯ãæ¢ã«AOTïŒ64ãããLinuxã®ã¿ïŒãçµã¿èŸŒãŸããŠããã SubstrateVMãããã Metropolisãããžã§ã¯ãã®å®è£ ãŸã§ã¯æ¹åãããŸãã æ®å¿µãªãããJavaã®AOTã§ã¯ãããã»ã©åçŽã§ã¯ãªããçŸä»£ã®ã€ã³ãã©ã¹ãã©ã¯ãã£ã®äžéšãå£ãããšã¯éåžžã«äžæå¿«ã§ãïŒ Nikita Lipskyã«ãããæ²ãã£ãŠèšèšãããOSGiã«ã€ããŠã®å£®å€§ãªã¬ããŒããæãåºããŠãã ããïŒã Azulã¯ã ReadyNowãšåŒã°ããæ¢è£œã®AOTãœãªã¥ãŒã·ã§ã³ãZingã«çµã¿èŸŒã¿ãJITãšAOTã®æé«ã®å質ãçµã¿åãããããšããŠããŸããããããã®ã¬ããŒãã®ç®çã§ãã
ã³ã¡ã³ãã§æ£ããææãããŠããããã«ãã¹ããŒã«ãŒã玹ä»ããå¿ èŠããããŸãã ã€ãŸããAzulã®äž»èŠãªéçºè ã§ããDouglas Hawkinsã¯ã15幎éJavaã«æºããããã€ãªã€ã³ãã©ããã£ã¯ã¹ãéèãå°å£²ãªã©ã®ããŸããŸãªåéã«åå ããŸããã 圌ãjavamirã«äœãã§ããã°ããã»ã©ã圌ã¯JVMã®å éšã«æ·±ãå ¥ã蟌ã¿ãAzulãé¢ããŠZingã®ä»äºãããããã«ãªãããã®ReadyNowã®ã¡ã€ã³éçºè ã«ãªããŸããã ã€ãŸããããã¯ããªã±ãŒãã®äž¡åŽã蚪ãã人ã§ããå¿çšéçºè ãšããŠãã·ã¹ãã éçºè ãšããŠãããããŠãã®çµæãšããŠéåžžã«ãŠããŒã¯ãªçµéšãããŸããã
äžæ¹ãOpenJ9 ã¯ä»ããããŠã³ããŒãã§ããŸã ã IBMãEclipse Foundationã§ä»®æ³ãã·ã³ããªãŒãã³ããŠä»¥æ¥ããã®åšèŸºã«ã¯å€ãã®èªå€§å®£äŒããããŸããã äžè¬ã®äººã ã«ã¯ãHotSpotãHotSpotã«çœ®ãæããããšãã§ããOpenJDKã®ã©ã€ãã©ãªãç°¡åã«åå©çšã§ããããšã䜿çšãããã¡ã¢ãªã®éãæžããå¿ èŠãããããšãGPUã«äœãã転éã§ããããšã«ã€ããŠãäžå®ã®ã¢ã€ãã¢ãšäºå®ããããŸã...ãããŠãäžè¬ã«ãããã ãã§ãã ïŒã¡ãªã¿ã«ãGPUã¯äžè¬çã«äžè¬çã«é»éè¡ã®ããã«èŠããŸã-è¯ããéå»ã«Joker Dmitry Alexandrovã¯ãJavaãšGPUïŒç§ãã¡ã¯ã©ãã«ããŸããïŒããšããçŽ æŽãããå ±åãããŸããããŸã ãããªã¯ãããŸãããã ã¹ã©ã€ããèŠãããšãã§ããŸãïŒã
æåã®ã¬ããŒãã ãEclipse OpenJ9 JVMïŒæ·±ããã€ãïŒã ValhallaãšPanamaã«åãçµãã§ããIBM J9éçºè ã§ããTobi Ajilaæ°ã¯ãã€ã³ã¿ãŒããªã¿ãŒãJVMTIãã©ã ãã®æ¹åãªã©ã®é·ãå®çžŸããããšèšããŸãã ã©ããããOpenJ9ã®ããã€ãã®æè¡çæ©èœã®èª¬æãããã§ããããããã«ãããã¯ã©ãŠããœãªã¥ãŒã·ã§ã³ããã®ä»ã®ããã©ãŒãã³ã¹ãéèŠãªããšããªãŒããŒã¯ããã¯ã§ããŸãã 2çªç®ã®ã¬ããŒããEclipse OpenJ9 GCãã¯ãããžãŒã®è©³çŽ°ãã¯ãåããIBMã®OpenJ9ã¬ããŒãžã³ã¬ã¯ã¿ã¢ãŒããã¯ããäž»å°ããŸãã4ã€ã®ã¬ããŒãžã³ã¬ã¯ã·ã§ã³ããªã·ãŒããããã䜿çšããå Žæãããã³ãã®ãã¹ãŠãå éšã§ã©ã®ããã«æ©èœãããã«ã€ããŠãéåžžã«å®çšçãªã¹ããŒãªãŒããããŸãã ãããã®ã¬ããŒããèããåŸãOpenJ9ã«ãŸã€ããéæ³ã®ãªãŒã©ããããã«æžå°ããããšãé¡ã£ãŠããŸãã
ãããã«
ãã®2æ¥éã§ã12ã®ã¬ããŒãã«ã¢ã¯ã»ã¹ã§ããŸãã ãããã®ãã¡ã3ã€ã®åºèª¿è¬æŒã¯å šå¡ã«å ±éããŠããããã9åéžæããå¿ èŠããããŸãã ãã®ãªã¹ãããã®ã¿ã¬ããŒããéžæããå Žåã9ã€ã®ãã¡7ã€ã決å®ã§ããŸããæ®ãã®2ã€ã¯å¥œã¿ã«åãããŠéžæã§ããŸãïŒãæ®éçãªããããã¯ã«ã€ããŠãèŠéãå¿ èŠã§ããïŒïŒã äžéšã®ã¬ããŒãã¯äºãã«äº€å·®ããŠããŸãïŒåæ¥ã®13.45ã§æãé£ããéžæã¯ãSasha Goldsteinã®ã³ã³ãããŒã®ãããã¡ã€ã«ãNikita Kovalã®ããŒããŠã§ã¢ãã©ã³ã¶ã¯ã·ã§ã³ã¡ã¢ãªãRoman Elizarovã®Kotlinã³ã«ãŒãã³ã®éã§ãïŒã ããã©ãŒãã³ã¹ãšã©ã³ã¿ã€ã ã«èå³ã®ãã人ã®èŠ³ç¹ãããããã°ã©ã ã¯æåããæåŸãŸã§èå³æ·±ãããã«ååã«èšèšãããŠãããšããèãããããŸãã äŒè°ã§äŒããŸãããïŒ
JPoint 2018ã®åã«1ãææªæºãæ®ã£ãŠããŸãã ãã±ããã¯ãŸã å ¬åŒãŠã§ããµã€ãã§è³Œå ¥ã§ããŸã ã