Dlog

๋ชจ์Šค๋ถ€ํ˜ธ ํ•ด๋…ํ•˜๊ธฐ(1)

๋ชจ์Šค๋ถ€ํ˜ธ (1)

๋จธ์“ฑ์ด๋Š” ์นœ๊ตฌ์—๊ฒŒ ๋ชจ์Šค๋ถ€ํ˜ธ๋ฅผ ์ด์šฉํ•œ ํŽธ์ง€๋ฅผ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค. ๊ทธ๋ƒฅ์€ ์ฝ์„ ์ˆ˜ ์—†์–ด ์ด๋ฅผ ํ•ด๋…ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“ค๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๋ฌธ์ž์—ด letter๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, letter๋ฅผ ์˜์–ด ์†Œ๋ฌธ์ž๋กœ ๋ฐ”๊พผ ๋ฌธ์ž์—ด์„ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด๋ณด์„ธ์š”. ๋ชจ์Šค๋ถ€ํ˜ธ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

read more

n๋ฒˆ์งธ๋กœ ํฐ ์ˆ˜, ์ž‘์€ ์ˆ˜ ์ฐพ๊ธฐ

์šฐํ…Œ์ฝ” ํ”„๋ฆฌ์ฝ”์Šค์— ์ง‘์ค‘ํ•˜๋Š๋ผ ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ ์—ฐ์Šต์„ ์ž˜ ๋ชปํ•˜๊ณ  ์žˆ๋‹ค. ์šฐํ…Œ์ฝ” ๋๋‚˜๊ณ  ๋‚˜๋ฉด ์—ด์‹ฌํžˆ ํ•ด์•ผ์ง€! ๐Ÿ’ช

์ตœ๋Œ“๊ฐ’ ๋งŒ๋“ค๊ธฐ (2)

์ •์ˆ˜ ๋ฐฐ์—ด numbers๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค. numbers์˜ ์›์†Œ ์ค‘ ๋‘ ๊ฐœ๋ฅผ ๊ณฑํ•ด ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ“๊ฐ’์„ returnํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”.

read more

์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€ ์ˆ˜์ •, ์›ํ•˜๋Š” ํŒŒ์ผ๋งŒ pushํ•˜๊ธฐ

๊นƒ ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€ ์ˆ˜์ •ํ•˜๊ธฐ

๊ฐ€์žฅ ์ตœ๊ทผ ์ปค๋ฐ‹ํ•œ ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€ ์ˆ˜์ •

git commit --amend
read more

ํŠน์ • ๋ฌธ์ž์˜ ์ธ๋ฑ์Šค ๋ฒˆํ˜ธ ์ฐพ๊ธฐ

์„œ์šธ์—์„œ ๊น€์„œ๋ฐฉ ์ฐพ๊ธฐ

Stringํ˜• ๋ฐฐ์—ด seoul์˜ element์ค‘ โ€œKimโ€์˜ ์œ„์น˜ x๋ฅผ ์ฐพ์•„, โ€œ๊น€์„œ๋ฐฉ์€ x์— ์žˆ๋‹คโ€๋Š” String์„ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜, solution์„ ์™„์„ฑํ•˜์„ธ์š”. seoul์— โ€œKimโ€์€ ์˜ค์ง ํ•œ ๋ฒˆ๋งŒ ๋‚˜ํƒ€๋‚˜๋ฉฐ ์ž˜๋ชป๋œ ๊ฐ’์ด ์ž…๋ ฅ๋˜๋Š” ๊ฒฝ์šฐ๋Š” ์—†์Šต๋‹ˆ๋‹ค.

read more

์ƒ์ž๋ฅผ ์ฑ„์šธ ์ˆ˜ ์žˆ๋Š” ์ฃผ์‚ฌ์œ„์˜ ๊ฐœ์ˆ˜, ๋ฌธ์ž์—ด์˜ n๋ฐฐ์ˆ˜ ๋ฒˆ์งธ ๊ธ€์ž๋งŒ ์ถ”์ถœํ•˜๊ธฐ(+= ์‚ฌ์šฉ)

์ฃผ์‚ฌ์œ„์˜ ๊ฐœ์ˆ˜

๋จธ์“ฑ์ด๋Š” ์ง์œก๋ฉด์ฒด ๋ชจ์–‘์˜ ์ƒ์ž๋ฅผ ํ•˜๋‚˜ ๊ฐ€์ง€๊ณ  ์žˆ๋Š”๋ฐ ์ด ์ƒ์ž์— ์ •์œก๋ฉด์ฒด ๋ชจ์–‘์˜ ์ฃผ์‚ฌ์œ„๋ฅผ ์ตœ๋Œ€ํ•œ ๋งŽ์ด ์ฑ„์šฐ๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ์ƒ์ž์˜ ๊ฐ€๋กœ, ์„ธ๋กœ, ๋†’์ด๊ฐ€ ์ €์žฅ๋˜์–ด์žˆ๋Š” ๋ฐฐ์—ด box์™€ ์ฃผ์‚ฌ์œ„ ๋ชจ์„œ๋ฆฌ์˜ ๊ธธ์ด ์ •์ˆ˜ n์ด ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์กŒ์„ ๋•Œ, ์ƒ์ž์— ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ๋Š” ์ฃผ์‚ฌ์œ„์˜ ์ตœ๋Œ€ ๊ฐœ์ˆ˜๋ฅผ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”.

read more

promise๋ฅผ ๊ณต๋ถ€ํ•˜๋‹ค

promise๋Š” ์ฝœ๋ฐฑ(callback) ์ง€์˜ฅ์— ๋น ์ง€์ง€ ์•Š๊ฒŒ ๋„์™€์ฃผ๋Š” ์œ ์šฉํ•œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ object์ด๋‹ค. (=์ฝ”๋“œ๋ฅผ ๊ฐ„๊ฒฐํ•˜๊ฒŒ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ค€๋‹ค.) ๋ฏธ๋ž˜์˜ ์–ด๋–ค ์‹œ์ ์— ๊ฒฐ๊ณผ๋ฅผ ์ œ๊ณตํ•˜๊ฒ ๋‹ค๋Š” โ€˜์•ฝ์†โ€™์„ ํ•œ๋‹ค. promise๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด state(์ƒํƒœ)๋Š” ์ž ์‹œ ๋Œ€๊ธฐ(pending)๋˜์—ˆ๋‹ค๊ฐ€ ์„ฑ๊ณตํ•˜๋ฉด fulfilled, ์‹คํŒจํ•˜๋ฉด rejected๋กœ ๋ฐ”๋€๋‹ค.

image

read more

์šฐํ…Œ์ฝ” ํ”„๋ฆฌ์ฝ”์Šค 2์ฃผ์ฐจ๋ฅผ ํ•˜๋ฉด์„œ

1์ฃผ์ฐจ๋Š” ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ๋ฅผ ํ•œ๋‹ค๋Š” ์ƒ๊ฐ์œผ๋กœ ์ž„ํ–ˆ๋Š”๋ฐ 2์ฃผ์ฐจ๋Š”โ€ฆ ์ง„์งœ ์–ด๋–ป๊ฒŒ ํ•ด์•ผํ•  ์ง€ ๊ฐ๋„ ์•ˆ ์™”๋‹ค. ์ผ๋‹จ class๋ผ๋Š” ๊ฒƒ์„ ์ฒ˜์Œ๋ดค๋‹ค. ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋„ ์ฒ˜์Œ ๋ณด๊ณ  eslint๋„ ์ฒ˜์Œ ๋“ค์–ด๋ดค๋‹ค. ์œ ํ‹ธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋ผ๊ณ  ํ•˜๋Š”๋ฐ ์ด๊ฒƒ๋„ ์—ญ์‹œ ์ฒ˜์Œ ์‚ฌ์šฉํ•ด๋ณธ๋‹ค ๐Ÿ˜ญ ์ฒ˜์Œ์ธ ๊ฒŒ ๋„ˆ๋ฌด ๋งŽ์•„์„œ ์ผ๋‹จ์€ class ๊ฐ•์˜๋ฅผ ๋“ฃ๊ธฐ๋กœ ํ–ˆ๋‹ค.

read more

์ •์ˆ˜ โ†’ ๋ฌธ์ž๋กœ ๊ต์ฒดํ•˜๊ธฐ, while if ๋ฌธ, ๋ฐฐ์—ด ํšŒ์ „ํ•˜๊ธฐ

์™ธ๊ณ„ํ–‰์„ฑ์˜ ๋‚˜์ด

PROGRAMMERS-962 ํ–‰์„ฑ์—์„œ๋Š” ๋‚˜์ด๋ฅผ ์•ŒํŒŒ๋ฒณ์œผ๋กœ ๋งํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. a๋Š” 0, b๋Š” 1, c๋Š” 2, โ€ฆ, j๋Š” 9์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด 23์‚ด์€ cd, 51์‚ด์€ fb๋กœ ํ‘œํ˜„ํ•ฉ๋‹ˆ๋‹ค. ๋‚˜์ด age๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ PROGRAMMER-962์‹ ๋‚˜์ด๋ฅผ returnํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”.

read more

์˜์–ด ์ฑŒ๋ฆฐ์ง€์™€ ์šฐํ…Œ์ฝ” ํ”„๋ฆฌ์ฝ”์Šค๊ฐ€ ๊ฒน์ณค๋‹ค.

์˜์–ด ์ฑŒ๋ฆฐ์ง€๋Š” 30์ผ ์•ˆ์— ์ „ํ™”์˜์–ด ์ˆ˜์—…(20๋ถ„)์„ ์ด 100ํšŒ ๋“ค์œผ๋ฉด ๋˜๋Š” ๊ฒƒ์ด๋‹ค. ์•„๋ฌด ์ƒ๊ฐ ์—†์ด ๋„์ „ํ–ˆ๋‹ค๊ฐ€ ์šฐํ…Œ์ฝ” ํ”„๋ฆฌ์ฝ”์Šค๋ž‘ ๋”ฑ ๊ฒน์น˜๊ณ  ๋ง์•˜๋‹ค. ๐Ÿ˜‚ ๊ทธ๋ž˜๋„ 3, 4์ฃผ์ฐจ์— ์•ˆ ๊ฒน์ณ์„œ ๋‹คํ–‰์ด๋‹คโ€ฆ!

read more

์šฐํ…Œ์ฝ” ํ”„๋ฆฌ์ฝ”์Šค 1์ฃผ์ฐจ๋ฅผ ํ•˜๋ฉด์„œ

์•Œ๊ณ ๋ฆฌ์ฆ˜

๋ฐฐ์šฐ๋Š” ๊ฒŒ ์ •~๋ง ๋งŽ๋‹ค. ์ ์‘ํ•˜๋ผ๋Š” ์˜๋ฏธ๋กœ ๊ฐ€๋ฒผ์šด(?) ๋ฌธ์ œ๋ฅผ ๋ƒˆ๋‹ค๊ณ  ํ–ˆ๋Š”๋ฐโ€ฆ ์‰ฝ์ง€ ์•Š๋‹ค. ๐Ÿ˜‚ 1 ~ 2์ฃผ ์ „๋ถ€ํ„ฐ ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ ๋Œ€๋น„ ๊ณต๋ถ€๋ฅผ ํ•˜์ง€ ์•Š์•˜๋‹ค๋ฉด ํฐ์ผ๋‚  ๋ป”ํ–ˆ๋‹ค. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์—์„œ ๋ฌธ์ œ๋ฅผ ์กฐ๊ธˆ์ด๋ผ๋„ ํ’€์—ˆ๋˜ ๊ฒŒ ๋งŽ์€ ๋„์›€์ด ๋˜์—ˆ๋‹ค.


