์ „์ฒด ๊ธ€

์ „์ฒด ๊ธ€

    ํ”„๋ก ํŠธ์—”๋“œ ๋ฉด์ ‘(์ด๋ฏธ์ง€ ์ตœ์ ํ™”)

    1. ์ด๋ฏธ์ง€ ์ตœ์ ํ™” ๊ฒฝํ—˜์ด ์žˆ๋˜๋ฐ ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ ์ง„ํ–‰๋˜์—ˆ๋Š”์ง€ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.์˜จ๋ผ์ธ ์กธ์—…์ „์‹œ ์‚ฌ์ดํŠธ๋ฅผ ์šด์˜ํ•˜๋ฉฐ ์ด๋ฏธ์ง€ ์ตœ์ ํ™”๋ฅผ ์ง„ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค. 20MB์ด์ƒ์˜ ์šฉ๋Ÿ‰์ด ํฐ ์ด๋ฏธ์ง€๋ฅผ ์ฃผ๋กœ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋˜ ์กธ์—…์ž‘ํ’ˆ ์‚ฌ์ดํŠธ์˜ ํŠน์„ฑ์„ ๊ณ ๋ คํ•˜์—ฌ ์‚ฌ์šฉ์ž๊ฐ€ ๊ธด ๋กœ๋”ฉ์—†์ด ๋น ๋ฅด๊ฒŒ ์ž‘ํ’ˆ์„ ๊ฐ์ƒํ•  ์ˆ˜ ์žˆ๋„๋ก ์ด๋ฏธ์ง€ ์ตœ์ ํ™”๋ฅผ ์ง„ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋จผ์ € ํŒŒ์ผ ํฌ๋งท์„ ๋ณ€๊ฒฝํ•˜๋Š” ์ž‘์—…์„ ์ง„ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค. webp ํฌ๋งท์„ ์‚ฌ์šฉํ•˜์—ฌ ์šฉ๋Ÿ‰์„ ๊ฐœ์„ ํ–ˆ๋Š”๋ฐ์š”, webp ํฌ๋งท์€ ๊ตฌ๊ธ€์—์„œ ๋ฐœํ‘œํ•œ ํฌ๋งท์œผ๋กœ ์••์ถ• ํšจ๊ณผ๊ฐ€ ์ข‹์•„ ๋งŽ์€ ์šฉ๋Ÿ‰์„ ์ค„์ผ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— png ํฌ๋งท์—์„œ webp๋กœ ๋ณ€๊ฒฝํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ ๊ฒฐ๊ณผ png ํฌ๋งท์ผ๋•Œ๋ณด๋‹ค 31%์˜ ์šฉ๋Ÿ‰ ๊ฐœ์„ ์ด ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.  ๋‘๋ฒˆ์งธ๋กœ ์ด๋ฏธ์ง€ ์‚ฌ์ด์ฆˆ๊ฐ€ ์‹ค์ œ ์›น์‚ฌ์ดํŠธ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค 1.5๋ฐฐ์ •๋„ ํฐ ์‚ฌ์ด์ฆˆ๋กœ ์‚ฌ์šฉ๋˜๊ณ  ์žˆ์–ด์„œ ์›น..

    ํ”„๋ก ํŠธ์—”๋“œ ๋ฉด์ ‘(์‹คํ–‰์ปจํ…์ŠคํŠธ, ์Šค์ฝ”ํ”„ ์ฒด์ธ)

    1. ์‹คํ–‰์ปจํ…์ŠคํŠธ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.์‹คํ–‰์ปจํ…์ŠคํŠธ๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ ์ฝ”๋“œ๊ฐ€ ์‹คํ–‰๋˜๋Š” ํ™˜๊ฒฝ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ํ•จ์ˆ˜์™€ ๊ฐ™์ด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—”์ง„์ด ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•  ๋•Œ, ๊ทธ ์ฝ”๋“œ๊ฐ€ ์‹คํ–‰๋  ๋•Œ์˜ ํ™˜๊ฒฝ์„ ์ •์˜ํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ์‹คํ–‰์ปจํ…์ŠคํŠธ๊ฐ€ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.์‹คํ–‰์ปจํ…์ŠคํŠธ๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์ฒ˜์Œ ์‹คํ–‰๋  ๋•Œ ์ „์—ญ์œผ๋กœ ๋จผ์ € ์ƒ์„ฑ๋˜๊ณ , ํ•จ์ˆ˜๊ฐ€ ํ˜ธ์ถœ๋  ๋•Œ ์—ญ์‹œ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์‹คํ–‰ ์ปจํ…์ŠคํŠธ๋Š” ์ƒ์„ฑ๋  ๋•Œ ์ฝœ์Šคํƒ์— ์Œ“์ด๊ฒŒ๋˜๋ฉฐ ํ•จ์ˆ˜๊ฐ€ ์ข…๋ฃŒ๋˜๊ฑฐ๋‚˜ ํ”„๋กœ๊ทธ๋žจ์ด ์ข…๋ฃŒ๋  ๋•Œ ์‚ฌ๋ผ์ง€๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.2. ์‹คํ–‰์ปจํ…์ŠคํŠธ๋Š” ์–ด๋–ค ๊ตฌ์„ฑ ์š”์†Œ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‚˜์š”?์‹คํ–‰์ปจํ…์ŠคํŠธ๋Š” ๋ณ€์ˆ˜ ๊ฐ์ฒด์™€ ์Šค์ฝ”ํ”„์ฒด์ธ, this ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.๋จผ์ € ๋ณ€์ˆ˜ ๊ฐ์ฒด๋Š” ์‹คํ–‰ ์ปจํ…์ŠคํŠธ ๋‚ด์—์„œ ์‚ฌ์šฉ๋˜๋Š” ๋ณ€์ˆ˜์™€ ํ•จ์ˆ˜์˜ ์„ ์–ธ์„ ์ €์žฅํ•˜๋Š” ๊ณต๊ฐ„์ž…๋‹ˆ๋‹ค.์Šค์ฝ”ํ”„ ์ฒด์ธ์€ ํ˜„์žฌ ์‹คํ–‰ ์ค‘์ธ ์ปจํ…์ŠคํŠธ์™€ ์™ธ๋ถ€ ๋ ‰์‹œ..

    ํ”„๋ก ํŠธ์—”๋“œ ๋ฉด์ ‘(reflow, repaint)

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

    ํ”„๋ก ํŠธ์—”๋“œ ๋ฉด์ ‘(ํด๋กœ์ €, ํด๋กœ์ €์˜ ๋‹จ์ )

    1. ํด๋กœ์ €์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.ํด๋กœ์ €๋Š” ์„ ์–ธ๋์„๋•Œ ๊ทธ๋•Œ์˜ ๋ ‰์‹œ์ปฌ ์Šค์ฝ”ํ”„๋ฅผ ๊ธฐ์–ตํ•˜๋Š” ํ•จ์ˆ˜์ž…๋‹ˆ๋‹ค. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ ๋ชจ๋“  ํ•จ์ˆ˜๋“ค์„ Environment๋ผ๋Š” ํ”„๋กœํผํ‹ฐ๋ฅผ ๊ฐ€์ง€๋Š”๋ฐ ์—ฌ๊ธฐ์— ์™ธ๋ถ€ ํ•จ์ˆ˜์˜ ๋ณ€์ˆ˜์˜ ์ฐธ์กฐ๊ฐ’์ด ์ €์žฅ๋˜์–ด ์™ธ๋ถ€ ํ•จ์ˆ˜์˜ ๋ณ€์ˆ˜์— ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.https://enjoydev.life/blog/javascript/6-closure JavaScript์˜ ํด๋กœ์ €(Closure)๋ž€? (feat. React์˜ useState)JavaScript์˜ ํด๋กœ์ €์˜ ์›๋ฆฌ๋ฅผ ์‰ฝ๊ฒŒ ๋ฐฐ์›Œ๋ณด๊ณ  ์–ด๋–ค ์ƒํ™ฉ์— ์‚ฌ์šฉ๋˜๋Š”์ง€ ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.enjoydev.life2. ํด๋กœ์ €์˜ ๋‹จ์ ๊ณผ ํ•ด๊ฒฐ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.ํด๋กœ์ €๋Š” ์™ธ๋ถ€ํ™˜๊ฒฝ์˜ ๋ณ€์ˆ˜๋ฅผ ๊ณ„์† ๊ธฐ์–ตํ•˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ€๋น„์ง€์ปฌ๋ž™ํ„ฐ์˜ ๋Œ€์ƒ์ด ๋˜์ง€ ์•Š์•„ ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜๊ฐ€ ์ผ์–ด๋‚  ์ˆ˜ ์žˆ..

    ํ”„๋ก ํŠธ์—”๋“œ ๋ฉด์ ‘(Sync, Async, ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ๋™์ž‘ ์›๋ฆฌ, Call Stack, TaskQueue, Event Loop)

    1. Sync, Async์˜ ์ฐจ์ด์ (๋™๊ธฐ, ๋น„๋™๊ธฐ์˜ ์ฐจ์ด์ )์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.Sync๋Š” ์ž‘์—… ์š”์ฒญ์ด ์ด๋ค„์ง€๊ณ , ์š”์ฒญ ์‘๋‹ต์„ ๊ธฐ๋‹ค๋ฆฌ๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. Async๋Š” ํŠน์ •ํ•œ ์š”์ฒญ์˜ ์‘๋‹ต์„ ๊ธฐ๋‹ค๋ฆฌ์ง€ ์•Š๊ณ  ๋‹ค์Œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ์‹ฑ๊ธ€์Šค๋ ˆ๋“œ์ด๊ธฐ ๋•Œ๋ฌธ์— ์š”์ฒญ๋œ ์ž‘์—…์„ ํ•˜๋‚˜์”ฉ ์ˆ˜ํ–‰ํ•˜์ง€๋งŒ setTimeout์ด๋‚˜ fetch๊ณผ ๊ฐ™์€ Web API๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋น„๋™๊ธฐ๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. 2. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ๋™์ž‘ ์›๋ฆฌ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—”์ง„ ์œ„์—์„œ ๋™์ž‘ํ•˜๋Š”๋ฐ์š”, ๋Œ€ํ‘œ์ ์œผ๋กœ ๊ตฌ๊ธ€์˜ V8์—”์ง„์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—”์ง„์€ ๋ฉ”๋ชจ๋ฆฌํž™๊ณผ ์ฝœ์Šคํƒ์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฉ”๋ชจ๋ฆฌ ํž™์€ ๋ณ€์ˆ˜, ํ•จ์ˆ˜ ๋“ฑ ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น์ด ์ด๋ฃจ์–ด์ง€๋Š” ๊ณต๊ฐ„์ž…๋‹ˆ๋‹ค. ์ฝœ์Šคํƒ์—๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝ..

    ์ œ54ํšŒ SQLD ํ•ฉ๊ฒฉ ํ›„๊ธฐ(์ „๊ณต์ž, ๋‹ค๋ฅธ ์ผ ํ•˜๋ฉด์„œ 7์ผ ๊ณต๋ถ€)

    SQLD ์‹œํ—˜๋ณธ ์ง€ ๋ฒŒ์จ 3๋‹ฌ์ด๋‚˜ ์ง€๋‚ฌ๋„ค์š”.. ๊ทธ๋• ์—„์ฒญ ๋”์› ๋Š”๋ฐ ์ง€๊ธˆ์€ ์˜จ๋„๊ฐ€ 0๋„๊นŒ์ง€ ๋‚ด๋ ธ๊ฐ”์Šต๋‹ˆ๋‹ค. ๋‹ค๋“ค ๊ฐ๊ธฐ ์กฐ์‹ฌํ•˜์…”์š”!! ๋” ์ถ”์›Œ์ง€๊ธฐ์ „์— ํ›„๊ธฐ๋ฅผ ๋‚จ๊ฒจ๋†“์ง€ ์•Š์œผ๋ฉด ํ‰์ƒ ๋ชป๋‚จ๊ธธ ๊ฒƒ ๊ฐ™์•„ ๋Šฆ์—ˆ์ง€๋งŒ ๋‚จ๊ฒจ๋ด…๋‹ˆ๋‹ค!!์ €์™€ ๋น„์Šทํ•œ ์ŠคํŒฉ์œผ๋กœ ์‹œ์ž‘ํ•˜์‹  ๋ถ„๋“ค์€ ์ด ๊ธ€์ด ๋„์›€์ด ๋˜์‹ค ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค!!1. ์ปดํ“จํ„ฐ๊ณตํ•™ ์ „๊ณต 2. Database ์ˆ˜์—…์„ ์ž˜ ๋”ฐ๋ผ๊ฐ”๋˜ ์ˆ˜์ค€ 3. ๊ธฐ๋ณธ ๋ช…๋ น์–ด(DML, DDL, TCL ๋“ฑ) ์‚ฌ์šฉ ๊ฒฝํ—˜์ด ์žˆ์Œ๐Ÿ“ SQLD ์‹œํ—˜ ์ •๋ณด, ํ•ฉ๊ฒฉ ๊ธฐ์ค€SQLD๋Š” ๋‘๊ณผ๋ชฉ์œผ๋กœ ๋‚˜๋ˆ ์ง€๊ณ  ์ด 60์  ์ด์ƒ ๋ฐ›์•„์•ผ ํ•ฉ๊ฒฉ์ž…๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๊ณผ๋ชฉ๋ณ„๋กœ 40% ๋ฏธ๋งŒ ์ทจ๋“ํ•˜๋ฉด ๊ณผ๋ฝ์œผ๋กœ ๋–จ์–ด์ง‘๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง์˜ ์ดํ•ด ๊ณผ๋ชฉ์€ ๋ฌธํ•ญ์ˆ˜๊ฐ€ ์ ์ง€๋งŒ ๊ณต๋ถ€์•ˆํ•˜๋ฉด ๊ณผ๋ฝ๋  ์ˆ˜ ์žˆ์œผ๋‹ˆ ๊ผญ ๊ณต๋ถ€ํ•˜๊ณ  ๊ฐ€์‹œ๊ธธ ๋ฐ”๋ž๋‹ˆ๋‹ค :)โœ๏ธ 7์ผ ๊ณต๋ถ€์–ด์ œ ๋ญ ๋จน์—ˆ๋Š”์ง€..

    AWS cloudfront ๋ฐฐํฌ ํ™”๋ฉด์ด S3 ๊ฒฐ๊ณผ์™€ ๋‹ค๋ฅธ ์ด์œ (feat. ๋ฌดํšจํ™”)

    S3์˜ ์—…๋ฐ์ดํŠธ๋œ ์ •์  ๋ฆฌ์†Œ์Šค๋Š” ์ตœ์‹  ์ƒํƒœ์ธ๋ฐ, cloudfront์˜ ๋ฐฐํฌ ๊ฒฐ๊ณผ๋Š” ์ด์ „ ๋ฐฐํฌ ๊ฒฐ๊ณผ์ธ ๋ฌธ์ œ๋ฅผ ๊ฒช์–ด๋ณด์‹  ์  ์žˆ์œผ์‹ ๊ฐ€์š”? ์ €๋Š” ์ตœ๊ทผ์— ํ•ด๋‹น ์›์ธ์„ ๋ชฐ๋ผ ์ƒˆ๋ฒฝ ๋‚ด๋‚ด ํ•ด๋งธ๋˜ ๊ฒฝํ—˜์ด ์žˆ์–ด ์ œ๊ฐ€ ๊ฒช์—ˆ๋˜ ์–ด๋ ค์›€์„ ๋˜‘๊ฐ™์ด ๊ฒช๊ณ  ๊ณ„์‹  ๋ถ„๋“ค์„ ์œ„ํ•ด ํ•ด๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๊ธฐ๋กํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค! ๋ฌธ์ œS3์™€ cloudfront๋ฅผ ์„ฑ๊ณต์ ์œผ๋กœ ์—ฐ๋™ํ•˜๊ณ  ๋„๋ฉ”์ธ์„ ์ด์šฉํ•˜๊ณ  ์žˆ๋‹ค๊ฐ€, ํ”„๋กœ์ ํŠธ์˜ ์—…๋ฐ์ดํŠธ๊ฐ€ ํ•„์š”ํ•ด์„œ ์ƒˆ๋กœ ๋ฐฐํฌ๋ฅผ ์ง„ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ S3 ์ •์  ๋ฆฌ์†Œ์Šค๋Š” ์—…๋ฐ์ดํŠธ๋œ ๋ฒ„์ „์ด ์ž˜ ๋‚˜์˜ค์ง€๋งŒ, ์‹ค์ œ ๋„๋ฉ”์ธ์ด ๋ณด์—ฌ์ฃผ๋Š” ๋ฆฌ์†Œ์Šค๋Š” ์—…๋ฐ์ดํŠธํ•˜๊ธฐ ์ „์˜ ๋ฆฌ์†Œ์Šค์˜€๋Š”๋ฐ์š”, ์ด๋Š” cloudfront๋กœ ๋ฐฐํฌ๋œ S3 ์ •์  ๋ฆฌ์†Œ์Šค๋“ค์ด AWS ์—ฃ์ง€ ๋กœ์ผ€์ด์…˜์— ์ „์†ก๋˜์–ด ์•„์ง ์ƒˆ๋กœ ์—…๋ฐ์ดํŠธ๊ฐ€ ๋˜์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์ด ์—ฃ์ง€ ๋กœ์ผ€์ด์…˜์˜ ์บ์‹œ๋Š” 24์‹œ๊ฐ„์œผ..

    VSCode Vitest "์ด ์ž‘์—… ์˜์—ญ์—์„œ ์•„์ง ๋ฐœ๊ฒฌ๋œ ํ…Œ์ŠคํŠธ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค." ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

    vitest ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์„ค์น˜์™€ extension ์„ค์น˜, ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ๊นŒ์ง€ ๋ชจ๋‘ ๋‹ค ํ•œ ์ดํ›„, vitest extention์„ ์ด์šฉํ•˜์—ฌ ํ…Œ์ŠคํŠธ๋ฅผ ์‹คํ–‰ํ•˜๋ ค๊ณ  ํ• ๋•Œ ์•„๋ž˜ ์ด๋ฏธ์ง€์™€ ๊ฐ™์ด ํ…Œ์ŠคํŠธ ํ•ญ๋ชฉ์ด ๋œจ์ง€ ์•Š๋Š” ์˜ค๋ฅ˜๊ฐ€ ์žˆ์—ˆ๋‹ค.ํ•ด๋‹น ์ด์Šˆ๋ฅผ ๊ฒช๊ณ  ์žˆ๋Š” ์‚ฌ๋žŒ๋“ค์ด ๊ฝค๋‚˜ ๋งŽ์ด ์žˆ๋‹ค.https://github.com/vitest-dev/vscode/issues/196 Vitest extension completely non functional on mac · Issue #196 · vitest-dev/vscodeDescribe the bug Vitest completely fails to work on any of my vitest repos To Reproduce Steps to reproduce the behavi..

    [Docker] docker: Error response from daemon: Ports are not available | address already in use ํฌํŠธ์ถฉ๋Œ ํ•ด๊ฒฐ

    ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰ํ•˜๋ ค๋Š” ๋„์ค‘ 3000๋ฒˆ ํฌํŠธ๊ฐ€ ๋กœ์ปฌ์—์„œ ์ด๋ฏธ ์‚ฌ์šฉ์ค‘์ด์–ด์„œ ํฌํŠธ์ถฉ๋Œ(์ด๋ฏธ ์‚ฌ์šฉ์ค‘) ์˜ค๋ฅ˜๊ฐ€ ๋‚ฌ๋‹ค. ์—ด๋ ค์žˆ๋Š” port ๋‹ซ๊ณ  ์ƒˆ๋กœ ์‹คํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•1) ์—ด๋ฆฐ ํฌํŠธ ํ™•์ธํ•˜๊ธฐsudo lsof -PiTCP -sTCP:LISTEN2) ํŠน์ • ํฌํŠธ ํ™•์ธํ•˜๊ธฐsudo lsof -i :[port]sudo lsof -i :3000 // example3) ํฌํŠธ ๋‹ซ๊ธฐํŠน์ • ํฌํŠธ๋ฅผ ํ™•์ธํ•œ ๊ฒฐ๊ณผ์—์„œ PID๋ฅผ ์ด์šฉํ•˜์—ฌ ํŠน์ • ํฌํŠธ๋ฅผ ๋‹ซ์•„์ค„ ์ˆ˜ ์žˆ๋‹ค.sudo kill -9 [PID] ์ดํ›„ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ํŠน์ • ํฌํŠธ์— ๋Œ€ํ•œ ์—ฐ๊ฒฐ์ด ์ž˜ ์ด๋ฃจ์–ด์งˆ ๊ฒƒ์ด๋‹ค. ๋”๋ณด๊ธฐ์ฐธ๊ณ https://jongsky.tistory.com/41 (Mac) port ํ™•์ธ ๋ฐฉ๋ฒ• ๋ฐ 5000 port ์‚ญ์ œ ๋ฐฉ๋ฒ•1. ๊ธ€์„ ์ž‘์„ฑํ•˜๊ฒŒ ๋œ ๊ณ„๊ธฐ docker-compose๋ฅผ..