๋ชฉ๋ก๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (115)

let's get IT with DAVINA ๐Ÿ’ป

New Start ๐Ÿ’ก

ํ˜ธํ…”์—์„œ ๊ทผ๋ฌดํ•˜๋ฉฐ "์˜ค๋Š˜์€ ~~ํ•œ ์ผ์„ ํ–ˆ์–ด, ๋ญ๊ฐ€ ํž˜๋“ค์—ˆ์–ด" ๋“ฑ ์นœ๊ตฌ๋“ค์—๊ฒŒ ๊ทผ๋ฌด ์ค‘ ์žˆ์—ˆ๋˜ ์ผ์„ ์ด์•ผ๊ธฐํ• ๋•Œ๋งˆ๋‹ค ๋‹ค๋“ค "๋„ˆ๋Š” IT์˜€์œผ๋ฉด PMํ–ˆ์œผ๋ฉด ๋”ฑ์ด์—ˆ๊ฒ ๋‹ค, ์‹ฌ์ง€์–ด ์˜์–ด๋„ ์ž˜ํ•˜์ž–์•„"๋ผ๋Š” ๋ง์„ ๋งŽ์ด ๋“ค์—ˆ๋‹ค. ๋ณ„ ์ƒ๊ฐ ์—†์ด ๋น„์Šทํ•œ ์ง๋ฌด์˜ IT๊ณ„์—ด์ชฝ ์ผ์ด๋ผ๊ณ ๋งŒ ์ƒ๊ฐํ•˜๊ณ  ๋„˜๊ธฐ๋‹ค๊ฐ€ ์ปค๋ฆฌ์–ด ์ „ํ™˜์˜ ๊ณ„๊ธฐ๊นŒ์ง€ ๋˜์—ˆ๋‹ค. ํ•˜์ง€๋งŒ ๊ณผ์—ฐ ๋น„์ „๊ณต์ž์— IT ๊ฒฝ๋ ฅ์ด๋ผ๊ณค ํ•˜๋‚˜๋„ ์—†๋Š” ๋‚ด๊ฐ€ ๊ณผ์—ฐ PM์ด ๋  ์ˆ˜ ์žˆ์„๊นŒ๋ฅผ ๊ณ ๋ฏผํ•ด๋ณด๋ฉฐ ์—ฌ๋Ÿฌ ๋ถ€ํŠธ์บ ํ”„์— ๋ฌธ์˜์‚ฌํ•ญ์„ ๋‚จ๊ฒจ๋ณด๊ณ , ๊ฐœ๋ฐœ์ž ์ง€์ธ๋“ค์—๊ฒŒ ๋ง์„ ํ•ด๋ณด๋ฉด ๋ง‰์ƒ ์‹ค์ œ ํ˜„์—…์— ๋‚˜๊ฐ€์žˆ๋Š” PM์€ ๊ฐœ๋ฐœ์ง€์‹์ด ํ•˜๋‚˜๋„ ์—†์ด๋„ ์ผ์„ ํ•˜๊ณ  ์žˆ์—ˆ๊ณ , ๊ทธ์— ์žˆ์–ด ๊ฐœ๋ฐœ์ž๋“ค์˜ ํž˜๋“  ๊ณ ์ถฉ๋„ ๋“ค์–ด๋ดค๋‹ค. ์•„ ๊ทธ๋ž˜์„œ PM์˜ ์ฑ„์šฉ๊ณต๊ณ ๋“ค์„ ๋ณด๋ฉด ๋””์ž์ด๋„ˆ์™€ ๊ฐœ๋ฐœ์ž๋“ค๊ณผ์˜ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜ ์—ญ๋Ÿ‰์„ ๊ฐ•์กฐํ•˜๊ณ  ์žˆ๊ตฌ๋‚˜๋ž€ ์ƒ๊ฐ์ด ๋“ค๋ฉฐ ๊ฐœ๋ฐœ์„ ..

