
10æ14æ¥ã«ãé«è² è·ãããžã§ã¯ãã«ç¹åããHighload fwdaysäŒè°ãããšãã§éå¬ãããããŒã¿ããŒã¹ãšã¢ãŒããã¯ãã£ãç¹ã«ãã€ã¯ããµãŒãã¹ãæ©æ¢°åŠç¿ãããã°ããŒã¿ãæäœããŸããã DataArtã¯äŒè°ãåŸæŽããŸããã ãŸããååã®Igor Masternoy ïŒJavaã³ãã¥ããã£DataArt Kievã®ãªãŒããŒïŒãšAnna KolotïŒ.NETãSharePoint DeveloperïŒã蚪åããã¬ããŒãã«ã€ããŠè©±ããŸããã
äŒè°ããã°ã©ã ã®è©³çŽ°ã«ã€ããŠã¯ã ãã¡ããã芧ãã ãã ã
Facebookã®Dmitry Okhonkoã«ãã Log Deviceã«é¢ããã¬ããŒãããã¬ãã¥ãŒãå§ããŸãããã ãããã«å¥ã®ãã°ã¹ãã¬ãŒãžããšèããã§ãããã ããªãã¯æ£ããã§ããããããã®ãã°ã¹ãã¬ãŒãžã¯ãã®äœæè ããéç«ã£ãŠããŸãã Facebookã¯åž¯åå¹ ã1TB / sã§ãããšäž»åŒµããŠããŸãã ãããŠããã®ãããªå€§éã®ããŒã¿ã®åŠçã圌ããã©ã®ããã«åŠçããããç¥ãããšã¯èå³æ·±ãããšã§ããã
ãã°ããã€ã¹

ãã°ããã€ã¹ãšã¯äœã§ããïŒ æ¬¡ã®ãŠãŒã¶ãŒäºäŸããã¬ãŒã³ããŒã·ã§ã³ã§çºè¡šãããŸããã
- ãµãŒãã¹éã®ä¿¡é Œã§ããéä¿¡ã
- å èªã¿ãã°ã
- ç¶æ ã®è€è£œã
- ãžã£ãŒããªã³ã°ã
- 倧ããªåæ£ããŒã¿ã¹ãã¢ã§ã»ã«ã³ããªã€ã³ããã¯ã¹ãç¶æããŸãã
ãã®ã·ã¹ãã ã¯ãè¿ éã«ç¢ºå®ã«ã¢ã¯ã»ã¹ã§ããããã«èšèšãããŠãããäœäžçŽã«ãããã£ãŠãã¢ãã¬ã¹å¯èœãªæå°åäœã§ããèšå€§ãªæ°ã®è¿œå å°çšãã°ãèšé²ããŸãã ããã«ãã·ã¹ãã ã¯ãã°ã®èšé²é åºãšãå¿ èŠã«å¿ããŠãã°ãååŸããæ©èœãä¿èšŒããå¿ èŠããããŸãã ãã®ã¢ãŒããã¯ãã£ãèŠãŠã¿ãŸãããã

