๐ŸŽ„ ์„ฑ์žฅ์ผ์ง€ 3.2

์ฑ… ํ–‰๋ณตํ•œ ์ด๊ธฐ์ฃผ์˜์ž(์›จ์ธ ๋‹ค์ด์–ด)์˜ ๋‚ด์šฉ์— ์ž๊ทน๋ฐ›์•„ ์‹œ์ž‘ํ•˜๋Š” ์†Œ๋ฐ•ํ•œ ์„ฑ์žฅ๊ธฐ๋ก

์‚ด์•„์žˆ๋Š” ๊ฝƒ๊ณผ ์ฃฝ์€ ๊ฝƒ์€ ์–ด๋–ป๊ฒŒ ๊ตฌ๋ณ„ํ•˜๋Š”๊ฐ€?
์„ฑ์žฅํ•˜๊ณ  ์žˆ๋Š” ๊ฒƒ์ด ์‚ด์•„ ์žˆ๋Š” ๊ฒƒ์ด๋‹ค.
์ƒ๋ช…์˜ ์œ ์ผํ•œ ์ฆ๊ฑฐ๋Š” ์„ฑ์žฅ์ด๋‹ค!

๐ŸŒณ ํ‚ค์›Œ๋“œ (1.0)
์ตœ๋Œ€ํ•œ ๊ฐ„๋‹จํ•˜๊ฒŒ ์ •๋ฆฌ, ์ถ”ํ›„์— ๋ณด๋ฉด์„œ ์Šค์Šค๋กœ ์„ค๋ช…
๐Ÿ‰ ๊ฒฝํ—˜ ์œ„์ฃผ๋กœ (2.0)
๋‹จ์ˆœ ์ •๋ณด๋ฅผ ์ „๋‹ฌํ•˜๊ธฐ๋ณด๋‹ค ๋ฌด์—‡์„ ๋ฐฐ์› ๊ณ  ์–ด๋–ป๊ฒŒ ํ•ด๊ฒฐํ–ˆ๋Š”์ง€ ์งง๊ณ  ๊ฐ„๋‹จํ•˜๊ฒŒ ์ž‘์„ฑ
โ„๏ธ ์ •ํ•ด์ง„ ํ…œํ”Œ๋ฆฟ์— ๋งž์ถฐ์„œ (3.0)
ํ‚ค์›Œ๋“œ, ๊ฒฝํ—˜ ๋ชจ๋‘ ์ข‹๋‹ค. ๋‹ค๋งŒ ๋งค์ผ ์ž‘์„ฑํ•˜๊ธฐ๋กœ ๋งˆ์Œ ๋จน์€๋งŒํผ ํ•ต์‹ฌ๋งŒ ๊ฐ„๊ฒฐํ•˜๊ฒŒ ์ •๋ฆฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ…œํ”Œ๋ฆฟ์„ ์ž‘์„ฑ
(3.1) 230102๋ถ€ํ„ฐ ์‹œ์ž‘๋˜๋Š” ํ•™์Šต์— ๊ด€ํ•œ ๋‚ด์šฉ ์ถ”๊ฐ€
(3.2) 230313๋ถ€ํ„ฐ ์ข€๋” ๊ฒฝํ—˜, ๊ฐ์ • ์œ„์ฃผ์˜ ๋‚ด์šฉ๋„ ๋‹ด๊ธฐ!

๐Ÿ”‘ ์˜ค๋Š˜์˜ ํ‚ค์›Œ๋“œ