PM_VIN 2023. 5. 24. 22:53
[Inside JavaScript] Chapter 1. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ธฐ๋ณธ ๊ฐœ์š”

1.1 ์†Œ๊ฐœ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ์›น ๋ธŒ๋ผ์šฐ์ €์—์„œ ๋™์ž‘ํ•˜๋Š” ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด์ด๋‹ค. ์ฒ˜์Œ์—” ์›น ํŽ˜์ด์ง€ ์ œ์ž‘์— ์žˆ์–ด์„œ ๋ณด์กฐ์ ์ธ ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ์šฉ๋„๋กœ์จ ์‚ฌ์šฉํ•˜์—ฌ ์ฃผ๋ชฉ๋ฐ›์ง€ ๋ชปํ–ˆ๋˜ ์–ธ์–ด..๐Ÿฅฒ BUT, prototype.js์™€ ๊ฐ™์€ ์ฃผ์š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋“ค์ด ๊ฐœ๋ฐœ๋˜๊ณ  && jQuery์˜ ๋“ฑ์žฅ์œผ๋กœ ๋ณด๋‹ค ์‰ฝ๊ฒŒ DOM(Document Object Model)์„ ํ•ธ๋“ค๋งํ•˜๊ฒŒ ๋˜๋ฉด์„œ ๋งŽ์€ ๋ฐœ์ „์„ ์ด๋ฃจ์—ˆ๋‹ค. 1.2 ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํ™œ์šฉ ๋ฒ”์œ„ 1.2.1 ์›น ๊ฐœ๋ฐœ ํฌ๋กฌ์ด๋‚˜ ํŒŒ์ด์–ดํญ์Šค ๋“ฑ ์›น ๋ธŒ๋ผ์šฐ์ €๋“ค์ด ๋‚˜๋‚ ์ด ๋ฐœ์ „ํ•˜๋ฉด์„œ ์ƒˆ๋กœ์šด ๋ฒ„์ „์„ ๋‚ด๋†“์„๋•Œ๋งˆ๋‹ค ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—”์ง„์˜ ์„ฑ๋Šฅ ํ–ฅ์ƒ์„ ๊ฐ•์กฐํ•œ๋‹ค. ์ด๋Š” ์›น ํŽ˜์ด์ง€ ๊ฐœ๋ฐœ์— ์žˆ์–ด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ์—ญํ• ์ด ์–ผ๋งˆ๋‚˜ ํฐ์ง€๋ฅผ ๋ฐฉ์ฆํ•œ๋‹ค. 1.2.2 ์„œ๋ฒ„ ๊ฐœ๋ฐœ Node.js์˜ ์ถœํ˜„์œผ๋กœ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ํ™œ์šฉํ•œ ์„œ๋ฒ„ ๊ฐœ๋ฐœ๋„ ํ™œ..

DEV_IN/JavaScript 2023. 3. 27. 18:20
React Query

