æçš¿è
ïŒAlex RussellãChromeãBlinkãããã³Google Web Platformã®éçºè
TL; DRïŒããã©ãŒãã³ã¹äºç®ã¯äžå¯æ¬ ã§ãããæåãã補åãšå¥å
šãªããŒã ã®éå°è©äŸ¡ãããŠããéšåã§ãã ç§ãã¡ã®ããŒãããŒã®ã»ãšãã©ã¯ãçŸå®äžçã®ç¶æ³ãèªèããŠããªããããééã£ããã¯ãããžãŒãéžæããŠããŸãã æåã®ããŒãåŸã®ãµã€ãã®å¯Ÿè©±æ§ã«5ç§ä»¥äžã®ã¿ã€ã ããžã§ãããèšå®ãããã®åŸã®ããŠã³ããŒãã«ã¯2ç§ä»¥äžã®ã¿ã€ã ããžã§ãããèšå®ããŸãã ãããã®æšæºã«åŸã£ãŠãå®äžçã®å
žåçãªããã€ã¹ãšå
žåçãªãããã¯ãŒã¯æ§æã«å¶éãããŠããŸãã ããã¯ã400 Kbpsãã£ãã«ãRTT 400 msã§200ãã«ã®Androidã¹ããŒããã©ã³ã§ãã ããã¯ãæ§æã«å¿ããŠãã¯ãªãã£ã«ã«ãã¹ãªãœãŒã¹ã®äºç®ãçŽ130ã170 KBã§ããããšãæå³ããŸããJSãå€ãã»ã©ãããªã¥ãŒã ã¯å°ãªããªããŸããéå»æ°å¹Žéãç§ãã¡ã¯äœåãã®ããŒã ãšä»äºãããããšãã§ããŸããã æã«ã¯éåžžã«äºæ³å€ã®å Žæã§ãä»äºã¯åçºçã§ããã æãäºæããªãçµæã®1ã€ã¯ãJavaScriptãã©ãããé »ç¹ã«çºçããããšã§ãã
ãææ°ã®ããã³ããšã³ããåå ã§ããžãã¹ãã£ã³ã¹ã倱ãããããšãè¡šãæ°ããçšèªãå¿
èŠã§ãã ãã¶ããJavaScriptãã©ãããïŒãããã°ã¬ãã·ãWebã¢ããªã±ãŒã·ã§ã³ïŒPWAïŒã®äœæãå
å°ãããããŒãžã£ãŒã¯ãå€ãã®å Žåãæ°èŠãŠãŒã¶ãŒãã»ãŒã·ãŒã ã¬ã¹ã«ãªãŒãã§ãã
äž»ãªçç±ãšåŒã°ããŸãã åæã«ãéçºè
ã¯ãã®ãããªç®æšãéæããããšãå¯èœã«ãããã¹ã¿ãªã³ã°ããŒã«ã§ãã 誰ãæªããã®ãæãã§ããŸããã ãã ããæ¢è£œã®PWAãããžã§ã¯ãã®çµæã¯ã蚱容ã§ããæå°ã®ããã©ãŒãã³ã¹ã確ä¿ããããã«ãæ°é±éãŸãã¯æ°ãæéã®èŠçãªå€æŽãå¿
èŠãšããããšããããããŸãã
ãã®å€æŽã«ããèµ·åãé
延ããéžæããPWAæŠç¥ã®å®è¡å¯èœæ§ã«é¢ããããŒã¿ã®åéãé
延ããŸãã å€ãã®å Žåãéçºè
ã¯æé
ãã«ãªããŸã§åé¡ãèªèããŸããã 圌ãã¯ããªããæé«ã®ã¹ããŒããã©ã³ã®è£çŠãªææè
ã®äžäººã§ãªãéããåã«äœ¿çšããããšãäžå¯èœãªãµã€ããç«ã¡äžããŸãã
åºæ¬ã¬ãã«èšå®
äžå¿«ãªçµæãé¿ããããšã«æåããããŒã ã¯ãããã€ãã®äžè¬çãªæ©èœã瀺ãåŸåããããŸãã
- ãªãŒããŒã¯ç±å¿ã§ãã ãå¿
èŠãªããšãè¡ããã¢ãããŒãã䜿çšããŠãã¢ããªã±ãŒã·ã§ã³ã®é«éåäœãä¿èšŒããã³ç¶æããŸãã
- ããã©ãŒãã³ã¹ã®äºç®ã¯æ©æã«èšå®ãããŸãã
- äºç®ã¯ãåžå Žã®ãããã¯ãŒã¯ãšããã€ã¹ã®èšå®ã«å¿ããŠèª¿æŽãããŸãã
- ç¶ç¶çã€ã³ãã°ã¬ãŒã·ã§ã³ïŒCIïŒããŒã«ãšã·ã¹ãã ã¯ãé²è¡ç¶æ³ã®è¿œè·¡ãšååž°ã®é²æ¢ã«åœ¹ç«ã¡ãŸãã
ãããã®ãã©ã¡ãŒã¿ãŒã¯çžäºã«åºã¥ããŠããŸãã䟿å©ãªãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ãŒã¹ã®éèŠæ§ãšããžãã¹ã«ãšã£ãŠã®é·æçãªäŸ¡å€ãç解ããŠããããã¥ã¢ã«ããªãå Žåãæ£ããããšãèšç»ããããšã¯å°é£ã§ãã ãã®ãµããŒããæã€ããŒã ã¯ãããã©ãŒãã³ã¹äºç®ãèšå®ãã競åããã¢ãããŒãéã§ãã³ã³ãã¹ãããéå¬ããçç£æ§ã€ã³ãã©ã¹ãã©ã¯ãã£ã«æè³ã§ããŸãã 人æ°ã®ããããŒã«ãççŸã蚌æããå Žåããäžè¬ã«åãå
¥ããããŠããæšæºãã«å察ããæå¿ããããŸãã
ããã©ãŒãã³ã¹äºç®ã®ãããã§ã誰ããåãããŒãã«ä¹ã£ãŠããŸã-ãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ã€ã¹ãæ¹åããããã«ãç±æãå
±æããæåãçãŸããŠããŸãã ãŸããäºç®ã®ããããŒã ãé²æã远跡ããã¹ã±ãžã¥ãŒã«ãäœæããã®ãç°¡åã§ãã ããã¯ç®¡çè
ã«åœ¹ç«ã¡ãŸãã圌ãã¯æè³ãæ£åœåããææ矩ãªææšãæã£ãŠããŸãã
äºç®ã¯ãã³ãŒãããŒã¹ã®ã©ã®å€æŽããŠãŒã¶ãŒã®èŠç¹ããäžæ©åé²ããããåŸéãããã決å®ããããã®
客芳çãªå¢çãèšå®ããŸãã ããããªããšãå¿
ç¶çã«trapã«é¥ããå®éã«èš±å¯ãããŠãã以äžã®äœè£ãããããšãè£
ããŸãã ãããŸãã«ãäºç®ãªãã§æåããRUMã¡ããªãã¯ãåéãã代衚çãªãŠãŒã¶ãŒããã€ã¹ã䜿çšããããŒã ãèŠãŠããŸããã
ããŒãããŒãšã®ããŒãã£ã³ã°ã¯ç®å®ã§ãã ãµã€ãã®ããã©ãŒãã³ã¹ãã©ãã»ã©å£æªã§ããããããã«ããããŸãã-ããããšã³ãã¹ããŒããã©ã³ã䜿çšããäž»èŠãªããã°ã©ããŒããããžã§ã¯ããããŒãžã£ãŒããšã°ãŒã¯ãã£ãã®å²åãšããŠã圌ãã¯äž»ã«
éœåžéšã§äœ¿çšããŠããŸãã
ãŠãŒã¶ãŒã®æ¹åã¯ã2ã€ã®æ®µéã§æ§æãããŠããŸãã
- ä»®å®ãåå®çŸ©ããçŸå®äžçã®æ¡ä»¶ã«å¯Ÿããç解ãæ·±ãã
- 客芳çãªããŒã¹ã©ã€ã³ã§ã®èªåãã¹ã
ããã³ããšã³ãã®éçºè
ãããã»ã©åªããããã©ãŒãã³ã¹æž¬å®ããŒã«ã蚺ææè¡ã«ã¢ã¯ã»ã¹ããããšã¯ãããŸããã§ããããçµæãæªãã®ã¯æ®éã§ãã ã©ãããã®ïŒ
JSã¯æãé«äŸ¡ãªãªãœãŒã¹ã§ã
æ確ãªåŸåã®1ã€ã¯ãé©æ°çãªWebã¢ããªã±ãŒã·ã§ã³ãéçºããããã«JavaScriptãã¬ãŒã ã¯ãŒã¯ãšã·ã³ã°ã«ããŒãžã¢ãŒããã¯ãã£ïŒSPAïŒã䜿çšããå¿
èŠããããšãã信念ã§ãã ããã¯çå®ã§ã¯ãããŸããïŒããã«ã€ããŠã¯æ¬¡ã®èšäºã§è©³ãã説æããŸãïŒããã®ãããªãµã€ãã§ã¯ãåããã¥ã¡ã³ãã«ãã£ãšå€ãã®ã¹ã¯ãªãããå¿
èŠã«ãªããŸãïŒã«ãŒã¿ãŒã³ã³ããŒãã³ããªã©ïŒã å®æçã«500 KBãè¶
ããã¹ã¯ãªããïŒå§çž®ïŒãèªã¿èŸŒããµã€ãããããŸãã ããã¯ããã¹ãŠã®ã¹ã¯ãªããã®ããŠã³ããŒããæãéèŠãªã¡ããªãã¯ã§ãã察話æ§ã®åã®æéïŒå¯Ÿè©±ãããŸã§ã®æéïŒã«åœ±é¿ãããããéèŠã§ãã éåžžã«å€ãã®ã¹ã¯ãªããããããµã€ãã«ã¯ããŠãŒã¶ãŒã®å€§éšåã
ã¢ã¯ã»ã¹ã§ããŸãã ã çµ±èšçã«ããŠãŒã¶ãŒã¯ã€ã³ã¿ãŒãã§ãŒã¹ãããŒããããã®ãããã»ã©é·ãåŸ
ã¡ãŸããã ããŠã³ããŒããåŸ
ã€ãšãã²ã©ãé
ããçºçããŸãã
ãJSã®200 KBã®å¶éãéèŠãªã®ã¯ãªãã§ããããã£ãšå€§ããªåçããããŸããïŒã ããã«çããã«ã¯ããã©ãŠã¶ãïŒããŸããŸãªã¿ã€ãã®ïŒãªãœãŒã¹ãåŠçããæ¹æ³ãš
ã¯ãªãã£ã«ã«ãã¹ã®æŠå¿µãç解ããããšãéèŠã§ãã ã¿ã€ã ãªãŒãªçŽ¹ä»ãšããŠã
ã±ãã³ã»ã·ã£ãŒãã«ããæè¿ã®ã¹ããŒãããå§ãããŸãã
JavaScriptãé
ããããšãããµãŒããŒã§ã¬ã³ããªã³ã°ããããããŒãžããŠãŒã¶ãŒã®æåŸ
ã©ããã«æ©èœããªããªãå¯èœæ§ããããéåžžã«è¿·æã§ãã ãã®ãããªå¹æããä¿¡é Œæ§ã®é«ãã€ã³ã¿ã©ã¯ãã£ãæ§ãä¿èšŒããããšããäž»ãªçç±ã§ãããã®ããŒãžãæ³åããŠãã ããïŒ
<!DOCTYPE html> <html> <head> <link rel="stylesheet" href="/styles.css"> <script src="/app.js" async></script> </head> <body> <my-app> <picture slot="hero-image"> <source srcset="img@desktop.png, img@desktop-2x.png 2x" media="(min-width: 990px)"> <source srcset="img@tablet.png, img@tablet-2x.png 2x" media="(min-width: 750px)"> <img srcset="img@mobile.png, img@mobile-2x.png 2x" alt="I don't know why. It's a perfectly cromunlent word!"> </picture> </my-app> </body> </html>
ãã©ãŠã¶ã¯ã
https://example.com/
ãžã®GETãªã¯ãšã¹ããžã®å¿çãšããŠãã®ããã¥ã¡ã³ããåãåã
https://example.com/
ã ãµãŒããŒã¯ããããã€ãã¹ããªãŒã ãšããŠéä¿¡ãããã©ãŠã¶ãããã¥ã¡ã³ãã«èšèŒãããŠããåãµããªãœãŒã¹ãæ€åºãããšãããããèŠæ±ããŸãã
ããŠã³ããŒããå®äºãããšããã®ããŒãžã¯ãŠãŒã¶ãŒã®ã¢ã¯ã·ã§ã³ã«å¿çããã¯ãã§ã-ã察話å
æéã ïŒTTIïŒãã©ã¡ãŒã¿ãŒããæãã察話æ§ãããããŸãã ãã©ãŠã¶ã¯ãã¢ããªã±ãŒã·ã§ã³ã³ãŒããåŸ
æ©ããŠããDOMã€ãã³ããçæããããšã«ããããŠãŒã¶ãŒã¢ã¯ã·ã§ã³ãåŠçããŸãã ã«ã¹ã¿ã ã¢ã¯ã·ã§ã³ã¯ãJavaScriptãæ©èœ
ããããã¥ã¡ã³ãã®
ã¡ã€ã³ãããŒã§åŠçãããŸãã
ä»ã®ã¹ã¬ããã§çºçããå¯èœæ§ã®ããæäœã次ã«ç€ºããŸãããããã«ããŠãããã©ãŠã¶ãŒã¯ãŠãŒã¶ãŒã®ã¢ã¯ã·ã§ã³ã«å¿çã§ããããã«ãªããŸãã
- HTML解æ
- CSS解æ
- JavaScriptã®è§£æãšã³ã³ãã€ã«ïŒæã
ïŒ
- ããã€ãã®JSã¬ããŒãžã³ã¬ã¯ã·ã§ã³ã¿ã¹ã¯
- ç»åã®è§£æãšã©ã¹ã¿ã©ã€ãº
- CSSã«ããå€æãšã¢ãã¡ãŒã·ã§ã³ã®é«éå
- ã¡ã€ã³ããã¥ã¡ã³ãã®ã¹ã¯ããŒã«ïŒã¢ã¯ãã£ããªã¿ããã€ãã³ããã³ãã©ãŒããªãå ŽåïŒ
ãã ãã次ã®æäœã¯ã¡ã€ã³ã¹ã¬ããã§è¡ãå¿
èŠããããŸãã
- Javascriptã®å®è¡
- DOMã®æ§ç¯
- ãããã¿ã€ãã³ã°
- ãŠãŒã¶ãŒå
¥ååŠçïŒã¢ã¯ãã£ããªã¿ããã€ãã³ããã³ãã©ãŒãããå Žåã®ã¹ã¯ããŒã«ãå«ãïŒ
ãã®äŸã®ããã¥ã¡ã³ããJavaScriptã«äŸåããã«
<my-app>
èŠçŽ ãäœæããå Žåãæå³ã®ããã¬ã³ããªã³ã°ã«ååãªCSSãšã³ã³ãã³ããããŒãããããšããã«ãããã¥ã¡ã³ãã®ã³ã³ãã³ããã€ã³ã¿ã©ã¯ãã£ãã«ãªãå¯èœæ§ãé«ããªããŸãã
ã¹ã¯ãªããã®å®è¡ã¯ãããã€ãã®æ¹æ³ã§å¯Ÿè©±æ§ãé
ãããŸãã
- ã¹ã¯ãªããã50ããªç§ããé·ãå®è¡ããããšãJSãããŠã³ããŒããã³ã³ãã€ã«ãå®è¡ããã®ã«å¿
èŠãªæéå
šäœãã€ã³ã¿ã©ã¯ãã£ãç¶æ
ã«éãããŸã§ã®æéãé·ããªããŸãã
- JSã§äœæãããDOMãŸãã¯UIã¯ãã¹ã¯ãªããã®å®è¡äžã¯äœ¿çšã§ããŸããã
ç»åã¯ã¡ã€ã³ã¹ã¬ããããããã¯ããã解æããã³ã©ã¹ã¿ã©ã€ãºäžã®çžäºäœçšããããã¯ãããUIã®ä»ã®éšåãã€ã³ã¿ã©ã¯ãã£ãã«èµ·åãããä¿åãããããããšã劚ããŸããã ãããã£ãŠã150 KBã®ç»åã§TTIã倧å¹
ã«å¢å ããããšã¯ãããŸãããããã®ãµã€ãºã®JSã¯æ¬¡ã®ã¿ã¹ã¯ã«å¿
èŠãªæéã ã察話æ§ãé
ãããŸãã
- DNSãTCPãHTTPãå«ãã³ãŒããªã¯ãšã¹ããšè§£åãªãŒããŒããã
- ãããã¬ãã«ã®JSé¢æ°ã®è§£æãšã³ã³ãã€ã«
- ã¹ã¯ãªããå®è¡
ãããã®æé ã¯é »ç¹ã«ç¹°ãè¿ãããŸãã
ã¹ã¯ãªããã50ããªç§ä»¥å
ã«å®è¡ãããå ŽåãTTIã¯å¢å ããŸããããããã¯éçŸå®çã§ãã 150 KBã®å§çž®JavaScriptã¯ãçŽ1 MBã®ã³ãŒãã§è§£åãããŸãã
Eddieã ææžåããããã«ãäžçã®ã»ãšãã©ã®æºåž¯é»è©±ã§ã¯ã
ããŠã³ããŒãã«ãããæéãã«ãŠã³ãããã«ãããã»ã¹å
šäœã«1ç§ä»¥äžããã
ãŸã ã
JavaScriptã¯ãããŒããšããã€ã¹ã®ããã©ãŒãã³ã¹ã®äž¡æ¹ã«é¢ããŠãWebããŒãžã®
æãæå¶çãªéšåã§ãã é«éãããã¯ãŒã¯ã§é«éã¹ããŒããã©ã³ã䜿çšããéçºè
ããã³ç®¡çè
ã«ãšã£ãŠããããã®é ããã³ã¹ãã¯äºéã«ç解ã§ããªãå ŽåããããŸãã
ã°ããŒãã«ãªçå®
ããã©ãŒãã³ã¹ã®äºç®ã決å®ããããã«äœ¿çšãããã³ãããŒã¯ã決å®ããããšãäžå¯æ¬ ã§ãã äžéšã®éçºè
ãäŒæ¥ã¯ã察象ãŠãŒã¶ãŒãéåžžã«ããç¥ã£ãŠããŸããçŸåšããã³å°æ¥ã®ãŠãŒã¶ãŒã®ããã«ãããã€ã¹ãšãããã¯ãŒã¯ã®æ
å ±ã«åºã¥ããè©äŸ¡ãè¡ãããšãã§ããŸãã ãã ããåºæ¬ã¬ãã«ãèšå®ããããã®æ
å ±ã¯ã»ãšãã©ãããŸããã ã©ãããå§ããŸããïŒ
ããã§ã¯2ã€ã®æ°å€ãéèŠã§ãã
äžå€®ã®ãŠãŒã¶ãŒã¯äœéãããã¯ãŒã¯äžã«ãããŸã ã å¯äžã®åé¡ã¯ãæ¥ç¶ãã©ãã»ã©é
ããã§ãã
Googleã®ã¡ããªãã¯ã¯ççŸããç¶æ³ã瀺ããŠããŸãïŒæ確ã«ããããã«åãçµãã§ããŸãïŒã äžéšã®ã·ã¹ãã ã§ã¯ã3GãŠãŒã¶ãŒã«å¯ŸããŠçŽ100ããªç§ã®RTTã®äžå€®å€ã衚瀺ãããŸãã ãŸããäžéšã®äž»èŠåžå Žã§ã¯ãäžå€®å€ãŠãŒã¶ãŒã400ããªç§æªæºã§åäžã®ãã±ãããéåä¿¡ã§ããªãããšã瀺ããŠããŸãã
ä¿å®çãªãªãã·ã§ã³ãéžæããå¿
èŠããããšæããŸãã
競åããéè² è·ã®ã»ã«ã¯ããé«éããããã¯ãŒã¯ãæ®é
·ã«é
ããã
äŒéã®åæ£ã«ããTCPã®å¹çã倧å¹
ã«äœäžã ããããã¯ãŒã¯ãã©ãã£ãã¯ã®èªç¶ãªããŒã¹ããæ©èœããŸã ã
Googleã®éçºè
åãã«ããå£åãã3Gãã®ç¹å¥ã«äœæããããããã¯ãŒã¯ã¯ããã®ãããªç¶æ³ã§ã®ã¢ããªã±ãŒã·ã§ã³ã®åäœãè©äŸ¡ããããã«æ©èœããŠããŸãã 400ããªç§ã®RTTæ¥ç¶ãš400ã600 Kbpsã®åž¯åå¹
ãã·ãã¥ã¬ãŒãããŸãïŒããã«ãé
延åæ£ãšãã±ããæ倱ã®ã·ãã¥ã¬ãŒã·ã§ã³ïŒã ã¡ããªãã¯ã瀺ãççŸããç¶æ³ãèãããšãããã¯åºæ¬çãªã¬ãã«ãšèŠãªãããšãã§ããŸãã
ãã ãããã±ããæ倱ãšé
延ã®å€åãã·ãã¥ã¬ãŒããããšããã³ãããŒã¯ã倧å¹
ã«è€éã«ãªããçµæãéå°è©äŸ¡ãããå¯èœæ§ããããŸãã DNSã«ãã¯ã¢ããäžã®ãã±ããæ倱ã®åœ±é¿ã«ããã
ç§ã®å·®ãçããéçºäžã«è¡ãããå€æŽã®ååŸã§çµæãæ¯èŒããããšãé£ãããªããŸãã ããŒã¹ã©ã€ã³ã§ã¯ããã±ããæ倱ãç ç²ã«ããŠããããã垯åå¹
ãäœãããåŸ
ã¡æéãé·ãããå¿
èŠããããŸãã çŸå®ã®äžçã®ç²ŸåºŠã¯å€±ãããŸããããã¹ãã®åçŸæ§ãå€æŽååŸã®çµæãæ¯èŒããæ©èœãç°ãªã補åãæ¯èŒããæ©èœãåŸãããŸãã ããã§ããDNSãTLSããããã¯ãŒã¯ããããžããã®ä»ã®èŠå ã®åœ±é¿ã«ã€ããŠè©±ãããããšãã§ããŸãã ãã®ãããã¯ã
詳ãã調ã¹ããå Žåã¯ã
Ilya Grigorikã®èæžãHigh Performance Browser Networkingãããå§ãããŸãã
RRCã®èª¬æã ãã§
ååã§ã ã
åºæ¬ã¬ãã«ã«æ»ããŸãã ãããã¯ãŒã¯ã·ãã¥ã¬ãŒã·ã§ã³ã«ã€ããŠã¯ã
RTT 400 msããã£ãã«400 Kbpsã§å€§ãŸãã«æ±ºå®ããŸããã ããã€ã¹èªäœã¯ã©ãã§ããïŒ
æšå¹Žã®Chrome Dev Summitã«ã³ãã¡ã¬ã³ã¹ã§
ãã¢ãã€ã«ããã€ã¹ãšãã¹ã¯ãããããã€ã¹ã®ããã©ãŒãã³ã¹ã«å€§ããªéãããããã枩床ãšãšãã«ã®ãŒã®å¶éã«ã€ããŠèª¬æããŸãã ã ããã«ããã£ãã·ã¥ãµã€ãºãªã©ã®ç°ãªããããç¹æ§ã«ãããããããšã³ãããã€ã¹ãšäœã³ã¹ãããã€ã¹ã®ããã©ãŒãã³ã¹ã®ã®ã£ãããè¿œå ããŸãã 幞ããªããšã«ããããã¯ãŒã¯é床ãããåºæ¬ã¬ãã«ãéžæããæ¹ãç°¡åã§ãã
ç±³åœã®ã¢ãã€ã«ãŠãŒã¶ãŒã®åæ°ä»¥äžã Androidããã€ã¹ã䜿çšããŠããŸãã ä»ã®åœãèŠã
ãšãçŸåšè²©å£²ãããŠããã¹ããŒããã©ã³ïŒããã³éå»5幎éïŒã®å€§åã¯Androidã§åäœããŸã ã
ã»ãšãã©ã®å°åã§ã®ãã®ãããªããã€ã¹ã®å¹³åäŸ¡æ Œã¯ ãAndroidã®æ®åãš
ãšã³ã·ã¹ãã ã®äŸ¡æ Œã®
çå®ãªäœäžã«ããäœäžããŠããŸã ã 次ã«ãããã¯æ©åšã®æ§èœäºç®ã®ã°ããŒãã«ãªåºæ¬ã¬ãã«ã決å®ããéã®å¯äžã®äž»èŠãªåŸåã«åœ±é¿ããŸãã次ã®10å人ã®ãŠãŒã¶ãŒã¯
ãäœè£ããããšãã«ãªã³ã©ã€ã³
ã«ãªããŸãã ããã¯ãè¿ãå°æ¥ã«ã¹ããŒããã©ã³ã®å¹³åäŸ¡æ Œãäœäžããããšãæå³ããŸãã ãŸããããã¯ã1ãã«ãããã®ãã©ã³ãžã¹ã¿æ°ã®ãã¹ãŠã®æ¹åããããé«éãªããã€ã¹ïŒå¹³åïŒã«ã§ã¯ãªããããäœãäŸ¡æ Œã«å€æãããããšãæå³ããŸãã
2016幎ãçã®äžå€®å€ããã€ã¹ã¯ããªãã¬ãŒã¿ãŒã«çžãããã«çŽ200ãã«ã§è²©å£²ãããŸããã ä»å¹Žãäžå€®å€ããã€ã¹ã¯ããã«å®ããªããŸããããããã©ãŒãã³ã¹ã¯ã»ãŒåãã§ãã äžå€®å€ããã€ã¹ã®ããã©ãŒãã³ã¹ã¯ãããã«æ°å¹Žéåãã¬ãã«ã§ããªãŒãºããããšãäºæ³ãããŸãã ãããæšå¹Ž
ã Moto G4ãããŒã¹ãŠããããšããŠ
ææ¡ããçç±ã®1ã€ã§ãããä»å¹Žã¯
Moto G5 Plusãæšå¥šããŠããŸãã
èŠçŽãããšãããã©ãŒãã³ã¹ã枬å®ããããã®ã°ããŒãã«ããŒã¹ã©ã€ã³ã¯æ¬¡ã®ãšããã§ãã
- ã$ 200ïŒæ°èŠããªãã¬ãŒã¿ãŒãžã®èšåãªãïŒAndroidã¹ããŒããã©ã³
- é
ã3Gãããã¯ââãŒã¯ã§ã¯ããšãã¥ã¬ãŒã·ã§ã³ïŒ
- RTT 400ããªç§
- é床400 kbps
ã»ãšãã©ã®éçºè
ã«ãšã£ãŠããã®ãããªç°å¢ã§ã¢ããªã±ãŒã·ã§ã³ãäœæããããšã¯ãç«æã§éèãæ œå¹ããããšã«äŒŒãŠããŸãã 幞ããªããšã«ã
ãã®èšå®ã¯
webpagetest.org/easyã§å©çšã§ããããããã€ã§ãå°çäžã§ç«æã®ç¶æ
ãåçŸã§ããŸãã
蚱容ã¬ãã«ã®èšç®
ããã©ãŒãã³ã¹ã®äºç®ã§æåŸã«è°è«ããå¿
èŠãããã®ã¯æéã§ãã é·ãããŸããïŒ
ç§ã¯ã¢ãã«ã®å®çŸ©ã奜ãã§ãïŒ
ãã¢ãã«ããã©ãŒãã³ã¹ãã¹ãïŒæåã®ã¬ã³ããªã³ã°ã®åã«ã¢ããªã±ãŒã·ã§ã³ãããŒããããŠããéã«èŠç¥ãã¬äººãšç®ãåãããããã«ç®ããããæéãããã°ãããã¯é
ãããŸãã...ããããããã¯éçããã質çã§ãã æ°åã§ã¯ã
åããŒãžã®ããŒãã«1ç§æªæºããããŸãïŒ
RAILãåç
§ ïŒã çŸå®ã®äžçã§ã¯ãããã¯äžå¯èœãªã®ã§ãããŒãããŒãšç§
ã¯Time-to-InteractiveïŒTTIïŒã¡ããªãã¯ãèšå®
ããŸã ã
- æåã®èµ·åã§æ倧5ç§ã® TTI
- åŸç¶ã®ããŠã³ããŒãã®ããã®TTIæ倧2ç§
ããã§ã2017幎ã®è£œåã®ããããã®ããã©ãŒãã³ã¹äºç®ãäœæããããã«å¿
èŠãªãã¹ãŠãæããŸããã
æåã®èµ·å
æéããããã¯ãŒã¯æ¥ç¶æ¡ä»¶ãã¯ãªãã£ã«ã«ãã¹ã®ã¡ã€ã³ã¹ããŒãžãå·®ãåŒããšãèå³æ·±ãçµæãåŸãããŸãã 5ç§ã§æåã®ããŒãã®äºç®ããå§ããŠã賌å
¥ã§ããã®ã¢ãèšç®ã§ããŸãã
æåã«ãDNSã«ãã¯ã¢ãããšTLSãã³ãã·ã§ã€ã¯ã®äºç®ãã1.6ç§ãå·®ãåŒããŸããããã«ãããä»ã®ãã¹ãŠã«3.4ç§ãæ®ããŸãã
次ã«ããã®ãããªãã£ãã«ã§3.4ç§ã§éä¿¡ã§ããããŒã¿éãèšç®ããŸãããïŒ400 Kbps = 50 Kb / sã 50 KB / s * 3.4 = 170 KBã
泚ïŒãã®è°è«ã¯ãæèœãªãããã¯ãŒã¯ãšã³ãžãã¢ãæããã«æãããŸãã ãã®èšäºã®ä»¥åã®ããŒãžã§ã³ã§ã¯ãã¹ããŒã¹ã¿ãŒããbdpãtcpãŠã£ã³ããŠã®ã¹ã±ãŒãªã³ã°ãªã©ã«ã€ããŠèª¬æããŸããã ç解ããã®ã¯ãã¹ãŠå€§å€ã§ããã ç°¡çŽ åã¯å
šäœçãªçµè«ã«ããŸã圱é¿ãäžããªãããããããã®è©³çŽ°ã¯é€å€ãããŸããã
ææ°ã®Webã¢ããªã±ãŒã·ã§ã³ã¯äž»ã«JSã§æ§æãããŠããŸããã€ãŸããJSã®è§£æãšè©äŸ¡ã«ãããæéãå·®ãåŒãå¿
èŠããããŸãã JSã³ãŒãã®gzipå§çž®ã¯5åãã7åã§ããããã170 KBã®JSã¢ãŒã«ã€ãã¯çŽ850 KB-1 MBã®JSã³ãŒãã«å€æãããŸãã 以åã®æšå®ã«ãããšãéå§ã«ã¯çŽ1ç§ããããŸãïŒãªãœãŒã¹ãéäžçã«äœ¿çšããDOMããªããšä»®å®ããŸããããã¡ããããã§ãïŒã ãããã®æ°åã§å°ãéãã åŸã3.4ç§ã®ããŠã³ããŒããšè§£æ/è©äŸ¡ãæºããã130 KBã®JSã®è»¢éã«å¶éãããŸãã
æåŸã®è©³çŽ°ïŒã¯ãªãã£ã«ã«ãã¹ã®ãªãœãŒã¹ã®äžéšãå¥ã®å ŽæïŒCDNãªã©ïŒããèªã¿èŸŒãŸããå Žåãäºç®ããæ¥ç¶æéïŒã1.6ç§ïŒãå·®ãåŒãå¿
èŠããããããã«ããããã«æéã®å²åã5ç§ããççž®ãããŸããããã¯ãŒã¯ããŒã¿ã®è»¢éã«è²»ãããŠãã¯ã©ã€ã¢ã³ãåŽã§äœæ¥ããããšãã§ããŸãã
èŠçŽãããšãçæ³çãªæ¡ä»¶äžã§ã®ã¯ãªãã£ã«ã«ãã¹ãªãœãŒã¹ïŒCSSãJSãHTMLãããã³ããŒã¿ïŒã®æŠç®äºç®ã¯æ¬¡ã®ãšããã§ãã
- JSãå€ããªããµã€ãã®å Žåã¯170 KB
- JSãã¬ãŒã ã¯ãŒã¯äžã«æ§ç¯ããããµã€ãã®å Žåã¯130 KB
ããã«ãããçŸä»£ã®ããã³ããšã³ãéçºã«ååšããæãå·®ãè¿«ã£ãåé¡ã§ãã
ããããè²·ãäœè£ã¯ãããŸããïŒãããšãã°ãJSãã¬ãŒã ã¯ãŒã¯ãJSã§éè² è·ã®ãµã€ãïŒJSåŠçæéã«ãã130 KBã®äºç®ãããïŒã§çŽ40 KBã䜿çšããå Žåãæ®ãã¯90 KBããæ®ããŸããã ã¢ããªã±ãŒã·ã§ã³å
šäœããã®ããªã¥ãŒã ã«åãŸãã¯ãã§ãã CDNããèªã¿èŸŒãŸãã100ãããã€ãã®ãã¬ãŒã ã¯ãŒã¯ã¯ã
ãã§ã«äºç®ã20 KBäžåã£ãŠããŸã ã
èŠããŠãããŠãã ããããæ°ã«å
¥ãã®ãã¬ãŒã ã¯ãŒã¯ã¯40 KBã«åãŸããŸãããããŒã¿ã·ã¹ãã ã«ã€ããŠã¯ã©ãã§ããããã è¿œå ããã«ãŒã¿ãŒã³ã³ããŒãã³ãã¯ïŒ çªç¶ãããŒã¿ããã³ãã¬ãŒããã¹ã¿ã€ã«ãèæ
®ãããšã130 KBã¯ããã»ã©å€§ãããªãããã«èŠããŸãã
äºç®å
ã§ç掻ãããšããããšã¯ããèªåã«æ¬åœã«äœè£ãããã®ãââããšåžžã«èªåããããšã§ãã

