2021-02-15(Mon)

ํ•ญ๋ชฉ

๋‚ด์šฉ

ํ•™์Šต ๋‚ ์งœ

2021-02-15(์›”)

ํ•™์Šต ์‹œ๊ฐ„

08:00~24:00

ํ•™์Šต ๋ฒ”์œ„ ๋ฐ ์ฃผ์ œ

Websocket, rails active record

ํ•™์Šต ๋ชฉํ‘œ

ChatRoom์„ ๊ตฌํ˜„ํ•œ๋‹ค.

๋™๋ฃŒ ํ•™์Šต ๋ฐฉ๋ฒ•

์Šคํฌ๋Ÿผ ํ›„ ๋ชจ๊ฐ์ฝ”(๋ชจ์—ฌ์„œx ๋ชจ๋“ˆ๋ณ„ ๊ฐ์ž ์ฝ”๋”ฉ)

์ƒ์„ธ ํ•™์Šต ๋‚ด์šฉ

์€ํœผ๋‹˜๊ณผ ํŽ˜์–ด์ฝ”๋”ฉ์„ ํ•˜๋˜ ์ค‘ ํšจ์œจ์ ์ธ ์ง„ํ–‰์„ ์œ„ํ•ด ์ฑ—๋ฃธ์˜ ํ”„๋ก ํŠธ์—”๋“œ์™€ ๋ฐฑ์—”๋“œ๋ฅผ ๋‚˜๋ˆ ์„œ ๊ฐ๊ฐ ์ง„ํ–‰ํ•œ ๋’ค ์ค‘๊ฐ„์— ํ•ฉ์น˜๊ธฐ๋กœ ํ•˜์˜€๋‹ค. ์šฐ์„  ๋‚˜๋Š” ๋ฐฑ์—”๋“œ, ์€ํœผ๋‹˜์€ ํ”„๋ก ํŠธ์—”๋“œ๋ฅผ ๋งก์•„์„œ ์ง„ํ–‰ํ–ˆ๋‹ค.

Q) GET์ด๋‚˜ DELETE ์š”์ฒญ ๋ฉ”์„œ๋“œ๋ฅผ ์“ธ ๋•Œ ์œ ์ € ๊ถŒํ•œ๊ณผ ๋น„๋ฐ€๋ฒˆํ˜ธ๋Š” ์–ด๋–ป๊ฒŒ ์ „์†กํ•˜๊ณ  ํ™•์ธํ•ด์•ผํ• ๊นŒ?

์œ ์ €์˜ ๊ถŒํ•œ์— ๋”ฐ๋ผ ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ๋Š” ROOM์— ๋Œ€ํ•œ ์ •๋ณด์™€ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ๋Š” ๋ฉค๋ฒ„์‹ญ์ด ๋‹ฌ๋ผ์„œ ์ด๋ฅผ ํ™•์ธํ•  ๋ฐฉ๋ฒ•์„ ์ •ํ•ด์•ผํ–ˆ๋‹ค.

POST ์š”์ฒญ ๋ฉ”์„œ๋“œ์˜ ๊ฒฝ์šฐ, ๋ฉ”์„ธ์ง€ ๋ฐ”๋””์— ํŒจ์Šค์›Œ๋“œ์™€ ์œ ์ € ์ •๋ณด๋ฅผ ๋‹ด์•„์„œ ์ „์†กํ•˜๋ฉด ์–ด๋Š ์ •๋„ ๋ฐ์ดํ„ฐ๊ฐ€ ๊ฐ์ถฐ์ง„๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ๋ฉ”์„ธ์ง€ ๋ฐ”๋””๋ฅผ ํฌํ•จํ•˜์ง€ ์•Š๋Š” DELETE ๊ฐ™์€ HTTP ์š”์ฒญ ๋ฉ”์„œ๋“œ์˜ ์œ ์ €์˜ ๊ถŒํ•œ๊ณผ ํŒจ์Šค์›Œ๋“œ๋ฅผ ์–ด๋–ป๊ฒŒ ํ™•์ธํ•ด์•ผํ• ๊นŒ? ๋‹จ์ˆœํžˆ URL ์ฟผ๋ฆฌ๋กœ ๋‚ ๋ฆฌ๋ฉด 1) ๋ณด์•ˆ์ƒ ์ข‹์ง€ ์•Š์„ ๊ฒƒ์ด ๋ป”ํ•˜๊ณ  2) ๋‹จ์ˆœํžˆ ์œ ์ €๊ฐ€ ์ฃผ์†Œ์ฐฝ์— ์ˆซ์ž๋ฅผ ๋ฐ”๊ฟ”์„œ ์ž…๋ ฅํ•˜๋Š” ๊ฒƒ๋งŒ์œผ๋กœ๋„ ์œ ์ € ์‹๋ณ„ ๋ฐ ์ฒ˜๋ฆฌ๊ฐ€ ์–ด๋ ค์›Œ์ง„๋‹ค.

A)

ํ—ค๋”์—๋‹ค๊ฐ€ ๋‹ด์•„์„œ ๋ณด๋‚ด์ž! ๋‚˜ ๊ฐ™์€ ๊ฒฝ์šฐ์—” current_user ํ—ค๋”์—๋Š” ํ˜„์žฌ ๋กœ๊ทธ์ธ๋œ current_user์˜ id ๊ฐ’์„, Authorization ํ—ค๋”์—๋Š” ํŒจ์Šค์›Œ๋“œ๋ฅผ ๋‹ด์•„์„œ ์ „์†ก์‹œ์ผฐ๋‹ค.