๊นƒ

๊ทธ๋ฆฌ๊ณ  ๊ธฐ๋Šฅ ๋ณ„๋กœ ๊นƒ ์ปค๋ฐ‹ํ•˜๋Š” ๊ฒƒ๋„ ์‹ ๊ธฐํ–ˆ๋‹ค. ๊ธฐ๋Šฅ ๋ณ„๋กœ ์ปค๋ฐ‹ํ•˜๋ฉด ์œ ์ง€ ๋ณด์ˆ˜, ํ˜‘์—…ํ•˜๊ธฐ ํŽธํ•˜๊ฒ ๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ๋‹ค. ์ƒ๊ฐ ์—†์ด ๋ƒ…๋‹ค ์ปค๋ฐ‹ํ–ˆ๋˜ ์ง€๋‚œ ๋‹ฌ๋“ค์ด์—ฌโ€ฆ๐Ÿ˜… ์•ž์œผ๋กœ๋Š” ํ˜ผ์ž ๊นƒํ—ˆ๋ธŒ ์“ธ ๋•Œ๋„ ์‹ ๊ฒฝ์จ์•ผ๊ฒ ๋‹ค. ์ข‹์€ ์Šต๊ด€์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด! ๐Ÿ’ช

read more

๋‚˜๋จธ์ง€๊ฐ€ 1์ด ๋˜๋Š” ์ˆ˜, ๋ฐฐ์ˆ˜ ๊ตฌํ•˜๊ธฐ, ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌ, 369

๋‚˜๋จธ์ง€๊ฐ€ 1์ด ๋˜๋Š” ์ˆ˜ ์ฐพ๊ธฐ

์ž์—ฐ์ˆ˜ n์ด ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค. n์„ x๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๊ฐ€ 1์ด ๋˜๋„๋ก ํ•˜๋Š” ๊ฐ€์žฅ ์ž‘์€ ์ž์—ฐ์ˆ˜ x๋ฅผ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”. ๋‹ต์ด ํ•ญ์ƒ ์กด์žฌํ•จ์€ ์ฆ๋ช…๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

3 โ‰ค n โ‰ค 1,000,000

read more

ํ•˜์ƒค๋“œ ์ˆ˜(๊ฐ ์ž๋ฆฟ์ˆ˜์˜ ํ•ฉ), ๋ฌธ์ž โ†’ ์ •์ˆ˜, ์ค‘๋ณต ๋ฌธ์ž ์ œ๊ฑฐ

ํ•˜์ƒค๋“œ ์ˆ˜ (Harshad number)

์–‘์˜ ์ •์ˆ˜ x๊ฐ€ ํ•˜์ƒค๋“œ ์ˆ˜์ด๋ ค๋ฉด x์˜ ์ž๋ฆฟ์ˆ˜์˜ ํ•ฉ์œผ๋กœ x๊ฐ€ ๋‚˜๋ˆ„์–ด์ ธ์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด 18์˜ ์ž๋ฆฟ์ˆ˜ ํ•ฉ์€ 1+8=9์ด๊ณ , 18์€ 9๋กœ ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€๋ฏ€๋กœ 18์€ ํ•˜์ƒค๋“œ ์ˆ˜์ž…๋‹ˆ๋‹ค. ์ž์—ฐ์ˆ˜ x๋ฅผ ์ž…๋ ฅ๋ฐ›์•„ x๊ฐ€ ํ•˜์ƒค๋“œ ์ˆ˜์ธ์ง€ ์•„๋‹Œ์ง€ ๊ฒ€์‚ฌํ•˜๋Š” ํ•จ์ˆ˜, solution์„ ์™„์„ฑํ•ด์ฃผ์„ธ์š”.

read more

์ˆซ์ž ๋ฐฐ์—ด ์ •๋ ฌ, ํŠน์ • ๋ฌธ์ž์˜ ๊ฐœ์ˆ˜, ๋ฌธ์ž ๊ต์ฒด(swap), ๊ฐ€์œ„๋ฐ”์œ„๋ณด ๋“ฑ

๋ฌธ์ž์—ด ์ •๋ ฌํ•˜๊ธฐ(์ˆซ์ž๋งŒ ๊ณจ๋ผ ์ •๋ ฌ)

๋ฌธ์ž์—ด my_string์ด ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, my_string ์•ˆ์— ์žˆ๋Š” ์ˆซ์ž๋งŒ ๊ณจ๋ผ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ•œ ๋ฆฌ์ŠคํŠธ๋ฅผ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•ด๋ณด์„ธ์š”.

function solution(my_string) {;
    return my_string.match(/\d/g).map(n=>Number(n)).sort((a,b)=>a-b);
}

๋‚˜๋Š” match๋ฅผ ์ด์šฉํ•ด ์ˆซ์ž๋งŒ ๊ณจ๋ผ๋‚ธ ๋‹ค์Œ, Number๋กœ ๋ฌธ์žํ˜•์„ ์ˆซ์žํ˜•์œผ๋กœ ๋ฐ”๊พธ๊ณ  sort๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ์„ ํ•ด์ฃผ์—ˆ๋‹ค.

read more

๋Œ€๋ฌธ์ž โ†” ์†Œ๋ฌธ์ž, ์ œ๊ณฑ๊ทผ ํŒ๋ณ„

์™œโ€ฆ ๋ ˆ๋ฒจ 0์ด ๋ ˆ๋ฒจ 1๋ณด๋‹ค ์–ด๋ ต์ง€โ€ฆ? ์•ˆ ํ’€๋ฆฌ๋Š” ๋ฌธ์ œ๋Š” ์ผ๋‹จ ๊ฑด๋„ˆ๋›ฐ๊ณ  ํ’€๋ฆฌ๋Š” ๋ฌธ์ œ๋ถ€ํ„ฐ ํ’€์—ˆ๋‹ค.

๋Œ€๋ฌธ์ž์™€ ์†Œ๋ฌธ์ž

๋ฌธ์ž์—ด my_string์ด ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, ๋Œ€๋ฌธ์ž๋Š” ์†Œ๋ฌธ์ž๋กœ ์†Œ๋ฌธ์ž๋Š” ๋Œ€๋ฌธ์ž๋กœ ๋ณ€ํ™˜ํ•œ ๋ฌธ์ž์—ด์„ returnํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”.

function solution(my_string) {
    return Array.from(my_string,x => x === x.toUpperCase() ? x.toLowerCase() : x.toUpperCase()).join("");
}
read more

์ตœ์†Œ ๊ฐœ์ˆ˜ ๊ตฌํ•˜๊ธฐ, ์›ํ•˜๋Š” ์ˆซ์ž ์ฐพ๊ธฐ(indexOf), ์ˆœ์„œ์Œ(์•ฝ์ˆ˜)์˜ ๊ฐœ์ˆ˜ ๊ตฌํ•˜๊ธฐ

๊ฐœ๋ฏธ๊ตฐ๋‹จ

๊ฐœ๋ฏธ ๊ตฐ๋‹จ์ด ์‚ฌ๋ƒฅ์„ ๋‚˜๊ฐ€๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๊ฐœ๋ฏธ๊ตฐ๋‹จ์€ ์‚ฌ๋ƒฅ๊ฐ์˜ ์ฒด๋ ฅ์— ๋”ฑ ๋งž๋Š” ๋ณ‘๋ ฅ์„ ๋ฐ๋ฆฌ๊ณ  ๋‚˜๊ฐ€๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์žฅ๊ตฐ๊ฐœ๋ฏธ๋Š” 5์˜ ๊ณต๊ฒฉ๋ ฅ์„, ๋ณ‘์ •๊ฐœ๋ฏธ๋Š” 3์˜ ๊ณต๊ฒฉ๋ ฅ์„ ์ผ๊ฐœ๋ฏธ๋Š” 1์˜ ๊ณต๊ฒฉ๋ ฅ์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์ฒด๋ ฅ 23์˜ ์—ฌ์น˜๋ฅผ ์‚ฌ๋ƒฅํ•˜๋ ค๊ณ  ํ•  ๋•Œ, ์ผ๊ฐœ๋ฏธ 23๋งˆ๋ฆฌ๋ฅผ ๋ฐ๋ฆฌ๊ณ  ๊ฐ€๋„ ๋˜์ง€๋งŒ, ์žฅ๊ตฐ๊ฐœ๋ฏธ ๋„ค ๋งˆ๋ฆฌ์™€ ๋ณ‘์ •๊ฐœ๋ฏธ ํ•œ ๋งˆ๋ฆฌ๋ฅผ ๋ฐ๋ฆฌ๊ณ  ๊ฐ„๋‹ค๋ฉด ๋” ์ ์€ ๋ณ‘๋ ฅ์œผ๋กœ ์‚ฌ๋ƒฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ๋ƒฅ๊ฐ์˜ ์ฒด๋ ฅ hp๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, ์‚ฌ๋ƒฅ๊ฐ์˜ ์ฒด๋ ฅ์— ๋”ฑ ๋งž๊ฒŒ ์ตœ์†Œํ•œ์˜ ๋ณ‘๋ ฅ์„ ๊ตฌ์„ฑํ•˜๋ ค๋ฉด ๋ช‡ ๋งˆ๋ฆฌ์˜ ๊ฐœ๋ฏธ๊ฐ€ ํ•„์š”ํ•œ์ง€๋ฅผ returnํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”.

= ์ •์ˆ˜ n์„ ๋งŒ๋“ค ๋•Œ ํ•„์š”ํ•œ 5, 3, 1์˜ ์ตœ์†Œ ๊ฐœ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค.

read more

๋ฌธ์ž ๋ฐ˜๋ณต, ๋ชจ์Œ ์ œ๊ฑฐ, ์ˆซ์ž๋งŒ ๊ณจ๋ผ ํ•ฉํ•˜๊ธฐ

๋ฌธ์ž ๋ฐ˜๋ณต ์ถœ๋ ฅํ•˜๊ธฐ

๋ฌธ์ž์—ด my_string๊ณผ ์ •์ˆ˜ n์ด ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, my_string์— ๋“ค์–ด์žˆ๋Š” ๊ฐ ๋ฌธ์ž๋ฅผ n๋งŒํผ ๋ฐ˜๋ณตํ•œ ๋ฌธ์ž์—ด์„ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด๋ณด์„ธ์š”.

function solution(my_string, n) {
    return my_string.split("").map((x)=>x.repeat(n)).join("");
}
read more

ํด๋ž˜์Šคํ˜• ์ปดํฌ๋„ŒํŠธ ํ•จ์ˆ˜ํ˜• ์ปดํฌ๋„ŒํŠธ๋กœ ๋ฐ”๊พธ๊ธฐ

