์ „์ฒด ๊ธ€ 69

์„ธ์…˜(Session) vs ์ฟ ํ‚ค(Cookie)

1. ์„ธ์…˜- ์„œ๋ฒ„(์ปจํ…Œ์ด๋„ˆ)์— ์ €์žฅ๋˜๋Š” ์ •๋ณด => ์„œ๋ฒ„์—์„œ ๊ด€๋ฆฌ๋˜๋ฏ€๋กœ ์ƒ๋Œ€์ ์œผ๋กœ ๋ณด์•ˆ์— ์œ ๋ฆฌํ•จ- ์›น๋ธŒ๋ผ์šฐ์ €๋ฅผ ์ข…๋ฃŒํ•˜๊ฑฐ๋‚˜ ์„ธ์…˜ ํƒ€์ด๋จธ๊ฐ€ ๋งŒ๋ฃŒ๋˜๊ฑฐ๋‚˜ ์„œ๋ฒ„๊ฐ€ ์žฌ์‹œ์ž‘๋˜๋ฉด ์ดˆ๊ธฐํ™” (๋˜๋Š” ์ž๋ฐ”์˜ ์„ธ์…˜ ๊ฒฝ์šฐ invalidate() ๋ฉ”์„œ๋“œ ํ˜ธ์ถœ๋˜๋ฉด ์ดˆ๊ธฐํ™”)- ์ฃผ๋กœ, ๋กœ๊ทธ์ธ ์ •๋ณด ๋“ฑ์„ ์ €์žฅํ•˜๋Š” ์šฉ๋„๋กœ ์‚ฌ์šฉํ•จ(HTTP ํ”„๋กœํ† ์ฝœ์˜ ๋‹จ์ ์„ ๋ณด์™„) 2. ์ฟ ํ‚ค- ํด๋ผ์ด์–ธํŠธ(์›น๋ธŒ๋ผ์šฐ์ €)์—์„œ ์ €์žฅ๋˜๋Š” ์ •๋ณด => ํด๋ผ์ด์–ธํŠธ์—์„œ ๊ด€๋ฆฌ๋˜๋ฏ€๋กœ ์ƒ๋Œ€์ ์œผ๋กœ ๋ณด์•ˆ์— ์ทจ์•ฝ(ํด๋ผ์ด์–ธํŠธ์ƒ์—์„œ ์œ„๋ณ€์กฐ ์œ„ํ—˜์„ฑ ์žˆ์Œ) => ๋Œ€์‹ , ์„œ๋ฒ„์˜ ์ž์›์„ ์†Œ๋ชจํ•˜์ง€ ์•Š๊ณ  ํด๋ผ์ด์–ธํŠธ์˜ ์ž์›๋งŒ ์†Œ๋ชจํ•จ- ์›น๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๊ด€๋ฆฌํ•˜๋Š” ํŠน์ • ์œ„์น˜์— ํŒŒ์ผ(๋˜๋Š” ๋ฉ”๋ชจ๋ฆฌ) ํ˜•ํƒœ๋กœ ์ €์žฅ ( key, value ํ˜•์‹์œผ๋กœ ์ •๋ณด๊ฐ€ ์ €์žฅ๋˜๋ฉฐ, ์ฟ ํ‚ค๋ช…, ์ฟ ํ‚ค๊ฐ’, ์œ ํšจ๊ธฐ๊ฐ„ ๋“ฑ์ด ํฌํ•จ๋จ)- ์›น๋ธŒ๋ผ์šฐ์ €๋Š”..

JSON ํ™œ์šฉํ•˜์—ฌ ์˜ํ™” ์˜คํ”ˆAPI

