์ „์ฒด ๊ธ€ 62

[์ž๋ฐ”์›น๊ฐœ๋ฐœ์›Œํฌ๋ถ] 6. AJAX์™€ JSON

/* * * ์ž๋ฐ”์›น๊ฐœ๋ฐœ์›Œํฌ๋ถ์˜ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ํฌ์ŠคํŒ…์ž…๋‹ˆ๋‹ค. * AJAX, JSON, REST, swagger UI, */ 1. ์šฉ์–ด์ •๋ฆฌ / Swagger UI ์ค€๋น„ / ๋Œ“๊ธ€์—”ํ‹ฐํ‹ฐ ์ฒ˜๋ฆฌ AJAX(Asynchronous JavaScript And XML)๋ฐฉ์‹์€ ๋ธŒ๋ผ์šฐ์ €์—์„œ ์„œ๋ฒ„๋ฅผ ํ˜ธ์ถœํ•˜์ง€๋งŒ ๋ชจ๋“  ์ž‘์—…์ด ๋ธŒ๋ผ์šฐ์ € ๋‚ด๋ถ€์—์„œ ์ด๋ฃจ์–ด์ง€๊ธฐ ๋•Œ๋ฌธ์— ํ˜„์žฌ ๋ธŒ๋ผ์šฐ์ €์˜ ๋ธŒ๋ผ์šฐ์ € ํ™”๋ฉด์˜ ๋ณ€ํ™”์—†์ด ์„œ๋ฒ„์™€ ํ†ต์‹ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋Œ€ํ‘œ์ ์ธ ์˜ˆ๋กœ '์ž๋™์™„์„ฑ'์ด๋‚˜ '์ง€๋„์„œ๋น„์Šค'๋“ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค. Ajax๊ฐ€ ์ ์šฉ๋˜๋ฉด์„œ ์ž๋ฐ”๊ทธํฌ๋ฆฝํŠธ ๊ธฐ์ˆ ์˜ ์ˆ˜์š”๊ฐ€ ๋Š˜์—ˆ๊ณ , ์ตœ๊ทผ์—๋Š” ํ”„๋ก ํŠธ์—”๋“œ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ๋ฐฉ์‹์ด ์ž๋ฆฌ ์žก๊ฒŒ๋์Šต๋‹ˆ๋‹ค. Ajax์˜ ์•ฝ์ž์ฒ˜๋Ÿผ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ด์šฉํ•ด์„œ XML์„ ์ฃผ๊ณ ๋ฐ›๋Š” ๋ฐฉ์‹์„ ์ด์šฉํ–ˆ์Šต๋‹ˆ๋‹ค๋งŒ, ์ตœ๊ทผ์—๋Š” JSON(JavaScript Obj..

Git Remote origin already exists ์—๋Ÿฌํ•ด๊ฒฐ

ํ•ด๋‹น ์—๋Ÿฌ๋Š” ๊ธฐ์กด์— ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋Š” repository๊ฐ€ ์ƒˆ๋กœ์šด repository์— ์ฝ”๋“œ๋ฅผ ์˜ฌ๋ฆฌ๋ ค๊ณ  ํ•˜๋ฉด ๋ฐœ์ƒ๋˜๋Š” ์—๋Ÿฌ์ž…๋‹ˆ๋‹ค. ํ•ด๊ฒฐ๋ฐฉ๋ฒ•์€ ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ์กด์˜ ์—ฐ๊ฒฐ์„ ๋Š๊ณ  ์ƒˆ๋กœ ์˜ฌ๋ฆฌ๊ณ  ์‹ถ์€ ๊ณณ์— ์†Œ์Šค์ฝ”๋“œ๋ฅผ ์˜ฌ๋ฆฌ๋ฉด ๋ฉ๋‹ˆ๋‹ค. 1. git remote remove origin ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•ด์„œ ๊ธฐ์กด์— ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋Š” ์›๊ฒฉ ์ €์žฅ์†Œ์™€์˜ ์—ฐ๊ฒฐ์„ ๋Š์–ด์ค๋‹ˆ๋‹ค. 2. git remote add origin [์ƒˆ๋กญ๊ฒŒ ์—ฐ๊ฒฐํ•  ๊นƒ ๋ ˆํŒŒ์ง€ํ† ๋ฆฌ ์ฃผ์†Œ] ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค. 3. git remote -v ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•ด์„œ ๋กœ์ปฌ ์ €์žฅ์†Œ๋ฅผ ์›๊ฒฉ ์ €์žฅ์†Œ์— ์—ฐ๊ฒฐ์‹œ์ผœ์ค๋‹ˆ๋‹ค. 4. git push origin master ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•ด์„œ ์†Œ์Šค์ฝ”๋“œ๋ฅผ ์˜ฌ๋ฆฌ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

[์ž๋ฐ”์›น๊ฐœ๋ฐœ์›Œํฌ๋ถ] 5. ์Šคํ”„๋ง์—์„œ ์Šคํ”„๋ง๋ถ€ํŠธ๋กœ

/* * * ์ž๋ฐ”์›น๊ฐœ๋ฐœ์›Œํฌ๋ถ์˜ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ํฌ์ŠคํŒ…์ž…๋‹ˆ๋‹ค. * ์Šคํ”„๋ง๋ถ€ํŠธ, Thymleaf, Spring Data JPA */ 1. ์Šคํ”„๋ง๋ถ€ํŠธ์™€ ํ™˜๊ฒฝ์„ค์ • ์Šคํ”„๋ง๋ถ€ํŠธ๋Š” ์Šคํ”„๋ง์—์„œ ํŒŒ์ƒ๋œ ์—ฌ๋Ÿฌ ์„œ๋ธŒ ํ”„๋กœ์ ํŠธ์—์„œ ์‹œ์ž‘ํ•ด์„œ ์ด์ œ๋Š” ์™„์ „ํ•œ ๋ฉ”์ธ ํ”„๋กœ์ ํŠธ๊ฐ€ ๋˜์–ด๋ฒ„๋ฆฐ ํŠน์ดํ•œ ์ผ€์ด์Šค์ž…๋‹ˆ๋‹ค. ์Šคํ”„๋ง๋ถ€ํŠธ๋ฅผ ์—„๋ฐ€ํ•˜๊ฒŒ ๋งํ•˜๋ฉด '์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ ๊ฐœ๋ฐœ๋„๊ตฌ'๋ผ๊ณ  ๋ด์•ผํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์Šคํ”„๋ง๋ถ€ํŠธ๋Š” ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ๊ธ‰ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•˜๊ธฐ ์œ„ํ•ด์„œ ํ•„์š”ํ•œ ๊ธฐ๋Šฅ๋“ค์„ ์ œ๊ณตํ•˜๋Š” ๊ฐœ๋ฐœ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. ์Šคํ”„๋ง๋ถ€ํŠธ์˜ ์ค‘์š”ํ•œ ํŠน์ง•์œผ๋กœ Auto Configuration(์ž๋™์„ค์ •)์„ ๋‚ด์„ธ์šธ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ๋“ค์–ด ์Šคํ”„๋ง๋ถ€ํŠธ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ๊ด€๋ จ๋œ ๋ชจ๋“ˆ์„ ์ถ”๊ฐ€ํ•˜๋ฉด ์ž๋™์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ จ ์„ค์ •์„ ์ฐพ์•„์„œ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๋˜๋‹ค๋ฅธ ํŠน์ง•์œผ๋กœ๋Š” '๋‚ด์žฅ ํ†ฐ์บฃ'๊ณผ ๋‹จ๋… ์‹ค..

[์ž๋ฐ”์›น๊ฐœ๋ฐœ์›Œํฌ๋ถ] ์Šคํ”„๋ง MVC ๊ตฌํ˜„ - ํŽ˜์ด์ง€๋„ค์ด์…˜, ๊ฒ€์ƒ‰/ํ•„ํ„ฐ๋ง

/* * * ์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ์™€ ์Šคํ”„๋งMVC๋ฅผ ๊ฒฐํ•ฉํ•ด์„œ ์ด์ „์— ์›นMVC๋กœ ๊ฐœ๋ฐœํ–ˆ๋˜ Todo์˜ˆ์ œ๋ฅผ ๊ฐœ๋ฐœํ•˜๋ฉฐ ์ „์ฒด์ ์ธ ๊ตฌ์กฐ๋ฅผ ์ดํ•ดํ•ฉ๋‹ˆ๋‹ค. */ 1. ํŽ˜์ด์ง• ์ฒ˜๋ฆฌ ๋”๋ฏธ ๋ฐ์ดํ„ฐ ์ถ”๊ฐ€ํ•˜๊ธฐ insert into tbl_todo (title, dueDate, writer) (select title, dueDate, writer from tbl_todo); ํ”ํžˆ ์žฌ๊ท€๋ณต์‚ฌ๋ผ๊ณ  ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๊ธฐ์กด์˜ tbl_todoํ…Œ์ด๋ธ”์˜ ๋‚ด์šฉ์„ ๋‹ค์‹œ insertํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. ์•ฝ 1000๊ฐœ ์ •๋„์˜ ๋”๋ฏธ๋ฅผ ๋งŒ๋“ค๊ฒ ์Šต๋‹ˆ๋‹ค. ํŽ˜์ด์ง€ ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•œ DTO ํŽ˜์ด์ง€ ์ฒ˜๋ฆฌ๋Š” ํ˜„์žฌ ํŽ˜์ด์ง€์˜ ๋ฒˆํ˜ธ(page), ํ•œ ํŽ˜์ด์ง€๋‹น ๋ณด์—ฌ์ฃผ๋Š” ๋ฐ์ดํ„ฐ์˜ ์ˆ˜(size)๊ฐ€ ๊ธฐ๋ณธ์ ์œผ๋กœ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. 2๊ฐœ์˜ ์ˆซ์ž๋ฅผ ๋งค๋ฒˆ ์ „๋‹ฌํ•  ์ˆ˜๋„ ์žˆ๊ฒ ์ง€๋งŒ ํ™•์žฅ์„ฑ์„ ๊ณ ๋ คํ•ด์„œ ๋ณ„๋„์˜ DTO๋กœ ๋งŒ..

[์ž๋ฐ”์›น๊ฐœ๋ฐœ์›Œํฌ๋ถ] ์Šคํ”„๋ง MVC ๊ตฌํ˜„ - ํ™˜๊ฒฝ์„ค์ •, CRUD

/* * * ์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ์™€ ์Šคํ”„๋งMVC๋ฅผ ๊ฒฐํ•ฉํ•ด์„œ ์ด์ „์— ์›นMVC๋กœ ๊ฐœ๋ฐœํ–ˆ๋˜ Todo์˜ˆ์ œ๋ฅผ ๊ฐœ๋ฐœํ•˜๋ฉฐ ์ „์ฒด์ ์ธ ๊ตฌ์กฐ๋ฅผ ์ดํ•ดํ•ฉ๋‹ˆ๋‹ค. */ 1. ํ”„๋กœ์ ํŠธ์˜ ๊ตฌํ˜„๋ชฉํ‘œ์™€ ์ค€๋น„ โ–  ๊ฒ€์ƒ‰๊ณผ ํ•„ํ„ฐ๋ง์„ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํ™”๋ฉด์„ ๊ตฌ์„ฑํ•˜๊ณ  MyBatis์˜ ๋™์ ์ฟผ๋ฆฌ๋ฅผ ์ด์šฉํ•ด์„œ ์ƒํ™ฉ์— ๋งž๋Š” Todo๋ฅผ ๊ฒ€์ƒ‰ํ•ฉ๋‹ˆ๋‹ค. โ–  ์ƒˆ๋กœ์šด Todo๋ฅผ ๋“ฑ๋กํ• ๋•Œ ๋ฌธ์ž์—ด, boolean, LoacalDate๋ฅผ ์ž๋™์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. โ–  ๋ชฉ๋ก์—์„œ ์กฐํšŒํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•  ๋•Œ ๋ชจ๋“  ๊ฒ€์ƒ‰, ํ•„ํ„ฐ๋ง, ํŽ˜์ด์ง•์กฐ๊ฑด์„ ์œ ์ง€ํ•˜๋„๋ก ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค. โ–  ์กฐํšŒํ™”๋ฉด์—์„œ๋Š” ๋ชจ๋“ ์กฐ๊ฑด์„ ์œ ์ง€ํ•œ์ฑ„๋กœ ์ˆ˜์ •/์‚ญ์ œ ํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•˜๋„๋ก ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค. โ–  ์‚ญ์ œ์‹œ์—๋Š” ๋‹ค์‹œ ๋ชฉ๋กํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค. โ–  ์ˆ˜์ •์‹œ์—๋Š” ๋‹ค์‹œ ์กฐํšŒํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•˜์ง€๋งŒ ๊ฒ€์ƒ‰, ํ•„ํ„ฐ๋ง, ํŽ˜์ด์ง•์กฐ๊ฑด์€ ์ดˆ๊ธฐํ™”ํ•ฉ๋‹ˆ๋‹ค. โ–  ํ”„..

[์ž๋ฐ”์›น๊ฐœ๋ฐœ์›Œํฌ๋ถ] 4-2. ์Šคํ”„๋ง Web MVC

/* * * ์ž๋ฐ”์›น๊ฐœ๋ฐœ์›Œํฌ๋ถ์˜ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ํฌ์ŠคํŒ…์ž…๋‹ˆ๋‹ค. * ์Šคํ”„๋ง Web MVC, ์˜ˆ์™ธ์ฒ˜๋ฆฌ */ 1. ์Šคํ”„๋ง Web MVC(์ดํ•˜ ์Šคํ”„๋งMVC)์˜ ํŠน์ง• ์Šคํ”„๋งMVC๋Š” ์ด๋ฆ„์—์„œ ์•Œ ์ˆ˜ ์žˆ๋“ฏ์ด Web MVCํŒจํ„ด์œผ๋กœ ๊ตฌํ˜„๋œ ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๊ธฐ๋ณธ์ ์ธ ํ๋ฆ„์€ ์ด์ „์— ๋‹ค๋ฃจ์—ˆ๋˜๊ฒƒ๊ณผ ๊ฐ™๊ณ  ์ปจํŠธ๋กค๋Ÿฌ, ๋ทฐ, ๋ชจ๋ธ ๋“ฑ์˜ ์šฉ์–ด๋“ค ์—ญ์‹œ ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์Šคํ”„๋งMVC๊ฐ€ ๊ธฐ์กด ๊ตฌ์กฐ์— ์•ฝ๊ฐ„์˜ ๋ณ€ํ™”๋ฅผ ์ฃผ๋Š” ๋ถ€๋ถ„์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. โ–  Front-ControllerํŒจํ„ด์„ ์ด์šฉํ•ด์„œ ๋ชจ๋“  ํ๋ฆ„์˜ ์‚ฌ์ „/์‚ฌํ›„์ฒ˜๋ฆฌ๋ฅผ ๊ฐ€๋Šฅํ•˜๋„๋ก ์„ค๊ณ„๋œ์  โ–  ์–ด๋…ธํ…Œ์ด์…˜์„ ์ ๊ทน์ ์œผ๋กœ ํ™œ์šฉํ•ด์„œ ์ตœ์†Œํ•œ์˜ ์ฝ”๋“œ๋กœ ๋งŽ์€ ์ฒ˜๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋„๋ก ์„ค๊ณ„๋œ์  โ–  HttpServletRequest/HttpServletResponse ๋ฅผ ์ด์šฉํ•˜์ง€ ์•Š์•„๋„ ๋  ๋งŒํผ ์ถ”์ƒํ™”๋œ ๋ฐฉ..

[์ž๋ฐ”์›น๊ฐœ๋ฐœ์›Œํฌ๋ถ] 4-1.์Šคํ”„๋ง๊ณผ MyBaits

/* * * ์ž๋ฐ”์›น๊ฐœ๋ฐœ์›Œํฌ๋ถ์˜ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ํฌ์ŠคํŒ…์ž…๋‹ˆ๋‹ค. * ์Šคํ”„๋ง, ์˜์กด์„ฑ์ฃผ์ž…, MyBatis์—ฐ๋™ */ 1. ์Šคํ”„๋ง์˜ ์‹œ์ž‘ : ์Šคํ”„๋งํ”„๋ ˆ์ž„์›Œํฌ๋Š” ์›๋ž˜ ์›น์ด๋ผ๋Š” ์ œํ•œ์ ์ธ ์šฉ๋„๋กœ๋งŒ ์“ฐ์ด๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ๊ฐ์ฒด์ง€ํ–ฅ์˜ '์˜์กด์„ฑ์ฃผ์ž…(dependency injection)'๊ธฐ๋ฒ•์„ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋ ˆ์ž„์›Œํฌ์˜€์Šต๋‹ˆ๋‹ค. ์Šคํ”„๋งํ”„๋ ˆ์ž„์›Œํฌ๋Š” ๋กœ๋“œ์กด์Šจ์ด 2002๋…„๋„์— ์ง‘ํ•„ํ–ˆ๋˜ 'J2EE์„ค๊ณ„ ๋ฐ ๊ฐœ๋ฐœ'์ด๋ผ๋Š” ์ฑ…์˜ ์˜ˆ์ œ์ฝ”๋“œ์—์„œ ์‹œ์ž‘๋๋Š”๋ฐ ๋ง๊ทธ๋Œ€๋กœ ํšจ๊ณผ์ ์ด๊ณ  ๊ฐ€๋ณ๊ฒŒ J2EE๋ฅผ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์ฆ๋ช…ํ•˜๋ฉด์„œ ์˜ˆ์ œ์˜ ์ฝ”๋“œ๋ฅผ ๋ฐœ์ „์‹œํ‚จ๊ฒƒ์ž…๋‹ˆ๋‹ค. 2000๋…„๋‹น์‹œ ์ž๋ฐ”์ง„์˜์—์„œ javaEE์˜ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์ŠคํŽ™์„ ์ •์˜ํ•˜๊ณ  ๋น„๋Œ€ํ•ด์ง€๋Š” ๋™์•ˆ, ์Šคํ”„๋งํ”„๋ ˆ์ž„์›Œํฌ๋Š” ๋ฐ˜๋Œ€๋กœ ๊ฒฝ๋Ÿ‰ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ๋ชฉํ‘œํ–ˆ์Šต๋‹ˆ๋‹ค. ์Šคํ”„๋งํ”„๋ ˆ์ž„์›Œํฌ๋Š” ๊ฐ€์žฅ ์ค‘์š”ํ•œ '์ฝ”์–ด..

[์ž๋ฐ”์›น๊ฐœ๋ฐœ์›Œํฌ๋ถ] 3. ์„ธ์…˜/์ฟ ํ‚ค/ํ•„ํ„ฐ/๋ฆฌ์Šค๋„ˆ

/* * * ์ž๋ฐ”์›น๊ฐœ๋ฐœ์›Œํฌ๋ถ์˜ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ํฌ์ŠคํŒ…์ž…๋‹ˆ๋‹ค. * ์„ธ์…˜, ์ฟ ํ‚ค, ์„œ๋ธ”๋ฆฟ์ปจํ…์ŠคํŠธ, ํ•„ํ„ฐ */ 1. ์„ธ์…˜ ํŠธ๋ž™ํ‚น : ์›น์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ๊ณผ๊ฑฐ์˜ ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•˜์ง€ ์•Š๋Š” ๋ฌด์ƒํƒœ์—ฐ๊ฒฐ์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๊ณผ๊ฑฐ์˜ ์š”์ฒญ ๊ธฐ๋ก์„ ์•Œ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. HTTP๊ฐ€ ๋ฌด์ƒํƒœ๋ฅผ ์„ ํƒํ•œ ๊ฐ€์žฅ ํฐ ์ด์œ ๋Š” ์ ์€ ์ž์›์œผ๋กœ ์—ฌ๋Ÿฌ๊ฐœ์˜ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๊ธฐ๋•Œ๋ฌธ์ด์ง€๋งŒ ๋•๋ถ„์— ๊ณผ๊ฑฐ์˜ ๋ฐฉ๋ฌธ๊ธฐ๋ก์„ ์ถ”์ ํ•˜๋Š” ๊ธฐ๋ฒ•์ด ํ•„์š”ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.์ด๋Ÿฌํ•œ ๊ธฐ๋ฒ•๋“ค์„ ์„ธ์…˜ ํŠธ๋ž™ํ‚น(session tracking)์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. 2. ์ฟ ํ‚ค : HTTP์—์„œ ์„ธ์…˜ํŠธ๋ž™ํ‚น์€ '์ฟ ํ‚ค(Cookie)'๋ผ๋Š” ์กด์žฌ๋ฅผ ์ด์šฉํ•ฉ๋‹ˆ๋‹ค. ์ฟ ํ‚ค๋Š” ๋ฌธ์ž์—ด๋กœ ๋งŒ๋“ค์–ด์ง„ ๋ฐ์ดํ„ฐ์˜ ์กฐ๊ฐ์œผ๋กœ ์„œ๋ฒ„์™€ ๋ธŒ๋ผ์šฐ์ € ์‚ฌ์ด์—์„œ ์š”์ฒญ์ด๋‚˜ ์‘๋‹ต์‹œ์— ์ฃผ๊ณ ๋ฐ›๋Š” ํ˜•ํƒœ๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ฟ ํ‚ค๋Š” ๋ฌธ์ž์—ด๋กœ ๋˜์–ด์žˆ๋Š” ์ •๋ณด๋กœ ๊ธฐ๋ณธ์ ์œผ๋กœ..

[MySQL] ์‚ฌ์šฉ์ž ์ƒ์„ฑ/DB์ƒ์„ฑ/๊ถŒํ•œ๋ถ€์—ฌ

์‚ฌ์šฉ์ž ์กฐํšŒ MySQL์˜ ์‚ฌ์šฉ์ž ๋ชฉ๋ก์„ ์กฐํšŒํ•˜๊ธฐ ์œ„ํ•ด MySQL์˜ ๊ธฐ๋ณธ ์Šคํ‚ค๋งˆ์ธ mysql์•ˆ์— userํ…Œ์ด๋ธ”์—์„œ ์•„๋ž˜์™€ ๊ฐ™์€ ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ์กฐํšŒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. # mysql ์Šคํ‚ค๋งˆ ์„ ํƒ use mysql; # ์‚ฌ์šฉ์ž ๋ชฉ๋ก ์กฐํšŒ select user, host from user; ์‚ฌ์šฉ์ž ์ƒ์„ฑ ์‚ฌ์šฉ์ž ์ƒ์„ฑ์‹œ์—๋Š” create๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์•„๋ž˜์™€ ๊ฐ™์€ ์˜ˆ์‹œ๋Œ€๋กœ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. create user '์‚ฌ์šฉ์ž'@'host' identified by '๋น„๋ฐ€๋ฒˆํ˜ธ'; # ex1) ๋‚ด๋ถ€ ์ ‘๊ทผ์„ ํ—ˆ์šฉํ•˜๋Š” ์‚ฌ์šฉ์ž ์ถ”๊ฐ€ create user 'test'@'localhost' identified by '0000'; # ex2) ์™ธ๋ถ€ ์ ‘๊ทผ์„ ํ—ˆ์šฉํ•˜๋Š” ์‚ฌ์šฉ์ž ์ถ”๊ฐ€ create user 'test'@'%' identifie..

[MariaDB] MacOS์—์„œ MariaDB์„ค์น˜ํ•˜๊ธฐ

๋งฅ๋ถ ์œ ์ €๋ผ๋ฉด homebrew๋ฅผ ์ด์šฉํ•˜์—ฌ ๊ฐ„๋‹จํ•˜๊ฒŒ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์šฐ์„  ํ„ฐ๋ฏธ๋„์„ ์—ด๊ณ , brew install mariadb homebrew๊ฐ€ ์—…๋ฐ์ดํŠธ๊ฐ€ ๋˜๋ฉฐ, ์„ค์น˜๊ฐ€ ๋ ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ ค์ค๋‹ˆ๋‹ค. ์„ค์น˜๊ฐ€ ์™„๋ฃŒ๋˜์—ˆ๋‹ค๋ฉด ์‹คํ–‰์‹œ์ผœ๋ด…๋‹ˆ๋‹ค. brew๋กœ ์„ค์น˜ํ•œ ์„œ๋น„์Šค๋“ค์„ ์‹œ์ž‘ํ• ๋•Œ๋Š” ์•„๋ž˜์™€ ๊ฐ™์€ ๊ตฌ๋ฌธ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋™์ž‘ : brew services start mariadb ์ค‘์ง€ : brew services stop mariadb mariadb๋ฅผ ์‹คํ–‰์‹œ์ผฐ๋‹ค๋ฉด ์‹ค์ œ๋กœ ๋™์ž‘ํ•˜๋Š”์ง€ ํ™•์ธํ•ด๋ด…์‹œ๋‹ค. brew services list ๊ทธ๋Ÿผ brew๋กœ ์„ค์น˜๋œ ์„œ๋น„์Šค๋“ค์˜ ๋™์ž‘ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. rrumang@yuminhaui-MacBookPro ~ % brew services list Name Status User Fil..