โœ๏ธ ์‚ฌ์ „ Knowledge ++ FE ์ƒํƒœ ๊ด€๋ฆฌ redux, mobx, recoil ๋“ฑ ๋‹ค์–‘ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์กด์žฌ ์ƒํƒœ๋ž€? ์ฃผ์–ด์ง„ ์‹œ๊ฐ„์— ๋Œ€ํ•ด ์‹œ์Šคํ…œ์„ ๋‚˜ํƒ€๋‚ด๋Š” ๊ฒƒ์œผ๋กœ ์–ธ์ œ๋“ ์ง€ ๋ณ€๊ฒฝ๋  ์ˆ˜ ์žˆ์Œ. ์ฆ‰, ๋ฌธ์ž์—ด, ๋ฐฐ์—ด, ๊ฐ์ฒด ๋“ฑ์˜ ํ˜•ํƒœ๋กœ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์— ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ → ๊ฐœ๋ฐœ์ž ์ž…์žฅ์—์„œ๋Š” ๊ด€๋ฆฌํ•ด์•ผํ•˜๋Š” ๋ฐ์ดํ„ฐ๋“ค ์ƒํƒœ๊ด€๋ฆฌ? ์‹œ๊ฐ„์˜ ํ๋ฆ„์— ๋”ฐ๋ผ ๋ณ€ํ™”ํ•˜๋Š” ์ƒํƒœ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ React์—์„  ๋‹จ๋ฐฉํ–ฅ ๋ฐ”์ธ๋”ฉ์ด๋ฏ€๋กœ props drilling ์ด์Šˆ๋„ ์กด์žฌ (redux, mobx์™€ ๊ฐ™์€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ํ•ด๊ฒฐํ•˜๊ธฐ๋„ ํ•จ) store์€ ์ „์—ญ์ƒํƒœ๊ฐ€ ์ €์žฅ๋˜๊ณ  ๊ด€๋ฆฌ๋˜๋Š” ๊ณต๊ฐ„์ธ๋ฐ redux, redux-saga๋ฐฉ์‹์œผ๋กœ ๋น„๋™๊ธฐ ์š”์ฒญ์„ ๊ตฌํ˜„ํ•˜๊ฒŒ ๋˜๋ฉด redux ๊ตฌํ˜„ํ•˜๋Š” ๋ชจ๋“ˆ์— APIํ†ต์‹  ๊ด€๋ จ ์ฝ”๋“œ๊ฐ€ ๋Œ€๋ถ€๋ถ„์ด๊ฒŒ ๋จ ๋น„์Šทํ•œ ๊ตฌ์กฐ์˜ API ํ†ต..

DEV_IN/React 2023. 3. 24. 22:22
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค]Lv0. ๋Œ€๋ฌธ์ž์™€ ์†Œ๋ฌธ์ž

โ“๋ฌธ์ œ ์„ค๋ช… ๋ฌธ์ž์—ด my_string์ด ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, ๋Œ€๋ฌธ์ž๋Š” ์†Œ๋ฌธ์ž๋กœ ์†Œ๋ฌธ์ž๋Š” ๋Œ€๋ฌธ์ž๋กœ ๋ณ€ํ™˜ํ•œ ๋ฌธ์ž์—ด์„ returnํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”. ๐Ÿšซ ์ œํ•œ์‚ฌํ•ญ 1 ≤ my_string์˜ ๊ธธ์ด ≤ 1,000 my_string์€ ์˜์–ด ๋Œ€๋ฌธ์ž์™€ ์†Œ๋ฌธ์ž๋กœ๋งŒ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๐Ÿ—๏ธ ์ž…์ถœ๋ ฅ ์˜ˆ my_string result "cccCCC" "CCCccc" "abCdEfghIJ" "ABcDeFGHij" โ—๏ธ๋น„๋‹ˆ's ํ’€์ด ์ฒ˜์Œ์—๋Š” 1์ฐจ ๋ฐ˜๋ณต๋ฌธ์„ lower์—์„œ ๋Œ๋ ธ๊ณ , 2์ฐจ ๋ฐ˜๋ณต๋ฌธ์„ my_string์—์„œ ๋Œ๋ ค์„œ ํ…Œ์ŠคํŠธ์ผ€์ด์Šค๋Š” ํ†ต๊ณผํ–ˆ์œผ๋‚˜ ์ œ์ถœ์„ ํ•˜๋ฉด ํ†ต๊ณผ๋ฅผ ๋ชปํ–ˆ๋‹ค.. ๊ทธ๋ž˜์„œ ํ…Œ์ŠคํŠธ์ผ€์ด์Šค์— ์—†๋Š” ๋‚ด๊ฐ€ ์ƒ๊ฐ ๋ชปํ•œ ๊ฒฝ์šฐ๊ฐ€ ๋ญ๊ฐ€ ์žˆ๋‚˜ ์ƒ๊ฐํ•ด๋ดค๋”๋‹ˆ ๋งŒ์•ฝ ์ž…๋ ฅ๊ฐ’์ด ์•ŒํŒŒ๋ฒณ ์ˆœ์„œ๋Œ€๋กœ๊ฐ€ ์•„๋‹ˆ๋ผ "gbca"์ฒ˜๋Ÿผ ๋ฌด..