๋ฆฌ์•กํŠธ ์Šคํ„ฐ๋”” 1์ฃผ ์ฐจ ๊ณต๋ถ€ ์™„๋ฃŒ์—์„œ ๋งํ•œ๋Œ€๋กœ โ€• โ€œClassํ˜• ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋ณด์ˆ˜ํ•ด์•ผํ•  ์ผ์ด ์ƒ๊ธธ ์ˆ˜๋„ ์žˆ์œผ๋‹ˆ Classํ˜• ์ปดํฌ๋„ŒํŠธ๋ฅผ ํ•จ์ˆ˜ํ˜• ์ปดํฌ๋„ŒํŠธ๋กœ ๋ฐ”๊พธ๋Š” ๊ฒƒ๋„ ๊ณต๋ถ€ํ•˜๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™๋‹ค.โ€ โ€• ํด๋ž˜์Šค ์ปดํฌ๋„ŒํŠธ๋ฅผ ํ•จ์ˆ˜ํ˜• ์ปดํฌ๋„ŒํŠธ๋กœ ๋ฐ”๊พธ๋Š” ์—ฐ์Šต์„ ํ–ˆ๋‹ค.

read more

๊ฐ ์ž๋ฆฟ์ˆ˜์˜ ํ•ฉ, ๊ฐ€์žฅ ํฐ ์ˆ˜์™€ ๊ทธ ๋‹ค์Œ์œผ๋กœ ํฐ ์ˆ˜ ์ฐพ๊ธฐ, ํŠน์ • ๋ฌธ์ž ์ œ๊ฑฐ

์ž๋ฆฟ์ˆ˜ ๋”ํ•˜๊ธฐ

์ž์—ฐ์ˆ˜ N์ด ์ฃผ์–ด์ง€๋ฉด, N์˜ ๊ฐ ์ž๋ฆฟ์ˆ˜์˜ ํ•ฉ์„ ๊ตฌํ•ด์„œ return ํ•˜๋Š” solution ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค์–ด ์ฃผ์„ธ์š”. ์˜ˆ๋ฅผ๋“ค์–ด N = 123์ด๋ฉด 1 + 2 + 3 = 6์„ return ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

read more

๊ฐ€์žฅ ํฐ ์ˆ˜ ์ฐพ๊ธฐ, ์ค‘์•™๊ฐ’, ์ œ๊ณฑ์ˆ˜, ๋ฌธ์ž์—ด ์ •๋ ฌ

๊ฐ€์žฅ ํฐ ์ˆ˜ ์ฐพ๊ธฐ

function solution(array) {
    const max = Math.max(...array);
    return [max, array.indexOf(max)];
}

Math.max๋กœ ๊ฐ€์žฅ ํฐ ์ˆ˜๋ฅผ ์ฐพ๊ณ , indexOf๋กœ ์ธ๋ฑ์Šค ๋ฒˆํ˜ธ๋ฅผ ์ฐพ์•˜๋‹ค.

read more

ํ• ์ธ, ๋ฐฐ์—ด ๋‹ค์‹œ ์ •๋ ฌ(sort), ์ค‘๋ณต ๋ฐฐ์—ด ์—†์• ๊ธฐ

์˜ท๊ฐ€๊ฒŒ ํ• ์ธ ๋ฐ›๊ธฐ

๋จธ์“ฑ์ด๋„ค ์˜ท๊ฐ€๊ฒŒ๋Š” 10๋งŒ ์› ์ด์ƒ ์‚ฌ๋ฉด 5%, 30๋งŒ ์› ์ด์ƒ ์‚ฌ๋ฉด 10%, 50๋งŒ ์› ์ด์ƒ ์‚ฌ๋ฉด 20%๋ฅผ ํ• ์ธํ•ด์ค๋‹ˆ๋‹ค. ๊ตฌ๋งคํ•œ ์˜ท์˜ ๊ฐ€๊ฒฉ price๊ฐ€ ์ฃผ์–ด์งˆ ๋•Œ, ์ง€๋ถˆํ•ด์•ผ ํ•  ๊ธˆ์•ก์„ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด๋ณด์„ธ์š”.

function solution(price) {
    return Math.floor(price >= 500000 ? price-price/5 : price >= 300000 ? price-price/10 : price >= 100000 ? price-price/20 : price);
}
read more

์‚ผํ•ญ ์—ฐ์‚ฐ์ž, ์˜ค๋ฆ„์ฐจ์ˆœ ๋ฐฐ์—ด, ์•ฝ์ˆ˜์˜ ํ•ฉ ๋“ฑ

์ ์˜ ์œ„์น˜ ๊ตฌํ•˜๊ธฐ (์‚ผํ•ญ์—ฐ์‚ฐ์ž)

function solution(dot) {
    const x = dot[0];
    const y = dot[1];
    return x>0 && y>0 ? 1 : x<0 && y>0 ? 2 : x<0 && y<0 ? 3 : 4;
}
read more

์œ ์šฉํ•œ ๊ฐœ๋ฐœํˆด(F12)

F12 > Experiments ํƒญ - overview ๋˜๋Š” ์„ค์ • ์˜† ์  3๊ฐœ - more tools - css overview

โ€” ํ™ˆํŽ˜์ด์ง€์— ์‚ฌ์šฉ๋œ ์ปฌ๋Ÿฌ, ํฐํŠธ ๋“ฑ ๊ฐ„ํŽธํ•˜๊ฒŒ ํ™•์ธ ๊ฐ€๋Šฅ

read more

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์—์„œ ์ฒซ ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ

๋‚˜๋„ ์ด์ œ ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ ๊ณต๋ถ€๋ฅผ ํ•ด๋ด์•ผ๊ฒ ๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค์–ด ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์— ๋“ค์–ด๊ฐ€ ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ๋ฅผ ํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ๋‹ค. ์•„์ง ์ž…๋ฌธ์ด๋ผ ์žฌ๋ฐŒ๊ณ , ๋‹ค๋ฅธ ์‚ฌ๋žŒ ํ’€์ด ์ฝ”๋“œ ๋ณด๋Š” ๊ฒƒ๋„ ํฅ๋ฏธ๋กญ๋‹ค. โ€˜์–ด๋–ป๊ฒŒ ์ €๋ ‡๊ฒŒ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ์ƒ๊ฐ์„ ํ–ˆ์„๊นŒ?โ€™ ์‹ ๊ธฐํ•˜๊ธฐ๋„ ํ–ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์˜ค๋Š˜ ํ‘ผ ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ ์ค‘์— ํฅ๋ฏธ๋กœ์šด ํ’€์ด๋ฅผ ๋ธ”๋กœ๊ทธ์— ๊ธฐ๋กํ•ด ๋ณด๊ธฐ๋กœ ํ–ˆ๋‹ค.

read more

DOCTYPE, data- ์†์„ฑ, ํ‘œ์ค€๋ชจ๋“œ์™€ ํ˜ธํ™˜๋ชจ๋“œ

Doctype์ด๋ž€?

Document type์˜ ์•ฝ์ž, html์ด ์–ด๋–ค ๋ฒ„์ „์œผ๋กœ ์„ ์–ธ๋˜์—ˆ๋Š”์ง€ ์›น ๋ธŒ๋ผ์šฐ์ €์—๊ฒŒ ์•Œ๋ ค์ฃผ๋Š” ๊ฒƒ.
์ด๋ฅผ ์„ ์–ธํ•ด์ฃผ์ง€ ์•Š์œผ๋ฉด ํ˜ธํ™˜๋ชจ๋“œ๋กœ ์ž‘๋™ํ•˜๋Š”๋ฐ ๊ทธ๋Ÿฌ๋ฉด ํฌ๋กœ์Šค ๋ธŒ๋ผ์šฐ์ง• ์ด์Šˆ๊ฐ€ ํ›จ์”ฌ ์‹ฌํ•ด์ง„๋‹ค.
(ํ˜ธํ™˜๋ชจ๋“œ์˜ ๊ฒฝ์šฐ ๊ฐ ๋ธŒ๋ผ์šฐ์ €๋งˆ๋‹ค ๋ฌธ์„œ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฐฉ์‹์ด ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ)
์š”์ฆ˜์€ html5์˜ dtd(Document Type Definition)๋กœ doctype์„ ์„ ์–ธ โ†’ < !Doctype html >

read more

์‹œ๋งจํ‹ฑ ๋งˆํฌ์—…์ด๋ž€?

โ€˜์‹œ๋งจํ‹ฑ ํƒœ๊ทธโ€™๋Š” ์˜๋ฏธ๊ฐ€ ์žˆ๋Š” ํƒœ๊ทธ๋กœ, ๋ณด๋Š” ์‚ฌ๋žŒ์ด ํƒœ๊ทธ์˜ ์ด๋ฆ„๋งŒ ๋ณด๊ณ ๋„ ์–ด๋–ค ํƒœ๊ทธ์ธ์ง€ ์•Œ ์ˆ˜ ์žˆ๊ฒŒ ํ•œ๋‹ค. ์ด๋Ÿฌํ•œ ์‹œ๋งจํ‹ฑ ํƒœ๊ทธ๋ฅผ ์ ์ ˆํ•˜๊ฒŒ ์‚ฌ์šฉํ•ด ๋ฌธ์„œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ์„ ์‹œ๋งจํ‹ฑ ๋งˆํฌ์—…์ด๋ผ๊ณ  ํ•œ๋‹ค.

read more

CSS animation vs JS animation

๐Ÿค” ๊ฐ๊ฐ ์–ด๋–ค ์†์„ฑ์„ ์‚ฌ์šฉํ•˜๋Š”๊ฐ€?

CSS :ย transitionย ย  animation
JS : setInterval()ย ย  requestAnimationFrame()ย 


CSS ์• ๋‹ˆ๋ฉ”์ด์…˜ ์žฅ์ 

read more

๋ฆฌ์•กํŠธ ์Šคํ„ฐ๋”” 1์ฃผ ์ฐจ ๊ณต๋ถ€ ์™„๋ฃŒ

์ธํ”„๋Ÿฐ์—์„œ โ€˜์ฒ˜์Œ ๋งŒ๋‚œ ๋ฆฌ์•กํŠธโ€™ ๊ฐ•์˜ ์„น์…˜ 1๋ถ€ํ„ฐ ์„น์…˜ 9๊นŒ์ง€ ๋“ฃ๊ณ  ๋ชจ๋“  ์‹ค์Šต์„ ๋๋‚ด๋Š” ๊ฒƒ์ด ๋ฆฌ์•กํŠธ ์Šคํ„ฐ๋”” 1์ฃผ ์ฐจ ๋ถ„๋Ÿ‰์ด์—ˆ๋‹ค. ๋ฆฌ์•กํŠธ๋ฅผ ์ฒ˜์Œ ๊ณต๋ถ€ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋‹ˆ โ€• ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ์„ธํŒ…, ๋ฆฌ์•กํŠธ ์†Œ๊ฐœ, ๋ฆฌ์•กํŠธ ์—ฐ๋™ ๋“ฑ์˜ ๋‚ด์šฉ์ธ โ€• ์„น์…˜ 0๋ถ€ํ„ฐ ์„น์…˜ 2๊นŒ์ง€๋Š” ๊ทธ๋ƒฅ ๋„˜์–ด๊ฐ€๊ธฐ๋กœ ํ–ˆ๋‹ค. (JSX์— ๋Œ€ํ•ด ์•Œ๋ ค์ฃผ๋Š” ์„น์…˜ 3๋Š” ๋ณต์Šตํ•˜๋Š” ๋งˆ์Œ์œผ๋กœ ๋“ค์—ˆ๋‹ค.)