å³ 1 LogDeviceã¢ãŒããã¯ãã£ã
LogDeviceã«æžã蟌ãŸããããŒã¿ã¯ãéå§ã®ããã«ãããããã·ãŒã±ã³ãµããŒãã«ç§»åããŸãïŒå³ã§ã¯ããããã¯èµ€ãšç·ã®è±åœ¢ã§ãïŒã åãã°ã«ã¯ç¬èªã®ã·ãŒã±ã³ãµãŒããããå å·ãšã¬ã³ãŒãã®ã·ãªã¢ã«çªå·ãšãã2ã€ã®æ°åã§æ§æãããæ°åãçæãããŸãã ãã®èå¥åã®çµã¿åããã¯ãã·ãŒã±ã³ãµãŒèªäœã®ãã©ãŒã«ããã¬ã©ã³ã¹ãä¿èšŒããããã«å¿ èŠã§ãã ã·ãŒã±ã³ãµããŒããåæ¢ããå Žåãæ°ããããŒãã¯ãã°ãèšé²ãç¶ããå¿ èŠãããããã®èå¥åã¯ä»¥åã«èšé²ããããã®ãããå€ããªããŸãã ãã®ãããæ°ããããŒãã¯æ代ã®æ°ãå¢ãããŸãã ãã°ã¡ã¿ããŒã¿ããã°æ代ã®èå¥åã¯ãzookeeperã«ä¿åãããŸãã
次ã«ãååŸãããèå¥åãæã€ãã°ã¯ãç¹å®ã®æ°ã®ã¹ãã¬ãŒãžããŒãã«èšé²ãããŸãã ã¹ããŒã«ãŒã¯ãã¹ãã¬ãŒãžããŒãå ã§ãKey-Value Rocks DBããŒã¿ããŒã¹ãå転ããŠãããšèª¬æããŸããã ãã®äžã®åãã°ã¯ã次ã®åœ¢åŒã®èšé²ã§ãã
{LOG_ID, LSN, COPYSET, DATE, Payload}
- LOG_ID-ãã°ã¿ã€ãã
- LSN-ã¬ã³ãŒãèå¥åã
- COPYSET-ã¬ã³ãŒããå«ãããŒãã®èå¥åã®ãªã¹ãã
- ãã€ããŒã-ãã°ã®æ¬æã
ã¬ã³ãŒãã®èªã¿åãã¯ã©ã®ããã«æ©èœããŸããïŒ å³ãããããããã«ãåReaderã¯ã©ã€ã¢ã³ãã¯ãå¿ èŠãªãã°ã®ã¬ã³ãŒããå«ããã¹ãŠã®ããŒãã«æ¥ç¶ããŸãã åããŒãã¯ãæå®ãããèå¥åãŸãã¯æ¥ä»ã§å§ãŸãã¬ã³ãŒããçºè¡ããŸãã Readerã¯ã©ã€ã¢ã³ãã®ã¿ã¹ã¯ã¯ãéè€ãåé€ããåä¿¡ããã¬ã³ãŒãããœãŒãããããšã§ãã
Facebook㧠LogDeviceã®è©³çŽ°ãèªãããšãã§ããŸãã ãªãŒãã³ãœãŒã¹ã§ã®èšç»çãªãªãªãŒã¹ã¯2017幎ã®çµããã§ãã
MLã¬ããŒã

HighloadãšBig Dataã«ã€ããŠã®ã¹ããŒããããè¿æã§ã¯ãæ©æ¢°åŠç¿ã®ãã¡ãã·ã§ããã«ãªæ¹åæ§ãããæ·±ãç¥ãããšãã§ããŸãã Sergey VashchilinïŒPayMaxiïŒã®ãã»ãã³ãã£ãã¯ããã¹ãåæãšçäœã®æ€çŽ¢ãããã³Aleksand ZarichkovaïŒRing UkraineïŒã®ããªã¢ã«ã¿ã€ã ã®é¡æ€åºããé«éãã®ã¬ããŒããèãããšãã§ããŸããã
ããã¹ãæå³è§£æ
è¬æŒè ã¯ãã®åéã®åºæ¬çãªã¢ã«ãŽãªãºã ã«ã€ããŠèª¬æããŸããããæ©æ¢°åŠç¿ã®ãããã¯ã¯æããã«ãããŠããŸããã§ããã ã¬ããŒãã¯ã SVDã¢ã«ãŽãªãºã ãããã¥ã¡ã³ãããŒã¯ãŒãã®æ€çŽ¢çšã®tf-idfãã·ã³ã°ã«ã¢ã«ãŽãªãºã ãããã³2ã€ã®ããã¥ã¡ã³ãã®é¡äŒŒæ§ãæ¯èŒããããã®lzmã¢ãŒã«ã€ãã®äœ¿çšãæ瀺ããŸããã èè ã説æããã·ã¹ãã ã¯ãããã¥ã¡ã³ãã®äžèŽãæ¯èŒçå®äŸ¡ã«ãã§ãã¯ããæ¹æ³ã§ãã
ã·ã¹ãã ã®å ¥åæã«ãSVDã䜿çšããŠããŒã¯ãŒããèŠã€ãã£ãããã¥ã¡ã³ããä¿åãããŸãããããã®åèªã¯ãã€ã³ã¿ãŒãããäžã®é¡äŒŒããã¥ã¡ã³ããæ€çŽ¢ããããã«äœ¿çšãããŸãã ãã£ãã·ã¥ãšããŠãApache Luceneã䜿çšããŠæ€çŽ¢ãé«éåããŸããããã«ãããããã¥ã¡ã³ããããŒã«ã«ã«ä¿åããŠã€ã³ããã¯ã¹ãäœæã§ããŸãã èŠã€ãã£ãããã¥ã¡ã³ãã¯ãã·ã³ã°ã«ã¢ã«ãŽãªãºã ã䜿çšããŠåŠçãããåä¿¡ããã¥ã¡ã³ããšæ¯èŒãããŸãã
ãã®ã·ã¹ãã ã®å©ç¹ã¯ãã¢ããã°ãšæ¯èŒããå Žåã®ã·ã³ãã«ããšäœéçºã³ã¹ãã§ãã ãã®ã·ã¹ãã ã®æ¬ ç¹ã¯ãããã¹ãã®å®éã®ã»ãã³ãã£ãã¯åæã®æ¬ åŠãšããŒã¯ãŒãã®ããã€ã³ããªãžã§ã³ããªæ€çŽ¢ã§ãã
ãªã¢ã«ã¿ã€ã ã®é¡æ€åºãããé«é
ãã®ã¬ããŒãã¯ãåçå ã®ãªããžã§ã¯ããèªèãããªããžã§ã¯ãäžã®äœçœ®ãç¹å®ããããã®æ©æ¢°åŠç¿æ¹æ³ã®æŠèŠãæäŸããŸããïŒå³2ãåç §ïŒã ã¹ããŒã«ãŒã¯ã Viola-Jonesæ€åºåšããYOLOãSSDãªã©ã®ææ°ïŒ2015幎ïŒã®ç³ã¿èŸŒã¿ãã¥ãŒã©ã«ãããã¯ãŒã¯ã«è³ããŸã§ã®èªèæ¹æ³ã®è©±ãããŸããã

