ãã®èšäºã§ã¯ãç§ãåè¬ããŠãšãŠã楜ããã£ãç¡æã® JavaScript/ããã³ããšã³ã ã³ãŒã¹ã§ãã Rolling Scopes School ã«ã€ããŠè©±ããããšæããŸããç§ããã®è¬åº§ãç¥ã£ãã®ã¯å¶ç¶ã§ããããäžã§ãæ
å ±ãå°ãªããšæããŸããããšãŠãçŽ æŽãããè¬åº§ã§æ³šç®ã«å€ããŸãããã®èšäºã¯ç¬åŠã§ããã°ã©ãã³ã°ãåŠç¿ããããšããŠãã人ã«ãšã£ãŠæçãªèšäºã ãšæããŸãããããã«ããã誰ãããã£ãšæ©ããã®ã³ãŒã¹ã«ã€ããŠç§ã«æããŠãããŠããããééããªãæè¬ããŠãããšæããŸãã
èªåã§ãŒãããåŠãŒããšããããšããªã人ã¯ããã€ã³ã¿ãŒãããäžã«ã¯ããããã®æ
å ±ãããã®ã«ããªãã³ãŒã¹ãå¿
èŠãªã®ãããšããçåãæã€ãããããŸããããããåè¬ããŠåŠãã§ãã ãããå®éãæ
å ±ã®æµ·ã¯åžžã«è¯ããã®ã§ãããšã¯éããŸããããªããªãããã®æ
å ±ã®æµ·ããå¿
èŠãªãã®ãæ£ç¢ºã«éžæããã®ã¯æ±ºããŠç°¡åã§ã¯ãªãããã§ãããã®ã³ãŒã¹ã§ã¯ãäœãåŠã¶ã¹ãããã©ã®ããã«åŠã¶ã¹ãããã©ã®ãããªããŒã¹ã§åŠã¶ã¹ãããããããŸããåªãã泚ç®ã«å€ããæ
å ±æºãšãäœå質ã§å€ãæ
å ±æºãåºå¥ããã®ã«åœ¹ç«ã¡ãŸããå€æ°ã®å®è·µçãªã¿ã¹ã¯ãæäŸãããŸããããªãã¯ãããªããšåãããšãããæ
ç±çã§èå³ã®ãã人ã
ã®ã³ãã¥ããã£ã®äžå¡ã«ãªãããšãã§ããŸãã
ã³ãŒã¹å šäœãéããŠãç§ãã¡ã¯ãã¹ããåããåé¡ã解決ããç¬èªã®ãããžã§ã¯ããäœæãããªã©ãåžžã«ã¿ã¹ã¯ãå®äºããŸãããããããã¹ãŠãè©äŸ¡ãããŠå ±éã®ããŒãã«ã«åæ ãããããã§èªåã®çµæãä»ã®åŠçã®çµæãšæ¯èŒã§ããŸãã競æã®é°å²æ°ã¯è¯ãã楜ãããèå³æ·±ããã®ã§ãããããããã€ã³ãã¯æ¬¡ã®ã¹ããŒãžã«é²ãããã«éèŠã§ã¯ããããããèªäœãç®çã§ã¯ãªãã£ããã³ãŒã¹äž»å¬è ã¯ãµããŒããšçžäºæ¯æŽãæè¿ããŸãããåŠçãã¡ã¯ãã£ããã§ã課é¡ã解決ããéã«çãã質åã«ã€ããŠè©±ãåããäžç·ã«çããèŠã€ããããšããŸãããããã«ãã¡ã³ã¿ãŒãç§ãã¡ã®åŠç¿ãæäŒã£ãŠãããŸãããããã¯ç¡æã³ãŒã¹ãªãã§ã¯ã®æ©äŒã§ãã
ãã®ã³ãŒã¹ã¯ã»ãŒç¶ç¶çã«å®æœããã幎㫠2 åéå§ããã6 ãæéç¶ããŸãããã㯠3 ã€ã®æ®µéã§æ§æãããŸããæåã®æ®µéã§ã¯äž»ã« Git ãšã¬ã€ã¢ãŠãã2 çªç®ã®æ®µéã§ã¯ JavaScriptã3 çªç®ã®æ®µéã§ã¯ React ãš Node.js ãå匷ããŸããã
åã®ã¹ããŒãžã®ã¿ã¹ã¯ãå®äºããçµæã«åºã¥ããŠã次ã®ã¹ããŒãžã«é²ã¿ãŸãããåã¹ããŒãžã®æåŸã«ã€ã³ã¿ãã¥ãŒãè¡ãããŸããã第 1 段éãšç¬¬ 2 段éã®åŸã¯ãã¡ã³ã¿ãŒãšã®æè²é¢è«ãè¡ããã第 3 段éã®åŸã¯ããã³ã¹ã¯ EPAM JS Lab ã®åªç§ãªåŠç 120 åã察象ã«é¢æ¥ãè¡ãããŸããããã®ã³ãŒã¹ã¯ããã©ã«ãŒã·ã®ããã³ããšã³ãããã³ JavaScript éçºè ã®ã³ââãã¥ããã£ã§ãã The Rolling Scopes ã«ãã£ãŠå®æœãããŠããããã圌ãã EPAM ãã³ã¹ã¯äºåæãšæ¥è§ŠããŠããããšã¯æããã§ããããããã³ãã¥ããã£ã¯é£çµ¡å ã確ç«ããITäŒæ¥ããã©ã«ãŒã·ãã«ã¶ãã¹ã¿ã³ããã·ã¢ã®ä»ã®éœåžã«åŠçãæšèŠããããšããŠããã
æåã®æ®µéã¯1860ãæ匷ç¶ããŸãããäžçªäººæ°ã®ã¹ããŒãžã§ããç§ã®åéã§ã¯ãXNUMX 人ããããå§ããŸãããè¬åº§ã«ãç³ã蟌ã¿ããã ããçæ§ããã®ã³ãŒã¹ã¯ãããã幎霢局ã®äººã ãåè¬ããŠããŸãããåŠçã®å€§åã¯äžçŽçããå¥ã®åéã§æ°å¹ŽéåããåŸãè·æ¥ãå€ããããšã決æãã人ãã¡ã§ãã
æåã®æ®µéã§ã¯ãGit ã®åºç€ã«é¢ãã 2 ã€ã®ãã¹ããHTML/CSSãCodecademy ããã³ HTML Academy ã³ãŒã¹ã«é¢ãã 2 ã€ã®ãã¹ãã«åæ ŒããããŒã¯ããŠã³ ãã¡ã€ã«ã®åœ¢åŒãšéåžžã® Web ããŒãžã®åœ¢åŒã§å±¥æŽæžãäœæããå°ã㪠1 ããŒãžã®ã¬ã€ã¢ãŠãã§ãããJavaScript ã«ãã£ãŠããã€ãã®ããªãè€éãªåé¡ã解決ãããŸããã
æåã®æ®µéã§æãåºç¯ãªäœæ¥ã¯ãHexal Web ãµã€ãã®ã¬ã€ã¢ãŠãã§ããã
æãèå³æ·±ãã®ã¯ãCSS ã»ã¬ã¯ã¿ãŒãCSS Quick Drawãã®ç¥èã«é¢ããã²ãŒã Code Jam ã§ãã
æãé£ããã®ã¯ JavaScript ã¿ã¹ã¯ã§ãããããã®ã¿ã¹ã¯ã® 1 ã€ã®äŸ: ãæå®ãããèšæ°æ³ã§å€§ããªæ°ã®éä¹ã®æ«å°Ÿã«ãããŒãã®æ°ãæ±ããŸãã.
æåã®æ®µéã®ã¿ã¹ã¯ã®äŸ:
第 833 段éã®ã¿ã¹ã¯ãå®äºããçµæã«åºã¥ããŠã150 人ã®åŠçãé¢æ¥ãžã®æåŸ ç¶ãåãåããŸãããé¢æ¥äžã«çåŸã®ç¬¬ XNUMX 段éãžã®ç§»è¡ã¯ãå°æ¥ã®æå°è ã«ãã£ãŠæ±ºå®ãããŸããã Rolling Scopes School ã®ã¡ã³ã¿ãŒã¯ããã©ã«ãŒã·ããã·ã¢ããŠã¯ã©ã€ãåºèº«ã®çŸåœ¹ã®éçºè ã§ããã¡ã³ã¿ãŒã¯æ¯æŽãšã¢ããã€ã¹ããã課é¡ã確èªãã質åã«çããŸããç§ãã¡ã®ã»ããã«ã¯ XNUMX 人以äžã®ã¡ã³ã¿ãŒãããŸããã空ãæéã®ç©ºãç¶æ³ã«å¿ããŠãã¡ã³ã¿ãŒã¯ XNUMX 人ãã XNUMX 人ã®çåŸãåãå ¥ããããšãã§ããŸãããããã« XNUMX 人ã®çåŸãé¢æ¥ã®ããã«åœŒã®ãšããã«éãããé¢æ¥äžã«äžç·ã«æå°ããçåŸãéžã¶ããšãã§ããŸãã圌ã¯åãã§ãããã
åŠçãšã¡ã³ã¿ãŒã®é 眮ã¯ãã³ãŒã¹ã®äžã§æãèå³æ·±ãåºæ¿çãªç¬éã® 1 ã€ã§ãããäž»å¬è ã¯ããã«å°ããªã²ãŒã èŠçŽ ãå°å ¥ããŸãããã¡ã³ã¿ãŒã«é¢ããããŒã¿ã¯çµåãåžœåã«ä¿åãããã¯ãªãã¯ãããšå°æ¥ã®ã¡ã³ã¿ãŒã®ååãšé£çµ¡å ã衚瀺ãããŸãã
ç§ã®ã¡ã³ã¿ãŒã®ååãèŠã€ããLinkedIn ã§åœŒã®ãããã£ãŒã«ãèŠããšããç§ã¯æ¬åœã«åœŒã«é£çµ¡ãåãããšããŠããããšã«æ°ã¥ããŸããã圌ã¯çµéšè±å¯ãªéçºè ã§ãããã·ãã¢ã§ãããæ°å¹Žéæµ·å€ã§åããŠããŸãããã®ãããªæå°è ãããããšã¯æ¬åœã«å€§ããªæåã§ãããããã圌ã®èŠæ±ã¯éåžžã«é«ããã®ã«ãªãããã«ç§ã«ã¯æããŸãããããŸãã«é«ãèŠæ±ãããã®ã¯ç§ãåéãããŠããããšãåŸã§å€æããŸãããããã®æã¯ããæã£ãŠããŸããã
次åã®é¢æ¥ã®è³ªåå
容ãåãã£ãŠããã®ã§ãäºåã«æºåããããšãã§ããŸããã
ãããªã§åŠã¶ OOP
ããŒã¿æ§é ãš Big O è¡šèšæ³ã«ã€ããŠã¯ããã®èšäºã§è©³ãã説æãããŠããŸãã
æ倧ã®çå㯠JavaScript ã¿ã¹ã¯ã«ãã£ãŠåŒãèµ·ããããŸããããããã¯é¢æ¥ã«å¿
ãå«ãŸããã¯ãã§ããäžè¬ã«ãç§ã¯åé¡ã解決ããã®ã倧奜ãã§ãããGoogle ããã©ãŠã¶ ã³ã³ãœãŒã«ã䜿çšãããšããã³ãšçŽ (ãŸãã¯ã¡ã¢åž³ã®ããŠã¹) ã䜿çšããŠåé¡ã解決ããå¿
èŠãããå Žåããã¹ãŠãã¯ããã«é£ãããªããŸãã
ãŠã§ãäžã§é¢æ¥ã®æºåãã§ããã®ã¯ãäºãã«ãšã£ãŠäŸ¿å©ã§ã
é¢æ¥ã¯ã©ã®ãããªãã®ã ãšæ³åããŠããŸããã?ãããããè©Šéšå®ãšåéšè ãããè©Šéšã®å Žåã§ããå®éãããã¯ééããªãè©Šéšã§ã¯ãããŸããã§ãããããããåãããšãããŠããæ ç±çãªäºäººã®äŒè©±ã§ããé¢æ¥ã¯éåžžã«ç©ããã§ãå¿«é©ã§ããã¬ã³ããªãŒã§ã質åã¯ããã»ã©é£ãããªããã¿ã¹ã¯ã¯éåžžã«åçŽã§ãã¡ã³ã¿ãŒã¯ã³ã³ãœãŒã«ã§åé¡ã解決ããããšã«ãŸã£ããå察ãããGoogle ã§èª¿ã¹ãããšããèš±å¯ããŠãããŸãã (ã誰ãçããªãã ãã)ãè·å Žã§ã® Google ã®äœ¿çšãçŠæ¢ããŸããïŒã
ç§ã®ç解ããéããé¢æ¥ã®äž»ãªç®çã¯ç§ãã¡ã®ç¥èãåé¡è§£æ±ºèœåãè©Šãããšã§ã¯ãªããã¡ã³ã¿ãŒã«çåŸã®ããšãç¥ããé¢æ¥ãäžè¬çã«ã©ã®ãããªãã®ãã瀺ãæ©äŒãäžããããšã§ããããããŠãé¢æ¥ã§è¯ãå°è±¡ã ããæ®ã£ãã®ã¯ãé¢æ¥ã§ã¯æããã®ã¯äœããªããåãã§é¢æ¥ã«èšãããšãã§ãããšããããšã瀺ããããšãã圌ã®æèçãªåªåã®çµæã§ããããã1ã€ã®çåã¯ããªãæè¡æè²ãåãã人ã«ãšã£ãŠã¯ãããè¡ãã®ã¯éåžžã«ç°¡åã ã£ãã®ã«ãæåž«ã«ãšã£ãŠã¯éåžžã«ãŸãã ã£ãã®ããšããããšã§ããå 容ãå®å šã«ç¥ã£ãŠãããšããŠããè©Šéšãåããã®ããšãŠã楜ãã¿ã ã£ãããšã誰ããèŠããŠããŸããããã§ã¯å ¬çæè²åŠã®è©±ãªã®ã§ããã 1 ã€èŠ³å¯ãå ±æããŸãããã®ã³ãŒã¹ã«ã¯ãIT ã®äžçŽçãªã©ãåå ããŸãããããã§åœŒãã¯ãããŒãªã³ã°ã»ã¹ã³ãŒãã¹ã»ã¹ã¯ãŒã«ãæäŸããç 修圢åŒã¯ãéåžžã®å€§åŠã®ããã°ã©ã ãããã¯ããã«æçšã§ãèå³æ·±ããå¹æçã§ãããšäž»åŒµããŸããã
ç§ã¯é¢æ¥ã«åæ ŒããŸããããã®åŸãã¡ã³ã¿ãŒã¯ç§ãšè©±ãã®ã«éœåã®è¯ãææ¥ãšæéãæå®ããŠãããŸããããã®æ¥ã®ããã«è³ªåãçšæããŠãããŸãããã圌ã¯ããã«çããŠãããŸãããå®è¡ããŠãããããžã§ã¯ãã«ã€ããŠã®è³ªåã¯ããŸããããŸããã§ãããã»ãšãã©ã®çã㯠Google ãŸãã¯åŠæ ¡ã®ãã£ããã§èŠã€ããŸããããããã圌ã¯èªåã®ä»äºã«ã€ããŠãèµ·ããåŸãåé¡ãšãã®è§£æ±ºæ¹æ³ã«ã€ããŠè©±ãã芳å¯ãã³ã¡ã³ããå ±æããŸãããå šäœãšããŠããããã®äŒè©±ã¯éåžžã«æçã§èå³æ·±ããã®ã§ãããããã«ãã¡ã³ã¿ãŒã¯ãããªãã®ä»äºãšããæ¹ã«èå³ãæã£ãŠããã»ãŒå¯äžã®äººã§ãããããªãã®ä»äºãèŠãŠãäœãåé¡ã§ãã©ãããã°æ¹åã§ããããæããŠããã人ã§ããã¡ã³ã¿ãŒã®ååšã¯æ¬åœã«åŠæ ¡ã®å€§ããªå©ç¹ã§ããããã®åœ¹å²ãé倧è©äŸ¡ããããšã¯ã§ããŸããã
第 2 ã¹ããŒãžã§ã¯ãéåžžã«èå³æ·±ããã€ãããã¯ãªã³ãŒããžã£ã ãJavaScript Arrays Quick Drawããè¡ãããåŠæ ¡ã§ã®ãã®ãããªã³ã³ãã¹ãã¯åºæ¿çã§åºæ¿çã§ãã
ã³ãŒããžã£ã ãCoreJSãã¯ããã«è€éã§ããããšãå€æããŸããã JavaScript ã®åé¡ 120 åã¯ã解ãã®ã« 48 æéããã£ãæ¬æ Œçãªãã¹ãã«ãªããŸããã
ããã€ãã® JavaScript ãã¹ããè¡ããŸããããªã³ã¯å
ã¯æ¬¡ã®ãšããã§ãã
次ã«ãNeutronMail ã®ã¬ã€ã¢ãŠãããŸãšããã³ãŒã ãžã£ã ãDOMãDOM ã€ãã³ãããå®æãããYouTube æ€çŽ¢ãšã³ãžã³ãäœæããŸããã
第 2 段éã®ãã®ä»ã®ã¿ã¹ã¯: ã¿ã¹ã¯: Codewars â ååã®ãµã€ããCode JamãWebSocket Challengeãã®åé¡ã解決ããŸãã â Web ãœã±ããã䜿çšããã¡ãã»ãŒãžã®éåä¿¡ãCode Jamãã¢ãã¡ãŒã·ã§ã³ ãã¬ãŒã€ãŒã â å°ã㪠Web ã¢ããªã±ãŒã·ã§ã³ã®äœæã
第2ã¹ããŒãžã®ããªãçãããŠèå³æ·±ã課é¡ã¯ããã¬ãŒã³ããŒã·ã§ã³ã課é¡ã§ããããã®æ倧ã®ç¹åŸŽã¯ããã¬ãŒã³ããŒã·ã§ã³ãè±èªã§æºåããçºè¡šããå¿
èŠãããããšã§ãã
ãããŠãééããªããæãè€éã§éã®å€ãäœæ¥ã¯ã第 2 段éã®æåŸã®ã¿ã¹ã¯ã§ããããã®ã¿ã¹ã¯ã§ã¯ãPiskel Web ã¢ããªã±ãŒã·ã§ã³ (www.piskelapp.com) ã®ç¬èªã®ã³ããŒãäœæããããã«æ±ããããŸããã
ãã®äœæ¥ã«ã¯ 1 ãæ以äžããããã»ãšãã©ã®æéã¯ãªãªãžãã«ã§ã©ã®ããã«æ©èœããããç解ããã®ã«è²»ããããŸããã客芳æ§ãé«ããããã«ãæçµã¿ã¹ã¯ã¯ã©ã³ãã ã«éžã°ããå¥ã®ã¡ã³ã¿ãŒã«ãã£ãŠãã§ãã¯ãããŸããããããŠã第2段éåŸã®é¢æ¥ãã©ã³ãã ãªã¡ã³ã¿ãŒã«ãã£ãŠè¡ãããŸãããç§ãã¡ã¯ãã§ã«ç§ãã¡ã®é¢æ¥ã«æ
£ããŠããã圌ãç§ãã¡ã«æ
£ããŠããããã§ããå®éã®é¢æ¥ã§ã¯ãååãšããŠããäºããç¥ããªã人ã
ã«äŒããŸãã
äºæ¬¡é¢æ¥ã¯äžæ¬¡é¢æ¥ãããã¯ããã«é£ããããšãããããŸãããåååæ§ãé¢æ¥ã®è³ªåãªã¹ãã¯çšæãããŠããŸããããåã«çè«ãèãã ãã§ã¯å®å
šã«æ£ãããšã¯èšããªããšã¡ã³ã¿ãŒãå€æããé¢æ¥çšã®èª²é¡ãçšæããŠãããŸãããç§ã®æèŠã§ã¯ããã®ä»»åã¯éåžžã«å°é£ã§ãããããšãã°ã圌ã¯ç§ããã€ã³ã ããªãã£ã«ãæžãããšã劚ããŠããçç±ãå¿ããç解ããŠããŸããã§ããããŸããç§ã¯ãã€ã³ããšã¯äœããããªãã£ã«ãšã¯äœããç¥ã£ãŠãããšããäºå®ã¯ãã§ã«å€ãã®ããšã§ãããšå¿ããä¿¡ããŠããŸããããã®åé¡ã¯è§£æ±ºããŠããŸãããããããç§ã察åŠããä»ã®äººãããŸãããããããåé¡ã¯åçŽã§ã¯ãªãã£ãã®ã§ã解決çãèŠã€ãããšããã«ãã¡ã³ã¿ãŒã¯æ¡ä»¶ãå°ãå€æŽããç§ã¯ããè€éãªããŒãžã§ã³ã§åé¡ãå床解決ããå¿
èŠããããŸããã
åæã«ãé¢æ¥ã®é°å²æ°ã¯éåžžã«å奜çã§ã課é¡ã¯èå³æ·±ããã®ã§ãã¡ã³ã¿ãŒã¯èª²é¡ã®æºåã«å€ãã®æéãè²»ãããå°æ¥ã®ãã¬ãŒãã³ã°é¢æ¥ãå®éã®é¢æ¥ã«åæ Œããã®ã«åœ¹ç«ã€ããã«åªããŠããããšã«ã泚ç®ããŸãããä»äºã«å¿åãããšãã
第 2 段éã®ã¿ã¹ã¯ã®äŸ:
第 3 段éã§ã¯ãã«ã«ãã£ãŒ ããŒã¿ã«ã®ã¿ã¹ã¯ãæäŸãããŸãããç§ãã¡ã¯ã°ã«ãŒãã§ãããå®è¡ããGit ã§ãã©ã³ããããŒãžãããšãã®ããŒã ã¯ãŒã¯ã責任ã®åæ£ã競å解決ã®ç¹åŸŽãåããŠç¥ããŸãããããã¯ããããããã®ã³ãŒã¹ã§æãèå³æ·±ã課é¡ã® 1 ã€ã§ããã
第 3 段éã®ã¿ã¹ã¯ã®äŸ:
第120段éçµäºåŸãEPAMã«å¿åãäžäœXNUMXäœãŸã§ã«å ¥ã£ãåŠçã¯è±èªåãè©Šãé»è©±é¢æ¥ãåããçŸåšæè¡é¢æ¥ãåããŠããã圌ãã®ã»ãšãã©ã¯ EPAM JS Lab ã«æåŸ ããããã®åŸå®éã®ãããžã§ã¯ãã«æåŸ ãããŸããæ¯å¹ŽãXNUMX åãè¶ ããããŒãªã³ã° ã¹ã³ãŒãã¹ ã¹ã¯ãŒã«ã®åæ¥çã EPAM ã«éçšãããŠããŸããå ¥åŠè ã«æ¯ã¹ããšããªãå°ãªãå²åã§ããã決åãŸã§æ®ã£ã人ã«éãã°ãå°±è·ã§ããå¯èœæ§ã¯ããªãé«ãã§ãã
æºåãå¿ èŠãªå°é£ã®ãã¡ã30 ã€æããŸãã 40ã€ç®ã¯æéã§ããããªãã®éãå¿ èŠã§ããé±ã« 2 ïœ XNUMX æéãç®æããŸããããã以äžã®æéãå¯èœã§ããã³ãŒã¹ ããã°ã©ã ã¯éåžžã«å¯åºŠãé«ããããããããå°ãªãå Žåã¯ããã¹ãŠã®ã¿ã¹ã¯ãå®äºããæéãããããã«ãããŸããã XNUMXã€ç®ã¯è±èªã¬ãã«AXNUMXã§ããããããäœãå Žåã¯ãã³ãŒã¹ãå匷ããããšã«åé¡ã¯ãããŸãããããã®ã¬ãã«ã®èšèªã§ä»äºãèŠã€ããã®ã¯éåžžã«å°é£ã§ãã
ã質åãããããŸãããã質åããŠãã ããããçãã§ããããåªããŸããä»ã®åæ§ã®ç¡æã®ãã·ã¢èªãªã³ã©ã€ã³ã³ãŒã¹ããåç¥ã®å Žåã¯ããã²å
±æããŠãã ãããèå³æ·±ãã§ãããã
åºæïŒ habr.com