CSSã®@measureã«ãŒã«ãæ¢ãïŒãŠã§ãéçºè ãCSSã¹ã¿ã€ã«ãšã¬ã€ã¢ãŠãã®ããã©ãŒãã³ã¹ã枬å®ã»æé©åããã°ããŒãã«ãªãŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ãåäžãããããã®åŒ·åãªæšæºããŒã¹ããŒã«ã
CSS @measure: ãŠã§ãéçºè åãã«ãã现ãããªããã©ãŒãã³ã¹æŽå¯ãæäŸ
仿¥ã®ããã©ãŒãã³ã¹ãéèŠãããŠã§ãéçºã®ç¶æ³ã«ãããŠãCSSããŠã§ããµã€ãã®é床ãšå¿çæ§ã«ã©ã®ããã«åœ±é¿ããããçè§£ããããšã¯éåžžã«éèŠã§ããCSSã®@measure
ã«ãŒã«ã¯ãã¹ã¿ã€ã«ã·ãŒãããããã¡ã€ãªã³ã°ãæé©åããããã®æšæºåããã匷åãªæ¹æ³ãæäŸããŸãããã®èšäºã§ã¯ã@measure
ã«ãŒã«ã詳ããæãäžãããã®æ©èœã瀺ããäžçäžã®ãŠãŒã¶ãŒã®ããã«ãããé«éã§å¹ççãªãŠã§ãäœéšãæ§ç¯ããããã«ãããã©ã®ããã«æŽ»çšã§ãããã説æããŸãã
CSSã®@measureã«ãŒã«ãšã¯ïŒ
@measure
ã«ãŒã«ã¯ãCSSã¹ã¿ã€ã«ã®å®è¡ã«é¢ãã詳现ãªããã©ãŒãã³ã¹ã¡ããªã¯ã¹ãéçºè
ã«æäŸããããã«èšèšãããCSSã¢ããã«ãŒã«ã§ããããã«ãããã³ãŒãã®ç¹å®ã®é åãå®çŸ©ãããã©ãŠã¶ããããã®é åãã¬ã³ããªã³ã°ããã®ã«ãããæéã远跡ã§ããŸãããã®ãã现ãããªæž¬å®ã«ãããããã©ãŒãã³ã¹ã®ããã«ããã¯ãç¹å®ããæé©åã詊è¡ãããã®æå¹æ§ãæ€èšŒããããšãã§ããŸãã
ããŒãžã¬ã³ããªã³ã°ã®å
šäœçãªæŠèŠãåºç¯ã«æäŸããããšãå€ãåŸæ¥ã®ãã©ãŠã¶éçºè
ããŒã«ãšã¯ç°ãªãã@measure
ã¯ç¹å®ã®CSSã³ãŒããããã¯ãã¿ãŒã²ãããšãããããããã©ãŒãã³ã¹åé¡ã®çºçæºãç¹å®ãããããªããŸãã
æ§æãšåºæ¬çãªäœ¿çšæ³
@measure
ã«ãŒã«ã®åºæ¬çãªæ§æã¯ä»¥äžã®éãã§ãã
@measure measurement-name {
/* 枬å®ããCSSã«ãŒã« */
}
@measure
: ã¢ããã«ãŒã«ããŒã¯ãŒããmeasurement-name
: 枬å®ã®äžæã®èå¥åããã®ååã¯ããã©ãŠã¶ã®ããã©ãŒãã³ã¹ããŒã«ã§çµæãèå¥ããããã«äœ¿çšãããŸãããhero-section-renderãããproduct-listing-layoutãã®ãããªåãããããååãéžã³ãŸãããã{ /* CSS rules to measure */ }
: ããã©ãŒãã³ã¹ã枬å®ãããCSSã«ãŒã«ã®ãããã¯ã
äŸ:
@measure hero-image-render {
.hero {
background-image: url("hero.jpg");
height: 500px;
}
}
ãã®äŸã§ã¯ããã©ãŠã¶ã¯hero-image-render
枬å®ãé©çšããéã«ã.hero
ã¯ã©ã¹å
ã®CSSã«ãŒã«ãã¬ã³ããªã³ã°ããã®ã«ãããæéãæž¬å®ããŸããããã«ã¯ãç»åã®èªã¿èŸŒã¿ãšåæã¬ã³ããªã³ã°æéãå«ãŸããŸãã
ãã©ãŠã¶ã§@measureãæå¹ã«ãã
çŸåšã@measure
ã«ãŒã«ã¯å®éšçãªæ©èœã§ãããã»ãšãã©ã®ãã©ãŠã¶ã§ã¯ããã©ã«ãã§æå¹ã«ãªã£ãŠããŸãããéåžžããã©ãŠã¶ã®ãã©ã°ãŸãã¯éçºè
èšå®ãéããŠæå¹ã«ããå¿
èŠããããŸããäžè¬çãªãã©ãŠã¶ã§æå¹ã«ããæ¹æ³ã¯æ¬¡ã®ãšããã§ãã
Google ChromeïŒããã³EdgeãBraveãOperaãªã©ã®ChromiumããŒã¹ã®ãã©ãŠã¶ïŒ
- Chromeãéããã¢ãã¬ã¹ããŒã«
chrome://flags
ãšå ¥åããŸãã - ãCSS Performance Measure APIããæ€çŽ¢ããŸãã
- ãã©ã°ãæå¹ã«ããŸãã
- Chromeãåèµ·åããŸãã
Firefox
- Firefoxãéããã¢ãã¬ã¹ããŒã«
about:config
ãšå ¥åããŸãã layout.css.at-measure.enabled
ãæ€çŽ¢ããŸãã- å€ã
true
ã«èšå®ããŸãã - Firefoxãåèµ·åããŸãã
éèŠãªæ³šæç¹: å®éšçãªæ©èœã§ãããããæ£ç¢ºãªæé ãšå¯çšæ§ã¯ãã©ãŠã¶ã®ããŒãžã§ã³ã«ãã£ãŠå€æŽãããå¯èœæ§ããããŸãã
@measureã®çµæãè§£éããæ¹æ³
@measure
ã«ãŒã«ãæå¹ã«ããŠCSSã«è¿œå ãããããã©ãŠã¶ã®éçºè
ããŒã«ã§ããã©ãŒãã³ã¹ã¡ããªã¯ã¹ã衚瀺ã§ããŸããçµæã®æ£ç¢ºãªå Žæã¯ãã©ãŠã¶ã«ãã£ãŠç°ãªãå ŽåããããŸãããéåžžã¯ããã©ãŒãã³ã¹ããã«ãŸãã¯å°çšã®CSSããã©ãŒãã³ã¹ã»ã¯ã·ã§ã³ã§èŠã€ããããšãã§ããŸãã
çµæã«ã¯éåžžã以äžãå«ãŸããŸãã
- 枬å®å:
@measure
ã«ãŒã«ã«å²ãåœãŠãååïŒäŸïŒãhero-image-renderãïŒã - æç¶æé:
@measure
ãããã¯å ã®CSSã«ãŒã«ãå®è¡ããã®ã«ããã£ãæéãããã¯éåžžããªç§ïŒmsïŒã§æž¬å®ãããŸãã - ãã®ä»ã®ã¡ããªã¯ã¹: 远å ã®ã¡ããªã¯ã¹ã«ã¯ãã¬ã€ã¢ãŠãæéããã€ã³ãæéããã®ä»ã®ããã©ãŒãã³ã¹é¢é£ããŒã¿ãå«ãŸããå ŽåããããŸããå©çšå¯èœãªç¹å®ã®ã¡ããªã¯ã¹ã¯ããã©ãŠã¶ã®å®è£ ã«ãã£ãŠç°ãªããŸãã
ãããã®çµæãåæããããšã§ãã¬ã³ããªã³ã°ã«ããªãã®æéãèŠããŠããCSSã³ãŒããããã¯ãç¹å®ãããããã®é åã«æé©åã®åãçµã¿ãéäžãããããšãã§ããŸãã
å®è·µçãªäŸãšãŠãŒã¹ã±ãŒã¹
ããã§ã¯ã@measure
ã«ãŒã«ã䜿çšããŠãŠã§ããµã€ãã®ããã©ãŒãã³ã¹ãåäžãããå®è·µçãªäŸãããã€ã玹ä»ããŸãã
1. è€éãªã»ã¬ã¯ã¿ãŒã®æé©å
è€éãªCSSã»ã¬ã¯ã¿ãŒã¯ããã©ãŠã¶ãåŠçããã®ã«èšç®ã³ã¹ããé«ããªãå¯èœæ§ããããŸãã@measure
ã«ãŒã«ã¯ãé
ãã»ã¬ã¯ã¿ãŒãç¹å®ããããè¯ãããã©ãŒãã³ã¹ã®ããã«ãªãã¡ã¯ã¿ãªã³ã°ããã®ã«åœ¹ç«ã¡ãŸãã
äŸ:
@measure complex-selector {
.container > div:nth-child(odd) .item a:hover {
color: red;
}
}
complex-selector
ã®æž¬å®çµæãé«ãæç¶æéã瀺ãå ŽåãèŠçŽ ã«ããå
·äœçãªã¯ã©ã¹ã远å ããããç°ãªãCSSæ§é ã䜿çšãããããŠãã»ã¬ã¯ã¿ãŒãç°¡çŽ åããããšãæ€èšãããããããŸããã
2. CSSã¢ãã¡ãŒã·ã§ã³ãšãã©ã³ãžã·ã§ã³ã®åœ±é¿ã枬å®ãã
CSSã¢ãã¡ãŒã·ã§ã³ãšãã©ã³ãžã·ã§ã³ã¯ãŠã§ããµã€ãã«èŠèŠçãªé
åãå ããããšãã§ããŸãããå¹ççã«å®è£
ãããŠããªããšããã©ãŒãã³ã¹ã«åœ±é¿ãäžããå¯èœæ§ããããŸãã@measure
ã«ãŒã«ã¯ããããã®å¹æã®ããã©ãŒãã³ã¹ã³ã¹ããæž¬å®ããã®ã«åœ¹ç«ã¡ãŸãã
äŸ:
@measure fade-in-animation {
.fade-in {
opacity: 0;
transition: opacity 0.5s ease-in-out;
}
.fade-in.visible {
opacity: 1;
}
}
fade-in-animation
ã®æž¬å®çµæãé«ãæç¶æéã瀺ãããç®ã«èŠãããžã£ã³ã¯ïŒã«ã¯ã€ãïŒãåŒãèµ·ããå Žåãç°ãªããã©ã³ãžã·ã§ã³ããããã£ïŒäŸïŒopacity
ã®ä»£ããã«transform: opacity()
ã䜿çšïŒã詊ããããããŒããŠã§ã¢ã¢ã¯ã»ã©ã¬ãŒã·ã§ã³ãããã¢ãã¡ãŒã·ã§ã³ã®äœ¿çšãæ€èšããããããããããŸããã
3. ç°ãªãã¬ã€ã¢ãŠãææ³ã®ããã©ãŒãã³ã¹ãè©äŸ¡ãã
ç°ãªãCSSã¬ã€ã¢ãŠãææ³ïŒäŸïŒFlexboxãGridãfloatããŒã¹ã®ã¬ã€ã¢ãŠãïŒã¯ãã¬ã€ã¢ãŠãã®è€éãã«ãã£ãŠç°ãªãããã©ãŒãã³ã¹ç¹æ§ãæã€å¯èœæ§ããããŸãã@measure
ã«ãŒã«ã¯ãç°ãªãã¬ã€ã¢ãŠãã¢ãããŒãã®ããã©ãŒãã³ã¹ãæ¯èŒããç¹å®ã®ãŠãŒã¹ã±ãŒã¹ã«æãå¹ççãªãã®ãéžæããã®ã«åœ¹ç«ã¡ãŸãã
äŸ:
@measure flexbox-layout {
.container {
display: flex;
/* Flexboxã¬ã€ã¢ãŠãã«ãŒã« */
}
}
@measure grid-layout {
.container {
display: grid;
/* Gridã¬ã€ã¢ãŠãã«ãŒã« */
}
}
flexbox-layout
ãšgrid-layout
ã®æž¬å®ã®æç¶æéãæ¯èŒããããšã§ãç¹å®ã®ã¬ã€ã¢ãŠãæ§é ã«å¯ŸããŠã©ã¡ãã®ã¬ã€ã¢ãŠãææ³ãããè¯ãããã©ãŒãã³ã¹ãçºæ®ãããã倿ã§ããŸãã
4. è€éãªã³ã³ããŒãã³ãã®äœéã¬ã³ããªã³ã°ãç¹å®ãã
ãŠã§ããµã€ããã¢ããªã±ãŒã·ã§ã³ã¯ãã€ã³ã¿ã©ã¯ãã£ãããããããŒã¿ããŒãã«ããªããããã¹ããšãã£ã¿ãŒãªã©ã®è€éãªã³ã³ããŒãã³ãã䜿çšããããšããããããŸãããããã®ã³ã³ããŒãã³ãã®ã¬ã³ããªã³ã°ã¯ãªãœãŒã¹ã倧éã«æ¶è²»ããå¯èœæ§ããããŸãã@measure
ã䜿çšããŠãã¬ã³ããªã³ã°ããã©ãŒãã³ã¹ã®åé¡ãããã³ã³ããŒãã³ããç¹å®ããŸãã
äŸ:
@measure interactive-map-render {
#map {
height: 500px;
/* ãããã®åæåãšã¬ã³ããªã³ã°ã³ãŒã */
}
}
interactive-map-render
ã¡ããªã¯ã¹ã®é«ãæç¶æéå€ã¯ããããã¬ã³ããªã³ã°ããã»ã¹ã«ãããããã©ãŒãã³ã¹ã®ããã«ããã¯ã瀺ããŸããããã«ããããããã®ã¬ã³ããªã³ã°ã¢ã«ãŽãªãºã ãããŒã¿èªã¿èŸŒã¿ããŸãã¯å®è£
ã®ä»ã®åŽé¢ãæé©åããããšã«éäžã§ããŸãã
5. ãµãŒãããŒãã£CSSã®ã³ã¹ããæž¬å®ãã
å€ãã®ãŠã§ããµã€ãã§ã¯ããµãŒãããŒãã£ã®CSSã©ã€ãã©ãªããã¬ãŒã ã¯ãŒã¯ïŒäŸïŒBootstrapãTailwind CSSãMaterializeïŒã䜿çšããŠããŸãããããã®ã©ã€ãã©ãªã¯äŸ¿å©ãªã¹ã¿ã€ãªã³ã°ããã³ã¬ã€ã¢ãŠãæ©èœãæäŸã§ããŸãããããã©ãŒãã³ã¹ãªãŒããŒããããå°å
¥ããå¯èœæ§ããããŸãã@measure
ã«ãŒã«ã¯ããããã®ã©ã€ãã©ãªã®ããã©ãŒãã³ã¹ãžã®åœ±é¿ãè©äŸ¡ããã®ã«åœ¹ç«ã¡ãŸãã
äŸ:
@measure bootstrap-styles {
/* Bootstrap CSSãã¡ã€ã«ã®ã€ã³ããŒã */
@import url("https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css");
/* Bootstrapã¯ã©ã¹ã®é©çš */
.btn {
/* ... */
}
}
bootstrap-styles
ã®æç¶æéãæž¬å®ããããšã§ãBootstrapã䜿çšããããã©ãŒãã³ã¹ã³ã¹ããè©äŸ¡ã§ããŸããæç¶æéãé«ãå Žåãå¿
èŠãªã¹ã¿ã€ã«ã®ã¿ãå«ãããã«Bootstrapãã«ã¹ã¿ãã€ãºãããããã軜éãªä»£æ¿CSSã©ã€ãã©ãªãæ€èšããããšãæ€èšãããããããŸããã
@measureã䜿çšããããã®ãã¹ããã©ã¯ãã£ã¹
@measure
ã«ãŒã«ãæå€§éã«æŽ»çšããã«ã¯ã以äžã®ãã¹ããã©ã¯ãã£ã¹ãæ€èšããŠãã ããã
- èšè¿°çãªååã䜿çšãã: 枬å®ããŠããå 容ãæç¢ºã«ç€ºããæå³ã®ããååãæž¬å®ã«éžã³ãŸããããããã«ãããçµæãè§£éããããã©ãŒãã³ã¹ã®æ¹åã远跡ãããããªããŸãã
- 枬å®ãåé¢ãã: æãæ£ç¢ºãªçµæãåŸãããã«ã枬å®ãç¹å®ã®ã³ãŒããããã¯ã«åé¢ããŠã¿ãŠãã ãããé¢é£æ§ã®ãªãCSSã«ãŒã«ãå«ã倧ããªã³ãŒãã»ã¯ã·ã§ã³ã枬å®ããããšã¯é¿ããŠãã ããã
- è€æ°ã®æž¬å®ãå®è¡ãã: ããæ£ç¢ºãªå¹³åæç¶æéãååŸããããã«ãè€æ°ã®æž¬å®ãå®è¡ããŠãã ãããããã©ãŒãã³ã¹ã¯ããã©ãŠã¶ã®è² è·ããããã¯ãŒã¯ã®ç¶æ ãªã©ã®èŠå ã«ãã£ãŠç°ãªãå ŽåããããŸãã
- ç°ãªãããã€ã¹ãšãã©ãŠã¶ã§ãã¹ããã: ããã©ãŒãã³ã¹ã¯ãç°ãªãããã€ã¹ããã©ãŠã¶éã§å€§ããç°ãªãå ŽåããããŸãããã¹ãŠã®ãŠãŒã¶ãŒã«å¯ŸããŠæé©åã广çã§ããããšã確èªããããã«ãããŸããŸãªããã€ã¹ãšãã©ãŠã¶ã§æž¬å®ããã¹ãããŠãã ããã
- ä»ã®ããã©ãŒãã³ã¹ããŒã«ãšçµã¿åããã:
@measure
ã«ãŒã«ã¯è²ŽéãªããŒã«ã§ããããã©ãŠã¶éçºè ããŒã«ãLighthouseãWebPageTestãªã©ã®ä»ã®ããã©ãŒãã³ã¹ããŒã«ãšçµã¿åãããŠäœ¿çšããå¿ èŠããããŸãã - 調æ»çµæãææžåãã: 枬å®ãæé©åãããã³ããããããã©ãŒãã³ã¹ã«äžãã圱é¿ã®èšé²ãæ®ããŠãã ãããããã«ãããé²æç¶æ³ã远跡ãããããªãæ¹åã®é åãç¹å®ããã®ã«åœ¹ç«ã¡ãŸãã
ã°ããŒãã«ãªèæ ®äºé
ã°ããŒãã«ãªãªãŒãã£ãšã³ã¹åãã«CSSããã©ãŒãã³ã¹ãæé©åããéã«ã¯ã以äžãèæ ®ããŠãã ããã
- ãããã¯ãŒã¯é å»¶: ç°ãªãå°ççãã±ãŒã·ã§ã³ã®ãŠãŒã¶ãŒã¯ãããŸããŸãªã¬ãã«ã®ãããã¯ãŒã¯é å»¶ãçµéšããå¯èœæ§ããããŸããHTTPãªã¯ãšã¹ãã®æ°ãæå°éã«æããã¹ã¿ã€ã«ã·ãŒãã®ãµã€ãºãåæžããããã«CSSãæé©åããäœéãªãããã¯ãŒã¯æ¥ç¶ã®ãŠãŒã¶ãŒã®èªã¿èŸŒã¿æéãæ¹åããŸãã
- ããã€ã¹ã®æ©èœ: ãŠãŒã¶ãŒã¯ãåŠçèœåãã¡ã¢ãªãç°ãªãããŸããŸãªããã€ã¹ã§ãŠã§ããµã€ãã«ã¢ã¯ã»ã¹ããå¯èœæ§ããããŸããCSSãæé©åããŠãäœã¹ããã¯ã®ããã€ã¹ã§ããŠã§ããµã€ããããŸãåäœããããã«ããŸãã
- ããŒã«ã©ã€ãŒãŒã·ã§ã³: CSSã¯ããŒã«ã©ã€ãŒãŒã·ã§ã³ã®åœ±é¿ãåããå¯èœæ§ããããŸããããã¹ãã®æ¹åïŒRTL察LTRïŒããã©ã³ãã®éžæããã®ä»ã®ããã¹ãããŒã¹ã®ã¹ã¿ã€ãªã³ã°ã¯ãããã©ãŒãã³ã¹ã«åœ±é¿ãäžããå¯èœæ§ããããŸãããµã€ãã®ããŒã«ã©ã€ãºãããããŒãžã§ã³ã䜿çšããŠæž¬å®ããã¹ãããŠãã ããã
- ãã©ã³ãã®èªã¿èŸŒã¿: ã«ã¹ã¿ã ãã©ã³ãã¯ããŒãžèªã¿èŸŒã¿æéã«å€§ãã圱é¿ããå¯èœæ§ããããŸãã
font-display: swap
ã®äœ¿çšããã©ã³ãã®ããªããŒããæå€§å§çž®ã®ããã®ãŠã§ããã©ã³ã圢åŒïŒWOFF2ïŒã®äœ¿çšã«ããããã©ã³ãã®èªã¿èŸŒã¿ãæé©åããŸãã
å¶éãšå°æ¥ã®æ¹åæ§
@measure
ã«ãŒã«ã¯ãŸã å®éšçãªæ©èœã§ãããããã€ãã®å¶éããããŸãã
- ãã©ãŠã¶ãµããŒãã®éå®: åè¿°ã®ããã«ã
@measure
ã«ãŒã«ã¯ãŸã ãã¹ãŠã®ãã©ãŠã¶ã§ãµããŒããããŠããŸããã - ãã现ãããªã¡ããªã¯ã¹ã®æ¬ åŠ: çŸåšã®å®è£ ã§ã¯ãæç¶æé以å€ã®ã¡ããªã¯ã¹ã¯éãããŠããŸããå°æ¥ã®ããŒãžã§ã³ã§ã¯ãã¬ã€ã¢ãŠãæéããã€ã³ãæéãã¡ã¢ãªäœ¿çšéãªã©ããããã现ãããªã¡ããªã¯ã¹ãå«ãŸããå¯èœæ§ããããŸãã
- æœåšçãªããã©ãŒãã³ã¹ãªãŒããŒããã:
@measure
ã«ãŒã«èªäœãããã©ãŒãã³ã¹ãªãŒããŒããããå°å ¥ããå¯èœæ§ããããŸããæ¬çªç°å¢ã§ã¯ç¡å¹ã«ããããšãéèŠã§ãã
ãããã®å¶éã«ããããããã@measure
ã«ãŒã«ã¯CSSããã©ãŒãã³ã¹æé©åã®ããã®ææãªããŒã«ã§ãããã©ãŠã¶ã®ãµããŒããåäžããããå€ãã®æ©èœã远å ãããã«ã€ããŠããŠã§ãéçºè
ã®ããŒã«ãããã®äžå¯æ¬ ãªäžéšãšãªãå¯èœæ§ãé«ãã§ãã
çµè«
CSSã®@measure
ã«ãŒã«ã¯ãCSSã¹ã¿ã€ã«ã®ããã©ãŒãã³ã¹ãçè§£ãæé©åããããŠã§ãéçºè
ã«ãšã£ãŠè²ŽéãªããŒã«ã§ãããã现ãããªããã©ãŒãã³ã¹æŽå¯ãæäŸããããšã§ãããã©ãŒãã³ã¹ã®ããã«ããã¯ãç¹å®ããæé©åã詊è¡ããäžçäžã®ãŠãŒã¶ãŒã®ããã«ãããé«éã§å¹ççãªãŠã§ãäœéšãæ§ç¯ã§ããããã«ãªããŸãããŸã å®éšçãªæ©èœã§ããã@measure
ã«ãŒã«ã¯ãŠã§ãéçºã¯ãŒã¯ãããŒã®äžå¯æ¬ ãªäžéšãšãªãå¯èœæ§ãç§ããŠããŸãã
ãã©ãŠã¶ã§@measure
ã«ãŒã«ãæå¹ã«ããCSSã³ãŒãã«è¿œå ããéçºè
ããŒã«ã§çµæãåæããä»ã®ããã©ãŒãã³ã¹ããŒã«ãšçµã¿åãããŠæå€§éã«æŽ»çšããããšãå¿ããªãã§ãã ããããã®èšäºã§æŠèª¬ãããã¹ããã©ã¯ãã£ã¹ã«åŸãããšã§ã@measure
ã«ãŒã«ã®åãæŽ»çšããŠãŠã§ããµã€ãã®ããã©ãŒãã³ã¹ãåäžãããã°ããŒãã«ãªãªãŒãã£ãšã³ã¹ã«ããè¯ããŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ãæäŸã§ããŸãã
ãŠã§ããé²åãç¶ããã«ã€ããŠãããã©ãŒãã³ã¹æé©åã¯ãŸããŸãéèŠã«ãªããŸãã@measure
ã«ãŒã«ã®ãããªããŒã«ãåãå
¥ããããšã§ãæä»£ã®æå
端ãèµ°ãç¶ãããã¹ãŠã®äººã«ãšã£ãŠé«éã§å¿çæ§ãé«ããæ¥œãã䜿çšã§ãããŠã§ããµã€ããæ§ç¯ã§ããŸãã