๐Ÿ’ป FE 63

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ฐ์ดํ„ฐ ํ๋ฆ„์„ ์กฐ์ •ํ•˜๊ธฐ ์œ„ํ•ด Effect๋ฅผ ์“ฐ์ง€ ๋งˆ์„ธ์š”

์œ ์ฆˆ ์ดํŽ™ํŠธ ์‚ฌ์šฉ ๋ชฉ์  : ์ปดํฌ๋„ŒํŠธ๋ฅผ React๊ฐ€ ์•„๋‹Œ ์œ„์ ฏ, ๋„คํŠธ์›Œํฌ, ๋˜๋Š” ๋ธŒ๋ผ์šฐ์ € DOM๊ณผ ๊ฐ™์€ ์™ธ๋ถ€ ์‹œ์Šคํ…œ๊ณผ ๋™๊ธฐํ™” ์–ด๋–ค ์ฝ”๋“œ๊ฐ€ Effect์— ์žˆ์–ด์•ผ ํ•˜๋Š”์ง€ ์ด๋ฒคํŠธ ํ•ธ๋“ค๋Ÿฌ์— ์žˆ์–ด์•ผ ํ•˜๋Š”์ง€ ํ™•์‹คํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ ์ด ์ฝ”๋“œ๊ฐ€ ์‹คํ–‰๋˜์–ด์•ผ ํ•˜๋Š” ์ด์œ ๋ฅผ ์ž๋ฌธํ•ด ๋ณด์„ธ์š”. ์ปดํฌ๋„ŒํŠธ๊ฐ€ ์‚ฌ์šฉ์ž์—๊ฒŒ ํ‘œ์‹œ๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์‹คํ–‰๋˜์–ด์•ผ ํ•˜๋Š” ์ฝ”๋“œ์—๋งŒ Effect๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”. ํ•ต์‹ฌ ํŒจํ„ด:๋ Œ๋”๋ง ๋กœ์ง ๋‚ด์—์„œ ํŒŒ์ƒ ์ƒํƒœ ๊ณ„์‚ฐ:์–ด๋–ค ์ƒํƒœ $A๊ฐ€ ๋ณ€๊ฒฝ๋  ๋•Œ $B ์ƒํƒœ๋„ $A์— ๊ธฐ๋ฐ˜ํ•˜์—ฌ ๋ณ€๊ฒฝ๋˜์–ด์•ผ ํ•œ๋‹ค๋ฉด, $B๋ฅผ ๋ณ„๋„์˜ useState๋กœ ๊ด€๋ฆฌํ•˜๊ธฐ๋ณด๋‹ค๋Š” $A๋กœ๋ถ€ํ„ฐ ํŒŒ์ƒ๋œ ๊ฐ’์œผ๋กœ ๋ Œ๋”๋ง ๋กœ์ง ๋‚ด์—์„œ ์ง์ ‘ ๊ณ„์‚ฐํ•ฉ๋‹ˆ๋‹ค.์ด๊ฒƒ์€ $B๊ฐ€ $A์˜ ๋ณ€ํ™”์— ์ฆ‰๊ฐ์ ์œผ๋กœ ๋ฐ˜์‘ํ•˜์—ฌ ์žฌ๊ณ„์‚ฐ๋˜์–ด์•ผ ํ•  ๋•Œ ๊ฐ€์žฅ ํšจ์œจ์ ์ธ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.์ด๋ฒคํŠธ ํ•ธ๋“ค๋Ÿฌ ๋‚ด์—์„œ ์—ฌ๋Ÿฌ ์ƒํƒœ..

๐Ÿ’ป FE 2025.05.24

NodeList vs HTMLCollection

