๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐ŸŽฎ ํ”„๋กœ๊ทธ๋ž˜๋ฐ51

[ํ•œ๊ฒฝxToss] Fullstack ๊ฐœ๋ฐœ - ์ค‘๊ฐ„ ํ”„๋กœ์ ํŠธ ํšŒ๊ณ  ๐Ÿ“š๐Ÿ‘ฉ‍๐Ÿ’ป [ํ•œ๊ตญ๊ฒฝ์ œ์‹ ๋ฌธ with toss bank] Tech ์šฐ์ˆ˜์ธ์žฌ ์–‘์„ฑ์„ ์œ„ํ•œ ํ’€์Šคํƒ ๊ณผ์ • 2๊ธฐ ์•ฝ 3์ฃผ ๋™์•ˆ ์ง„ํ–‰ํ•œ ์ค‘๊ฐ„ ํ”„๋กœ์ ํŠธ ํ›„๊ธฐ.์ง€๋‚œ ์ฃผ์— ๋ฐœํ‘œ๊ฐ€ ๋๋‚ฌ๋Š”๋ฐ, ๋” ๋ฏธ๋ค˜๋‹ค๊ฐ€๋Š” ๊ธฐ์–ต์ด ํœ˜๋ฐœ๋  ๊ฒƒ ๊ฐ™์•„ ์„œ๋‘˜๋Ÿฌ ์ž‘์„ฑํ•ด๋ณด๋ ค ํ•œ๋‹ค โฌ‡๏ธ ํ”Œ์  ์†Œ์Šค โฌ‡๏ธ https://github.com/inthhh/bufl_fe GitHub - inthhh/bufl_fe: ๋ฒ„ํ”Œ - ์›”๊ธ‰ ์ชผ๊ฐœ๊ธฐ ์ž๋™ํ™” ์„œ๋น„์Šค๋ฒ„ํ”Œ - ์›”๊ธ‰ ์ชผ๊ฐœ๊ธฐ ์ž๋™ํ™” ์„œ๋น„์Šค. Contribute to inthhh/bufl_fe development by creating an account on GitHub.github.com ๋ชฉ์ฐจ 1. ํŒ€ ๋นŒ๋”ฉ2. ์ฃผ์ œ3. ๊ธฐํš์•ˆ ์ž‘์„ฑ4. ๊ฐœ๋ฐœ    - ๊ฐœ๋ฐœ ์ง„ํ–‰    - ์‚ฌ๊ฑด์‚ฌ๊ณ 5. ๋ฐœํ‘œ ์ค€๋น„ 1. ํŒ€ ๋นŒ๋”ฉํŒ€์€ ๊ฐ•์‚ฌ๋‹˜๊ป˜์„œ ์ž„์˜๋กœ.. 2025. 3. 24.
[ํ•œ๊ฒฝxToss] 8์ฃผ์ฐจ ์š”์•ฝ : Typescript + ์ค‘๊ฐ„ ํŒ€ํ”Œ๐Ÿฅท * ๊ฐœ์ธ์˜ ํ•™์Šต ๋‚ด์šฉ ๊ธฐ๋ก ์ค‘, ๊ทนํžˆ ์ผ๋ถ€์˜ ๋‚ด์šฉ๋งŒ ์ž‘์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.  typescript ํŒ€ํ”Œ ์‹œ์ž‘ ๋‹น์‹œ ํŒ€์›๋“ค์—๊ฒŒ react ts๋กœ ๊ฐœ๋ฐœ์„ ์ง„ํ–‰ํ•˜์ž๊ณ  ํ–ˆ์—ˆ๋Š”๋ฐ,๋งˆ์นจ ๊ฐ•์‚ฌ๋‹˜์ด ๊ฐ•์˜๋ฅผ ์ง„ํ–‰ํ•ด์ฃผ์…จ๋‹ค.ts๋ฅผ ๊ฒฝํ—˜ํ•ด๋ณด์ง€ ์•Š์€ ํŒ€์›๋“ค์ด ์žˆ์—ˆ๊ธฐ์— ๋‹คํ–‰์ด์—ˆ์Œ!! //ํƒ€์ž… ๋‹จ์–ธ(Assertion) : ํ˜•๋ณ€ํ™˜๊ณผ ์œ ์‚ฌtype Person = { name: string age: number} //ํƒ€์ž…์ขํžˆ๊ธฐfunction func1(value: number | string) { //value.toFixed() //์‹ค์ˆ˜ํ˜•์œผ๋กœ ๋ฐ”๊พธ๊ธฐ //value.toUpperCase() //๋Œ€๋ฌธ์ž๋กœ ๋ฐ”๊พธ๊ธฐ if (typeof value === 'number') { value.toFixed() } else if (typeof v.. 2025. 3. 20.
[ํ•œ๊ฒฝxToss] 6-7์ฃผ์ฐจ ์š”์•ฝ : React.js ์‹ฌํ™”, NodeJS ๊ธฐ์ดˆ ๊ฐœ์ธ์˜ ํ•™์Šต ๋‚ด์šฉ ๊ธฐ๋ก ์ค‘, ๊ทนํžˆ ์ผ๋ถ€์˜ ๋‚ด์šฉ๋งŒ ์ž‘์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.  React ๊ธฐ์ดˆList & Key๋ฆฌ์ŠคํŠธ(List): ๋ฐฐ์—ด ๋ฐ์ดํ„ฐ๋ฅผ ๋™์ ์œผ๋กœ ๋ Œ๋”๋งํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” JSX ์š”์†Œ๋“ค์˜ ์ง‘ํ•ฉ React์—์„œ๋Š” ๋ฐฐ์—ด์˜ ๊ฐ ํ•ญ๋ชฉ์„ JSX ์—˜๋ฆฌ๋จผํŠธ๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ํ™”๋ฉด์— ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.ํ‚ค(Key): ๋ฆฌ์•กํŠธ์—์„œ ๊ฐ ๋ฆฌ์ŠคํŠธ ํ•ญ๋ชฉ์„ ๊ณ ์œ ํ•˜๊ฒŒ ์‹๋ณ„ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ์†์„ฑ์ž…๋‹ˆ๋‹ค. ํ‚ค๋Š” ๋ฆฌ์•กํŠธ๊ฐ€ ์–ด๋–ค ์š”์†Œ๊ฐ€ ๋ณ€๊ฒฝ๋˜์—ˆ๋Š”์ง€, ์ถ”๊ฐ€๋˜์—ˆ๋Š”์ง€, ์ œ๊ฑฐ๋˜์—ˆ๋Š”์ง€๋ฅผ ๋น ๋ฅด๊ฒŒ ํŒŒ์•…ํ•˜์—ฌ DOM์„ ํšจ์œจ์ ์œผ๋กœ ์—…๋ฐ์ดํŠธํ•˜๋Š” ๋ฐ ์ค‘์š”ํ•œ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค.Form๋ฆฌ์•กํŠธ์—์„œ ์ž…๋ ฅํผ(input form)์€ ์‚ฌ์šฉ์ž์˜ ์ž…๋ ฅ์„ ๋ฐ›์•„ ์ƒํƒœ(state)๋กœ ๊ด€๋ฆฌํ•˜๋Š” ์ค‘์š”ํ•œ ์š”์†Œ์ž…๋‹ˆ๋‹ค. ์ž…๋ ฅํผ์„ ๋งŒ๋“ค ๋•Œ๋Š” ๋ฆฌ์•กํŠธ์˜ ์ƒํƒœ(state)์™€ ์ด๋ฒคํŠธ ํ•ธ๋“ค๋Ÿฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ž…๋ ฅ ๋ฐ์ดํ„ฐ๋ฅผ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค.. 2025. 3. 20.
[React] Redux ๊ฐœ๋… ๋ฐ ์—ญํ• , ํŒŒ์ผ ๊ตฌ์กฐ ๋””๋ ‰ํ† ๋ง ๊ฐœ๋ฐœ์„ ์ฒ˜์Œ ์ง„ํ–‰ํ•  ๋•Œ๋Š” ๋ฆฌ๋•์Šค ๋‚ด์šฉ์„ ํ•œ ํŒŒ์ผ์—๋‹ค๊ฐ€ ๋ชจ์•„๋‘๋‹ค๊ฐ€,์ธํ„ด ํ•˜๋ฉด์„œ ๋””๋ ‰ํ† ๋ง ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์› ์—ˆ๋Š”๋ฐ ๋˜ ์จ๋จน์„ ์ผ์ด ์ƒ๊ฒจ ๊ธฐ๋กํ•ด๋‘”๋‹ค. Redux๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ƒํƒœ๋ฅผ ํ•œ๊ณณ์—์„œ ๊ด€๋ฆฌํ•˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ด๋‹ค. ์—ฌ๋Ÿฌ ์ปดํฌ๋„ŒํŠธ์—์„œ ๊ฐ™์€ ๋ฐ์ดํ„ฐ๋ฅผ ๊ณต์œ ํ•  ๋•Œ ์œ ์šฉํ•˜๋‹ค. 1๏ธโƒฃ  Redux ํŒŒ์ผ ๊ตฌ์กฐ (in React typescript) /redux /actions # ์•ก์…˜ ์ •์˜ (์ด๋ฒคํŠธ ๋ฐœ์ƒ ์‹œ ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ ์ •์˜) categoryActions.ts /reducers # ๋ฆฌ๋“€์„œ ์ •์˜ (์ƒํƒœ๊ฐ€ ์–ด๋–ป๊ฒŒ ๋ณ€๊ฒฝ๋ ์ง€ ๊ฒฐ์ •) categoryReducer.ts store.ts # ์Šคํ† ์–ด ์„ค์ • (์ „์ฒด ์ƒํƒœ ๊ด€๋ฆฌ) ๊ฐ ํŒŒ์ผ์€ Redux์˜ ํ•ต์‹ฌ ์š”์†Œ์ธ ์•ก์…˜(Acti.. 2025. 2. 27.
[ํ•œ๊ฒฝxToss] 5์ฃผ์ฐจ ์š”์•ฝ : React.js ๊ธฐ์ดˆ * ๊ฐœ์ธ์˜ ํ•™์Šต ๋‚ด์šฉ ๊ธฐ๋ก ์ค‘, ๊ทนํžˆ ์ผ๋ถ€์˜ ๋‚ด์šฉ๋งŒ ์ž‘์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.  ๋งˆํฌ๋‹ค์šด ํŒŒ์ผ ์ž‘์„ฑ๋ฒ•git, github ์‚ฌ์šฉ๋ฒ•github desktop React.js ๊ธฐ์ดˆReact๋Š” ์›น ํ”„๋ ˆ์ž„์›Œํฌ๋กœ, JS ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ํ•˜๋‚˜๋กœ์„œ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋จ- facebook์—์„œ ์ œ๊ณตํ•ด์ฃผ๋Š” ํ”„๋ก ํŠธ์—”๋“œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ- ์ปดํฌ๋„ŒํŠธ ๊ธฐ๋ฐ˜์˜ UI ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ช…๋ นํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ vs ์„ ์–ธํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ๋ช…๋ นํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ: ๋ช…๋ นํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ์€ ์ปดํ“จํ„ฐ์—๊ฒŒ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•  ์ž‘์—…์„ ์ˆœ์ฐจ์ ์ธ ๋ช…๋ น์–ด๋“ค๋กœ ๊ตฌ์„ฑํ•œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. ๋ช…๋ นํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ๋Š” ์ฝ”๋“œ๊ฐ€ ํ”„๋กœ๊ทธ๋žจ ์ƒํƒœ๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ์ ˆ์ฐจ๋ฅผ ๋ช…์‹œ์ ์œผ๋กœ ๊ธฐ์ˆ ํ•˜๋ฉฐ, ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด ์ƒํƒœ๋ฅผ ์ถ”์ ํ•ฉ๋‹ˆ๋‹ค. ๋Œ€ํ‘œ์ ์ธ ๋ช…๋ นํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋กœ๋Š” C, C++, Java, Python ๋“ฑ์ด.. 2025. 2. 18.
[ํ•œ๊ฒฝxToss] 4์ฃผ์ฐจ ์š”์•ฝ : JS ์ค‘๊ธ‰ * ๊ฐœ์ธ์˜ ํ•™์Šต ๋‚ด์šฉ ๊ธฐ๋ก ์ค‘, ๊ทนํžˆ ์ผ๋ถ€์˜ ๋‚ด์šฉ๋งŒ ์ž‘์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.ํ…œํ”Œ๋ฆฟ ๋ฆฌํ„ฐ๋Ÿด(Template literals) - es6๋ถ€ํ„ฐ์ œ ์ด๋ฆ„์€ ${name}์ž…๋‹ˆ๋‹ค. ๋ฐฐ์—ด(Array)์—ฐ์†๋œ ๊ณต๊ฐ„์— ๋™์ผํ•œ ํƒ€์ž…์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆœ์ฐจ์ ์œผ๋กœ ๋‚˜์—ดํ•œ ์ž๋ฃŒ๊ตฌ์กฐArray ๊ฐ์ฒดnew : ๊ฐ์ฒด ์ƒ์„ฑ ์‹œ ์‚ฌ์šฉํ•˜๋Š” ์˜ˆ์•ฝ์–ด๊ฐ์ฒด(Object) : ์ฝ”๋“œ๋กœ ์ •์˜(ํด๋ž˜์Šค, ํ•จ์ˆ˜)๋œ ๋ฉ”๋ชจ๋ฆฌ์— ์ ์žฌ ํ›„ ํ™œ์„ฑํ™”๋œ ์ƒํƒœ. ์ธ์Šคํ„ด์Šคinstanceof : ๊ฐ์ฒด๊ฐ€ ํŠน์ • ํด๋ž˜์Šค์— ์†ํ•˜๋Š”์ง€ ์•„๋‹Œ์ง€๋ฅผ ํ™•์ธjs ๋ฐฐ์—ด์€ ๋ฆฌ์ŠคํŠธ ๊ธฐ๋Šฅ์„ ํฌํ•จ ๊ฐ’ ํƒ€์ž… ๋ณ€์ˆ˜ vs ์ฐธ์กฐํƒ€์ž… ๋ณ€์ˆ˜๊ฐ’ ํƒ€์ž…์€ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์— ์‹ค์ œ๊ฐ’์„ ๊ฐ€์ง์ฐธ์กฐ ํƒ€์ž…์€ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์— ๊ฐ’์˜ ์ฃผ์†Œ๋ฅผ ๊ฐ€์งํ•จ์ˆ˜(Function)์šฉ๋„1. ์ฝ”๋“œ ์ค‘๋ณต ์ œ๊ฑฐ - ์žฌ์‚ฌ์šฉ์„ฑ2. ์ฝ”๋“œ ์ด๋ฆ„ - ๊ฐ€๋…์„ฑ3. ๊ธฐ๋Šฅ์  ๋ถ„๋ฆฌ/๊ฒฐํ•ฉ - ๋ชจ๋“ˆํ™”.. 2025. 2. 7.
728x90
๋ฐ˜์‘ํ˜•