ã»ã«ã³ãããŒã
çæ³çãªäžçã§ã¯ããã¹ãŠã®ããŒãžã¯1ç§ãããéãããŒããããŸãããå€ãã®çç±ã§ããã¯å®è¡äžå¯èœãªå ŽåããããããŸãã ãã®ããã2åç®ïŒ3åç®ã4åç®ãªã©ïŒã®ããŠã³ããŒãã«2ç§ã®äºç®ãšããå°ãã®èªç±ãäžããŸãã
ãªã5ã€ã§ã¯ãªãã®ã§ããïŒ UIãããŠã³ããŒãããããã«ãªã³ã©ã€ã³ã«è¡ãå¿
èŠããªããªã£ãããã§ãã
Service Workerãš
ãªãã©ã€ã³ãã¡ãŒã¹ãã¢ãŒããã¯ãã£ã«ããããããã¯ãŒã¯ã«ã¢ã¯ã»ã¹ããããšãªãç»é¢ã«ã€ã³ã¿ã©ã¯ãã£ããã¯ã»ã«ã衚瀺ã§ããŸãã ããã¯ã
åžžã«é«ãããã©ãŒãã³ã¹ãçºæ®ããããã®éµã§ãã
ææ°ã®CPUã§ã¯2ç§ã¯
æ°žé ã§ããã次ã®èŠå ãèæ
®ããŠãããããæ£ããåæ£ããå¿
èŠããããŸãã
- ããã»ã¹äœææéïŒAndroidã¯ä»ã®OSãšæ¯èŒããŠæ¯èŒçé
ãïŒ
- ãã£ã¹ã¯ãããã€ããèªã¿åãæéïŒãã©ãã·ã¥ãã©ã€ãã§ããŒãã§ã¯ãããŸããïŒïŒ
- ã³ãŒãå®è¡æé
5ç§ã®ååããŒãã«é©åãããªãã©ã€ã³åªå
ã®ååãæ£ããå®è£
ãããã¹ãŠã®ã¢ããªã±ãŒã·ã§ã³ã¯ã2ç§ã®äºç®ã«ãé©åãã1ç§ã®å¶éã«éããããšãå¯èœã§ãïŒ ããããå€ãã®ããŒã ã«ãšã£ãŠãªãã©ã€ã³ãã¡ãŒã¹ãã®å®è£
ã¯å€§ããªåé¡ã§ãã æåŸã®ãŠãŒã¶ãŒããŒã¿ã®ããŒã«ã«ã¹ãã¬ãŒãžïŒæåŸã«è¡šç€ºïŒãã¢ããªã±ãŒã·ã§ã³ãªãœãŒã¹ã®ä¿¡é Œæ§ã®é«ãäžè²«ãããã£ãã·ã³ã°
ãService Workerã©ã€ããµã€ã¯ã«ã䜿çšã
ãã¢ããªã±ãŒã·ã§ã³ã³ãŒãã®æŽæ°ã®ããªãã¯ãèšèšããããšã¯ã倧ããªã¿ã¹ã¯ã§ãã
ãã®æ¹åã§ããŒã«ãéçºãç¶ããããšã楜ãã¿ã«ããŠããŸãã ç§ãä»ç¥ã£ãŠããæãé«åºŠãªãã¬ãŒã ã¯ãŒã¯ã¯
Polymer App Toolboxã§ãããããã©ãããå§ããã°ãããããããªãå Žåã¯ãããããå§ããŠãã ããã
130-170 KB ...ã¯ããããªãã¯ééããªãåè«ã§ãïŒïŒïŒ
ç§ãã¡ã話ãããªããã°ãªããªãã£ãå€ãã®ããŒã ã質åãããŸããã130KBãšããå°ããªéã«æå³ã®ããäœããé©åãããããšããå¯èœã§ãã ãã¶ãïŒ
PRPLãã¿ãŒã³ã¯ãã«ãŒãã«å¿ããŠç©æ¥µçã«ã³ãŒãã
åå²ã ãService Workerã䜿çšããŠè©³çŽ°ãªãªãœãŒã¹ïŒã·ãŒã±ã³ã·ã£ã«ããŒãžïŒããã£ãã·ã¥ãã
HTTP / 2 Pushãªã©ã®ææ°ã®ãããã³ã«æ¡åŒµæ©èœãå·§åŠã«äœ¿çšããããšã§ãããè¡ã
ãŸã ã
ãããã®ããŒã«
ãçµã¿åããã
ããšã§ãã¯ãªãã£ã«ã«ãã¹ã«æ²¿ã£ãŠ100 KBæªæºã®ææ°ã®æ©èœã€ã³ã¿ãŒãã§ã€ã¹ãé©åãããããšãã§ããŸã ã
æ®å¿µãªãããç¹å®ã®ãã°ãããããŒãžã®ã©ã®éšåãTTIã®éèŠãªãªãœãŒã¹ã§ãããã©ã®éšåãããã§ãªãããç¹å®ããããšã¯äŸç¶ãšããŠå°é£ã§ãã ãããããã®ã¡ããªãã¯ã®éèŠæ§ãèãããšãããŒã«ã¯ãã®æ¬ ç¹ãè¿
éã«ä¿®æ£ãããšä¿¡ããŠããŸãã
ãã¹ãŠã®è°è«ã«ããããããããã¬ãŒã ã¯ãŒã¯ãå®å
šã«givingããã«äºç®ãæºããããšãã§ããŸãã
Wegoãš
Ele.meã¯äž¡æ¹ãšãææ°ã®ããŒã«ïŒãããã
Polymerãš
Vue ïŒã䜿çšããŠäœæãããå®éã«
ä»æ¥åäœã ã顧客ããã©ã³ã¶ã¯ã·ã§ã³ãå®è¡ããã®ãæ¯æŽããŸãã ã»ãšãã©ã®ã¢ããªã±ãŒã·ã§ã³ã¯ããããã»ã©è€éã§ã¯ãããŸããã äºç®å
ã§ç掻ããããšã¯é£¢ããæå³ããŸããã
äºç®å
ã®ããŒã åãã®ããŒã«
äºç®ãæºããã®ã¯
æ¬åœã«é£ããã§ãããããžãã¹ãšãŠãŒã¶ãŒã«ãšã£ãŠã®ã¡ãªããã¯èšå€§ã§ãã éçºããŒã ãšãã®ãªãŒããŒã®å©ç¹ã«ã€ããŠã¯ãããŸãè°è«ãããŠããŸããã é»è©±ãçæã«åœŒã«è¿ã¥ããŠããäŒæäžã«ãªããããªã«é
ããªãã®ïŒã
ããã¯çè«çãªæšè«ã§ã¯ãããŸããã
ææ°ã®æè¡ã¹ã¿ãã¯ã§ã³ãŒãã®ããçŽããçµããã°ããã®ããŒã ãèŠãŸãããå®éã®ç¶æ³ã§ãæé«ãããã³ãé«éãã®ã¢ããªã±ãŒã·ã§ã³ãèŠãããšãã圌ãã¯1æééä»ãã«ãªããŸããã
補åãæåŸ
ãæºãããŠããªãå Žåã
誰ããé¡ã倱ãã§ãããã çç£æ§ãåäžãããããã®æ°ãæã«ãããèšç»å€ã®ã©ãã·ã¥ã¯ãæ°æ©èœã®å°å
¥ã延æããããŒã ã®å£«æ°ã«æªåœ±é¿ãåãŒããŸãã çç£æ§ãåé¡ã«ãªããšãäžçŽã¬ãã«ã®ãããŒãžã£ãŒã¯èªå·±ç念ãæããããšãããšåæã«ãããŒã ãé Œãã«ããŠããç³ãé£ã°ãããšãæ¢ããããšããŸãã ããã«æªãããšã«ããããŒãžã£ãŒèªèº«ãããŒã ãçãå§ãããããããŸããã çç£æ§ã®å±æ©ã¯ãé·æçãªçµæãããããå¯èœæ§ããããŸãã çµç¹ã¯ãããŒã ãé«å質ã®è£œåãçç£ããããšã確信ã§ããŸããïŒ åœŒãã¯ãæ°ãããã¯ãããžãŒã®äœ¿çšãè¿œå ã®å€§èŠæš¡ãªæè³ãæšå¥šããŠãããªãŒãããã°ã©ããŒãä¿¡é Œã§ããŸããïŒ ãã®åŸãéé£ã ããã¯
ã²ã©ãçµéšã§ããç¹ã«ããã§ããã ãæ©ãä¿®æ£ããããšããä¿¡ããããªãã»ã©ã®ãã¬ãã·ã£ãŒã«ãããããããšãå€ãéçºè
ã«ãšã£ãŠãããããã補åã®åºç€ãšãªããã¯ãããžãŒã§ããå¯èœæ§ããããŸãã
ææªã®å Žåãããžãã¹ã«åœ¹ç«ã€ã»ã©çãæéã§è£œåãä¿®æ£ããããšã¯ã§ããŸããã å€ãã®å Žåãéçºã¯é²åã®éçããã©ããã¹ã¿ãŒãã¢ãããå°èŠæš¡ãªããŒã ãééã£ããã¯ãããžãŒã¹ã¿ãã¯ã«äŸåããŠããå ŽåãæéããªããšééããèŽåœçã«ãªãå¯èœæ§ããããŸãã ææªãªããšã«ã圌ãã¯éåžžã«é·ãéãééãã«æ°ä»ããªããããããŸããã ã°ã«ãŒãã®å
šåŸæ¥å¡ãææ°ããŒãžã§ã³ã®iOSãæèŒãããããã¹ããŒããã©ã³ããã±ããã«å
¥ããŠè¡ãé¢ããªãå Žåã補åã®çµæžãå¹
åºãèŠèŽè
ã®æé·ã«åºã¥ããŠããå Žåã誰ããã®èŠèŽè
ã®æé·äžè¶³ãç解ã§ããŸããã
ãã¡ãããããã©ãŒãã³ã¹ã¯ïŒå
šäœã®ïŒè£œåã§ã¯ãããŸããã çŠããããŠããããçããããã察象ãšããå€ãã®ã¢ããªã±ãŒã·ã§ã³ã¯çŽ æŽããããšæããŸãã 人ã
ãå¿
èŠãšããïŒãããŠãããæã«å
¥ããããšããïŒç¬èªã®ãµãŒãã¹ã¯ããããã®æžå¿µã®ã©ããããéèŠã§ãã èŠèŽè
ãåŒãä»ããã®ã
容æã§ã¯
ãªã App StoreãšPlayããŒã±ããã§ãæåãã人ãããŸãã ãããã競äºåžå Žã®è£œåã¯ããããå©ç¹ã«éèŠã§ãã
ããã€ãã®ç¹å®ã®ããŒã«ãšãã¯ããã¯ã¯ãããã©ãŒãã³ã¹äºç®ãå®è£
ããããŒã ãæ¯æŽã§ããŸãã
- webpagetest.org/easy ïŒç§ãã¡ã®ãæ°ã«å
¥ãã®ã¯ã³ã¿ã€ã åæããŒã«
- WPTã¹ã¯ãªãã ïŒç¹å¥ãªWPTã€ã³ã¹ã¿ã³ã¹ãã€ã³ã¹ããŒã«ããããªãããŒã ã§ããããªãã¯WIPã¢ããªã±ãŒã·ã§ã³URLãããå ŽåãWPTã¹ã¯ãªãããšã®çµ±åã¯ãå®æçãªããã§ãã¯ãã«é©ãããªãã·ã§ã³ã§ãã
- ãã©ã€ããŒãWPTã€ã³ã¹ã¿ã³ã¹ ïŒããŒã ãWPTãCIãŸãã¯ã³ããããã¥ãŒã·ã¹ãã ïŒã³ãããåã®èªåãã¹ããã¥ãŒïŒã«çŽæ¥çµ±åããå Žåããã©ã€ããŒãWPTãµãŒããŒãšæ©åšã®ã€ã³ã¹ããŒã«ãªãã·ã§ã³ãæ€èšããå¿
èŠããããŸãã
- Scripted Lighthouse ïŒå®å
šãªWPTã€ã³ã¹ã¿ã³ã¹ã®æºåãã§ããŠããŸãããïŒ Scripting Lighthouseã¯ãCIã«ãããµã€ãåæãšååž°æ€çŽ¢ã®èªååãæ¯æŽããŸã
grunt-perfbudget
ã¯ãCIçšã®ããã«ã·ã³ãã«ãªèªåWPTãã¹ãããŒã«ã§ãã ããã䜿çšããŠãã ããïŒ- SpeedcurveãšCalibreïŒãããã¯ãŒã¯ãµãŒãã¹ã¯ãå®äžçã§ã®å®æçãªããã©ãŒãã³ã¹ãã§ãã¯ãèªååããŸã
- Webpackããã©ãŒãã³ã¹ã®äºç®ïŒãã«ã段éã§ããŒã ãWebpackã䜿çšããå Žåãéçºæã®ãã®æ§æã«ãããäºç®ãè¶
ãããªãœãŒã¹ã«é¢ããéåžžã«äŸ¿å©ãªèŠåã衚瀺ãããŸã
- bundlesizeããã³pr-botã¯ãåã¹ã¯ãªããã®äºç®ãèšå®ããŸããããã¯ããã«ãªã¯ãšã¹ãããã»ã¹äžã«èªåçã«ã¢ã¯ãã£ãã«ãªããŸããããããïŒ
ã³ãŒãã®èšåŒµãšã®æŠãã¯ãå€ãã®å ŽåãèŠåããæ瀺çãªèŠåãäœæããããšãæå³ããŸããã³ãããããåã«ç¶ç¶çãªçµ±åã·ã¹ãã ãŸãã¯èªååããããã¹ããã¥ãŒã䜿çšããããŒã ã¯ãããã©ãŒãã³ã¹ã®äºç®ãè¶
ããã³ããããçŠæ¢ããããšã匷ããå§ãããŸããã°ã«ãŒãããŒãããå§ããå Žåãã¢ããªã±ãŒã·ã§ã³æ§é ãã³ãŒãåé¢ãããã³ã¿ãŒã²ããã¢ã»ã³ããªã«çŠç¹ãåœãŠãã¹ã¿ãã¯ããå§ããããšã匷ããå§ãããŸããä»æ¥ã®ãã¹ãïŒ- Polymer App Toolbox
- Next.jsãã§ããã°è»œéã®ã©ã³ã¿ã€ã ã©ã€ãã©ãªãšããŠPreactã䜿çš
ããŒã ãéžæããããŒã«ãäœã§ãããæãéèŠãªã®ã¯äºç®ã§ããããããªããã°ãæãé«åºŠãªã軜éããã¬ãŒã ã¯ãŒã¯ã§ãããè¥å€§åãã䜿ãç©ã«ãªããªãã¢ããªã±ãŒã·ã§ã³ãç°¡åã«äœæã§ããŸããã°ããŒãã«ãªããŒã¹ã¬ãã«ããå§ããŠãç¹å®ã®ææšã«åºã¥ããŠã®ã¿äºç®ãå¢ããããšã¯ããããžã§ã¯ãããã¹ãŠã®äººã«é©ããŠããããšãä¿èšŒããå¯äžã®æ¹æ³ã§ãã泚é
æéãšã¹ããŒã¹ãç¯çŽããããã«ã次ã®èšäºã«åããŠã¢ãŒããã¯ãã£ã®è°è«ãå
éãããå¿
èŠããããŸãã奜å¥å¿peopleçãªäººã¯ãService WorkerãNavigation Preloadãããã³Streamsãæ¢çŽ¢ã§ããŸãããããã®çµã¿åããã«ããã2018幎以éã®æé©ãªããŒãžèªã¿èŸŒã¿æéãæ ¹æ¬çã«å€ããã¯ãã§ãããããŠæåŸã®1ã€ã
ãã®èšäºã®æåã®èçš¿ãèŠãŠãããçã«æè¬ããŸãããã®äžã«ã¯ããŽã£ãã ã©ã¿ã»ã·ã³ã¬ã«ãããŒã«ã»ãã³ã©ã³ãããŒã¿ãŒã»ãªã·ã£ãŠãã·ãŒããšãã£ã»ãªã¹ãããã°ã¬ã€ã»ããŒãã³ãããŸãããšã©ãŒã®èšäºãåé€ãã圌ãã®è±éçãªè©Šã¿ããæ°ãããã®ãè¿œå ããç§ã®æèœã«å£ããªãããšãé¡ã£ãŠããŸãã