[๋ฐฑ์ค€ #1926] ๊ทธ๋ฆผ → BFS ํ™œ์šฉ

โ“ ๋ฌธ์ œ ์–ด๋–ค ํฐ ๋„ํ™”์ง€์— ๊ทธ๋ฆผ์ด ๊ทธ๋ ค์ ธ ์žˆ์„ ๋•Œ, ๊ทธ ๊ทธ๋ฆผ์˜ ๊ฐœ์ˆ˜์™€, ๊ทธ ๊ทธ๋ฆผ ์ค‘ ๋„“์ด๊ฐ€ ๊ฐ€์žฅ ๋„“์€ ๊ฒƒ์˜ ๋„“์ด๋ฅผ ์ถœ๋ ฅํ•˜์—ฌ๋ผ. ๋‹จ, ๊ทธ๋ฆผ์ด๋ผ๋Š” ๊ฒƒ์€ 1๋กœ ์—ฐ๊ฒฐ๋œ ๊ฒƒ์„ ํ•œ ๊ทธ๋ฆผ์ด๋ผ๊ณ  ์ •์˜ํ•˜์ž. ๊ฐ€๋กœ๋‚˜ ์„ธ๋กœ๋กœ ์—ฐ๊ฒฐ๋œ ๊ฒƒ์€ ์—ฐ๊ฒฐ์ด ๋œ ๊ฒƒ์ด๊ณ  ๋Œ€๊ฐ์„ ์œผ๋กœ ์—ฐ๊ฒฐ์ด ๋œ ๊ฒƒ์€ ๋–จ์–ด์ง„ ๊ทธ๋ฆผ์ด๋‹ค. ๊ทธ๋ฆผ์˜ ๋„“์ด๋ž€ ๊ทธ๋ฆผ์— ํฌํ•จ๋œ 1์˜ ๊ฐœ์ˆ˜์ด๋‹ค. ๐Ÿ—๏ธ ์ž…๋ ฅ ์ฒซ์งธ ์ค„์— ๋„ํ™”์ง€์˜ ์„ธ๋กœ ํฌ๊ธฐ n(1 ≤ n ≤ 500)๊ณผ ๊ฐ€๋กœ ํฌ๊ธฐ m(1 ≤ m ≤ 500)์ด ์ฐจ๋ก€๋กœ ์ฃผ์–ด์ง„๋‹ค. ๋‘ ๋ฒˆ์งธ ์ค„๋ถ€ํ„ฐ n+1 ์ค„ ๊นŒ์ง€ ๊ทธ๋ฆผ์˜ ์ •๋ณด๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. (๋‹จ ๊ทธ๋ฆผ์˜ ์ •๋ณด๋Š” 0๊ณผ 1์ด ๊ณต๋ฐฑ์„ ๋‘๊ณ  ์ฃผ์–ด์ง€๋ฉฐ, 0์€ ์ƒ‰์น ์ด ์•ˆ๋œ ๋ถ€๋ถ„, 1์€ ์ƒ‰์น ์ด ๋œ ๋ถ€๋ถ„์„ ์˜๋ฏธํ•œ๋‹ค) ๐Ÿ—๏ธ ์ถœ๋ ฅ ์ฒซ์งธ ์ค„์—๋Š” ๊ทธ๋ฆผ์˜ ๊ฐœ์ˆ˜, ๋‘˜์งธ ์ค„์—๋Š” ๊ทธ ์ค‘ ๊ฐ€์žฅ ๋„“์€ ๊ทธ๋ฆผ์˜ ๋„“์ด๋ฅผ ์ถœ๋ ฅํ•˜์—ฌ..