read more

์ฒซ ์˜คํ”ˆ ์†Œ์Šค ๊ธฐ์—ฌ, ์ข‹์€ ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€ ์ž‘์„ฑ๋ฒ•

๋ฆฌ์•กํŠธ ๊ณต๋ถ€๋ฅผ ํ•˜๋ฉด์„œ ๊ณต์‹ ๋ฌธ์„œ๋ฅผ ์ฝ๋‹ค๊ฐ€ ๋ฌธ๋“ ํ•œ๊ตญ์–ด ๋ฒˆ์—ญ์ด ๊ถ๊ธˆํ•ด์„œ ํ•œ๊ตญ์–ด ๋ฒ„์ „์„ ๋ˆŒ๋ €๋‹ค.
๋ฆฌ์•กํŠธ-์—˜๋ฆฌ๋จผํŠธ ๋ Œ๋”๋ง ๐Ÿ‘ˆ
์–ด๐Ÿ˜ฎ ๊ทธ๋Ÿฐ๋ฐ ํ•œ ๋ฌธ์žฅ์ด ๋ฒˆ์—ญ์ด ์•ˆ ๋˜์–ด ์žˆ์—ˆ๋‹ค. ์ด๋ฒˆ ๊ธฐํšŒ์— ์˜คํ”ˆ ์†Œ์Šค์— ๊ธฐ์—ฌ๋ฅผ ํ•ด๋ณด๊ณ ์ž ์˜คํ”ˆ ์†Œ์Šค ๊ธฐ์—ฌ ๋ฐฉ๋ฒ•์„ ๊ฒ€์ƒ‰ํ–ˆ๋‹ค.

์ฃผ๋‹ˆ์–ด ๊ฐœ๋ฐœ์ž๊ฐ€ ์˜คํ”ˆ ์†Œ์Šค ๊ธฐ์—ฌํ•˜๋Š” ๋ฐฉ๋ฒ•
์œ„ ๋ธ”๋กœ๊ทธ๋ฅผ ์ฐพ์•˜๊ณ , ์ƒ์„ธํ•˜๊ฒŒ ์ž˜ ์„ค๋ช…๋˜์–ด ์žˆ์–ด ๋•๋ถ„์— ์ฒซ ์˜คํ”ˆ ์†Œ์Šค ๊ธฐ์—ฌ๋ฅผ ์„ฑ๊ณต์ ์œผ๋กœ ๋งˆ์น  ์ˆ˜ ์žˆ์—ˆ๋‹ค! ๋‚˜๋Š” ๋ธ”๋กœ๊ทธ๋ฅผ ์ฐธ๊ณ ํ•˜์—ฌ ์•„๋ž˜์™€ ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ ๊ธฐ์—ฌ๋ฅผ ํ–ˆ๋‹ค.

read more

JSX์™€ Elements, ๋ฆฌ์•กํŠธ๋กœ ์‹œ๊ณ„ ๋งŒ๋“ค๊ธฐ

๋ฆฌ์•กํŠธ ๊ธฐ์ดˆ์—์„œ Component์™€ props, State๋Š” ์ •๋ฆฌํ•œ ์ ์ด ์žˆ๋Š”๋ฐ JSX์™€ Element์— ๋Œ€ํ•ด์„œ๋Š” ์ •๋ฆฌํ•œ ์ ์ด ์—†์–ด ๋จผ์ € ์ด๋ก ์„ ํ™•์‹คํ•˜๊ฒŒ ์ดํ•ดํ•˜๊ณ  ๋„˜์–ด๊ฐ€๊ณ ์ž ํ•œ๋‹ค.

JSX๋ž€?

JavaScript Syntax Extension์˜ ์•ฝ์ž๋กœ JavaScript XML์ด๋ผ๊ณ ๋„ ๋ถˆ๋ฆฐ๋‹ค. ์‰ฝ๊ฒŒ ๋งํ•ด JSX๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์™€ HTML์ด ๊ฒฐํ•ฉ๋œ ๊ฒƒ์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ธŒ๋ผ์šฐ์ € ์‹คํ–‰ ์ „, ๋ฐ”๋ฒจ(Babel)์ด JSX๋กœ ์ž‘์„ฑ๋œ ์ฝ”๋“œ๋ฅผ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ฝ”๋“œ๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค.
๊ทธ๋Ÿผ ์™œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์•„๋‹Œ JSX๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ผ๊นŒ?
๋ฆฌ์•กํŠธ์—์„œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ฌธ๋ฒ• ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉํ•ด HTML์„ ์ƒ์„ฑํ•  ๊ฒฝ์šฐ, ๊ฐ€๋…์„ฑ์ด ์ข‹์ง€ ์•Š๊ณ  ์ฝ”๋“œ๊ฐ€ ๊ธธ์–ด์ง€๊ธฐ ๋•Œ๋ฌธ์— ๋Œ€๋ถ€๋ถ„ JSX๋ฅผ ์ด์šฉํ•˜์—ฌ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•œ๋‹ค.

read more

์Šคํ„ฐ๋””์›, ์Šคํ„ฐ๋””์žฅ์œผ๋กœ์„œ

์Šคํ„ฐ๋””์›

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ณต์Šต์„ ์œ„ํ•ด ๋…ธ๋งˆ๋“œ ์ฝ”๋”์˜ ๋ฐ”๋‹๋ผ JS ์ฑŒ๋ฆฐ์ง€์— ์ฐธ์—ฌํ–ˆ๊ณ , CS ์ง€์‹๊ณผ ํ”„๋ก ํŠธ์—”๋“œ ์ด๋ก  ๊ณต๋ถ€๋ฅผ ์œ„ํ•ด ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ์ž ์Šคํ„ฐ๋””์— ๋“ค์–ด๊ฐ”๋‹ค! ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ์ž ์Šคํ„ฐ๋””๋Š” ๋งค์ฃผ 2ํšŒ, ๊ฐ์ž ์ค€๋น„ํ•œ ์งˆ๋ฌธ์„ ์„œ๋กœ์—๊ฒŒ ํ•˜๋ฉด ๋Œ€๋‹ตํ•˜๋Š” ์‹์œผ๋กœ ์ง„ํ–‰๋˜์—ˆ๋‹ค.

ํ™•์‹คํžˆ ์Šคํ„ฐ๋””์›์€ ๋ถ€๋‹ด์ด ์—†๋‹ค. ์ž˜ ๋งŒ๋“ค์–ด์ง„ ์Šคํ„ฐ๋””์˜ ๊ฒฝ์šฐ, ์ •ํ•ด์ ธ ์žˆ๋Š” ๋ฐฉ์‹์„ ๊ทธ๋Œ€๋กœ ์ž˜ ๋”ฐ๋ผ๊ฐ€๊ธฐ๋งŒ ํ•˜๋ฉด ๋œ๋‹ค. ๋งค๋ฒˆ ์ œ์‹œ๊ฐ„์— ์ถœ์„ํ•˜๊ณ , ๋Œ€๋‹ต ์ž˜ ํ•˜๋ฉด ์ข‹์€ ์Šคํ„ฐ๋””์›์ด๊ณ , ์—ฌ๊ธฐ์—๋‹ค๊ฐ€ ์ถ”๊ฐ€๋กœ ์ ๊ทน์ ์œผ๋กœ ์ข‹์€ ์˜๊ฒฌ์„ ๋‚ด๋ฉด ์™„๋ฒฝํ•œ ์Šคํ„ฐ๋””์›์ด๋‹ค. ์ƒ๊ฐํ•ด ๋ณด๋‹ˆโ€ฆ ํšŒ์‚ฌ์—์„œ๋„ ์ด๋Ÿฐ ํŒ€์›์„ ์ข‹์•„ํ•  ๊ฒƒ ๊ฐ™๋‹ค.๐Ÿ˜‚

read more

2022๋…„ 9์›” ํšŒ๊ณ 

8์›” ๋ง๋ถ€ํ„ฐ ์›น ํผ๋ธ”๋ฆฌ์…”๊ฐ€ ์•„๋‹Œ ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋˜๊ธฐ ์œ„ํ•ด ๋…ํ•™์„ ์‹œ์ž‘ํ–ˆ๋‹ค.

[๋“œ๋ฆผ์ฝ”๋”ฉ] ํ”„๋ก ํŠธ์—”๋“œ ์ž…๋ฌธ ๊ฐ•์˜ โ†’ [๋…ธ๋งˆ๋“œ ์ฝ”๋”] ๋ฐ”๋‹๋ผ JS๋กœ ํฌ๋กฌ ์•ฑ ๋งŒ๋“ค๊ธฐ โ†’ [๋…ธ๋งˆ๋“œ ์ฝ”๋”] ๋ฐ”๋‹๋ผ JS๋กœ ๊ทธ๋ฆผ ์•ฑ ๋งŒ๋“ค๊ธฐ โ†’ [๋…ธ๋งˆ๋“œ ์ฝ”๋”] ๋ฆฌ์•กํŠธ JS๋กœ ์˜ํ™” ์›น ์„œ๋น„์Šค ๋งŒ๋“ค๊ธฐ

9์›” ๊ฐ„ ์ด๋ ‡๊ฒŒ ์™„๊ฐ• + ํ”„๋กœ์ ํŠธ ๋งŒ๋“ค๊ธฐ๋ฅผ ํ–ˆ๋Š”๋ฐ ๋ชฐ๋ž๋˜ ์ง€์‹๊ณผ ๊ธฐ์ˆ ๋“ค์„ ๋งŽ์ด ์•Œ๊ฒŒ ๋ผ์„œ ๋ณด๋žŒ์ฐผ๋‹ค. ๊ฐ•์˜๋ฅผ ๋“ฃ๊ณ  ์ง€์‹์„ ์–ป๋Š” ๊ฒƒ๋งŒ์œผ๋กœ ๋๋‚ด์ง€ ์•Š๊ณ  ๋ฐฐ์šด ์ง€์‹์„ ๋ฐ”ํƒ•์œผ๋กœ ๊ฐœ์ธ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋‹ˆ ์—„์ฒญ๋‚œ ๋„์›€์ด ๋๋‹ค. ๋ฌด๋ฃŒ ๊ฐ•์˜์ž„์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ์–‘์งˆ์˜ ๊ฐ•์˜๋ผ ์ฝ”๋”ฉ์„ ๋ฐฐ์šฐ๊ณ  ์‹ถ์€ ์‚ฌ๋žŒ์ด ์žˆ๋‹ค๋ฉด ์œ„์˜ ๊ฐ•์˜๋“ค์„ ์ ๊ทน ์ถ”์ฒœํ•ด ์ฃผ๊ณ  ์‹ถ๋‹ค. ์ด์ œ ๋…ธ๋งˆ๋“œ ์ฝ”๋” ๊ฐ•์˜ ์ค‘์—์„œ (๋‚ด๊ฐ€ ๋“ฃ๊ณ  ์‹ถ์€) ๋ฌด๋ฃŒ ๊ฐ•์˜๋Š” ๋ฆฌ์•กํŠธ Hooks, ํŠธ์œ„ํ„ฐ ํด๋ก  ์ฝ”๋”ฉ, TypeScript๋กœ ๋ธ”๋ก์ฒด์ธ ๋งŒ๋“ค๊ธฐ, ๋ชจ๋‘๋ฅผ ์œ„ํ•œ ๊นƒ+๊นƒํ—ˆ๋ธŒ, Next.js, React Native, ์ด 6๊ฐœ์˜ ๊ฐ•์˜๊ฐ€ ๋‚จ์•˜๋‹ค.

