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

Was this helpful?