๋ชฉ๋กRp2๊ธฐ (6)

YS's develop story

Query String ๊ณผ Path Variable ๋น„๊ต ๋ฐ ํ™œ์šฉ

Query String, ์ฟผ๋ฆฌ ์ŠคํŠธ๋ง ํ™œ์šฉํ•˜๊ธฐ '๊ฑด๋Œ€'๋ผ๋Š” ๊ธ€์ž๊ฐ€ ๋“ค์–ด๊ฐ€๋Š” ํŠน์ • ์นดํŽ˜๋ฅผ ์ฐพ๊ธฐ ์œ„ํ•ด์„  ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ• ๊นŒ์š”? ์•„๋ž˜์™€ ๊ฐ™์ด ์ฟผ๋ฆฌ์ŠคํŠธ๋ง์„ ํ™œ์šฉํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. cafeRoute.js cafecontroller.js ์‚ฌ์šฉ์ž๊ฐ€ ์ฟผ๋ฆฌ ์ŠคํŠธ๋ง ๊ฐ’์„ ์ž…๋ ฅํ•˜์ง€ ์•Š๊ณ  /cafe์™€ ๊ฐ™์ด ์š”์ฒญ์„ ํ•˜๊ฒŒ ๋˜๋ฉด ๋ชจ๋“  ์นดํŽ˜๋ฅผ ์ถœ๋ ฅํ•˜๊ณ , /cafe?cafeName=๊ฑด๋Œ€ ์™€ ๊ฐ™์ด ์š”์ฒญ์„ ํ•˜๊ฒŒ ๋˜๋ฉด cafeName์— ๊ฐ’์ด ๋“ค์–ด๊ฐ€๊ฒŒ ๋˜์–ด ๊ทธ ์นดํŽ˜๋งŒ์„ ์ถœ๋ ฅํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. cafeDao.js ์ฟผ๋ฆฌ ์ŠคํŠธ๋ง ์ฒ˜๋ฆฌ ๋ถ€๋ถ„ ์ฟผ๋ฆฌ์ž…๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ์ค‘์š”ํ•œ ๊ฒƒ์€ ์ฟผ๋ฆฌ๋ฅผ ์งค ๋•Œ Like concat ('%',?,'%')์„ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.. ์ฒ˜์Œ์— %?%์ด๋Ÿฐ์‹์œผ๋กœ ์ฟผ๋ฆฌ๋ฅผ ์งฐ๋Š”๋ฐ ์ฟผ๋ฆฌ๋ฅผ ์ธ์‹์„ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค.. Postman์—์„œ ์‹คํ–‰ ๊ฒฐ๊ณผ๋ฅผ ํ™•์ธํ•ด..

API์™€ REST API๋ž€ ๋ฌด์—‡์ธ๊ฐ€..?

RP2๊ธฐ API์™€ REST API๋ž€ ๋ฌด์—‡์ธ๊ฐ€..? ์ˆ˜์—…๋‚ด์šฉ ์ •๋ฆฌ ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๊ฐ€ Request, Response๋ฅผ ํ†ตํ•ด ์ฃผ๊ณ ๋ฐ›๋Š” ๋ฐ์ดํ„ฐ ๋ฉ์–ด๋ฆฌ๋ฅผ Packet๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. Packet์„ ์†Œํฌ ์ƒ์ž๋ผ๊ณ  ์ƒ๊ฐํ•ด ๋ด…์‹œ๋‹ค. ์†Œํฌ ์ƒ์ž์—๋Š” label์ด ๋ถ™์–ด ์žˆ์„ ๊ฒƒ์ธ๋ฐ ์ด label๋ฅผ Header๋ผ๊ณ  ๋ถ€๋ฆ…๋‹ˆ๋‹ค. Header์—๋Š” Meta data๊ฐ€ ๋“ค์–ด ์žˆ์Šต๋‹ˆ๋‹ค. Meta data๋ž€... ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋Š” ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ์ด๋‹ค. ์ด๋ ‡๊ฒŒ ํ”ํžˆ๋“ค ๊ฐ„๋‹จํžˆ ์ •์˜ํ•˜์ง€๋งŒ ์—„๊ฒฉํ•˜๊ฒŒ๋Š” "์–ด๋–ค ๋ชฉ์ ์„ ๊ฐ€์ง€๊ณ  ๋งŒ๋“ค์–ด์ง„ ๋ฐ์ดํ„ฐ"๋ผ๊ณ ๋„ ์ •์˜ํ•œ๋‹ค. ๊ฐ€๋ น ๋„์„œ๊ด€์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์„œ์ง€ ๊ธฐ์ˆ ์šฉ์œผ๋กœ ๋งŒ๋“  ๊ฒƒ์ด ๊ทธ ๋Œ€ํ‘œ์ ์ธ ์˜ˆ์ด๋‹ค. ์†Œํฌ ์ƒ์ž ์•ˆ์—๋Š” ์ง„์งœ ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋“ค์ด ๋“ค์–ด์žˆ์„ ๊ฒƒ์ธ๋ฐ ์ด๊ฒƒ์„ Body๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. HTTP ํ”„๋กœํ† ์ฝœ์„ ์ด์šฉํ•ด์„œ ํŒจํ‚ท..

(RP2๊ธฐ 5์ฃผ์ฐจ ๊ณผ์ œ - part 2) JWT๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํšŒ์›์šฉ API ๋งŒ๋“ค๊ธฐ (Node js)