https://www.kobis.or.kr/kobisopenapi/homepg/main/main.do ์˜ํ™”์ง„ํฅ์œ„์›ํšŒ ์˜คํ”ˆAPIOPEN API ์„œ๋น„์Šค ์˜ํ™”์ง„ํฅ์œ„์›ํšŒ ์˜ํ™”๊ด€์ž…์žฅ๊ถŒํ†ตํ•ฉ์ „์‚ฐ๋ง์—์„œ ์ œ๊ณตํ•˜๋Š” ์˜คํ”ˆAPI ์„œ๋น„์Šค๋กœ ๋”์šฑ ํ’์š”๋กญ๊ณ  ํŽธ์•ˆํ•œ ์˜ํ™” ์„œ๋น„์Šค๋ฅผ ์ฆ๊ฒจ๋ณด์„ธ์š”.www.kobis.or.kr  ํ‚ค ๋ฐœ๊ธ‰ ๋ฐ›๊ธฐ: ์‚ฌ์šฉurl์—๋Š” http://localhost:8080/ ์ž…๋ ฅ    ์‘๋‹ต ์˜ˆ์‹œ์— ๋ฐœ๊ธ‰๋ฐ›์€ ํ‚ค ๊ฐ’๊ณผ, ์กฐํšŒํ•  ๋‚ ์งœ ์ž…๋ ฅํ•˜์—ฌ ํ™•์ธ

JSON ๊ธฐ์ดˆ

[ JSON(JavaScript Object Notation) ]- ๋‹ค์–‘ํ•œ ํ”Œ๋žซํผ์—์„œ ๋Œ€๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ฐ์ดํ„ฐ ๊ตํ™˜ ํฌ๋งท - ์›๋ž˜, ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋‚ด์—์„œ ๋ฐ์ดํ„ฐ ๊ตํ™˜์„ ์œ„ํ•œ ๊ฐ์ฒด ํฌ๋งท์œผ๋กœ ๊ฐœ๋ฐœ๋์œผ๋‚˜   ํ˜„์žฌ๋Š” ํ”Œ๋žซํผ๊ณผ ๊ด€๊ณ„์—†์ด ๋‹ค์–‘ํ•œ ์–ธ์–ด์—์„œ ์‚ฌ์šฉ  => ์ด์ œ๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ „์šฉ์ด ์•„๋‹˜ - JSON ๋ฐ์ดํ„ฐ๋Š” ๋ณ„๋„์˜ ํŒŒ์‹ฑ์ด๋‚˜ ์ง๋ ฌํ™” ์—†์ด๋„ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๋ฉฐ   ๊ฐ์ฒด, ๋ฆฌํ„ฐ๋Ÿด, ๋ฐฐ์—ด ๋“ฑ์˜ ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ํ…์ŠคํŠธ ๊ธฐ๋ฐ˜ ํฌ๋งท   (๋ฌธ์ž์—ด, ์ˆซ์ž, boolean, Null, ๊ฐ์ฒด, ๋ฐฐ์—ด) - ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ๋Œ€๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๋Š”๋ฐ ์šฉ์ดํ•จ - JSON ์€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ธฐ๋ฐ˜์ด๋ฏ€๋กœ    ๊ฐ์ฒด๋Š” ์ค‘๊ด„ํ˜ธ{} ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ‘œ๊ธฐํ•˜๋ฉฐ, ์ค‘๊ด„ํ˜ธ ๋‚ด์—์„œ "์†์„ฑ๋ช…":๊ฐ’ ํ˜•ํƒœ๋กœ..

AJAX ๋ž€?