å³ 2ãªããžã§ã¯ããšãã®å Žæã®èªèã
ãã®ã¬ããŒãã¯ããŠã¯ã©ã€ãã®ã¹ã¿ãŒãã¢ããRing Ringã«ãã£ãŠæ瀺ããããããç¹ã«èå³æ·±ããã®ã§ããã ã¹ããŒãããæãããªããã«ã説æãããã¥ãŒã©ã«ãããã¯ãŒã¯ã¯ããã¢ã§é³Žã£ãŠãã人ã®é¡ãå€å¥ããããã«åºã䜿çšãããŠããŸãã 話è ã«ãããšãäž»ãªé£ç¹ã¯ãªã¢ã«ã¿ã€ã ã§ã®çºä¿¡è ã®å®çŸ©ã®ãŸãŸã§ãããããã«ã¯é«éã®èªèèªäœãå¿ èŠã§ãã ææ°ã®ãã¥ãŒã©ã«ãããã¯ãŒã¯YOLOãŸãã¯SSDã«ã¯ãã®ãããªç¹æ§ããããŸãã以äžã¯ãããŸããŸãªãã¥ãŒã©ã«ãããã¯ãŒã¯ã®ã¢ãŒããã¯ãã£ã®æ¯èŒè¡šã§ãã
è¡š1.ãã¥ãŒã©ã«ãããã¯ãŒã¯ã¢ãŒããã¯ãã£ã®æ¯èŒ
ã¢ãã« | é»è» | mAP | ãããã | Fps |
---|---|---|---|---|
ãšã | BVOC 2007 + 2012 | 40.19 | 40.19 | 45 |
SSD300 | VOC 2007 + 2012 | 63.4 | - | 46 |
SSD500 | VOC 2007 + 2012 | 74.3 | - | 19 |
YOLOv2 | VOC 2007 + 2012 | 76.8 | 34.90 | 67 |
YOLOv2 544x544 | VOC 2007 + 2012 | 76.8 | 59.68 | 40 |
ã¿ã€ããŒãšãŒã | VOC 2007 + 2012 | 57.1 | 6.97 | 207 |
è¡š1ãããããããã«ããã¥ãŒã©ã«ãããã¯ãŒã¯ã¯ãé床ïŒFPS-1ç§ãããã®ãã¬ãŒã æ°ïŒãšèªèã®ç²ŸåºŠïŒmAP-å¹³åå¹³å粟床ïŒã®ç¹æ§ãç°ãªããããç¹å®ã®ã¿ã¹ã¯ã®ãã¥ãŒã©ã«ãããã¯ãŒã¯ãéžæã§ããŸãã
Elastic 6ã®æ°æ©èœ

