ããã®ãšããã¡ãã£ãšæéã«äœè£ããããæãèŠã€ããŠã¯Qiitaã®è³ªåã«çãããšããåãçµã¿ããã£ãŠããŸãã以åStackOverflowã§ãåæ§ã®åãçµã¿ãã¡ãã£ãšã ãããŠãããšããããŸãã
9æ¥éã§35åã®è³ªåã«åçããŠã¿ãŠãæ£çŽã«æãã®ã¯ã質åã®è³ªãæªããããªãŒããšããããšã§ãããã ãã©ãè³ªãæªãã®ãäžæãèšèªåã§ããæ¶ã ãšããŠããŸããã
ãããªæã仿googleã®ãã¹ã¹ã¡èšäºã«é£ã³èŸŒãã§ããQuaraã®ãã¡ãã®åçãèªãã§ããããããïŒããããããšãïŒããšããæ°æã¡ã«ãªã£ãããããããã質åãã人ã«åããŠãã®å 容ãå°ãåã¿ç ããŠãŸãšããŠã¿ãŸãã
ããã©ã³ã¯ã©ããããã°ãããŠãã®ã
ïŒèªåãããã©ã³ãšèšã£ãŠããã®ãã¯ããŠããïŒæ¥é ããã³ãŒããæžããŠãããšããããã°ã«ã¯ããã®æäœ¿ã£ãŠããèšèªããã¬ãŒã ã¯ãŒã¯ã«ããããããçšåºŠã®è¡åãã¿ãŒã³ãããããšã«æ°ä»ããŠããŸãã
ãããã°ã«ã¯é£ããDebuggerãé§äœ¿ããªãããããªãããããªãã®ïŒãšæãããæ¹ããããããããŸãããå®ã¯ãããªããšã¯ãªããŠïŒäžã«ã¯ããããæ¹ããããšæããŸããïŒãèªåã®å ŽåDebuggerã¯ã»ãšãã©äœ¿ãããChromeã®éçºããŒã«ãšãjsãªãconsole.logãpythonãªãprintãGoãªãfmt.PrintãRubyãªãbinding.pryã§ã»ãšãã©äºè¶³ããŸãã
èªåãäœãåé¡ã«çŽé¢ããå Žåã®è¡åãã¿ãŒã³ã¯ãããæ¬¡ã®ãããªæãã§ãã
1. ãšã©ãŒã¡ãã»ãŒãžãã©ããã«åºãŠãªããæ¢ã
ãšã©ãŒã¡ãã»ãŒãžã®è¡šç€ºå Žæã¯ããµãŒãäžã§å®è¡ããããã®ã§ããã°ã¿ãŒããã«ã§ãã
Webã¯ã©ã€ã¢ã³ãã®ãã°ã®å Žåããã©ãŠã¶ã®éçºããŒã«ïŒèªåã¯Chrome掟ïŒãèŠãããšãå€ãã§ããhtmlãcssã«é¢ããŠã¯Elementsã¿ããèŠãŸããäŸãã°cssã®style屿§ã«ã¿ã€ãããã£ãå Žåãç»åã®ããã«é»è²ãã¢ã€ã³ã³ã§äžé©åãªå±æ§ãæããŠãããŸãã
jsã«é¢ããŠã¯ãConsoleã¿ããNetworkã¿ããããèŠãŸããConsoleã¿ãã«ã¯jså®è¡æã®ãšã©ãŒãããã°ãæå³çã«æ¡ãã€ã¶ãããŠããªãéãããšã©ãŒã¡ãã»ãŒãžã衚瀺ãããŸãã
Networkã¿ãã§ã¯ãã©ãŠã¶ãå®è¡ããŠããhttpãªã¯ãšã¹ãã確èªã§ãããããäŸãã°äœ¿çšããŠããAPIãã4xxã5xxç³»ã®ãšã©ãŒãè¿ã£ãŠããå Žåã«ããªã¯ãšã¹ãããããã¬ã¹ãã³ã¹ã®å
容ã確èªããããã«å©çšããŸãã
1-a. ãšã©ãŒã¡ãã»ãŒãžãã©ãã«ããªãã®ã«æåŸ ã©ããåããªãå Žå
ãã®å Žåãã³ãŒãå®è¡ããããŸã§å°éããŠããªãããšãçããŸããäŸãã°ãifãswitchãwhile breakãªã©ã§æå³ããåŠçãæããŠããŸã£ãŠããããšãæ³å®ãããŸãã
ãããåæ©çãªãã°ã®ããã§ãããå®ã¯ã©ããªã«ããã©ã³ã§ãäœã£ãŠããŸããã°ç¬¬äžäœã ãšæããŸãã
ãããã¯ãjsãpythonãªã©ã®åçåä»ãèšèªã®å Žåã倿°ãæå³ããäžæžãããŠããŸã£ãŠãããé åïŒlistïŒããªããžã§ã¯ã(dict)ãªã©ãã¥ãŒã¿ãã«ãªãªããžã§ã¯ããã€ãã¥ãŒã¿ãã«ã®ããã«æ±ã£ãŠããããšããã®ããããã¡ãªãã¿ãŒã³ã§ãã
1-b. ãšã©ãŒã¡ãã»ãŒãžã衚瀺ãããŠããå Žå
é 匵ã£ãŠã¡ãã»ãŒãžãèªã¿ãŸãããããšã©ãŒã¡ãã»ãŒãžãé·ã ãšè¡šç€ºãããŠç®ãèŠããããªãããšããããŸããã倧äœéèŠãªããšã¯æåãæåŸã«æžããŠãããŸããããšã質åã§ãããšæãããšã©ãŒã¡ãã»ãŒãžã ããã³ããããæ¹ãå€ããã§ãããã©ãã§ãã®ãšã©ãŒãçºçããããããªãéèŠã§ãããšã©ãŒã¡ãã»ãŒãžã®å 容ã«ã¯ããšã©ãŒãçºçããŠãããœãŒã¹ãã¡ã€ã«ãè¡æ°ãªã©ãæžãããŠããããšãå€ãã®ã§ããããã£ããã€ã³ããåãããŠç¢ºèªããŠã»ããã§ãã
ã¡ãªã¿ã«ããšã©ãŒã®çš®é¡ã¯äžã®äžç¡éã«ãããŸãããQiitaã®è²ã ãªè³ªåã«çããŠã¿ãçµæãåå¿è ãããããšã©ãŒã¯å€§ãã2çš®é¡ã®ããã«æããŸããã
Syntax Error
ããã°ã©ã ãšããŠæ£ãããªãæ§æã§ããã俺ã¯çµ¶å¯Ÿã«ééããŠãªãããšæã£ãŠããããã¯æ£ãããªãæ§æãªã®ã§ãã
äŸãã°ãã³ãŒãæ«å°Ÿã®;ã:ãšæžããŠãããªã©ã¿ã€ãç³»ããããŸãããããã£ããšã©ãŒã¯VSCodeãªã©åªãããšãã£ã¿ã䜿ãã°åé¡ãæããŠãããã®ã§ãå®è¡åã«æ°ä»ããã¯ãã§ãã
ãŸããç§ãåçãã質åã§ãããªäŸããããŸããã
jsãã¡ã€ã«ãhtmlã®headã§èªã¿èŸŒãã§ããåæã§ãuncaught SyntaxError: Unexpected token '<'ãšãããšã©ãŒãåºããšããã®ã§ãã
ããŒã«ã«ç°å¢ã§åçŸã§ããè¬ã ã£ãã®ã§ããããããã確èªãããšãgithubããjsã®ãœãŒã¹ãã¡ã€ã«ãããŠã³ããŒãããã€ãããã衚瀺ããŠããããŒãžã®htmlãããŠã³ããŒãããŠããããšããã³ã³ãã¿ãããªãªãã§ããã
ãã ããã銬鹿ã«ãããèš³ã§ã¯ãªããèšãããã®ã¯ãæ§æãšã©ãŒãšèšããããå¿ ããã®åšèŸºã«æ§æãšã©ãŒãååšããã®ã§ããããã¿ã€ã¶ãã«æ¢ãããæ¹æ³ã¯ãããŸããã
Type Error
åçåä»ãèšèªç¹æã§ãããäŸãã°ãããªè³ªåããããŸããã
ããã°ã©ãã³ã°èšèªã«ã¯é ãããåããšããæŠå¿µããããŸããèšèªã«ãã£ãŠè¡šçŸã¯å€å°ç°ãªããŸãããæååã¯stringåãæ°å€ã¯intãfloatåãå€ç¡ãã¯nullåãªã©ãšãã£ãããã«ã
äŸãã°jsã§ãpythonã§ãã以äžã®ããã«åãåå士ã®å€æ°ã+æŒç®åã§æŒç®ã§ããŸããæ°å€åå£«ã®æŒç®ãªãè¶³ãç®ãæåååå£«ã®æŒç®ãªãæåã®é£çµã«ãªããŸãã
console.log(10 + 5)
// 15
const foo = "foo"
const bar = "bar"
console.log(foo + bar)
// foobar
ã§ã¯ãéãåå士ãäŸãã°æ°å€ãæååã«+ãããã©ããªãã§ãããããèšèªã«ãã£ãŠä»æ§ã¯ç°ãªãjsã ãšåãã¡ãããã§ãããpythonã ãšä»¥äžã®ããã«ãšã©ãŒãšãªããŸãã
foo = "foo"
bar = 15
print(foo + bar)
# Traceback (most recent call last):
# File "<stdin>", line 4, in <module>
# TypeError: can only concatenate str (not "int") to str
æååãšæ°å€ãè¶³ãã£ãŠã©ãŒããæå³ïŒïŒãšããããšã§ãè³æ¥µãã£ãšãã§ããããããã£ãæŒç®ãããããã°ãæ°å€åã®barãstr(bar)ãšãã£ã¹ãããŠããå¿
èŠããããŸãã
print(foo + str(bar))
# foo15
åçåä»ãèšèªã®å Žåãæ°å€åã倿°ã«æ ŒçŽããŠããã€ãããã©ããã®ã¿ã€ãã³ã°ã§å¥ã®åã«å€ãã£ãŠãããã¿ãããªããšãèµ·ããåŸãã®ã§
- ã³ãŒããæžããªããåžžã«åãæèãã
- 倿°ãéãåã§æ¥µåäžæžããããæ°ãã倿°ãäœã
- jsãªã
constãªã©äžæžãã§ããªã宿°å®£èšã䜿ã - Typescriptããpythonãªãtype hintingãå°å ¥ãã
- VSCodeãªã©åã®æšæž¬ãåããšãã£ã¿ã䜿ã
ãªã©ã®ãããªããšã«æ°ãä»ããŠãééããæžãããŠããããšããå§ãããŸãã
è¯ãåãããªããšã©ãŒã ã£ãã
åœç¶ãè¯ãåãããªããšã©ãŒã¡ãã»ãŒãžã衚瀺ãããããšã床ã ãããŸãã
ãã®å ŽåStackOverflowãããšã©ãŒã®å 容ãç¹å®ã®ã©ã€ãã©ãªã«é¢ãããã®ã§ããã°githubã®issueã§åãããšã質åããŠãã人ãããªãããæ¢ããŸããäžã®äžåºãã®ã§ãå€ãã®å Žåé¡äŒŒã®è³ªåãèŠä»ããã¯ãã§ãã
githubãStackOverflowã§æ å ±ãèŠä»ãããªãå Žåãã©ã€ãã©ãªã®ããã¥ã¡ã³ããæ¢ãã«è¡ããŸãããããã¡ãªãšã©ãŒã®ã¯ããªã®ã«èª°ã質åããŠããªããšããããšã¯ãããã¥ã¡ã³ãã«ãã£ãã察å¿ãæžããŠããå¯èœæ§ããããŸããã¡ãªã¿ã«ãã¡ãžã£ãŒãªã©ã€ãã©ãªã ãšè±èªããã¥ã¡ã³ãã®æ¥æ¬èªèš³ã®ããŒãžãäœãããŠãããããŸããã確å®ã«æ¬å®¶ãã鮮床ãå£ãããäœããã«ã¿ã«ã¿è±èªãæ£ãã°ããããæ¥æ¬èªã¯äœãå®çŸ©ãããããã°ã©ãã³ã°çšèªãªã®ããå€ç¶ãšããæ¬åœã«èªã¿ã«ããã®ã§ãé 匵ã£ãŠè±èªã®ããã¥ã¡ã³ããèªãããšã匷ããå§ãããŸãã
ããšã¯ãgoogleã§è±èªã§æ€çŽ¢ããŠãæ€çŽ¢çµæã«åºãŠããMediumãªã©ã®è±èªèšäºãåèã«ããããšããããŸããQiitaã«æçš¿ããŠããŠãããªããšæžãã®ãæ°ãåŒããŸãããæ¥æ¬èªã®æè¡ç³»èšäºã¯çµéšäžã»ãšãã©åœ¹ã«ç«ããªãã®ã§ãå šè§ã«ãŸã€ããããšãªã©ããããªããšæ¥æ¬äººãäžåœäººããæ€çŽ¢ãããŒã ããã¿ãããªæ å ±ãé€ããŠäœ¿ããŸããã
2. ããã§ãåé¡ã解決ããªããªãã察話ã¢ãŒãã§åé¡ãåçŸããæå°åäœã®ã³ãŒããæ¢ã
äžèšãæžãã§æªã 解決çãèŠä»ãããªãå Žåã察話ã¢ãŒãã§çãããã³ãŒããå ¥åããŠåé¡ãåçŸããŠã¿ãŸããå¥ã«å¯Ÿè©±ã¢ãŒãã§ãªããŠããããã§ãããã³ãŒãè£å®ã§ãããã°ã«äœ¿ããããªã¡ãœãããèŠä»ãã£ãããããã®ã§äŸ¿å©ã§ãã
jsãªãnodeãpythonãªãpythonãipythonãrailsãªãrails cãšãã£ãã³ãã³ããã¿ãŒããã«ã«å
¥åãããšå¯Ÿè©±ã¢ãŒããå§ãŸããŸããjsã®å Žåãæã£åãæ©ããã©ãŠã¶éçºããŒã«ã®Consoleã䜿ãããšããããããŸãã
åé¡ç®æã®æ¢ãæ¹ã§ãå§ããããã®ã¯ãçããããšæãã³ãŒãããåŸã ã«ç¯å²ãåºããŠããæ¹æ³ã§ãããããªãå šéšã®ã³ãŒããç¹æ€ããã®ã§ã¯å¹çãæªãã®ã§ããŸãã¯åœãããä»ããŠè©Šãããããæ£åžžã«åããŠãããªã確èªã®ç¯å²ãã³ãŒãã®åæ¹ã«å°ãåºããããšããããšããåé¡ãåçŸã§ããéäžè¶³ãªãã³ãŒããèŠä»ãããŸã§ç¹°ãè¿ããŸãã
ãããŸã§ç¹å®ããããšãåºæ¥ãã°ãããšã¯çµéšäžãããã°ã®çŽãæ¹ãåãã£ããããããã¯ã©ã€ãã©ãªã®åé¡ãªãã©ã€ãã©ãªã®ãœãŒã¹ã³ãŒããèªãã§è§£æ±ºããããšãã»ãšãã©ã§ãã
3. ãã°ã¯åçŸã§ãããçŽãæ¹ãåãããªããã°
ãã®æ®µéã§ããããgithubã®issueãStackOverflowã§è³ªåããŸãã
質åãããæã«ã¯ãåçè ãèªåã®åé¡ãåçŸã§ããããã«äžå¯§ã«æ å ±ãæžãããšãå¿ãããŸããç¹ã«StackOverflowã¯èãã質åããããšåã人ãç§éã§è³ªåãå·®ãæ»ããŠããåªãããå³ããäžçãªã®ã§ããããæ°ã䜿ããªãã質åããŸãã
äœãè¯ã質åãããšããã®ã¯ããã«ãŸãšãŸã£ãŠããŸãããèªåãäžçªæ°ãä»ããã®ã¯çžæã容æã«åé¡ãåçŸã§ãããã©ããã§ãã
以äžã®ãããªæ å ±ã¯æäœé質åæã«å«ããããã«ããŸãã
- OS
- ïŒãã©ãŠã¶ã®åé¡ãªãïŒäœ¿çšäžã®ãã©ãŠã¶
- 䜿çšäžã®ãã¬ãŒã ã¯ãŒã¯ãã©ã€ãã©ãªãšãã®ããŒãžã§ã³
- ç¹å®ã®ã©ã€ãã©ãªã®åé¡ã ãšããŠããä»ã®ã©ã€ãã©ãªãšå¹²æžããŠããããšãªã©ãããã®ã§ãä»ã®äœ¿çšäžã©ã€ãã©ãªããªãã¹ãæžãããã«ããŸã
- ã¹ããã2ã§ç¹å®ãããåé¡ãåçŸã§ããã³ãŒã
ãŸããå¯èœã§ããã°CodeSandBoxãCodePenãªã©ãå®éã«ãã°ãåçŸããç°å¢ãäœã£ãŠå ±æãããšãã奜ãŸãããšæããŸãã
åé¡ã解決ããã
æããŠããã£ããŸãŸã»ã£ããããã«ããã®ã§ã¯ãªãããã¡ããšåçè ã«åé¡ã解決ããããšãäŒããŠã瀌ãèšããŸããããåæã§æç«ããŠããäžçãªã®ã§ãåçããã®ã«äœãã¬ã¹ãã³ã¹ããªããšæ®å¿µãªæ°æã¡ã«ãªããŸãããŸããã©ã®åçã§åé¡ã解決ããããæžãããšã§ãä»ã®å°ã£ã人ãããªãã®è³ªåãèªãã§æããããããããŸããã

