์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- database
- DDL
- constraints
- greedy
- where
- MySQL
- Transaction
- ๋ฐฑ์ค
- select
- DBCP
- aws
- interrupt
- Spring
- ์๊ณ ๋ฆฌ์ฆ #๋ฐฑ์ค #1717
- MariaDB
- hikaricp
- ํ์
- GPG
- ConnectionPool
- Operating System
- error
- JDBC
- ์๊ณ ๋ฆฌ์ฆ
- oauth2
- DataSource
- dml
- Git
- docker
- springboot
- OS
- Today
- Total
๋ชฉ๋กBackEnd๐ (8)
did_story
1. ์ ์์ Refresh_token์ ๊ณ ๋ฏผํ๊ฒ ๋์์๊น?์ต๊ทผ ํ์๊ฐ์ ๊ณผ ๋ก๊ทธ์ธ ๊ธฐ๋ฅ์ ๊ตฌํํ๋ฉด์, ์์ ๋ก๊ทธ์ธ์ ์ง์ํ ๊ฒฝ์ฐ Refresh Token์ ์ด๋ป๊ฒ ๊ด๋ฆฌํด์ผ ํ ์ง ๊ณ ๋ฏผํ๊ฒ ๋์๋ค. ๋ณดํต Refresh Token์ ๋ก๊ทธ์ธ ์ํ๋ฅผ ์ ์งํ๋ ์ฉ๋๋ก ์ฌ์ฉ๋๋ค๊ณ ์๊ณ ์์์ง๋ง, ์์ ๋ก๊ทธ์ธ์์๋ ์กฐ๊ธ ๋ค๋ฅธ ์ญํ ์ ํ๋ค๋ ๊ฒ์ ์๊ฒ ๋์๋ค.์ผ๋ฐ์ ์ผ๋ก ์ฐ๋ฆฌ๊ฐ ๊ตฌํํ๋ ์ฑ์ Refresh Token์ ์ฌ์ฉ์์ ๋ก๊ทธ์ธ ์ํ๋ฅผ ์ ์งํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ค. ํ์ง๋ง ์์ ๋ก๊ทธ์ธ์์ ์ ๊ณตํ๋ Refresh Token์ ๋ก๊ทธ์์(๊ณ์ ์ฐ๊ฒฐ ํด์ ) ๊ณผ์ ์์ ํ์ํ๋ฉฐ, ์ด๋ฅผ ์๋ชป ๊ด๋ฆฌํ๋ฉด ๋ถํ์ํ ๋ณด์ ๋ฆฌ์คํฌ๋ฅผ ์ด๋ํ ์๋ ์๋ค.์ด๋ฐ ๊ณ ๋ฏผ ๋์ ์์ Refresh Token์ ๋ณ๋๋ก ๊ด๋ฆฌํ๋ ๊ฒ์ด ์ข๋ค๊ณ ๊ฒฐ๋ก ์ ๋ด๋ฆฌ๊ฒ ๋..
์ด๋ฒ ๊ธ์์๋ ์ปค๋ฅ์ ํ๊ณผ ๋ฐ์ดํฐ์์ค์ ๊ฐ๋ ๊ณผ ํ์์ฑ, ๊ทธ๋ฆฌ๊ณ ์ด๋ฅผ ์ด๋ป๊ฒ ํ์ฉํ๋์ง ์ ๋ฆฌํด๋ณด๊ณ ์ ํ๋ค. 1. ์ปค๋ฅ์ ํ(Connection Pool)์ด๋? โก๏ธ ์ปค๋ฅ์ ํ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๊ฒฐ์ ๋ฏธ๋ฆฌ ์์ฑํด ๋๊ณ , ํ์ํ ๋ ๊ฐ์ ธ์์ ์ฌ์ฌ์ฉํ๋ ๊ธฐ์ ์ด๋ค. ์ผ๋ฐ์ ์ผ๋ก JDBC์์ DriverMaanager.getConnection()์ ํธ์ถํ๊ฒ ๋๋ฉด ๋งค๋ฒ ์๋ก์ด DB ์ฐ๊ฒฐ์ด ์์ฑ๋๋๋ฐ, ์ด๋ ์ฑ๋ฅ์ ํฐ ๋ถ๋ด์ด ๋๋ค!๋ฐ๋ผ์, ์ปค๋ฅ์ ํ์ ์ฌ์ฉํ๊ฒ ๋๋ฉด ๋ฏธ๋ฆฌ์์ฑ๋ ์ปค๋ฅ์ ์ ์ฌ์ฌ์ฉํ์ฌ ์ฑ๋ฅ์ ์ต์ ํํ๊ณ DB ์๋ฒ์ ๋ถํ๋ฅผ ์ค์ผ ์ ์๋ค. ์ฆ ๋ฐ๋ณต์ ์ธ ์ฐ๊ฒฐ ์์ฑ ๋น์ฉ์ ์ค์ด๊ณ , ๋์ ์ ์์ฌ์ฉ์์ ์์ฒญ์ ํจ๊ณผ์ ์ผ๋ก ์ฒ๋ฆฌํ ์ ์๋๋ก ๋์์ฃผ๋ ๊ธฐ๋ฅ์ด๋ค!๐ ์ปค๋ฅ์ ํ์ด ํ์ํ ์ด์ DB ์ฐ๊ฒฐ ์๋ ๊ฐ์ : ์ปค๋ฅ์ ์..

