æ¨æ¥ï¼ãã¼ã¸ã£Nightã¨ããåå¼·ä¼ã§ï¼ã¯ã¦ãªããã°ã®JSã®è¦ã©ãããç´¹ä»ããLTãããï¼(昨日の日記)ï¼
è³æå
¬éããããã¨æã£ãã®ã ãã©ï¼çºè¡¨è³æãã®ã¾ã¾å
¬éãã¦ãæå³ä¸æãªã®ã§ï¼ã¨ã³ããªã«æ¸ãç´ããã¨ã«ããï¼
ãã¨ãã°ï¼ãã®LGTMç»åã¯çºè¡¨è³æã®1æç®ã§ï¼ããçºè¡¨è³æããã®ã¾ã¾å
¬éãããï¼ããããè¬ã®ç»åã解説ããªãã¾ã¾è¦ããã¨ã«ãªã£ã¦ããã¯ãï¼
JSã®ãã¼ã¸ã£ãã£ã±ããã
ã¯ã¦ãªããã°ã®ç·¨éç»é¢ã«ã¯ç·¨éãµã¤ããã¼ã¨ããã®ããã£ã¦ï¼åçã¨ãAmazonæ¤ç´¢ã¨ãTwitterã¨ãinstagramã¨ãããããè²¼ããããã«ãªã£ã¦ãï¼
Amazonæ¤ç´¢ãã¦ãç»é¢é·ç§»ãããããããªãã¦ï¼ã¦ã§ã2.0ã¨ããæãã§ï¼XHRã§JSONãåã£ã¦ãã¦ï¼HTMLãçµã¿ç«ã¦ã¦è¡¨ç¤ºï¼ã¯ãªãã¯ããã¨é¸æï¼è²¼ãä»ããæ¼ãã¨ã¨ãã£ã¿ã«æ¿å
¥ãããï¼ã¨ããä»çµã¿ï¼
ç·¨éãµã¤ããã¼ããè²¼ãããµã¼ãã¹ã¯10種é¡ããããã£ã¦ï¼UIãã¡ãã£ããï¼å社ã®APIãã¨ã«ãã¼ã¸ã³ã°ã®æ¹æ³ã¯ã¡ãã£ããããã®ã§ï¼ãããããã¼ã¸ã£ãå®è£
ãã¦ãï¼ä¸ã®çµµã¯ããã°ã«Instagramãè²¼ã£ã¦ãã¨ããï¼å³ã®ãªã¹ãããé¸ãã§è²¼ãã¨å·¦ã®æ¬æã«è²¼ããï¼
è¦ã©ããç´¹ä»
ç·¨éç»é¢ã®ãã¼ã¸ã£ã®å®è£
ã¯è¦ã©ããæºè¼ãªã®ã§ãããããã¤ã³ããç´¹ä»ãã¦ããã¾ãï¼
ã¡ãªã¿ã«ï¼ã¯ã¦ãªããã°ã®JSã¯minifyãã¦ããªãã®ã§ï¼èª°ã§ãèªããã¨ãã§ããï¼minifyç¥ããªããããã£ã¦ãªããããããªãã¦ï¼ããã©ã¼ãã³ã¹ã¨ï¼éçºå¹çãæ¤è¨ããä¸ã§ãããªã£ã¦ãã¦ï¼çµç·¯ã¨ããã®ã¸ãã«æ¸ãã¦ããï¼
åæ
ã¯ã¦ãªããã°ã§ã¯ï¼Angularã¨ãBackboneã¨ã使ã£ã¦ããªãã¦ï¼jQueryã¨underscoreãããã使ã£ã¦JSæ¸ãã¦ãï¼ç´ æ´ã«jQueryã§æ¸ãã¦ãã¨ãããããã°ï¼ã¡ãã£ã¨ãªãã¸ã§ã¯ãä½ã£ã¦ã¿ããï¼è¤éãªã¤ã³ã¿ã©ã¯ã·ã§ã³ãçºçããã¨ãã«ã¯ï¼èªåã§Modelã¨Viewã¿ãããªå½¹å²ã®ãªãã¸ã§ã¯ããä½ã£ã¦ããã¨ãããããã¨ãï¼ãã¬ã¼ã ã¯ã¼ã¯ã«ä¾åããï¼èªåãã¡ã§å¿
è¦ãªãã®ã¯æ¸ãã¦ãï¼
ãã®ã¨ã³ããªã§ã¯ï¼ã²ããããã¼ã¸ã£èªä½ãã¦ããã©ï¼ã¢ãã³ãªã©ã¤ãã©ãªä½¿ãã°ï¼1è¡ã¡ããã£ã¨æ¸ãã ãã§ãã¼ã¸ã£å®æãããããããªãï¼
ãã°ãããã¼ã¸ã³ã°ãã¦çµããã¨ãããã¿ã¼ã³
Amazonæ¤ç´¢ã¯ï¼ãã¼ã¯ã¼ããå
¥åãã¦æ¤ç´¢æ¼ãã¨ï¼5ãã¼ã¸ç®ã¾ã§åçç¡ç¨ã§èªãã§ãã£ã¦ï¼ããã§çµããï¼1ãã¼ã¸ããã20件è¿ãã¨ãã¦ï¼100件ãåºãã°ååã ããï¼ã¨ããæãï¼
ããã¯ä¸çªç°¡åã§ï¼ãã£ããæ¸ãã¨ãããªæãï¼å®éã¯ãã£ã¨é·ããã©çä¼¼ã³ã¼ãã¨ãã¦ã¯ãããªæãã¨ããæå³ã§ãï¼æ¬å½ã¯ï¼ã¨ã©ã¼å¦çã¨ãï¼èªã¿è¾¼ã¿ä¸ã§ãâ¦ã¨ãåºãããï¼ã¨ãããªãã¨ãããªãï¼
var search = function(keyword, page) { $.ajax({ url: '/amazon/search', data: { keyword: keyword, page: page } }).done(function(res) { showItems(res.items); // 5ãã¼ã¸ç®ã¾ã§ã¯å帰çã«æ¬¡ã®ãã¼ã¸ãæ¤ç´¢ if (page < 5) { search(keyword, page+1); } }); };
ãã£ã¨èªãæ¼ãã¨æ¬¡ãåºã¦ãããã¿ã¼ã³
fotolifeè²¼ãä»ãã¯ï¼ä¸ã®ã»ãã«ãã£ã¨èªããã¿ã³ããã£ã¦ï¼æ¼ãã¨ç¶ããåºã¦ããï¼ã¯ãªãã¯ã¤ãã³ããç£è¦ããã¨ããããã®ãã§ããï¼
$('.more').on('click', function() { loadMore(); });
ã¹ã¯ãã¼ã«ããã¨åæã«åºã¦ãã
ä¸ã®ã»ãã«ã¹ã¯ãã¼ã«ããã¨åæã«ã¤ã足ããããªã¼ããã¼ã¸ã£ã¨ããã®ããã£ã¦ï¼ããããã¨ï¼ã¯ãªãã¯ããªãã¦ãï¼ã©ãã©ãç¶ããèªããããã«ãªãï¼ãã®æAutopagerizeã¨ããFirefoxæ¡å¼µããã£ã¦ï¼ã¿ããªä½¿ã£ã¦ãï¼è¥è
ã¯ããç¥ããªãã®ããªï¼
ã¹ã¯ãã¼ã«ä½ç½®ãã³ã³ããã®é«ãã§å²ã£ã¦ï¼0.7è¶ãããç¶ãããã¼ãããï¼ã¹ã¯ãã¼ã«ã¤ãã³ã大éã«çºçããã®ã§ï¼throttleã£ã¦ããæã使ã£ã¦ï¼ã¤ãã³ããéå¼ãã¤ã¤ã¹ã¯ãã¼ã«ä½ç½®ã観å¯ããã¨ããï¼ããããå¼ã°ãã¦ãç¡è¦ãã¦ï¼æ大0.1ç§ã«1åå®è¡ããï¼ã¨ãããã¤ã§ãï¼throttleã¯Underscoreã«å
¥ã£ã¦ããç°¡åãªã®ã§èªä½ãã¦ãè¯ãï¼
$itemsContainer.on('scroll', _.throttle(function() { var rate = ($itemsContainer.scrollTop() + $itemsContainer.height() ) / $itemsContainer[0].scrollHeight; if (rate > 0.7 && !itemsReachedEnd) { requestLoadItems(); } }, 100);
ãã¨ã¯ï¼å¤§éã«éä¿¡çºçããã¨å°ãã®ã§ï¼éä¿¡ä¸ãªãä½ãããªãï¼ã¿ãããªæ©æ§ãå¿
è¦ã«ãªãï¼ãããªæãã§ã§ããï¼loadItemsã¯Deferredãè¿ãã¦ï¼ãããçµãã£ãããã©ã°ãè½ã¨ãï¼ã¿ãããªæãï¼
requestLoadItems = function() { // éä¿¡ä¸ã ã£ãã®ã§ããããã if (loading) return; // loadingãtrueã«ãã¦éä¿¡ãã¦ï¼çµãã£ããloadingãfalseã«æ»ã loading = true; loadItems().always(function() { loading = false; }); };
?page=2ã¿ãããªãã¼ã¸ã³ã°
?page=2, 3, 4ã¿ããã«ã ãã ãå¢ããã¨æ¬¡ã®ãã¼ã¸ãåºã¦ããAPIãããããï¼é çªã«åã£ã¦ããã«ã¯ï¼æå¾ã«éä¿¡ãããã¼ã¸ãè¦ãã¦ããã¦ï¼æ¬¡ã«èªãã¨ã1足ãã°ããï¼
var page = 0; // ãããã©ãã©ãå¢ãã var loadItems = function() { return $.ajax({ url: '/some/api', data: { page: page++ } }); });
ç°¡åã ãã©ï¼ããã¯æ¬å½ã¯ãããªãã¦ï¼ã¿ããªå¤§å¥½ãMySQLã§page=1000000000ã¨ãããã¨ï¼LIMIT 20 OFFSET 20000000000ã¿ãããªã¯ã¨ãªãçºè¡ããã¦ããã©ã¼ãã³ã¹ä¸åé¡ãããï¼Twitterã®APIãªããã¯ï¼max_id=485028679609622528 ã¿ãããªï¼ããã¾ã§èªãã ã®ã§æ¬¡ãããããã ããï¼ã¿ãããªãã¼ã¸ã³ã°ããå½¢ã«ãªã£ã¦ããï¼ããã ã¨WHERE max_id > 485028679609622528 LIMIT 20ã¨ãã«ãªã£ã¦å®å¿ï¼æ®éã«APIå®è£
ããã¨ãã¯ï¼ç¹ã«çç±ããªãéãã¯ãã£ã¡ã§ä½ãã¨ããï¼æã¯Twitterã«ã?page=2ã¨ããã£ããã©å»æ¢ãããï¼
max_idæ¹å¼ã®ãã¼ã¸ã³ã°
page=3ã¨ãã ã¨ï¼3ãã¼ã¸ç®ãã»ããã£ããï¼ãããªã3ã£ã¦å ¥ããã°ãããã©ï¼max_idæ¹å¼ã ã¨ï¼ããã¯ãããªãï¼ååã®éä¿¡çµæããã¨ã«ï¼æ¬¡ã«ãªã¯ã¨ã¹ãããURLã決ããå¿ è¦ãããï¼
var max_id; // éä¿¡çµæããã¨ã«æ±ºãã var loadItems = function() { var data = { }; if (max_id) data.max_id = max_id; return $.ajax({ url: '/some/api', data: data }).done(res) { // åä¿¡ããæå¾ã®è¦ç´ ã®idãmax_id max_id = res.items[res.items.length-1].id; }); });
ã¿ãã§è¡¨ç¤ºå 容åãæ¿ããã
ã¿ãã§è²¼ãä»ãå
容åãæ¿ããã¨ï¼ããã«å¤§å¤ã«ãªãï¼Twitterè²¼ãä»ããã¨ãï¼èªåã®ãã¤ã¼ããè²¼ãããã®ãï¼ãæ°ã«å
¥ãããè²¼ãããã®ãï¼ã¨ãï¼
ã¿ãå¤ãã¦æ»ã£ã¦ããã¨ãã¯ãã£ãã·ã¥ãåºã¦ã»ããã®ã§ï¼XHRã®çµæããã£ãã·ã¥ããå¿
è¦ãããï¼ãªãã¼ããã¿ã³ãã»ããã®ã§ï¼ãã£ãã·ã¥ããªãã«ããä»çµã¿ãå¿
è¦ï¼URLããã¼ï¼Response Bodyãå¤ã«æã¤ããã·ã¥ãªã©ã使ãã¨ç°¡åï¼
var cache = { }; var ajaxGetOrCache = function(url, is_force) { if (cache[url] && !is_force) { var d = $.Deferred(); d.resolve(cache[url]); return d.promise(); } return $.ajax({ url: url }).done(function(res) { cache[url] = res; }); };
ã¿ããããã¨å°ã£ããã¨ããã£ã¦ï¼éä¿¡ä¸ã«ã¦ã¼ã¶ã¼ãã¿ãåãæ¿ããã¨ãã¯ï¼çµæã表示ãã¦ã¯ãããªãï¼èªåã®ãã¤ã¼ãã®ã¿ãã«ãæ°ã«å
¥ããåºã¦ã¯å°ãï¼éä¿¡çµãã£ãã¨ãã«ç¾å¨è¡¨ç¤ºä¸ã®ã¿ããè¦ã¦ï¼å¤ãã£ã¦ããéä¿¡ãç´ãï¼ã¨ããå¦çãå¿
è¦ï¼
var loadItems = function() { var tab = getTab(); ajaxGetOrCache("?tab=" + tab).done(function(res) { // ããã°ã£ã¦éä¿¡ãããã©ã¿ãå¤ãã£ã¦ãã®ã§ããç´ã if (tab !== getTab()) { loadItems(); return; } // ãã£ã¡ã«æ¥ããæå showItems(res); }); };
ãããããã¬ã¼ã ã¯ã¼ã¯ãªã©ã使ã£ã¦ãã°ãããªãã¨ãªããããããªããã©ï¼jQueryã¨ãã§ç´ æ´ã«æ¸ãã¦ãã¨ï¼ãããããã¨ãé¢åè¦ãªãã¨ãããªãï¼
ãã®ããã«ï¼ãã¼ã¸ã£æä½ãããã¨æ§ã
ãªãã¯ããã¯ãå¿
è¦ã«ãªãï¼
ããã§é 延ãªã¹ãã®è©±
é
延ãªã¹ãã¨ããã®ã¯ãªã¹ãã®è¦ç´ ã®ãããããé
延è©ä¾¡ããããªã¹ãã§ï¼ç¡éã«é£çµãããã¨ãã§ããï¼
ã³ã³ãã¥ã¼ã¿ããã°ã©ãã³ã°ã®æ¦å¿µã»ææ³ã»ã¢ãã«ã£ã¦ããæ¬ãèªãã¨ããããæãã¦ãããï¼
- ä½è : ã»ã¤ãã»ããªãã£,ãã¼ã¿ã¼ã»ã´ã¡ã³ã»ãã¤,Peter Van-Roy,Seif Haridi,羽永æ´
- åºç社/ã¡ã¼ã«ã¼: ç¿æ³³ç¤¾
- çºå£²æ¥: 2007/11/08
- ã¡ãã£ã¢: 大åæ¬
- è³¼å ¥: 9人 ã¯ãªãã¯: 304å
- ãã®ååãå«ãããã° (64件) ãè¦ã
Cè¨èªãªã©ã§ã¯ï¼æ®éã«é
åã§ç¡éã«ç¶ãé
åã£ã¦ããã®ã¯è¡¨ç¾ã§ããªãã¦ï¼ä½ãèããã«ããã¨malloc(ç¡é)ã¨ããã¦ã¡ã¢ãªãªããªã£ã¦å¤±æããã¨æãï¼
é
延è©ä¾¡ã®ããè¨èªãªãæ°æ¥½ã«ç¡éã«ç¶ãæ°åã¨ãã表ç¾ã§ãããã©ï¼JSã«ã¯ãããªãã®ã¯ãªãã®ã§ï¼ç¡éã«ç¶ãæ§é ãæä½ãããå¿
è¦ãããï¼
ã³ã³ãã¥ã¼ã¿ããã°ã©ãã³ã°ã®æ¦å¿µã»ææ³ã»ã¢ãã«èªãã§ãã¨ãã«ï¼ãªããé«ã¾ã£ã¦ãã¾ã£ã¦ï¼é
延ãªã¹ãä½ã£ã¦ã¿ãï¼é
延ã¨ããã°Deferredãªã®ã§ï¼jQuery Deferredãåºã«ãã¦ããï¼jquery-lazylistã£ã¦ããååã§ï¼GitHubã«ãä¸ãã£ã¦ãï¼
ãããããã¼ã¿æ§é ã§ï¼åæ¹åãªã¹ãã§ï¼åå¾ã®ãã¼ãã¸ã®åç
§ã¨ï¼Deferredãçæããããã®è¨ç®æ¬ä½ã®é¢æ°ã¨ï¼çæãããDeferredãæã¤ï¼ã³ã³ã¹ãã©ã¯ã¿ã§generatorãæå®ãã¦ï¼ã¤ã³ã¹ã¿ã³ã¹ãã§ãããï¼nextã§æ¬¡ã«è¡ã£ã¦ï¼promise()ãããè¨ç®éå§ããï¼
10ã¾ã§æ°ããã«ã¦ã³ã¿ã¼
0ãã10ã¾ã§é çªã«æ°ããã«ã¦ã³ã¿ã¼ãä½ã£ã¦ã¿ãï¼ããã¯ä¸çªç°¡åãªå©ç¨æ³ã§ï¼prev.promise().doneããã¨ï¼åã®ãã¼ãã®å¤ãåããã®ã§ï¼ããã«è¶³ãã¦resolveããã¨ããï¼ã¡ãã£ã¨ãã¤è¨ç®ãã¦å¤ãè¿ãããã®ã§ï¼è¨ç®ã¯å帰ã§æ¸ããã¨ã«ãªãï¼forã¨ãã§ã«ã¼ãããã¨ãããã¯ãã¦ãã¾ãã®ã§ä»æ¹ãªãï¼
Deferredãªã®ã§ï¼resolveãããå¤ã®è¨ç®ã«æåï¼rejectããã失æï¼ã¨ããã®ã表ããï¼
var counter = new $.LazyList(function(prev) { var d = $.Deferred(); if (prev) { prev.promise().done(function(i) { if (i < 10) { d.resolve(i+1); } else { d.reject(); } }); } else { d.resolve(0); } return d; });
ãããã£ã¦ä½¿ãï¼
for (var i = 0; i <= 13; i++) { counter.promise().done(function(j) { console.log(j); }).fail(function() { console.log('failed'); }); counter = counter.next(); }
å®è¡çµæï¼ã«ã¼ãã§ã¯13ã¾ã§ãã£ã¦ããã©ï¼10ã¾ã§è¡ã£ããrejectãããã®ã§ï¼ãã以éã¯é²ã¾ãªãï¼rejectãããçµããã¨ããã«ã¼ã«ãããããã§ã¯ãªãã¦ï¼Counterã®å®è£ ãpromise().done()ãªã®ã§ï¼æåããªãã¨æ¬¡ã®å¤ãã²ããã§ããªãï¼ã¨ããæãï¼promise().always()ã¨ãæ¸ãã¨å¤±æãã¦ãé²ããï¼
0 1 2 3 4 5 6 7 8 9 10 failed
å
é¨çã«ã¯ãããªãã¨ãèµ·ãã¦ããï¼nextããã¨ãã LazyListã®ã¤ã³ã¹ã¿ã³ã¹ã ãã伸ã³ã¦ãã£ã¦ï¼å®éã®è¨ç®ã¯ããªãï¼promise()ããã¨è¨ç®ããï¼
memoizeä»ããã£ããããæ°å
ã«ã¦ã³ã¿ã¼ä½ãã¨ãã¯ï¼æåã¯0ï¼1ã¨æ¥ã¦ï¼ä»¥å¾prev.prev.promiseã¨prev.promiseã®çµæã足ãã¨ãã£ããããæ°åãä½ããï¼è¦ãç®ã¯ç°å¸¸ã ãã©ï¼ç¡éã«è¨ç®ãç¶ãããã¨ãã§ãã¦ã¯ã¼ã«ï¼
var fib = new $.LazyList(function(prev) { console.log('generate'); var dfd = $.Deferred(); if (prev && prev.prev()) { prev.prev().promise().done(function(a) { prev.promise().done(function(b) { console.log(a + ' + ' + b + ' = ' + (a+b)); dfd.resolve(a + b); }); }); } else if (prev) { dfd.resolve(1); } else { dfd.resolve(0); } return dfd; });
使ã£ã¦ã¿ãï¼10ã¾ã§é²ãã§ï¼root()ãã¦æåã«æ»ã£ã¦ï¼ã¾ãé²ããï¼
for (var i = 0; i <= 10; i++) with({i: i}) { fib.promise().done(function(v) { console.log('fib(' + i + ') = ' + v); }); fib = fib.next(); } // re-culculate from 0 fib = fib.root(); for (var i = 0; i <= 10; i++) with({i: i}) { fib.promise().done(function(v) { console.log('fib(' + i + ') = ' + v); }); fib = fib.next(); }
1é±ç®ã¯generateã£ã¦åºã¦ããã©ï¼2é±ç®ã¯resolveæ¸ã®Deferredã«doneãã¦ãã ããªã®ã§ï¼generateåºãªãï¼
generate fib(0) = 0 generate fib(1) = 1 generate 0 + 1 = 1 fib(2) = 1 generate 1 + 1 = 2 fib(3) = 2 generate 1 + 2 = 3 fib(4) = 3 generate 2 + 3 = 5 fib(5) = 5 generate 3 + 5 = 8 fib(6) = 8 generate 5 + 8 = 13 fib(7) = 13 generate 8 + 13 = 21 fib(8) = 21 generate 13 + 21 = 34 fib(9) = 34 generate 21 + 34 = 55 fib(10) = 55 fib(0) = 0 fib(1) = 1 fib(2) = 1 fib(3) = 2 fib(4) = 3 fib(5) = 5 fib(6) = 8 fib(7) = 13 fib(8) = 21 fib(9) = 34 fib(10) = 55
é 延ãªã¹ãã§ãã¼ã¸ã£ãå®è£
é 延ãªã¹ãã使ã£ã¦ãã¼ã¸ã£ãå®è£ ãããã¨ãã§ããï¼prevããã£ããdoneããã¨max_idãåããã®ã§ï¼ããããã¨ã«éä¿¡ããï¼
var pager = new $.LazyList(function(prev) { console.log('generate'); var d = $.Deferred(); var get = function(data) { $.ajax({ url: '/some/api', data: data, }).done(function(res){ d.resolve(res); }).fail(function(error) { d.reject(error); }); }; if (prev) { prev.promise().done(function(res) { get({max_id: max_id}); }); } else { get({}); } return d; });
è¨ç®å 容ããã£ããããæ°åããAPIã®å¼ã³åºãã«å¤ãã£ãã ãã§ï¼ä½¿ãæ¹ã¯å¤ãããªãï¼Hashä½ããªãã¦ãXHRã®ãã£ãã·ã¥ã§ãã¦ä¾¿å©ï¼ãã£ãã·ã¥ç ´æ£ããããªã£ããã¤ã³ã¹ã¿ã³ã¹ä½ãç´ãã°ããï¼
// get first page pager.resolve().done(function(page1) { console.log(page1); }); // get first page(cached) pager.resolve().done(function(page1) { console.log(page1); });
5ãã¼ã¸ç®ãè¦ããã£ããï¼next().next().ã£ã¦ã¤ãªãã¦ããã°æ¸ããï¼æå¾ã«resolveããã¨ï¼1ãã¼ã¸ç®ãã5ãã¼ã¸ç®ã¾ã§é çªã«éä¿¡ãããï¼ééçã§ãã£ãããï¼
pager.next().next().next().next().resolve().done(function(page5) { console.log(page5); });
æé©ãªãã©ãã¤ã ãé¸ã¼ã
ã¯ã¦ãªããã°ã§ãï¼é
延ãªã¹ãã§ãã¼ã¸ã£æ¸ãã¦ãã¨ãããããã©ï¼max_idãå¤æ°ã«æã£ã¦ããæ¹å¼ã¨æ¯ã¹ãã¨è¤éã«ãªã£ã¦ãã¾ãï¼
ã¦ã¼ã¶ã¼ä½é¨çã«ã¯ï¼é
延ãªã¹ãã§ãªã¹ããã¨ãã£ãã·ã¥ããã¦ããã°ï¼ç´ æ´ãªå®è£
ãããªãããªä½é¨ãã§ããã®ã§ï¼ãã£ã¦ããã£ãã¨æããã©ï¼å帰ã§ãã¤éåæãªããã°ã©ã ã«ãªãã®ã§ï¼ä¿å®ããã®ã¯é£ãããªãï¼
ã©ããªã¢ããªã±ã¼ã·ã§ã³ã§ãï¼ãã®ã¢ããªã±ã¼ã·ã§ã³åºæã®åé¡ã対象ã«ãããï¼åºæã®ä¾¡å¤ãè¦åºããããã¦ããã¯ãã§ï¼äºã¤ã¨ãã¦åãã¢ããªã±ã¼ã·ã§ã³ã¯ãªãï¼è§£æ±ºããã課é¡ã«åããã¦ï¼æé©ãªæè¡ã¨ããã©ãã¤ã ã決ããã®ãéè¦ã ã¨æãï¼
åºå
ã¯ã¦ãªã§ã¯ï¼ä¸ç·ã«ãã¼ã¸ã£ãä½ãã¨ã³ã¸ãã¢ãåéãã¦ãã¾ãï¼å¦çåããµãã¼ã¤ã³ã¿ã¼ã³ãææã¾ã§å¿åãã¦ããã®ã§ï¼ããã¾ã§èªãã 人ãããå ¨å¡å¿åãã¦ã»ããï¼
ã¾ã¨ã
LTã¨è¨ãã¤ã¤ãï¼è¨äºã«ããã大å¤é·ããªã£ã¦ãã¾ã£ãï¼æ°åéã§ããã ãããã¹ã£ã¦ãã®ã¯åãï¼
ãªã³ã¯é
以ä¸ã®ã¨ã³ããªã«ä»ã®çºè¡¨ã®è³æã¨ããã¨ã ã¨ãè¼ã£ã¦ãï¼