Ajax ( Asynchonous Javascript And Xml, ๋น„๋™๊ธฐ์‹ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ&XML)- ์›น ํŽ˜์ด์ง€(๋ธŒ๋ผ์šฐ์ €)์˜ ๊ฐฑ์‹ (Refresh) ์—†์ด๋„ ์„œ๋ฒ„๋กœ ์š”์ฒญ์„ ์ˆ˜ํ–‰ํ•˜๊ณ , ์š”์ฒญ์— ๋Œ€ํ•œ ์‘๋‹ต์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ(jQuery) ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ- ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋“ฑ์˜ ์ž‘์—… ์š”์ฒญ ์‹œ ์š”์ฒญ๋œ ์‘๋‹ต์ด ๋Œ์•„์˜ฌ ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฌ์ง€ ์•Š๊ณ , ๋‹ค๋ฅธ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋ฉด์„œ ์š”์ฒญ์— ๋Œ€ํ•œ ์‘๋‹ต์ด ๋Œ์•„์˜ค๋ฉด ํ•ด๋‹น ์‘๋‹ต์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ธฐ์ˆ - ์ฃผ๋กœ, ์•„์ด๋”” ๋ฐ ํŒจ์Šค์›Œ๋“œ ๊ฒ€์ฆ ๋“ฑ์˜ ์‹ค์‹œ๊ฐ„ ์ •๋ณด ์กฐํšŒ ์ž‘์—…์— ํ™œ์šฉ   ajax ๋ฌธ๋ฒ•$.ajax({ type : xxx, // AJAX ๋กœ ์š”์ฒญ ์‹œ ์‚ฌ์šฉํ•  ๋ฉ”์„œ๋“œ(= ์š”์ฒญ ๋ฐฉ์‹ = "GET" or "POST" ๋“ฑ) ์ง€์ • url : xxx, // AJAX ๋กœ ์š”์ฒญํ•  ์š”์ฒญ ์ฃผ์†Œ(URL) data : xx..

[Project1-LearnOn] ๊ฒฐ์ œ ํŽ˜์ด์ง€ ๊ธฐ๋Šฅ ๊ตฌํ˜„

1. DBํ…Œ์ด๋ธ”(PURCHASE, PAYMENT)์ฃผ๋ฌธ(PURCHASE) ์ปฌ๋Ÿผ (1:M)- ์ฃผ๋ฌธ ๊ณ ์œ  ID : CARTITEM_IDX (INT)- ํด๋ž˜์Šค ID : CLASS_ID (INT) ( FK TO CLASS(CLASS_ID))- ๊ฐ•์‚ฌ ID : MEM_ID (VARCHAR) (FK TO MEMBER(MEM_ID)) ๊ฒฐ์ œ(PAYMENT) ์ปฌ๋Ÿผ(1:1)- ๊ฒฐ์ œ ๊ณ ์œ  ID :   2. ๊ฒฐ์ œ ํ”Œ๋กœ์šฐ๋กœ๊ทธ์ธ(ํ•„์ˆ˜์กฐ๊ฑด)> ๋ฐฉ๋ฒ•1) ์ œํ’ˆ ์ƒ์„ธ ํŽ˜์ด์ง€์—์„œ ๊ฒฐ์ œํ•˜๊ธฐ ๋ฒ„ํŠผ ํด๋ฆญ์‹œ ๋ฐ”๋กœ ์ฃผ๋ฌธ ํ…Œ์ด๋ธ”์— ์ธ์„œํŠธ(์ƒํ’ˆ 1๊ฐœ๋งŒ)> ๋ฐฉ๋ฒ•2) ์žฅ๋ฐ”๊ตฌ๋‹ˆ ํŽ˜์ด์ง€์—์„œ ์„ ํƒํ•œ ์ œํ’ˆ์„ ๊ฒฐ์ œํ•˜๊ธฐ ๋ฒ„ํŠผ ํด๋ฆญ์‹œ ์ฃผ๋ฌธ ํ…Œ์ด๋ธ”์— ์ธ์„œํŠธ (์ƒํ’ˆ ์—ฌ๋Ÿฌ๊ฐœ์ผ ์ˆ˜ ์žˆ์Œ)> ๊ฒฐ์ œ API ์—ฐ๋™ ๊ตฌํ˜„ (ํฌํŠธ์›)> ๊ฒฐ์ œ ์„ฑ๊ณต์‹œ ๊ฒฐ์ œ ํ…Œ์ด๋ธ”์— ์ธ์„œํŠธ (1:1)> ์ฃผ๋ฌธ..