Giter Site home page Giter Site logo

be's People

Contributors

beautifulseoul avatar code0613 avatar eunsol-an avatar leejincha avatar

Stargazers

 avatar

Watchers

 avatar

be's Issues

๋ฐฉ ์‚ญ์ œ์‹œ ์ด๋ฏธ์ง€ ์‚ญ์ œ ๊ธฐ๋Šฅ ๊ตฌํ˜„

์ด์Šˆ ์ƒ์„ธ ๋‚ด์šฉ

  • deleteRoom ๋ฉ”์†Œ๋“œ ํ˜ธ์ถœ์‹œ ํ•ด๋‹นํ•˜๋Š” imagefilerepo ๋‚ด๋ถ€ ์—ฌ๋Ÿฌ์žฅ์˜ ์ด๋ฏธ์ง€ ์™€ S3 ์ด๋ฏธ์ง€ ์‚ญ์ œ

์ฒดํฌ๋ฆฌ์ŠคํŠธ

  • deleteRoom ํ˜ธ์ถœ์‹œ ๋ฐฉ ์‚ญ์ œ ์—ฌ๋ถ€
  • roomrepo์—์„œ ํ•ด๋‹น ๋ฐฉ ์‚ญ์ œ ์—ฌ๋ถ€
  • imagefilerepo ์‚ญ์ œ์—ฌ๋ถ€
  • S3 ์‚ญ์ œ์—ฌ๋ถ€

๊ฒ€์ƒ‰์–ด๊ธฐ๋Šฅ ๋น„ํšŒ์›๋„ ๊ฐ€๋Šฅํ•˜๋„๋ก ์ˆ˜์ • / ๋น„ํšŒ์› ํ•„ํ„ฐ๋ง ๊ธฐ๋Šฅ ์ถ”๊ฐ€

์ด์Šˆ ์ƒ์„ธ ๋‚ด์šฉ

  • ๊ฒ€์ƒ‰์–ด๊ธฐ๋Šฅ ํ† ํฐ๊ฐ’์ด ์—†์–ด๋„ ๊ฐ€๋Šฅํ•˜๋„๋ก ์ˆ˜์ •ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. (์ด์ง„)
  • ํ•„ํ„ฐ๋ง ๊ธฐ๋Šฅ๋„ ํ† ํฐ๊ฐ’ ์—†์ด ๊ฐ€๋Šฅํ•˜๋„๋ก ์ˆ˜์ • (์€์†”๋‹˜)

์ฒดํฌ๋ฆฌ์ŠคํŠธ

  • ๊ฒ€์ƒ‰์–ด๊ธฐ๋Šฅ ํ˜„์žฌ๋Š” ๋กœ๊ทธ์ธํ•œ ์ƒํƒœ์—์„œ๋งŒ ๊ฐ€๋Šฅํ•œ๋ฐ ๋น„ํšŒ์›๋„ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๋„๋ก ์ˆ˜์ •ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.
  • ํ•„ํ„ฐ๋ง๊ธฐ๋Šฅ ํ˜„์žฌ๋Š” ๋กœ๊ทธ์ธํ•œ ์ƒํƒœ์—์„œ๋งŒ ๊ฐ€๋Šฅํ•œ๋ฐ ๋น„ํšŒ์›๋„ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๋„๋ก ์ˆ˜์ •

์ˆ™์†Œ ์ƒ์„ธ ํŽ˜์ด์ง€ API ๊ตฌํ˜„

์ด์Šˆ ์ƒ์„ธ ๋‚ด์šฉ

  • ์ˆ™์†Œ์˜ id๋ฅผ ๋ฐ›์•„์„œ ์ˆ™์†Œ์˜ ์ƒ์„ธ ํŽ˜์ด์ง€ ์ •๋ณด๋ฅผ ๋ณด๋‚ด์ฃผ๋Š” detail API ๊ตฌํ˜„

์ฒดํฌ๋ฆฌ์ŠคํŠธ

  • ์ƒ์„ธ ํŽ˜์ด์ง€ ์ž˜ ์ถœ๋ ฅ ๋˜๋Š”์ง€ ํ™•์ธ

ํŽ˜์ด์ง€ ๋ฌดํ•œ์Šคํฌ๋กค

์ด์Šˆ ์ƒ์„ธ ๋‚ด์šฉ

  • JPA Pagination์„ ์ด์šฉํ•˜์—ฌ ๋ฌดํ•œ ์Šคํฌ๋กค๋กœ ๊ตฌํ˜„

