์ ์ฒด ๊ธ(19)
-
์ง์ ๋ง๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ npm package ๋ฐฐํฌํ๊ธฐ (๋ชจ๋ ๋ฐฐํฌ, ๋ฒ์ ์ ํ ๋ฐฐํฌ์คํจ์ ์บ์ ์ญ์ )
๐ ์์ ์ด ๋ง๋ ๋ชจ๋๋ก npm package ๋ฐฐํฌํ๋ ๋ฒ์ ์ค๋ช ํ๋ค. git repository ๋ฅผ node ๋ก ๋ง๋ค์ด์ค ํ clone์ ํ์์ต๋๋ค. ๊ทธ ๋ค์ index.js ํ์ผ์ ๋ง๋ค๊ณ ๊ฐ๋จํ๊ฒ sum ํจ์๋ฅผ ๋ง๋ ๋ค module.exports ๋ฅผ ํ์์ต๋๋ค. module.exports ๋ ๋ง๋ค ์ ์๊ณ import ๋ฅผ ํด์ค๋ ค๋ฉด export ๋ก ๋ง๋ค์ด์ค์ผ ํฉ๋๋ค. npm init ์ -y๋ฅผ ๋ถ์ฌ์ฃผ๋ฉด package.json ํ์ผ์ ๋ง๋ค์ด ์ค๋๋ค. ๊ทธ ๋ค์ npm login ์ ํด์ค ํ npm publish ๋ฅผ ํด์ฃผ๋ฉด ๋ฐฐํฌ๊ฐ ๋ฉ๋๋ค. access๋ฅผ ์ค์ ํด์ฃผ์ง ์์์ 'You muse sign up for private packages' ๋ผ๊ณ ์๋ฌ ๋ฌธ๊ตฌ๊ฐ ๋์์ต๋๋ค. ํ ์คํธ ์ฉ๋๋ก ์์ ํ๊ฒ์ด๊ธฐ ๋๋ฌธ์ acc..
2024.02.03 -
Javascript debugger (1) - ๋ธ๋ผ์ฐ์ ๋ฅผ ์ฝ๋ฉ ์๋ํฐ๋ก ์ฌ์ฉํ๊ธฐ
๐ ๋ธ๋ผ์ฐ์ ๋ฅผ ์ฝ๋ฉ ์๋ํฐ๋ก ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ์ค๋ช ํ๋ค. ์ฐ์ ๋ด ์ปดํจํฐ์ ํด๋๋ฅผ ๋ง๋ค์ด์ค๋ค. ๊ฐ๋ฐ์ ๋ชจ๋๋ฅผ ํจ ํ์ Source ํญ์ผ๋ก ๋ค์ด๊ฐ์ ํด๋ ๋๋กญํ์ฌ ์ถ๊ฐํด์ค๋ค. '์์ ํ ์์ธ์ค๋ฅผ ์์ฒญํฉ๋๋ค. ' ๋ผ๋ ๋ฌธ๊ตฌ๊ฐ ๋ณด์ด๋ฉด ์น์ธ ๋ฒํผ์ ๋๋ฌ์ค์ผ ์์ ์ ํ ์ ์๋ค. ์ค๋ฅธ์ชฝ์ ๋ณด๋ฉด web ํด๋๊ฐ ์ถ๊ฐ ๋์๊ณ ํด๋น ํด๋ ์๋์ test.html ํ์ผ์ ์ถ๊ฐํด์ฃผ์๋ค. ์ด์ ์์ ์ด ๊ฐ๋ฅํ๋ค. script ํ๊ทธ๋ฅผ ์ถ๊ฐํด์ JS ํ ์คํธ๋ฅผ ํด๋ณด์๋ค. ๊ทธ๋ฆฌ๊ณ ์์ ์ ํ๋ฉด test.html ์ผ์ชฝ์ * ์ด ํ์๊ฐ ์๊ธด๋ค. ๐ VS Code ์์๋ ์์ ํ ์ ์์ง๋ง Node ๋ณด๋ค๋ ๋ธ๋ผ์ฐ์ ์์ ํ ์คํธ ํ๋ ๊ฒ์ด ๋ ํธํ๊ณ Scope ๋ Closure, Call Stack ๋ฑ ํ์ธ ํ ์ ์์ด์ ๋ ํธ๋ฆฌํ๋ค. ์ถ์ฒ: ๋ธ๋ผ์ฐ..
2024.02.01 -
JavaScript (6) - ํธ์ด์คํ (Hoisting), ๋ณ์ ์ ์ธ์ ์คํ ์์
๐ ํธ์ด์คํ (Hoisting): ๋์ด ์ฌ๋ฆฌ๋ค. ๊ฒ์ํ๋ค. ํธ์ด์คํ ์ ๋์ด ์ฌ๋ฆฐ๋ค๋ ๋ป์ ๊ฐ๊ณ ์๋ค. JavaScript ์์ ํธ์ด์คํ ์ ๋ฌด์์ ์๋ฏธํ ๊น? ์ฐ์ ์๋ ์ฝ๋๋ฅผ ์ดํด๋ณด์. console.log(score); // ๋ณ์ ์ฐธ์กฐ var score; // ๋ณ์ ์ ์ธ๋ฌธ ๋ณ์ ์ ์ธ๋ฌธ ๋ณด๋ค ๋ณ์๋ฅผ ์ฐธ์กฐํ๋ ์ฝ๋๊ฐ ์์ ์๋ค. ์๋ฐ์คํฌ๋ฆฝํธ๋ ์ธํฐํ๋ฆฌํฐ์ ์ํด ํ ์ค์ฉ ์์ฐจ์ ์ผ๋ก ์คํ๋๋ฏ๋ก console.log ๊ฐ ๊ฐ์ฅ ๋จผ์ ์คํ๋ ๊ฒ์ด๋ค. ์ฐธ์กฐ์๋ฌ ReferenceError ๊ฐ ๋ฐ์ํ ๊ฒ์ผ๋ก ์์ํ์ง๋ง, undefined๊ฐ ์ถ๋ ฅ๋๋ค. ๊ทธ ์ด์ ๋ ๋ณ์ ์ ์ธ์ด ์์ค์ฝ๋๊ฐ ํ ์ค์ฉ ์์ฐจ์ ์ผ๋ก ์คํ๋๋ ์์ ๋ฐํ์ runtime์ด ์๋๋ผ ๊ทธ ์ด์ ๋จ๊ณ์์ ๋จผ์ ์คํ๋๊ธฐ ๋๋ฌธ์ด๋ค. ๋ณ์ ์ ์ธ์ ์์ค์ฝ๋์ ์ด๋์ ์..
2023.12.04 -
[์๋ฃ๊ตฌ์กฐ] Linked List (์ฐ๊ฒฐ ๋ฆฌ์คํธ) - ๋จ์ ์ฐ๊ฒฐ ๋ฆฌ์คํธ
๐ ์๋ฃ๊ตฌ์กฐ ๋ฐ์ดํฐ๋ฅผ ์ํฉ์ ๋ง๊ฒ ์ ์ฅํ๊ณ ์ฒ๋ฆฌํ๊ธฐ ์ํ ๋ฐฉ๋ฒ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅ, ๊ด๋ฆฌํ์ฌ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํจ์จ์ ์ผ๋ก ์ฌ์ฉํ๊ธฐ ์ํด ํ์ํ๋ค. ๐ Linked List ์ฐ๊ฒฐ ๋ฆฌ์คํธ๋ ์ฌ๋ฌ๊ฐ์ node๋ก ์ด๋ฃจ์ด์ ธ์๋ค. pointer ์ ์ํด ๋ค์ node ๋ฅผ ์ฐ๊ฒฐํ๋ค. ์ด๋ฅผ ํตํด Linked List ๋ ๋ฐ์ดํฐ ์ฝ์ /์ญ์ ์ ๋ฐ์ดํฐ์ ๊ตฌ์กฐ๋ฅผ ์ฌ ์ ๋ ฌํ์ง ์์๋ ๋๋ค. Linked List Array ๋์ ์๋ฃ๊ตฌ์กฐ ์ ์ ์๋ฃ๊ตฌ์กฐ ์์ ์ ๊ทผ ๋ถ๊ฐ, ์์ฐจ์ ์ผ๋ก ์ ๊ทผํด์ผ ํจ ๋ฐ์ดํฐ์ ์ธ๋ฑ์ค๋ก ์์ ์ ๊ทผ ๊ฐ๋ฅ ๋ฐ์ดํฐ ์ถ๊ฐ, ์ญ์ ์ ์ฉ์ด ์ ๊ทผ๊ณผ ํ์์ ์ฉ์ด ํฌ๊ธฐ์ ์ ํ์ด ์์ ์์ ๋ถ๊ฐ๋ฅ, ๋ฐฐ์ด ํฌ๊ธฐ ์ด์์ ๋ฐ์ดํฐ ์ ์ฅ ๋ถ๊ฐ๋ฅ ๐ Singly Linked List ๋ค์ ๋ ธ๋์ ๋ํ ์ฐธ์กฐ๋ง์ ๊ฐ์ง ๊ฐ์ฅ ๋จ์ํ ํํ์ ์ฐ๊ฒฐ ๋ฆฌ์คํธ์ด..
2023.06.21 -
[ํ๋ก๊ทธ๋๋จธ์ค] ๋ฌธ์์ด ๋ฐ๊ธฐ (JS)
[ํ๋ก๊ทธ๋๋จธ์ค] ๋ฌธ์์ด ๋ฐ๊ธฐ JavaScript ๐ ๋ฌธ์ ์ค๋ช ๋ฌธ์์ด "hello"์์ ๊ฐ ๋ฌธ์๋ฅผ ์ค๋ฅธ์ชฝ์ผ๋ก ํ ์นธ์ฉ ๋ฐ๊ณ ๋ง์ง๋ง ๋ฌธ์๋ ๋งจ ์์ผ๋ก ์ด๋์ํค๋ฉด "ohell"์ด ๋ฉ๋๋ค. ์ด๊ฒ์ ๋ฌธ์์ด์ ๋ฏผ๋ค๊ณ ์ ์ํ๋ค๋ฉด ๋ฌธ์์ด A์ B๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, A๋ฅผ ๋ฐ์ด์ B๊ฐ ๋ ์ ์๋ค๋ฉด ๋ช ๋ฒ ๋ฐ์ด์ผ ํ๋์ง ํ์๋ฅผ returnํ๊ณ ๋ฐ์ด์ B๊ฐ ๋ ์ ์์ผ๋ฉด -1์ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด๋ณด์ธ์. ๐ ์ ํ์ฌํญ 0
2022.11.28 -
[ํ๋ก๊ทธ๋๋จธ์ค] ๋ชจ์ ์ ๊ฑฐ (JS)
[ํ๋ก๊ทธ๋๋จธ์ค] ๋ชจ์ ์ ๊ฑฐ (JavaScript) ๐ ๋ฌธ์ ์ค๋ช ์์ด์์ a, e, i, o, u ๋ค์ฏ ๊ฐ์ง ์ํ๋ฒณ์ ๋ชจ์์ผ๋ก ๋ถ๋ฅํฉ๋๋ค. ๋ฌธ์์ด my_string์ด ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋ ๋ชจ์์ ์ ๊ฑฐํ ๋ฌธ์์ด์ returnํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์. ๐ ์ ํ์ฌํญ my_string์ ์๋ฌธ์์ ๊ณต๋ฐฑ์ผ๋ก ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค. 1 ≤ my_string์ ๊ธธ์ด ≤ 1,000 ๐ ์ ์ถ๋ ฅ ์ my_string result "bus" "bs" "nice to meet you" "nc t mt y" ๐ ์ ์ถ๋ ฅ ์ ์ค๋ช ์ ์ถ๋ ฅ ์ #1 "bus"์์ ๋ชจ์ u๋ฅผ ์ ๊ฑฐํ "bs"๋ฅผ returnํฉ๋๋ค. ์ ์ถ๋ ฅ ์ #1 "nice to meet you"์์ ๋ชจ์ i, o, e, u๋ฅผ ๋ชจ๋ ์ ๊ฑฐํ "nc t mt y"..
2022.11.27