git stash

  • a ๋ธŒ๋žœ์น˜์—์„œ b ๋ธŒ๋žœ์น˜๋ฅผ ๋”ฐ๊ณ  ๋กœ์ปฌ์—์„œ๋งŒ b ๋ธŒ๋žœ์น˜์— ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ๋ฐœ์ƒํ•˜๋ฉด a ๋ธŒ๋žœ์น˜๋กœ ์Šค์œ„์น˜๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค.
    • ์ด์œ : commit์„ ๊ธฐ์ค€์œผ๋กœ๋Š” ๋ณ€๊ฒฝ์ด ์ผ์–ด๋‚˜์ง€ ์•Š์•˜๊ณ , ๋กœ์ปฌ์—์„œ ์›Œํ‚น ๋””๋ ‰ํ† ๋ฆฌ์—์„œ๋งŒ ๋ณ€๊ฒฝ์ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— b์—์„œ์˜ ๋ณ€๊ฒฝ์‚ฌํ•ญ ์ด a๋กœ ๊ทธ๋Œ€๋กœ ๊ฐ€์ ธ๊ฐ€์ง„๋‹ค.
    • ์ด ๋•Œ! stash ํ˜น์€ commit์„ ํ•ด์„œ ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ๋ฐ˜์˜ํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ, ์†”์งํžˆ ์ปค๋ฐ‹์€ ๊ธฐ๋Šฅ ๋‹จ์œ„๋กœ ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๊ธฐ์— ํ•จ๋ถ€๋กœ commit์„ ํ•˜๊ธฐ ์• ๋งคํ•˜๋‹ค.
    • ์ด ๋•Œ stash๋ฅผ ํ†ตํ•ด ์ตœ๊ทผ ์ปค๋ฐ‹ ๊ธฐ์ค€ ๋‹ค์Œ ๋ณ€๊ฒฝ์‚ฌํ•ญ๋“ค์„ ๋”ฐ๋กœ ๋นผ๋‘๋Š” ๊ฒƒ์ด๋‹ค.
    • ๊ทธ๋ ‡๋‹ค๋ฉด ์–ธ์ œ ๋ธŒ๋žœ์น˜๋ฅผ ๋ณ€๊ฒฝํ•˜๊ธฐ ์ „์— commit ํ˜น์€ stash๋ฅผ ํ•˜๋ผ๋Š” ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ• ๊นŒ?
    • a ๋ธŒ๋žœ์น˜์—์„œ b ๋ธŒ๋žœ์น˜๋ฅผ ๋”ฐ๊ณ  b ๋ธŒ๋žœ์น˜์—์„œ ์ž‘์—…์„ ํ•œ ๋’ค ์ปค๋ฐ‹์„ ํ•œ๋‹ค. ๊ทธ๋Ÿฌ๊ณ  ๋‚˜์„œ ๋˜๋‹ค์‹œ ๋กœ์ปฌ(์›Œํ‚น ๋””๋ ‰ํ† ๋ฆฌ)์—์„œ ์ž‘์—…์„ ํ•˜๊ณ  a๋กœ ์˜ฎ๊ธฐ๋ ค๊ณ  ํ•˜๋ฉด ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.
    • ์ด ๋•Œ, stash๋กœ ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ์ž ๊น ๋นผ๋‘๋“ ๊ฐ€ ์•„๋‹ˆ๋ฉด ๋˜๋‹ค์‹œ ์ปค๋ฐ‹์„ ํ•ด์„œ ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ๋ฐ˜์˜ํ•˜๊ณ  ์˜ฎ๊ธฐ๋ฉด ๋œ๋‹ค.

el.firstChild๊ฐ€ ๋•Œ๋กœ๋Š” textNode๋กœ ๋œจ์ง€ ์•Š์„ ๋•Œ!(feat. ๋ธŒ๋ผ์šฐ์ €)

  • ๋ธŒ๋ผ์šฐ์ €์—์„œ๋Š” html ํŒŒ์ผ๋“ค์˜ ์š”์†Œ๋“ค์ด ์ตœ์ ํ™”๋˜์–ด ๊ณต๋ฐฑ์—†์ด(textNode๊ฐ€ ์—†์ด) ์ •๋ฆฌ๋œ๋‹ค.
  • ํ•ด์„œ firstChild๋กœ textNode๊ฐ€ ์•ˆ์ฐํžˆ๊ธฐ๋„ ํ•œ๋‹ค!

ํ…œํ”Œ๋ฆฟ ์—”์ง„์ด๋ž€?

  • ํ…œํ”Œ๋ฆฟ ์–‘์‹๊ณผ ํŠน์ • ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์— ๋”ฐ๋ฅธ ์ž…๋ ฅ ์ž๋ฃŒ๋ฅผ ํ•ฉ์„ฑํ•˜์—ฌ ๊ฒฐ๊ณผ ๋ฌธ์„œ๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด(๋˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด ์ปดํฌ๋„ŒํŠธ). ๊ทธ๋ƒฅ ํ…œํ”Œ๋ฆฟ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค.
  • ์ง€์ •๋œ ํ…œํ”Œ๋ฆฟ ์–‘์‹์— ๋ฐ์ดํ„ฐ๊ฐ€ ํ•ฉ์ณ์ ธ์„œ html ๋ฌธ์„œ๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด ์ฆ‰, ํ™”๋ฉด์„ ์–ด๋–ป๊ฒŒ ๋งŒ๋“ค์ง€ ๋„์™€์ฃผ๋Š” ์–‘์‹์ด๋‹ค.
  • ๊ทธ์ € ์ด๋ฆ„์„ ํ…œํ”Œ๋ฆฟ ์—”์ง„์ด๋ผ๊ณ  ๋ถ™์—ฌ์„œ ์กฐ๊ธˆ ํ—ท๊ฐˆ๋ฆฐ๋‹ค.
  • Handlebars, Mustache ๋“ฑ์ด ์žˆ๋‹ค.(๋„“๊ฒŒ ๋ณด๋ฉด react, vue ๋“ฑ๋„ ํ…œํ”Œ๋ฆฟ ์—”์ง„์ด๋‹ค.)

