๋ชฉ๋ก๐ฅ BE ๋ฐฑ์๋ (118)
Bibi's DevLog ๐ค๐
[Spring] ๊ตฌ๊ธ OAuth ๊ตฌํํ๊ธฐ (+JWT) ์ถ์ฒ https://preamtree.tistory.com/167 https://withseungryu.tistory.com/116 ๊ตฌ๊ธ ๊ณต์๋ฌธ์ - OAuth2.0์ผ๋ก ๊ตฌ๊ธAPI ์ก์ธ์คํ๊ธฐ ํนํ "์๋ฒ์ธก ์น ์ฑ์ฉ OAuth 2.0" ์ฐธ๊ณ ์ ์ฒด flow /login์ผ๋ก ์ ์ ์ ๊ตฌ๊ธ OAuth2.0์ ์ด์ฉํด ์ฌ์ฉ์ ์ ๋ณด(์น์ธ)์ ์์ฒญํจ. ์น์ธ๋๋ฉด ๋ฆฌ๋๋ ์ URI๋ก ์ด๋. ์ด ๋ ๊ตฌ๊ธ๋ก๋ถํฐ code๋ฅผ ๋ฐ๊ธ๋ฐ์. ๊ตฌ๊ธ API ์ฝ์ - API ๋ฐ ์๋น์ค - ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด - ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด ๋ง๋ค๊ธฐ - OAuth ํด๋ผ์ด์ธํธ ID - ์ฑ ์ ํ ์ ํ - ์ด๋ฆ ์ค์ - ์น์ธ๋ ๋ฆฌ๋๋ ์ URI ์ง์ . โ ์ด ๋ ๋ฐ๊ธ๋๋ ํด๋ผ์ด์ธํธID(Client Id), ํด๋ผ์ด..
AWS Ubuntu์ ์คํ๋ง ์ฑ ๋ฐฐํฌ ๊ณผ์ ๋ค์ ์ ๋ฆฌ .. AWS EC2 ์ฐ๋ถํฌ์ mysql ์ค์น MySQL ์ค์น sudo apt update sudo apt-get install mysql-server MySQL ์ ์ mysql -u root -p (์ ์ ๋๋ฉด sudo mysql -u root -p) (ํจ์ค์๋๋ ์ค์ ํ ๊ฐ ์ ๋ ฅ, ์์ผ๋ฉด ๊ทธ๋ฅ ์ํฐ) ์์ฑํ ์ ์ ๋ก ์ ์ํ๋ ค๋ฉด mysql -u ์ ์ ์ด๋ฆ -p MySQL ์ฌ์ฉ์ ์์ฑ create user '์ฌ์ฉ์์ด๋ฆ'@'ip์ฃผ์' identified by '๋น๋ฐ๋ฒํธ'; flush privileges; ๋ชจ๋ ip์์ ์ ์์ ํ์ฉํ๊ณ ์ถ๋ค๋ฉด create user '์ฌ์ฉ์์ด๋ฆ'@'%' ide..
[airbnbํ๋ก์ ํธ] JWT ์ฝ๋ ์ค๋ช ์ถ์ฒ : ์ ์ฒด ์ฝ๋ ์ถ์ฒ๋ https://ocblog.tistory.com/56, ์ค๋ช ์ yeon์ด ํด ์ฃผ์ จ์ต๋๋ค๐โ๏ธ JWT ํ ํฐ ์ ์ฐ๋๊ฐ? ๋ก๊ทธ์ธ ์ ์๋ฒ๊ฐ ํ ํฐ์ ๋ง๋ค์ด ํด๋ผ์ด์ธํธ์ ๋ฐ๊ธํด ์ค๋ค. ์ดํ ๋ก๊ทธ์ธ์ด ํ์ํ URL์์, ํค๋์ ํ ํฐ์ด ๋ค์ด์๋์ง ํ์ธํ๋ค. ํ ํฐ์ด ์์ผ๋ฉด ๋ก๊ทธ์ธ์ด ํ์ํ ๊ธฐ๋ฅ๋ค์ ์ด์ฉํ ์ ์๋ค. ํ ํฐ์ด ์์ผ๋ฉด ๋ก๊ทธ์ธ๋์ง ์์ ์ํ๋ก ๊ฐ์ฃผํ๊ณ ๋ก๊ทธ์ธ์ด ํ์ํ ๊ธฐ๋ฅ๋ค์ ์ด์ฉํ ์ ์๋ค. ์ธํฐ์ ํฐ interceptor ์ธํฐ์ ํฐ : ์ปจํธ๋กค๋ฌ์ ์ค๊ธฐ ์ ์ ์กด์ฌํ๋ ๋จ๊ณ. ํ๋ก ํธ๊ฐ HTTP Header์ ์ฐ๋ฆฌ๊ฐ ๋ฐ๊ธํ ํ ํฐ์ ๋ด์์ ๋ณด๋ด์ฃผ๋ฉด ("Authorization" : Bearer ํ ํฐ) ์ฐ๋ฆฌ๊ฐ ๋ฐ๊ธํ ํ ํฐ์ด ๋ง๋์ง ํ์ธํ๋ค. ํ ํฐ ..
JWT, TOKEN ํ ํฐ ๋ฒ ์ด์ค ๋ก๊ทธ์ธ ์ถ์ฒ ๐โ๏ธ https://www.youtube.com/watch?v=zC5dLbZMAW0 Token Based Auth (JWT)์ ๋ํ ๋ด์ฉ์ด๋ค. Session Based Auth ๋ก๊ทธ์ธ ํด๋ผ์ด์ธํธ : ID, PW์ ํจ๊ป request ์๋ฒ : ID,PW ํ์ธ ํ ๋ง๋ค๋ฉด sessionID๋ฅผ ์ฟ ํค์ ๋ฃ์ด response ์๋ฒ ๋ด๋ถ์์ sessionId๋ฅผ ๊ด๋ฆฌ ๋ก๊ทธ์ธ ์ดํ ํด๋ผ์ด์ธํธ : ์์ฒญ์ ํ ๋ sessionID๋ฅผ ํจ๊ป ๋ณด๋ ์๋ฒ : sessionID๊ฐ ์กด์ฌํ๋ค๋ฉด/๋ง๋ค๋ฉด ๋ก๊ทธ์ธ ์์๋ง ๋ณผ ์ ์๋ ๋ฐ์ดํฐ๋ฅผ ์๋ต Token Based Auth ์ ๋ฑ์ฅํ๋๊ฐ? ์ธ์ ๊ธฐ๋ฐ ์ธ์ฆ์ผ๋ก๋ ์ฌ๋ฌ ์๋น์ค, ์ฌ๋ฌ ์๋ฒ์ ์ธ์ฆ์ ์ฒ๋ฆฌํ๊ธฐ๊ฐ ๋๋ฌด ๋ณต์กํ๊ธฐ ๋๋ฌธ ๋ก๊ทธ์ธ ํด๋ผ์ด์ธํธ ..
public์ ํตํด private ์ ์ํ๊ธฐ https://velog.io/@yeon/public-subnet%EA%B3%BC-private-subnet%EC%97%90-%EC%9B%B9%EC%84%9C%EB%B2%84%EC%99%80-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4-%EB%B6%84%EB%A6%AC%ED%95%B4%EC%84%9C-%EB%B0%B0%ED%8F%AC%ED%95%98%EA%B8%B0 ์ฐ ๋ธ๋ก๊ทธ์์ ์ ์ฒด์ ์ธ ๊ณผ์ ์ฐธ๊ณ ํ๊ธฐ https://rutesun.wordpress.com/2015/02/04/git-bash-%EA%B0%9C%EC%9D%B8%ED%82%A4-%EB%93%B1%EB%A1%9D%EC%8B%9C-%EC%97%90%E..
ํ๋ก์ ํธ - Nginx๋ฅผ ์ฌ์ฉํด ์ํ๋ ํฌํธ๋ก HTTP Request ๋ฆฌ๋ค์ด๋ ํธํ๊ธฐ ์ถ์ฒ๐โ๏ธ https://velog.io/@damiano1027/Nginx-Nginx%EC%99%80-SpringBoot-%EB%82%B4%EC%9E%A5-Tomcat-%EC%97%B0%EB%8F%99 ์์ด๋น์๋น ํ๋ก์ ํธ์์ 3000ํฌํธ๋ฅผ ์ฃผ๋ก ์ฌ์ฉํ๋ค๋ ํ๋ก ํธ ๋ถ๋ค์ ์ํด Nginx๋ก ๋ฆฌ๋ค์ด๋ ํ ์ ํด ๋ณด์๋ค. (์ ๋งํฌ๋ฅผ ์ฝ๊ณ ๋ฐ๋ผํ๋ค - ์์ธํ ์ค๋ช ์ ์ ๋งํฌ๋ฅผ ๋ค์ ์ฝ์ด๋ด์ผ๊ฒ ๋ค) (ec2) Nginx ์ค์น ๋ฐ ์์ sudo apt-get install nginx sudo service nginx start (ec2) ec2 ์ธ์คํด์ค [๋ณด์] - [๋ณด์๊ทธ๋ฃน] - [์ธ๋ฐ์ด๋ ์ค์ ]์์ ์ํ๋ ํฌํธ ์ด์ด์ฃผ๊ธฐ (ec2) ..
์คํฌ๋ฆฝํธ์ S3 bucket์ ์ด์ฉํ ์คํ๋ง ์ฑ ๋ฐฐํฌ ์๋ํ(+ ์ฌ๋ ๋ด, crontab ํ์ฉ) yeon์ด ์ค๋ ํ๋ก์ ํธ์์ ๊ฐ๋ฅด์ณ ์ฃผ์ ๋ฐฐํฌ์๋ํ ๊ณผ์ ์ ์ ๋ฆฌํด ๋ณด์๋ค! ๐โ๏ธ (์ถ์ฒ : S3 bucket์ ์ด์ฉํ ๋ฐฐํฌ ์๋ํ) ๋ค์๊ณผ ๊ฐ์ ์๋ํ๋ฅผ ํ๊ฒ ๋๋ค. ๋ก์ปฌ์์ ๋น๋ํ ์คํ๋ง ์ฑ์ ๋น๋ ํ์ผ(jar)์ S3์ ๋ฃ๊ธฐ ์ธ์คํด์ค๊ฐ s3๋ฅผ 1๋ถ๋ง๋ค ์ฒดํฌ ๋น๋ ํ์ผ์ด ์๋ก์ด ๋ฒ์ ์ด๋ฉด s3์์ ๋น๋ ๋ฐ ๋ฐฐํฌ [์ค๋น๋ฌผ] ์ ๋์๊ฐ๋ ์คํ๋ง ์ฑ, aws ๊ณ์ ๊ณผ ec2 ์ธ์คํด์ค, ์ฌ๋ (๋ก์ปฌ) ์คํ๋ง ์ฑ์ ๋น๋ํด jarํ์ผ์ ์์ฑํจ ํ๋ก์ ํธ ํด๋์์ ./gradlew build jar (ec2) S3์์ ๋ฐฐํฌ์ฉ bucket ์์ฑ aws์๋น์ค ์ค s3 ์ ํ - ๋ฒํท - ๋ฒํท ๋ง๋ค๊ธฐ ๋ฒํท ์์ฑ์ ์ด๋ฆ์ด ๋ค๋ฅธ ๋ฒ..
์์ ์ ๋ฆฌ - ์คํ ์ด๋ ํ๋ก์์ stored procedure ๋ชจ๋ฅด๋ฉด ์ด์ํ์ง๋ง ๊ตณ์ด ๊ณต๋ถํ ํ์๋ ์๋..?.. ํ์ง๋ง ์ค์ํ..!!.. sql ๋ช ๋ น์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ ์ธ์ (declarative) (what) ๋ช ๋ น์ด๋ค. DB์์ '์ ์ฐจ์ ๋ช ๋ น(imperative) (how)'์ ์ํํ๊ธฐ ์ํด์๋ ์คํ ์ด๋ ํ๋ก๊ทธ๋จ์ ์ฌ์ฉํด์ผ ํ๋ค. ์คํ ์ด๋ ํ๋ก๊ทธ๋จ DB์ ์ ์ฅ๋ ํ๋ก๊ทธ๋จ ํ ๋ง๋๋ก DB์ ํ๋ก๊ทธ๋จ์ ์ ์ฅํด ์ฌ์ฉํ๋ ๊ฒ ์คํ ์ด๋ ํ๋ก์์ ๋ DB์ ์ ์ฅ๋๊ธฐ ๋๋ฌธ์ MySQL ์ข ๋ฃ ํ ๋ค์ ์คํํด๋ ๋จ์ ์๋ค. ์คํ ์ด๋ ํ๋ก๊ทธ๋จ์ ์ข ๋ฅ ์คํ ์ด๋ ํจ์ ์คํ ์ด๋ ํ๋ก์์ ธ ํธ๋ฆฌ๊ฑฐ ์ด๋ฒคํธ ํธ๋ค๋ฌ ์คํ ์ด๋ ํ๋ก๊ทธ๋จ์ ์ฅ์ ์์ฉํ๋ก๊ทธ๋จ์ ์ฑ๋ฅ ํฅ์ ๋คํธ์ํฌ ํธ๋ํฝ ๊ฐ์ ์ฌ๋ฌ ๋ฒ ์ฟผ๋ฆฌ ๋ ๋ ค์ผ ํ๋ ๊ฑธ ํ ๋ฒ์ผ..