์ „์ฒด ๊ธ€

๐Ÿ‘ฉ‍๐Ÿ’ป java, mysql, android, php, javascript๋ฅผ ๋‹ค๋ฃน๋‹ˆ๋‹ค
ยท React
์‘ ๋งž๋‹ค! styled-component๋Š” ์›นํ‘œ์ค€์„ ํ–ฅ์ƒ์‹œํ‚จ๋‹ค. ์™œ ๊ทธ๋Ÿด๊นŒ? styled-components๊ฐ€ ์›นํ‘œ์ค€์„ ํ•ด์น˜์ง€ ์•Š๋Š” ์ด์œ ๋Š”, ๊ฒฐ๊ตญ styled-components๊ฐ€ ์ƒ์„ฑํ•˜๋Š” ์Šคํƒ€์ผ ์ฝ”๋“œ๋Š” ์ผ๋ฐ˜์ ์ธ CSS์™€ ๋™์ผํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์ƒ์„ฑ๋œ CSS๋Š” HTML ๋ฌธ์„œ ๋‚ด์˜ ํƒœ๊ทธ์— ํฌํ•จ๋˜๋ฉฐ, ์›น ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ด๋ฅผ ํ•ด์„ํ•˜์—ฌ ๋ Œ๋”๋งํ•œ๋‹ค. ์•„์ฃผ ๋˜˜๋˜˜ํ•œ ๋…€์„์ด๋‹ค ๋‚œ ์•„์ง styled-component ์‚ฌ์šฉ์ด ์–ด์ƒ‰ํ•˜๋‹ˆ ์˜ค๋Š˜ ๊ณผ์ œํ•œ ๋‚ด์šฉ์„ ํฌ์ŠคํŒ… ํ•ด๋ณด๊ฒ ๋‹ค. styled-component๊ฐ€ ๋ญ”๋ฐ? styled-component๋Š” ๋ฆฌ์•กํŠธ์—์„œ css์Šคํƒ€์ผ์„ ์ž‘์„ฑํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ด๋‹ค ๊ธฐ์กด์˜ css๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ ๋‹ฌ๋ฆฌ, 'styled-components' ๋Š” javascript ์ฝ”๋“œ๋‚ด์—์„œ css ์Šคํƒ€์ผ์„ ..
์›นํ‘œ์ค€์ด๋ž€? 2000๋…„๋Œ€ ์ดˆ์—๋Š” ์ธํ„ฐ๋„ท ์ต์Šคํ”Œ๋กœ๋Ÿฌ์—์„œ๋Š” ์ž‘๋™์ด ๋˜์–ด๋„ ์‚ฌํŒŒ๋ฆฌ๋‚˜ ํŒŒ์ด์–ดํญ์Šค ๊ฐ™์€ ๋‹ค๋ฅธ ๋ธŒ๋ผ์šฐ์ €์—์„œ๋Š” ์ž‘๋™์ด ๋˜์ง€ ์•Š๋Š” ๋“ฑ ๋ธŒ๋ผ์šฐ์ €๊ฐ„ ํ˜ธํ™˜์ด ๋˜์ง€ ์•Š์•„์„œ ๋Œ“๊ธ€์„ ๋ชป ๋‹ค๋Š” ์ •๋„๊ฐ€ ์•„๋‹ˆ๋ผ ํ™”๋ฉด์ด ์•„์˜ˆ ์ •์ƒ์ ์œผ๋กœ ๋‚˜์˜ค์ง€ ์•Š๋Š” ์ผ๋„ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ๋ง‰๊ณ , ์›น์„ ์ •์ƒ์ ์œผ๋กœ ๊ตฌ๋™์‹œํ‚ค๊ธฐ ์œ„ํ•ด์„œ๋Š” ๊ฐœ๋ฐœ์ž๋“ค์ด ๊ฐ ๋ธŒ๋ผ์šฐ์ €๋งˆ๋‹ค ๋”ฐ๋กœ ๊ฐœ๋ฐœ์„ ํ•ด์ฃผ์–ด์•ผ๋งŒ ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฐ ์ˆ˜๊ณ ๋ฅผ ์—†์• ๊ณ  ์›น ๊ฐœ๋ฐœ์˜ ํ˜•์‹์„ ํ†ต์ผ์‹œํ‚จ ๊ฒƒ์ด ๋ฐ”๋กœ ์›น ํ‘œ์ค€์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค ์›น ํ‘œ์ค€์ด๋ž€ W3C(World Wide Web Consortium)์—์„œ ๊ถŒ๊ณ ํ•˜๋Š” ‘์›น์—์„œ ํ‘œ์ค€์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ๊ธฐ์ˆ ์ด๋‚˜ ๊ทœ์น™’์œผ๋กœ, ์‚ฌ์šฉ์ž๊ฐ€ ์–ด๋– ํ•œ ์šด์˜์ฒด์ œ๋‚˜ ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์‚ฌ์šฉํ•˜๋”๋ผ๋„ ์›นํŽ˜์ด์ง€๊ฐ€ ๋™์ผํ•˜๊ฒŒ ๋ณด์ด๊ณ  ์ •์ƒ์ ์œผ๋กœ ์ž‘๋™ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ์›น ํŽ˜์ด์ง€ ์ œ์ž‘ ๊ธฐ๋ฒ•์„ ๋‹ด๊ณ  ์žˆ์Šต..
์ตœ๊ทผ์— redux๋ฅผ ๋ฐฐ์› ๋Š”๋ฐ, Reducer ๋ถ€๋ถ„์— ์ž ๊น ๋“ฑ์žฅํ–ˆ๋˜ switch ๋ฌธ๋ฒ•์— ๋Œ€ํ•ด์„œ ๋‹ค๋ค„๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์ •๋ง ๊ฐ„๋‹จํ•œ ํฌ์ŠคํŒ…์ž…๋‹ˆ๋‹ค. ์‰ฌ์–ด๊ฐ€๊ธฐ... Reducer๋Š” Dispatch์—๊ฒŒ์„œ ์ „๋‹ฌ๋ฐ›์€ Action ๊ฐ์ฒด์˜ type ๊ฐ’์— ๋”ฐ๋ผ์„œ ์ƒํƒœ๋ฅผ ๋ณ€๊ฒฝ์‹œํ‚ค๋Š” ํ•จ์ˆ˜์ž…๋‹ˆ๋‹ค. ๋‹ค์Œ์€ Reducer์—์„œ switch ๊ตฌ๋ฌธ์„ ํ™œ์šฉํ•œ ์˜ˆ์‹œ์ž…๋‹ˆ๋‹ค. ์•„๋ž˜ ๋ณด์ด๋Š” ๊ฒƒ์ฒ˜๋Ÿผ Reducer๋Š” Action ๊ฐ์ฒด์˜ type ๊ฐ’์— ๋”ฐ๋ผ ๋ถ„๊ธฐํ•˜๋Š” switch ์กฐ๊ฑด๋ฌธ์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. const count = 1 // Reducer๋ฅผ ์ƒ์„ฑํ•  ๋•Œ์—๋Š” ์ดˆ๊ธฐ ์ƒํƒœ๋ฅผ ์ธ์ž๋กœ ์š”๊ตฌํ•ฉ๋‹ˆ๋‹ค. const counterReducer = (state = count, action) => { // Action ๊ฐ์ฒด์˜ type ๊ฐ’์— ๋”ฐ๋ผ ๋ถ„๊ธฐํ•˜๋Š” swit..
ยท React
์ฝ”๋”ฉ ์ž…๋ฌธ์ž๋“ค์ด ์ฝ”๋”ฉ์„ ์–ด๋ ค์›Œ ํ•˜๋Š” ์ด์œ ๋Š” ํฌ๊ฒŒ 2๊ฐ€์ง€๋ผ๊ณ  ์ƒ๊ฐํ•œ๋‹ค ์ฒซ๋ฒˆ์งธ, ๊ธด ์ฝ”๋“œ๋ฅผ ๋ณผ๋•Œ ์–ด๋””์„œ๋ถ€ํ„ฐ ์ฝ์–ด์•ผ ํ• ์ง€ ๋ชจ๋ฅธ๋‹ค๋Š” ์  ๋‘๋ฒˆ์งธ, ์˜ค๋ฅ˜๊ฐ€ ์žˆ์„๋•Œ, ์–ด๋””์„œ ์˜ค๋ฅ˜๊ฐ€ ์ƒ๊ฒผ๋Š”์ง€ ๋ชจ๋ฅธ๋‹ค๋Š” ์  ์ด ๋‘๊ฐ€์ง€ ์›์ธ๋•Œ๋ฌธ์— ๋ช‡์‹œ๊ฐ„์ด๊ณ  ๋จธ๋ฆฌ๋ฅผ ์‹ธ๋งค๋ฉด์„œ ๊ดด๋กœ์›Œํ•˜๋Š”๋ฐ,,, ๊ทธ๋Ÿฌ๋‹ค๊ฐ€ ๋ฒˆ์•„์›ƒ์ด ์‰ฝ๊ฒŒ ์˜จ๋‹ค์•„ใ… ๊ทธ๋ฆฌ๊ณ  ๋‚˜๋Š” ์ฝ”๋”ฉ์„ ๋ชปํ•˜๋Š” ๊ตฌ๋‚˜... ํฌํก ๋ผ๊ณ  ๋งํ•˜๋ฉฐ ์ขŒ์ ˆ๊ฐ์— ๋ˆˆ๋ฌผ์„ ํ›”์น˜๊ฒŒ ๋œ๋‹ค. ์ด๋ฏธ ์ฝ”๋”ฉ์„ ์ข€ ํ•˜๋Š” ์ธ๊ฐ„๋“ค์€ ์ดํ•ด๋ฅผ ๋ชปํ•˜๊ฒ ์ง€๋งŒ, ๋‚˜์ฒ˜๋Ÿผ ์•„์ง ๋…ธํ•˜์šฐ๋ฅผ ํ„ฐ๋“ํ•˜์ง€ ๋ชปํ•œ ์‚ฌ๋žŒ๋“ค์—๊ฒŒ ์กฐ๊ธˆ์ด๋ผ๋„ ์ฝ”๋”ฉ์„ ์ˆ˜์›”ํ•˜๊ฒŒ ๋งŒ๋“ค์–ด์ค„ ์ด์•ผ๊ธฐ๋ฅผ ํ•ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค ์•ž์„œ ๋‘๊ฐ€์ง€ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ผ๊นŒ? ์ฒซ๋ฒˆ์งธ, ๊ธด ์ฝ”๋“œ๋ฅผ ๋ณผ๋•Œ ์–ด๋””์„œ๋ถ€ํ„ฐ ์ฝ์–ด์•ผ ํ• ์ง€ ๋ชจ๋ฅธ๋‹ค๋Š” ์  => ์ˆœ์ฐจ์ ์œผ๋กœ ์ฝ๋Š”๋‹ค ๋‘๋ฒˆ์งธ, ์˜ค๋ฅ˜๊ฐ€ ์žˆ์„๋•Œ, ์–ด๋””์„œ ์˜ค๋ฅ˜๊ฐ€ ์ƒ๊ฒผ๋Š”์ง€ ๋ชจ๋ฅธ..
ยท React
Redux ๋ž€? Redux๋Š” ๋ฆฌ์•กํŠธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์ƒํƒœ๋ฅผ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ์ƒํƒœ๊ด€๋ฆฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ž…๋‹ˆ๋‹ค Redux๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ „์—ญ ์ƒํƒœ๋ฅผ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๋Š” ์—ฌ๋Ÿฌ ์ปดํฌ๋„ŒํŠธ์—์„œ ์‚ฌ์šฉ๋˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์‰ฝ๊ฒŒ ๊ณต์œ ํ•˜๊ณ  ์—…๋ฐ์ดํŠธ ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ค๋‹ˆ๋‹ค Redux์˜ ํ•ต์‹ฌ๊ฐœ๋…์€ "store", "reducer", "action" ์ž…๋‹ˆ๋‹ค store์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ „์—ญ์ƒํƒœ๋ฅผ ์ €์žฅํ•˜๋Š” ๊ฐ์ฒด์ด๋ฉฐ, action์€ ์ƒํƒœ๋ฅผ ์—…๋ฐ์ดํŠธ ํ•˜๊ธฐ ์œ„ํ•œ ๊ฐ์ฒด์ž…๋‹ˆ๋‹ค reducer์€ action์— ๋”ฐ๋ผ ์ƒํƒœ๋ฅผ ์–ด๋–ป๊ฒŒ ์—…๋ฐ์ดํŠธ ํ• ์ง€ ์ •์˜ํ•˜๋Š” ์ˆœ์ˆ˜ํ•จ์ˆ˜ ์ž…๋‹ˆ๋‹ค Redux๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ปดํฌ๋„ŒํŠธ์—์„œ store์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๊ณ , action์„ dispatch ํ•˜์—ฌ ์ƒํƒœ๋ฅผ ์—…๋ฐ์ดํฌํ•˜๊ณ , reducer๋ฅผ ํ†ตํ•ด ์ƒˆ๋กœ์šด ์ƒํƒœ๋ฅผ ๋ฐ˜ํ™˜๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค ์ด๋ฅผ ํ†ต..
์ผ์ฃผ์ผ๋™์•ˆ ๊ณต๋ถ€ํ•œ ๋‚ด์šฉ์€? CDD ๊ณผ์ œ ๋ณต์Šต + git ๋‹ค๋ฃจ๋Š”๋ฒ•์„ ์ตํž˜ 1. props์™€ state์˜ ์ฐจ์ด์  ์ •๋ฆฌ props๋กœ state๋ฅผ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ๋‹ค props๋Š” ์ „๋‹ฌํ•ด์ฃผ๋Š” ๋งค๊ฐœ (state, state ๋ณ€๊ฒฝํ•จ์ˆ˜, ํ•จ์ˆ˜, ๋ณ€์ˆ˜ ๋ชจ๋‘ ์ „๋‹ฌ๊ฐ€๋Šฅ) 2. React Custom Component ๋งŒ๋“ค๊ธฐ (์ž๋™์™„์„ฑ, autocomplete) ์ „์ฒด์ ์ธ ๊ตฌ์กฐ๋ฅผ ๊ทธ๋ฆผ์œผ๋กœ ๊ทธ๋ ค๋ณด๊ธฐ ๊ตฌ์กฐํŒŒ์•… 3๋‹จ๊ณ„ 3. localStorage๋กœ ๋งŒ๋“œ๋Š” ์ตœ๊ทผ ๋ณธ ์ƒํ’ˆ ์ €์žฅํ•˜๊ธฐ useEffect ์•ˆ์— JSON.stringify์™€ JSON.parse ์‚ฌ์šฉํ•˜๊ธฐ 4. Git ๋‹ค๋ฃจ๋Š” ๋ฒ• ๊ณต๋ถ€์ค‘ ์ฝ”๋”ฉ์• ํ”Œ ๊ฐ•์˜ ๋“ค์œผ๋ฉด์„œ Git branch ๋งŒ๋“ค๊ธฐ Git ๋‹ค์–‘ํ•œ merge ๋ฐฉ๋ฒ• ( 3 way, fast-forward, rebase&merge, sq..
ยท React
React Custom Component ์ค‘์—์„œ ๊ฐ€์žฅ ๋‚œ์ด๋„๊ฐ€ ๋†’์•˜๋˜ autocomplete์ด๋‹ค. ์ƒ๋‹นํžˆ ์ฝ”๋“œ๊ฐ€ ๊ธธ๊ณ  ๊ด€๋ จ์žˆ๋Š” ํ•จ์ˆ˜์™€ state๋“ค์ด ์„ž์—ฌ์žˆ์–ด ์ฒ˜์Œ๋ถ€ํ„ฐ ๊ฐ์„ ์žก๊ธฐ๊ฐ€ ์–ด๋ ค์› ๋‹ค. ํ•˜์ง€๋งŒ, ํฌ๊ธฐํ•  ์ˆ˜๋Š” ์—†์ง€ ๋ ๋•Œ๊นŒ์ง€ ํ•˜๋Š” ์Šคํƒ€์ผ์ธ ๋‚˜๋Š” ํ•˜๋‚˜ํ•˜๋‚˜ ์ฝ”๋“œ๋ฅผ ๋œฏ์–ด๋ณด๋ฉฐ ์ดํ•ดํ•˜๊ธฐ๋กœ ํ–ˆ๋‹ค ์–ด๋–ค ๋ฆฌ์•กํŠธ ์ฝ”๋“œ๋ฅผ ๋ณผ๋•Œ, ๊ทธ ์ฝ”๋“œ๋ฅผ ๋ณด๊ณ  ๋ฐ”๋กœ ๊ตฌ์กฐ๋ฅผ ์žก๊ธฐ๋ž€ ์‰ฝ์ง€ ์•Š๋‹ค. ๊ทธ๋ž˜์„œ 3๊ฐ€์ง€ ๊ธฐ์ค€์„ ๊ฐ€์ง€๊ณ  ๊ตฌ์กฐ๋ฅผ ํŒŒ์•…ํ•œ๋‹ค ์ฒซ๋ฒˆ์งธ, ์ปดํฌ๋„ŒํŠธ๋ผ๋ฆฌ tree ๊ตฌ์กฐ๋ฅผ ๋งŒ๋“ ๋‹ค ๋‘๋ฒˆ์งธ, state๊ฐ€ ์–ด๋””์„œ ์ •์˜๋˜์–ด์„œ ์–ด๋””๋กœ ํ๋ฅด๋Š”๊ฐ€? ์„ธ๋ฒˆ์งธ, ํ•จ์ˆ˜๊ฐ€ ์–ด๋””์„œ ์ •์˜๋˜์–ด์„œ ์–ด๋””๋กœ ํ๋ฅด๋Š”๊ฐ€? ์ด 3๊ฐ€์ง€ ๊ธฐ์ค€์„ ๊ณ ๋ คํ•˜๋ฉด์„œ ๊ฐ„๋‹จํ•œ ๊ทธ๋ฆผ์„ ๊ทธ๋ ค๋ณด์•˜๋‹ค. (์‰ฝ์ง€๋Š” ์•Š์•˜๋‹ค... ์• ์ป๋‹ค ๋‚ด์ž์‹ ) ์ฝ”๋“œ๋Š” ๋„ˆ๋ฌด ๊ธฐ๋‹ˆ๊นŒ, styled component์™€ rea..
ยท React
์š”์ฆ˜์— ๊ณผ์ œ๋ฅผ ํ•˜๋ฉด์„œ ์ ์  ์ฝ”๋“œ๊ฐ€ ๊ธธ์–ด์ง€๋‹ˆ๊นŒ ์–ด์ง€๋Ÿฌ์›Œ์ง€๋Š” ๋Š๋‚Œ์ด์˜ˆ์š”. ํŠนํžˆ ์ฝ”๋“œ๊ฐ€ ๊ธธ๊ณ , ํŒŒ์ผ์ด ์—ฌ๋Ÿฌ๊ฐœ ์žˆ์„๋•Œ๋Š” ์ „์ฒด์ ์ธ ๊ตฌ์กฐ๋ฅผ ํŒŒ์•…ํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•œ๋ฐ์š”. ์˜ค๋Š˜ ๊ณผ์ œ๋Š” ๊ทธ๋ฆผ๋„ ๊ทธ๋ ค๋ณด๋ฉด์„œ ์ „์ฒด์ ์ธ ๊ตฌ์กฐ ํŒŒ์•…์— ์ค‘์ ์„ ๋‘ฌ์„œ ๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค ๊ตฌ์กฐํŒŒ์•… 3๋‹จ๊ณ„ 1. ์ปดํฌ๋„ŒํŠธ ๊ธฐ์ค€์œผ๋กœ tree ๊ตฌ์กฐ ์ž‘์„ฑ 2. state๊ฐ€ ์–ด๋””์„œ ์ •์˜๋˜๊ณ , ๋‚ด๋ ค์˜ค๊ณ  ์žˆ๋Š”์ง€ 3. ํ•จ์ˆ˜๊ฐ€ ์–ด๋””์„œ ์ •์˜๋˜๊ณ , ๋‚ด๋ ค์˜ค๊ณ  ์žˆ๋Š”์ง€ 1,2,3 ๋ฒˆ์„ ๋ณด์—ฌ์ฃผ๋Š” ๊ฐ„๋‹จํ•œ ๊ทธ๋ฆผ์„ ๊ทธ๋ ค๋ดค์Šต๋‹ˆ๋‹ค ์ปดํฌ๋„ŒํŠธ๋งŒ ์†์† ๊ณจ๋ผ์„œ ๋ถ€๋ชจ ์ž์‹๊ด€๊ณ„์— ๋”ฐ๋ผ tree ๊ตฌ์กฐ๋„๋ฅผ ๊ทธ๋ ค๋ณด์•˜์Šต๋‹ˆ๋‹ค. (ํฌ๋กฌ ์ต์Šคํ…์…˜ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๋„ ์ข‹์Œ) ์ž์‹์ปดํฌ๋„ŒํŠธ ์–ด๋–ป๊ฒŒ ์ฐพ๋ƒ๊ตฌ์š”? ๋ฆฌํ„ด๋ฌธ์— ๊ฐ€์„œ ์ฐพ๋Š”๋‹ค! App ์ด๋ผ๋Š” ๋ถ€๋ชจ ์ปดํฌ๋„ŒํŠธ์—์„œ ์ž์‹ ์ปดํฌ๋„ŒํŠธ์ธ ItemListContainer, Shoppin..
becky(์ง€์€)
Know yourself, follow your passion