06.15 ์ด๋ฒคํธ ์คํ ๋ฐ ์ดํ ๋ฉํ ๋ ํผ๋๋ฐฑ
- ์ด๋ฉ์ผ ์ถ๊ฐํ๋ฉด ์ข๋ค.
- could์ should ์ ๋ฆฌํ์
- ๋จ์ํ ์กฐํ ํํฐ๋ง๊ณผ ๊ธฐ๋ฅ ์ถ๊ฐ์ ์ฐ์ ์์ ๋ณ๊ฒฝ
- ์ ๋น์ฟผํฐ์ค ์๊ธฐ
- ํ์ ๊ด๋ จ ์ฉ์ด์ ๋จ์ํ
- Accomodation โ Room ๋ ๊ฐ๊ฒฐํ ์ฉ์ด ์ฌ์ฉ
06.20
- ์ฃผ์์ ๋ง์ด ์์ฑํ์
- ๋ด๊ฐ 1๋ ๋ค ์ด ์ฝ๋๋ฅผ ๋ณด์๋ ์ดํดํ ์ ์๊ฒ
- ๋๋ฉ์ธ์ ์ ํ ๋ชจ๋ฅด๋ ์ฌ๋์ด ๋ณด์๋ ์ดํดํ ์ ์๊ฒ
- ํนํ๋ ๋๋ฉ์ธ ์ฝ๋์ ๋ง์ ์ฃผ์์ด ๋ค์ด๊ฐ๋ ๊ฒ์ ์ข๋ค!
06.20
- flyway ํ์ฉ ์ถ์ฒ
6.24
์น๋ชจ๋ธ์์ ์ํฐํฐ ๋ณํ x. ํ๋ผ๋ฏธํฐ๋ฅผ ์๋น์ค๋ก ๋๊ฒจ์ค์ ๊ทธ ์์์ ์ํฐํฐ ์์ฑํ๋ ์์ผ๋ก
- ํ ์ด๋ธ ๋ณ๋ก sql ๋ฐ๋ก ๋ง๋ค๊ธฐ ( flyway๋ก db ๋ฒ์ ๊ด๋ฆฌ)
- create โ validate
๋๋ฉ์ธ์ ๊ธฐ๋ฅ์ ์ฝ๋ฉํธ๋ฅผ ๊ฐ์ด ์ ์ฐ๊ธฐ. ๊ธฐ๋ฅ๋ค์ ๋ํด๋ช ๋ฐฑํ์ง ์์ ๋ด์ฉ๋ค์ ์ฃผ์์ผ๋ก ๋ฌ ๊ฒ๋ช ๋ฐฑํ ๋ด์ฉ๋ค์ ์ฃผ์์ผ๋ก ๋ฌ์ง ์์๋ ๋จ ์ด๋ฐ ์์ผ๋ก ๋งํฌ ๋ฌ ์ ์์ /** * @see ์ด์ฉ๊ณ **/
- Element collection โ Role
Role ํด๋์ค ์์ ์ญํ ๋ณ๋ก ์ด๋ค ๊ธฐ๋ฅ์ ํ๋์ง๋ฅผ ์์ฑํ๋ ์ฝ๋ฉํธ๋ฅผ
member.isHost() ? ๊ฐ์ฒด ์์ ๋ค์ด๊ฐ์ ํค์ง๋๊ฒ ๋ณด๋ค, member.getRole.equals(Role.GUEST)
OneToMany(mappedBy )
- Review๊ฐ ๋ฌ๋ ธ๋๋ฐ room์ ์ํ๊ฐ ๋ฐ๋์ด์ผ ํ ๊น. reviewCount ๊ฐ์ ๊ฒ์ ์บ์ฌ๋ก ์ฒ๋ฆฌํด๋ ์ข์ํ ๋ฐ
์ฌํ ๋๋ฉ์ธ์ ๊ฐ๊ฒฉ๊ธฐ์ค์ ์ํ(์ฝ๋ฉํธ๋ก ๋จ๊ธฐ๊ธฐ)
์์ฝ ๋ฒํผ ๋๋ฆ -> ์๊ธฐ์ฝ ์๋ฃ ๋ -> ์ฒดํฌ์์ ๋๊ฐ๋ก ํด์ uq_key ๊ฑธ์ + ๋๊ธฐ QUEUE์ ๋ฃ์๋ค๊ฐ ์์๋๋ก ํ๋์ฉ ์ฒ๋ฆฌ (์๊ฐ ์ค๋ฒ๋ฉ์ด ๋์๋๊ฐ?) -> ์์ฝ ์๋ฃ -> ํธ์คํธ๊ฐ ์๋ฝ (์๊ฐ ์ค๋ฒ๋ฉ ๋์ด์๋๊ฒ ์๋์ง ์๋ ค์ฃผ๊ธฐ)
- ๋์์ฑ ๋ฌธ์
- Optimistic lock -> Version์ ์ด์ฉ, select for update๋ก ์ฟผ๋ฆฌ ๋ฝ ๊ฑธ๋๊ฐ
- Pessimistic lock -> db์ lock์ ๊ฑธ์ด๋๊ณ ์๋ ๊ฒ
- ์์ฝ ๋ฒํผ ๋๋ฆ -> ์์ฝ ์๋ฃ ๋๊ธฐ -> queue ์๊ณ ์์๋๋ก ์ฒ๋ฆฌํ๋ฉด์ ์ค๋ฒ๋ถํน๋์๋์ง ํ์ธ -> ์์ฝ ์๋ฃ
- ์์ฝ ๋ฒํผ ๋๋ฆ -> ์์ฝ ์๋ฃ ๋๊ธฐ -> ํธ์คํธ๊ฐ ์๋ฝ -> ์์ฝ ์๋ฃ (์๊ฐ ์ค๋ฒ๋ฉ ๋์ด ์๋๊ฒ ์๋์ง ์๋ ค์ฃผ๊ธฐ)
- ์ฌํ ๋ฑ๋ก ์
- Trip์ผ๋ก๋ง ์ ์งํ๊ณ ๊ฐ๋ฅ์ ํจ
totalPrice
- PasswordEncoder๋ผ๋ ์ํ๋ฆฌํฐ์ ์ ๋ณด๋ฅผ ๋๋ฉ์ธ์์ ๋๋ฌด ์๊ณ ์๋ค. PasswordEncryptor๋ผ๋ ์ธํฐํ์ด์ค๋ฅผ ์ด์ฉํ๊ณ ๊ตฌํ์ ๋ค๋ฅธ ํจํค์ง๋ก ๋นผ์ ๊ฑฐ๊ธฐ์ SpringSecurity์ ์์กด์ฑ์
- RoomImage โ S3๋ก
- ์์ฝ ๊ฒ์ฆํ๋ ํ๋ก์ฐ
์ค๋ฒ๋ฉ๋ ์๊ฐ์ด ์๋์ง ํ์ธํ๋ ํ๋ก์ฐ 1. RESERVED, TRAVELLING ์ํ์ธ Room์ Trip ๋ค์ ๋ชจ๋ ๊ฐ์ ธ์จ๋ค 2. checkin, checkout ์ฌ์ด์ ๋ ์ง๋ค์ list ํํ๋ก ๊ฐ์ง๊ณ ์๋๋ค. 3. ํ์ฌ ์์ฝ์ checkin, checkout ๊ณผ ๊ฒน์น๋ ๋ ์ง๊ฐ ์๋์ง ๊ฒ์ฌํ๋ค. -> stream().anyMatch() ์ด๋ฐ๊ฑฐ ํ์ฉํ๋ฉด ๋ ๊ฑฐ๊ฐ์ 4. ํ๋๋ผ๋ ์์ผ๋ฉด, checkArguments ํฐ์ง๋ฉด ๋ ๋ฏ ์ฌํํ๋ ค๋ ๋ฃธํ๋ ์กฐํ 1. RESERVED, TRAVELLING ์ํ์ธ Room์ Trip ๋ค์ ๋ชจ๋ ๊ฐ์ ธ์จ๋ค 2. checkin, checkout ์ฌ์ด์ ๋ ์ง๋ค์ list ํํ๋ก merge ํด์ ๊ฐ์ง๊ณ ์๋๋ค 3. list๋ฅผ ๊ฐ์ด ๋ฟ๋ ค์ค์ ํ๋ฉด์์ ์์ฝ๋ ์๊ฐ์ ์คํธ๋ผ์ดํฌ ์ฒ๋ฆฌ ํ ์ ์๋๋ก ๋ด๋ ค์ค๋ค.
- A
ddress ๋ด๋ถ String address โ description, postcode, road Addressโฆ
ofReserved ๊ฐ ํ์์๋คโฆ.
ํ ์คํธ์ TripStatus ๋ณ๊ฒฝํ ์คํธ โ Parameterizeโฆ
6.25
- application.yaml์ ๊ฐ๋ค ํ๊ฒฝ๋ณ์๋ก ๋นผ์ ๋๋ฆฌ๊ธฐ
- ์ปค๋ฐ ํ ์ผ๋ก reformat code, optimize import. ์ ์ฉํ๊ธฐ