์ฒดํฌ๋ฆฌ์ŠคํŠธ

  • ์š”์ฒญํ•œ๋Œ€๋กœ ๋ฐ์ดํ„ฐ ๋Š์–ด์˜ค๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ
  • ๋™์ ์œผ๋กœ ํŽ˜์ด์ง€๋„ค์ด์…˜ ์กฐ๊ฑด ์ ์šฉํ•˜๊ธฐ

Oauth2.0 ์นด์นด์˜ค๋กœ ๋กœ๊ทธ์ธ ๋ฐ ํšŒ์›๊ฐ€์ž… ์‹œ ๋ฐ˜ํ™˜ํƒ€์ž… ํ†ต์ผ, nickname ๊ฐ€์ ธ์˜ค๊ธฐ

์ด์Šˆ ์ƒ์„ธ ๋‚ด์šฉ

  • ์นด์นด์˜ค๋กœ ํšŒ์›๊ฐ€์ž… ์‹œ nickname ๊ฐ’์ €์žฅํ•˜๊ธฐ
  • ์นด์นด์˜ค๋กœ ๋กœ๊ทธ์ธ ์‹œ ๋ฐ˜ํ™˜ํƒ€์ž… ํ†ต์ผ

์ฒดํฌ๋ฆฌ์ŠคํŠธ

  • [o] ์นด์นด์˜ค๋กœ ํšŒ์›๊ฐ€์ž… ์‹œ nickname ๊ฐ’์ €์žฅ๋˜๋Š” ์ง€ ํ™•์ธ
  • [o] ์นด์นด์˜ค๋กœ ๋กœ๊ทธ์ธ ์‹œ ๋ฐ˜ํ™˜ํƒ€์ž… ํ™•์ธ

ํƒ€์ž…(ํ˜ธํ…”, ์•„ํŒŒํŠธ, ์ฃผํƒ)๋ณ„ ํ•„ํ„ฐ๋ง

์ด์Šˆ ์ƒ์„ธ ๋‚ด์šฉ

  • ๋ฉ”์ธ ํŽ˜์ด์ง€์˜ ์ „์ฒด ์กฐํšŒ์—์„œ ํƒ€์ž…(ํ˜ธํ…”, ์•„ํŒŒํŠธ, ์ฃผํƒ)๋ณ„๋กœ ํ•„ํ„ฐ๋ง ๊ฐ€๋Šฅํ•˜๋„๋ก ๋ณ€๊ฒฝ

์ฒดํฌ๋ฆฌ์ŠคํŠธ

  • ํƒ€์ž…๋ณ„ ์กฐํšŒ ๋˜๋Š”์ง€ Postman์œผ๋กœ ํ…Œ์ŠคํŠธ
  • ํŽ˜์ด์ง• ๊ฐ™์ด ๋˜๋Š”์ง€ ํ…Œ์ŠคํŠธ

Oauth2.0 ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ตฌํ˜„

์ด์Šˆ ์ƒ์„ธ ๋‚ด์šฉ

  • Oauth2.0 - ์นด์นด์˜ค ๋กœ๊ทธ์ธ

์ฒดํฌ๋ฆฌ์ŠคํŠธ

  • [o] ํฌ์ŠคํŠธ๋งจ์œผ๋กœ access ์ฝ”๋“œ ๋ฐ›๋Š”์ง€ ํ™•์ธ
  • [o] ์นด์นด์˜ค ์—ฐ๋™ํ•˜์—ฌ ํšŒ์›๊ฐ€์ž… ํฌ์ŠคํŠธ๋งจ์œผ๋กœ ์ž˜ ๋˜๋Š”์ง€ ํ™•์ธ

์ด๋ฉ”์ผ์ธ์ฆ ํ†ตํ•œ ํšŒ์›๊ฐ€์ž… ๋ถ€๋ถ„ ๋ฆฌํŒฉํ† ๋ง(๋ฐ˜ํ™˜ํƒ€์ž… ๋งž์ถ”๊ธฐ, builderํŒจํ„ด ์ ์šฉ)

์ด์Šˆ ์ƒ์„ธ ๋‚ด์šฉ

  • ์ด๋ฉ”์ผ์ธ์ฆ ํ†ตํ•œ ํšŒ์›๊ฐ€์ž… ๋ถ€๋ถ„ ๋ฆฌํŒฉํ† ๋ง(๋ฐ˜ํ™˜ํƒ€์ž… ๋งž์ถ”๊ธฐ, builderํŒจํ„ด ์ ์šฉ)

์ฒดํฌ๋ฆฌ์ŠคํŠธ

  • [o] ๋ฐ˜ํ™˜ํƒ€์ž… ResponseEntity๋กœ ๋งž์ถ”๊ธฐ
  • [o] ๋นŒ๋”ํŒจํ„ด ์ ์šฉ