์•„๋ž˜ ๋‘ ๊ฐ€์ง€๋ฅผ ๊ธฐ์–ตํ•˜๋ฉด Rails์—์„œ ์‰ฝ๊ฒŒ ๋ฐ›์•„์„œ ์“ธ ์ˆ˜ ์žˆ๋‹ค.

  1. ๋ฐ›์€ ํ—ค๋”๋Š” Rails controller์—์„œ request.headers๋กœ ํƒ์ƒ‰ํ•˜๋ฉด ๋œ๋‹ค.

  2. Authorization ๊ณผ ๋‹ฌ๋ฆฌ current_user ๊ฐ™์€ ์‚ฌ์šฉ์ž ์ •์˜ํ—ค๋”๋Š” prefix๋กœ HTTP ๊ฐ€ ๋ถ™๋Š”๋‹ค. ๊ฒฐ๊ณผ์ ์œผ๋กœ request.headers["HTTP_CURRENT_UESR"]๋กœ ํƒ์ƒ‰ํ–ˆ๋‹ค.

https://stackoverflow.com/questions/10081728/add-request-header-on-backbone

https://stackoverflow.com/questions/25558190/custom-headers-in-request-not-showing-in-rails-backend

https://stackoverflow.com/questions/19972313/accessing-custom-header-variables-in-ruby-on-rails

ํ•™์Šต ๋‚ด์šฉ์— ๋Œ€ํ•œ ๊ฐœ์ธ์ ์ธ ์ดํ‰

๋ฐฑ์—”๋“œ๊ฐ€ ํ™•์‹คํžˆ ์žฌ๋ฐŒ๋‹ค. 'POSTMAN'์œผ๋กœ ํ…Œ์ŠคํŠธ ์…‹์„ ๊ตฌ์ถ•ํ•ด๋’€๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ”๋กœ๋ฐ”๋กœ ๊ตฌํ˜„์„ ๊ฒ€์ฆํ•  ์ˆ˜ ์žˆ์—ˆ๊ธฐ ๋•Œ๋ฌธ์ธ ๊ฒƒ ๊ฐ™๋‹ค. ์ฑ…์—์„œ ์ฝ์€ ๊ฒƒ์ฒ˜๋Ÿผ ์—„๋ฐ€ํ•˜๊ฒŒ A to Z๊นŒ์ง€ TDD๋ฅผ ์ง„ํ–‰ํ•œ ๊ฒƒ์€ ์•„๋‹ˆ์ง€๋งŒ, ํ…Œ์ŠคํŠธ๋ฅผ ๋จผ์ € ๋งŒ๋“ค์–ด๋†“๊ณ  ๊ฐœ๋ฐœํ•˜๋Š” ๊ฒƒ์˜ ์ค‘์š”์„ฑ์„ ๋‹ค์‹œ๊ธˆ ๋Š๊ผˆ๋‹ค. ์ด๋ ‡๊ฒŒ ๊ฐœ๋ฐœํ•˜๋ฉด ์•ˆ์ •์„ฑ๋„ ์•ˆ์ •์„ฑ์ด์ง€๋งŒ ์žฌ๋ฏธ๊ฐ€ ๋ณด์žฅ๋œ๋‹คใ…Žใ…Ž

๊ทธ๋ฆฌ๊ณ  ํ”„๋กœ์ ํŠธ ์ดˆ๋ฐ˜์—๋งŒ ํ•ด๋„ ํ”„๋ก ํŠธ์—”๋“œ์™€ ๋ฐฑ์—”๋“œ๋ฅผ ๋‚˜๋ˆ„๋Š” ๊ฒƒ์— ๋Œ€ํ•ด ๊ฑฐ๋ถ€๊ฐ์ด ๋“ค์—ˆ์—ˆ๋Š”๋ฐ(๊ฐ ์‚ฌ์ด๋“œ์— ๋Œ€ํ•œ ํ•™์Šต ๊ธฐํšŒ๊ฐ€ ๋ฐ•ํƒˆ๋  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ƒ๊ฐ ๋•Œ๋ฌธ์—) ์ง€๊ธˆ์€ ๋ฐฑ์—”๋“œ์— ์ข€ ๋” ํฅ๋ฏธ๊ฐ€ ๊ฐ€๋Š” ๊ฒƒ์„ ๋Š๊ผˆ๋‹ค. ์›๋ž˜ ๋‚˜๋Š” ๋‚ด ์„œ๋น„์Šค๋ฅผ ๋งŒ๋“œ๋Š”๋ฐ ๋„์›€์ด ๋˜๋Š” ์ˆ˜์ค€์œผ๋กœ ๋ฐฑ์—”๋“œ๋ฅผ ํ•˜๊ณ , ํ”„๋ก ํŠธ์—”๋“œ๋‚˜ ์•ฑ๊ฐœ๋ฐœ์„ ํ•˜๋ ค๊ณ  ํ–ˆ์—ˆ๋Š”๋ฐ, ์„ฑํ–ฅ์ƒ ๋ฐฑ์—”๋“œ๊ฐ€ ์ฐธ ๋งž๋Š”๋‹ฌ๊นŒ? ๊ฐ์ฒด ์ง€ํ–ฅ๋„ ๊ณต๋ถ€ํ•˜๋ฉด ๊ณต๋ถ€ํ•  ์ˆ˜๋ก ํฅ๋ฏธ๋กญ๊ณ ..ํ  ์ปค๋ฆฌ์–ด๋ฅผ ์ข€ ์ƒ๊ฐํ•ด๋ด์•ผ๊ฒ ๋‹ค.

๋‹ค์Œ ํ•™์Šต ๊ณ„ํš

  • ์ฑ—๋ฃธ ๋ฉ”์„ธ์ง€ ๊ตฌํ˜„

Last updated