read more

๋ฆฌ์•กํŠธ๋กœ ๋งŒ๋“  ์ฒซ ๊ฐœ์ธ ํ”„๋กœ์ ํŠธ๋ฅผ ๋ฐฐํฌํ•˜๋ฉด์„œ ๋งˆ์ฃผํ•œ ๋ฌธ์ œ๋“ค

ํ˜ผ์ž ๋ฆฌ์•กํŠธ ๊ฐœ์ธ ํ”„๋กœ์ ํŠธ๋ฅผ ํ•˜๋ฉด์„œ ๋งˆ์ฃผํ•œ ๋ฌธ์ œ๋“ค ์ค‘์— ๊ฐ€์žฅ ํž˜๋“ค์—ˆ๋˜ ๊ฑด ๊นƒํ—ˆ๋ธŒ ๋ฐฐํฌ์˜€๋‹ค. ์˜ˆ์ „์— ๋ฆฌ์•กํŠธ ์—ฐ์Šตํ•˜๊ณ  ๊นƒํ—ˆ๋ธŒ ๋ฐฐํฌ๋ฅผ ์‰ฝ๊ฒŒ ํ•œ ์ ์ด ์žˆ์–ด์„œ(๋งํฌ-๊นƒํ—ˆ๋ธŒ์— ๋ฆฌ์•กํŠธ ๋ฐฐํฌํ•˜๊ธฐ) ๋ฐฐํฌ๋Š” ์ „ํ˜€ ๊ฑฑ์ •ํ•˜์ง€ ์•Š์•˜๋Š”๋ฐ ์ด๊ฒŒ ์›ฌ์ผ. ๋ฐฐํฌ ํ›„ ๋‚ด๊ฐ€ ๋งˆ์ฃผํ•œ ๊ฒƒ์€ ๊นŒ๋งŒ ํ™”๋ฉด๋ฟ์ด์—ˆ๋‹คโ€ฆ๐Ÿ˜ข ๋ญ๊ฐ€ ๋ฌธ์  ๊ฐ€ ์‹ถ์–ด ๊ตฌ๊ธ€๋ง์„ ํ•ด๋ด๋„ ๋งˆ๋•…ํ•œ ํ•ด๊ฒฐ์ฑ…์ด ์•ˆ ๋‚˜์™”๋‹ค. ํ•˜์ง€๋งŒ ๋ช…ํ™•ํ•˜๊ฒŒ ์•Œ๊ฒŒ ๋œ ๊ฒƒ์€ ์˜ค๋ฅ˜์˜ ์›์ธ. 1) ๋ฆฌ์•กํŠธ ํด๋” ์žฌ์‚ฌ์šฉ๊ณผ 2) ๋ฆฌ์•กํŠธ ๋ผ์šฐํ„ฐ์˜ ๋ฌธ์ œ์˜€๋‹ค.

read more

[ํšŒ๊ณ ] ๋ฆฌ์•กํŠธ๋กœ ์ฒซ ๊ฐœ์ธ ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“ค๊ณ  ๋‚˜์„œ

๐Ÿ˜Œ ๋งˆ์Œ๊ฐ€์ง

์ดˆ๊ธ‰ ๋ฆฌ์•กํŠธ ๊ฐ•์˜๋ฅผ ๋“ฃ๊ธฐ ์‹œ์ž‘ํ•  ๋•Œ, ๋ฆฌ์•กํŠธ... ๋ถ€์ˆด์ฃผ๊ฒ ๋‹ค๋Š” ๋งˆ์Œ์œผ๋กœ ์‹œ์ž‘ํ–ˆ์ง€๋งŒ ๋ถ€์„œ์ง€๋Š” ๊ฑด ๋‚˜์˜€๋‹ค. ์ดˆ๊ธ‰์ด๋ผ ๋งŒ๋งŒํ•˜๊ฒŒ ๋ดค๋Š”๋ฐ ๋งŒ๋งŒํ•˜๊ฒŒ ๋ณผ ๋งŒํ•œ ๊ฒƒ์ด ๋ชป ๋˜์—ˆ๋‹ค.๐Ÿ˜‚ ๊ทธ๋ž˜๋„ ์—ด์‹ฌํžˆ ๊ฐ•์˜๋ฅผ ๋“ฃ๊ณ  ์ดํ•ดํ•˜๋‹ˆ ์ ์  ๋ฆฌ์•กํŠธ๋ฅผ ์ด์šฉํ•ด ๊ฐœ์ธ ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“ค๊ณ  ์‹ถ์–ด์กŒ๋‹ค. ๊ฐœ์ธ ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“ค๋ฉด์„œ ๋ฆฌ์•กํŠธ ์‚ฌ์šฉ๋„ ์ต์ˆ™ํ•ด์ง€๊ณ  ์‹ถ์—ˆ๊ณ , ๋ฆฌ์•กํŠธ๋กœ ์›น ์‚ฌ์ดํŠธ๋ฅผ ๋งŒ๋“ค๋ฉด์„œ ํ•„์š”ํ•œ ๊ธฐ์ˆ ์€ ๋ฌด์—‡์ธ์ง€ ์•Œ์•„๋‚ด๊ณ  ๋ฐฐ์šฐ๊ณ  ์‹ถ์—ˆ๋‹ค.

read more

[๋ฆฌ์•กํŠธ] ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ ์†์‰ฝ๊ฒŒ ์Šค์™€์ดํผ(์Šฌ๋ผ์ด๋”) ๊ตฌํ˜„ํ•˜๊ธฐ

์—ฌ๋Ÿฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ค‘์— ๋‚˜๋Š” Slick๊ณผ Swiper๋ฅผ ์‚ฌ์šฉํ–ˆ๋‹ค. ๊ฐœ์ธ์ ์œผ๋กœ Slick ๋ณด๋‹ค Swiper๊ฐ€ ํ›จ์”ฌ ๋” ์‚ฌ์šฉํ•˜๊ธฐ ํŽธํ–ˆ๋‹ค.

Slick ์‚ฌ์šฉ๋ฒ•

1. ํ„ฐ๋ฏธ๋„์— slick ์„ค์น˜

npm i react-slick slick-carousel
read more

๋ฆฌ์•กํŠธ์—์„œ ๋ถ€ํŠธ์ŠคํŠธ๋žฉ ์•„์ด์ฝ˜ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•

1. ํ„ฐ๋ฏธ๋„ ์—ด์–ด์„œ ๋ฆฌ์•กํŠธ ์•„์ด์ฝ˜ ๋‹ค์šด

npm i react-icons --save


2. ๋ฆฌ์•กํŠธ ์•„์ด์ฝ˜ ์‚ฌ์ดํŠธ ์ ‘์†

https://react-icons.github.io/react-icons/icons?name=bs

read more

๋ฆฌ์•กํŠธ๋กœ ์˜ํ™” ์ถ”์ฒœ ์•ฑ์„ ๋งŒ๋“ค๊ธฐ ์ „์—

๋…ธ๋งˆ๋“œ ์ฝ”๋“œ ๊ฐ•์˜๋ฅผ ๋“ฃ๊ณ , ๊ฐ•์˜์™€ ๊ฐ™์€ api๋กœ ์˜ํ™” ์•ฑ์„ ๋งŒ๋“ค์–ด๋ณผ๊นŒ ํ•˜๋‹ค๊ฐ€ ๋„ฃ์„ ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์ด ๋ณ„๋กœ ์—†์„ ๊ฒƒ ๊ฐ™๋‹ค๋Š” ์ด์œ ์™€ ํ•œ๊ตญ์–ด๋กœ ๋งŒ๋“ค๊ณ  ์‹ถ๋‹ค๋Š” ์ด์œ ๋กœ ๋‹ค๋ฅธ ์˜ํ™” api๋ฅผ ์ฐพ๊ธฐ๋กœ ํ–ˆ๋‹ค. ์–ด๋–ค api๊ฐ€ ์ข‹์„๊นŒ ๊ฒ€์ƒ‰ํ•ด ๋ณด๋‹ˆ ์˜ํ™”์ง„ํฅ์œ„์›ํšŒ ์˜คํ”ˆ API, ๋„ค์ด๋ฒ„ API, KMDb API ๊ทธ๋ฆฌ๊ณ  The movie DB API๊ฐ€ ์žˆ์—ˆ๋‹ค. ์‚ฌ์šฉํ•˜๊ธฐ ํŽธํ•ด ๋ณด์ด๊ณ  ๋‚ด๊ฐ€ ์›ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™์•„ The movie DB API๋กœ ์˜ํ™” ์ถ”์ฒœ ์•ฑ์„ ๋งŒ๋“ค๊ธฐ๋กœ ํ–ˆ๋‹ค. ์˜ํ™”๋ฅผ ๋ณด๊ณ  ์‹ถ๊ธด ํ•œ๋ฐ ๋ฌด์Šจ ์˜ํ™”๋ฅผ ๋ณด๋ฉด ์ข‹์„์ง€ ๋ชจ๋ฅด๊ฒ ์„ ๋•Œ, ์˜ํ™” ์„ ํƒ์— ๋„์›€์„ ์ฃผ๋Š” ์•ฑ์„ ๋งŒ๋“ค์–ด ๋ณด๊ณ  ์‹ถ์—ˆ๋‹ค.

The movie DB

read more

๊ธฐ์ดˆ CSS

๋ณต์Šต ๊ฒธ ๋“œ๋ฆผ์ฝ”๋”ฉ ๊ฐ•์˜๋ฅผ ๋“ฃ๊ณ  ์ •๋ฆฌํ•˜๋ฉด ์ข‹์„ ๊ฒƒ๊ฐ™์€ CSS ๊ด€๋ จ ์ •๋ณด๋ฅผ ๋ธ”๋กœ๊ทธ์— ๋‚จ๊ฒจ๋‘๊ธฐ๋กœ ํ–ˆ๋‹ค.

๐ŸŽฏ Position

๊ธฐ๋ณธ๊ฐ’ static

read more

CSS Grid ์‚ฌ์šฉ๋ฒ•

โ€” ์—ด(columns) : grid-template-columns

| ํ–‰(rows) : grid-template-rows

read more

๋ฆฌ์•กํŠธ๋กœ ์˜ํ™” ์•ฑ ๋งŒ๋“ค๊ธฐ(2)

์ด์–ด์„œโ€ฆ

๐Ÿค— Component๋ฅผ ๋‚˜๋ˆ ์„œ ์‚ฌ์šฉํ•˜๋Š” ๋ฒ•๊ณผ ๋ฆฌ์•กํŠธ๋ฅผ ์ด์šฉํ•ด ์ƒˆ๋กœ๊ณ ์นจ ์—†์ด ํŽ˜์ด์ง€ ์ „ํ™˜ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์› ๋‹ค.

