ð§ãå®å šä¿åçãã³ãŒããŒãâçãæ®ãâããã®ããã³ããšã³ãåŠç¿ããŒãããã
ããã«ã¡ã¯ãã³ãŒããŒã®ããã®Webå¶äœããã°ã®äžã®äººã§ãïŒð
èªåã¯ãã ã®ã³ãŒããŒã§ãããããã¶ã€ã³ãããã£ãŠHTMLãšCSSãæžãã ãããšããä»äºãæžã£ãŠããŠçŠã£ãçµéšããããŸãã
AIãé²åããèªåã³ãŒãã£ã³ã°ããŒã«ãåºãŠããæãããã®ãŸãŸããä»äºããªããªããã…ããšæ¬æ°ã§äžå®ã«ãªããŸãããå®éãåçŽã³ãŒãã£ã³ã°ã ãã®æ¡ä»¶ã¯å䟡ãäžããç¶ããŠããŸãã
HTML/CSSãäžå¿ã«ã³ãŒãã£ã³ã°ããŠããæ¹ãžã
ããã®ãŸãŸã§ããã®ãâŠããšæããŠãããªãããã²èªãã§ãã ããã
AIã®é²åãããŒã«ã®èªååãããŒã³ãŒãã®æ®åââ
ã³ãŒããŒã®ä»äºã¯ç¢ºå®ã«å€åããŠããŸãã
ã§ãå®å¿ããŠãã ãããæ£ããæ¹åã«ã¹ãã«ã¢ããããã°ããããâå¿
èŠãšãããååšâã«ãªããŸãð¥
ãã®ããŒãžã§ã¯ããããªããªãã®ããã«
**ãçãæ®ãããã®ã¹ãã«ç¿åŸããŒããããã**ããããããããŸãšããŸããïŒ
- 1. çŸç¶ææ¡ïŒãŸãç«ã¡äœçœ®ã確èªãããð©
- 2. ã¹ããã1ïŒJavaScriptã®åºç€ããã£ããåºããð§±
- 3. ã¹ããã2ïŒã¢ãã³JSãšéåæåŠçã®çè§£ð
- 4. ã¹ããã3ïŒGitã䜿ã£ãŠããŒã éçºã®æµããåŠã¶ð
- 4.1. åŠã¶ããšð
- 4.2. ãšã«ããç·Žç¿ãåèã«ãªãäººã®æèŠãèãããAIãæŽ»çšãªã©ããŸããã
- 4.3. ð¡ ããããææ
- 5. ã¹ããã4ïŒAPI飿ºã§ããŒã¿ãæ±ãåãã€ããð
- 6. âïžã¹ããã5ïŒReactã§Webã¢ããªéçºã®äžçãž
- 7. ð€ æåã¯ãäœãäœã ãããããªããç¶æ ã ã£ã
- 8. ð§© ç§ãReactãçè§£ããã®ã«åœ¹ç«ã£ãã5ã€ã®çºèŠã
- 8.1. 1. ã³ã³ããŒãã³ãã¯ãã¬ãŽãããã¯ãã®ãããªãã®
- 8.2. 2. props ã¯ã芪ããåãžã®ãã¬ãŒã³ãã
- 8.3. 3. state ã¯ãã³ã³ããŒãã³ãã®èšæ¶ã
- 9. ð ã¹ããã6ïŒããŒããã©ãªãªã§ãèŠããããå®åãã圢ã«ãã
- 10. â ãŸãšãïŒçãæ®ãããã«ããŸã1æ©ãïŒ
çŸç¶ææ¡ïŒãŸãç«ã¡äœçœ®ã確èªãããð©
ç§ã®ç¶æ³ã¯ãããªæãã§ããïŒ
- â HTML/CSSã§ã®ã³ãŒãã£ã³ã°ã¯åé¡ãªãã§ãã
- â jQueryã§ç°¡åãªã¹ã©ã€ããŒãã¢ã³ãŒãã£ãªã³ãå®è£ ã§ãã
- â GitHubã¯ã¢ã«ãŠã³ãã ãäœã£ãŠæŸçœ®ããŠãã
- â ãReactããAPIããªã©ã®åèªãèããšäžå®ã«ãªã
ãããªæ¹ã«åããŠãç¡çãªãã¹ãããã¢ããã§ããããã«æ§æããŠããŸãïŒ
ã¹ããã1ïŒJavaScriptã®åºç€ããã£ããåºããð§±
æåã«åãçµãã ã®ã¯JavaScriptã®åºç€åŒ·åã§ããã
ãšã«ããæãåããããšã¯äžçªå€§äºã§ãïŒ
äŸãã°ãã®å¹Žéœ¢ããåºæ¥ãã®ãïŒãšãããSNSã§èŠãããŸãã
èªåãé ã¯è¯ããšæããŸããã®ã§ãšã«ããæãåãããŠäœã«èŠããããæ¹ãå¹çãããã§ãïŒðââïž
ð§ ç®æšïŒã³ãŒãã®âæå³âãçè§£ããŠæžããããã«ãªãïŒ
åŠã¶ããšð
- 倿°ïŒlet/constïŒãšããŒã¿å
- æ¡ä»¶åå²ã»ã«ãŒãåŠçïŒif / for / whileïŒ
- 颿°ïŒã¢ããŒé¢æ°å«ãïŒ
- DOMæäœïŒã€ãã³ããèŠçŽ ååŸãã¯ã©ã¹æäœïŒ
- é åããªããžã§ã¯ãã®æ±ã
ð¡ ããããææ
å£ã«ã¶ã€ãã£ãæã®å¯ŸåŠæ³
JavaScriptåŠç¿äžãç¹ã«ãªããžã§ã¯ããšéåæåŠçã§ã€ãŸãããäžæã¯æ«æããããŸããããããªæã«å¹æçã ã£ãã®ã¯ïŒ
- MDN Web Docsã§åºç€ãããã£ããèªã¿çŽã
- çè§£ã§ããªããŠãããšãããã䜿ã£ãŠã¿ãããšããã¢ãããŒã
ã¹ããã2ïŒã¢ãã³JSãšéåæåŠçã®çè§£ð
ð§ ç®æšïŒçŸä»£çãªæžãæ¹ãèŠããŠãåçãªUIãäœããããã«ãªãïŒ
åŠã¶ããšð
- ES6èšæ³ïŒãã³ãã¬ãŒããªãã©ã«ãåå²ä»£å ¥ãã¹ãã¬ããæŒç®åïŒ
- async/awaitã«ããéåæåŠç
- fetchã§APIéä¿¡
- ã¢ãžã¥ãŒã«åå²ïŒimport/exportïŒ
ð¡ ããããææ
- YouTubeã®ãã¢ãã³JavaScriptè¬åº§ã
- æžç±ãæ¹èšæ°ç JavaScriptæ¬æ Œå ¥éã
ã¹ããã3ïŒGitã䜿ã£ãŠããŒã éçºã®æµããåŠã¶ð
ããã¯æ¬åœã«éèŠã§ããå人éçºãšå®åã®æå€§ã®éãã¯ãããŒã éçºã®æµããã§ããGitãšGitHubã®äœ¿ãæ¹ãåŠã¶ããšã§ãéçºã®çŸå Žã§éçšãã人æã«ãªããŸãã
ð§ ç®æšïŒå®åã§ãå°ããªãããŒãžã§ã³ç®¡çã¹ãã«ãç¿åŸïŒ
åŠã¶ããšð
- Gitã®åºæ¬æäœïŒclone, commit, push, pullïŒ
- GitHubã䜿ã£ãå ±åéçºã®æµã
- ãã©ã³ãéçšïŒfeature/mainãªã©ïŒ
ãšã«ããç·Žç¿ãåèã«ãªãäººã®æèŠãèãããAIãæŽ»çšãªã©ããŸããã
- 宿çãª
git pullã§ãªããžããªãææ°ã«ä¿ã€ - äœæ¥åã«å¿ ãæ°ãããã©ã³ããäœã
- å°ããªåäœã§ããŸãã«ã³ããããã
- ãã«ãªã¯ãšã¹ãã®åºãæ¹ãšãã¬ãã¥ãŒã®ãããæ¹
ð¡ ããããææ
ã¹ããã4ïŒAPI飿ºã§ããŒã¿ãæ±ãåãã€ããð
APIã䜿ã£ãã¢ããªéçºãåŠãã ããšã§ããã ã®ã³ãŒããŒãããWebã¢ããªã±ãŒã·ã§ã³éçºãã§ãã人ãã«ãªããŸããã
ð§ ç®æšïŒå€éšããŒã¿ã䜿ã£ãŠã¢ããªçãªåããå®çŸïŒ
åŠã¶ããšð
- REST APIãšã¯ïŒ
- fetchã䜿ã£ãGETã»POSTéä¿¡
- JSONããŒã¿ã®æ±ãæ¹
- ç¶æ ã«ãã衚瀺ã®åãæ¿ãïŒããŒãã£ã³ã°äžïŒæåïŒãšã©ãŒïŒ
ð¡ ãã£ã¬ã³ãžèª²é¡
- ãå€©æ°æ å ±ãååŸããŠè¡šç€ºãã¢ããªãäœã£ãŠã¿ã
宿ãã¢ã¯ãã¡ãâèªåãå匷äžã£ãŠäºãããã¯ãªãªãã£ã¯äœãã§ãð€£
ãã£ãããšããããæ¹ãä»åŸèŒããŠããããšæããŸãã
åèãªããããããŸãããã»ã»ã»ïŒç¬ïŒ
å€©æ°æ å ±ãååŸããŠè¡šç€ºã¢ããªâïž
âïžã¹ããã5ïŒReactã§Webã¢ããªéçºã®äžçãž
æåã¯ãReactã£ãŠãªãã§ãããªã«è€éãªãã …ããšæããŸãããããããçè§£ãå§ãããšãã³ã³ããŒãã³ãæåã®çŸããã«æ°ã¥ããŸããã
èªåãæåã«åŠãã ããšã¯ãReactãã®å ¬åŒãã¥ãŒããªã¢ã«ãèªã¿ãããèªåã§æãåãããªããå®è£ ããŸããïŒ
ð€ æåã¯ãäœãäœã ãããããªããç¶æ ã ã£ã
ReactåŠç¿ãã¹ã¿ãŒãããåœåã¯ããããªçåã ããã§ããïŒ
- ãJSXã£ãŠäœïŒæ®éã®HTMLãšã©ãéãã®ïŒã
- ãã³ã³ããŒãã³ãã£ãŠçµå±äœïŒã
- ãpropsãšstateã®éããããããªãâŠã
- ããªãã§ãããªè€éãªæžãæ¹ãããå¿ èŠãããã®ïŒã
ç¹ã«è¡æã ã£ãã®ã¯ãHTMLãšJavaScriptãæ··ãã£ããããªè¬ã®æ§æãæåã¯ããããªæžãæ¹ã絶察èŠããããªãâŠããšæããŸããã
Reactå
¬åŒã®äžç®äžŠã¹ãã¥ãŒããªã¢ã«ããã£ãŠã¿ãããæå€ãšçè§£ã§ããããã«ãªã£ããã§ãïŒ
ð§© ç§ãReactãçè§£ããã®ã«åœ¹ç«ã£ãã5ã€ã®çºèŠã
1. ã³ã³ããŒãã³ãã¯ãã¬ãŽãããã¯ãã®ãããªãã®
æåã¯ãã³ã³ããŒãã³ãããšããæŠå¿µããã³ãšããŸããã§ãããã§ããäžç®äžŠã¹ãäœãäžã§ã**ãå°ããªããŒããçµã¿åãããŠå€§ããªãã®ãäœãã**ãšããæèŠãæŽã¿ãŸããã
SquareïŒãã¹ç®ïŒâ BoardïŒç€é¢ïŒâ GameïŒã²ãŒã å šäœïŒãšããéå±€æ§é ããã¬ãŽãããã¯ã®ããã«çµã¿åããã£ãŠããã€ã¡ãŒãžã§ãã
2. props ã¯ã芪ããåãžã®ãã¬ãŒã³ãã
propsãšããæŠå¿µãæåã¯é£ããæããŸãããã§ãã**ã芪ã³ã³ããŒãã³ãããåã³ã³ããŒãã³ããžæž¡ãæ
å ±ã**ãšèãããšã·ã³ãã«ã§ãã
äŸãã°ãBoardã³ã³ããŒãã³ãããåSquareã³ã³ããŒãã³ããžããããªãã¯äœã衚瀺ããã°ãããïŒX/O/空çœïŒããšããæ å ±ãæž¡ããŠããŸãã
3. state ã¯ãã³ã³ããŒãã³ãã®èšæ¶ã
useStateãšããä»çµã¿ãæåã¯é£ããã£ãã§ããã**ãã³ã³ããŒãã³ããèªåã§èŠããŠããæ
å ±ã**ãšèãããšçè§£ããããã§ãã
äŸãã°ãã²ãŒã ã§ã¯ãçŸåšã®ç€é¢ã®ç¶æ ãããæ¬¡ã¯Xã®çªãOã®çªãããªã©ã®æ å ±ãèŠããŠããå¿ èŠããããŸãããããstateã§ã
ð ã¹ããã6ïŒããŒããã©ãªãªã§ãèŠããããå®åãã圢ã«ãã
ð§ ç®æšïŒã¹ãã«ã蚌æããå®çžŸãäœãïŒ
ð ãã£ã¬ã³ãžäŸ
- ãã§ããïŒè¡šç€ºã®ããã¢ããª
- Reactã§äœãTodoã¢ããª
- Next.jsã§äœãããŒããã©ãªãªãµã€ãïŒNetlifyãVercelã§å ¬éïŒ
åãããžã§ã¯ãããšã«ãèŠåŽããç¹ãšè§£æ±ºçããæžããŠãããšããã§ãïŒ
è¯ãé¢è«ã§èãããŸãïŒ
â ãŸãšãïŒçãæ®ãããã«ããŸã1æ©ãïŒ
ä»åŸã®WEBå¶äœæ¥çã§ã¯ã
ããã¶ã€ã³ãå
ã«HTML/CSSãæžãã ããã®åœ¹å²ã¯æžã£ãŠãããŸãã
ã§ããæè¡ã身ã«ã€ããå®è£
åãé«ããã³ãŒããŒã¯ãããããŸããŸãéå®ãããŸãã
çŸå Žã§è©äŸ¡ããã人æã®æ¡ä»¶ã¯ããã§ãïŒ
- æè¡ã ãã§ãªãã³ãã¥ãã±ãŒã·ã§ã³èœåããã人ïŒããªãããå®è£ ããã®ããã説æã§ããããš
- èªåããåŠã³ç¶ããäººïŒæ°ããæè¡ã«èå³ãæã¡ããã£ããã¢ããã§ãã人
- å®ç§ã§ãªããŠããåããã®ãäœãã人ãïŒçè«ã ãã§ãªãå®è£ åããã人
ç¹ã«æåŸã®ãåããã®ãäœãã人ãã¯éèŠã§ããå®ç§ãªã³ãŒããæžããªããŠãããŠãŒã¶ãŒã«äŸ¡å€ãå±ããããäººãæ±ããããŠããŸãã
ð£ããã£ãŠãããŠããã£ãïŒããšæããæªæ¥ã®ããã«ã
ä»ã§ããäžæ©ãã仿¥ããèžã¿åºããŠãããŸãããïŒç§ãä»ã§ãåŠç¿äžã®èº«ã§ãããã®èšäºãèªãã§ããããªããšäžç·ã«æé·ããŠãããã°å¬ããã§ãã質åãçžè«ãããã°ãX(Twitter)ã® @TumaLOVE0127 ãŸã§DMãã ããïŒðð©
#ããã³ããšã³ãéçº #ã³ãŒã㌠#ãã£ãªã¢ã¢ãã #JavaScript #React
ã³ã¡ã³ããæ®ã