Refactoring

์ด์Šˆ ์ƒ์„ธ ๋‚ด์šฉ

  • ์ „์ฒด ํŒŒ์ผ refactoring / package ์žฌ๋ฐฐ์น˜

์ฒดํฌ๋ฆฌ์ŠคํŠธ

  • ์ „์ฒด ํŒŒ์ผ refactoring / package ์žฌ๋ฐฐ์น˜

์ „์ฒด์กฐํšŒ ์‹œ ์ด๋ฏธ์ง€ํŒŒ์ผ ์กฐํšŒ ๋˜์ง€ ์•Š๋Š” ๋ถ€๋ถ„ ์ˆ˜์ •

์ด์Šˆ ์ƒ์„ธ ๋‚ด์šฉ

  • ์ˆ™์†Œ์™€ ์ด๋ฏธ์ง€ ํŒŒ์ผ์˜ ์—ฐ๊ด€๊ด€๊ณ„๋ฅผ ๋งบ์–ด ์ „์ฒด ์กฐํšŒ ์‹œ ์ด๋ฏธ์ง€ ํŒŒ์ผ ํ•จ๊ป˜ ์กฐํšŒ ๋  ์ˆ˜ ์žˆ๋„๋ก ๋ณ€๊ฒฝ

์ฒดํฌ๋ฆฌ์ŠคํŠธ

  • ์ „์ฒด ์กฐํšŒ ์‹œ ์ด๋ฏธ์ง€ ์กฐํšŒ
  • ์—ฐ๊ด€๊ด€๊ณ„ ํ™•์ธ

์ด๋ฉ”์ผ ์ธ์ฆ ํšŒ์›๊ฐ€์ž…

์ด์Šˆ ์ƒ์„ธ ๋‚ด์šฉ

  • ์ด๋ฉ”์ผ ์ธ์ฆํ†ตํ•œ ํšŒ์›๊ฐ€์ž… ๊ธฐ๋Šฅ ๊ตฌํ˜„

์ฒดํฌ๋ฆฌ์ŠคํŠธ

  • [o] SMTP ์„ค์ •ํ•œ ๋ฉ”์ผ์ฃผ์†Œ๋กœ ์ธ์ฆ๋ฉ”์ผ ์˜ค๋Š”์ง€ ์ฒดํฌ
  • [o] ์ธ์ฆ์š”์ฒญ ๋ณด๋‚ผ ๋•Œ๋งˆ๋‹ค ๋‹ค๋ฅธ ์ฝ”๋“œ ์˜ค๋Š”์ง€ ์ฒดํฌ
  • [o] ๋ณธ์ธ์—๊ฒŒ ์˜จ ๊ฐ€์žฅ ์ตœ๊ทผ์˜ ์ฝ”๋“œ๋กœ๋งŒ ์ธ์ฆ๋˜๋Š”์ง€ ์ฒดํฌ
  • [o] ํšŒ์›๊ฐ€์ž… ๋œ ์ด๋ฉ”์ผ๋กœ ์ธ์ฆ์ฝ”๋“œ ์š”์ฒญํ•˜๋ฉด ์ค‘๋ณต์ฒดํฌ ๋˜๋Š”์ง€ ํ™•์ธ

์ด๋ฉ”์ผ ์ธ์ฆ ํšŒ์›๊ฐ€์ž…

์ด์Šˆ ์ƒ์„ธ ๋‚ด์šฉ

  • ์ด๋ฉ”์ผ ์ธ์ฆ ํšŒ์›๊ฐ€์ž…์„ ์œ„ํ•œ ์ฝ”๋“œ

์ฒดํฌ๋ฆฌ์ŠคํŠธ

  • SMTP ์„ค์ •ํ•œ ๋ฉ”์ผ์ฃผ์†Œ๋กœ ์ธ์ฆ๋ฉ”์ผ ์˜ค๋Š” ์ง€ ์ฒดํฌ
  • ์ฃผ์–ด์ง„ ์ธ์ฆ๋ฒˆํ˜ธ๋กœ๋งŒ ์ธ์ฆ์ฒ˜๋ฆฌ ๋˜๋Š”์ง€ ํ™•์ธ ํ•„์š”
  • ์ธ์ฆ์ฝ”๋“œ ํ†ตํ•ด ํšŒ์›๊ฐ€์ž… ์ž˜ ๋˜๋Š”์ง€ ํ™•์ธ