์ฐธ๊ณ 

๐Ÿ“ ์š”์•ฝ ๋ฐ ํ•˜๋ฃจ ๊ฐ„๋‹จ ํšŒ๊ณ 

์˜ค๋Š˜ ํ•˜๋ฉด ๋– ์˜ค๋ฅด๋Š” ๊ฒƒ. typescript class component์™€ vanilla extract๋กœ ๋ฆฌํŽ™ํ† ๋งํ•ด๋ณด๊ฒ ๋‹ค๊ณ  ํ•˜๋ฃจ์ข…์ผ ๋™๋™๊ฑฐ๋ฆฐ ๊ฒƒ๊ณผ git branch๋ฅผ ์˜ค๊ฐ€๋Š”๋ฐ ํ—ท๊ฐˆ๋ฆฌ๋Š” ๊ฐœ๋…์ด ์ƒ๊ฒจ์„œ stash ์—ด์‹ฌํžˆ ๊ณต๋ถ€ํ•œ ๊ฒƒ! ๋ญ”๊ฐ€ ๋”ฑ ๋ˆˆ์— ๋ณด์ด๋Š” ๊ฒฐ๊ณผ๋ฌผ์ด ์—†์ง€๋งŒโ€ฆ(๊ทธ๋ž˜๋„ dim์ฒ˜๋ฆฌํ•˜๋Š” ์ปดํฌ๋„ŒํŠธ๋Š” ํ•˜๋‚˜ ๋งŒ๋“ค์—ˆ๋‹ค ใ… ) ๋ญ”๊ฐ€ ์–ป์€ ๊ฒŒ ๋งŽ์€ ๋Š๋‚Œ์ด๋‹ค. ๋‚จ์€ ์‹œ๊ฐ„ ๋™์•ˆ ์ตœ๋Œ€ํ•œ html, css, ts๋กœ ๊ตฌ์„ฑ๋˜์–ด์žˆ๋˜ ์›น ํŽ˜์ด์ง€๋ฅผ component๋กœ ๋‚˜๋ˆ„๊ณ  vanilla extract์„ ์ ์šฉํ•ด๋ณผ ์ƒ๊ฐ์ธ๋ฐ ๋ถ€๋”” ์ž˜ ๋์œผ๋ฉด ์ข‹๊ฒ ๋‹ค. ์•„๋‹ˆ ๊ทธ๋ƒฅ ๋ฌด์กฐ๊ฑด ๋  ๊ฒƒ์ด๋‹ค!!!

์˜ค๋Š˜์˜ ์ž˜ํ•œ ์ 

  • git stash ๋ฅผ ์ •๋ง ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ๋‹ค!!!
  • ์ƒˆ๋กœ์šด ๊ฒƒ(vanilla extract, ts component)์„ ์‹œ๋„ํ•œ ๊ฒƒ
  • ์—ด์‹ฌํžˆ ๊ณต์‹๋ฌธ์„œ ๋ณด๋ฉด์„œ ๋™๋™๊ฑฐ๋ ค๋ณธ ๊ฒƒ

์˜ค๋Š˜์˜ ์•„์‰ฌ์šด ์ 

  • ๋‚˜๋ฆ„ ์—ด์‹ฌํžˆ ํ•œ๋‹ค๊ณ  ํ–ˆ๋Š”๋ฐ, ์ง‘์ค‘๋ ฅ์ด ์•„์ฃผ ์ข‹์ง„ ์•Š์•˜๋˜ ๊ฑฐ ๊ฐ™๋‹ค. ๐Ÿง