ã³ã¢ã«ã¢ããããããã¯ãšã³ãéçºè
ã«ãªããŸã§ïŒ 髿¿çž®ããã¯ãšã³ãã³ãŒã¹âš
ð¥ Attention! ãã®è¬çŸ©ã¯ãã³ãŒãã£ã³ã°ããŒããã£ã³ãã§å®éã«äœ¿çšããè¬çŸ©ã§ãããŒããŒã¹ããéå°æ»è
ãéçºè
ãŸã§ãã¹ãŠåè¬å¯èœãªã«ãªãã¥ã©ã ã§æ§æãããŠããŸãã
ð«NEW ããŒãžã§ã³ã¢ããããŒãð«
â»NEWããŒãžã§ã³ã¯ãã£ããèŠéããªãããã«ããã«çްååããŠçšæããã«ãªãã¥ã©ã ã§ã:)
ð¡æ§ããŒãžã§ã³ïŒVer.1ïŒã¯åé€ãããŸãã:) ð¡æ¢åã®åè¬çã¯Ver.2ã§ææ¥ãé²ããŠãã ããã ïŒåŸ©ç¿ãå§ãããŸãïŒïŒ
ãæ¬ç©ã®ãããŒããã£ã³ãã§äœãããŸãã [髿¿çž®ããã¯ãšã³ãã³ãŒã¹] â
å匷ãå®åã®ããã«ïŒå®åã«é©çšããæ¹æ³ãæããŠãããå®åäžå¿è¬çŸ©
â
éå°æ»è
ããå°æ»è
ãŸã§ïŒèª°ããçè§£ã§ããã«ã¹ã±ãŒãã«ãªãã¥ã©ã
â
[Node.js, nest] ææ°æè¡ã®èšèªåŠç¿ãšãããžã§ã¯ãã®å®è£
â
å°±è·ç92ïŒ
ã®èªå®ããããæ¬ç© ãããŒããã£ã³ãã®ã«ãªãã¥ã©ã ã«é²ã
â
ããŒããŒã¹ãå¯èœãª å®å
šåºç€ããéçºè
å°±è·ã¬ãã«ãŸã§æé·
ãããªæ¹ã«ã¯ ãã以äžã«æé©ã§ãã
ããã¯ãšã³ãã®ã¿éäžçã« å匷ã§ããŸãããïŒ
ããã¯ãšã³ãéçºè
ã«ãªãããã®ã§ããã ã³ãŒãã£ã³ã°ã«ã€ããŠäœãç¥ããŸãã..
å®åã«é©çšã§ãã èžãããŠããŠãæã«å
¥ãããã§ãã
InflearnãNode.jsãšNest䜿çšããŠããããšããåç¥ã§ããïŒ
Nest.jsã¯ãNode.jsãµãŒããŒãµã€ãã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããããã®å¹ççã§ã¹ã±ãŒã©ãã«ãªãã¬ãŒã ã¯ãŒã¯ ã§ããæ¢åã®Node.jsãã¬ãŒã ã¯ãŒã¯ã§ããExpressã¯ãã¢ãŒããã¯ãã£æ§ç¯ã®ããã®èªç±åºŠãé«ããéçºè
ã®æ§åã«å¿ããŠãã¹ãŠãããããã®æ§é ãäœãããŸããã
Nest.jsã¯ããããã®åé¡ãè£ãããã«ããã«äœ¿çšã§ããã¢ããªã±ãŒã·ã§ã³ã¢ãŒããã¯ãã£ãæäŸããŸã ããŸããOOPïŒObject Oriented ProgrammingïŒèŠçŽ ãçµã¿åãããŠå¹çæ§ãé«ã ãã¿ã€ãã¹ã¯ãªããããµããŒããã ããšã§éçºæã«çºçãããšã©ãŒãäºåã«é²æ¢ããŠãããŸãã
ã¡ãã£ãšåå¿è
ã§ã倧äžå€«ã§ãã ãŸãã¯åºç€ããæŒããŠã¿ãŸããããïŒ
ãããã¯ãšã³ãã¯é£ããã§ãããäœãç¥ããªãç§ãããã¯ãšã³ãéçºè
ã«ãªãããšãã§ããŸããïŒããšããæ©ã¿ããã®å·ã®äžã€ã§äžåºŠã«è§£æ±ºããŠãã ããïŒãã£ããæ©éãçŸæ¥éçºè
ã¬ãã«ã«æé·ã§ããããã«å®ç§ãªåºç€è¬çŸ©ããå§ããŸãããïŒ
ð§©åºç€ã®ã¹ãããstep01ã
ã³ãŒãã£ã³ã°ã¯äœã§ããïŒããã°ã©ã ã®ã€ã³ã¹ããŒã«ããåºç€ãç¯ã
Webã»ã¢ããªéçºã®åºç€ã®äžã§ãåºç€ãHTMLã»CSSã»Javascriptã®åºæ¬çãªææ³ãšæŽ»çšæ¹æ³ãåŠã³ãåŠãã å
容ã«åºã¥ããŠäŒå¡ç»é²ãšããããŒã ããŒãžãå®è£
ããŸãã
ð§© åºç€ã®ã¹ãããstep02ã
Javascriptã§WebããŒãžã®æ©èœãããè±ãã«ã
äžç·ã«äœ¿ãããŒã«ãšJavascriptãåäœããåçãã³ãŒãã®æžãæ¹ãäžå¿ã«åŠç¿ããd-day counterãšto-do listãå®è£
ããåŠãã å
容ãå®å
šãªç§ã«ããæéã§ãã
ããã¯ãšã³ãã®æåããæåŸãŸã§ ããŠããŒã¯ãªãã«ãªãã¥ã©ã
#01. Node.js APIã®å®è£
äŒå¡ç»é²ãã¡ãŒã«è»¢éãSMS転éãªã©ã®ããã®ãµãŒããŒãJavascriptã®ã©ã³ã¿ã€ã ãNode.jsãšãã¬ãŒã ã¯ãŒã¯Expressã§çŽæ¥å®è£
ããŠã¿ãŸãã
#02. Docker
Dockerã§å®è£
ããä»®æ³ç°å¢ã«ä»£è¡šçãªNoSQL DBã§ãããMongoDBããæµ®ãã¹ãããŒã¿ãã©ã®ããã«ç®¡çããããã®æ¹æ³ãåŠã³ãŸãã
#03. Scraping/Crawling
ç§ãã¡ã«å¿
èŠãªæ
å ±ãå«ãã§ããããŒãžã®æ
å ±ãæ»ãåãæ¹æ³ãšç¥èè²¡ç£æš©ã䟵害ããªãããã«æ³šæãã¹ãäºé
ã«ã€ããŠåŠã³ãŸãã
#04. Nest.js
Javascriptã®OOPäžå¿éçºãæ¯æŽãããã¬ãŒã ã¯ãŒã¯ãNest.jsããšä»£è¡šçãªãRDBMSãMySQLããåŠç¿ããããã®åºç€ãåºããŸãã
#05. Database ERD
äžèŠãªã¡ã¢ãªã®ç¡é§ãæžããããã«ã©ãããã°ããã§ããïŒããŒã¿ãå¹ççã«ç®¡çããæ¹æ³ãšå¿
èŠãªæŠå¿µãåŠç¿ããçŽæ¥ããŒãã«ãæŽçããŸãã
#06. ORM掻çšAPIå®è£
ãµãŒããŒãDBãããçŽæçã«æäœã§ããããã«ããORMãåŠç¿ãããŠãŒã¶ãŒã®èŠæ±ãåŠçã§ããAPIãå®è£
ããŸãã
#07.ãã°ã€ã³ããã»ã¹
ãã°ã€ã³ãäŒå¡ç»é²ããžãã¯ã®æµããçè§£ããçŽæ¥å®è£
ãããŠãŒã¶ãŒã®å人æ
å ±ãå€éšããå®å
šã«å®ãæ¹æ³ã«ã€ããŠåŠç¿ããŸãã
#08.ãæ¯æã
è€éãªæ±ºæžéçšãPG瀟ãçµãŠåŠçããæ¹æ³ãšããŠãŒã¶ãŒã®æ±ºæžæ
å ±ãå®åã§ã¯ã©ã®ããã«ç®¡çããããåŠç¿ããŠçŽæ¥å®è£
ããŸãã
#09.ãã¡ã€ã«ã¢ããããŒãAPIã®å®è£
ãŠãŒã¶ãŒã«ã€ã¡ãŒãžãã¡ã€ã«ãæž¡ãAPIããããŠæž¡ããããã¡ã€ã«ãç§ãã¡ã®ãµãŒããŒã§ä¿åã»ç®¡çããããžãã¯ãçŽæ¥å®è£
ããŸãã
#10.æ€çŽ¢
å¿
èŠãªããŒã¿ãããè¿
éã«æ€çŽ¢ããããã«ãCacheãRedisãªã©ã®æŠå¿µãåŠç¿ããŠé©çšããŸãã
#11. Microservice
ãã€ã¯ããµãŒãã¹ã«ã€ããŠåŠç¿ããã©ã®ããã«ããŠå·šå€§ãªãµãŒãã¹ãå®å®çã«ãã¢ãžã¥ãŒã«åœ¢åŒã§ç®¡çã§ããããåŠç¿ããŸãã
#12.ãã¹ãã³ãŒã
APIãæå³ãããšããã«åäœããŠããããšãã³ãŒãã§æ€èšŒã§ãããã¹ãäž»å°ã®éçºãéããŠããã¡ããšãããµãŒãã¹ãå®è£
ããæ¹æ³ãåŠã³ãŸãã
#13.å±é
ãããŸã§åŠç¿ããèªåã§å®è£
ãããµãŒããŒãDBãæ€çŽ¢ã·ã¹ãã ã誰ã§ãå©çšã§ããããã«å±éãé²ããŸãã
#15.ãã®ä»
ããŸãåããŠããªãã£ãJavascriptãéåæåŠçãå®è¡ããæ¹æ³ãåŠã³ãŸãã
#14. Git
å®éã®éçºãé²ããªãããããŒãžã§ã³ç®¡çãããŒã ã¡ã³ããŒãšã®ã³ã©ãã¬ãŒã·ã§ã³ãªã©ã®ããã«å¿
ã䜿çšããGitã«ã€ããŠåŠã³ãŸãã
#16.ã¬ãã¥ãŒ
ç¹å®ã®èª²é¡ã«ã¬ãã¥ãŒãããªãæäŸãããŸããç§ã®ã³ãŒããšæ¯ã¹ãŠäžè¶³ããŠããéšåãåããããšãã§ããŸãïŒ
ç§ã®æã§åããã³ãŒãã§ããŒããã©ãªãªã宿ãããŠãã ããã âð»ç¹å®ã®ãµã€ãæ
å ±ãååŸãã
ç§ãäœããããµãŒãã¹ã宿ããããã«ä»ã®ãµã€ãã®æ
å ±ãå¿
èŠãªå ŽåããããŸãããã®ãã³ã«ãã³ããŒ>貌ãä»ã>ã³ããŒ>貌ãä»ã...ãç¹°ãè¿ããŠããŒã¿ãçŽæ¥å
¥åããå¿
èŠããããŸããïŒ éçºè
ãããä»ã®ãµã€ãã®ããŒã¿ãæ»ãåãæ¹æ³ ããããŠãããã®ããžãã¯ãäœæããªããçºçããå¯èœæ§ã®ããæ³çåé¡ ã«ã€ããŠãäžç·ã«èª¿ã¹ãŸãã
âð»ãŠãŒã¶ãŒãã¢ããããŒãããç»åãã©ã®ããã«ç®¡çãããã®ã§ããããïŒ
æçš¿ã«ç»åã远å ããããšãã«ãã¿ã³ãæ°åã¯ãªãã¯ããã ãã§ãç°¡åã«ç»åã远å ã§ããŸããããããç»åãç»é¢ã«é£ç¶çã«èŠããããã«ããã«ã¯ãã©ããã«ãã¡ã€ã«ãä¿åããå¿
èŠããããå¿
èŠã«å¿ããŠä¿åããããã¡ã€ã«ãåŒãç¶ãåŒã³åºãå¿
èŠããããŸãã ãããªã€ã¡ãŒãžããã¡ã€ã«ãªã©ãã©ãã«ã©ã®ããã«ä¿åãããã®ãããã»ã¹ ãèŠããŠã¿ãŸããð
ðð»åäžã®åèªæ€çŽ¢ã§ãã®åèªãå«ããã¹ãŠã®æ
å ±ãååŸãã
ãã«ãŒãããšããåèªãæ€çŽ¢ãããšãããã«ãŒãã®ãããããããã«ãŒãçºè¡ããããã€ã«ãŒãã®ç
§äŒããªã©ããã®åèªãå«ãå€ãã®å
容ãäžç·ã«åºãŠããã±ãŒã¹ãèŠãããšããããŸããïŒäœããæ€çŽ¢ããéããã®å©äŸ¿æ§ãšã¹ããŒããé«ããŠãããæ€çŽ¢æ©èœïŒãµãŒããŒã§ã¯ã©ã®ããã«åŠçããŠãããã®ã§ããããªæ€çŽ¢ãå¯èœã ã£ãã®ããš äžç·ã«åŠã³ãŸãããã
ðð»æ¯æããªã©ã®æ©å¯ãµãŒãã¹ã¯ãµãŒããŒã§ã©ã®ããã«ç®¡çã§ããŸããïŒ
ååã®ãæ¯æãäžã«ãµãŒããŒã«åé¡ãçºçããå Žåããæ¯æãæ
å ±ã¯ã©ããªããŸããïŒðž ãããµãŒããŒã®ããžãã¯ãééã£ãŠæžãããŠãããªããç§ã®å£åº§ããåºéããã ãã§ååã賌å
¥ããå±¥æŽã¯ä¿åã§ããªããããããŸããããã®ããã«ãæ©å¯æ§ã®é«ãããŒã¿ãæ
å ±ãã©ãããã°å®å
šã«ç®¡çã§ãããããã©ã³ã¶ã¯ã·ã§ã³ã®æŠå¿µããŸãšã㊠åŠã³ãŸãã
ð¯ ãã®è¬çŸ©ã§åŸãããããŒããã©ãªãªã§ãã · 01. Starbucks - Node.jsã«é²ããããããžã§ã¯ãã§ããã¹ã¿ãŒããã¯ã¹ã¢ããªã®äŒå¡ç»é²ãå®è£
ããããŒã¿ã¯ããŒã«ãéããŠããŒã¿ãæœåºããŸãã · 02. èªåã ãã®ãµãŒãã¹ - Nest.jsã§DBãERDãªã©ã®åŠç¿å
容ãçŽæ¥æ¥æšãããåžæã®ãµãŒãã¹ãå®è£
ããŸããæ±ºãŸã£ãUIãæ ããªãã®ã§ã匷ã¿ãæµ®ãã¹ãŠåæ§çãªãµãŒãã¹ãå®è£
ã§ããŸããã
ããã«ãå·ã®äžã€ãšããŠã€ãŒãã³å€§ã®ã¹ã¿ãã¯ãäžåºŠã«ã²ããïŒ
ç®ã«èŠããªãé åã§å€§éã®ããŒã¿ãæ±ããªããã°ãªããªãã®ã§ãããã¯ãšã³ãã®ããã»ã¹ãé£ããæããããŸãããããããã®ã¬ãã¹ã³ã§ã¯ãããŸããŸãªãããžã§ã¯ããéããŠé¢çœããšæ·±ãã¹ã¿ãã¯ãçè§£ããããšãã§ããŸãïŒæãå¹ççã§ç°¡æœãªã³ãŒãã®ããã«ãJavascriptãTypescriptãNode.jsãNestãExpressãRest-APIãªã©ã®äŸ¿å©ãªãã¬ãŒã ã¯ãŒã¯ãšã©ã€ãã©ãªãçµã¿åãã ãŸããã
çããã¯ãã®è¬çŸ©ãéããŠå€ãã®ã¹ã¿ãŒãã¢ãããäŒæ¥ãå®åã§äœ¿çšããããã¯ãšã³ãã¹ã¿ãã¯ãæ·±ãåºãåŸãããšãã§ããã§ãããïŒ
* version : åè¬æã«äœ¿çšããããŒãžã§ã³ã§ãã ïŒå¿
èŠã«å¿ããŠåèã«ããŠãã ããïŒïŒ
[Node Section (section 1-3)]
- Node.js: ^13.14.0
- yarn: ^1.22.19
- axios: ^0.27.2
- express: ^4.18.1
- apollo-server: ^3.7.0
- mongoose: ^6.3.3
[Nest Section (section 4-15)] - @nestjs/cli: ^8.0.0 - typescript: ^4.3.5 - typeORM: 0.2 - grapql: ^16.5.0 - mysql2: ^2.3.3 - apollo-server-express: ^3.8.1 - jest: ^27.0.6 - graphql-upload: ^13.00 - cachemanager: 4.1.0 ãVersionããšãã®æè¡ã¹ã¿ãã¯ã®çè§£ããªããŠã倧äžå€«ã§ããè¬çŸ©ã§å
¥å¿µã«èŠªåã«èª¬æããŸã:)
ããé«ããã£ãªã¢ãžã£ã³ãã®ããã«ããŒããã£ã³ãã®ææ¥è³æãæäŸããŸãã
ðã»ã¯ã·ã§ã³å¥åŠç¿è³æ
è¬çŸ©ãåè¬ããªããå
容ã®çè§£ãå©ããè³æã§ããå®éã®ããŒããã£ã³ãã®åè¬çã䜿ãè³æã ãã«ããŸã掻çšããã°ãéããéšåããã£ãŠã倧ããªå©ãã«ãªãã§ãããã
ðã»ã¯ã·ã§ã³å¥ã®èª²é¡è³æ
仿¥åŠãã å
容ã¯ä»æ¥åŸ©ç¿ãããïŒè¬çŸ©ã®åè¬åŸãååãªç·Žç¿ãéããŠå®å
šã«ç§ã®ãã®ã«åžåããã®ã«åœ¹ç«ã¡ãŸãã
ð ã»ã¯ã·ã§ã³å¥ããŒããã©ãªãª
åã»ã¯ã·ã§ã³ã§åŠãã æ©èœã掻çšããŠããŒããã©ãªãªãäœæããéã«åèã«ã§ããè³æã§ãããã®ã¬ãã¹ã³ã§ç§ã®ããŒããã©ãªãªã«2ã€ã®ãããžã§ã¯ãã远å ããŠãã ããïŒ
ãã®è¬çŸ©ã®åè¬çèªåã§äœã£ããµãŒãã¹ãã玹ä»ããŸãã
ðš Artipul çŸå€§çã®äœåãç°¡åã«è³Œå
¥ã§ãããµãŒãã¹ã§ããã¡ã€ã³ããŒãžã ãã§ãªã決æžãªãŒãã³APIã§ãã€ã³ãå
é»ã決æžãå¯èœã«ããSocket.ioã䜿ã£ãŠãªã¢ã«ã¿ã€ã å
¥ææ©èœãŸã§å®è£
ããŸããã
ð Flog æ
è¡ã¹ã±ãžã¥ãŒã«ã»å®¶èšç°¿ã»æ
è¡ãã°ã§æ§æãããæ
è¡ã¬ã€ãããã¯ãµãŒãã¹ã§ãã drag&dropæ©èœã§æ
è¡ã¹ã±ãžã¥ãŒã«ãçµããšãªã¢ã«ã¿ã€ã ã§DBã«ä¿åããã䜿ãããããé«ãŸããŸãããããã«ãä»ã®ãŠãŒã¶ãŒãšã¹ã±ãžã¥ãŒã«ãå
±æã§ããããã«å®è£
ããŸããïŒ
ã髿¿çž®ããã¯ãšã³ãã³ãŒã¹ã åè¬åŸã¯ç§ãéçºè
ïŒ
ðð»ââïžå®åã«ããã«æŽ»çšã§ããããŒããã©ãªãª2å
ðšð»âðèªåã§æé·ã§ããéçº ç¥èãæ§ç¯
ðð»ââïžå®åã§ã¹ã ãŒãºãªã³ãã¥ãã±ãŒã·ã§ã³ ãè¡ããžã¥ãã¢éçºè
ðšð»âð»ä»éšéãšã®ã³ã©ãã¬ãŒã·ã§ã³èœåã«åªãã ããã¯ãšã³ãéçºè
ðð»ââïž èªåã§ãã§ããE-commerce Platforméçº
ããé«ããã£ãªã¢ãžã£ã³ãã®ããã«
ã髿¿çž®ããã³ããšã³ãã³ãŒã¹ããçšæããŸããã
ðð»é¢é£ããããè¬çŸ©ïŒ
ããŒã¿ç®¡çãã»ãã¥ãªãã£ãæ¯æããªã©èŠããªãããã¯ãšã³ãã®é åãåŠç¿ããå ŽåããŠãŒã¶ãŒãšåºäŒããããã³ããšã³ãã³ãŒã¹ã¯ã©ããªç¥ã§ããïŒçŽæ¥APIãæ¥ç¶ããŠåžæã®UIã»UXã§æ
å ±ã衚瀺ããããŸããŸãªã€ã³ã¿ã©ã¯ã·ã§ã³èŠçŽ ãå®è£
ããŠãŠãŒã¶ãŒãšã³ãã¥ãã±ãŒã·ã§ã³ããããšãã§ããŸããããŠãããReactãNext.jsãGraphqlãªã©ãããã³ãç³»ã®ææ°ã¹ã¿ãã¯ãŸã§æã«å
¥ãããïŒ
åŸ
ã£ãŠïŒ
åè¬åã«ã確èªãã ããã
ð¡ã³ã³ãã¥ãŒã¿ã®ä»æ§ ã確èªããŠãã ããã
ã»Mac OSã¯ä»æ§ã«ç¡é¢ä¿ã§ãã - RAM 16Gä»¥äžæšå¥šïŒ2015幎以éã®ã¢ãã«ã«å¯Ÿå¿ïŒ ã»Window OSã䜿çšããå Žå - RAM 16GBã®å Žåãubuntu OSã§å®å
šã«ã€ã³ã¹ããŒã«ããŠãã ããã - RAM 16GB以äžã®å ŽåãWindow+ubuntuãã¥ã¢ã«ã€ã³ã¹ããŒã«ã§ããŸãã - ããã¯ãšã³ãè¬çŸ©ã§ã¯ã³ã³ãã¥ãŒã¿ããµãŒããŒãšããŠã掻çšããå¿
èŠããããããRAMã«ãã£ãŠã¯äžéšã®ã¢ãžã¥ãŒã«/ã©ã€ãã©ãªãããŒã«ã®å©çšãé£ãããã¹ã ãŒãºãªåè¬ãé£ããå ŽåããããŸãã - ubuntuã®ã€ã³ã¹ããŒã«ã¯ææ¥è³æ>ç°å¢èšå®ã§ç¢ºèªããŠãã ããã ïŒã°ãŒã°ã«ãå¯èœã§ãïŒïŒ - Intel Core i5 9äžä»£ä»¥äž / AMD RYZEN 5 2äžä»£ä»¥äž ð¡æ¥èª²è¡šãäœã£ãŠå®æçã«çå®ã« åŠç¿ããããšããå§ãããŸãã ð¡åŠç¿è³æãåãåãããã«ã³ã©ãã¬ãŒã·ã§ã³ããŒã«ãNotionãã¢ã«ãŠã³ã ãäœæããŠãã ããã ð¡åè¬ã«å¿
èŠãªåŠç¿è³æã¯ããã·ã§ã³ïŒãªã³ã¯ïŒã§æäŸãã ãŸãã â»åŠç¿è³æã®èäœæš©ã¯ã³ãŒããã£ã³ãã«ãããŸããäžæ£ççšã»é
åžã»è€è£œãçŠæ¢ããŸãã
ãã
質åããããŸããïŒ
Q. äœã®ç¥èããªãåè¬ããŠãããã§ããïŒ ã¯ããã³ãŒãã£ã³ã°ã®ã錻ãè
ãç¥ããªããŠã倧äžå€«ã§ããããæ·±ãåºãçè§£ã§ããããã«ãHTMLã»Javascriptã®ãµãã·ç§ããã»ã¹ã å«ãŸããŠããŸãã
Q. å¥ã®ææããããŸããïŒ ããã·ã§ã³ã§ãå±ããããè¬çŸ©è³æããæŽ»çšããŠãã ããïŒæ¬è³æã¯å®éã®ããŒããã£ã³ãã§äœ¿çšãããã®ãŸãŸã®è³æã§ããç¡æççšã»é
åžã»è€è£œãçŠæ¢ããŸãã
Q. åºç€è¬çŸ©ïŒéå§ã¯ããªãã£ã³ããJavascriptïŒã®ææ¥è³æãªã¹ããæ··ä¹±ããŸãã
Q. åè¬äžã«æ°ã«ãªãç¹ããããŸããã ã³ãã¥ããã£ã«è³ªåãæ®ããŠãã ãããã³ãŒããã£ã³ãããŒã ã¯ããã«çŽ æ©ãã¯ãŒã«ãªçããæ§ããŸã:)
ããŒã ã³ãŒããã£ã³ã
玹ä»ããŸãã
VIDEO