JDBC(Java Database Connectivity)๋?JDBC(Java Database Connectivity) API๋ Java ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ํญ๋์ ์ ํ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค(SQL ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฐ ์คํ๋ ๋์ํธ๋ ํ๋ซ ํ์ผ์ ๋น๋กฏํ ํ ์ด๋ธ ํ์ ๋ฐ์ดํฐ ์์ค)๋ฅผ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ ๋ฆฝ์ (database-independent)์ผ๋ก ์ฐ๊ฒฐํด ์ฃผ๋ ์ฐ์ ํ์ค์ ๋๋ค. JDBC API๋ SQL ๊ธฐ๋ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ก์ธ์ค๋ฅผ ์ํ ํธ์ถ ๋ ๋ฒจ API๋ฅผ ์ ๊ณตํฉ๋๋ค. (์ถ์ฒ : Oracle ๊ณต์๋ฌธ์)→ ์ฆ, JDBC(Java Database Connectivity)๋ Java ์ ํ๋ฆฌ์ผ์ด์ ์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ํธ ์์ฉํ ์ ์๋๋ก ํด์ฃผ๋ ์๋ฐ ํ์ค API์ ๋๋ค. JDBC๋ฅผ ์ฌ์ฉํ๋ฉด Java ํ๋ก๊ทธ๋จ์์ SQL ์ฟผ๋ฆฌ๋ฅผ ์คํํ๊ณ ..
์ ์ฝ ์กฐ๊ฑด์ ๊ณต๋ถํ๋ฉฐ ์ ๋ฆฌํด ๋ณด๋ ๊ธ์์ ๋ฐํ๋๋ค. ์ฐ์ ! SQL์์ ์ ์ฝ์กฐ๊ฑด(Constraints)์ ํ ์ด๋ธ์ ์ ์ฅ๋๋ ๋ฐ์ดํฐ์ ๋ฌด๊ฒฐ์ฑ์ ๋ณด์ฅํ๊ธฐ ์ํด ์ฌ์ฉ๋ฉ๋๋ค. ์ฆ, ๋ฐ์ดํฐ์ ์ ํ์ฑ, ์ผ๊ด์ฑ, ์ ๋ขฐ์ฑ์ ์ ์งํ๊ธฐ ์ํ ๊ท์น์ ๋๋ค. 1. ์์ฃผ ์ฌ์ฉ๋๋ ์ ์ฝ์กฐ๊ฑดSQL์์ ์์ฃผ ์ฌ์ฉ๋๋ ์ ์ฝ์กฐ๊ฑด์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:NOT NULLํด๋น ์ปฌ๋ผ์ด NULL ๊ฐ์ ํ์ฉํ์ง ์์UNIQUEํด๋น ์ปฌ๋ผ์ ๊ฐ์ด ์ ์ผ(unique)ํด์ผ ํจPRIMARY KEYNOT NULL + UNIQUE ๊ธฐ๋ฅ์ ๊ฐ์ง๋ฉฐ, ํ ์ด๋ธ์์ ์ ์ผํ ๊ฐ์ด ๋์ด์ผ ํจFOREIGN KEY๋ค๋ฅธ ํ ์ด๋ธ์ PRIMARY KEY๋ฅผ ์ฐธ์กฐํ์ฌ ํ ์ด๋ธ ๊ฐ ๊ด๊ณ๋ฅผ ์ค์ CHECKํน์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ๊ฐ๋ง ์ ๋ ฅ ๊ฐ๋ฅํ๋๋ก ์ ํDEFAULT์ปฌ๋ผ์ ๋ช ์์ ์ผ๋ก ๊ฐ์ด ์ ๋ ฅ๋์ง ์์..

์ฌ๋ฌ๋ถ์ด ๋ง์ฝ ์ ์ ๊ฐ์ ๋ฌธ์ ๋ฅผ ๊ฒช๋ ๋ค๋ฉด ์ด ๊ธ์ ํตํด ํด๊ฒฐํ์ผ๋ฉด ์ข๊ฒ ์ต๋๋ค. (์ ํ๋ฃจ ๊ฑธ๋ ค์ ํด๊ฒฐํ๋๋ฐ, ์ฌ๋ฌ๋ถ์ ์ ๋ฐ ๊ทธ๋ฌ์ง ๋ง์ ์ฃผ์ธ์)Downloading packages:๊ฒฝ๊ณ : /var/cache/yum/x86_64/2/mysql80-community/packages/mysql-community-client-plugins-8.0.40-1.el7.x86_64.rpm: Header V4 RSA/SHA256 Signature, key ID a8d3785c: NOKEYRetrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql-2022Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysqlThe ..
๋ฐ์ดํ๋ฒ ์ด์ค ๊ธฐ์ด๋ถํฐ ์ ์๊ฐ ๋ณด๊ณ ์ ๋ฆฌํ๊ธฐ ์ํด ์ด ๊ธ์์ ๋ฐํ๋๋ค.CREATE์๋ก์ด ๋ฐ์ดํ ๋ฒ ์ด์ค๋ ํ ์ด๋ธ์ ๋ง๋๋๋ฐ ์ฌ์ฉํ๋ค.CREATE DATABASE newDatabase;โ: newDatabase๋ ์ด๋ฆ์ ๋ฐ์ดํ ๋ฒ ์ด์ค๋ฅผ ๋ง๋ค๊ฒ ๋ค. CREATE TABLE newDatabase.Products ( id INT PRIMARY KEY, name VARCHAR(255), price DECIMAL(10, 2));โ: newDatabase์ Products๋ผ๋ table ์์ฑ. CREATE TABLE newDatabase.Products ASSELECT * FROM oldDatabase.Products;โ: oldDatabase.Products ํ ์ด๋ธ์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ newDatabase..