1. ์ฑ๋ฅ ์ต์ ํ ๊ณ๊ธฐ ํ์ฌ ๊ด๋ฆฌ์ ํ์ด์ง์์ ์์ฝ ๋ด์ญ์ ํ์ด์ง ์ฒ๋ฆฌํ์ฌ ์กฐํํ ์ ์๋ ๊ธฐ๋ฅ์ด ์๋ค. limit๋ 20์ผ๋ก ํ ํ์ด์ง๋น 20๊ฐ์ ์์ฝ ์ปจํ
์ธ ๋ฅผ ๋ณด์ฌ์ฃผ๊ณ ์๋ค. ์ ์ฒด ์์ฝ ๋ฐ์ดํฐ๋ 354,200๊ฐ์ธ ์ํฉ์ด๊ณ ํด๋น API์ ์ฑ๋ฅ์ด ํ๊ท ์ ์ผ๋ก 1.74์ด์ ์๊ฐ์ด ๊ฑธ๋ ธ๊ณ ์ต๋ 1.99์ด๊น์ง ๊ฑธ๋ฆผ์ผ๋ก์จ ์ฑ๋ฅ์ด ์ข์ง ๋ชปํ๋ค. ํด๋น ์ฑ๋ฅ์ ์ต์ ํํ ์ ์๋ ๋ฐฉ๋ฒ์ ๋ชจ์ํ๊ธฐ ์์ํ๋ค. ๋ฏธ๋ฆฌ ๋งํ์๋ฉด, ํ๊ท 56.2%์ ์ฑ๋ฅํฅ์์ ๋ง๋ณด๊ฒ ๋์๋ค! 2. ๋ฐ๋ณต๋๋ Count Query๋ฅผ ๊ฐ์ ํด๋ณด์! ํด๋น ๋ถ๋ถ์์ ์ฑ๋ฅ์ ์ต์ ํํ ์ ์๋ ๋ถ๋ถ์ผ๋ก ๊ฐ์ฅ ๋์ ๋๊ฒ์ ๋งค๋ฒ ๋ฐ๋ณต๋๋ ์ ์ฒด ๋ฐ์ดํฐ์ ์๋ฅผ ์ธก์ ํ๋ Count Query์๋ค. "๊ตณ์ด Count Query๊ฐ ํ์ด์ง๋ง๋ค ๋งค๋ฒ ๋ฐ๋ณต๋ ํ์๊ฐ ์์๊น?" ..
1. ํ ํฐ ์ฌ๋ฐ๊ธ์ ์ ์ฅ๊ณต๊ฐ์ด ํ์ํ ์ด์ ํ์ฌ JWT ์ธ์ฆ๋ฐฉ์์ ์ ์ฉํ๊ณ ์๋ค. ํด๋น ๋ฐฉ์์ ํ๋ก์ฐ๋ ๋๋ต ์๋์ ๊ฐ๋ค. ๋ก๊ทธ์ธ์ Access Token๊ณผ Refresh Token์ด ๋ฐ๊ธ๋๋ค. ๊ถํ์ด ํ์ํ API์ ๊ฒฝ์ฐ header์ Access Token์ ์ถ๊ฐํ์ฌ ์์ฒญํ๋ค. Access Token์ด ๋ง๋ฃ๋ ๊ฒฝ์ฐ์๋ Refresh Token์ ํตํด Access Token๊ณผ Refresh Token ๋ชจ๋ ์ฌ๋ฐ๊ธ ๋ฐ๋๋ค. ์ด๋ฌํ ์ ์ฐจ ๊ณผ์ ์์ ํ ํฐ์ ์ ์ฅํ ๊ณต๊ฐ์ด ํ์ํ๋ค. ํ์ฌ ์ฌ์ฉํ๊ณ ์๋ RDBMS์ธ MariaDB๋ฅผ ์ฌ์ฉํ ๊ฒฝ์ฐ์ Redis๋ฅผ ์ฌ์ฉํ ๊ฒฝ์ฐ ๊ธฐ๋ฅ, ์ฑ๋ฅ์ ์ฐจ์ด๋ฅผ ๋น๊ตํด๋ณด์๋ค. ์๋๋ ์ต์ข
๋น๊ต ๊ฒฐ๊ณผ์ด๋ค. Redis์ ๋ํด ์์ธํ ์๊ณ ์ถ์ผ๋ฉด ์ด์ ์ ์์ฑํ ํฌ์คํ
์ ์ฐธ๊ณ ํ์! 2023..
1. ์ฑ๋ฅ ์ต์ ํ ๊ณ๊ธฐ ํ์ฌ ํ๋ก์ ํธ๋ ์์ฝ๊ณผ ๊ด๋ จํ์ฌ ์๊ฐ์ ๋ง์ด ๋ค๋ฃจ๊ณ ์๋ค. ๋ฐ๋ผ์, DATETIME ํ์
์ ์ปฌ๋ผ์ ๋ฒ์ ๋น๊ต ๋๋ ๋๋ฑ ๋น๊ตํ์ฌ ์กฐํํ๋ ์ฟผ๋ฆฌ๊ฐ ๋ง์ด ์กด์ฌํ์๋ค. ํด๋น ์ปฌ๋ผ์ ๋ํด ์ธ๋ฑ์ค๋ฅผ ์ง์ ํ์ฌ ์ฑ๋ฅ ์ต์ ํ๋ฅผ ํ ์ ์์๊ฒ ๊ฐ์ Real MySQL 8.0์ ๋์์ ๋ฐ์ ์๋ํด๋ณด์๊ณ ๊ธฐ๊ฐ๋ณ ์์ฝ ๋ด์ญ ์กฐํ ์ฟผ๋ฆฌ์ ๋ํด 1374% ํฅ์์ ๋ณด๊ฒ ๋์๋ค. 2. ๋ฌธ์ ์ ์ฟผ๋ฆฌ ๋ฌธ์ ์ ์๋ ์ฟผ๋ฆฌ๋ ๊ธฐ๊ฐ๋ณ๋ก ์์ฝ ๋ด์ญ์ ์กฐํํ๋ ์ฟผ๋ฆฌ์ด๋ค. where์ ์์ DATETIME ํ์
์ ์์ฝ ์์๋ ์ง์๊ฐ์ ํด๋นํ๋ start_at ์ปฌ๋ผ์ ๋ํด BETWEEN ์ฐ์ฐ์ ์งํํ๋ค. ๋๋ start_at ์ปฌ๋ผ์ ๋ํด Index๋ฅผ ์ ์ฉํด๋ณด๊ณ ์ ํ๋ค. select reservatio0_.project_table_..
1. ๋ฐฐํฌ ์๋ํ๋ฅผ ๊ตฌ์ถํ๊ฒ ๋ ๊ณ๊ธฐ ํ์ฌ ๊ต๋ด ์๋ฒ์ค์ ์ด์์๋ฒ๊ฐ ๊ตฌ์ถ๋์ด ์๊ณ , ๊ต๋ด๋ง ์ ์ฑ
์ ๋ฐ๋ผ ์ธ๋ถ ์ก์ธ์ค ํฌํธ๋ 80, 443 2๊ฐ๋ง ์ฌ์ฉํ ์ ์์๋ค. ์ด๋ฏธ 80, 443์ ์ ํ๋ฆฌ์ผ์ด์
๋ฐฐํฌ๋ฅผ ์ํด ์ฌ์ฉํ๊ณ ์๋ค. ๋ฐ๋ผ์ ๊ต๋ด๋ง์ ์ ์ํด ์์ ๋๋ง 22๋ฒ ํฌํธ๋ก ssh ์ ์์ ํตํด ๋ณ๊ฒฝ์ฌํญ์ ์ด์์๋ฒ์ ๋ฐฐํฌํ ์ ์์๋ค. ์ด๋ ๋ฏ ๊ต๋ด๋ง์ ์ ์ํด์ผ๋ง ํ๋ค๋ ๋ฌธ์ ๋ ์์์ง๋ง, ๊ฒฐ๊ตญ์๋ ์๋์ผ๋ก ๋ฐฐํฌํ๋ค ๋ณด๋ ๋ช
๋ น์ด๋ฅผ ์๋ชป ์
๋ ฅํ๋ ๊ฒฝ์ฐ๋ ์์๊ณ ๋ฐฐํฌํ ๋๋ง๋ค ๋ฐ๋ณต๋๋ ์์
์ ์งํํ๋ค ๋ณด๋ ๋ฐฐํฌ ์๋ํ๊ฐ ์ ๋ง ์ ์คํ๋ค. 2. ๋ฐฐํฌ ์๋ํ ํ๋ก์ฐ ์ฐ์ Jenkins๋ฅผ ์ด์ฉํ์ฌ ๋ฐฐํฌ ์๋ํ๋ฅผ ๊ตฌ์ถํ๊ณ ์ ํ๋ค. PR์ด Master ๋ธ๋์น๋ก Merge๋๋ฉด Github WebHook์ด Trigger ๋๋ค...
1. ํด๋ผ์ฐ๋ ์๋น์ค๋ก ์ด์ ํ๊ฒ ๋ ๊ณ๊ธฐ ํ์ฌ ๊ต๋ด ์๋ฒ์ค์ KIOSEK ์๋น์ค๊ฐ On-Premise ํ๊ฒฝ์ผ๋ก ๋ฐฐํฌ๋์์๊ณ , ์ด์ ์๋ ํ๋ก ํธ ๊ฐ๋ฐ์์์ ์ง์์ ์ธ ํ์
์ ์ํ ๊ฐ๋ฐ ์๋ฒ๋ ํ์ํ ๋๋ง๋ค ๋ด ๋
ธํธ๋ถ์์ ํ์ด์ ํฌํธํฌ์๋ฉ ํด์ฃผ๋ ๋ฐฉ์์ผ๋ก ํ์๋ค. ํด๋น ๋ฐฉ์์ ๋๋ฌด๋๋ ๋นํจ์จ์ ์ด์์ง๋ง, ๊ฐ์ฉํ ๋ฌผ๋ฆฌ ์๋ฒ๊ฐ ์์๊ณ ์ฌ์ค ํ๊ฒฝ์ ํ๋ ๋ ๊ตฌ์ถํ๋ค๋๊ฒ ๊ท์ฐฎ์ ์ ๋ ์์๋ค. ํ์ง๋ง ํ๊ณ๋ฅผ ๋๊ผ๊ณ , ์ด๋ฒ ๊ธฐํ์ ๊ฐ๋ฐ ์๋ฒ๋ฅผ AWS ํด๋ผ์ฐ๋ ํ๊ฒฝ์ ๊ตฌ์ถํด์ ํ๋ก ํธ์๋ ๊ฐ๋ฐ์์๊ฒ IAM ๊ณ์ ์ ํ ๋นํ๊ณ ํ์ํ ๋๋ง๋ค ์๋ฒ๋ฅผ ๊ป๋ค ์ผค ์ ์๊ฒ ํ ์๊ฐ์ผ๋ก ๊ตฌ์ถํ๊ฒ ๋์๋ค. 2. ์ฌ์ฉํ AWS ์์ ์ ํ๊ธฐ 1. ํค์ค์คํฌ ๋ฐฑ์๋ ์ดํ๋ฆฌ์ผ์ด์
๊ณผ NGINX ์น์๋ฒ๋ฅผ ์ด์ ํ EC2 ์ธ์คํด์ค๊ฐ ๋จผ์ ํ์ํ๋ค. ํด๋น ์..
"ํ
์คํธ ์ฝ๋๋ ์ ํ์ด ์๋ ํ์๋ค" ์ด์ ๋ค๋ฅธ ํ๋ก์ ํธ์์๋ ํ
์คํธ ์ฝ๋๊ฐ ์์ด์ ํฌ์คํธ๋งจ์ผ๋ก API ํ
์คํธํ ๋๋ ์ ๋๋ค๊ฐ ์๊ธฐ์น ๋ชปํ ์ค๋ฅ๊ฐ ๋๊ณค ํ์๋ค. ์ฝ๋๋ฅผ ๋ฆฌํฉํฐ๋ง ํ๊ฑฐ๋ ๋ก์ง์ ์์ ํ ๊ฒฝ์ฐ์ ๋ฐ์ํ๋ ํด๋จผ ์๋ฌ ๋๋ ์๊ธฐ์น ๋ชปํ ์๋ฌ๋ฅผ ์ฌ๋ฌ ์ผ์ด์ค๋ก ์์ฑํด ๋์ ํ
์คํธ ์ฝ๋ ๋๋ถ์ ๋ฐฉ์ดํ ์ ์์๋ค. ์๊ฐ๋ณด๋ค ๋ฆฌํฉํฐ๋ง์ ํ ๋ ์ค์๊ฐ ์๊ธฐ๋ ์์ฃผ ์๊ฒผ๋๋ฐ, ์ฝ๋ ์์ ํ์ ํ
์คํธ ์ฝ๋๋ฅผ ์คํ์์ผ ๋ณด๋ ์ต๊ด์ ๋ค์ฌ๋์์ผ๋ก์จ ์ด๋ ๋ถ๋ถ์์ ์ฅ์ ๊ฐ ๋ฌ๋์ง๋ฅผ ๋น ๋ฅด๊ฒ ํ์ธํ ์ ์์๋ค. ๊ธฐ์กด์ ์ ๋์ํ๋ ํ
์คํธ ์ฝ๋๊ฐ ๊ฐ์๊ธฐ ์คํจํ๋ค๋ ๊ฒ์ ๋ด๊ฐ ๋ฐฉ๊ธ ์์ ํ ๋ถ๋ถ์ด ์๋ชป๋๋ค๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ด๋ค. ์ด๋ฒ ํ๋ก์ ํธ๋ฅผ ์งํํ๋ฉด์ ๋จ์ ํ
์คํธ์ ๋ํ ๋ชจํธํ๋ ์๊ฐ๋ค์ด ์ ๋ฆฌ๋์๊ณ , ํตํฉ ํ
์คํธ ์ฝ๋๋ฅผ ํตํด ..