Elasticã®Philip Krennã«ããã¬ããŒãã¯ãæ€çŽ¢ãšã³ãžã³ã®äººæ°ã远跡ããdb-engines.comã®ä»¥äžã®è¡šããå§ãŸããŸããã Elasticã¯ãæãè¿ã競åä»ç€Ÿã§ããSolrã®2åå ãè¡ã£ãŠããŸãã CERNãGoldman SachsãSprintãªã©ã®çµç¹ã§äœ¿çšãããŠããŸãã

8æã«ãªãªãŒã¹ãããæ°ããElastic 6ããŒã¿çã®äœããããã®ã§ããïŒ ã¬ããŒãã§ã¯ã次ã®ã€ãããŒã·ã§ã³ãæ瀺ãããŸããã
ã¯ãã¹ã¯ã©ã¹ã¿ãŒæ€çŽ¢
è€æ°ã®Elasticã¯ã©ã¹ã¿ãŒã§ããŒã¿ãæ€çŽ¢ã§ããŸãã ãã®ãããªæ©äŒã¯ãã§ã«ååšããŠããŸããããTribeããŒãã®å©ããåããŠæé©ã«å®è£ ãããŠããŸããã§ããã ãã©ã€ãã¯äž¡æ¹ã®ã¯ã©ã¹ã¿ãŒã®ããŒãžãããç¶æ ãä¿æããåElasticå¶åŸ¡ã¯ã©ã¹ã¿ãŒã®ç¶æ ã®æŽæ°ãåãå ¥ããŸããã ããã«ãèŠæ±ãåä¿¡ããTribeããŒãã¯ãã©ã®ã€ã³ããã¯ã¹ãã·ã£ãŒããããã³ããŒââããããŒãªã³ã°ããã©ã®äžäœNããã¥ã¡ã³ããããŒãããããåå¥ã«æ±ºå®ããŸããã
ã¯ã©ã¹ã¿ãŒéæ€çŽ¢ã§ã¯ãåå¥ã®å°çšããŒããšäž¡æ¹ã®ã¯ã©ã¹ã¿ãŒã®ããŒãžãããç¶æ ã¯å¿ èŠãããŸããã ã©ã®ããŒãã§ããã¯ã©ã¹ã¿ãŒéèŠæ±ãåãå ¥ããããšãã§ããŸãã ã¯ãã¹ã¯ã©ã¹ã¿ãŒèŠæ±ã¯ãå¥ã®ã¯ã©ã¹ã¿ãŒã®3ã€ã®æ§ææžã¿ã·ãŒãããŒããšéä¿¡ãã調æŽããŒãã«ãã£ãŠåŠçãããŸãã ãŸããã³ãŒãã£ããŒã¿ãŒããã®æ¥ç¶ãçŽæ¥åãå ¥ãããããã·ãšããŠæ©èœããã²ãŒããŠã§ã€ããŒããæ§æããããšãã§ããŸãã APIã®èŠ³ç¹ãã調æŽããå Žåãå¥ã®ã¯ã©ã¹ã¿ãŒã®ã€ã³ããã¯ã¹ã®æ€çŽ¢ã¯ãšãªã«éãã¯ãããŸãããçµæã«ã¯ã2çªç®ã®ã¯ã©ã¹ã¿ãŒã®ååã®ãã¬ãã£ãã¯ã¹ãä»ããããŸãã ã¯ãã¹ã¯ã©ã¹ã¿ãŒæ€çŽ¢ã¯ãæ€çŽ¢APIãçµ±åããTribeããŒããšæ¯èŒããŠããã€ãã®å¶éãåé€ããŸãïŒããŒã«ã«ã¯ã©ã¹ã¿ãŒãšé¢é£ã¯ã©ã¹ã¿ãŒã§åãååã®ã€ã³ããã¯ã¹ã§æ€çŽ¢ããŸãïŒã 詳现ã«ã€ããŠã¯ã ãã¡ããšãã¡ããã芧ãã ãã ã
æ¢åã®Elastic 5ã¯ã©ã¹ã¿ãŒãElastic 6ã«ç§»è¡ããæ¹æ³ã¯ïŒ 6çªç®ã®ããŒãžã§ã³ãããElasticã¯ã©ã¹ã¿ãŒãåæ¢ããããšãªããããŒãªã³ã°ã¢ããã°ã¬ãŒãã䜿çšããŠããŒãžã§ã³ãæŽæ°ã§ããŸãïŒElastic 5.6ããElastic 6ãžã®åãæ¿ããæå¹ïŒã
ã·ãŒã±ã³ã¹çªå·
ã·ãŒã±ã³ã¹çªå·ã¯ãElastic 6ã®éèŠãªæ°æ©èœã®1ã€ã§ããæŽæ°ãåé€ãæžã蟌ã¿ã®åæäœã«ã¯ã·ãŒã±ã³ã·ã£ã«èå¥åãå²ãåœãŠããããããé ããã»ã«ã³ããªã¬ããªã«ã¯ããã¡ã€ã«ãã³ããŒããã«içªç®ããå§ãŸããã©ã³ã¶ã¯ã·ã§ã³ãã°ããæäœã®é²æã埩å ã§ããŸãã ãŠãŒã¶ãŒã«ã¯ããã©ã³ã¶ã¯ã·ã§ã³ãã°ã®ä¿åæéãèšå®ããæ©äŒãäžããããŸãã
çš®é¡
Elasticsearchã¯ä»¥åããããã³ã°ã¿ã€ããããŒã¿ããŒã¹ïŒã€ã³ããã¯ã¹ïŒå ã®ããŒãã«ãšããŠè¡šçŸããŠããŸããã ããšããã®ããšãã¯å®å šã«æ£ç¢ºã§ã¯ãããŸãããã åãååã®ããŒã¿ããŒã¹å ã®åã¯äºãã«äŸåããŠããŸããããElasticã§ã¯ã2ã€ã®ç°ãªããããã³ã°ã¿ã€ãã®ãã£ãŒã«ãã¯åããã£ãŒã«ãã¿ã€ãã§ãªããã°ãªããŸããã ããã¿ã€ãã®åé€ãããæ¥ä»ãã£ãŒã«ããå¥ã®ã¿ã€ãã®ããŒã«å€ã«å²ãåœãŠãããšã¯ã§ããŸããã ããã¯ãElasticãåãæ£ç¢ºã«å®è£ ããããã§ãã Elasticã®ããŒãã®äžã«ããApache Luceneã¯ãåããã£ãŒã«ãã«ç°ãªãã¿ã€ãã®ãã£ãŒã«ããæ ŒçŽããŸãã çŸåšãElasticã¯ã€ã³ããã¯ã¹ã®ã¿ã€ãã段éçã«å»æ¢ããããšã決å®ããŸããã Elastic 6ã§ã¯ãåã€ã³ããã¯ã¹ã«å«ããããšãã§ããã¿ã€ãã¯1ã€ã®ã¿ã§ãããã€ã³ããã¯ã¹äœææã«æå®ããããšã¯ã§ããŸããã å°æ¥ã®ããŒãžã§ã³ã§ã¯ãåãµããŒãã¯å®å šã«å»æ¢ãããŸãã
å®éã®é«è² è·ãããžã§ã¯ãã®ããã10ã¢ãŒããã¯ãã£ãã¡ã€ã«
Dmitry Menshikovã®ãã¬ãŒã³ããŒã·ã§ã³ ãæ¬åœã®é«è² è·ãããžã§ã¯ãã®ããã10ã¢ãŒããã¯ãã£ãã¡ã€ã«ããæ°ã«å ¥ããŸããã ããããªãŒã¯çãŸãã€ãã®ã¹ããŒã«ãŒã§ãããèšèãææããã¹ããŒãã«ãŠãŒã¢ã¢ãå ãã芳客ã®é¢å¿ããµããŒãããŸãã è¬æŒè ã¯10件ã®äºäŸã瀺ããåé¡ã®åå ãšç¶æ³ã®è§£æ±ºæ¹æ³ã説æããŸããã
äŸïŒ
- ãããžã§ã¯ãã®éçšéå§åŸã«çºèŠããããæ¥ä»+æé+ MACã¢ãã¬ã¹ããã³128ãããã®é·ãã®åœ¢åŒã®UUIDãéžæããéã®èª€ããšããŠãããã¯é床äœäžã«ã€ãªããã2幎éã®éçºã³ã¹ããããããŸããã ãããŠãã€ã³ããã¯ã¹ã®é·ãã4ãã€ãã«å¢ãããšããç°¡åãªæ±ºå®ãšããŠãç¶æ³ãä¿åããŸããã ãåç¥ã®ããã«ãã¿ã€ã ã¹ã¿ã³ãã¯60ãããå€ã§ãããUUIDããŒãžã§ã³1ã®å Žåã10æ15æ¥ã®00ïŒ00ïŒ00.00ããå§ãŸããUTCã®100ããç§ééã®ã¢ã«ãŠã³ããšããŠè¡šç€ºãããŸãã åé¡ã¯ãèå¥åã®çæã®ç¹åŸŽã«ãããæåã«ç¬¬2éšåãå«ãŸããå¯èœæ§ãšåäžãªååžã®æ¬ åŠãèæ ®ãããŠããªãããšã§ããã