read more

๋ฆฌ์•กํŠธ๋กœ ์˜ํ™” ์•ฑ ๋งŒ๋“ค๊ธฐ(1)

๐Ÿค— ๋ฆฌ์•กํŠธ ๊ธฐ์ดˆ๋ฅผ ๋ณต์Šตํ•˜๋ฉด์„œ map ๋ฉ”์„œ๋“œ ์‚ฌ์šฉ๊ณผ api๋ฅผ ๊ฐ€์ ธ์™€์„œ ํ•„์š”ํ•œ ์ •๋ณด๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์— ์ข€ ๋” ์ต์ˆ™ํ•ด์กŒ๋‹ค. ๊ทธ๋ฆฌ๊ณ  then ๋Œ€์‹  async-await๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•๋„ ๋ฐฐ์› ๋‹ค.

read more

[ํšŒ๊ณ ] ๋ฐ”๋‹๋ผ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ ๊ทธ๋ฆผํŒ์„ ๋งŒ๋“ค๊ณ  ๋‚˜์„œ

๐Ÿ˜ณ ๋Š๋‚€ ์ 

์ฝ”๋”ฉ์œผ๋กœ ๊ทธ๋ฆผํŒ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์„ ์ค„์ด์•ผ! ๋ณด๊ธฐ์—๋Š” ๊ฐ„๋‹จํ•ด ๋ณด์—ฌ๋„ ์ฝ”๋”ฉํ•˜๋Š” ๊ฑด ์ •๋ง ๋ณต์žกํ–ˆ๋‹ค. ์„ธ์ƒ์— ๋‚˜์™€์žˆ๋Š” ์ž‘์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ•˜๋‚˜์— ์–ผ๋งˆ๋‚˜ ๋งŽ์€ ๊ฐœ๋ฐœ์ž๋“ค์˜ ๋…ธ๊ณ ๊ฐ€ ๋“ค์–ด๊ฐ”์„์ง€โ€ฆ ๊นŠ์ด ์ดํ•ดํ•˜๊ฒŒ ๋๋‹ค. ๐Ÿ˜‚


๐Ÿง ๊ธฐ์—ฌ๋„ 100% ์ž‘์—…?

read more

๋ฐ˜์‘ํ˜• ํ—ค๋” ๋งŒ๋“ค๊ธฐ

๋ฐ”๋‹๋ผ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ ๋งŒ๋“  ๊ทธ๋ฆผ ์•ฑ์— ์—ฌ๋Ÿฌ ๊ธฐ๋Šฅ๋“ค์„ ์ถ”๊ฐ€ํ•˜๋‹ค๊ฐ€ ์ƒ๊ฐ๋ณด๋‹ค ์–ด๋ ค์›Œ์„œ ๋จธ๋ฆฌ๋„ ์‹ํžˆ๊ณ (?), ๋ณต์Šต๋„ ํ•  ๊ฒธ ํ”„๋ก ํŠธ์—”๋“œ ์ž…๋ฌธ ๊ฐ•์˜๋ฅผ ๋“ฃ๊ณ  ๋ฐ˜์‘ํ˜• ํ—ค๋” ๋งŒ๋“œ๋Š” ๊ฒƒ์„ ์—ฐ์Šตํ–ˆ๋‹ค.

read more

๋ฐ”๋‹๋ผ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ ๊ทธ๋ฆผ ์•ฑ ๋งŒ๋“ค๊ธฐ

์ด์–ด์„œโ€ฆ

์šด๋™ํ•˜๋‹ค๊ฐ€ ํ—ˆ๋ฆฌ๋ฅผ ์‹ฌํ•˜๊ฒŒ ๋‹ค์ณ์„œ ์˜ค๋Š˜ ์ฝ”๋”ฉ์„ ๋งŽ์ด ํ•˜์ง„ ๋ชปํ–ˆ๋‹ค. ์™„์ „ํžˆ ์™„์„ฑํ•˜์ง€ ๋ชปํ•ด์„œ ์•„์‰ฝ์ง€๋งŒ ๋ถ€์ƒ์€ ๋‚ด๊ฐ€ ์–ด๋–ป๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒŒ ์•„๋‹ˆ๋‹ˆ๊นŒ ์–ด์ฉ” ์ˆ˜ ์—†์ง€โ€ฆ๐Ÿ˜ข ๋‹น๋ถ„๊ฐ„์€ ์ž˜ ์‰ฌ๋ฉด์„œ ํ‹ˆํ‹ˆ์ด ์ฝ”๋”ฉํ•˜๊ณ , ํ—ˆ๋ฆฌ๊ฐ€ ๋งŽ์ด ๋‚˜์•„์ง€๋ฉด ์—ด์‹ฌํžˆ ์ฝ”๋”ฉํ•ด์•ผ๊ฒ ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋””์ž์ธ์€ ๋ˆ„์›Œ์„œ๋„ ํ•  ์ˆ˜ ์žˆ์œผ๋‹ˆ๊นŒ ๋ˆ„์›Œ์„œ ๊ทธ๋ฆผํŒ ๋””์ž์ธํ•˜๊ณ  ๊ทธ๋Œ€๋กœ CSS๋กœ ์ ์šฉํ•ด๋ด์•ผ์ง€! ์ž‘์€ ํ”„๋กœ์ ํŠธ๋ฅผ ํ•˜๋‚˜์”ฉ ๋งŒ๋“œ๋‹ˆ๊นŒ ๋ณด๋žŒ๋„ ์žˆ๊ณ  ์žฌ๋ฏธ๋„ ์žˆ๋‹ค. ์ด๋ ‡๊ฒŒ ์—ฐ์Šตํ•˜๋‹ค๋ณด๋ฉด ๋‚˜์ค‘์— ๋‚ด๊ฐ€ ์›ํ•˜๋Š” ์•ฑ๋„ ๋š๋”ฑ ๋งŒ๋“ค ์ˆ˜ ์žˆ๊ฒ ์ง€โ€ฆ? ๐Ÿ˜‚

1. ๊ทธ๋ฆผ ์•ฑ ๋งŒ๋“ค๊ธฐ

read more

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ ๊ทธ๋ฆผ ๊ทธ๋ฆฌ๊ธฐ

1. ์šฐ์„  HTML ํŒŒ์ผ์— canvas ํƒœ๊ทธ๋ฅผ ๋งŒ๋“ ๋‹ค.

<canvas></canvas>

2. ( CSS๋กœ ๊ทธ๋ฆผํŒ์„ ์ƒ์„ฑํ•œ๋‹ค. ) ์ƒ๋žต ๊ฐ€๋Šฅ

canvas {
    width: 800px;
    height: 800px;
    border: 1px solid #000;
}

body {
    display: flex;
    justify-content: center;
    align-items: center;
}
read more

[ํšŒ๊ณ ] ๋ฐ”๋‹๋ผ JS๋กœ ํฌ๋กฌ์•ฑ ๋งŒ๋“ค๊ธฐ ๊ฐ•์˜๋ฅผ ๋“ฃ๊ณ 

๐Ÿ‘ ๋ฐฐ์šด ๊ฒƒ

๋ง‰์—ฐํ•˜๊ฒŒ๋งŒ ์•Œ๊ณ  ์žˆ์—ˆ๋˜ js๋ฅผ ํ™•์‹คํ•˜๊ฒŒ ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค. ์–ด๋–ป๊ฒŒ ์ง„ํ–‰๋˜๋Š”์ง€, event๊ฐ€ ์ •ํ™•ํžˆ ๋ฌด์—‡์ธ์ง€, argument๋Š” ๋ฌด์—‡์ด๊ณ  ์™œ ์‚ฌ์šฉํ•˜๋Š”์ง€ ๋“ฑโ€ฆ ๊ทธ๋ฆฌ๊ณ  jsํŒŒ์ผ์„ 1 ๊ธฐ๋Šฅ 1 ํŒŒ์ผ๋กœ ๋‚˜๋ˆ ์„œ ์ €์žฅํ•˜๋˜๋ฐ ์ด ์Šต๊ด€์€ ๊ด€๋ฆฌํ•˜๊ธฐ๋„ ์ข‹์„ ๊ฒƒ ๊ฐ™๊ณ  ๋ฆฌ์•กํŠธ ๋ฐฐ์šธ ๋•Œ( ์ปดํฌ๋„ŒํŠธ ๋ถ„๋ฆฌ )๋„ ์ข‹์„ ๊ฒƒ ๊ฐ™๋‹ค.


read more

๋ฐ”๋‹๋ผ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ Todo list ๋งŒ๋“ค๊ธฐ

๋…ธ๋งˆ๋“œ์ฝ”๋” ๊ฐ•์˜๋ฅผ ๋ณด๋ฉด์„œ ๊ฐ™์ด To-do list๋ฅผ ๋งŒ๋“ค์—ˆ๊ณ , ์ด๋ฅผ ๋งŒ๋“ค๋ฉด์„œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋” ์ž˜ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค!



๐Ÿค” ์ƒˆ๋กœ๊ณ ์นจํ•ด๋„ ์ƒ์„ฑํ•œ ํ•  ์ผ๋“ค์ด ๊ทธ๋Œ€๋กœ ๋‚จ์•„์žˆ์—ˆ์œผ๋ฉด ์ข‹๊ฒ ์–ด

ํ”„๋ก ํŠธ์—”๋“œ ๋‹จ์—์„œ๋„ ๊ฐ’์„ ๊ธฐ์–ตํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค. ๋ฐ”๋กœ localStorage๋ฅผ ์ด์šฉํ•˜๋ฉด ๋œ๋‹ค. key์™€ value๋งŒ ์ค€๋น„ํ•˜๋ฉด ๋กœ์ปฌ์Šคํ† ๋ฆฌ์ง€์—์„œ๋„ ๊ฐ’์„ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋‹ค. ๋กœ์ปฌ์Šคํ† ๋ฆฌ์ง€๋ฅผ ์ด์šฉํ•œ ๋‹ค์–‘ํ•œ ๋ฉ”์„œ๋“œ๋Š” ์—ฌ๊ธฐ์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

read more

number์™€ JSON string ๊ด€๋ จ ๋ฉ”์„œ๋“œ

์—ฌ๋Ÿฌ number ๋ฉ”์„œ๋“œ ์ค‘์— ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” 2๊ฐ€์ง€ ๋ฉ”์„œ๋“œ

parseInt

string โ†’ number๋กœ ๋ฐ”๊ฟ”์ค€๋‹ค.

isNaN : is not a number?

number์ธ์ง€ ์•„๋‹Œ์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

read more

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ toggle

Toggle ์ง„ํ–‰ ๊ณผ์ • ์ดํ•ดํ•˜๊ธฐ

const h1 = document.querySelector("div.hello h1");

function click(){
	const clicked = "clicked";
	if (h1.classList.contains(clicked)) {
		h1.classList.remove(clicked);
	}else{
		h1.classList.add(clicked);
	}
}

๐Ÿ‘‡ ์ฝ”๋“œ ๊ฐ„๊ฒฐํ™”!

