æè¿ãeã³ããŒã¹CMSåžå Žã¯ãReadyScriptã©ãã®æ°è£œåã§è£å ãããŸããã ãã®ã·ã¹ãã ã«ã¯å€ãã®ãŠããŒã¯ãªæ©èœããããŸããããã«ã€ããŠã¯ãã®æçš¿ã§èª¬æããŸãã
ãã©ãããã©ãŒã ã«ã¯ãå€å žçãªæ©èœã®å€§ããªãªã¹ãããããŸãããæãéèŠãªæ©èœã¯æ¬¡ã®ãšããã§ãã
- 1Cãšã®å®å šãªçµ±å
- ãéãç¹æ§ã«ããååã®æ¯èŒ
- ååãã¬ãã¥ãŒãè©äŸ¡ã®å®å šãªã»ããã®ãµããŒã
- å²åŒãµããŒã
- ããŸããŸãªæ¯æãã·ã¹ãã ãé éãµãŒãã¹ã®ãµããŒã
- ã¡ãŒã«ãSMSéç¥
- é¢é£è£œåïŒãã¹ã±ããã«å ¥ã£ãŠãããã®ã¯è¿œå ã§æäŸãããŸãïŒ
- æšå¥šè£œåïŒè£œåã«ãŒãã«èšèŒãããŠãã補åïŒ
- ã¯ã³ã¯ãªãã¯è³Œå ¥ãäºçŽæ³šæ
- ãã£ãŒãããã¯ãã©ãŒã ãã¶ã€ã
- ãã¬ãŒãã£ã³ã°ããã¢ãžã®ååã®ãšã¯ã¹ããŒãYandex.MarketãGoods @ Mail.ru
- CSV圢åŒã§ã®ã€ã³ããŒã/ãšã¯ã¹ããŒã
- å€é貚
ã·ã¹ãã ã®ã¢ãŒããã¯ãã£ã«ããã次ã®ããšãå¯èœã«ãªããŸãã
- 1ã€ã®ç®¡çããã«ããè€æ°ã®ãªã³ã©ã€ã³ã¹ãã¢ã管çããïŒãã«ããµã€ãïŒ
- ã¢ãžã¥ãŒã«ã§ã·ã¹ãã æ©èœãæ¡åŒµãã
- 1ã¯ãªãã¯ã§éçºè ã®ãµãŒããŒãããã©ãããã©ãŒã ãæŽæ°ãã
- å®çŸ©æžã¿ã®ãããã¯ã䜿çšããŠããŒãžã³ã³ãã³ããäœæãã
- ãµã€ãäžã®ã³ã³ãã³ããçŽæ¥ç·šéãã
ç¹åŸŽçãªæ©èœïŒ
- ãµã€ãã³ã³ã¹ãã©ã¯ã¿ãŒã
çµéšã®æµ ããŠãŒã¶ãŒããªã³ã©ã€ã³ã¹ãã¢ã®å€èŠ³ãç·šéã§ããããã«ããããã«ããSite Builder by GridããšåŒã°ããããŒã«ãææ¡ãããŠããŸãããªã©ïŒ
- æ©èœSEOãžã§ãã¬ãŒã¿ãŒã
SEOãžã§ãã¬ãŒã¿ãŒã䜿çšãããšãç¹å®ã®ãã³ãã¬ãŒãã«åŸã£ãŠè£œåã®ã¡ã¿ã¿ã°ã倧éã«ã€ã³ã¹ããŒã«ã§ããŸãã äŸïŒã¢ã¹ã¯ã¯ã§{title}ã®äŸ¡æ Œã§{title}ãè³Œå ¥ããŸãã
- ãŠãŒã¶ãŒã®å人ã¢ã«ãŠã³ãã
åãŠãŒã¶ãŒã«ã¯å人ã®å人ã¢ã«ãŠã³ããããããããã泚æã®æ¯æããããããåçŽã«è³éãä¿ç®¡ãããã§ããŸãã ã¹ãã¢ã®ææè ã¯ããŠãŒã¶ãŒã®å人ã¢ã«ãŠã³ãããè³éãè«æ±ãŸãã¯åŒãèœãšãããšãã§ããŸãã ãã®æ©èœã¯ãããšãã°ãµãŒãã¹ã®è²©å£²ãåæãã®åãåãã«äŸ¿å©ã§ãã
- ååã®å€æ¬¡å
æ§æã
補åã®ããã€ãã®ãã©ã¡ãŒã¿ãäœæããããšãã§ããè³Œå ¥è ã¯è£œåããã¹ã±ããã«å ¥ãããšãã«éžæã§ããŸãã å¿ èŠã«å¿ããŠã補åãã©ã¡ãŒã¿ãŒã®çµã¿åããããšã«ãç¬èªã®äŸ¡æ Œãååãæ®é«ãèšå®ã§ããŸãã
å¶åŸ¡ã€ã³ã¿ãŒãã§ãŒã¹ã®äººéå·¥åŠ
ãã¶ã€ããŒã¯æ¬ç©ã®åœ«å»å®¶ã®ããã«å€èŠ³ã«è¿ã¥ããŸãã-圌ãã¯äžèŠãªãã®ããã¹ãŠã«ããããŸããã 管çããã«ã®ã€ã³ã¿ãŒãã§ãŒã¹ã¯éåžžã«ã·ã³ãã«ã§ãšã¬ã¬ã³ãã§ãã 管çããã«ã®ã¡ã€ã³ããŒãžã¯éåžžã«äŸ¿å©ã§æçãªãŠã£ãžã§ãããåãããã¹ã¯ãããã§ããããã©ãã°ããŠå¥œã¿ã«åãããŠã«ã¹ã¿ãã€ãºã§ããŸãã
管çããã«ã®æ®ãã®ã»ã¯ã·ã§ã³ã¯äºãã«éåžžã«ãã䌌ãŠããããã1ã€ã®ã»ã¯ã·ã§ã³ãç解ããåŸãã·ã¹ãã å šäœã§èªä¿¡ãæã£ãŠäœæ¥ã§ããŸãã
管çããã«ã§ã¯ãããŒãžããªããŒãããããšãªãã»ãšãã©ãã¹ãŠãå®è¡ããããããã·ã¹ãã ãå€§å¹ ã«é«éåãããŸãã åæã«ãããŠã¹ã®äžãã¿ã³ã§ä»»æã®ãªã³ã¯ãã¯ãªãã¯ããããšãå¯èœã§ãããã®å Žåãç®çã®ã³ã³ãã³ããå¥ã®ã¿ãã§éãå¿ èŠããããŸãã ããã¯ãããšãã°ãè€æ°ã®è£œåãäžåºŠã«ç·šéããå Žåã«äŸ¿å©ã§ãã
äžè¬çã«ã管çè ã ããã«ã«ã¯ã倧éã®ããŒã¿ãæ±ãããã«å¿ èŠãªãã®ããã¹ãŠæã£ãŠããŸãã
- ãªããžã§ã¯ãã®äžæ¬ç·šé/åé€
- 1ããŒãžã«è¡šç€ºãããã¢ã€ãã ã®æ°ãèšå®ãã
- ãã¹ãŠã®ããŒãžã®èŠçŽ ãäžåºŠã«åŒ·èª¿è¡šç€ºããæ©èœ
- ããŒãã«å ã®ããã€ãã®ãã©ã¡ãŒã¿ãŒãçŽæ¥ç·šéãã
- CSV圢åŒã®ããŒã¿ã®ã€ã³ããŒã/ãšã¯ã¹ããŒã
ãªã³ã©ã€ã³ã¹ãã¢ã®ã¯ã©ã€ã¢ã³ãéšåã«åãæ¿ããå Žåãç·šéã¢ãŒãã®å®è£ ã«æ³šæããå¿ èŠããããŸãã ãã®ã¢ãŒãã§ã¯ããµã€ãã«è¡šç€ºããããããã¯ãæ§æã§ããã ãã§ãªãããµã€ãäžã®ãã¹ãŠã®ã³ã³ãã³ããçŽæ¥åé€ãè¿œå ãç·šéã§ããŸãã ããšãã°ã補åãã«ããŽãªãã³ã¡ã³ããèšäºã«ã«ãŒãœã«ãåããããšãå³ã¯ãªãã¯ããŠãåãããŒãžã«ããéžæãããªããžã§ã¯ãã®ç·šéã«é²ãããšãã§ããŸãã
ãã¿ãŒã³
補åé åžããã±ãŒãžã«ã¯4ã€ã®ãã³ãã¬ãŒããå«ãŸããŠããããã®ãã¡3ã€ã¯æ¬¡ã®ãšããã§ãã
- ã¢ãã€ã«ããã€ã¹ã®ç»é¢ã«é©å¿
- 4è²ã®ããªãšãŒã·ã§ã³
- ã°ãªããäžã«çµã¿ç«ãŠãããŸãïŒã€ãŸãããµã€ããã«ããŒã䜿çšããŠç·šéã§ããããšãæå³ããŸãïŒ
æ°ããããŒãã®é©å¿æ§ã瀺ãããã«ãéçºè ã®ãµã€ãã«ã¯ãªã³ã©ã€ã³ã®ãã¿ãã¬ãããšã¹ããŒããã©ã³ãšãã¥ã¬ãŒã¿ãŒãããããããã䜿çšããŠãç¹å®ã®ãã³ãã¬ãŒããããŸããŸãªããã€ã¹ã§ã©ã®ããã«èŠãããã確èªã§ããŸãã
ç§ãã¡ã¯æå³çã«1ã€ã®ãã³ãã¬ãŒããgs960ã°ãªããäžã§ã¯ãªãã¢ãããã£ãã§ãªãããã«äœæããŸããããã®ãããåå¿è ã®ãŠã§ããã¹ã¿ãŒã¯ç°¡åãªå€æŽçšã®ãã³ãã¬ãŒããæã£ãŠããŸããã
éçºè ã®èŠ³ç¹ããèŠãCMS
ã·ã¹ãã ã¢ãŒããã¯ãã£ã¯ãMVCã¢ãã«ã«åºã¥ããŠããŸãã ãšã³ãžã³ã¯ããã¬ãŒã ã¯ãŒã¯ãšã¢ãžã¥ãŒã«ã«åãããŠããŸãã ãã®ãã¬ãŒã ã¯ãŒã¯ã¯PHP 5.3ã«åºã¥ããŠæ§ç¯ãããŠããããªããžã§ã¯ãæåã§ãã å žåçãªåé¡ã解決ããå€ãã®ã¯ã©ã¹ãå«ãŸããŠããŸãã ã·ã¹ãã ã¯ãSmartyã®ææ°ããŒãžã§ã³ããã³ãã¬ãŒããšã³ãžã³ãšããŠäœ¿çšããŸãã ã·ã¹ãã å ã®ã³ãŒããphpDoc圢åŒã§ææžåãããŠããããšã«æ³šæããŠãã ããã
ã¢ãžã¥ãŒã«ã¯é©åã«ã«ãã»ã«åãããã¢ãã«ãã³ã³ãããŒã©ãŒããã³ãã¬ãŒããcssãã¡ã€ã«ãjsãã¡ã€ã«ãã€ã¡ãŒãžãæ§æãã¡ã€ã«ãªã©ã®å¿ èŠãªããŒã¿ããã¹ãŠãã©ã«ããŒã«å«ãŸããŠããŸãã ã¢ãžã¥ãŒã«ã¯ãã€ãã³ããåŠçããããšã«ãããã·ã¹ãã å ã®ããŸããŸãªããã»ã¹ã«åœ±é¿ãäžããããšãã§ããŸãã ã¢ãžã¥ãŒã«ã®ãã¹ãŠã®ãå€éšãã¢ã¯ãã£ããã£ã¯ç°¡åã«å¶åŸ¡ã§ããŸããReadyScriptã§ã¯ãã€ãã³ãã®ãµãã¹ã¯ãªãã·ã§ã³ãåžžã«ã¢ãžã¥ãŒã«åå空éã®1ã€ã®ã¯ã©ã¹ïŒãããã1ã€ã®ãã¡ã€ã«ïŒã§çºçããããã§ãã
ORM
ã¡ãªã¿ã«ãReadyScriptã®ãã¹ãŠã«ã¯ORMãªããžã§ã¯ããçµã¿èŸŒãŸããŠããŸããããããã¯ActiveRecordãã¿ãŒã³ã«åŸã£ãŠæ§ç¯ãããŸãã
- 補åãã«ããŽãªãèšäºãã¡ãã¥ãŒé ç®-ãããã¯ã¹ãã¬ãŒãžã¿ã€ãããããŒã¿ããŒã¹ãã®ORMãªããžã§ã¯ãã§ã
- ã¢ãžã¥ãŒã«ãã·ã¹ãã ããµã€ãã®æ§æã¯ã©ã¹ããç¹å®ã®ã¹ãã¬ãŒãžãæã€ORMãªããžã§ã¯ãã§ã
- ãããã¯ã³ã³ãããŒã©ãŒã®èšå®ïŒäžéšã®ã·ã¹ãã ã§ã¯ããã¯ã³ã³ããŒãã³ããšåŒã°ããŸãïŒã¯ããªããžã§ã¯ãã®ORMã¯ã©ã¹ã®åå«ã®1ã€ããç¶æ¿ãããã¯ã©ã¹ã§èšè¿°ããå¿ èŠããããŸãã
ãªããããè¡ãããã®ã§ããïŒ ãORMãªããžã§ã¯ããã«åã蟌ãŸããæœè±¡åãç解ããã°ãçãã¯æçœã«ãªããŸãã
ReadyScriptã®ORMãªããžã§ã¯ãã¯ãäœããã®æœè±¡ã¹ãã¬ãŒãžïŒããŒã¿ããŒã¹ã ãã§ãªããããã§ãããïŒããèªåèªèº«ãä¿åããã³ããŒãããããèªäœã®HTMLãã©ãŒã ãçæã§ããããããã£ãèšè¿°ãããªããžã§ã¯ãã§ãã
ORMãªããžã§ã¯ããåæåãããšãã«ïŒããã¯ãªããžã§ã¯ãã®1ã€ã®ã¯ã©ã¹ã«å¯ŸããŠ1åçºçããŸãïŒãorm.initã€ãã³ããã·ã¹ãã ã§çæãããããšã«æ³šæããããšãéèŠã§ãã ãã®ã€ãã³ããåŠçããéçšã§ãORMãªããžã§ã¯ãã®ããããã£ã®æ§æãå€æŽã§ããŸãã ãã®æ©èœã«ããããµãŒãããŒãã£ã®ã¢ãžã¥ãŒã«ã¯ãããšãã°æ°ããããããã£ã補åãªããžã§ã¯ãã«ç°¡åã«è¿œå ã§ããŸããããã¯ã管çããã«ã®è£œåã«ãŒãã«èªåçã«è¡šç€ºãããŸãã
éçºè ããã£ãŒã«ããããŒã¿ããŒã¹ã®ã€ã³ããã¯ã¹ãæåã§äœæããå¿ èŠã¯æ±ºããŠãªããã·ã¹ãã ã¯ORMãªããžã§ã¯ãã®èª¬æã«åºã¥ããŠããããã¹ãŠèªåçã«è¡ããšèšãããšãéèŠã§ãã
ã«ãŒãã£ã³ã°
次ã«æ³šç®ãããã®ã¯ãã«ãŒãã£ã³ã°ãµãã·ã¹ãã ã§ãã åã¢ãžã¥ãŒã«ã¯ãç¹å®ã®ããã³ãã³ã³ãããŒã©ãŒã§åŠçã§ããURLãã¹ã¯ãèšè¿°ããŸãã ãã³ãã¬ãŒãã§ã¯ããµã€ãã®å éšããŒãžãžã®çŽæ¥ãªã³ã¯ã¯ã©ãã§ã䜿çšãããŠããŸããã代ããã«ã次ã®ãããªæ§é ãèŠãããšãã§ããŸãã
{$router->getUrl('catalog-front-product', [id => 222])}
æ§ç¯ã¯ãã«ãŒããããŒãžã£ãŒã®getUrlã¡ãœãããåŒã³åºããŸãããã®ã¡ãœããã¯ããã©ã¡ãŒã¿ãŒïŒãã®å Žåã¯id = 222ã®è£œåïŒã®çœ®æãèæ ®ãããã«ãã¹ãè¿ããŸãã
ãã®ã¢ãããŒãã«ããããµãŒãããŒãã£ã®ã¢ãžã¥ãŒã«ã¯åžžã«ãµã€ãã®å¿ èŠãªããŒãžãžã®æ£ãããªã³ã¯ã圢æãããµã€ãã®ã¢ãã¬ã¹ãããå šäœãäžå çã«å€æŽã§ããŸãã
ãã«ããŒã衚瀺ãã
ã·ã¹ãã ã¯ã管çããã«ã®ããã€ãã®æšæºããŒãžãæäŸããŸãã
- ãªããžã§ã¯ãã®ãªã¹ããããããŒãžïŒäžå€®-ããŒãã«ïŒ
- åé¡ããããªããžã§ã¯ãã®ãªã¹ããå«ãããŒãžã ïŒå·ŠåŽã®ã«ããŽãªãå³åŽã®ãªããžã§ã¯ãïŒ
- ããªãŒãªããžã§ã¯ãã®ããããŒãžïŒäžå€®-ããªãŒïŒ
- ãªããžã§ã¯ãç·šéããŒãžïŒäžå€®-ãã©ãŒã ïŒ
- ä»»æã®ã³ã³ãã³ããå«ãããŒãžïŒäžå€®-ä»»æã®ãã³ãã¬ãŒãïŒ
ããã«ããŒããªããžã§ã¯ãïŒCrudCollectionïŒã¯ããããã®ããŒãžãã¢ã»ã³ãã«ãã圹å²ãæãããäžèšã®ããŒãžã®ãããããé 眮ããæºåãã§ããŠããŸãã éçºè ã¯ãã³ã³ãããŒã©ãŒå ã®å¿ èŠãªã³ã³ããŒãã³ããå«ãããã«ããŒããªããžã§ã¯ãããããŒããããã ãã§ãã
class CustomAdminController extends \RS\Controller\Admin\Crud { function helperIndex() { //... return new \RS\Controller\Admin\Helper\CrudCollection( $controller_object, // $api, // $url_object, //, ... array( // 'topToolbar' => new \RS\Html\Toolbar\Element(...), // 'bottomToolbar' => new \RS\Html\Toolbar\Element(...), // 'filter' => new \RS\Html\Filter\Control( ... ), // 'table' => new \RS\Html\Table\Element( ... ), // 'paginator', // 'treeFilter' => new \RS\Html\Filter\Control( ... ), // 'tree' => new \RS\HTML\Tree\Element(...), // 'viewAs' => 'tableTree' // , ) ); } //... }
ç»åã·ã¹ãã
ãã¹ãã£ã³ã°ã§ãã¹ãŠã®ãããã€ããç¯çŽããå¿ èŠããã£ããšãã¯ãæéãçµã¡ãéçºã®å©äŸ¿æ§ãå¶éãããŠããŸããã çŸåšã5ã8ã®ã¬ãã€ãã§ã®ãã¹ãã£ã³ã°ã¯ãã¯ãèŽ æ²¢ã§ã¯ãããŸããã ãŸããã倪åã®ãªãªãžãã«ããä¿åããªãããã«ãåçãã¢ããããŒããããšãã«ãã¹ãŠã®ãµã ãã€ã«ãäœæããå¿ èŠã¯ãããŸããã
ReadyScriptã€ã¡ãŒãžã·ã¹ãã ã¯ãåã«ã倧ããªãã€ã¡ãŒãžããµãŒããŒã«ä¿åããã ãã§ããã€ã§ãã³ãŒããŸãã¯ãã³ãã¬ãŒãã§ç®çã®ãµã€ãºãšã¹ã±ãŒãªã³ã°ã®ã€ã¡ãŒãžãååŸã§ããŸãã ã¯ãããã¡ãããã·ã¹ãã ã¯èªã¿èŸŒãŸããç»åãä¿åãããèšå®ã§æå®ãããã倧ããããµã€ãºã«å§çž®ããŸããããã©ã«ãã§ã¯1500x1500pxã§ãã ç»åãžã®ãªã³ã¯ã¯å³åº§ã«çæããããã©ãŠã¶ãæåã«ç»åãéãããšãã«ãµã ãã€ã«ãçŽæ¥äœæãããŸãã
ãã®ã¢ãããŒãã¯ããããžã§ã¯ãã®äœæããã»ã¹ãå€§å¹ ã«é«éåãããã¶ã€ããŒã«æã解æŸããŸããããã¯ããŠãŒã¶ãŒã«è¡šç€ºããå¿ èŠã®ããç»åã決å®ããã®ããã¶ã€ã³ããŒãã ããã§ãã
ããã¯ãReadyScriptã§äœ¿çšãããæŠå¿µãšæè¡ã®æ°·å±±ã®äžè§ã«ãããŸãããããã®èšäºã®æŠèŠã®ç®çã«åããªãããã«ã以äžã®èšäºã§æè¡çãªåŽé¢ãããã«è©³ããæ€èšããŸãã
é åžæ¹æ³
ReadyScriptãã©ãããã©ãŒã ã¯ã3ã€ã®ãšãã£ã·ã§ã³ã®ãªãŒãã³ãœãŒã¹ã®ç®±å ¥ã補åãšããŠé åžãããŸãã
- ã·ã§ãŒã±ãŒã¹
ãªã³ã©ã€ã³ãã£ã¬ã¯ããªã®äœæã«é©ããŠããŸãã ãã®ãšãã£ã·ã§ã³ã§ã¯ããããããã·ã§ãããã¢ãžã¥ãŒã«ã¯ãããŸããããµã€ãã«ã¯ãã¹ã±ããã¯ãããŸãããããã¯ã³ã¯ãªãã¯ã§è³Œå ¥ããã¿ã³ããããŸãã
- åžå Ž
1Cãšã®ããŒã¿äº€æãªãã§ãªã³ã©ã€ã³ã¹ãã¢ãäœæããã®ã«é©ããŠããŸãã
- ãã€ããŒããŒã±ãã
æ倧æ§æã¯ã1Cãšã®ããŒã¿äº€æã§ãªã³ã©ã€ã³ã¹ãã¢ãäœæããã®ã«é©ããŠããŸãããŸããã¡ã€ã³ãµã€ãã®è£œåç¯å²ãæã€ããŒãããŒåãã«ãªã³ã©ã€ã³ã¹ãã¢ãéãããšãã§ãããã¢ãã£ãªãšã€ãã¢ãžã¥ãŒã«ããå«ãŸããŠããŸãã ããŒãããŒãµã€ããç¯å²å šäœã販売ããå¿ èŠããªãå Žåãã¢ãã£ãªãšã€ããµã€ãã«ã¯åå¥ã®ãã¡ã€ã³ãååã®åå¥ã®äŸ¡æ Œãåå¥ã®ãã³ãã¬ãŒããåå¥ã®ã¢ã€ãã ã°ã«ãŒãããããŸãã
å èš±
ReadyScriptã¯ææã®CMSã§ãããç¹ã«æ¬¡ã®ãããªéåžžã«æè»ãªã©ã€ã»ã³ã¹æ¡ä»¶ããããŸãã
- .localã.testéçºãã¡ã€ã³ã§ã¯ãã·ã¹ãã ãç¡å¶éã«ãæ°žä¹ ã«ç¡æã§äœ¿çšã§ããŸãã
- æŠéé åã§ã¯30æ¥éã®è©ŠçšæéããããŸã
- ææã©ã€ã»ã³ã¹ã®åã ã®æ¡ä»¶ã ã¹ã©ã€ããŒã移åããã ãã§ããŠãŒã¶ãŒã¯é©åãªã©ã€ã»ã³ã¹æ¡ä»¶ãšã³ã¹ããéžæããããæ±ããããŸãã å®éããŠãŒã¶ãŒã¯ãã©ã€ã»ã³ã¹ã«å¯ŸããŠæ¯æå°é¡ãæ¯æãããæ°žä¹ ã©ã€ã»ã³ã¹ã1åè³Œå ¥ããããéžæã§ããŸãã
æšæºã©ã€ã»ã³ã¹ïŒéèŠã§ã¯ãªããäžæçãŸãã¯æ°žä¹ çã§ã¯ãªãïŒã«ã¯ã2ã€ã®ãµã€ããïŒãã«ããµã€ãã®äžéšãšããŠïŒäœ¿çšããæš©å©ãå«ãŸããŠããŸãã
è¿œå ã®ã©ã€ã»ã³ã¹ã«ã¯æ¬¡ã®ãã®ããããŸãã
- è¿œå ãµã€ãã®ã©ã€ã»ã³ã¹
- 1幎éã®æŽæ°ãµãã¹ã¯ãªãã·ã§ã³ã©ã€ã»ã³ã¹
- ãã©ãããã©ãŒã ã®ããå®å šãªããŒãžã§ã³ã«ã¢ããã°ã¬ãŒãããããã®ã©ã€ã»ã³ã¹
ãã®ãããªæè»ãªã©ã€ã»ã³ã¹æ¡ä»¶ã«ããããã©ãããã©ãŒã ã®æå°ãšãã£ã·ã§ã³ã®äœ¿çšãéå§ããåŸã ã«æ©èœãå¢ãããŠããªã³ã©ã€ã³ã¹ãã¢ã®å£²äžé«ãå¢å ããã«ã€ããŠãããå®å šãªãšãã£ã·ã§ã³ã«ç§»è¡ããããšãã§ããŸãã
å ¬åŒãµã€ã-http://readyscript.ru