NodeList์™€ HTMLCollection์€ ๋ชจ๋‘ DOM(๋ฌธ์„œ ๊ฐ์ฒด ๋ชจ๋ธ)์—์„œ ์—ฌ๋Ÿฌ ์š”์†Œ๋ฅผ ์„ ํƒํ•˜์—ฌ ๋ฐ˜ํ™˜ํ•  ๋•Œ ์‚ฌ์šฉ๋˜๋Š” ๋ฐฐ์—ด๊ณผ ์œ ์‚ฌํ•œ(array-like) ๊ฐ์ฒด์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ค‘์š”ํ•œ ์ฐจ์ด์ ์ด ์žˆ์œผ๋ฉฐ, ์ด ์ฐจ์ด์ ์— ๋”ฐ๋ผ ํ•  ์ˆ˜ ์žˆ๋Š” ์ผ๊ณผ ์ฃผ์˜ํ•  ์ ์ด ๋‹ฌ๋ผ์ง‘๋‹ˆ๋‹ค.NodeList vs HTMLCollection: ์ฐจ์ด์  ๋ฐ ํ™œ์šฉ ๊ฐ€๋Šฅ์„ฑ1. ํ•ต์‹ฌ ์ฐจ์ด: ์‹ค์‹œ๊ฐ„(Live) vs. ์ •์ (Static)์ด๊ฒƒ์ด ๋‘ ๊ฐ์ฒด์˜ ๊ฐ€์žฅ ๊ทผ๋ณธ์ ์ธ ์ฐจ์ด์ ์ด๋ฉฐ, ํ™œ์šฉ ๋ฐฉ์‹์— ํฐ ์˜ํ–ฅ์„ ๋ฏธ์นฉ๋‹ˆ๋‹ค.HTMLCollection (์‹ค์‹œ๊ฐ„ - Live)DOM ๊ตฌ์กฐ์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ž๋™์œผ๋กœ ์‹ค์‹œ๊ฐ„ ๋ฐ˜์˜ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, HTMLCollection์„ ์–ป์€ ํ›„์— DOM์—์„œ ํ•ด๋‹น ์ปฌ๋ ‰์…˜์— ํฌํ•จ๋  ์š”์†Œ๊ฐ€ ์ถ”๊ฐ€๋˜๊ฑฐ๋‚˜ ์ œ๊ฑฐ๋˜๋ฉด, HTMLCollection..

๐Ÿ’ป FE 2025.05.16

์ƒ์„ฑ!

Element: insertAdjacentHTML() ๋ฉ”์„œ๋“œ - Web API | MDNElement ์ธํ„ฐํŽ˜์ด์Šค์˜ insertAdjacentHTML() ๋ฉ”์„œ๋“œ๋Š” ์ง€์ •๋œ ํ…์ŠคํŠธ๋ฅผ HTML ํ˜น์€ XML๋กœ ํŒŒ์‹ฑํ•˜๊ณ  ๊ฒฐ๊ณผ ๋…ธ๋“œ๋“ค์„ ์ง€์ •๋œ ์œ„์น˜์˜ DOM ํŠธ๋ฆฌ์— ์‚ฝ์ž…ํ•ฉ๋‹ˆ๋‹ค.developer.mozilla.org๋ชจ๋“  ๊ฒƒ์ด ์žฌ๋ Œ์ €๋ง ๋˜์ง€ ์•Š์Œ. "beforebegin"์š”์†Œ ์ด์ „์— ์œ„์น˜ํ•ฉ๋‹ˆ๋‹ค. ์˜ค์ง ์š”์†Œ๊ฐ€ DOM ํŠธ๋ฆฌ์— ์žˆ๊ณ  ๋ถ€๋ชจ ์š”์†Œ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์„ ๋•Œ๋งŒ ์œ ํšจํ•ฉ๋‹ˆ๋‹ค. "afterbegin"์š”์†Œ ๋ฐ”๋กœ ์•ˆ์—์„œ ์ฒ˜์Œ ์ž์‹ ์ด์ „์— ์œ„์น˜ํ•ฉ๋‹ˆ๋‹ค."beforeend"์š”์†Œ ๋ฐ”๋กœ ์•ˆ์—์„œ ๋งˆ์ง€๋ง‰ ์ž์‹ ์ดํ›„์— ์œ„์น˜ํ•ฉ๋‹ˆ๋‹ค. "afterend"์š”์†Œ ์ดํ›„์— ์œ„์น˜ํ•ฉ๋‹ˆ๋‹ค. ์˜ค์ง ์š”์†Œ๊ฐ€ DOM ํŠธ๋ฆฌ์— ์žˆ๊ณ  ๋ถ€๋ชจ ์š”์†Œ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์„ ๋•Œ๋งŒ ์œ ํšจํ•ฉ๋‹ˆ๋‹ค. ..