๋ฐฉ ์ƒ์„ฑ์‹œ ์ด๋ฏธ์ง€ ์—ฌ๋Ÿฌ์žฅ ์—…๋กœ๋“œ๊ธฐ๋Šฅ ๊ตฌํ˜„

์ด์Šˆ ์ƒ์„ธ ๋‚ด์šฉ

  • createRoom ๋ฉ”์†Œ๋“œ ํ˜ธ์ถœ์‹œ ์ด๋ฏธ์ง€ ์—ฌ๋Ÿฌ์žฅ๊ณผ repo์ €์žฅ ๋ฐ S3 ์—…๋กœ๋“œ

์ฒดํฌ๋ฆฌ์ŠคํŠธ

  • createRoom ํ˜ธ์ถœ์‹œ ๋ฐฉ ์ƒ์„ฑ ์—ฌ๋ถ€
  • ๋ฐฉ ์ƒ์„ฑ์‹œ roomrepo์— ์ €์žฅ์—ฌ๋ถ€
  • 1๊ฐœ์ด์ƒ์˜ ์ด๋ฏธ์ง€ imagefilerepo์— ์ €์žฅ์—ฌ๋ถ€
  • 1๊ฐœ์ด์ƒ์˜ ์ด๋ฏธ์ง€ S3 ์—…๋กœ๋“œ ์—ฌ๋ถ€

์ด๋ฏธ์ง€ S3์—…๋กœ๋“œ

์ด์Šˆ ์ƒ์„ธ ๋‚ด์šฉ

  • ๊ธฐ์กด S3 ๋‹จ์ผ ์ด๋ฏธ์ง€์—…๋กœ๋“œ์—์„œ ์—ฌ๋Ÿฌ์žฅ ์—…๋กœ๋“œ๋กœ ๋ณ€๊ฒฝ

์ฒดํฌ๋ฆฌ์ŠคํŠธ

  • S3์— ์—ฌ๋Ÿฌ์žฅ์ด ๊ฑฐ์˜ ๋™์‹œ์— ์˜ฌ๋ผ๊ฐ€๋Š”๊ฐ€?

์ˆ™์†Œ CRUD ๊ธฐ๋ณธ API ๊ตฌํ˜„

์ด์Šˆ ์ƒ์„ธ ๋‚ด์šฉ

  • ์ˆ™์†Œ CRUD ๊ธฐ๋ณธ API ๊ตฌํ˜„

์ฒดํฌ๋ฆฌ์ŠคํŠธ

  • ์ˆ™์†Œ ์ž‘์„ฑ, ์ „์ฒด์กฐํšŒ, ์ˆ˜์ •, ์‚ญ์ œ ๊ตฌํ˜„ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

๋ฐฐํฌ ์ „ hotfix

์ด์Šˆ ์ƒ์„ธ ๋‚ด์šฉ

  • ์ž์ž˜ํ•œ ์˜ค๋ฅ˜ ์ˆ˜์ •

์ฒดํฌ๋ฆฌ์ŠคํŠธ

  • ๋ฐฐํฌ๋œ url๋กœ ํ…Œ์ŠคํŠธ

์ข‹์•„์š” ์ถ”๊ฐ€ ์š”์ฒญ ๋ณด๋‚ด๋ฉด ํ•ด๋‹น ์ˆ™์†Œ id์™€ ์ข‹์•„์š” ์—ฌ๋ถ€ ๋ฐ˜ํ™˜

์ด์Šˆ ์ƒ์„ธ ๋‚ด์šฉ

  • ์ข‹์•„์š” post ํ›„ ๋‹ค์‹œ get ํ•˜๋Š” ์‹œ๊ฐ„์ฐจ๋กœ ์ธํ•ด ์ข‹์•„์š” ์—ฌ๋ถ€ ํ™•์ธ ๋ถˆ๊ฐ€
  • ์ข‹์•„์š” api์˜ response๋กœ ํ•ด๋‹น ์ˆ™์†Œ์˜ id์™€ ์ข‹์•„์š” ์—ฌ๋ถ€ ๋ฐ˜ํ™˜

์ฒดํฌ๋ฆฌ์ŠคํŠธ

  • ์ข‹์•„์š” api response์— ์ˆ™์†Œ id์™€ ์ข‹์•„์š” ์—ฌ๋ถ€ ์ž˜ ๋‹ด๊ธฐ๋Š”์ง€ ํ™•์ธ

๋น„ํšŒ์›์šฉ ์ „์ฒด์กฐํšŒ ์ ‘๊ทผ์„ ์ธ์ฆ ์ ˆ์ฐจ ์—†์ด ํ—ˆ์šฉํ•˜๋„๋ก ๋ณ€๊ฒฝ

