MapleStory Finger Point

์ตœ์‹  ๊ธ€ Public

more

MSA(Microservices Architecture) ๊ฐœ๋…

๋ชฉ์ฐจย ย ย ย ์ด๋ฒˆ์— ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด์„œ MSA ๋ฐฉ์‹์„ ๋„์ž…ํ•ด๋ณด๊ธฐ๋กœ ํ–ˆ์—ˆ๋‹ค. ๊ทธ๋ž˜์„œ MSA ์— ๋Œ€ํ•œ ๊ณต๋ถ€๋„ ํ•˜๊ณ  ์–ด๋ ต๊ฒŒ ํ”„๋กœ์ ํŠธ ์„ธํŒ…๊นŒ์ง€ ํ–ˆ์ง€๋งŒ.. ์ง„ํ–‰ํ•˜๋ ค๋˜ ํ”„๋กœ์ ํŠธ๊ฐ€ MSA ๋ฅผ ์‚ฌ์šฉํ•  ๋งŒํ•œ ํ”„๋กœ์ ํŠธ๋„ ์•„๋‹ ๋ฟ๋”๋Ÿฌ, ๋น„ํšจ์œจ์ ์ธ ๋ถ€๋ถ„์ด ๋งŽ์•„์„œ (์„œ๋ฒ„๋ฅผ ์—ฌ๋Ÿฌ๊ฐœ ์ผœ์•ผํ•จ) ๊ฒฐ๊ตญ MSA ๋ฐฉ์‹์€ ํฌ๊ธฐํ•˜๊ฒŒ๋˜์—ˆ๋‹ค. ใ…œใ…œ ๊ทธ๋ž˜์„œ ์ด๋ก ์ด๋ผ๋„ ๋„์ ๋„์  ํ•ด ๋ณผ ์˜ˆ์ •..ย ย ๋Œ€ํ‘œ ๊ฐœ๋…ย API Gateway : Spring Cloud Gateway ์™€ Webflux ๋กœ ๊ตฌํ˜„Service Discovery : Netflix Eureka ์‚ฌ์šฉ์œผ๋กœ ๊ตฌํ˜„Config Server : Spring Cloud Config ์‚ฌ์šฉ์œผ๋กœ ๊ตฌํ˜„ย ย MSA๋ž€?MSA(Microservices Architecture, ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ์•„ํ‚คํ…์ฒ˜)๋Š”์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ..

[Project] WebSocket ์›น ์†Œ์ผ“ ๊ตฌํ˜„ (์‹ค์‹œ๊ฐ„ ์œ„์น˜ ์ •๋ณด)

๋ชฉ์ฐจย ย ย WebSocket ์„ ์จ๋ณด์žย ํ”„๋กœ์ ํŠธ์—์„œ ์‹ค์‹œ๊ฐ„ ์œ„์น˜์ •๋ณด๋ฅผ ๊ณต์œ ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๊ฐœ๋ฐœํ•˜๊ธฐ๋กœ ํ–ˆ๋‹ค.ย โœ… ์›น์†Œ์ผ“์— ์ ‘์†ํ•˜๋ฉด ์ ‘์†ํ•œ ์œ ์ € ๋ฆฌ์ŠคํŠธ๋ฅผ ๊ฐ€์ ธ์˜จ๋‹ค.โœ… ์‚ฌ์šฉ์ž ์œ„์น˜๊ฐ€ ๋ณ€๊ฒฝ๋ ๋•Œ๋งˆ๋‹ค ์†Œ์ผ“์œผ๋กœ ์œ„์น˜์ •๋ณด๋ฅผ ๋ณด๋‚ด๋ฉด, ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž์—๊ฒŒ๋Š” ํ•ด๋‹น ์‚ฌ์šฉ์ž์˜ ์œ„์น˜์ •๋ณด๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.โœ…ย ์ด๋•Œ, ์†Œ์ผ“์œผ๋กœ userId ๋ฅผ ๋ณด๋‚ด๋ฉด ์ž๋™์œผ๋กœ ์‚ฌ์šฉ์ž ๋ฐ์ดํ„ฐ๋ฅผ ๋ถˆ๋Ÿฌ์˜ค๊ณ ย ๋ฐ›์•„์˜จ ์œ„์น˜(์œ„๋„,๊ฒฝ๋„)๋„ ํ•จ๊ป˜ ํฌํ•จํ•ด์„œ ๋‹ค๋ฅธ ์†Œ์ผ“ ์œ ์ €๋“ค์—๊ฒŒ ๋ณด๋‚ธ๋‹ค.ย ย ย ์‹ค์‹œ๊ฐ„ ์œ„์น˜์ •๋ณด๋ฅผ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๊ณ„์†ํ•ด์„œ ์œ„์น˜๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ด๋Š” ๊ณผ์ •์ด ํ•„์š”ํ•œ๋ฐ...์ด๊ฑธ HTTP ๋กœ ๊ตฌํ˜„ ํ•˜๊ธฐ์—๋Š” ๋งค์šฐ ํž˜๋“ค๋‹ค. HTTP ์˜ ํŠน์ง• ๋•Œ๋ฌธ์ธ๋ฐ, ๋‹จ๋ฐฉํ–ฅํ†ต์‹ ์ธ ์  (์š”์ฒญ์„ ํ•ด์•ผ๋งŒ ์‘๋‹ต์„ ๋ณด๋‚ผ ์ˆ˜ ์žˆ์Œ)์š”์ฒญ์„ ํ• ๋•Œ๋งˆ๋‹ค ์ƒˆ๋กญ๊ฒŒ ์—ฐ๊ฒฐํ•ด์•ผํ•˜๋Š” ๋“ฑ ๋งŽ์€ ๋‹จ์ ์ด ์žˆ๋‹ค. ์–‘๋ฐฉํ–ฅ ํ†ต์‹ ์„ ๊ตฌํ˜„ํ•˜..