2๋ฒˆ์งธ ๊ณผ์ œ : JWT๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํšŒ์›์šฉ API ๋งŒ๋“ค๊ธฐ ๋กœ๊ทธ์ธ ์œ ์ง€ ๋ฐฉ์‹ 3๊ฐ€์ง€(์ˆ˜์—… ๋‚ด์šฉ ์ •๋ฆฌ) 1. ์ฟ ํ‚ค, ์„ธ์…˜ โ€œ์ž์œ ์ด์šฉ๊ถŒ์„ ์ฃผ๋Š” ๊ฒƒ.โ€ ๋งจ ์ฒ˜์Œ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋กœ๊ทธ์ธ์„ ํ•  ๊ฒฝ์šฐ, ์„œ๋ฒ„์—์„œ ์ž์œ ์ด์šฉ๊ถŒ (ํ† ํฐ, ์„ธ์…˜ ID)๋ฅผ ๋ฐœ๊ธ‰ํ•œ๋‹ค. ์ดํ›„์— ํด๋ผ์ด์–ธํŠธ๊ฐ€ ํšŒ์›์šฉ API๋ฅผ ํ˜ธ์ถœํ•  ๊ฒฝ์šฐ http ํ—ค๋”์— ์ด ์„ธ์…˜ ID๊ฐ€ ๋‹ด๊ฒจ์„œ ์ž์œ ๋กญ๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ์„ธ์…˜์ด๋ž€ ์„œ๋ฒ„ ์ž…์žฅ์—์„œ์˜ ์Šคํ† ๋ฆฌ์ง€ ์ด๋ฆ„์ด๋‹ค. ์ฟ ํ‚ค๋ผ๋Š” ๊ฒƒ์€ ํด๋ผ์ด์–ธํŠธ ์Šคํ† ๋ฆฌ์ง€ ์ด๋ฆ„์ด๋‹ค. ์žฅ์ : ๊ตฌํ˜„์ด ๊ฐ„๋‹จํ•˜๋‹ค. ๋‹จ์ : ์„ธ์…˜ ID๊ฐ€ ๋…ธ์ถœ๋˜๋ฉด ๋ณด์•ˆ์— ๋งค์šฐ ์ทจ์•ฝํ•˜๋‹ค. 2.OAuth โ€œBig-3 ํ‹ฐ์ผ“์„ ์ฃผ๋Š” ๊ฒƒโ€ โ†’ ํŠน์ • ํ–‰์œ„์— ๋Œ€ํ•ด์„œ๋งŒ ๊ถŒํ•œ์„ ์ฃผ๋Š” ๊ฒƒ ์ด ์—ญ์‹œ ๋กœ๊ทธ์ธ์— ์„ฑ๊ณตํ•˜๋ฉด ์„œ๋ฒ„์—์„œ ํ† ํฐ์„ ๋ณด๋‚ธ๋‹ค. ๋‹จ, ๊ทธ์ „์— ํผ๋ฏธ์…˜ ๋ฆฌ์ŠคํŠธ๋„ ํ•จ๊ป˜ ๋ณด๋‚ธ๋‹ค. ์ฆ‰, ํ—ˆ์šฉ๋œ ..

(RP2๊ธฐ 5์ฃผ์ฐจ ๊ณผ์ œ - part 1) AWS RDS ์ƒ์„ฑํ•˜๊ณ  ์™ธ๋ถ€ ์ ‘์† ํ•˜๊ธฐ.

5์ฃผ ์ฐจ ๊ณผ์ œ 1 - AWS RDS๋ฅผ ์ƒ์„ฑํ•˜๊ณ  DataGrip์„ ํ†ตํ•ด ์™ธ๋ถ€ ์ ‘์†์„ ํ•ด๋ด…์‹œ๋‹ค. ์ด์ œ ์•ฑ์—์„œ ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋“ค์€ AWS RDS์„ ํ†ตํ•ด ์ƒ์„ฑํ•˜๊ณ  ์ €์žฅํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. AWS RDS๋ฅผ ์ƒ์„ฑํ•˜๊ณ  DataGrip์„ ํ†ตํ•ด ์™ธ๋ถ€ ์ ‘์†์„ ํ•ด๋ด…์‹œ๋‹ค. https://aws.amazon.com/ko/ ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค | ํด๋ผ์šฐ๋“œ ์ปดํ“จํŒ… ์†”๋ฃจ์…˜| Amazon Web Services ์ œ์กฐ AWS๋ฅผ ํ™œ์šฉํ•œ Siemens์˜ ์—๋„ˆ์ง€, ์˜๋ฃŒ ์„œ๋น„์Šค, ์ œ์กฐ ๋ถ„์•ผ ํ˜์‹  Siemens๊ฐ€ AWS๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์–ด๋–ป๊ฒŒ ๋ฌธํ™”๋ฅผ ๋ฐ”๊พธ๊ณ  ํ˜์‹ ์„ ์žฅ๋ คํ•˜๋ฉฐ ๋น„์ฆˆ๋‹ˆ์Šค ์„ฑ๊ณผ๋ฅผ ์ฐฝ์ถœํ–ˆ๋Š”์ง€ ์•Œ์•„๋ณด์„ธ์š”. ์ž์„ธํžˆ ์•Œ์•„๋ณด๊ธฐ ์—…์ข… aws.amazon.com ์šฐ์„  AWS ํŽ˜์ด์ง€์—์„œ ์•„๋ž˜์™€ ๊ฐ™์ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ๋ฌด๋ฃŒ๋กœ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ ํ”„๋ฆฌํ‹ฐ์–ด๋ฅผ ์„ ํƒํ•ด ..