const h1 = document.querySelector("div.hello h1");

function click(){
	h1.classList.toggle("clicked");
}


-className : ๋ชจ๋“  ํด๋ž˜์Šค๋ฅผ ๋ฐ”๊ฟ”๋ฒ„๋ฆฐ๋‹ค.
-classList : ํด๋ž˜์Šค list ์ค‘ ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•ด ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ๋‹ค.

read more

๊นƒํ—ˆ๋ธŒ ๋ธ”๋กœ๊ทธ ๊ตฌ๊ธ€ ์• ๋„๋ฆฌํ‹ฑ์Šค ์ ์šฉํ•˜๊ธฐ

๊นƒํ—ˆ๋ธŒ ๋ธ”๋กœ๊ทธ๋ฅผ ๊ด€๋ฆฌํ•˜๊ณ  ๋ฐฉ๋ฌธ์ž ์ˆ˜๋ฅผ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ๊ตฌ๊ธ€ ์• ๋„๋ฆฌํ‹ฑ์Šค๋ฅผ ์ ์šฉํ•˜๊ธฐ๋กœ ํ–ˆ๋‹ค. ๊ตฌ๊ธ€ ๊ฒ€์ƒ‰์„ ํ†ตํ•ด ๊ตฌ๊ธ€ ์• ๋„๋ฆฌํ‹ฑ์Šค๋ฅผ ์ ์šฉํ–ˆ๋Š”๋ฐ, ๋ฐ”๋กœ ๋ฐ˜์˜์ด ์•ˆ๋˜๊ธธ๋ž˜ โ€˜์˜ค๋ž˜ ๊ฑธ๋ฆฌ๋‚˜?โ€™ ์ƒ๊ฐํ–ˆ๋‹ค. ํ•˜์ง€๋งŒ ์˜ค๋ž˜ ๊ฑธ๋ฆฌ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์ ์šฉ์ด ์•ˆ ๋˜์–ด์žˆ์—ˆ๋˜ ๊ฒƒ๐Ÿ˜… ์ถ”์  ID๊ฐ€ ์•„๋‹Œ ์ธก์ • ID๋ฅผ ๋“ฑ๋กํ•œ ๊ฒŒ ๋ฌธ์ œ์˜ ์›์ธ์ด์—ˆ๋‹ค.

๊ตฌ๊ธ€ ์• ๋„๋ฆฌํ‹ฑ์Šค์— ๋“ฑ๋กํ–ˆ๋Š”๋ฐ ์ ์šฉ์ด ์•ˆ ๋œ๋‹ค๋ฉด?

1) ์™ผ์ชฝ ํ•˜๋‹จ์˜ ํ†ฑ๋‹ˆ๋ฐ”ํ€ด ๋ชจ์–‘(๊ด€๋ฆฌ, Admin) ํด๋ฆญ

image

read more

VS Code ์œ ์šฉํ•œ ๋‹จ์ถ•ํ‚ค์™€ ์ต์Šคํ…์…˜

๋‹จ์ถ•ํ‚ค

Multi Selection
๐Ÿ‘ Ctrl+d
ํ•œ ๋‹จ์–ด๋ฅผ ์„ ํƒํ•˜๊ณ  ctrl+d ๋ฐ˜๋ณต์ ์œผ๋กœ ๋ˆŒ๋Ÿฌ์ฃผ๋ฉด ์ค‘๋ณต ๋‹จ์–ด ์ž๋™์œผ๋กœ ๋ชจ๋‘ ์„ ํƒ๋จ โ‡’ ๊ฐ„๋‹จ ์‚ญ์ œ, ์ˆ˜์ •๊ฐ€๋Šฅ

Column (box) selection
๐Ÿ‘ Ctrl+Shift+alt+โ†‘ or โ†“
ํ•ด๋‹น ์—ด์— ์ปค์„œ ์ƒ์„ฑ
( ์ฝ”๋”ฉํ•˜๋‹ค๊ฐ€ ์šฐ์—ฐํžˆ ์•Œ๊ฒŒ๋œ ๋‹จ์ถ•ํ‚ค์ธ๋ฐ ๋„ˆ๋ฌด ํŽธํ•˜๋‹ค. ๋ชจ๋ฅด๋Š” ์‚ฌ๋žŒ ์—†์—ˆ์œผ๋ฉดโ€ฆ )

๋ธ”๋Ÿญ์œผ๋กœ ์ „์ฒด ์„ ํƒ-> Shift+alt+๋“œ๋ž˜๊ทธ
ํ•ด๋‹น ๋ธ”๋Ÿญ ๋์— ์ปค์„œ ์ƒ์„ฑ

read more

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์š”์†Œ์™€ ์ด๋ฒคํŠธ ์ดํ•ดํ•˜๊ธฐ + ๊ฒŒํ„ฐ, ์„ธํ„ฐ

JavaScript์— ์žˆ๋Š” Elements(์š”์†Œ)์™€ Events(์ด๋ฒคํŠธ)๋ฅผ ํ™•์ธํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด?

MDN ์‚ฌ์ดํŠธ๋‚˜ ๊ฐœ๋ฐœ์ž ๋„๊ตฌ์—์„œ ๋งŽ์€ ์š”์†Œ๋“ค๊ณผ ์ด๋ฒคํŠธ๋“ค์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

1. MDN

Element - Web APIs | MDN

2. console.dir();

console.dir(this);


read more

undefined์™€ null์˜ ์ฐจ์ด์ 

Undefined: ๊ฐ’์ด ์ •์˜๋˜์–ด์žˆ์ง€ ์•Š๋‹ค.

๋ณ€์ˆ˜๋Š” ์ธ์ง€ ๊ฐ€๋Šฅํ•˜์ง€๋งŒ ๊ฐ’์ด ์ •์˜๋˜์–ด ์žˆ์ง€ ์•Š์€ ์ƒํƒœ.

const something;

Null: ๊ฐ’์ด ์—†๋‹ค.

const something = null;

์ž์—ฐ์ ์œผ๋กœ ๋ฐœ์ƒํ•˜์ง€ ์•Š์Œ. โ‡’ ๊ฐ’์ด ์—†๋‹ค๋Š” ๊ฒƒ์„ ํ™•์‹คํžˆ ์•Œ๋ ค์ฃผ๊ธฐ ์œ„ํ•ด ์ผ๋ถ€๋Ÿฌ ์‚ฌ์šฉ!

read more

const, let and var์˜ ์ฐจ์ด์ 

read more

Array, Object and Function

1. Array

๋ณ€์ˆ˜๋ช…[index]
โ†’ ๋ฐฐ์—ด ์•ˆ์— ์žˆ๋Š” ๊ฒƒ์„ index ๋ฒˆํ˜ธ๋กœ ๋ถˆ๋Ÿฌ์˜ฌ ์ˆ˜ ์žˆ์Œ. โ—๏ธ ์ฃผ์˜) ์ปดํ“จํ„ฐ๋Š” 0๋ถ€ํ„ฐ ์…ˆ.

const food =ย ['pizza', 'chicken', 'burger', 'noodle']
console.log(food[2]);    //burger
read more

๋ฆฌ์•กํŠธ ์„ค์น˜ํ•˜๊ธฐ

๋ฆฌ์•กํŠธ ์„ค์น˜ํ•˜๊ธฐ ์ „์— ๋จผ์ € Node.js๊ฐ€ ์„ค์น˜๋˜์–ด ์žˆ์–ด์•ผ ํ•œ๋‹ค.
Node.js๋ฅผ ์„ค์น˜ํ–ˆ๋‹ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ˆœ์„œ๋กœ ์ง„ํ–‰ํ•˜๋ฉด ๋œ๋‹ค.

1. VS code ์ž‘์—… ์˜์—ญ์— ํด๋” ์ถ”๊ฐ€ โ†’ ํด๋” ์ƒ์„ฑ

ย โ—ย  react๋ผ๋Š” ํด๋”๋ช…์€ ์˜ค๋™์ž‘ ํ•  ์ˆ˜ ์žˆ์œผ๋‹ˆ ํ”ผํ•  ๊ฒƒ

2. ์ƒˆ ํ„ฐ๋ฏธ๋„ ์—ด๊ธฐ

ย โ—ย  powershell์€ ์˜ค๋ฅ˜๊ฐ€ ๋‚  ์ˆ˜ ์žˆ์œผ๋‹ˆ cmd๋‚˜ ๋‹ค๋ฅธ ๊ฑฐ ์‚ฌ์šฉํ•˜๋Š” ๊ฑธ ์ถ”์ฒœ

read more

๋ฆฌ์•กํŠธ ๊ธฐ์ดˆ

Why react?

์™œ ๋ฆฌ์•กํŠธ๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š”๊ฐ€?

JavaScript๋Š” ๋‹ค๋ฅธ ๋ถ€๋ถ„๋„ ์—…๋ฐ์ดํŠธ๋˜๋Š” ๋ฐ˜๋ฉด, React๋Š” html ์ฝ”๋“œ์—์„œ โ€œ๋ณ€ํ•˜๋Š” ๋ถ€๋ถ„๋งŒโ€ ์—…๋ฐ์ดํŠธ๋œ๋‹ค.
โ‡’ ์ธํ„ฐ๋ ‰ํ‹ฐ๋ธŒ์— ์ตœ์ ํ™”
๊ฒŒ๋‹ค๊ฐ€ ์ฝ”๋“œ๊ฐ€ ๊ฐ„๊ฒฐํ•˜๊ณ , ์œ ์ง€๋ณด์ˆ˜๊ฐ€ ์‰ฝ๋‹ค.


read more

๊นƒํ—ˆ๋ธŒ์— ๋ฆฌ์•กํŠธ ๋ฐฐํฌํ•˜๊ธฐ

๊นƒํ—ˆ๋ธŒ์— React ๊ฐ„๋‹จํ•˜๊ฒŒ ๋ฐฐํฌํ•˜๋Š” ๋ฐฉ๋ฒ•

1. package.json ํŒŒ์ผ์— ์ฝ”๋“œ 2์ค„ ์ถ”๊ฐ€

"deploy" : "gh-pages -d build",
"predeploy" : "npm run build"

image


read more

๊นƒํ—ˆ๋ธŒ ๋ธ”๋กœ๊ทธ ๊ฒ€์ƒ‰ ์—”์ง„ ์ตœ์ ํ™”(SEO)ํ•˜๊ธฐ

SEO๋ž€? ๊ฒ€์ƒ‰ ์—”์ง„ ์ตœ์ ํ™”(search engine optimization)์˜ ์ค€๋ง๋กœ
๊ตฌ๊ธ€์ด๋‚˜ ๋„ค์ด๋ฒ„, ๋‹ค์Œ ๋“ฑ๊ณผ ๊ฐ™์€ ๊ฒ€์ƒ‰ ์—”์ง„์—์„œ ๊ฒ€์ƒ‰์ด ์ž˜ ๋˜๋„๋ก ํ•˜๋Š” ๊ฒƒ์„ ๋งํ•œ๋‹ค.
๋„ค์ด๋ฒ„ ๊ฒ€์ƒ‰ ์—”์ง„์— ๊นƒํ—ˆ๋ธŒ ๋ธ”๋กœ๊ทธ๋ฅผ ๋“ฑ๋กํ•˜๋‹ค๊ฐ€ '์›น ํŽ˜์ด์ง€ ์ตœ์ ํ™”'๋ฅผ ๋ฐœ๊ฒฌํ–ˆ๋‹ค.
'๊ฒ€์ƒ‰ ์—”์ง„์ด ์š”์ฒญํ•œ ํŽ˜์ด์ง€ ์ฝ˜ํ…์ธ ๋ฅผ ์ž˜ ํ•ด์„ํ•  ์ˆ˜ ์žˆ๋Š”์ง€'๋ฅผ ์ง„๋‹จํ•  ์ˆ˜ ์žˆ๋Š” ์ข‹์€ ๊ธฐ๋Šฅ์ด๋‹ค.