์›น ์†Œ์ผ“ (WebSocket) ๊ฐœ๋…

HTTPํด๋ผ์ด์–ธํŠธ๊ฐ€ ์š”์ฒญ(Request) โ†’ ์„œ๋ฒ„๊ฐ€ ์‘๋‹ต(Response)์‘๋‹ต ํ›„ ์—ฐ๊ฒฐ์ด ๋‹ซํž˜ (Stateless)์ƒˆ๋กœ์šด ์š”์ฒญ๋งˆ๋‹ค ๋‹ค์‹œ ์—ฐ๊ฒฐ ํ•„์š”์ฃผ๋กœ ๋‹จ๋ฐฉํ–ฅ ํ†ต์‹  (ํด๋ผ์ด์–ธํŠธ โ†’ ์„œ๋ฒ„)๋ฐ์ดํ„ฐ๋ฅผ ํ—ค๋”์— ํฌํ•จ์‹œ์ผœ์„œ ์ „๋‹ฌํ•จย ํด๋ง(Polling)ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ผ์ • ์ฃผ๊ธฐ๋กœ ์„œ๋ฒ„์— ์š”์ฒญํ•˜์—ฌ ๋ฐ์ดํ„ฐ ๊ฐฑ์‹ ์„ ํ™•์ธํ•˜๋Š” ๋ฐฉ์‹์žฅ์ : ๊ธฐ์กด HTTP ๋ฐฉ์‹์—์„œ ์‰ฝ๊ฒŒ ๊ตฌํ˜„ ๊ฐ€๋Šฅ๋‹จ์ : ์‘๋‹ต์ด ์—†๋”๋ผ๋„ ๊ณ„์† ์š”์ฒญ์„ ๋ณด๋‚ด๋ฏ€๋กœย ๋„คํŠธ์›Œํฌ ๋‚ญ๋น„ ๋ฐœ์ƒ, ๋ฆฌ์†Œ์Šค ๋‚ญ๋น„๊ฐ€ ๋งค์šฐ ์‹ฌํ•จ, ์‹ค์‹œ๊ฐ„์„ฑ์ด ๋‚ฎ๋‹ค.* ๋„คํŠธ์›Œํฌ ์˜ค๋ฒ„ํ—ค๋“œ : ์‹ค์ œ ๋ฐ์ดํ„ฐ ์ด์™ธ์˜ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ๋“ค์˜ ๋ถˆํ•„์š”ํ•œ ๋„คํŠธ์›Œํฌ ๋ถ€ํ•˜ย WebSocketํ•œ ๋ฒˆ ์—ฐ๊ฒฐํ•˜๋ฉด ์ข…๋ฃŒ ์ „๊นŒ์ง€ ์œ ์ง€ ( Persistentย  Connection)์–‘๋ฐฉํ–ฅ ํ†ต์‹  ๊ฐ€๋Šฅ (ํด๋ผ์ด์–ธํŠธ โ†” ์„œ๋ฒ„)์ง€์—ฐ ์‹œ๊ฐ„์ด ์งง์Œ (๋น ๋ฅธ ์‹ค์‹œ๊ฐ„ ๋ฐ..

[Project] React Calendar ํ™œ์šฉํ•˜๊ธฐ (Date, Time, disabled)

๋ชฉ์ฐจย ย ย ย ย ย ย ย ์œ„์™€ ๊ฐ™์ด ๋ฆฌ์•กํŠธ ์บ˜๋ฆฐ๋”๋ฅผ ์ด์šฉํ•ด์„œ ๋‚ ์งœ๋ฅผ ๋ฐ›์•„์˜ค๊ณ  ์‹œ๊ฐ„์„ ๋ฐ›์•„ ์˜ฌ ์ˆ˜ ์žˆ๋‹ค.ํŠน์ • ๋‚ ์งœ๋Š” ๋น„ํ™œ์„ฑํ™” ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ๋„ ์žˆ๋‹ค.(์šฐ๋ฆฌ ๊ฐ™์€ ๊ฒฝ์šฐ์—๋Š” ์˜ˆ์•ฝ์ด ๊ฝ‰์ฐจ๊ฑฐ๋‚˜, ํœด๋ฌด์ผ์ด๊ฑฐ๋‚˜ , ์ง€๊ธˆ์œผ๋กœ๋ถ€ํ„ฐ 3๊ฐœ์›” ๋‚ด ์ด์™ธ์˜ ๊ฐ’์€ disabled ๋œ๋‹ค.)ย ย ย ย 1) ๋ฆฌ์•กํŠธ ์บ˜๋ฆฐ๋” ์„ค์น˜ (install)ย npm install react-calendarย ย ย 2) ๋ฆฌ์•กํŠธ ์บ˜๋ฆฐ๋” ์‚ฌ์šฉ (import)ย import Calendar from 'react-calendar';ย import "./Calendar.css";ย ย `react-calendar` ์™€ `css` import ์‹œ์ผœ์ฃผ๊ธฐย ย ย ย ย 3) ๋‚ ์งœ ๊ฐ€์ ธ์˜ค๊ธฐ (Date seleted)ย  moment(date).format('D')} f..