๐Ÿ’ป FE 2025.05.16

children, childNodes

lastChild -> ํ…์ŠคํŠธ๋…ธ๋“œlastElementChild -> ๋งˆ์ง€๋ง‰ ์š”์†Œ ์ฟผ๋ฆฌ ์…€๋ ‰ํ„ฐ๋Š” ๋ฌธ์„œ๋ฅผ ํ•œ๋ฒˆ ์ „์ฒด ์Šค์บ”ํ•ด์•ผ ํ•˜๋Š”๊ตฌ๋‚˜~ parentNode๊ฐ€ ์“ฐ์ด๋Š” ๊ฒฝ์šฐ๋Š” ๊ณ ์ž‘ ์ด๊ฑฐ. .closet('') -> ์กฐ์ƒ ์ค‘ ๊ฐ€๊นŒ์šด ์กฐ์ƒ -> ์š”์†Œ ํŠธ๋ฆฌ์— ์žˆ๋Š” ์•„๋ฌด ์กฐ์ƒ์„ ์„ ํƒํ• ๋•Œ ์‚ฌ์šฉํ•ฉ๋ฏธ๋‹ค. ๊ฐ™์€ ํ˜•์ œ ์š”์†Œ -> previousElementSlbling, next... ์ƒ์„ฑ!

๐Ÿ’ป FE 2025.05.16

querySelectorAll('li'), getElementsByTagName('li')

์ฝ”๋“œ ๋‚ด์šฉ์€ ํƒœ๊ทธ๋ฅผ ๊ฐ€์ง„ ๋ชจ๋“  ์š”์†Œ๋ฅผ ๋ฌธ์„œ์—์„œ ์ฐพ์•„๋‚ด๋Š” ๋ถ€๋ถ„์ž…๋‹ˆ๋‹ค.const listItemElements = document.querySelectorAll('li');const listItemElements = document.getElementsByTagName('li'); (์ด ์ค„์ด ๊ฐ•์กฐ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.)๊ทธ๋ฆฌ๊ณ  ์ด๋ฏธ์ง€ ํ•˜๋‹จ์˜ ํ•œ๊ตญ์–ด ์„ค๋ช… "์ด๊ฒƒ๋งŒ ์š”์†Œ์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๋ฐ˜์˜ํ•˜๋Š” ์‹ค์‹œ๊ฐ„ ๋ชฉ๋ก์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค"๋Š” ๋ฐ”๋กœ ๋‘ ๋ฒˆ์งธ ๋ฐฉ๋ฒ•์ธ document.getElementsByTagName('li')๋ฅผ ๊ฐ€๋ฆฌํ‚ค๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.์ด๊ฒƒ์ด ์˜๋ฏธํ•˜๋Š” ๋ฐ”๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.document.querySelectorAll('li'): ์ด ๋ฉ”์„œ๋“œ๋Š” ์ฝ”๋“œ๊ฐ€ ์‹คํ–‰๋˜๋Š” ๊ทธ ์ˆœ๊ฐ„ ๋ฌธ์„œ์— ์กด์žฌํ•˜๋Š” ๋ชจ๋“  ์š”์†Œ๋“ค์˜ **์ •์ ์ธ(static) ๋ชฉ๋ก..

๐Ÿ’ป FE 2025.05.14

์†์„ฑ , ํ”„๋กœํผํ‹ฐ

