์๋ง ๋ฉํ ๋๊ณผ ๋ฐฐํฌ DB์ ๋ฐ์ดํฐ๋ฅผ ์ง์ ์์ ํ๋ ์ผ์ ๋ํด ์ด์ผ๊ธฐํ๋ ๋์ค์ ํฐ๋ฏธ๋์ ์ผ๋ ๋๋ฅผ ๋ณด๊ณ ๊น์ง ๋๋ผ๋ฉฐ ํฐ๋ฏธ๋๋ก ๊ด๋ฆฌ๋ฅผ ํ๊ณ ์๋๊ณ ๋ฌผ์๋ ๊ฒ์ด ์์ง๋ ๊ธฐ์ต๋๋ค. ์ปฌ๋ผ๋ช
์กฐ์ฐจ๋ ์ ๋๋ก ๋ณด์ด์ง ์๋ mysql cli๋ฅผ ์ผ๋ ์ด์ ๋ฅผ ์๊ฐํด๋ดค๋๋, ๋ฐฑ์๋ ๊ฐ๋ฐ์ ์ฌ๊ธฐ์ ๊ธฐ์ ๋ฐฐ์ธ ๋ ์ด๋ ๊ฒ ํ๋ ๊ฒ๋ง ๋ด์๊ณ ํ๋ก์ ํธ ๊ฐ๋ฐ๊น์ง๋ง ํ๊ณ ์ ์ง๋ณด์ ๋จ๊ณ๊น์ง ๊ฐ๋ณด์ง ์์ ๋ถํธํจ์ ํฌ๊ฒ ๋๊ปด๋ณด์ง ๋ชปํด์ ์๋ ๊ฒ ๊ฐ๋ค. Datagrip์ ๋ฐฐ์ฐ๋ฉด์ ์ ์ธ๊ณ๋ฅผ ๋ง๋ณด๊ณ ์ฌ๊ธฐ์ ๊ธฐ์ ์ธ๋ผ์ดํด์๋๋ฐ, ๋ถํธํ๋ ์ฌ๋์ ๋ชป๋ณธ ๊ฒ ๊ฐ๋ค. ํ๋ ์์ฌ์ด ์ ์ public subnet์ ์์ด์ผ๋ง ๊ฐ๋ฅํด์ ๋ณด์์ ์ผ๋ก ์์ฝ๋ค๋ ๊ฒ์ด์๋๋ฐ, ๋ด๊ฐ ๋ชจ๋ฅด๋ ๊ฒ์ด์๋ค.... SSH Tunneling์ ํตํด ์์ ํ๋ฉด์๋ ํธํ๊ฒ DB๋ฅผ ๋ค๋ฃฐ ์ ์..
์ด์ ๋
ธ์
๋ธ๋ก๊ทธ์ SQL Tutorial (2021.01.17)๋ก๋ถํฐ ๋ง์ด๊ทธ๋ ์ด์
๋ ๊ธ์
๋๋ค. Aggreate Functions aggregate functions(์ง๊ณ ํจ์)์ ํญ์ ์ฌ์ฉํ๊ฒ ๋ ๊ฒ์ด๋ ์ต์ํด์ ธ์ผ ํ๋ค. arithmetic operators๋ ํ ํ์ ์ด๊ฐ์ ์ฐ์ฐ๋ง ์ํํ์ง๋ง, aggregate functions์ ํ ์ ์ฒด์ ๊ฑธ์ณ์ ์ํํ ์ ์๋ค. COUNT Counting all rows COUNT ๋ ํน์ ์ด์ ์ซ์๋ฅผ ์ธ๋ฆฌ๋ aggregate function์ด๋ค.. ์๋์ ๋ SQL ๋ฌธ์ ๊ฒฐ๊ณผ๋ ๊ฐ๋ค. SELECT COUNT(*) FROM tutorial.aapl_historical_stock_price SELECT * FROM tutorial.aapl_historical_sto..
์ด์ ๋
ธ์
๋ธ๋ก๊ทธ์ [MySQL] DB Authentication ๋ฌธ์ | ERROR 1698 | Access denied for user 'root' (2021.07.26)๋ก๋ถํฐ ๋ง์ด๊ทธ๋ ์ด์
๋ ๊ธ์
๋๋ค. MariaDB 10.0 ๋ฒ์ ๋ถํฐ๋ ๋ณด์ ๋ฐฉ์์ด 'Unix Socket' ๋ฐฉ์์ด ์ ์ฉ๋๋ค. mysql -u root -p password spring datasource ์ ์ ๋ฐ๋ผ์ ์ด ๋ ๊ฐ์ง๋ฅผ ์ํด์๋ plugin ์ ๋ฐ๊ฟ์ผํ๋ค. ๋ง์ฝ ์ด๊ธฐ ์ ์์ด๋ผ๋ฉด, ๋น๋ฐ๋ฒํธ๋ ์ค์ ํด์ค์ผํ๋ค. $ sudo mysql mysql> use mysql; mysql> CREATE USER 'user'@'localhost' IDENTIFIED BY 'password'; mysql> CREATE USER 'user'@'%' ..
์ด์ Velog์ ๋์ฉ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์กฐํ ์ฑ๋ฅ์ ๊ฐ์ ํด๋ณด์ (2) : ์ธ๋ฑ์ค ํ๋ (2023.11.12) ๋ก๋ถํฐ ๋ง์ด๊ทธ๋ ์ด์
๋ ๊ธ์
๋๋ค. Github main repo / Github server repo ๋๊ธฐ 1ํธ์ ์นดํ
๊ณ ๋ฆฌ๋ณ ๋ฆฌ๋ทฐ ์กฐํ๋ฅผ ์์์ผ๋ก 500ms๊ฐ ๋์ด๊ฐ๋ ์์ฒญ๋ค์ ์์ฃผ๋ก Cardinality/Selectivity๋ฅผ ๊ณ ๋ คํ์ฌ ์ธ๋ฑ์ค๋ฅผ ์์ฑํ๋ค. ํ์ง๋ง 1ํธ๊น์ง๋ ์ง์ง ๋์ฉ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์๋์๋ค. 2ํธ๋ถํฐ ์ฌ๊ธฐ์ด๋์ปดํผ๋ ๋ฒค์ฒ ํ๋ก์ ํธ์ธ๋งํผ ์ฌ๊ธฐ์ด๋ ํ๋ณด์๋ฃ์ ์๋ ๋ฐ์ดํฐ ๊ท๋ชจ์์ ์ฑ๋ฅ์ ์ธก์ ํด๋ณด๊ณ ํ์ํ๋ค๋ฉด ๊ฐ์ ๊น์ง ์งํํด๋ณด์. ๊ธฐ์กด ํ
์คํธ ๋ฐ์ดํฐ ์ค์ผ์ผ ์ฌํ์ํ: 30 (๊ฐ ์นดํ
๊ณ ๋ฆฌ 10๊ฐ์ฉ, ์์, ์๋น, ๋ ํฐ์นด) ์์ฝ: 540,000 (์นดํ
๊ณ ๋ฆฌ ๋ณ 180,000) - ์ฌํ์ํ ๋ง..
์ด์ Velog์ ๋์ฉ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์กฐํ ์ฑ๋ฅ์ ๊ฐ์ ํด๋ณด์ (1) : ์ธ๋ฑ์ค ์ ์ฉ (2023.10.27) ๋ก๋ถํฐ ๋ง์ด๊ทธ๋ ์ด์
๋ ๊ธ์
๋๋ค. Github main repo / Github server repo ๋๊ธฐ ์ง๋ ๋ฒ์ ๋ค์ํ JPA ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ณ ๋นํจ์จ์ ์ผ๋ก ์์ฑ๋๋ ์ฟผ๋ฆฌ๋ฅผ ์ต์ ํํด ์ ์ฒด์ ์ธ ์๋ฒ ์ฑ๋ฅ์ด ๋ํญ ํฅ์๋์๋ค. ํ์ง๋ง ๋ฆฌ๋ทฐ ์กฐํ API์ ์ผ๋ถ ์์ฒญ์ ๊ฒฝ์ฐ ๋ํญ ํฅ์๋์์์๋ ๋ง์กฑ์ค๋ฌ์ด ์ฟผ๋ฆฌ ์ฒ๋ฆฌ ์๊ฐ์ ๋๋ฌํ์ง ๋ชปํ๋ค. ๋ค์ํ ์ ๋ ฌ๊ณผ ํํฐ๋ง์ ์ง์ํ๋ ์กฐํ ์ฟผ๋ฆฌ์ธ๋งํผ ๋๋์ ๋ฐ์ดํฐ๋ฅผ ์กฐ๊ฑด์ , ์ ๋ ฌ ์ ์ฉํ๋๋ฐ ๋ง์ ๋น์ฉ์ด ๋ค๊ณ , ํนํ ๋ฆฌ๋ทฐ์ ๋ถ์ ๊ฒฐ๊ณผ ์ค '์ฒญ๊ฒฐ' ์์ฑ์ด ํฌํจ๋ ๋ฆฌ๋ทฐ๋ค์ด๋ ๋ฆฌ๋ทฐ์ ๋ถ์ ๊ฒฐ๊ณผ ์ค '์ฒญ๊ฒฐ' ์์ฑ์ '๋จผ์ง' ํค์๋๊ฐ ํฌํจ๋ ๋ฆฌ๋ทฐ๋ค๊ณผ ๊ฐ์ด review ํ
์ด๋ธ๊ณผ..
๋ํ๋ง 14๊ธฐ์์ ์ฐธ์ฌ ์ค์ธ ํ๋ก์ ํธ์์ ๋ฐฑ์๋ ๋ฆฌ๋ ๋ถ์ด ์ํฐํฐ์ id๋ฅผ UUID, ULID๋ก ์ค์ ํ ๊ฒ์ ๋ณด์๋ค. ๋ IDENTITY๋ก ์ค์ ํ์ฌ MySQL์ด AUTO_INCREMENT๋ก ๊ด๋ฆฌํ๋๋ก ์์ํ๊ธฐ ๋๋ฌธ์ ๊ธฐ์กด ๋ฐฉ์๊ณผ ๋๋นํด์ ์ด๋ค ์ฅ์ ์ด ์๊ธธ๋ ์ฌ์ฉํ๋์ง ์์๋ณด์๋ค. AUTO_INCREMENT ์ ๋ต์ ๋จ์ ์ธ๋ถ์์ ์์ธกํ๊ธฐ ์ฌ์ด PK PK๊ฐ ์ ํ์ ์ผ๋ก ์ฆ๊ฐํ๋ ์ ์์ด๊ธฐ ๋๋ฌธ์, ํน์ ๋ฐ์ดํฐ์ PK๋ฅผ ์์ธกํ๊ธฐ ์ฌ์์ง๋ค. ์ค์ ๋ก request๋ค์ ํ๋ผ๋ฏธํฐ๋ฅผ ํ
์คํธํ ๋ ์ข
์ข
๋๊ผ๋ ๊ฒ์ด๋ค. ํ์ฌ ์ ์ ์ id 2000์ด๋ฉด 1 ~ 1999๊น์ง์ id๋ฅผ ๊ฐ์ง ์ ์ ๊ฐ ์กด์ฌํ ํ๋ฅ ๋ ๋์ ๊ฒ์ด๋ค. ์ด๋ ๋จ์ํ ๋
ธ์ถ๋๋ค์ ๋ฌธ์ ๋ฅผ ๋์ด SQL Injection ๊ณต๊ฒฉ์๋ ์ทจ์ฝํด์ง๋ค. DB์ ์์กด์ ์ธ PK ๊ฐ๋ฐ..