[Project] ๋‚ ์งœ ๋ณ„ ์˜ˆ์•ฝ ๊ฑด์ˆ˜(Slot) ๊ด€๋ฆฌ (React Calendar)

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

Spring Public

more

[Spring boot] Thymeleaf + Model

๋ ˆ์ด์•„์›ƒ ํ…œํ”Œ๋ฆฟ ์ ์šฉ: layout03 ํ…œํ”Œ๋ฆฟ์— container ๋ถ€๋ถ„์„ ์ „๋‹ฌํ•˜์—ฌ ํ•ด๋‹น ํ…œํ”Œ๋ฆฟ์˜ ํŠน์ • ๋ถ€๋ถ„๋งŒ ๊ต์ฒดํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. ์ด์ฒ˜๋Ÿผ ์—ฌ๋Ÿฌ ํŽ˜์ด์ง€์—์„œ ๊ณตํ†ต๋œ ๋ ˆ์ด์•„์›ƒ์„ ์œ ์ง€ํ•˜๋ฉด์„œ, ํŠน์ • ๋ถ€๋ถ„๋งŒ ๋™์ ์œผ๋กœ ๊ต์ฒดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ํ™”๋ฉด์— ์ง„์ž…ํ•  ๋•Œ TestVO๋ฅผ Model์— ๋‹ด์•„ ํ™”๋ฉด์ฒ˜๋ฆฌ๋ฅผ ํ•ฉ๋‹ˆ๋‹ค. 1. ํšŒ์›์ •๋ณดํ™•์ธ ๋งํฌ์—๋Š” quiz_result01?ํ‚ค=๊ฐ’ ํ˜•ํƒœ๋กœ ๋ฒˆํ˜ธ๋ฅผ ๋„˜๊ธฐ๊ณ  ์ถœ๋ ฅํ•ด ์ฃผ์„ธ์š” 2. ์•„๋ž˜ class="container" ๋ถ€๋ถ„๋งŒ layout03 ํ…œํ”Œ๋ฆฟ์— ์ „๋‹ฌ ๋  ์ˆ˜ ์žˆ๋„๋ก ์ฒ˜๋ฆฌํ•˜์„ธ์š” ํšŒ์›๋ฒˆํ˜ธ: [[${vo.num}]] ์ด๋ฆ„: [[${vo.name}]] ๋‚˜์ด: [[${vo.age}]] ํšŒ์›์ •๋ณดํ™•์ธ ย  ๊ฒฐ๊ณผํ™”๋ฉด ๋„˜์–ด์˜จ ๊ฐ’: [[${num}]]ย ย  ..

๐ŸŸค Spring 2024.09.05 0

[spring boot] RestController

@RestControllerย //Controllerย +ย ResponseBody(์ปจํŠธ๋กค๋Ÿฌ์—์„œย ์‘๋‹ต์„ย ์š”์ฒญ์ดย ๋“ค์–ด์˜จ๊ณณ์œผ๋กœย ๋ฐ”๊ฟˆ)ย ํ•ฉ์„ฑ์–ดย ย ย ย JSON ํ˜•์‹์˜ ๋ฐ˜ํ™˜ย 1. Vo ํƒ€์ž…ย ย 2. Map ํƒ€์ž…ย ย ย ย ย jsonํ˜•์‹์œผ๋กœ ๋ฐ์ดํ„ฐ ์ „์†ก @RequestBody - JSON๋ฐ์ดํ„ฐ๋ฅผ -> ์ž๋ฐ” ์˜ค๋ธŒ์ ํŠธ๋กœ ๋ณ€ํ˜•ํ•ด์„œ ๋งตํ•‘ { "name" : "ํ™๊ธธ๋™", "age" : 20, "addr" : "์„œ์šธ์‹œ์‹œ" }ย ย ย  ย ย  /////////////////////////////////////////////////////////////////////////////// //์‘๋‹ต๋ฌธ์„œ ๋ช…ํ™•ํ•˜๊ฒŒ ์ž‘์„ฑํ•˜๊ธฐ ResponseEntity //@CrossOrigin({"http://127.0.0.1:5500", "h..

๐ŸŸค Spring 2024.09.05 0

[SpringBoot] thymeleaf ํƒ€์ž„๋ฆฌํ”„ - ๋‚ด์žฅ๊ฐ์ฒด