๋„ค์ด๋ฒ„ ์›น๋งˆ์Šคํ„ฐ ๋„๊ตฌ์— ๋“ค์–ด๊ฐ€์„œ

image

read more

๊นƒํ—ˆ๋ธŒ์— ๋ฆฌ์•กํŠธ ๋ฐฐํฌ ์ค‘ ์˜ค๋ฅ˜ ๋ฐœ์ƒ

๊นƒํ—ˆ๋ธŒ์— ๋ฆฌ์•กํŠธ๋ฅผ ๋ฐฐํฌํ•˜๋ ค๊ณ  ํ•˜๋Š”๋ฐ ํฐ ๋ฐฐ๊ฒฝ(๋นˆ ํŽ˜์ด์ง€)๋งŒ ๋œฌ๋‹ค. ๊ฐœ๋ฐœ์ž ๋„๊ตฌ๋ฅผ ๋ˆŒ๋Ÿฌ ์–ด๋–ค ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ๋Š”์ง€ ํ™•์ธํ•ด๋ณด๋‹ˆ
Manifest: Line: 1, column: 1, Syntax error.

image

net::ERR_ABORTED 404

image

read more

๊นƒํ—ˆ๋ธŒ ๋ธ”๋กœ๊ทธ ๋Œ“๊ธ€ ๊ธฐ๋Šฅ ์ถ”๊ฐ€, ๊ฒ€์ƒ‰ ์—”์ง„์— ๋“ฑ๋กํ•˜๊ธฐ

๊นƒํ—ˆ๋ธŒ ๋ธ”๋กœ๊ทธ๋ฅผ ๋งŒ๋“ค๊ณ  ๋‚˜๋‹ˆ '๋Œ“๊ธ€ ๊ธฐ๋Šฅ๋„ ์žˆ์—ˆ์œผ๋ฉด ์ข‹๊ฒ ๊ณ , ๊ตฌ๊ธ€ ๊ฒ€์ƒ‰์—๋„ ๊ฑธ๋ ธ์œผ๋ฉด ์ข‹๊ฒ ๋Š”๋ฐ...'๋ผ๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ๋‹ค.
๊ตฌ๊ธ€ ๊ฒ€์ƒ‰์„ ํ•ด๋ณด๋‹ˆ ๋งŽ์€ ๊ฐœ๋ฐœ์ž๋“ค์ด ๋ฐฉ๋ฒ•์„ ์ •๋ฆฌํ•ด๋‘” ๋ธ”๋กœ๊ทธ๋“ค์ด ์žˆ์—ˆ๊ณ , ๋งŽ์€ ๋„์›€์„ ๋ฐ›์•˜๋‹ค.
๋ธ”๋กœ๊ทธ์— ๋‚ด๊ฐ€ ์‹ค์ œ๋กœ ๋„์›€์„ ๋ฐ›์€ ๋ธ”๋กœ๊ทธ ์ฃผ์†Œ์™€ ํ•จ๊ป˜ ๋ธ”๋กœ๊ทธ์™€ ๋‹ค๋ฅด๊ฒŒ ํ•œ ๋ถ€๋ถ„์„ ์ถ”๊ฐ€๋กœ ์ •๋ฆฌํ•˜๊ธฐ๋กœ ํ–ˆ๋‹ค.


read more

Basic javascript 04

๊ธฐ๋ณธ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ •๋ฆฌ 4ํƒ„, Methods(๋ฉ”์„œ๋“œ)



read more

๊นƒํ—ˆ๋ธŒ ๋ธ”๋กœ๊ทธ ๋งŒ๋“ค๊ณ  jekyll ํ…Œ๋งˆ ์ ์šฉํ•˜๊ธฐ


0. ์‚ฌ๊ฑด์˜ ๋ฐœ๋‹จ

๊นƒํ—ˆ๋ธŒ ๋ธ”๋กœ๊ทธ๋ฅผ ๋งŒ๋“ค์—ˆ๋Š”๋ฐ ๊ธ€์„ ์ž‘์„ฑํ•ด๋„(์ปค๋ฐ‹์„ ํ•ด๋„) ์ž”๋””๊ฐ€ ์‹ฌ์–ด์ง€์ง€ ์•Š๋Š” ๋ฌธ์ œ ๋ฐœ์ƒ. ์ž”๋”” ์‹ฌ๋Š” ์žฌ๋ฏธ๋กœ ๊นƒํ—ˆ๋ธŒ ๋ธ”๋กœ๊ทธ๋ฅผ ์‹œ์ž‘ํ•œ ๊ฒƒ๋„ ์žˆ์–ด์„œ ์›์ธ๊ณผ ๋ฌธ์ œ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ์ฐพ์œผ๋ ค๊ณ  ์—ด์‹ฌํžˆ ๊ฒ€์ƒ‰์„ ํ–ˆ๋‹ค. user.email์ด ์ผ์น˜ํ•˜์ง€ ์•Š๊ฑฐ๋‚˜ user.name์ด ์ผ์น˜ํ•˜์ง€ ์•Š์œผ๋ฉด ์ด๋Ÿฐ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ํ•œ๋‹ค. ํ•˜์ง€๋งŒ ๋‚˜์˜ ์›์ธ์€ ์ด๊ฒŒ ์•„๋‹ˆ์—ˆ๋‹ค. jekyll ํ…Œ๋งˆ ๊นƒํ—ˆ๋ธŒ์—์„œ Fork๋ฅผ ๋ˆŒ๋Ÿฌ ๊ทธ๋ƒฅ ๋ณต์‚ฌํ•ด์™”๊ธฐ ๋•Œ๋ฌธ์ด์—ˆ๋‹ค. Forkํ•œ ๋ ˆํŒŒ์ง€ํ† ๋ฆฌ๋Š” ์•„๋ฌด๋ฆฌ ์ปค๋ฐ‹ํ•ด๋„ ์ž”๋””๊ฐ€ ์‹ฌ์–ด์ง€์ง€ ์•Š๋Š”๋‹ค๊ณ โ€ฆ


image

โ— [๋ฒˆ์™ธ] ์ž”๋””์™€ ์ƒ๊ด€์—†์ด ํŽธํ•˜๊ฒŒ ๊นƒํ—ˆ๋ธŒ ๋ธ”๋กœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ , jekyll ํ…Œ๋งˆ๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ์›ํ•˜๋Š” jekyll ํ…Œ๋งˆ์˜ ๊นƒํ—ˆ๋ธŒ๋กœ ๊ฐ€์„œ Fork๋ฅผ ๋ˆŒ๋Ÿฌ ๋‚ด ๋ ˆํŒŒ์ง€ํ† ๋ฆฌ์— ๋“ค๊ณ ์˜จ ๋’ค, ๋ ˆํŒŒ์ง€ํ† ๋ฆฌ ์ด๋ฆ„(Repository name)์„ ์›ํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๋ฐ”๊พธ๋ฉด ๋œ๋‹ค. (๋ณ€๊ฒฝ์€ Settings>General์—์„œ Repository name์„ ๋ฐ”๊พธ๊ณ  rename์„ ๋ˆ„๋ฅด๋ฉด ๋œ๋‹ค.) ๋ณดํ†ต์€ โ€œuser-name.github.ioโ€๋กœ ์ด๋ฆ„์„ ์„ค์ •ํ•˜๋Š” ๋“ฏํ•˜๋‹ค.

read more

Basic javascript 03

๊ธฐ๋ณธ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ •๋ฆฌ 3ํƒ„, ํ•จ์ˆ˜์™€ ๋ฐฐ์—ด



read more

Basic javascript 02

studying

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ •๋ฆฌ 2ํƒ„, ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ฌธ๋ฒ•(์กฐ๊ฑด๋ฌธ ๋“ฑ)์„ ์ •๋ฆฌํ–ˆ๋‹ค.



read more

Basic javascript 01

๊ฒฐ๊ตญ ๋ฆฌ์•กํŠธ(React)๋„ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ค‘ ํ•˜๋‚˜์ด๋‹ค. ๋ฆฌ์•กํŠธ๋ฅผ ์ž˜ ๋‹ค๋ฃจ๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ(๊ธฐ๋ณธ)๋ฅผ ์ž˜ ๋‹ค๋ฃจ์–ด์•ผ ํ•œ๋‹ค. ๋ฆฌ์•กํŠธ ๊ณต๋ถ€๋ฅผ ํ•˜๋ฉด์„œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ธฐ๋ณธ๊ธฐ๋ฅผ ๋ณต์Šตํ•˜๋‹ˆ ์ดํ•ด๊ฐ€ ๋” ์ž˜ ๋˜๋Š” ๊ธฐ๋ถ„์ด๋‹ค. ๋ฆฌ์•กํŠธ ๊ณต๋ถ€๋ฅผ ํ•˜๋ฉด์„œ ํ‹ˆํ‹ˆ์ด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ณต๋ถ€๋„ ํ•ด์•ผ๊ฒ ๋‹ค. ๋ฆฌ์•กํŠธ๋ฅผ ์ด์šฉํ•ด ์ž์œ ์ž์žฌ๋กœ ๋‚ด๊ฐ€ ์›ํ•˜๋Š” ๊ฒƒ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค๋ฉด ์–ผ๋งˆ๋‚˜ ์ข‹์„๊นŒ, ์–ผ๋งˆ๋‚˜ ํŽธ๋ฆฌํ• ๊นŒ. ๋‚ด๊ฐ€ ๋ฐ”๋ผ๋Š” ๋ฏธ๋ž˜์˜ ๋ชจ์Šต์„ ๊ธฐ๋Œ€ํ•˜๋ฉฐ ๊พธ์ค€ํžˆ ๊ณต๋ถ€ํ•ด ๋‚˜๊ฐ€์•ผ์ง€. ๊นƒํ—ˆ๋ธŒ ๋ธ”๋กœ๊ทธ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  1์ผ 1์ปค๋ฐ‹์„ ๋‹ค์งํ•˜๋ฉด์„œ ์“ฐ๋Š” ์ฒซ ๊ธ€์ด ๊ธฐ๋ณธ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ผ์„œ ๋” ๋œป๊นŠ์€ ๊ฒƒ ๊ฐ™๋‹ค. ์ด๋งŒ ๊ฐ์„คํ•˜๊ณ , ๊ทธ๋™์•ˆ ๋ฐฐ์› ๋˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋ณด๊ธฐ ํŽธํ•˜๊ฒŒ ์ •๋ฆฌํ•ด์•ผ์ง€.

read more