- æ°ããéçºè ãé·æã«ããããã¹ãã®ä¿®æ£ã決å®ãããšããããŒã®ååšã®ãã§ãã¯ãè¿œå ããããŒãæããªãçŽ200äžã®ãŠãŒã¶ãŒã¡ãã»ãŒãžã倱ãããŸããã
ç§ãã¡ã®æèŠã§ã¯ãã¬ããŒãã¯è€éãªçç£ã®è©³çŽ°ã§é£œåããŠããŸããã§ããã ããããçµè«ã¯å€ãããŸãããå®è£ ããããœãªã¥ãŒã·ã§ã³ã¯å®éã«ãã¹ããããå€æŽãã·ã¹ãã ã«ã©ã®ããã«åœ±é¿ããããèããªããã°ãªããŸããã
ãã€ã¯ããµãŒãã¹ã¢ãŒããã¯ãã£ãã©ãã
GlobalLogicã®ã·ã¹ãã ã¢ãŒããã¯ãã§ããNikita Galkinã¯ã ãMicroservice Architecture Trapsããšããã¿ã€ãã«ã®è«æãçºè¡šããŸããã Nikitaã«ãããšããã€ã¯ããµãŒãã¹ã®å®è£ ã«ãããäž»ãªåé¡ã¯ããã³ãã¬ãŒãã¢ãããŒãã䜿çšããã«éçºããããšã§ã-ããå Žåã«ã¯èšå®ãã¡ã€ã«ãconfigãšåŒã°ããå Žå-ä»ã®å Žåã¯èšå®ãªã© éçºããã»ã¹äžã®ããã¥ã¡ã³ãã®æ¯æ¥ã®æŽæ°ã®æåŠã æ¢ã«å®è£ ãããŠãã補åã®ããã¯ã¹æ段ã«ãã£ãŠåé¡ã解決ã§ãããã€ã¯ããµãŒãã¹ã®äœ¿çšã
[ããŒãž]ã®è² è·ãé«ã
èå³æ·±ãå ±åã¯ãäžçäžã®å®¶åºæåž«ãèŠã€ããããã®ãµã€ãã§ããPreply.comã®å ±åèšç«è ã§ããDmitry Voloshinã«ãããé«[ããŒãž]è² è·ãã§ããã Dmitryã¯ããµã€ãã®éçºã®æŽå²ããŠãŒã¶ãŒæ°ã300äžäººãã100äžäººã«å¢å ãããµã€ãã倧éžéåžå Žã«åå ¥ããããšã§ãããŒãžã®èªã¿èŸŒã¿æéã枬å®ããã³æ¹åããå¿ èŠãçããæ¹æ³ã«ã€ããŠèª¬æããŸããã
ã¬ããŒãã®äž»ãªã¢ã€ãã¢ã¯ãããŒãžã®èªã¿èŸŒã¿é床ã«åœ±é¿ããèŠå ãç¶ç¶çã«ç£èŠããå¿ èŠãããããšã§ãã ããžãã¹ã®æåã¯ããŒãžã®èªã¿èŸŒã¿é床ã«äŸåãããããããã©ãŒãã³ã¹ãæ¹åããããã®äœæ¥ã®å¿ èŠæ§ã

ããŒãžã®èªã¿èŸŒã¿é床ãäžããããã«Preplyã䜿çšããããŒã«ïŒ
- åºæ¬ïŒãã£ãã·ã¥ãormã®æé©åã
- ããé«åºŠãªïŒã¬ããªã«ãè² è·åæ£ã
- currentïŒCDNããã€ã¯ããµãŒãã¹ã