ํƒ€์ž„๋ฆฌํ”„ ๋‚ด์žฅ๊ฐ์ฒด ์‚ฌ์šฉ๋ฐฉ๋ฒ• ๋ฐฐ์—ด์˜ ๊ธธ์ด [[${ #arrays.length(arr) }]] ๋ฆฌ์ŠคํŠธ์˜ ๊ธธ์ด [[${ #lists.size(list) }]] ๋นˆ๋ฆฌ์ŠคํŠธ ํ™•์ธ [[${ #lists.isEmpty(list) }]] [[${now}]] [[${ #dates.format(now, 'yyyy-MM-dd') }]] ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ ๊ฐ’ ๋ฐ›๊ธฐ

๐ŸŸค Spring 2024.08.26 0

์šฉ์–ด ์ •๋ฆฌ Public

more

MSA(Microservices Architecture) ๊ฐœ๋…

๋ชฉ์ฐจย ย ย ย ์ด๋ฒˆ์— ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด์„œ MSA ๋ฐฉ์‹์„ ๋„์ž…ํ•ด๋ณด๊ธฐ๋กœ ํ–ˆ์—ˆ๋‹ค. ๊ทธ๋ž˜์„œ MSA ์— ๋Œ€ํ•œ ๊ณต๋ถ€๋„ ํ•˜๊ณ  ์–ด๋ ต๊ฒŒ ํ”„๋กœ์ ํŠธ ์„ธํŒ…๊นŒ์ง€ ํ–ˆ์ง€๋งŒ.. ์ง„ํ–‰ํ•˜๋ ค๋˜ ํ”„๋กœ์ ํŠธ๊ฐ€ MSA ๋ฅผ ์‚ฌ์šฉํ•  ๋งŒํ•œ ํ”„๋กœ์ ํŠธ๋„ ์•„๋‹ ๋ฟ๋”๋Ÿฌ, ๋น„ํšจ์œจ์ ์ธ ๋ถ€๋ถ„์ด ๋งŽ์•„์„œ (์„œ๋ฒ„๋ฅผ ์—ฌ๋Ÿฌ๊ฐœ ์ผœ์•ผํ•จ) ๊ฒฐ๊ตญ MSA ๋ฐฉ์‹์€ ํฌ๊ธฐํ•˜๊ฒŒ๋˜์—ˆ๋‹ค. ใ…œใ…œ ๊ทธ๋ž˜์„œ ์ด๋ก ์ด๋ผ๋„ ๋„์ ๋„์  ํ•ด ๋ณผ ์˜ˆ์ •..ย ย ๋Œ€ํ‘œ ๊ฐœ๋…ย API Gateway : Spring Cloud Gateway ์™€ Webflux ๋กœ ๊ตฌํ˜„Service Discovery : Netflix Eureka ์‚ฌ์šฉ์œผ๋กœ ๊ตฌํ˜„Config Server : Spring Cloud Config ์‚ฌ์šฉ์œผ๋กœ ๊ตฌํ˜„ย ย MSA๋ž€?MSA(Microservices Architecture, ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ์•„ํ‚คํ…์ฒ˜)๋Š”์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ..

์›น ์†Œ์ผ“ (WebSocket) ๊ฐœ๋…

HTTPํด๋ผ์ด์–ธํŠธ๊ฐ€ ์š”์ฒญ(Request) โ†’ ์„œ๋ฒ„๊ฐ€ ์‘๋‹ต(Response)์‘๋‹ต ํ›„ ์—ฐ๊ฒฐ์ด ๋‹ซํž˜ (Stateless)์ƒˆ๋กœ์šด ์š”์ฒญ๋งˆ๋‹ค ๋‹ค์‹œ ์—ฐ๊ฒฐ ํ•„์š”์ฃผ๋กœ ๋‹จ๋ฐฉํ–ฅ ํ†ต์‹  (ํด๋ผ์ด์–ธํŠธ โ†’ ์„œ๋ฒ„)๋ฐ์ดํ„ฐ๋ฅผ ํ—ค๋”์— ํฌํ•จ์‹œ์ผœ์„œ ์ „๋‹ฌํ•จย ํด๋ง(Polling)ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ผ์ • ์ฃผ๊ธฐ๋กœ ์„œ๋ฒ„์— ์š”์ฒญํ•˜์—ฌ ๋ฐ์ดํ„ฐ ๊ฐฑ์‹ ์„ ํ™•์ธํ•˜๋Š” ๋ฐฉ์‹์žฅ์ : ๊ธฐ์กด HTTP ๋ฐฉ์‹์—์„œ ์‰ฝ๊ฒŒ ๊ตฌํ˜„ ๊ฐ€๋Šฅ๋‹จ์ : ์‘๋‹ต์ด ์—†๋”๋ผ๋„ ๊ณ„์† ์š”์ฒญ์„ ๋ณด๋‚ด๋ฏ€๋กœย ๋„คํŠธ์›Œํฌ ๋‚ญ๋น„ ๋ฐœ์ƒ, ๋ฆฌ์†Œ์Šค ๋‚ญ๋น„๊ฐ€ ๋งค์šฐ ์‹ฌํ•จ, ์‹ค์‹œ๊ฐ„์„ฑ์ด ๋‚ฎ๋‹ค.* ๋„คํŠธ์›Œํฌ ์˜ค๋ฒ„ํ—ค๋“œ : ์‹ค์ œ ๋ฐ์ดํ„ฐ ์ด์™ธ์˜ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ๋“ค์˜ ๋ถˆํ•„์š”ํ•œ ๋„คํŠธ์›Œํฌ ๋ถ€ํ•˜ย WebSocketํ•œ ๋ฒˆ ์—ฐ๊ฒฐํ•˜๋ฉด ์ข…๋ฃŒ ์ „๊นŒ์ง€ ์œ ์ง€ ( Persistentย  Connection)์–‘๋ฐฉํ–ฅ ํ†ต์‹  ๊ฐ€๋Šฅ (ํด๋ผ์ด์–ธํŠธ โ†” ์„œ๋ฒ„)์ง€์—ฐ ์‹œ๊ฐ„์ด ์งง์Œ (๋น ๋ฅธ ์‹ค์‹œ๊ฐ„ ๋ฐ..

SPA vs MPA | SSR vs CSR

SPA ์™€ MPA ๋Š” ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๊ตฌ์กฐ์™€ ๋™์ž‘ ๋ฐฉ์‹์— ๊ตฌ๋ถ„๋˜๋Š” ํŒจํ„ด์ด๋‹ค.์–ด๋–ป๊ฒŒ ๋™์ž‘ํ•˜๊ณ  ์–ด๋–ป๊ฒŒ ํŽ˜์ด์ง€๋ฅผ ๋žœ๋”๋งํ•˜๋Š” ์ง€๊ฐ€ ์ค‘์ ์ด๋‹ค.ย ย ย MPA (Multi-Page Application)์ •์˜:MPA๋Š”ย ๋‹ค์ค‘ ํŽ˜์ด์ง€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์˜๋ฏธํ•˜๋ฉฐ, ๊ฐ ํŽ˜์ด์ง€๋งˆ๋‹ค ๊ฐœ๋ณ„์ ์ธ HTML ํŒŒ์ผ์ด ๋กœ๋“œ๋˜๋Š” ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ž…๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ์„œ๋ฒ„์—์„œ ๊ฐ ํŽ˜์ด์ง€๋ฅผ ๋ Œ๋”๋งํ•˜๊ณ , ๊ฐ URL์€ ํ•˜๋‚˜์˜ ๊ณ ์œ ํ•œ ํŽ˜์ด์ง€๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.ํŠน์ง•:ํŽ˜์ด์ง€ ์ „ํ™˜: ์‚ฌ์šฉ์ž๊ฐ€ ๋‹ค๋ฅธ ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•  ๋•Œ๋งˆ๋‹ค, ์ƒˆ๋กœ์šด HTML ํŽ˜์ด์ง€๋ฅผ ์„œ๋ฒ„์—์„œ ๋กœ๋“œํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.์„œ๋ฒ„ ๋ Œ๋”๋ง: ์š”์ฒญ์ด ์žˆ์„ ๋•Œ๋งˆ๋‹ค ์„œ๋ฒ„์—์„œ HTML์„ ๋ Œ๋”๋งํ•˜๊ณ , ์ด๋ฅผ ํด๋ผ์ด์–ธํŠธ์— ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค.๋™์  ํŽ˜์ด์ง€: ํด๋ผ์ด์–ธํŠธ๊ฐ€ ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์š”์ฒญํ•˜๋ฉด ์„œ๋ฒ„๊ฐ€ ์ด๋ฅผ ์ฒ˜๋ฆฌํ•˜์—ฌ ์ƒˆ๋กœ์šด ํŽ˜์ด์ง€๋ฅผ ๋ Œ๋”๋งํ•ฉ๋‹ˆ๋‹ค.์žฅ..

MIME type = media type = Content-Type

๋ชฉ์ฐจย ย ย ย Content-Type, MIME type, media type์˜ ๊ด€๊ณ„ ์ด๋“ค์€ ๋ชจ๋‘ ๊ฐ™์€ ๊ฐœ๋…์œผ๋กœ, ์ธํ„ฐ๋„ท์—์„œ ํŒŒ์ผ ํฌ๋งท๊ณผ ์ฝ˜ํ…์ธ ๋ฅผ ์‹๋ณ„ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๊ณผ๊ฑฐ์—๋Š” MIME type ์œผ๋กœ ๋ถˆ๋ ธ์ง€๋งŒ, ์ง€๊ธˆ์€ media type ์œผ๋กœ ์‚ฌ์šฉํ•จ. ๋•Œ๋•Œ๋กœ content type ์ด๋ผ๊ณ ๋„ ๋ถˆ๋ฆผย ย ย ย  MIME(ย Multipurposeย Internetย Mailย Extensionsย )ย typeํŒŒ์ผ์˜ ํ˜•์‹์„ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฌธ์ž์—ด๋กœ ํŒŒ์ผ๊ณผ ๊ฐ™์ด ์†ก์‹ ๋˜๋Š”๋ฐ content์˜ ํ˜•์‹์„ ๋‚˜ํƒ€๋‚ด๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ์œˆ๋„์šฐ์˜ ํŒŒ์ผ ํ™•์žฅ์ž์™€ ๋™์ผํ•œ ์—ญํ• ์ด๋ฉ”์ผ ๋ฉ”์„ธ์ง€ , ์ฒจ๋ถ€ํŒŒ์ผ ์ข…๋ฅ˜๋ฅผ ๊ณ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ์ •์˜๋˜์—ˆ๊ณ  ์ด๋ฅผ ๊ทผ๊ฑฐ๋กœ MIME ํƒ€์ž…์ด๋ผ๋Š” ์ด๋ฆ„์ด ๋งŒ๋“ค์–ด์ง์ง€๊ธˆ์€ Media Type ์ด๋ผ๋Š” ์šฉ์–ด๋กœ ์‚ฌ์šฉ ๋œ๋‹ค.ย ย  media type ๋ฏธ๋””์–ด ํƒ€์ž…์€ ..

HTTP (Hypertext Transfer Protocol) ๊ฐœ๋…

๋ชฉ์ฐจย ย ย ย HTTP ๋ž€?ย HTTP๋Š” HTML ๋ฌธ์„œ์™€ ๊ฐ™์€ ๋ฆฌ์†Œ์Šค๋“ค์„ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ฃผ๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ณ„์ธต ํ”„๋กœํ† ์ฝœย  (ํด๋ผ์ด์–ธํŠธ-์„œ๋ฒ„ ํ”„๋กœํ† ์ฝœ)ย ย * ํ”„๋ก์‹œ :ย ย ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ณ„์ธต์—์„œ ๋™์ž‘ํ•˜๋Š” ๊ฒƒ๋“ค์„ ์ผ๋ฐ˜์ ์œผ๋กœ ๋ถ€๋ฅด๋Š” ๋ง, ํ•˜๋‹จ์˜ ๊ธฐ๋Šฅ๋“ค์„ ์ˆ˜ํ–‰ ํ•  ์ˆ˜ ์žˆ๋‹ค.์บ์‹ฑ (์บ์‹œ๋Š” ๊ณต๊ฐœ ๋˜๋Š” ๋น„๊ณต๊ฐœ๊ฐ€ ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค (์˜ˆ: ๋ธŒ๋ผ์šฐ์ € ์บ์‹œ))ํ•„ํ„ฐ๋ง (๋ฐ”์ด๋Ÿฌ์Šค ๋ฐฑ์‹  ์Šค์บ”, ์œ ํ•ด ์ปจํ…์ธ  ์ฐจ๋‹จ(์ž๋…€ ๋ณดํ˜ธ) ๊ธฐ๋Šฅ)๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ (์—ฌ๋Ÿฌ ์„œ๋ฒ„๋“ค์ด ์„œ๋กœ ๋‹ค๋ฅธ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๋„๋ก ํ—ˆ์šฉ)์ธ์ฆ (๋‹ค์–‘ํ•œ ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•œ ์ ‘๊ทผ ์ œ์–ด)๋กœ๊น… (์ด๋ ฅ ์ •๋ณด๋ฅผ ์ €์žฅ)ย HTTP ํŠน์ง•ย ๋ฌด์ƒํƒœ(Stateless) : HTTP๋Š” ์ƒํƒœ๋ฅผ ์ €์žฅํ•˜์ง€ ์•Š๊ณ ,๊ฐ๊ฐ์˜ ์š”์ฒญ๊ณผ ์‘๋‹ต์ด ๋…๋ฆฝ์ ์œผ๋กœ ์ฒ˜๋ฆฌ๋จ, ์„œ๋ฒ„๋Š” ์š”์ฒญ ๊ฐ„์˜ ์—ฐ๊ฒฐ ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ ํšจ์œจ์ ์ด์ง€๋งŒ, ..

React Public

more

[React] Ajax (์™ธ๋ถ€ ๋ฐ์ดํ„ฐ ํ†ต์‹ )

Ajax ?AJAX ( Asynchronous Javascript and XML) ์€ ์›น ํŽ˜์ด์ง€์˜ ์ด๋™์—†์ด ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋งŒ ์ „์†กํ•˜๋Š” ๊ธฐ์ˆ ์ž…๋‹ˆ๋‹ค.ย ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ฌ ๋•Œ ์„œ๋ฒ„์ชฝ ๋ฐ์ดํ„ฐ๊ฐ€ ํ•„์š”ํ•  ๋•Œ ajax๊ธฐ๋ฒ•์„ ์‚ฌ์šฉํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.์ด ์ž‘์—…์€ ์‹œ๊ฐ„์ด ์˜ค๋ž˜ ๊ฑธ๋ฆด ์ˆ˜๋„ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋น„๋™๊ธฐ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.๋น„๋™๊ธฐ(asynchronous)๋Š” ์š”์ฒญ์ด ๋๋‚  ๋•Œ ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฌ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ๋™์‹œ์— ์—ฌ๋Ÿฌ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.๋‚˜์ค‘์— react์—์„œ๋Š” ๋‹ค๋ฅธ ์„œ๋ฒ„์˜ REST API์™€ ํ†ต์‹ ์„ ์ด์šฉํ•˜์—ฌย ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šคย ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.ย ย ES6 fetch ๋ฅผ ์ด์šฉํ•ด ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ (๋ฆฌ์•กํŠธ)Promise = fetch(์š”์ฒญ์ฃผ์†Œ)ย ๐Ÿ“ ์ด๋ฒคํŠธ ํด๋ฆญ์‹œ ์ฒ˜๋ฆฌํ•˜๊ธฐ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์™€์„œ useState()์— ์ €์žฅํ•˜๋Š” ์ž‘..

๐Ÿ”ต React 2024.08.31 1

[React] ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ

โ—ˆ ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐpackage.json >> build.gradle / pom.xml ๊ณผ ๋™์ผ (๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ , ๋ฒ„์ „ ๋ช…์‹œ)๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ ๊ทธ ๋ฒ„์ „์„ ๋ช…์‹œํ•˜์—ฌ ํ”„๋กœ์ ํŠธ์˜ ์˜์กด์„ฑ์„ ๊ด€๋ฆฌํ•˜๋Š” ํ•ญ๋ชฉย dependencyย  : ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ ๊ทธ ๋ฒ„์ „์„ ๋ช…์‹œํ•˜์—ฌ ํ”„๋กœ์ ํŠธ์˜ ์˜์กด์„ฑ์„ ๊ด€๋ฆฌํ•˜๋Š” ํ•ญ๋ชฉย ย scripts ๋ช…๋ น๋ฌธ :ย ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ๋ช…๋ น์–ด๋ฅผ ์Šคํฌ๋ฆฝํŠธ๋กœ ์ •์˜ํ•˜์—ฌ ์‰ฝ๊ฒŒ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ํ•ญ๋ชฉeslintConfig :ย ๊ธฐ๋ณธ ํ”„๋กœ๊ทธ๋žจ ๋„์›€ (์ฝ”๋“œ ํ’ˆ์งˆ์„ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•ด JavaScript ์ฝ”๋“œ ์Šคํƒ€์ผ์„ ๊ฒ€์‚ฌํ•˜๋Š” ๋„๊ตฌ์ธ ESLint์˜ ๊ธฐ๋ณธ ์„ค์ •์„ ์ •์˜ํ•˜๋Š” ํ•ญ๋ชฉ)browserlist :ย ํ”„๋กœ์ ํŠธ๊ฐ€ ์ง€์›ํ•ด์•ผ ํ•˜๋Š” ๋ธŒ๋ผ์šฐ์ €์˜ ๋ฒ”์œ„๋ฅผ ๋ช…์‹œ ( ๋ธŒ๋ผ์šฐ์ € ํ˜ธํ™˜์„ฑ์„ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ํ•„์ˆ˜ )โ—ˆย ย web pack loader์ž๋™ ๋ฆฌ๋กœ๋“œ๋จ (..

๐Ÿ”ต React 2024.08.29 0

[React] React๋ผ์šฐํ„ฐ

๐Ÿ˜บ React ๋ผ์šฐํ„ฐ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ธฐ ์ „์— SPA ์˜ ๊ฐœ๋…์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž.ย ๐Ÿ“ SPA๋ž€? (single page application)ํ•˜๋‚˜์˜ ํŽ˜์ด์ง€๋กœ ๋งŒ๋“ค์–ด์ง„ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์˜๋ฏธํ•œ๋‹ค.์ „ํ†ต์ ์ธ ๋ฐฉ์‹์€ Server๊ฐ€ html ํŒŒ์ผ ๋งŒ๋“ค๊ณ  data ์‹ค์–ด์„œ ์‘๋‹ตํ•˜์ง€๋งŒ,spa ๋ฐฉ์‹์€ ํด๋ผ์ด์–ธํŠธ์— html ์„ธ์›Œ๋‘๊ณ  ๋ฐ์ดํ„ฐ๋งŒ ์š”์ฒญ์‘๋‹ต์„ ํ†ตํ•ด ๋ฐ”๊พผ๋‹ค.ย ย SPA๋Š” htmlํŒŒ์ผ์„ ๋ธŒ๋ผ์šฐ์ € ์ธก์—์„œ ๋กœ๋“œํ•˜๊ณ , ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋Š” API์™€ ajaxํ†ต์‹ ์„ ์ด์šฉํ•ด์„œ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.๋ธŒ๋ผ์šฐ์ €์—์„œ ์‚ฌ์šฉ์ž๊ฐ€ ์ƒํ˜ธ์ž‘์šฉ ํ•˜๋ฉด ํ•„์š”ํ•œ ๋ถ€๋ถ„๋งŒ ์—…๋ฐ์ดํŠธ ํ•ด์„œ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.๋ฉ€ํ‹ฐํ”Œ๋žซํผ Android, IOS์— ๋Œ€์‘ํ•˜์—ฌ ์›น๋ทฐ๋กœ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ชฉ์ ์œผ๋กœ๋„ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.ย ๐Ÿ“ SPA์˜ ๋‹จ์  (CSR๋ฐฉ์‹)์•ฑ์˜ ๊ทœ๋ชจ๊ฐ€ ์ปค์ง€๋ฉด, JSํŒŒ์ผ๋„ ๋„ˆ๋ฌด ์ปค์ ธ์„œ ๋กœ๋”ฉ์ด ์˜ค๋ž˜๊ฑธ๋ฆฌ๊ฒŒ ๋ฉ..

๐Ÿ”ต React 2024.08.28 0

Git Public

more

[Git] eclipse ๊นƒํ—ˆ๋ธŒ ํ˜‘์—… ๋ฐฉ๋ฒ• & ๋ธŒ๋ Œ์น˜

[ eclipseย  ๊นƒํ—ˆ๋ธŒ ํ˜‘์—… ๋ฐฉ๋ฒ• ]ย 1. ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•  ๋ ˆํŒŒ์ง€ํ† ๋ฆฌ ์ƒ์„ฑgithub ์—์„œ repositories ๋ฅผ ํ•˜๋‚˜ ์ƒ์„ฑํ•œ๋‹ค.ย ย 2. ์ฝœ๋ผ๋ณด๋ ˆ์ดํ„ฐ ์ดˆ๋Œ€ํ•˜๊ธฐ๊ฐ™์ด ํ˜‘์—…ํ•  ์‚ฌ๋žŒ์„ ์ดˆ๋Œ€ํ•œ๋‹ค. Collaborators์ด๋•Œ ์ดˆ๋Œ€๋ฅผ ์ˆ˜๋ฝํ•ด์•ผํ•œ๋‹ค.ย 3. ์ดํด๋ฆฝ์Šค์™€ ๊นƒํ—ˆ๋ธŒ ์—ฐ๊ฒฐํ•˜๊ธฐ์ดํด๋ฆฝ์Šค์—์„œ Import -> git -> cloneย ์ด๋•Œ ๊นƒํ—ˆ๋ธŒ Settings > Developer-Settings > Token ์„ ์ƒ์„ฑํ•œ๋‹ค.ย 4. ์ž˜ ์—ฐ๊ฒฐ ๋˜์—ˆ๋Š”์ง€ ์„œ๋ฒ„ ์ผœ์„œ ํ™•์ธํ•ด์ฃผ๋ฉด ๋ย ย [ ํ˜‘์—… ์‹œ ๊นƒ ํ—ˆ๋ธŒ ์‚ฌ์šฉ๋ฒ• ? ]ย ย (ํŒ€์žฅ)ย ๋‚ด github ๊ณ„์ •์—ฐ๊ฒฐ$git config --global user.email "๋ณธ์ธ์ด๋ฉ”์ผ์ฃผ์†Œ"$git config --global user.name "๋ณธ์ธ์ด๋ฆ„"ย ย ์ดˆ๊ธฐ ์ฝ”๋“œ ์—…๋กœ๋“œํ•˜๊ธฐ$g..

๐ŸŸ  Git 2024.07.15 0

[Git] ์ž๋™ push.exe

git init ๊ณผ ์›๊ฒฉ ๋ ˆํฌ์ง€ํ† ๋ฆฌ๊ฐ€ ์—ฐ๊ฒฐ ๋˜์–ด์—ˆ๋Š” ์ƒํƒœ์—์„œ ์•ˆ์— ๋ฐฐ์น˜ํŒŒ์ผ ๋ˆ„๋ฅด์‹œ๋ฉด ์ž๋™์œผ๋กœ ํ‘ธ์‰ฌ๋œ๋‹ค.!ย ย ย *** ์ˆ˜๋™ ์—…๋กœ๋“œํ•˜๊ธฐ Open Git Bash hereย ย ๊นƒ ์‹œ์ž‘ํ•˜๊ธฐ$ git initย ย ๊นƒ ์ดˆ๊ธฐ ์„ธํŒ…ย $ git config --global user.name "๋ณธ์ธ์ด๋ฆ„์˜์–ด"$ git config --global user.name ๋ณธ์ธ์ด๋ฉ”์ผ$ git config --list๊นƒํ—ˆ๋ธŒ ํšŒ์›" data-og-host="hyejux.tistory.com" data-og-source-url="https://hyejux.tistory.com/633" data-og-url="https://hyejux.tistory.com/633" data-og-image="https://scrap.kakaocdn.net/d..

๐ŸŸ  Git 2024.06.18 0

[Git] comflict ์ถฉ๋Œ

comflict ๋ž€?ย comflict ๋Š” ๊ฐ™์€ ํŒŒ์ผ, ๊ฐ™์€ ์œ„์น˜๋ฅผ ์—ฌ๋Ÿฌ ์‚ฌ์šฉ์ž๊ฐ€ ๋™์‹œ์— ์ˆ˜์ •ํ•  ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ์˜ค๋ฅ˜์ด๋‹ค. merge / rebase ์ž‘์—… ์ค‘ ์ž๋™์œผ๋กœ ํ•ด๊ฒฐํ•  ์ˆ˜ ์—†๋Š” ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์žˆ์„ ๋•Œ ๋ฐœ์ƒํ•œ๋‹ค.ย ex)ย 1) A ๋ธŒ๋žœ์น˜์™€ B ๋ธŒ๋žœ์น˜๊ฐ€ ์žˆ๋‹ค.2) ๋‘ ๋ธŒ๋žœ์น˜๋ฅผ ๋™์ผํŒŒ์ผ, ๋™์ผ ๋ผ์ธ์„ ์ˆ˜์ •ํ•จย 3) A ๋กœ ์ฒดํฌ์•„์›ƒํ•˜์—ฌ B ๋ฅผ ๋ณ‘ํ•ฉํ•œ๋‹ค (merge) .ย  ---> Automatic merge failed; fix conflicts and then commit the result.ย >>>>>> B-branchย ย comflict ๋ฐœ์ƒ ์‹œ ํ•ด๊ฒฐ๋ฐฉ๋ฒ•comflict ๋ฐœ์ƒํ•œ ํŒŒ์ผ์„ ์ˆ˜๋™์œผ๋กœ ์ˆ˜์ •ํ•ด์ฃผ๋ฉด ๋œ๋‹ค.๋”๋ณด๊ธฐpull ๋‹น๊ฒจ์˜ค๋ฉด comflict ๋ฐœ์ƒ >์“ฐ๋˜ ์ฝ”๋“œ๋ฅผ add / commit >pull (comf..

๐ŸŸ  Git 2024.06.12 0