์ฌ์ด๋ฒ ๋ณด์ ๊ด๋ จ์ผ๋ก, ๋ค์ค ์ ์ ์ ๊ธฐ์กด ๋ก๊ทธ์ธ ๊ณ์ ์ ์๋์ผ๋ก ๋ก๊ทธ์์ ์ํค๊ณ ์๋ฆผ์ ํ์ํด์ฃผ๋ ๊ธฐ๋ฅ์ ๊ฐ๋ฐํ๊ฒ ๋์๋ค. ํ์ฌ ํ๋ก์ ํธ๋ ์คํ๋ง ์ํ๋ฆฌํฐ๋ฅผ ์ฌ์ฉ ์ค์ด์ด์, ์คํ๋ง ์ํ๋ฆฌํฐ์์ ์ ๊ณตํด์ฃผ๋ ์ธ์ ๊ด๋ฆฌ ๋ฉ์๋๋ฅผ ํ์ฉํด์ ๊ฐ๋ฐ์ ์งํํ๋ค. ์ธ์ ์ด ๋ง๋ฃ๋์์
๊ฐ๋ฐ์ ์ค๋น๋ฅผ ํ๋ฉด์ ์งํํ๋ ๋ชจ๋ ์คํ๋ง ํ๋ก์ ํธ๋ gadle ๋น๋ ๋๊ตฌ์ JPA๋ฅผ ์ฌ์ฉํ์๊ณ , ๊ฐ๋ฐ ํด์ IntelliJ๋ฅผ ์ฌ์ฉํ์๋ค. ์ง๊ธ ๋ค๋๋ ํ์ฌ์์๋, maven ๋น๋ ๋๊ตฌ์ mybatis๋ฅผ ์ฌ์ฉํ๋ฉฐ, ๊ฐ๋ฐ ํด์ VSCode๋ฅผ ์ฌ์ฉํ๋ ์ค์ด๋ค.๋ด๊ฐ ์ต์ํ๊ฒ
์ต๊ทผ 7์ผ๊ฐ ์ธ๊ธฐ์๋ ๋ฉ๋ด 3๊ฐ๋ฅผ ์กฐํํ๋ API๊ฐ ์๋ค. ์ธ๊ธฐ๋ฉ๋ด๋ฅผ ์กฐํํ ๋๋ง๋ค DB์์ ์ธ๊ธฐ๋ฉ๋ด๋ฅผ ๊ฐ์ ธ์ค๋๋ก ์ฟผ๋ฆฌ๋ฅผ ๋ณด๋ด์ผ ํ๋ค. ์กฐํ์ ์ฑ๋ฅ์ ํฅ์ํ ์ ์๋ ๋ฐฉ๋ฒ์ผ๋ก DB๋ฅผ ๊ฑฐ์น์ง ์๊ณ ์กฐํ๊ฐ ๊ฐ๋ฅํ๋๋ก ์ธ๊ธฐ๋ฉ๋ด๋ฅผ ์บ์์ ๋ด๋ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ ๊ฒ์ด๋ค. ์บ์๋ ์ต
union ์ฐ์ฐ : ํน์ 2๊ฐ์ ๋ ธ๋๋ฅผ ์ฐ๊ฒฐํด 1๊ฐ์ ์งํฉ์ผ๋ก ํฉ์น๋ค.find ์ฐ์ฐ : ๋ ๋ ธ๋๊ฐ ๊ฐ์ ์งํฉ์ ์ํด ์๋์ง ํ์ธํ๋ค. ํน์ ๋ ธ๋ a๊ฐ ์ํ ์งํฉ์ ๋ํ ๋ ธ๋๋ฅผ ๋ฐํํ๋ค.์ ๋์จ ํ์ธ๋๋ก ๊ฐ ๋ ธ๋์ ๋ํ ๋ ธ๋๋ฅผ ์ ๋ฆฌํ ์ ์๊ณ , ์ ๋ฆฌ๋ ๋ฐฐ์ด์ ํตํด ๋ ๋ ธ๋
๋ถ์ฐ๋ฝ์ ์คํ๋ฝ๊ณผ ๋ฌ๋ฆฌ ๋ถ์ฐ ํ๊ฒฝ์์ ์ฌ๋ฌ ์๋ฒ ์ฌ์ด์์ ๋ฝ์ ๊ด๋ฆฌํ๊ธฐ ์ํด ๋คํธ์ํฌ ํต์ ์ ํ์๋ก ํฉ๋๋ค. ๋ถ์ฐ ํ๊ฒฝ์์ ์ฌ๋ฌ ์๋ฒ ์ฌ์ด์์ ๋ฝ์ ๊ด๋ฆฌํ๊ธฐ ์ํ ๋คํธ์ํฌ ํต์ ์ ๋ก์ปฌ ๋คํธ์ํฌ๋ณด๋ค ํจ์ฌ ๋๋ฆฌ๊ธฐ ๋๋ฌธ์, ๋ถ์ฐ๋ฝ์ ์ด์ฉํ ๊ฒฝ์ฐ ๋ฝ ๊ด๋ฆฌ์ ํ์ํ ์๊ฐ์ด ๋
๋ ๋์ค ์คํ๋ฝ์ ์ ์ฉํด์ ๋์์ฑ ์ ์ด๋ฅผ ์งํํ๋ค.์คํ๋ฝ ์ ์ฉ ์ฝ๋ ์คํ๋ฝ์ ํตํด ๋์์ฑ ์ ์ด๋ฅผ ์๋ํ์ผ๋, ์คํจ.10๋ ์ฃผ์ฐจ ๊ฐ๋ฅํ ์ฃผ์ฐจ์ฅ์ 20๊ฐ์ ์ค๋ ๋๊ฐ ๋์์ ์ ์ฐจ๋ฅผ ์์ฒญ์ 15~19๋์ ์ฐจ๋์ด ์ ์ฐจ์ ์ฑ๊ณต CPU๊ณผ๋ถํ๋ก ์ธํ redis ์ฑ๋ฅ ์ ํ๋ก ๋์์ฑ ์ฒ๋ฆฌ
ํค์๋ ๊ฒ์์ฃผ๋ณ ์ฃผ์ฐจ์ฅ ๊ฒ์ + ์ฃผ์ฐจ์ฅ ์ ํ ํํฐ ํฌํจ: ์ฟผ๋ฆฌ ์คํ ์๋๋ฅผ ์ธก์ ํ๋ค.ํค์๋ ๊ฒ์๊ฒ์์ด : ์์ธํน๋ณ์์ฒญ, ์ฌ๋ ค๋์ฒ๊ธธ, ์์ธ์ญ, ๊ฐ๋จ์ญ, ์คํ๋ฒ ์ค ์ธ์ฐ, ์ธ์ฐ ์คํ๋ฒ ์ค์ฃผ๋ณ ์ฃผ์ฐจ์ฅ ๊ฒ์์์ธํน๋ณ์์ฒญ ์ขํ๋ฅผ ๊ธฐ์ค์ผ๋ก ์ฃผ๋ณ ์ฃผ์ฐจ์ฅ์ ๊ฒ์ํ๋ค.(lo: 126.978
์ต์ด๊ฒ์ : 13724 ms์กฐํ๋ก์ง ๋ณ๊ฒฝ : 7847msFetch Join ๋ณ๊ฒฝ : 319ms์กฐํ ์ฟผ๋ฆฌ ๋ณ๊ฒฝ : 256ms์นด์นด์ค๋งต API๋ก ์ฌ์ฉ์ ๊ฒ์์ด์ ๋ํ ๊ฒฐ๊ณผ๋ฅผ ํธ์ถ๊ฒ์ ๊ฒฐ๊ณผ๊ฐ ์๋๊ฒฝ์ฐ : ๊ฒ์๊ฒฐ๊ณผ 0๋ฒ์ผ๋ก ์ขํ๋ฅผ ๋ฐํ๊ฒ์ ๊ฒฐ๊ณผ๊ฐ ์๋๊ฒฝ์ฐ : ์ด๊ธฐ์์น ( ์์ธ์ญ
version 1, version 1-1์์ฝ ๊ฐ๋ฅ ์ฌ๋ถ๋ฅผ ํ์ธํ๊ธฐ ์ํด ์์ฝ์๊ฐ์ ํด๋นํ๋ ๋งค์๊ฐ๋ง๋ค ์์ฝํํฉDB์์ ์์ฝ์ ๋ณด๋ฅผ ์ฐพ๊ณ , ์ฃผ์ฐจํํฉDB์์ ์ถ์ฐจ์ฌ๋ถ๋ฅผ ํ์ธํ๋ค. โ ์์ฝ์๊ฐ๋งํผ ์ฟผ๋ฆฌ๊ฐ ๋ฐ๋ณตํด์ ์คํ๋๋ฏ๋ก, ์์ฝ์๊ฐ์ด ๊ธธ์ด์ง์๋ก ๋ก์ง ์คํ ์๋๊ฐ ๋๋ ค์ง๋ค.
Case 1, Case 2 : ์ฃผ์ฐจ์๊ฐ์ ์ง์ผ ์ฃผ์ฐจํ ๊ฒฝ์ฐ๋ก, ๋ณดํธ์ ์ด๊ณ ์ผ๋ฐ์ ์ธ ์ํฉ์ด๋ผ ๊ฐ์ ํ๋ค.Case 3, Case 4 : ์ฃผ์ฐจ์๊ฐ์ ์งํค์ง ์์ ๊ฒฝ์ฐ๋ก, ์์ธ ์ํฉ์ด๋ผ ๊ฐ์ ํ๋ค. โ ์ผ๋ฐ์ ์ธ ์ํฉ, ์์ธ์ํฉ ๋ชจ๋ ํฌํจํ์ฌ version 2 ๊ฐ ์์ฝ์ฐจ๋ ์ ์ฐจ
์์ฝ์์ฝ์์์๊ฐ์ด ์ข ๋ฃ์๊ฐ๋ณด๋ค ๋ฆ๊ฒ ์ ๋ ฅ๋ ๊ฒฝ์ฐ ์์ธ์ฒ๋ฆฌNOT_END_TO_START(400,"์ ์ฐจ์๊ฐ์ด ์ถ์ฐจ์๊ฐ๋ณด๋ค ๋นจ๋ผ์ผ ํฉ๋๋ค.")์ฃผ์ฐจ์ฅ ID๊ฐ ์ฃผ์ฐจ์ฅ ์ ๋ณด DB์ ์๋ ๊ฒฝ์ฐ ์์ธ์ฒ๋ฆฌNOT_FOUND_PARK(400, "๋ฑ๋ก๋ ์ฃผ์ฐจ์ฅ์ด ์์ต๋๋ค.")๋ก๊ทธ์ธํ ์ ์ ์
์์ฝ, ์ผ๋ฐ, ๊ณตํต ๊ตฌ์ญ์ ๋๋๊ณ ๋งค์๊ฐ ์ค์ผ์ฅด๋ง์ ํตํด ๊ฐ ๊ตฌ์ญ๋ณ๋ก ์ ์ ํ๊ฒ ๋ฐฐ์น๋๋๋ก ๊ตฌํํ์ต๋๋ค.๊ธฐ์กด ์์ฝ, ์ผ๋ฐ, ๊ณตํต์ผ๋ก ๋๋์๋ ์ฃผ์ฐจ์ฅ ๋ด ๊ตฌํ์ ์์ ๊ณ park_booking_by_hour ํ ์ด๋ธ์ ์ถ๊ฐ๋ก ๋ง๋ค์ด Available์ปฌ๋ผ ๊ฐ์ ํตํด ํด๋น ์๊ฐ์
์ฃผ์ฐจ์ฅ์ ์์ฝํ ์ ์๋ ์๋น์ค๋ฅผ ๋ง๋ค์๋ค. ์ด ๋, ์์ฝ ๊ฐ๋ฅ ์๋ฆฌ๋ 5์๋ฆฌ๋ฟ์ธ๋ฐ 10๋ช ์ด ๋์์ ์์ฝ์ ์งํํ๋ค๋ฉด ์ด๋ป๊ฒ ๋ ๊น?์๋ํ๋๋ก ํ๋ก๊ทธ๋จ์ด ๋์ํ๋ค๋ฉด, 10๋ช ์ด ๋์์ ์์ฝ์ ํ๋๋ผ๋ 5๋ช ๋ง ์์ฝ์ด ์ฑ๊ณตํด์ผ ํ๋ค.๋์์ฑ ์ ์ด๊ฐ ์ ๋๋ก ๋๊ณ ์๋์ง ํ์ธํ๊ธฐ
์ด๋๋ง ์ค์ ํ๋ก์ ํธ 3์ฃผ์ฐจ์ ์ ์ด๋ค์๋ค.๋งค์ผ ์์นจ ํด์ผํ ์ผ๋ค์ ์ ๋ฆฌํ๊ณ ์ ๋ ํ์ ๋ ์งํ์ฌํญ์ ํ์ธํ๋๋ฐ, ํ์๋ค์ด ๊ฐ์ ๋งก์ ๋ถ๋ถ์ ์ ๋ง๋ค์ด์ค์ ์๋ก ๊ฒฐ๊ณผ๋ฅผ ๊ณต์ ํ๋ ์๊ฐ์ด ๊ธฐ๋๋๋ค.์ฃผ์ฐจ์ฅ ์์ฝ๊ณผ ์ ์ฐจ ํ๋ก์ธ์ค์ ๋ํ ์ฝ์ด ์๊ณ ๋ฆฌ์ฆ์ ๊ตฌํํ์ฌ ์์ฝ ์์ ์ฑ, ์ฃผ
ํ์ฌ ์งํํ๋ ํ๋ก์ ํธ์์๋ ์ ๊ตญ์ ์๋ ์ฃผ์ฐจ์ฅ์ ๊ฒ์ํ ์ ์๋ค.โ์์ธํน๋ณ์์ฒญโ๊ณผ ๊ฐ์ ํค์๋๋ฅผ ์ ๋ ฅํ์ ๋, ํค์๋์ ํด๋นํ๋ ๋ชฉ์ ์ง ์ขํ ์ฃผ๋ณ ๋ชจ๋ ์ฃผ์ฐจ์ฅ์ ์ง๋์์ ๋ณด์ฌ์ฃผ๊ณ ์๋ค.ํค์๋๋ฅผ ์ ๋ ฅํ์ ๋ ๋ฐํ๋๋ ๋ชฉ์ ์ง์ ์ขํ๋ ๋ค์๊ณผ ๊ฐ์ด ๊ตฌํ๊ณ ์๋ค.์นด์นด์ค๋งต A
์ค์ ํ๋ก์ ํธ๋ฅผ ์์ํ์ง 2์ฃผ์ผ์ด ์ง๋ฌ๊ณ ์ค๊ฐ๋ฐํ ์๊ฐ์ ๊ฐ์ก๋ค.๋จ์ 4์ฃผ๋์ ํด๊ฒฐํด์ผ ํ ๋ฌธ์ ๋ค๊ณผ ๊ณต๋ถํด์ผํ ๊ฒ๋ค์ด ์ฐ๋๋ฏธ์ง๋ง, ํ ์ผ์ด ์๋ค๋ ๊ฒ์ ๊ฐ์ฌํ๋ฉฐโฆ ์ด๋ฒ WIL์๋ ์ค๊ฐ๋ฐํ ์๋ฃ์ ํผ๋๋ฐฑ ๋ด์ฉ์ ์ ๋ฆฌํด๋ณธ๋ค.์ฃผ์ฐจ์ฅ์ ์ฐพ์๊ฐ๋ ๋ค๋น๊ฒ์ด์ ๊ณผ ๊ฐ์ด ์ฝ๊ฒ ์ฃผ์ฐจ์ฅ์
์คํ์์ค ๊ธฐ๋ฐ์ ์ธ๋ฉ๋ชจ๋ฆฌ ๋ฐ์ดํฐ๋ฒ ์ด์คkey-value ๊ตฌ์กฐ๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ค.๋ฉ๋ชจ๋ฆฌ์ ๋ฐ์ดํฐ๋ฅผ ์บ์ฑํ์ฌ ๋น ๋ฅธ ์ฝ๊ธฐ์ ์ฐ๊ธฐ๋ฅผ ์ง์ํ๋ค.๋ค์ํ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ์ง์ํ๋ค.์บ์ฑ, ์ธ์ ๊ด๋ฆฌ, ์ค์๊ฐ ๋ถ์ ๋ฑ ๋ค์ํ ์ฉ๋๋ก ์ฌ์ฉ๋๋ค.๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๋ฌผ๋ฆฌ ๋์คํฌ์ ๋ฐ์ดํฐ๋ฅผ
๋๋์ด ์์ผ๋ก 6์ฃผ ๋์ ์งํํ ์ค์ ํ๋ก์ ํธ๊ฐ ์์๋์๋ค!๋์ฉ๋ ๋ฐ์ดํฐ๋ฅผ ๋ค๋ค๋ณด๊ณ ๋์ฉ๋ ํธ๋ํฝ์ ์ฒ๋ฆฌํ ์ฃผ์ ๋ฅผ ์ฐพ๋ค๊ฐ ์ฃผ์ฐจ์ฅ ๊ฒ์ ๋ฐ ์์ฝ ์์คํ ์ ๋ง๋ค์ด๋ณด๊ธฐ๋ก ํ๋ค.์ด๋ฒ WIL์ ํ๋ก์ ํธ ๊ธฐํ์๊ณผ ๊ฐ๋ฐ์ ์งํํ๋ฉฐ ๋๋ฒจ๋กญํ ERD, API ๋ช ์ธ์ ๋ฑ์ ๋จ๊ฒจ๋ณธ๋ค.์ฃผ์ฐจ
๋ค์ด๋ฒ ์ง๋์ ์นด์นด์ค๋งต์ ํฌ๋กค๋งํ๋ ๊ณผ์ ์์ ๋ฐ์ํ ๋ฌธ์ ๋ค์ ๊ธฐ๋กํฉ๋๋ค.1\. Java + ๋ค์ด๋ฒ ์ง๋ ํฌ๋กค๋ง2\. Python + ๋ค์ด๋ฒ ์ง๋ ํฌ๋กค๋ง3\. Python + ์นด์นด์ค๋งต ํฌ๋กค๋งmacOS๋ ๋ค์ด๋ก๋ ํ ํ์ผ์ ๋ํด quarantine ์ด๋ผ๋ ๋ณด์ ๊ธฐ๋ฅ์ ์ฌ์ฉ
Selenium์ ์ด์ฉํ์ฌ ์นด์นด์ค ๋งต์ ํฌ๋กค๋งํด๋ณด์!Selenium ์ธํ ์ ๋ค์ ๊ธ์ ์ฐธ๊ณ ํ๋ค.Selenium ์ฌ์ฉํ์ฌ ์น ํ์ด์ง ํฌ๋กค๋งํ๊ธฐ(์ธํ )ํฌ๋กค๋ง์ ์์๋ ๋ค์๊ณผ ๊ฐ๋ค.ํฌ๋กฌ ๋๋ผ์ด๋ฒ๋ฅผ ์ธํ ํ๋ค.๋ธ๋ผ์ฐ์ ์์ url์ ๋ก๋ฉํ๋ค.findElement(s) ๋ก ์ํ๋