์ด์Šˆ ์ƒ์„ธ ๋‚ด์šฉ

  • WebSecurityConfig ํŒŒ์ผ์—์„œ antmatcher ์ˆ˜์ •

์ฒดํฌ๋ฆฌ์ŠคํŠธ

  • ๋น„ํšŒ์›์ด ์ธ์ฆ ์ ˆ์ฐจ ์—†์ด ๋ฆฌ์†Œ์Šค์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š”์ง€
  • ํšŒ์›์šฉ์—๋Š” ์ ‘๊ทผ ๋ถˆ๊ฐ€๋Šฅํ•œ์ง€

LocalDateTime ๋ฐฐ์—ด๋กœ ๋‚˜์˜ค๋Š” ๋ฌธ์ œ, Pageable ๋ถˆํ•„์š”ํ•œ ๋ถ€๋ถ„ ์‚ญ์ œ

์ด์Šˆ ์ƒ์„ธ ๋‚ด์šฉ

  • LocalDateTime ๋ฐฐ์—ด๋กœ ๋‚˜์˜ค๋Š” ๋ฌธ์ œ
  • Pageable ๋ถˆํ•„์š”ํ•œ ๋ถ€๋ถ„ ์‚ญ์ œ (์„œ๋น„์Šค ํŒŒ์ผ) -> ์ปจํŠธ๋กค๋Ÿฌ์— @PageableDefault๋กœ ๋Œ€์ฒด

์ฒดํฌ๋ฆฌ์ŠคํŠธ

  • LocalDateTime ๋ฐฐ์—ด๋กœ ๋‚˜์˜ค๋Š” ๋ฌธ์ œ
  • Pageable ๋ถˆํ•„์š”ํ•œ ๋ถ€๋ถ„ ์‚ญ์ œ (์„œ๋น„์Šค ํŒŒ์ผ) -> ์ปจํŠธ๋กค๋Ÿฌ์— @PageableDefault๋กœ ๋Œ€์ฒด

Page ๋ฐ˜ํ™˜ DTO๋กœ ๋ณ€๊ฒฝ

์ด์Šˆ ์ƒ์„ธ ๋‚ด์šฉ

  • ๊ธฐ์กด์— Entity ์ž์ฒด๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋˜ ๊ฒƒ์„ DTO๋กœ ๋ณ€๊ฒฝ

์ฒดํฌ๋ฆฌ์ŠคํŠธ

  • ์ข‹์•„์š” ๊ธฐ๋Šฅ ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜๋Š”์ง€ ํ™•์ธ

์•„์ด๋””, ๋‹‰๋„ค์ž„ ์ค‘๋ณต ๊ฒ€์‚ฌ ๋ฐ˜ํ™˜๊ฐ’์— boolean๊ฐ’ ์ถ”๊ฐ€

์ด์Šˆ ์ƒ์„ธ ๋‚ด์šฉ

  • ์•„์ด๋””, ๋‹‰๋„ค์ž„ ์ค‘๋ณต ๊ฒ€์‚ฌ ์‹œ ์ „๋‹ฌํ•˜๋Š” ๋ฐ˜ํ™˜๊ฐ’์— result ํ•„๋“œ ์ถ”๊ฐ€ํ•˜์—ฌ
    ์ค‘๋ณต์ผ ๊ฒฝ์šฐ true, ์ค‘๋ณต์ด ์•„๋‹ ๊ฒฝ์šฐ false ๋ฐ˜ํ™˜

์ฒดํฌ๋ฆฌ์ŠคํŠธ

  • ์•„์ด๋””, ๋‹‰๋„ค์ž„ ์ค‘๋ณต ๊ฒ€์‚ฌ postman์œผ๋กœ ํ…Œ์ŠคํŠธ

๋ฐฐํฌ์šฉ์œผ๋กœ ์ˆ˜์ •

์ด์Šˆ ์ƒ์„ธ ๋‚ด์šฉ

  • signupReqeustDto์— ์ด๋ฉ”์ผ pattern ์ฃผ์„์ฒ˜๋ฆฌ
  • ์ „์ฒด์กฐํšŒ์— ์ž‘์„ฑ์ž ์˜ค๋ฅ˜ ๋ถ€๋ถ„ ์ˆ˜์ •
  • ImageFile Entity์˜ JoinColumn name ์ˆ˜์ •

์ฒดํฌ๋ฆฌ์ŠคํŠธ

  • ๋ฐฐํฌ ์„œ๋ฒ„๋กœ ๋ชจ๋“  API ์ž‘๋™ํ•˜๋Š”์ง€ ํ™•์ธ

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.