ããŒã¿çã®ãã³ãŒãããã¯ããã¿ã³ã¯ãæåã®èª²é¡ã§ãããHTMLèŠçŽ ã«ããã«ã¡ã¯ãã«è¡šç€ºãããŸãã ããã¯ãURIãä»ããJavaScriptã®æ¿å ¥ãé²ãããã®æè¿ã®ã»ãã¥ãªãã£ã®æ¹åãšé¢ä¿ããããšæããŸããïŒ ãããã«ãããç§ã®URIã«ã¯ã³ãŒãããããŸããã URIã¯https://beta.freecodecamp.org/en/challenges/basic-html-and-html5/say-hello-to-html-elementsã§ãã ä¿åãããã³ãŒããããŒã«ã«ã¹ãã¬ãŒãžã§èŠã€ãã£ãããã ãšæããŸããïŒ å®è¡ããã³ãŒãã®ããŒã«ã«ã¹ãã¬ãŒãžããã§ãã¯ããããšã¯ãã³ãŒã¹ãå§ããã°ããã®äººã®èœåãã¯ããã«è¶ ããŠããŸããïŒ
ãããæåã®èª²é¡ã§ãããããããã¯ééããªãæ··ä¹±ãæããã³ãŒããå®å
šãã©ãããå€æããåå¿è
ã®å°éç¥èãè¶
ããŠããŸãã ç§ãã¡ã¯ã圌ããè¡ãããã«èšç·ŽãããŠããªã決å®ãããããã«åœŒãã«æ±ããŠããŸãã ç§ã¯çµéšè±å¯ãªéçºè
ãšããŠããæ··ä¹±ããŠããŸããã ã³ãŒããä¿¡é Œã§ãããã©ãããç解ããããã«äœãæ¢ãå¿
èŠããããŸããïŒ ç¢ºãã«ãããã¯ç§ã®<h1>
èŠçŽ ãããã¹ããšãã£ã¿ã®ä»ã®äœãã§ã¯ãããŸãããïŒ
ãŸãã clicking the "Run tests" button"
ã«ã€ããŠèª¬æããŠããæé ãšäžèŽããŸããã
å®å šãç¶æããªãããã©ãããã°ãŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ãåäžãããããšãã§ããŸããïŒ
@tchaffeeã¬ããŒãã«æè¬ãã httpsïŒ//github.com/freeCodeCamp/freeCodeCamp/issues/16250ãæ¯æããŠãããéã
@raisedadead IssueïŒ16250ã¯ãå¥ã®åé¡ã«ã€ããŠèª¬æããŠããŸãã ç§ã®æžå¿µã¯ãåå¿è ãã³ãŒããå®å šã«å®è¡ã§ãããã©ãããã©ããã£ãŠç¥ãã®ããšããããšã§ãã åå¿è ããã®æ±ºå®ãäžãããã®æ å ±ãæã£ãŠããæ¹æ³ããªãããããŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ã¯æªãã§ãã
ããããŸãã...ããã¯ãæä¹ã®ããã«ã¹ããããã£ã¬ã³ãžãå¿ èŠã«ãªãããšãæå³ããŸãã
@QuincyLarsonäœãèããŠããããšã¯ãããŸããïŒ
ãŸãã¯ããã®èŠä»¶ã«å¯ŸããŠæåã«ã©ã®ããã«æäŸããããåæ€èšããŸããïŒ ããŒã«ã«ã¹ãã¬ãŒãžããã³ãŒããå®è¡ãããªã¹ã¯ã¯ãããŸããïŒ URIã«ã³ãŒãããªãå Žåã§ãèŠåã衚瀺ãããŸãããããã¯ä¿åããäœæ¥ã§ãããããäžèŠãªèŠåã®ããã§ãã
ãã®ãŠãŒã¹ã±ãŒã¹ã®èæ¯ã¯ããããŸããããURIã®ã³ãŒãã¯å ±æçšã ãšæããŸããïŒ ãããŠããããæ¬åœã®ã»ãã¥ãªãã£ãªã¹ã¯ã ãšæããŸããïŒ
åå¿è ã®ããã°ã©ããŒã«ã³ãŒããå®å šã«å®è¡ã§ãããã©ãããå€æããã®ã§ã¯ãªããã³ãŒããå ±æããããã®å¥ã®ãœãªã¥ãŒã·ã§ã³ãæ€èšã§ãããããããŸããã æåã«ãæ¢åã®ãœãªã¥ãŒã·ã§ã³ãæäŸãããã®ãšãçŸåšã®ãœãªã¥ãŒã·ã§ã³ã«ã€ãªããèŠä»¶ãç解ããããšã¯äŸ¡å€ããããšæããŸãã ãããã¯ãURIãä»ããŠã³ãŒããå ±æããããšã¯ãããããšããã§æªãèãã§ããå ŽåããããŸãã
ãŸãã¯ããã®èŠä»¶ã«å¯ŸããŠæåã«ã©ã®ããã«æäŸããããåæ€èšããŸããïŒ ããŒã«ã«ã¹ãã¬ãŒãžããã³ãŒããå®è¡ãããªã¹ã¯ã¯ãããŸããïŒ URIã«ã³ãŒãããªãå Žåã§ãèŠåã衚瀺ãããŸãããããã¯ä¿åããäœæ¥ã§ãããããäžèŠãªèŠåã®ããã§ãã
èŠä»¶ã¯ååã«ç¢ºç«ãããŠããŸãã æ¬çªç°å¢ã§ããã€ãã®XSSã®åé¡ã«å¯ŸåŠããå¿ èŠããããŸããã ææ°ã®ãã®ã¯ãå ±æãå®å šã«ãããã¯ããå¿ èŠããããŸããã å®å šã§ãªãã³ãŒããå®è¡ããæ¹æ³ã«ã€ããŠã¯ãããã€ãã®ãã¯ãã«ããããŸãã
ããšãã°ããŠãŒã¶ãŒã¯ã©ãããã§ã貌ãä»ãã³ãŒããã³ããŒããããšãã§ããããã¯å®éã«ã¯ãã®ãããªåé¡ã«ã€ãªããå¯èœæ§ããããŸãã çŸåšã®ä¿®æ£ã§ã¯ããã®ãããªãã¯ãã«ãé²ãããšã¯ã§ããŸããããæè¡çã«ã¯èŠåä»ãã®å®è¡ãå¶éããŠããŸãã ãã¡ããããã®åšãã®UXã¯æžå¿µäºé ã§ãããããåŠç¿ãã¹ãå¿ èŠã§ãã
åå¿è ã®ããã°ã©ããŒã«ã³ãŒããå®å šã«å®è¡ã§ãããã©ãããå€æããã®ã§ã¯ãªããã³ãŒããå ±æããããã®å¥ã®ãœãªã¥ãŒã·ã§ã³ãæ€èšã§ãããããããŸããã
ãã¡ããã æ°è»œã«èŠãŠãã ãããåºæ¬çã«å®è¡æã®ã€ã³ãã©ã¬ãã«ã®ãããã¯ã§ããçŸåšã®ä¿®æ£ãè£åŒ·ãããœãªã¥ãŒã·ã§ã³ã欲ããã§ãã ãã¡ãããèå³ãããã°ãPRã®ãã«ããå©çšããããšãã§ããŸãã
ãããã¯ãURIãä»ããŠã³ãŒããå ±æããããšã¯ãããããšããã§æªãèãã§ããå ŽåããããŸãã
ãã³ã¯èšç»ãããŠããŸãããã€ã³ãã©ã®æºåãæŽã£ãŠãããããããã«ã¯çºçããŸããã https://github.com/freeCodeCamp/freeCodeCamp/issues/11263ãåç §ããŠ
ããã¯ããŠãŒã¶ãŒãå¯äžã®ã¢ãã«ã§ãããDBã軜éã«ä¿ã€å¿ èŠããã£ããšãã«ãåŸã ã«åãé¢ããŠããäºå®ã§ãã
èŠä»¶ã¯ååã«ç¢ºç«ãããŠããŸãã
ã©ãïŒ ããŒã«ã«ã¹ãã¬ãŒãžããã³ãŒãããã§ããããããšãèŠä»¶ã®1ã€ã§ããããšãç解ããŠããŸãã ããã¯ç§ã«ã¯çã«ããªã£ãŠããŸã-ãã£ã³ãã³ã°ã«ãŒã¯åœŒããåãçµã¿å§ããã³ãŒãã倱ãã¹ãã§ã¯ãããŸããã
URIããã³ãŒããå®è¡ããããã®å¥ã®èŠä»¶ã¯ãããŸããïŒ ããã«ã€ããŠã¯ããããããŸãããæ°é±éåã«èŠãã»ãã¥ãªãã£ã®åé¡ãããã«ã鳎ãã ãã§ãã
ãããã¯ã2ã€ã®ç°ãªãç®æšãããã³ç°ãªãã»ãã¥ãªãã£ãªã¹ã¯ãæã€2ã€ã®ç°ãªãèŠä»¶ã®ããã«èŠããŸããïŒ
æ°è»œã«èŠãŠãã ãããåºæ¬çã«å®è¡æã®ã€ã³ãã©ã¬ãã«ã®ãããã¯ã§ããçŸåšã®ä¿®æ£ãè£åŒ·ãããœãªã¥ãŒã·ã§ã³ã欲ããã§ãã
ç§ã¯ã»ãã¥ãªãã£ã®å°é家ã§ã¯ãããŸããããèŠä»¶ãããããç解ã§ããã°ãäœããèãåºããŠã¿ãããšæããŸãã 誰ãããææ°ã®å€æŽã§ä¿®æ£ããããšããã»ãã¥ãªãã£ããŒã«ãšãšãã«ããã£ã³ããŒã®èŠ³ç¹ãããã¹ãŠã®èŠä»¶ã詳现ã«èª¬æã§ããŸããïŒ ãŸãããã€ã³ãã©ã¬ãã«ãããã¯ããšã¯äœã§ããïŒ
ãã³ã¯èšç»äžã§ãã
ãã®åé¡ã¯ãç§ããããäœã§ããããç解ããã®ã«åå詳现ã«ãã®è§£æ±ºçã説æããŠããŸããã ããã³ããšã¯äœããæ³å®ããããœãªã¥ãŒã·ã§ã³ãšã¯äœãã«ã€ããŠè©³ããæããŠãã ããã
ãšã«ãããããããã£ãšå€§ããããããããŸããã ãã¶ãããªã³ããŒãã£ã³ã°ã®ã¹ããããã£ã¬ã³ãžã¯ä»ã®ãšããæ£ããåé¿çã§ãã ããããç§ã¯ãã®ãªã³ããŒãã£ã³ã°ãã©ã®ããã«ãªãã®ãæ¬åœã«èå³ããããŸãã ã©ã®ã³ãŒããä¿¡é Œãã¹ãã§ãã©ã®ã³ãŒããä¿¡é Œãã¹ãã§ãªãããæåã«ãã£ã³ããŒã«æããããšã¯å¯èœã§ããïŒ äœãæ°ã«ãªã£ãŠããããšãããã°ãç§ãæ³åããŠãããããç°¡åãããããªãã®ã§ãç§ã¯ãããèŠãããšæããŸãã
ãããžã§ã¯ãã®ã¢ãŒããã¯ãã£ã«ã€ããŠã奜å¥å¿ãæã£ãŠããã ãããããšãããããŸãã ç§ã¯ééããªãããªãã®ãã¹ãŠã®è³ªåã«çããããšæããŸãããç§ã¯æããŠããŸãããã®ã¹ã¬ããã®ãã¹ãŠã説æããããšã¯ååã§ã¯ãªãããæ£åœåãããŸããã
ãããããããå§ããŠãããšã®ããšã§ãã®ã§ãã§ããã ãæ確ã«ããããã«åªããŸãããäžæãªç¹ãããå Žåã¯ã¯ãšãªãåé€ããŠãã ããã
ç§ã¯ãã®ã¯ãšãªãåããããªãã«ã³ã³ããã¹ããäžããããšãè©Šã¿ãŸãïŒ
誰ãããææ°ã®å€æŽã§ä¿®æ£ããããšããã»ãã¥ãªãã£ããŒã«ãšãšãã«ããã£ã³ããŒã®èŠ³ç¹ãããã¹ãŠã®èŠä»¶ã詳现ã«èª¬æã§ããŸããïŒ ãŸãããã€ã³ãã©ã¬ãã«ãããã¯ããšã¯äœã§ããïŒ
ãŸããã¯ã©ã€ã¢ã³ãåŽã®æ¬çªç°å¢ïŒfreeCodeCamp.orgïŒãšã¹ããŒãžã³ã°ïŒbeta.freeCodeCamp.orgïŒã§ã³ãŒããè©äŸ¡ããã³å®è¡ãããæ¹æ³ã«å€§ããªéãããããŸãã ããã«ã€ããŠè°è«ããããšã¯å°ãç¯å²å€ãªã®ã§ãã³ãŒããèŠãŠã¢ããã€ã¹ããŸãã ãã ããããã»ã¹ã俯ç°ããããã«ããšãã£ã¿ãŒã§ã³ãŒããååŸãããã©ãŠã¶ãŒã®ã³ã³ããã¹ãã§å®è¡ããŸãïŒ evalã䜿çšããŠã³ãŒããåç §ïŒãæ¹æ³ã¯å€§ããç°ãªããŸãã
ããŠããã£ã³ãã³ã°ã«ãŒã®èŠç¹ã«æ¥ãŸãã ãã£ã³ãã³ã°ã«ãŒãšããŠè¡ããã¹ãŠã®ã·ããªãªãæ³åããŠã¿ãŠãã ããã
ãã¹ãŠã®å Žåã«ãããŠãããã€ãã®å®å šæ§ãã§ãã¯ãè¡ãããŸããããšãã°ãç¡éã«ãŒãä¿è·ãDBã«éä¿¡ããåã«ãœãªã¥ãŒã·ã§ã³ããšã³ã³ãŒãããéã®ã¿ã°ã®ã¹ãã©ã€ãã³ã°ããã³/ãŸãã¯äº€æãªã©ã§ãã
ãããã çµã¿åããã®å Žåãè€æ°ã®æ»æãã¯ãã«ãåŠçããã«ã¯éåžžã«è€éã§ãã
ããã¯ãã ã®ã»ãã¥ãªãã£ã§ãã
次ã«ãã¯ãŒã¯ãããŒããããŸãã
ããã§ã®ãã©ã³ã¶ã¯ã·ã§ã³ãšã¯ããŠãŒã¶ãŒããããã¡ã€ã«ãŸãã¯ä»ã®å Žæããå ±æãªã³ã¯ãã¯ãªãã¯ããããã«ããšãã£ã¿ãŒã«ã³ãŒããããç¶æ ã«ãªãããšãæå³ããŸãã
è©äŸ¡ã®ããã«ãœãªã¥ãŒã·ã§ã³ãããŒãããåªå
床ã¯Editor > Local Storage > URI/DB
ã·ããªãªãšã¯ãŒã¯ãããŒãæ¯èŒãããšãæ»æãã¯ãã«ãå¯ãä»ããã«ãããžãã¯ãã©ãã»ã©è€éã«ãªããããããã§ãããã
ãããã£ãŠãå æ¬çãã§ãã¯ã§ã¯ãã³ãŒãããã¯è§£é€ã¡ãœãããä»ããŠãæ瀺çãªåæãªãã«ããã¹ãŠã®ãã£ã¬ã³ãžã«å¯ŸããŠãšãã£ã¿ãŒã§äœãå®è¡ããŸããã ããã¯ç§ãåã£ãŠããã€ã³ãã©ã¬ãã«ã®ãããã¯ã§ãã ãã©ãŠã¶ã®åé¢ãããç°å¢ã§ãã¹ãŠã®ã³ãŒããå®å šã«å®è¡ããæ¹æ³ãèŠã€ãããŸã§ãããã¯ã©ãã«ãè¡ããŸããã
ç§ã¯ãããUXã«ãšã£ãŠæªããããããªãããšã«åæããŸãã ãããã£ãŠããªã³ããŒãã£ã³ã°ã¯ãããŸãè€éã«ãªãããæ°ãããŠãŒã¶ãŒãæããããããšãªãããªããããå¿ èŠãªã®ãã瀺ãæ¹æ³ã«ãªãå¯èœæ§ããããŸãã
æåŸã«ããã³ã¯çããªã³ã¯ã®ãããªãã®ã«
ãããã¯ãçŸåšã®åªå 床ã®ãªãŒããŒããããªãã«ã³ãŒããå®å šã«ä¿å/衚瀺ããã®ã«åœ¹ç«ã¡ãŸãã
ããã
å®éã®UXã®ä¿®æ£ã¯ããªã³ããŒãã£ã³ã°ãã£ã¬ã³ãžã§èŠåã説æããã ãã§ãã
ããã§ã¯åçŽåããããŠããå¯èœæ§ãããããšã«æ³šæããŠãã ããã èå³ãããã°ãã³ãŒãããã§ãã¯ããããšããå§ãããŸãã è¡ãè©°ãŸã£ãå Žåãç§ãã¡ã¯ãã®é¢ã§ã®ç解ã«å¯ŸåŠããããã«ãªãŒãã³ã§ãã ã§ããããããã«è³ªåãå ¥ããŠãã ããã
ç¹°ãè¿ãã«ãªããŸããã
ã©ã®ã³ãŒããä¿¡é Œãã¹ãã§ãã©ã®ã³ãŒããä¿¡é Œãã¹ãã§ãªãããæåã«ãã£ã³ããŒã«æããããšã¯å¯èœã§ããïŒ äœãæ°ã«ãªã£ãŠããããšãããã°ãç§ãæ³åããŠãããããç°¡åãããããªãã®ã§ãç§ã¯ãããèŠãããšæããŸãã
ãã£ã³ããŒã課é¡ã®è§£æ±ºã®ããã«äœæããã³ãŒãïŒæåã§å ¥åããããä»ã®ãšãã£ã¿ãŒããã³ããŒããŠè²Œãä»ããïŒã¯ä¿¡é ŒãããŠããŸãã
ä»ã®èª°ãã«ãã£ãŠäœæãããã³ãŒãïŒèªåã®ãããã¡ã€ã«ããã®ãªã³ã¯ãå«ãïŒã¯ä¿¡é ŒãããŠããªããããäžåºŠç¢ºèªããå¿ èŠããããŸãã 圌ãã¯åçŽã«ããšãã£ã¿ãŒã®ãœãªã¥ãŒã·ã§ã³ã圌ãã«ãšã£ãŠæå³ãããããšã確èªããããšãã§ããŸãã ãªããªãã圌ããã©ã³ãã ãªã³ãŒãã®ããã¯ã解é€ããŠããå Žåããããäœã§ããããç解ããã«ãããã€ãã®å¯èœãªã»ãã¥ãªãã£ã»ãŒãã¬ãŒããå±éºã«ãããå¯èœæ§ãããããã§ãã
äžèšã®2ã€ã®ãã€ã³ãã«ã€ããŠã®èšãåããæºåãããªã³ããŒãã£ã³ã°ãã£ã¬ã³ãžãäœæããå¿ èŠããããŸãã
ãããããªãã«ããã€ãã®æèãäžããããšãé¡ã£ãŠããŸããïŒ ããã§ãªãå Žåã¯ãã¯ãšãªãè¿œå ããŠãã ããã 幞ããªè²¢ç®ïŒ
@raisedadeadããªãã®è©³çŽ°ãªèª¬æã¯å€§ãã«åœ¹ç«ã¡ãŸãã ç§ã¯ãç§ãã¡ãæè¯ã®çæçããã³é·æçãªå®æœã«ã€ãªããããšãé¡ã£ãŠããããã€ãã®è³ªå/芳å¯ããããŸãã
ãšãã£ã¿ãŒã§ã³ãŒããååŸãããã©ãŠã¶ãŒã®ã³ã³ããã¹ãã§å®è¡ããŸãïŒevalã䜿çšïŒ
ãããã»ãã¥ãªãã£åé¡ãåŒãèµ·ãã匱ç¹ã§ãã åé¿ã§ãããšèšã£ãŠããããã§ã¯ãããŸããããåãæ©èœãæäŸããããã®ããå®å šãªæ¹æ³ã誰ããæãã€ããå Žåã«åããŠããã¬ã€ã³ã¹ããŒãã³ã°ãè¡ãå¿ èŠãããããšã«æ³šæããŠãã ããã çµå±ã®ãšãããã³ãŒããå®è¡ããå¿ èŠãããããã§ã¯ãªããããããŸããã ããããããã«ã€ããŠã¯ãªãŒãã³ãã€ã³ããä¿ã¡ãŸãããã ç§ã¯åšãã«å°ããããšãçŽæããŸãã
æ©èœãšèŠä»¶ãããå°ã詳ããèŠãŠã¿ãŸãããã
éšåçãªãœãªã¥ãŒã·ã§ã³ïŒç·šéãŸãã¯ã³ããŒè²Œãä»ãïŒãã€ãŸãïŒéä¿¡æžã¿+äžåæ ŒãŸãã¯äœæ¥äžïŒã¯ããŒã«ã«ã¹ãã¬ãŒãžã«ããå¿ èŠããããŸãã
ãã£ã³ããŒã課é¡ã®è§£æ±ºã®ããã«äœæããã³ãŒãïŒæåã§å ¥åããããä»ã®ãšãã£ã¿ãŒããã³ããŒããŠè²Œãä»ããïŒã¯ä¿¡é ŒãããŠããŸãã
äžèšã®ããšãããããŒã«ã«ã¹ãã¬ãŒãžããã®ã³ãŒãã¯ä¿¡é Œãããã¹ãã§ããããä¿¡é ŒãããŠããªãããã«èŠããŸãã URIïŒçµ¶å¯Ÿã«ä¿¡é ŒãããŠããªãïŒããã®ã³ãŒããšã以åã«å ¥åããããŒã«ã«ã¹ãã¬ãŒãžããã®ã³ãŒããåºå¥ããæ¹æ³ã¯ãããŸããïŒ ãã®å°ããªå€æŽã ãã§ãUXã¯ã¯ããã«è¯ããªããŸãã ç¹ã«ãã¡ãã»ãŒãžãããå ·äœçã«ããããšãã§ããã®ã§ããã³ãŒããå«ãURIã䜿çšããŸããããã³ãŒããä¿¡é ŒããŸããïŒã
URIããã®ã³ãŒãã ããæ€åºããŠä¿¡é Œããããšãã§ããªããã°ãæ¢åã®ã¯ãŒã¯ãããŒãšæ©èœã«ããŸãé©åãããšæããŸãã ã³ãŒããURIããã®ãã®ã§ããå ŽåããŠãŒã¶ãŒããã³ãŒãã®ããã¯/ããã¯è§£é€ïŒããæŒããŸã§ãã³ãŒããããŒã«ã«ã¹ãã¬ãŒãžã«ä¿åããŸããã ãã¿ã³ã ãã®åŸããŠãŒã¶ãŒã¯ã³ãŒããä¿¡é ŒããŠããããšã瀺ããã®ã§ãå®å šã«ããŒã«ã«ã¹ãã¬ãŒãžã«å ¥ããŠãåŸã§æ»ã£ãŠãããšãã«èŠåãªãã«å®è¡ã§ããŸãã
é·æçã«ã¯ãURIã§ã³ãŒããéä¿¡ããããšãå šäœçã«æªãèãã§ãããã©ããããããŠãœãªã¥ãŒã·ã§ã³ãšã³ãŒããå ±æããããã®ããè¯ãæ¹æ³ãèŠã€ããããšãã§ãããã©ããã¯ééããªãçåã§ãã ããããããã¯ç©äºãçŸåšè¡ãããŠããæ¹æ³ã«ããã€ãã®å€§ããªå€æŽãå¿ èŠãšããã®ã§ãããã¯ããé·æçãªè³ªåã§ããããšãç¹°ãè¿ããŸãã
圌ãã¯åçŽã«ããšãã£ã¿ãŒã®ãœãªã¥ãŒã·ã§ã³ã圌ãã«ãšã£ãŠæå³ãããããšã確èªããããšãã§ããŸãã
ããã«ããããªã³ããŒãã£ã³ã°ã¯å¹æçã§ããã»ã©ç°¡åã§ããå¯èœæ§ããããšç§ã¯ç¢ºä¿¡ããŸããã ããšãã£ã¿ãŒã®ã³ãŒããèªèãŸãã¯ç解ããŠããªãå Žåã¯ãä¿¡é Œããªãã§ãã ãããã
ããããURIããã®ã³ãŒããšããŒã«ã«ã¹ãã¬ãŒãžå ã®ã³ãŒããåºå¥ã§ããå Žåã¯ããªã³ããŒãã£ã³ã°ãå¿ èŠãã©ããããçåã«æã£ãŠããŸãããã®ãããªç¶æ³ã§ã®ã¿èŠåããããšã¯ãç§ã«ã¯æªãUXã®ããã«ã¯æããªãããã§ãã ãURIã®ã³ãŒãã䜿çšããã°ããã§ããããã¯ã解é€ããåã«ããšãã£ã¿ãŒã®ã³ãŒãã«æå³ãããããšã確èªããŠãã ãããã
@raisedadead @tchaffeeã«äŒã£ãããšããããã©ããã¯ããããŸãããã圌ã¯freeCodeCampã«å€å€§ãªè²¢ç®ãããŠããŸãã 圌ã¯çµéšè±å¯ãªéçºè ã§ãããæ°ãããã¹ãå¯èœãªãããžã§ã¯ãã®èåŸã«ããäž»èŠäººç©ã®1人ã§ãã
ããããŸãã...ããã¯ãæä¹ã®ããã«ã¹ããããã£ã¬ã³ãžãå¿ èŠã«ãªãããšãæå³ããŸãã
ãã以äžã¹ããããã£ã¬ã³ãžãè¿œå ããããããŸããã ã©ã¡ãããšããã°ãç§ãã¡ã¯ç§ãã¡ãæã£ãŠããã¹ãããã®èª²é¡ãåãé€ããããšæã£ãŠããŸãã
ããã¯ã人ã ãèªãã§ããªãããã§ãã
ãã£ã¬ã³ãžã¬ãã¹ã³ã®ããã¹ããã§ããã ãç°¡æœã«ããããšããçç±ã®1ã€ã¯ãããã¹ããå€ãã»ã©ããŠãŒã¶ãŒããããèªãå¿èåãäœäžããããã§ãã
@tchaffeeã¯æ£ããã§ã-ããã®UXãæ¹åããå¿ èŠããããŸãã
ä»ã®èª°ãã®ã³ãŒããå«ãURLãã¯ãªãã¯ããŠãã£ã¬ã³ãžã«å°éããå Žåã«ã®ã¿ãã³ãŒããããã¯ããããšãææ¡ããŸãã ãã以å€ã®å Žåã¯ãã³ãŒãã®å®è¡ã«ã€ããŠèŠåããã¹ãã§ã¯ãããŸããã
JSBinãCodePenããããã®ãµã€ãã®ããããããã®ãããªä»ã®äººã®ã³ãŒããå®è¡ããããšã«ã€ããŠäººã ã«èŠåããŠãããšã¯æããŸããã ç§ãã¡ã¯åœŒãã«èŠåããããšãã§ãããšæããŸããã圌ãã圌ãã®ãã®ã§ã¯ãªãã³ãŒããå®è¡ããŠããå¯èœæ§ãé«ãç¶æ³ã§ã®ã¿ã§ãã ããã§ãªããã°ããã®ãã¿ã³ãã¯ãªãã¯ããããšã¯æ¬åœã«è¿·æã§ãããæ¶èãå¢å ãããŸãã
ãšãã£ã¿ãŒã§ã³ãŒãã®ç·šéãéå§ã§ããŸãã
ããã¯ã¯å¿ èŠãããŸããã
ãšãã£ã¿ãŒã«ã³ãŒãã貌ãä»ããããšãã§ããŸã
ããã¯ã¯å¿ èŠãããŸããïŒè²Œãä»ããŠããã³ãŒãããã§ã«èªãã§ãããšæ³å®ããå¿ èŠããããŸãïŒ
éšåçã«ç·šéããå¥ã®ãã£ã¬ã³ãžã«ç§»åããŠãæ»ã£ãŠããããšãã§ããŸãã
ããã¯ã¯å¿ èŠãããŸãã
誰ãã®ãããã¡ã€ã«ã«ã¢ã¯ã»ã¹ãããããœãªã¥ãŒã·ã§ã³ã®è¡šç€ºãªã³ã¯ãã¯ãªãã¯ãããããã©ãŒã©ã ã®ãªã³ã¯ãã¯ãªãã¯ãããã§ããŸãã
ããã¯ãããã¯ãå¿ èŠãªå Žåã®å¯äžã®ç¶æ³ã§ãã
ãŸãããããŒã¡ãã»ãŒãžãäžèŠãªå Žæã«ãããèšãæããå¿ èŠããããŸãã ã³ãŒãããŒã¹ã®ä»ã®å Žæã§ã¯ãããŒã¡ãã»ãŒãžã䜿çšããŸãããã¢ãã€ã«ã§ã¯æ©èœããªãããã䜿çšããªãã§ãã ããã 䜿çšãããã¹ãŠã®ããã¹ãã¯ããã¿ã³èªäœã«æžã蟌ãå¿ èŠããããŸãã
䜿çšãããã¹ãŠã®ããã¹ãã¯ããã¿ã³èªäœã«æžã蟌ãå¿ èŠããããŸãã
ãã³ãŒããããã¯ãããŠããã®ã¯ãªãã§ããïŒãã®è¡ã«æ²¿ã£ãŠãã¿ã³ã®äžã«ãªã³ã¯ã衚瀺ãããšãæ¢åã®ãã¿ã³ã®ããã¹ããæ©èœãããšæããŸãã ãã ã®ææ¡ã
ãŸããä»ã«æéããªãå Žåã¯ããã®åé¡ã«åãçµãããšãã§ããŸãã é¢é£ãããã¹ãŠã®ã³ãŒããæããŠããã人ã®å©ããå¿ èŠã§ãã ãããããã£ãšè³æ Œããããåãã§ãã人ããããªãã確ãã«åœŒãã«ãã®åé¡ãåãäžããããŠãã ããã
@tchaffeeããã¯çŽ æŽãããããšã§ãïŒ
ãªã³ã¯ãä»ããã®ã§ã¯ãªãããã¿ã³ã2è¡ã®é·ãã§ãã£ãŠããã§ããã ãå°ãªãåèªã§èª¬æããããã®ç°¡æœãªæ¹æ³ãç解ããå¿ èŠããããŸãã ãç§ã¯ãã®ã³ãŒããä¿¡é ŒããŠããŸããããã¯ã解é€ããŠãã ãããã
ç¹°ãè¿ããŸãããã³ãŒãããã£ã³ãã³ã°ã«ãŒã®ãã®ã§ãªãå Žåã«ã®ã¿ããã®ãã¿ã³ã衚瀺ããããšæããŸãã
@QuincyLarsonã¯ãããªã³ããŒãã£ã³ã°ãããŒãé¿ããã©ãã«ã®ã¿ãæŽæ°ããããšæããŸãã
ããã§ããçŸåšã®ã¯ã©ã€ã¢ã³ãåŽã®ããžãã¯ã«åŸã£ãŠãéãŠãŒã¶ãŒã³ãŒãã®ã¿ããããã¯ããå®è£ ãå®è£ ããå¿ èŠããããšããäºå®ãæ®ããŸãã
ããã¯ãã³ãŒããURIãªã©ããã®ãã®ã§ããå Žåã«ã®ã¿ããã¿ã³"I trust this code. Unlock it."
ã衚瀺ã§ããããã«ããããã®ããžãã¯ãå®è£
ããå¿
èŠãããããšãæå³ããŸãã
ã©ãã«ãæŽæ°ããŠä»ã®åé¡ãéããããã«PRãè¿œå ããŸãhttps://github.com/freeCodeCamp/freeCodeCamp/issues/16250
ããã§ããçŸåšã®ã¯ã©ã€ã¢ã³ãåŽã®ããžãã¯ã«åŸã£ãŠãéãŠãŒã¶ãŒã³ãŒãã®ã¿ããããã¯ããå®è£ ãå®è£ ããå¿ èŠããããšããäºå®ãæ®ããŸãã
ãããæ°ããåäœãå®è£ ãããšããç§ã®ç³ãåºãã©ãã«æ®ãã®ãããããªãã ãŠãŒã¶ãŒä»¥å€ã®ã³ãŒãã®ã¿ããããã¯ããããã«å®è£ ããããšã¯ã§ããŸãããä»ã¯é©åãªã¿ã€ãã³ã°ã§ã¯ãªãããã§ãã 誰ããæ確ã«ã§ããŸããïŒ
äœããã¹ããã«ã€ããŠéåžžã«å ·äœçãªã¬ã€ãã©ã€ã³ãæäŸããããã«ããããã©ã®ããã«æ©èœããããå確èªããå¿ èŠããããŸãããã®éã圌ã®å ¥åã«@BerkeleyTrueã®ã¿ã°ã
ããã¯ãããã®ã³ãŒããä¿¡é ŒããŸããããã¯ã解é€ããããã¿ã³ã®ããžãã¯ãæå³ããŸãã ã³ãŒããURIãªã©ããã®ãã®ã§ããå Žåã«ã®ã¿è¡šç€ºã§ããããã«ããããã«ã¯ããŸã å®è£ ããå¿ èŠããããŸãã
@raisedadeadã¯ã-ç§ã¯ããªãã«åæããŸãã ããããããšã¯éèŠã§ãããäœå人ãã®ãã£ã³ãã³ã°ã«ãŒã®æ£æ°ãæãã§ãããã
ãããããŒã¿ãªãªãŒã¹ããã°ãã®ãã¯ãªãã£ã«ã«ãã¹ãã«ç§»åããŸããïŒ https ïŒ
誰ããåé¡ã®ã³ãŒãã®éšåãæããŠãããã°ãç§ã¯ãããè©ŠããŠã¿ãããšãã§ããŠããããã§ãã èªåã§èŠã€ããããšãã§ãããšç¢ºä¿¡ããŠããŸããã誰ãããã§ã«ã³ãŒãã«ç²ŸéããŠããå Žåã¯ãæéãç¯çŽã§ããŸãã 誰ããããã®ã¹ããŒã¿ã¹ãæããŠããããŸããïŒ
@tchaffeeä»ãã°ãããåŸ ã¡ããã ããŸããããé¡ãããããŸãã
@Bounceyãã®ããžãã¯ãã³ãŒãããŒã¹ã®ã©ãã«ãããç¥ã£ãŠããŸããïŒ @tchaffeeãæ£ããæ¹åã«
@tchaffee
pathnameSelector
URIã確èªã§ããŸã
SidePanelã³ã³ããŒãã³ãã®mapStatetoProps
ã¡ãœããã«æž¡ãããšã§äœ¿çšããããããToolPanel
ã³ã³ããŒãã³ããæäœã§ããŸãã
ãããã圹ã«ç«ãŠã°å¹žãã§ãð
ç§ã¯ãããèŠå§ããŸããããããŠç§ã¯è³ªåããããŸãã 誰ããç§ã«æ¬¡ã®ããšãè¡ãããšãã§ããæ¹æ³ã®äŸãæããŠããããŸããïŒ
誰ãã®ãããã¡ã€ã«ã«ã¢ã¯ã»ã¹ãããããœãªã¥ãŒã·ã§ã³ã®è¡šç€ºãªã³ã¯ãã¯ãªãã¯ãããããã©ãŒã©ã å ã®ãªã³ã¯ãã¯ãªãã¯ãããã§ããŸããURIãšãåŒã°ããŸãã
ããŒã¿ãµã€ãã§ã¯ããœãªã¥ãŒã·ã§ã³ã®ãããã¢ããã®ã¿ã衚瀺ãããã³ãŒããããŒãããURIã¯è¡šç€ºãããŸããã ã©ãããããã¯ããŒã¿çã§å€æŽãããããã§ããïŒ URIããã³ãŒããããŒãã§ããå Žæã¯ä»ã«ãããŸããïŒ èª°ããç§ã«URIã®äŸãæããŠããããŸããïŒ
ããããšãïŒ
æ£ãã@tchaffee ããã®ãŠãŒã¹ã±ãŒã¹ã¯ç¡å¹ã«ãªããŸããïŒ
誰ãã®ãããã¡ã€ã«ã«ã¢ã¯ã»ã¹ãããããœãªã¥ãŒã·ã§ã³ã®è¡šç€ºãªã³ã¯ãã¯ãªãã¯ãããããã©ãŒã©ã å ã®ãªã³ã¯ãã¯ãªãã¯ãããã§ããŸããURIãšãåŒã°ããŸãã
å®éãã¢ãŒãã«ã«çœ®ãæãããããšãã£ã¿ãŒã§URIã解æãããããã¯ããã«å®å šã«ãªããŸããã ã§ããããURIããã®èªã¿èŸŒã¿ã¯ããèŠããªããšæããŸãã
ããŠãããã¯ç§ãã¡ã«ã³ãŒãã®ããã¯/ããã¯è§£é€ããããããŸãã ãã®ãšãããã¿ã³ã衚瀺ããå¿ èŠããããŸãã
ãããç§ãèããããšãã§ããããã€ãã®ã·ããªãªã§ãïŒ
ããŠãçæ³çãªäžçã§ã¯ããã®ã³ãŒãããã£ã³ãã³ã°ã«ãŒã«ãã£ãŠææãããŠããå ŽåããããŸãã
ãã ããå¯èœæ§ãäœã§ããããšãã£ã¿ãŒã«ããŒããããŠå®è¡ãããã®ã¯ã³ãŒãã§ãã ããã«ãããå®å šã§ãªãã³ãŒããå®è¡ãããå¯èœæ§ã®ããå Žæãæ®ããŸããïŒ å°ãªããšãããã¯ç§ãèŠãããšãã§ãããã¯ãã«ã§ãã
ãããã£ãŠããã£ã³ããŒãäœãå®è¡ããããèªèããæ瀺çãªåæãåŸãŠå®è¡ãããããã«ããå¿ èŠããããŸãã
ãããã£ãŠãããŒã«ã«ã¹ãã¬ãŒãžãŸãã¯ããã¯ãšã³ãïŒéãŠãŒã¶ãŒã³ãŒãïŒããã³ãŒãããããã¯ããéšåã¯ãŸã æ®ã£ãŠãããšæããŸãã ãããããã®ããã®ãã¿ã³ãæã£ãŠããããšã¯ãç§ãæãã«äžå¿ èŠãªããšã§ãã
å ã®ã·ãŒãã³ãŒããŸãã¯ãã£ã³ãã³ã°ã«ãŒã«ãã£ãŠå ¥åããããã®ïŒãŠãŒã¶ãŒã³ãŒãïŒä»¥å€ã®å Žåã¯ãå®è¡ãããŠããªãéãŠãŒã¶ãŒã³ãŒããããã¯ã§ããã¯ãã§ãã
@Bouncey @BerkeleyTrueãã®ãã¥ãŒã§æ£ããã§ããïŒ
ãããããã§ããURI解æã¯ãŸã å©çšå¯èœã§ãããã©ãã«ãè¡ããŸããããã£ã¬ã³ãžãšãã£ã¿ãŒã¯ããœãªã¥ãŒã·ã§ã³ã®ã¢ãŒãã«ãåãããªã¢ã¯ã·ã§ã³ãããã¡ã€ã«ãã¥ãŒããããšããäºå®ã«ãšããããªãããã§ãã
æéãããã°ãURIã®äŸãå ±æããŠã¿ãŸãã
ãã ããå¯èœæ§ãäœã§ããããšãã£ã¿ãŒã«ããŒããããŠå®è¡ãããã®ã¯ã³ãŒãã§ãã ããã«ãããå®å šã§ãªãã³ãŒããå®è¡ãããå¯èœæ§ã®ããå Žæãæ®ããŸããïŒ
ããã§ã¯ãªããšæããŸãã ãã£ã³ããŒãä»ã®å Žæããã³ãŒããã³ããŒ/貌ãä»ãããå Žåãã³ãŒããç解ããã³ãŒããå®å šã§ããããšã確èªããã®ã¯åœŒãã®è²¬ä»»ã§ãã ãã®ã¢ãããŒãã¯ãŸããæ£çŽã«å ±ããäžæ£è¡çºã眰ããŸã-ã³ããŒãããã³ãŒããäœã§ããããç解ããŠããªãå Žåã¯ã決ããŠããã貌ãä»ããŠã¯ãªããŸããã ããªãããããç解ããŠããªããã°ãããªãã¯æããã«ãããèªåã§æžãããšãã§ããªãã£ãã§ããããããã§ããªããåŒãèµ·ããã©ããªæ害ãæ¬åœã®äžæ£è¡çºã®çµæã§ãã
åããŠãšãã£ã¿ãŒã«ã³ãŒããåã蟌ããæ£çŽãªãæ¹æ³ã¯2ã€ã ãã§ããïŒ
ã©ã®æç¹ã§ããŒã«ã«ã¹ãã¬ãŒãžãŸãã¯ããã¯ãšã³ãã«ä¿åãããŸããïŒ
ããŒã«ã«ã¹ãã¬ãŒãžãŸãã¯ããã¯ãšã³ãããååŸããããšãã£ã¿ãŒã«é 眮ãããã³ãŒãã¯ãæåã«äžèšã®ããããã®æ¹æ³ããååŸããå¿ èŠããããŸããã ãã®ãããããŒã«ã«ã¹ãã¬ãŒãžãŸãã¯ããã¯ãšã³ãããã®ã³ãŒãã¯åžžã«å®å šãªãã®ãšããŠæ±ãããšãã§ããŸãã
å ã®ã·ãŒãã³ãŒããŸãã¯ãã£ã³ãã³ã°ã«ãŒã«ãã£ãŠå ¥åããããã®ïŒãŠãŒã¶ãŒã³ãŒãïŒä»¥å€ã®å Žåã¯ãå®è¡ãããŠããªãéãŠãŒã¶ãŒã³ãŒããããã¯ã§ããã¯ãã§ãã
äžèšã®ããã«ãIMOããã¯å¿ èŠãããŸããã
URI解æã¯åŒãç¶ãå©çšå¯èœã§ããããã£ã¬ã³ãžãšãã£ã¿ãŒã¯ããœãªã¥ãŒã·ã§ã³ã®ã¢ãŒãã«ãåããåå¿ãããã¡ã€ã«ãã¥ãŒããããšããäºå®ã«ãšããããªããããã©ãã«ãè¡ããŸããã
ããã¯ç§ãèããããšãã§ããå¯äžã®å®å šã§ãªããã¯ãã«ã§ãã äŸãæããŠããã ããã°ããããæ€åºããŠããã®å Žåã«ã®ã¿[ããã¯è§£é€]ãã¿ã³ã衚瀺ããããšããŸãã
ãã¡ãããç§ãäœããéããå Žåã¯ãç§ãèšæ£ããŠãã ããã
ã¯ããããªããè¿°ã¹ãæåã®2ã€ã®ãã€ã³ãã¯ãã³ãŒããããã¯ããããã®æãäœãã±ãŒã¹ã®ã·ããªãªã§ãããç§ã¯åæããŸãã ãããŠçæ³çã«ã¯ããããããã¯ããå¿ èŠããããŸãã ããã¯è²»çšã®ãããããšã§ãã
ã©ã®æç¹ã§ããŒã«ã«ã¹ãã¬ãŒãžãŸãã¯ããã¯ãšã³ãã«ä¿åãããŸããïŒ
ãšãã£ã¿ãŒã§ã³ãŒããå©çšå¯èœã«ãªããšããã«ä¿åãããŸãã ãããã£ãŠãã³ããŒã®è²Œãä»ããšå ¥åã¯ãã®äžã§ã«ãŠã³ããããŸãã
ããã¯ç§ãèããããšãã§ããå¯äžã®å®å šã§ãªããã¯ãã«ã§ãã äŸãæããŠããã ããã°ããããæ€åºããŠããã®å Žåã«ã®ã¿[ããã¯è§£é€]ãã¿ã³ã衚瀺ããããšããŸãã
ããã¯ãåŠçããå¿ èŠãããå¯äžã®ã±ãŒã¹ã§ãã ãŸããããã¯ä»ã®ãšããåªå äºé ã§ã¯ãããŸããã ããã®ãŠãŒã¹ã±ãŒã¹ã¯ãURIãä»ãããµãŒãããŒãã£ã®çµ±åããWebã¢ããªãžã®ãœãªã¥ãŒã·ã§ã³ãããå Žåã§ãã
ãããã£ãŠãé©åãªãã§ãã¯ã§ååã§ãããæ£ããç解ããããã«ãããã®ã¿ãã€ã³ããªãžã§ã³ãã«ãããã¯ããå¿ èŠããããŸãã
URIã®äŸãã§ããã ãæ©ãå ±æããŸãã ïŒå¯èœã§ããã°ã¹ãã¥ã¢ãŒãããããŸã§ç§ã殎ã£ãŠãã ããïŒ
@raisedadead説æããŠãããŠããããšãã ãŠãŒã¶ãŒãæåã«ãã£ã¬ã³ãžãããŒãããURLã«ã³ãŒããã©ã¡ãŒã¿ãããå Žåã«ã®ã¿ãã¿ã³ãããã¯ããå¿ èŠãããããšã«åæããŸãã ä»ã®ãã¹ãŠã®ç¶æ³ã§ã¯ãã³ãŒããããã¯ããã®ã§ã¯ãªãããŠãŒã¶ãŒããã¿ã³ãã¯ãªãã¯ããããCtrl + Enterãæåã«æŒãããšãã«ã³ãŒããå®è¡ããå¿ èŠããããŸãã
誰ããURLã®ã³ãŒãã®äŸãæããŠããããšããã«ãç§ã¯ããã«åãçµã¿å§ããããšãã§ããŸãã
@tchaffeeããã§URIã®ã³ãŒãããã¹ãããŸãã
ãã®ããã«ifãããã¯ã®ã³ãŒããããã¯ããã¢ã¯ã·ã§ã³ããã£ã¹ãããã§ããŸã
return Observable.of(
makeToast({
message: 'I found code in the URI. Loading now.'
}),
storedCodeFound(challenge, finalFiles),
// lockTheCodeAction()
);
ããã«ãããã³ãŒãURIã䜿çšã§ããããã«ãªããŸã§ãçç£æ§ãç¶æãããŸãã
ããã§@tchaffeeã¯ãäŸã®URLã§ãïŒã®httpïŒ// localhostãïŒïŒ3000 /課é¡/ãã§ãã¯ïŒ 20forïŒ 20Palindromesãœãªã¥ãŒã·ã§ã³=é¢æ°ïŒ 20palindromeïŒSTRïŒïŒ 20ïŒ 7BïŒ 0AïŒ 20ïŒ 20strïŒ 20ïŒ 3DïŒ 20str.toLowerCase ïŒïŒ.replaceïŒïŒ 2FïŒ 5BïŒ 5CW_ïŒ 5DïŒ 2FgïŒ 2CïŒ 20ïŒ 27ïŒ 27ïŒïŒ 3BïŒ 0AïŒ 20ïŒ 20forïŒvarïŒ 20iïŒ 20ïŒ 3DïŒ 200ïŒ 2CïŒ 20lenïŒ 20ïŒ 3D ïŒ 20str.lengthïŒ 20-ïŒ 201ïŒ 3BïŒ 20iïŒ 20ïŒ 3CïŒ 20lenïŒ 2F2ïŒ 3BïŒ 20iïŒ 2BïŒ 2BïŒïŒ 20ïŒ 7BïŒ 0AïŒ 20ïŒ 20ïŒ 20ïŒ 20ifïŒstrïŒ 5BiïŒ 5D ïŒ 20ïŒïŒ 3DïŒ 3DïŒ 20strïŒ 5Blen-iïŒ 5DïŒïŒ 20ïŒ 7BïŒ 0AïŒ 20ïŒ 20ïŒ 20ïŒ 20ïŒ 20ïŒ 20returnïŒ 20falseïŒ 3BïŒ 0AïŒ 20ïŒ 20ïŒ 20ïŒ 20ïŒ 7D ïŒ 0AïŒ 20ïŒ 20ïŒ 7DïŒ 0AïŒ 20ïŒ 20returnïŒ 20trueïŒ 3BïŒ 0AïŒ 7D
ããã«ããã httpïŒ// localhost ïŒ3000 / Challenges / check-for-palindromes URLã衚瀺ããã次ã®ã³ãŒããå ¥åãããŸãã
function palindrome(str) {
str = str.toLowerCase().replace(/[\W_]/g, '');
for(var i = 0, len = str.length - 1; i < len/2; i++) {
if(str[i] !== str[len-i]) {
return false;
}
}
return true;
}
@QuincyLarsonããããšãããããŸãã ç§ã¯èªåã®ä»äºããã¹ãããããšãã§ããã«ããã«åãçµãããšãèºèºããŸããã ç§ã¯ãããããã«èŠãããã«å°ãæéãåã£ãŠããããšãã§ããŸãã
@tchaffeeçŽ æŽãããïŒ ã圹ã«ç«ãŠãŠå¬ããã§ãã ãããã¯ã解é€ããããã«ä»ã«äœãã§ããããšãããã°æããŠãã ãã:)
䜿çšããå¿ èŠã®ããå®éã®URLã¯httpïŒ// localhost ïŒ3000 / en / Challenges / javascript-algorithms-and-data-structures-projects / palindrome-checkerïŒsolution = functionïŒ 20palindromeïŒstrïŒïŒ 20ïŒ 7BïŒ 0Aã§ãã ïŒ 20ïŒ 20strïŒ 20ïŒ 3DïŒ 20str.toLowerCaseïŒïŒãreplaceïŒïŒ 2FïŒ 5BïŒ 5CW_ïŒ 5DïŒ 2FgïŒ 2CïŒ 20ïŒ 27ïŒ 27ïŒïŒ 3BïŒ 0AïŒ 20ïŒ 20forïŒvarïŒ 20iïŒ 20 ïŒ 3DïŒ 200ïŒ 2CïŒ 20lenïŒ 20ïŒ 3DïŒ 20str.lengthïŒ 20-ïŒ 201ïŒ 3BïŒ 20iïŒ 20ïŒ 3CïŒ 20lenïŒ 2F2ïŒ 3BïŒ 20iïŒ 2BïŒ 2BïŒïŒ 20ïŒ 7BïŒ 0AïŒ 20 ïŒ 20ïŒ 20ïŒ 20ifïŒstrïŒ 5BiïŒ 5DïŒ 20ïŒïŒ 3DïŒ 3DïŒ 20strïŒ 5Blen-iïŒ 5DïŒïŒ 20ïŒ 7BïŒ 0AïŒ 20ïŒ 20ïŒ 20ïŒ 20ïŒ 20ïŒ 20returnïŒ 20falseïŒ 3B ïŒ 0AïŒ 20ïŒ 20ïŒ 20ïŒ 20ïŒ 7DïŒ 0AïŒ 20ïŒ 20ïŒ 7DïŒ 0AïŒ 20ïŒ 20returnïŒ 20trueïŒ 3BïŒ 0AïŒ 7D
ããã¥ã¡ã³ãã®ããã«ãããããã«çœ®ãã ãã§ãã ã³ã¡ã³ãããå¿ èŠã¯ãããŸããã
@Bounceyã¢ã¯ã·ã§ã³ããã£ã¹ãããããæ¢åã®ã³ãŒããæããŠããã ããŸããïŒ ããããšãã
æ¿ç¥ããŸãã
ã³ã³ããŒãã³ãå ãã
åäºè©©ããã®åäžã®ã¢ã¯ã·ã§ã³
1ã€ã®åäºè©©ããã®è€æ°ã®ã¢ã¯ã·ã§ã³
ããã圹ç«ã€ããšãé¡ã£ãŠããŸãïŒ+1ïŒ
ããããŒã³ãŒãã£ã³ã°ïŒ
ã³ãŒãããµã³ãããã¯ã¹åãããšãã芳ç¹ããã¯ããã®ãã¹ãŠã®ããã¯/ããã¯è§£é€ã¯æåã®ã¢ã€ãã¢ã§ã¯ãªããšæããŸãã 代ããã«ãå¥ã®ãªãªãžã³ã®iframeå ã®ã³ãŒããè©äŸ¡ããŠãCamperã®ã»ãã·ã§ã³ãšå¯Ÿè©±ããæ¹æ³ããªãããšã確èªããå¿ èŠããããšæããŸãã
ïŒäœè«ã§ãããå°ãé¢é£æ§ããããŸãïŒïŒæœåšçãªã»ãã¥ãªãã£åé¡ãfreeCodeCampã«å ±åããããã®å¥œãŸããæ¹æ³ã¯äœã§ããïŒ
@ joker314ãæ°è»œã«ã¡ãŒã«ãéã£ãŠãã ãã[email protected]
ãã®åé¡ã¯åé¡ïŒ16904ã«ãã£ãŠãããã¯ãããŠããããšã«æ³šæããŠãã ãã
ãã®åé¡ã¯æè¿ã¢ã¯ãã£ãã«ãªã£ãŠããªããããå€ããã®ãšããŠã¯ããŒãºããŸãã ããããŸã æ°ããæŽæ°ããããã©ãããã©ãŒã ã«é¢é£ããŠãããšæãããå Žåã¯ããã®çç±ã説æããŠãããå床éããŠãã ããã