์†์„ฑ(Attributes):HTML ์ฝ”๋“œ ์ƒ์—์„œ ์š”์†Œ ํƒœ๊ทธ์— ์ง์ ‘ ์ž‘์„ฑ๋ฉ๋‹ˆ๋‹ค. (์˜ˆ: ์—ฌ๊ธฐ์„œ id, class, value๊ฐ€ ์†์„ฑ์ž…๋‹ˆ๋‹ค.)HTML ๋ฌธ์„œ์˜ ์ดˆ๊ธฐ ์ƒํƒœ๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.ํ”„๋กœํผํ‹ฐ(Properties):๋ธŒ๋ผ์šฐ์ €๊ฐ€ HTML ์ฝ”๋“œ๋ฅผ ํŒŒ์‹ฑํ•˜์—ฌ DOM ์š”์†Œ๋ฅผ ์ƒ์„ฑํ•  ๋•Œ, ์ด DOM ๊ฐ์ฒด์— ์ž๋™์œผ๋กœ ์ถ”๊ฐ€๋˜๋Š” ๊ฐ์ฒด์˜ ์†์„ฑ์ž…๋‹ˆ๋‹ค.ํ•ด๋‹น DOM ์š”์†Œ์˜ ํ˜„์žฌ ์ƒํƒœ๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ element.id, element.className, element.value์™€ ๊ฐ™์ด ์ ‘๊ทผํ•˜๊ณ  ์กฐ์ž‘ํ•˜๋Š” ๋Œ€์ƒ์ž…๋‹ˆ๋‹ค.๊ด€๊ณ„ ๋ฐ ๋™๊ธฐํ™”:๋ธŒ๋ผ์šฐ์ €๋Š” HTML ์†์„ฑ์„ ์ฝ์–ด์™€ ํ•ด๋‹น DOM ๊ฐ์ฒด์˜ ์ดˆ๊ธฐ ํ”„๋กœํผํ‹ฐ ๊ฐ’์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.๋งŽ์€ ๊ฒฝ์šฐ, ์†์„ฑ๊ณผ ํ”„๋กœํผํ‹ฐ๋Š” ์„œ๋กœ **๋งคํ•‘(Mapping)**๋˜์–ด ์žˆ์œผ๋ฉฐ **"์‹ค์‹œ๊ฐ„ ๋™๊ธฐํ™”(live syn..

๐Ÿ’ป FE 2025.05.14

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ bind ์–ธ์ œ ์“ฐ๋ƒ

