์ „์ฒด ๊ธ€

๐Ÿ‘ฉ‍๐Ÿ’ป java, mysql, android, php, javascript๋ฅผ ๋‹ค๋ฃน๋‹ˆ๋‹ค
ยท React
์„œ๋ฒ„์—๊ฒŒ ๋ฐ์ดํ„ฐ ์š”์ฒญํ• ๋•Œ ์œ ์ €๊ฐ€ ๊ทธ๋ƒฅ ๋ฐ์ดํ„ฐ ๋‹ฌ๋ผ๊ณ  ํ•˜๋ฉด ์„œ๋ฒ„๊ฐ€ ๋ณด๋‚ด์ฃผ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์„œ๋ฒ„์— ๋ฐ์ดํ„ฐ๋ฅผ ์š”์ฒญํ• ๋•Œ๋Š” ์ •ํ™•ํ•œ ๊ทœ๊ฒฉ์— ๋งž์ถฐ์„œ ์š”์ฒญํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค 1. ์–ด๋–ค ๋ฐ์ดํ„ฐ์ธ์ง€ (URL ํ˜•์‹์œผ๋กœ) 2. ์–ด๋–ค ๋ฐฉ๋ฒ•์œผ๋กœ ์š”์ฒญํ• ์ง€ (GET or POST) ์ž˜ ๊ธฐ์žฌํ•ด์•ผ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ด์ค๋‹ˆ๋‹ค. ๋ณดํ†ต, ์„œ๋ฒ„์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ฌ๋•Œ๋Š” GET ์„œ๋ฒ„๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ผ๋•Œ๋Š” POST ๋ฅผ ์”๋‹ˆ๋‹ค. AJAX ๋ž€? ์„œ๋ฒ„์— GET,POST ์š”์ฒญ์„ ํ• ๋•Œ ์ƒˆ๋กœ๊ณ ์นจ์—†์ด ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›์„ ์ˆ˜ ์žˆ๊ฒŒ ๋„์™€์ฃผ๋Š” ๊ฐ„๋‹จํ•œ ๋ธŒ๋ผ์šฐ์ € ๊ธฐ๋Šฅ์„ ๋งํ•ฉ๋‹ˆ๋‹ค. (get ์š”์ฒญ์„ ๋‚ ๋ฆฌ๊ณ  ์‹ถ์œผ๋ฉด ์ฃผ์†Œ์ฐฝ์—, post์š”์ฒญ์„ ๋‚ ๋ฆฌ๊ณ  ์‹ถ์œผ๋ฉด form ํƒœ๊ทธ๋ฅผ ์ด์šฉํ•˜๋ฉด ๋˜์ง€๋งŒ, ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ƒˆ๋กœ๊ณ ์นจ๋œ๋‹ค๋Š” ๋‹จ์ ์ด ์กด์žฌ) ๊ทธ๋ž˜์„œ AJAX๋ฅผ ์ž์ฃผ ์”๋‹ˆ๋‹ค. AJAX๋กœ GET,POST ์š”์ฒญ์„ ํ•˜๋Š”..
ยท React
useEffect(()=>{์‹คํ–‰ํ•  ์ฝ”๋“œ},[count]) useEffect ์˜ ์ฒซ์งธ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ๋Š” ์‹คํ–‰ํ•  ์ฝ”๋“œ๋ฅผ ๋„ฃ์–ด์ฃผ๊ณ , ๋‘˜์งธ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ๋Š” [](๋ฐฐ์—ด)์„ ๋„ฃ์„ ์ˆ˜ ์žˆ๋Š”๋ฐ, []์•ˆ์— ๋ณ€์ˆ˜๋‚˜ state ๊ฐ™์€ ๊ฒƒ๋“ค์„ ๋„ฃ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค ์ด๋Ÿฐ ๊ฒฝ์šฐ์—๋Š” [] ์— ์žˆ๋Š” ๋ณ€์ˆ˜๋‚˜ state ๊ฐ€ ๋ณ€ํ•  ๋•Œ๋งŒ, useEffect ์•ˆ์˜ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•ด์ค๋‹ˆ๋‹ค ์œ„์˜ ์ฝ”๋“œ๋Š” count ๋ผ๋Š” ๋ณ€์ˆ˜๊ฐ€ ๋ณ€ํ• ๋•Œ๋งŒ, useEffect ์•ˆ์˜ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰๋˜๊ฒ ๊ตฐ์š”. useEffect(()=>{์‹คํ–‰ํ•  ์ฝ”๋“œ},[]) ๋งŒ์•ฝ๋‘๋ฒˆ์งธ ํŒŒ๋ผ๋ฏธํ„ฐ์— ๋นˆ ๋ฐฐ์—ด์„ ๋„ฃ์–ด์ค€๋‹ค๋ฉด, ์ฒ˜์Œ ๋ Œ๋”๋ง ์‹œ 1ํšŒ ์‹คํ–‰ํ•˜๊ณ  ์˜์˜ ์‹คํ–‰ํ•ด์ฃผ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ฒ˜์Œ์— ๋”ฑ ํ•œ๋ฒˆ๋งŒ ์‹คํ–‰ํ•ด์ค๋‹ˆ๋‹ค clean up function useEffect๋ฅผ ๋™์ž‘ํ•˜๊ธฐ ์ „์— ํŠน์ • ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ์‹ถ์œผ๋ฉด ret..
ยท React
์ปดํฌ๋„ŒํŠธ๊ฐ€ ์ƒ์„ฑ๋˜๊ฑฐ๋‚˜ ์—…๋ฐ์ดํŠธ๋˜๊ฑฐ๋‚˜ ์‚ญ์ œ๋ ๋•Œ, ์ปดํฌ๋„ŒํŠธ์— ์–ด๋–ค ํšจ๊ณผ๋ฅผ ์ฃผ๋Š” ํ•จ์ˆ˜ useEffect()๋ฅผ ๋ฐฐ์›Œ๋ณผ ๊ฑฐ์˜ˆ์š” use์–ด์ฉŒ๊ตฌ๋กœ ์‹œ์ž‘ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ด๊ฑธ lifecycle hook ์ด๋ผ๊ณ ๋„ ๋ถ€๋ฆ…๋‹ˆ๋‹ค ์š”์ฆ˜ React์—์„œ Lifecycle hook ์“ฐ๋Š” ๋ฒ• import {useState, useEffect} from 'react'; function Detail(){ useEffect(()=>{ //์—ฌ๊ธฐ์ ์€ ์ฝ”๋“œ๋Š” ์ปดํฌ๋„ŒํŠธ ๋กœ๋“œ & ์—…๋ฐ์ดํŠธ ๋งˆ๋‹ค ์‹คํ–‰๋จ console.log('์•ˆ๋…•') }); return (์ƒ๋žต) } ์ƒ๋‹จ์— useEffect import ํ•ด์˜ค๊ณ , useEffect ์— ์ฝœ๋ฐฑํ•จ์ˆ˜(ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ํ•จ์ˆ˜๋กœ ๋ฐ›๋Š”๊ฒƒ)๋ฅผ ์ ์–ด์ฃผ๋ฉด, {} ์•ˆ์— ์žˆ๋Š” ํ† ๋“œ๋ฅผ ์ปดํฌ๋„ŒํŠธ ๋กœ๋“œ(์ƒ์„ฑ) ๋˜๋Š” ์—…๋ฐ์ดํŠธ์‹œ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค useE..
ยท React
์ €๋ฒˆ์— app.js (๋ฉ”์ธํŽ˜์ด์ง€) ํŒŒ์ผ์— ๋””ํ…Œ์ผ ์ปดํฌ๋„ŒํŠธ๋ฅผ ํ•˜๋‚˜ ๋งŒ๋“ค์—ˆ๋Š”๋ฐ์š” ์—ฌ๊ธฐ์—๋Š” ์ƒํ’ˆ์ •๋ณด๊ฐ€ ์•„์ง ์ฑ„์›Œ์ง€์ง€ ์•Š์€ ์ƒํƒœ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ props ๋ฅผ ์‚ฌ์šฉํ•ด์„œ shoes ์ •๋ณด๋“ค์„ ์ž…๋ ฅํ•ด๋ณผ๊ฒŒ์š” function Detail(props){ return( {props.shoes[0].title} {props.shoes[0].content} {props.shoes[0].price}์› ์ฃผ๋ฌธํ•˜๊ธฐ ) } export default Detail; ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ํ˜„์žฌ ์ƒ์„ธํŽ˜์ด์ง€์—๋Š” shoes ๋ฐ์ดํ„ฐ์˜ 0๋ฒˆ์งธ ์ •๋ณด๋งŒ ๋ณด์—ฌ์ง‘๋‹ˆ๋‹ค 3๊ฐœ์˜ ์ƒํ’ˆ์ด ๋ชจ๋‘ ๋ณด์ด๋„๋ก ํ•˜๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผํ• ๊นŒ์š”? ๋ผ์šฐํ„ฐ๋ฅผ 3๊ฐœ ๋งŒ๋“ค๋ฉด ๋˜๊ฒ ์ฃ ? (์Šฌ๋ž˜์‹œ ๊ธฐํ˜ธ๋„ ๋ง˜๋Œ€๋กœ ์‚ฌ์šฉ๊ฐ€๋Šฅํ•œ๋ฐ ๋‹จ์–ด๊ฐ„ ๋„์–ด์“ฐ๊ธฐ์šฉ์œผ๋กœ ๋งŽ์ด ์‚ฌ์šฉ) ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด 3๊ฐœ ํŽ˜์ด์ง€ ์™„์„ฑ! ํ•˜์ง€๋งŒ, ๋งŒ์•ฝ..
ยท React
์˜ค๋Š˜์€ ์ƒํ’ˆ๋ชฉ๋ก์„ ์ปดํฌ๋„ŒํŠธ๋กœ ๋งŒ๋“ค์–ด๋ณผ๊ฑฐ์˜ˆ์š”. ๊ทธ๋ฆฌ๊ณ  ์ˆœ์ฐจ์ ์œผ๋กœ ์ˆซ์ž๊ฐ€ ์ฆ๊ฐ€ํ•˜๋ฉด์„œ, ์ƒํ’ˆ๋ชฉ๋ก์ด ๋Š˜์–ด๋‚˜๋Š” ํ˜•ํƒœ์ด๋‹ˆ map ํ•จ์ˆ˜๋กœ ๋ฌถ์–ด์„œ ๊ฐ„ํŽธํ•˜๊ฒŒ ๋งŒ๋“ค์–ด ๋ณผ๊ฒ๋‹ˆ๋‹ค function App() { let [shoes]= useState(data) return ( //์ƒ๋žต ); } export default App; ํ˜„์žฌ Card ๋ผ๋Š” ์ปดํฌ๋„ŒํŠธ 3๊ฐœ๋ฅผ ๋งŒ๋“  ์ƒํƒœ์ž…๋‹ˆ๋‹ค. ์•„์ง ํ…… ๋น„์–ด์žˆ๊ธฐ ๋•Œ๋ฌธ์— data ๋ฐฐ์—ด์—์„œ ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์™€ ์ฃผ์–ด์•ผ ํ•ด์š” let data = [ { id : 0, title : "White and Black", content : "Born in France", price : 120000 }, { id : 1, title : "Red Knit", content : "Born in Seoul", pric..
ยท Github
์•„์ง์€ ๋‚˜๋„ ์ดˆ๋ณด, ๋‹˜๋„ ์ดˆ๋ณด์ง€๋งŒ ์–ธ์  ๊ฐ„์€ ๊ฐ™์€ ํŒ€ ํ”„๋กœ์ ํŠธ๋ฅผ ํ•  ์ผ์ด ์ƒ๊ธธ๊ฑฐ์ž„ ์–ธ์  ๊ฐ„์€!! ๊ทธ๋ž˜์„œ ๋ฏธ๋ž˜๋ฅผ ๋Œ€๋น„ํ•˜๋Š” ์ข‹์€ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋˜๊ธฐ ์œ„ํ•ด์„œ ํ˜‘์—…์— ํ•„์ˆ˜์ ์ธ branch๋ฅผ ๋งŒ๋“ค๊ณ , merge ๋ฅผ ํ•ด๋ณด๊ฒ ์Œ. ์‰ฝ๊ฒŒ ๋งํ•˜์ž๋ฉด ํ˜‘์—…ํ• ๋•Œ, ๊ฐ‘์ž๊ธฐ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•  ์ผ์ด ์žˆ๊ฒ ์ ธ? ๊ทธ๋Ÿด๋•Œ ๋งˆ๋‹ค ์›๋ณธ ํŒŒ์ผ์— ์†์„ ๋Œ€๊ธฐ ๋ณด๋‹ค๋Š” ์ƒˆ๋กœ์šด ๊ฐ€๋‹ฅ์œผ๋กœ ํŒŒ์ผ์„ ํ•˜๋‚˜ ๋งŒ๋“ค๊ณ , ์—ฌ๋Ÿฌ๋ฒˆ ์‹œํ–‰์ฐฉ์˜ค๋ฅผ ๊ฑฐ์นœ๋‹ค์Œ์— ํ•ฉ์ณ๋ณธ๋‹ค๋Š” ๊ฑฐ์ž„! (ํ˜น์‹œ๋‚˜ ์ž˜๋ชปํ•ด์„œ ์ง€๊ธˆ๊นŒ์ง€ ์งฏ๋˜ ํ”„๋กœ๊ทธ๋žจ์ด ๋‚ ๋ผ๊ฐ€๋ฉด ์•ˆ๋˜๋‹ˆ๊นŒ.. ํฌํก) branch ๋งŒ๋“ค๊ธฐ git branch ๋ธŒ๋žœ์น˜์ด๋ฆ„ //์ €๋Š” git branch coupon ์ด๋ผ๊ณ  ์ž‘๋ช…ํ•ด๋ดค์Œ - main ๋ธŒ๋žœ์น˜์—์„œ ๋ฐฉ๊ธˆ๋งŒ๋“  coupon ๋ธŒ๋žœ์น˜๋กœ ์ด๋™ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด? git switch ๋ธŒ๋žœ์น˜์ด๋ฆ„ // git switch c..
ยท Github
๋‹ค๋“ค ์—๋””ํ„ฐ๋กœ vscode๋ฅผ ๋งŽ์ด ์“ธํ…๋ฐ ์˜ค๋Š˜์€ vscode๋ฅผ ์‚ฌ์šฉํ•ด์„œ git ๋‹ค๋ฃจ๋Š” ๋ฒ•์„ ์ •๋ฆฌํ•ด๋ณผ๊ฑฐ์ž„ ๋‚˜๋„ ์ดˆ๋ณด์ž๋ผ ์‰ฝ๊ฒŒ ์‰ฝ๊ฒŒ ๊ฐˆ๊ฑฐ์ž„ ๋จผ์ € vscode๋ฅผ ์ผœ์„œ ํŒŒ์ผ์„ ๋ถˆ๋Ÿฌ์˜ค์„ธ์š” ์‚ฌ์ด๋“œ ๋ฐ”์—์„œ 3๋ฒˆ์งธ ์ค„๋‹ค๋ฆฌ๊ธฐ(?) ์ฒ˜๋Ÿผ ์ƒ๊ธด ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๊ณ , ํŒŒ์ผ ๋‚ด์šฉ์ƒ์— ๋ณ€ํ™”๋ฅผ ์ฃผ๋ฉด, Changes ๋ผ๋Š” ๊ฒŒ ๋œฐ๊ฑฐ์ž„! ์ด๊ฒŒ ๋ญ๋ƒ๋ฉด git ์ด ๋‹น์‹ ์ด ์“ฐ๊ณ  ์žˆ๋Š” ํŒŒ์ผ์˜ ๋ณ€ํ™”๋ฅผ ๋งค ์ˆœ๊ฐ„์ˆœ๊ฐ„ ๊ฐ์‹œํ•˜๊ณ  ์žˆ๋‹ค๊ฐ€, ๋ณ€ํ™”๊ฐ€ ์ƒ๊ธฐ๋ฉด ๋”ฑ Changes ๋ผ๋Š” ๊ฑธ ๋„์›Œ์ฃผ๋Š” ๊ฑฐ์ž„! ์ด Changes์— ๋งˆ์šฐ์Šค๋ฅผ ๊ฐ–๋‹ค ๋Œ€๋ฉด + ๋ฒ„ํŠผ๋„ ๋‚˜์˜ค๋Š”๋ฐ, ๊ทธ๊ฑธ ๋ˆŒ๋Ÿฌ์ฃผ์…ˆ ๊ทธ๋Ÿฌ๋ฉด git add ๊ฐ€ ๋œ๊ฑฐ์ž„ (ํ„ฐ๋ฏธ๋„์—์„œ ์‹คํ–‰ํ•  ์‹œ git add์™€ ๊ฐ™์€ ํšจ๊ณผ๋ฅผ ๋ƒ„) ๊ทธ๋ฆฌ๊ณ  ๋ฐ‘์— Commit์ด๋ผ๋Š” ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด, git commit ํ•œ๊ฑฐ์™€ ๋˜‘๊ฐ™์Œ ์ˆ˜์ •ํŒŒ์ผ๊ณผ ๊ธฐ์กดํŒŒ์ผ ๋น„..
REST API? REST API๋Š” ์›น์—์„œ ์‚ฌ์šฉ๋˜๋Š” ๋ฐ์ดํ„ฐ๋‚˜ ์ž์›์„ HTTP URI๋กœ ํ‘œํ˜„ํ•˜๊ณ , HTTP ํ”„๋กœํ† ์ฝœ์„ ํ†ตํ•ด ์š”์ฒญ๊ณผ ์‘๋‹ต์„ ์ •์˜ํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค ์‰ฝ๊ฒŒ ๋งํ•˜๋ฉด ์›น์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ•(๋ฉ”๋‰ดํŒ)์ด๋‹ค! (์ €๋ฒˆ ๊ฒŒ์‹œ๋ฌผ์—์„œ API ์„ค๋ช…ํ• ๋•Œ, ์›น์˜ ๊ฒฝ์šฐ, REST API ๋ผ๋Š” ์›์น™์— ๋”ฐ๋ผ ์ž‘์„ฑํ•˜๋ฉด ์ข‹๋‹ค๊ณ  ํ–‡์Œ) REST API๋ฅผ ๋””์ž์ธ ํ•˜๋Š” ๋ฐฉ๋ฒ• REST API๋ฅผ ์ž‘์„ฑํ• ๋•Œ๋Š” ์ง€์ผœ์•ผ ํ•  ๊ทœ์น™์ด ์žˆ๋Š”๋ฐ, ๋ ˆ์˜ค๋‚˜๋“œ๋กœ ๋ฆฌ์ฐจ๋“œ์Šจ ์ด๋ผ๋Š” ์‚ฌ๋žŒ์ด ์ด ๊ทœ์น™์„ 4๋‹จ๊ณ„ ๋ชจ๋ธ๋กœ ๋งŒ๋“ค์—ˆ๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค REST ์„ฑ์ˆ™๋„ ๋ชจ๋ธ์€ ์ด 4๋‹จ๊ณ„(0~3๋‹จ๊ณ„)๋กœ ๋‚˜๋ˆ„์–ด์ง ์‹ค์ œ๋กœ 3๋‹จ๊ณ„ ๊นŒ์ง€ ์ง€ํ‚ค๊ธฐ ์–ด๋ ต๊ธฐ ๋•Œ๋ฌธ์—, 2๋‹จ๊ณ„๊นŒ์ง€๋งŒ ์ ์šฉํ•ด๋„ ์ข‹์€ api ๋””์ž์ธ์ด๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ๊ตฌ, ์ด๋Ÿฐ ๊ฒฝ์šฐ๋Š” HTTP API ๋ผ๊ณ ๋„ ๋ถ€๋ฆ„~ 0๋‹จ๊ณ„: HTTP ..
becky(์ง€์€)
Know yourself, follow your passion