Function.prototype.bind() - JavaScript | MDNbind() ๋ฉ”์†Œ๋“œ๊ฐ€ ํ˜ธ์ถœ๋˜๋ฉด ์ƒˆ๋กœ์šด ํ•จ์ˆ˜๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ๋ฐ›๊ฒŒ๋˜๋Š” ์ฒซ ์ธ์ž์˜ value๋กœ๋Š” this ํ‚ค์›Œ๋“œ๋ฅผ ์„ค์ •ํ•˜๊ณ , ์ด์–ด์ง€๋Š” ์ธ์ž๋“ค์€ ๋ฐ”์ธ๋“œ๋œ ํ•จ์ˆ˜์˜ ์ธ์ˆ˜์— ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.developer.mozilla.org bind() ๋ฉ”์„œ๋“œ๊ฐ€ ์‹ค๋ฌด์—์„œ ์‚ฌ์šฉ๋˜๋Š” ์ฃผ์š” ๊ฒฝ์šฐ 1. ์ด๋ฒคํŠธ ํ•ธ๋“ค๋Ÿฌ์—์„œ this ์ปจํ…์ŠคํŠธ ๊ณ ์ •Click Meconst myObject = { name: 'MyObject', handleClick: function(event) { // bind๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•˜๋‹ค๋ฉด ์—ฌ๊ธฐ์„œ this๋Š” ๋ณดํ†ต ์š”์†Œ๋ฅผ ๊ฐ€๋ฆฌํ‚ต๋‹ˆ๋‹ค. console.log(`ํด๋ฆญ ์ด๋ฒคํŠธ ๋ฐœ์ƒ!`); console.log(`this์˜ name ..

"ํ•จ์ˆ˜๋Š” ๊ฐ์ฒด๋‹ค"

ํ”„๋กœํผํ‹ฐ์™€ ๋ฉ”์„œ๋“œ๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.์„ค๋ช…: ์ผ๋ฐ˜ ๊ฐ์ฒด์ฒ˜๋Ÿผ ํ•จ์ˆ˜์—๋„ ํ‚ค-๊ฐ’ ์Œ์˜ ํ”„๋กœํผํ‹ฐ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ๋‚ด์žฅ๋œ ํ”„๋กœํผํ‹ฐ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.ํ•ต์‹ฌ ํŒจํ„ด: ํ•จ์ˆ˜.ํ”„๋กœํผํ‹ฐ๋ช… = ๊ฐ’; ๋˜๋Š” ํ•จ์ˆ˜.๋ฉ”์„œ๋“œ๋ช…();์˜ˆ์‹œ:function sayHello() { console.log("Hello!");}sayHello.description = "์ธ์‚ฌ๋ฅผ ํ•˜๋Š” ํ•จ์ˆ˜์ž…๋‹ˆ๋‹ค."; // ์ปค์Šคํ…€ ํ”„๋กœํผํ‹ฐ ์ถ”๊ฐ€console.log(sayHello.description); // "์ธ์‚ฌ๋ฅผ ํ•˜๋Š” ํ•จ์ˆ˜์ž…๋‹ˆ๋‹ค."console.log(sayHello.name); // "sayHello" (๋‚ด์žฅ ํ”„๋กœํผํ‹ฐ: ํ•จ์ˆ˜ ์ด๋ฆ„)console.log(sayHello.length); // 0 (๋‚ด์žฅ ํ”„๋กœํผํ‹ฐ: ๊ธฐ๋Œ€ํ•˜๋Š” ์ธ์ž์˜ ์ˆ˜)const numbers = ..

๋‹ค์–‘ํ•œ ํ™”์‚ดํ‘œ ํ•จ์ˆ˜ ๊ตฌ๋ฌธ

์ค‘์š”ํ•œ ์ฐธ๊ณ  ์‚ฌํ•ญ. ์ด ๊ธ€์˜ ๋ ๋ถ€๋ถ„์— ์žˆ๋Š” "ํ•จ์ˆ˜๋Š” ๊ฐ์ฒด๋งŒ ๋ฐ˜ํ™˜"ํ•˜๋Š” ํŠน์ˆ˜ ์‚ฌ๋ก€๋ฅผ ๋†“์น˜์ง€ ๋งˆ์„ธ์š”!1) ๊ธฐ๋ณธ ๊ตฌ๋ฌธ:const add = (a, b) => { const result = a + b; return result; // like in "normal" functions, parameters and return statement are OPTIONAL!};์ฃผ๋ชฉํ•˜์‹ค ๋งŒํ•œ ์‚ฌํ•ญ. ๋งˆ์ง€๋ง‰์˜ ์„ธ๋ฏธ์ฝœ๋ก , ํ•จ์ˆ˜ ํ‚ค์›Œ๋“œ ์—†์Œ, ๋งค๊ฐœ๋ณ€์ˆ˜/์ธ์ˆ˜์˜ ๊ด„ํ˜ธ.2) ์ •ํ™•ํžˆ ํ•˜๋‚˜์˜ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๋ฐ›๋Š” ๊ฒฝ์šฐ ๋” ์งง์€ ๋งค๊ฐœ๋ณ€์ˆ˜ ๊ตฌ๋ฌธ.const log = message => { console.log(message); // could also return something of course - this example j..

์ œ๋ฏธ๋‚˜์ด์™€์˜๋Œ€ํ™”

inner join ์€ ์–‘์ชฝ ํ…Œ์ด๋ธ” ๋ชจ๋‘ ์ผ์น˜ํ•˜๋Š” ๊ฒฝ์šฐ ๊ฐ’ ๋ฐ˜ํ™˜outer join ์—์„œ left join ์˜ค๋ฅธ์ชฝ ์ปฌ๋Ÿผ nullnot exists๋Š” ํŠน์ • ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ๋ ˆ์ฝ”๋“œ๊ฐ€ ์ฟผ๋ฆฌ์— ์—†์„๋•Œ ๋ฉ”์ธ ์ฟผ๋ฆฌ๋ฅผ ๋ฐ˜ํ™˜ํ•  ๊ฒฝ์šฐ ์œ ์šฉ. ํŠน์ • ์กฐ๊ฑด์ด ์—†๋Š” ๋ ˆ์ฝ”๋“œ ํ•„ํ„ฐ๋ง ์šฉ๋„rank()๋Š” 1224, dense_rank()๋Š” 12223over()์ ˆ์€ ์œˆ๋„์šฐ๋ฅผ ์ •์˜, ๋ฐ์ดํ„ฐ๋ฅผ partition byํ•˜๊ณ  order by ํ•˜๋Š” ๋ฐฉ๋ฒ• ์ง€์ €์ •, ๊ฐ ํ–‰์— ๋Œ€ํ•ด ์–ด๋–ค ๋ฒ”์œ„์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ง€๊ณ  ๊ณ„์‚ฐํ•  ๊ฒƒ์ธ๊ฐ€. ์ง‘๊ณ„๋ฒ”์œ„. partition by๋Š” ์ „์ฒด ๊ฒฐ๊ณผ ์ง‘ํ•ฉ์„ ๊ทธ๋ฃน์œผ๋กœ ๋‚˜๋ˆ”. ๊ทธ๋ฃน๋ณ„๋กœ ๋ณ„๋„ ๊ณ„์‚ฐ ์ˆ˜ํ–‰. ๊ทธ๋ฃน๋ณ„ ์ง‘๊ณ„ ๊ตฌ๊ฐ„ ์ง€์ •์œˆ๋„์šฐ ํ•จ์ˆ˜ : ๊ฒฐ๊ณผ ์ง‘ํ•ฉ์˜ ๊ฐœ๋ณ„ ํ–‰์„ ์œ ์ง€ํ•˜๋ฉด์„œ ๊ณ„์‚ฐ ๊ฒฐ๊ณผ๋ฅผ ์ถ”๊ฐ€. ๊ฐ ๋ถ€์„œ๋ณ„ ๊ธ‰์—ฌ ์ˆœ์œ„SELECT ์‚ฌ์›..

๐Ÿ’ป FE 2025.05.13

๊นƒ ์›Œํฌ ํ”Œ๋กœ์šฐ

๋‹จ์ˆœํžˆ ๋ช…๋ น์–ด๋ฅผ ๋‚˜์—ดํ•˜๋Š” ๊ฒƒ์„ ๋„˜์–ด, ํ”„๋กœ์ ํŠธ์˜ ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ์ถ”์ ํ•˜๊ณ , ํ˜‘์—…ํ•˜๋Š” ๊ฒƒ ์ •์˜ ์›Œํ‚น ๋””๋ ‰ํ† ๋ฆฌ (Working Directory):๋ฌผ์งˆ์  ๋น„์œ : ์‚ฌ์šฉ์ž๋‹˜์˜ ์ปดํ“จํ„ฐ ์ฑ…์ƒ ์œ„, ํ˜„์žฌ ํŽผ์ณ๋†“๊ณ  ์ž‘์—… ์ค‘์ธ ์‹ค์ œ ํ”„๋กœ์ ํŠธ ํŒŒ์ผ๋“ค์ด ๋†“์ธ ๊ณต๊ฐ„์ž…๋‹ˆ๋‹ค. ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•˜๊ณ , ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๊ฑฐ๋‚˜ ์‚ญ์ œํ•˜๋Š” ๋ชจ๋“  ํ™œ๋™์ด ์—ฌ๊ธฐ์„œ ์ผ์–ด๋‚ฉ๋‹ˆ๋‹ค.์‹ค์ฒด: ํ”„๋กœ์ ํŠธ ํด๋” ๊ทธ ์ž์ฒด์ž…๋‹ˆ๋‹ค. my-project/ ๊ฐ™์€ ๊ณณ์ด์ฃ .์Šคํ…Œ์ด์ง• ์—์–ด๋ฆฌ์–ด (Staging Area, ๋˜๋Š” Index):๋ฌผ์งˆ์  ๋น„์œ : ์ฑ…์ƒ ์œ„์—์„œ ์ž‘์—…ํ•œ ๊ฒฐ๊ณผ๋ฌผ ์ค‘, ๋‹ค์Œ๋ฒˆ ๊ณต์‹ ๊ธฐ๋ก(์ปค๋ฐ‹)์— ํฌํ•จ์‹œํ‚ฌ ๊ฒƒ๋“ค๋งŒ ๊ณจ๋ผ ์˜ฌ๋ ค๋‘๋Š” '๋ฐœํ‘œ ์ค€๋น„๋Œ€'์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ํ•œ๊บผ๋ฒˆ์— ๊ธฐ๋กํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ์˜๋ฏธ ์žˆ๋Š” ๋‹จ์œ„๋กœ ์„ ๋ณ„ํ•˜๋Š” ์ค‘๊ฐ„ ๋‹จ๊ณ„์ž…๋‹ˆ๋‹ค.์‹ค์ฒด: .git ๋””๋ ‰ํ† ๋ฆฌ ๋‚ด์˜ ..

๐Ÿ’ป FE 2025.05.13

๊ธฐ๋ฆฌ๊ธฐ๋ฆฌ๊ธฐ๋ฆฌ๊นƒ !

๋ฒ„์ „๊ด€๋ฆฌ๋ฅผ ์™œ ํ•ด์•ผํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋‚˜์š”? ์Œ, ์ผ๋‹จ ์ˆ˜์ •ํ•œ ๊ฒƒ๋“ค์ด ์˜ˆ์ƒ๋Œ€๋กœ ์•ˆ ๊ตด๋Ÿฌ๊ฐˆ ์ˆ˜ ๋„ ์žˆ๊ณ , ์ด์ „์˜ ์ฝ”๋“œ๊ฐ€ ํ•„์š”ํ•œ ์ƒํ™ฉ๋„ ์–ธ์ œ๋“ ์ง€ ์žˆ์„ ์ˆ˜ ์žˆ๊ณ , ๋˜ ํƒ€์ธ๊ณผ ํ˜‘์—…ํ• ๋•Œ ์ฝ”๋“œ์˜ ํƒ€์ž„๋ผ์ธ์„ ํ™•์ธํ•˜๊ณ  ๋ณ‘ํ•ฉํ•˜๊ธฐ์—๋„ ์ˆ˜์›”ํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. git add, git commit, git push์˜ ์ฐจ์ด์ ์„ ์„ค๋ช…ํ•ด๋ณด์„ธ์š”add๋Š” ๋‚ด๊ฐ€ ์ˆ˜์ •ํ–ˆ๊ณ  ์ปค๋ฐ‹ํ•˜๊ณ  ์‹ถ์€ ํŒŒ์ผ์„ ์ถ”๊ฐ€ํ•˜๋Š”๊ฒƒ ? -> ์Šคํ…Œ์ด์ง• ๊ตฌ์—ญ -> ์ค€๋น„์ปค๋ฐ‹์€ ์ˆ˜์ •์‚ฌํ•ญ์„ ๋ฉ”๋ชจ์™€ ํ•จ๊ป˜ ์ €์žฅํ•˜๋Š” ๊ฒƒ์ด๊ณ  -> ๋ ˆํŒŒ์‹œํ† ๋ฆฌ์— ์ด๋ ฅ -> ์ €์žฅํ‘ธ์‹œ๋Š” ์ปค๋ฐ‹๋œ ์‚ฌํ•ญ์„ ๊นƒํ—ˆ๋ธŒ์™€ ๊ฐ™์€ ์ €์žฅ์†Œ์— ์—…๋กœ๋“œ ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. -> ์›๊ฒฉ ์ €์žฅ์†Œ ์—…๋กœ๋“œ -> ๊ณต์œ  .gitignore ํŒŒ์ผ์€ ์™œ ํ•„์š”ํ•œ๊ฐ€์š”? ์œ ๋ฃŒ api๋ฅผ ๋‚จ์ด ์“ฐ๋ฉด ๋‚ด ๋ˆ์ด ๋‚˜๊ฐ. ์šฉ๋Ÿ‰ ํฐ ๋ชจ๋“ˆ์€ ์•ˆ ์˜ฌ๋ฆฌ๊ธฐ ๋กœ๊ทธํŒŒ์ผ, ์ž„์‹œ ํŒŒ์ผ ..

๐Ÿ’ป FE 2025.05.13