BackEnd๐ฑ/Etc29 ์์ ์์ ์ ์ฅํ๊ธฐ IntelliJ์ Shelve ์๋ก ํน์ branch์์ ์์ ์ ํ๋ค๊ฐ ๋ค๋ฅธ branch๋ก ์ด๋์ ํด์ผ ํ๋ ์ํฉ์ด ์์ต๋๋ค. ๊ทธ๋ด ๋ checkout์ ํตํด branch๋ฅผ ์ด๋์ ์๋ํ๋ฉด ์์ ๊ฐ์ด commit ํน์ stash๋ฅผ ๋จผ์ ํ๋ผ๋ ๋ฌธ๊ตฌ๋ฅผ ๋ง์ด ๋ณด์ จ์ ๊ฒ๋๋ค. ํน์ IntelliJ IDE๋ฅผ ํตํด checkout๋ฅผ ์๋ํ์ ๋๋ ์์ ๊ฐ์ ์ฐฝ์ด ๋์์ง๋ฉฐ ๋ณ๊ฒฝ ๋ด์ญ์ ๋จผ์ ์ฒ๋ฆฌํ๋๋ก ์ ๋ํฉ๋๋ค. ์ง๊ธ๊น์ง ์ ๋ git stash๋ฅผ ํตํด ์์ ์ฌํญ์ ์์๋ก ์ ์ฅํ์ผ๋ ๋ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ธ IntelliJ์ Shelve๋ผ๋ ๊ธฐ๋ฅ์ ์๊ฒ ๋์ด ์ ๋ฆฌ๋ฅผ ํ๊ฒ ๋์์ต๋๋ค. IntelliJ Shelve ๋จผ์ branch๋ฅผ checkout ํ๊ธฐ ์ IntelliJ ์ข์ธก์ Commit์ ํตํด ๋ณ๊ฒฝ์ฌํญ์ ์ ์ฅํ ํ์ผ๋ค์ ์ฒดํฌ๋ฐ์ค๋ฅผ ๋๋ ค ์ฒดํฌํฉ๋๋ค. ๊ทธ .. 2023. 1. 13. ๊ฐ๋น์ + Linux + Nginx + Cerbot/SSL์ ํ์ฉํ https ์ค์ ์๋ก ๊ฐ๋น์ + Linux + Nginx + Cerbot/SSL์ ํ์ฉํ https ์ค์ ์ ๋ํด ๋ฌธ์ํํ๊ณ ์ ๊ธ์ ์์ฑํ๊ฒ ๋์์ต๋๋ค. ํ๊ฒฝ ์น ์๋ฒ: Nginx ์ธ์ฆ์ ๋ฐ๊ธ: Cerbot/SSL ์ด์์ฒด์ : Amazone Linux ๋๋ฉ์ธ ๊ตฌ๋งค: ๊ฐ๋น์ ๋ชฉ์ฐจ ๋๋ฉ์ธ ๊ตฌ๋งค ๋ฐ ์ค์ Nginx ์ค์น ๋ฐ ์์ Cetbot ์ค์น ๋ฐ SSL ๋ฐ๊ธ Proxy ์ค์ ์ธ์ฆ์ ์๋ ๊ฐฑ์ (์ ํ) 1. ๋๋ฉ์ธ ๊ตฌ๋งค ๋จผ์ ๋๋ฉ์ธ์ด ํ์ํฉ๋๋ค. ๋๋ฉ์ธ์ ์ฌ๋๋ค์ด ์ํ๋ ์ฌ์ดํธ์ ๋ฐฉ๋ฌธํ๊ธฐ ์ํด ๋ธ๋ผ์ฐ์ ์์ ์ ๋ ฅํ๋ ์ฃผ์๋ฅผ ๋งํฉ๋๋ค. https ์ ์ฉ์ ์์ด์ ๋๋ฉ์ธ์ด ํ์ํ ์ด์ ๋ SSL ์ธ์ฆ์๋ฅผ ๋ฐ๊ธ๋ฐ์ ๋ ๋๋ฉ์ธ์ด ์๋๋ผ IP์ผ ๊ฒฝ์ฐ์๋ ์ธ์ฆ์ ๋ฐ๊ธ์ด ์ ํ๋๊ธฐ ๋๋ฌธ์ ๋๋ค. ๋๋ฉ์ธ์ ์ป์ ์ ์๋ ์ฌ์ดํธ๋ ๊ต์ฅํ ๋ง์ง๋ง ์ ๋ ๊ทธ.. 2022. 12. 5. Spring Boot + GitHub Actions + AWS CodeDeploy๋ฅผ ํ์ฉํ CI/CD ๊ตฌ์ถ ์๋ก ์ง๊ธ๊น์ง ๋งค๋ฒ ํ๋ก์ ํธ๋ฅผ ๊ตฌ์ถํ ๋๋ง๋ค ์ด์ ์ฝ๋๋ค์ ๋ฒ๊ฑฐ๋กญ๊ฒ ๋ด๊ฐ๋ฉด์ CI/CD๋ฅผ ๊ตฌ์ถํ์๋๋ฐ, ์ด๋ฒ ๊ธฐํ์ ํ๋ฒ ๋ฌธ์ํ๋ฅผ ํด๋ณด๊ณ ์ ๊ธ์ ์์ฑํ๊ฒ ๋์์ต๋๋ค. [CI/CD] CI/CD๋?, ์ง์์ ํตํฉ(Continuous Integration) ๊ณผ ์ง์์ ๋ฐฐํฌ(Continuous Deployment) ์๋ก ํ์ฌ ์๊ทธ๋ง ํ ์ด ํ๋ก์ ํธ๋ฅผ ํ์ ํ์ฌ ์งํ ์ค์ธ๋ฐ, ํ์๊ณผ ์ ๋๋ก branch ์ถฉ๋์ ํด๊ฒฐํ์ง ๋ชปํด ์ผ์ด๋๋ ์๋ฌ์, ์์์ ์ผ๋ก EC2์ ์ ์ํ์ฌ ์ง์ ๋ฐฐํฌ๋ฅผ ํด์ผ ํ๋ ์ฌ์ํ์ง๋ง ์์ ๋ค์ด dkswnkk.tistory.com CI/CD๋ฅผ ์ ์ฉํ๋ ์ด์ ๋ ์ด์ ์ ์์ฑํ ๊ฒ์๊ธ์ด ์์ผ๋ ์ฐธ๊ณ ํด์ฃผ์๋ฉด ๊ฐ์ฌํ๊ฒ ์ต๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก EC2๋ ์์ฑ๋์ด์๋ค๊ณ ๊ฐ์ ํ๊ณ ์งํํ๊ฒ ์ต๋๋ค. ํ๊ฒฝ EC2(Amazone.. 2022. 12. 4. [GitHub] README.md์ ๋ธ๋ก๊ทธ ์ต์ ๊ธ ๊ฐ์ ธ์ค๊ธฐ ์ ์ด๋ฏธ์ง์ ๊ฐ์ด GitHub README์ ๋ด ๋ธ๋ก๊ทธ ์ต์ ๊ธ์ ์๋์ผ๋ก ์ฃผ๊ธฐ์ ์ผ๋ก ๊ฐ์ ธ์ค๊ณ README์ ์์ฑ๋๋๋ก ํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์ ๋ฆฌํด๋ณด๊ฒ ์ต๋๋ค. (ํฐ์คํ ๋ฆฌ ๊ธฐ์ค) ๊ณผ์ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. Python์ผ๋ก ๋ธ๋ก๊ทธ ํผ๋(RSS) ํฌ๋กค๋ง GitHub Actions๋ฅผ ํ์ฉํ์ฌ Workflow ์์ฑ 1. RSS ํฌ๋กค๋ง ํ ์คํธ ๋จผ์ ํฐ์คํ ๋ฆฌ ํผ๋๊ฐ ์ ๋ถ๋ฌ์์ง๋์ง ํ ์คํธ๋ฅผ ์งํํฉ๋๋ค. (ํ ์คํธ์ด๋ฉฐ, ํ์๋ ์๋๋๋ค. 2๋ฒ์ผ๋ก ๋์ด๊ฐ์ ๋ ๋ฉ๋๋ค.) import feedparser URL="https://dkswnkk.tistory.com/rss" # URL = "๋ด๋ธ๋ก๊ทธ ์ฃผ์/rss" RSS_FEED = feedparser.parse(URL) print(RSS_FEED) URL๋ถ๋ถ์ ์์ ์ ๋ธ๋ก๊ทธ ์ฃผ์๋ฅผ .. 2022. 8. 29. CORS(๊ต์ฐจ ์ถ์ฒ ๋ฆฌ์์ค ๊ณต์ )๋? ์๋ก ๋ฐฑ์๋๋ฅผ ๊ฐ๋ฐํ๋ฉด์ ํ๋ฐํธ ๊ฐ๋ฐ์์ ํ์ ์ ์งํํ๋ค ๋ณด๋ฉด ํ ๋ฒ์ฏค์ ์ ์ด๋ฏธ์ง์ฒ๋ผ CORS ์๋ฌ์ ๋ํด ๋ง๋ฅ๋จ๋ฆฐ ์ ์ด ์์ ๊ฒ์ ๋๋ค. ์ด๋ฒ ๊ฒ์๊ธ์์๋ ์ด๋ฌํ CORS๊ฐ ๋ญ์ง, ๊ทธ๋ฆฌ๊ณ ์ ๋ฐ์ํ๊ณ ์ด๋ป๊ฒ ํด๊ฒฐํ ์ ์๋์ง ํ๋ฒ ์ ๋ฆฌํด ๋ณด๊ฒ ์ต๋๋ค. SOP(Same Origin Policy) CORS๋ฅผ ์๊ธฐ ์ ์ ๋จผ์ SOP๋ผ๋ ๊ฐ๋ ์ ๋ํด ๋จผ์ ์์์ผ ํฉ๋๋ค. ๋์ผ ์ถ์ฒ ์ ์ฑ (same-origin policy)์ ์ด๋ค ์ถ์ฒ(origin)์์ ๋ถ๋ฌ์จ ๋ฌธ์๋ ์คํฌ๋ฆฝํธ๊ฐ ๋ค๋ฅธ ์ถ์ฒ์์ ๊ฐ์ ธ์จ ๋ฆฌ์์ค์ ์ํธ์์ฉํ๋ ๊ฒ์ ์ ํํ๋ ๋ณด์ ๋ฐฉ์์ ๋๋ค. ๋์ผ ์ถ์ฒ ์ ์ฑ ์ ์ ์ฌ์ ์ผ๋ก ํด๋ฅผ ๋ผ์น ์ ์๋ ์์ฒญ์ ๋ถ๋ฆฌํจ์ผ๋ก์จ ๊ณต๊ฒฉ๋ฐ์ ์ ์๋ ๊ฒฝ์ฐ๋ฅผ ์ค์ฌ์ค๋๋ค. ์ฌ๊ธฐ์ ์ถ์ฒ(origin)๋ ์ ๊ทผํ ๋ ์ฌ์ฉํ๋ URL์ .. 2022. 7. 14. SSO(Single Sign-On) ํตํฉ์ธ์ฆ ์ด๋? ์๋ก ํ์ฌ ์ผํ๊ณ ์๋ ๊ณณ์์๋ ๋ด๋ถ๋ง์์ ๋ค์ํ ์์คํ ๋ค์ ์ด์ํ๊ณ ์์ต๋๋ค. ์ฌ๊ธฐ์ ์ฃผ๋ชฉํ ์ ์ ํ ๋ฒ์ ๋ก๊ทธ์ธ์ผ๋ก ๋ด๋ถ์ ๋ชจ๋ ์์คํ ์ ์ฌ ๋ก๊ทธ์ธ ์์ด ์ด์ฉํ ์ ์๋ ๋ฐฉ์์ธ SSO(Single Sign On) ์ธ์ฆ ๋ฐฉ์์ ๋๋ค. ์ด๋ฒ ๊ฒ์๊ธ์์๋ ์ด๋ฌํ SSO(Single Sign On)์ ๋ํด์ ํ๋ฒ ์ ๋ฆฌํด ๋ณด๊ฒ ์ต๋๋ค. SSO๋? SSO๋ Single-Sign-On์ ์ฝ์๋ก ํ ๋ฒ์ ๋ก๊ทธ์ธ์ผ๋ก ์ฌ๋ฌ ๊ฐ์ ์ฌ์ดํธ๋ค์ ์ฌ ๋ก๊ทธ์ธ ์์ด ์ด์ฉํ๋ ๋ฐฉ๋ฒ์ ๋งํ๋ฉฐ, ํตํฉ์ธ์ฆ์ด๋ผ๊ณ ๋ ๋ถ๋ฆ ๋๋ค. ์ ์ด๋ฏธ์ง๋ SSO๊ฐ ์๋ ๋ฐฉ์์ ๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ์ ์ด๋ฏธ์ง์ฒ๋ผ ์๋ก ๋ค๋ฅธ ์์คํ ์ ์๋ก ๊ฐ๊ฐ์ ์ฌ์ฉ์ ์ธ์ฆ ๋ฐฉ์์ด ํ์ํฉ๋๋ค. ์นด์นด์คํก ๋ก๊ทธ์ธ์ ํ๋ค๊ณ ํด์ ํ์ด์ค๋ถ์ ์ถ๊ฐ์ ์ธ ๋ก๊ทธ์ธ ์์ด ์ด์ฉํ ์ ์๊ณ , ๋ง์ฐฌ๊ฐ์ง๋ก.. 2022. 7. 13. [GitHub] submodule ์ฌ์ฉํด์ yml๊ณผ ๊ฐ์ ๋ฏผ๊ฐํ ์ ๋ณด ์จ๊ธฐ๊ธฐ ์๋ก ๋ณดํต ํ๋ก์ ํธ๋ฅผ ์งํํ๋ค ๋ณด๋ฉด GitHub ์์์ ๋ณด์ฌ์ฃผ๊ณ ์ถ์ง ์์ ๋ฏผ๊ฐํ ์ ๋ณด๋ค์ด ์์ต๋๋ค. Spring Boot๋ก ํ๋ก์ ํธ๋ฅผ ์งํํ ๋ DB์ ๊ณ์ ๋ฑ์ ๋ด์ .ymlํ์ผ๋ค์ ์๋ก ๋ค ์ ์์ต๋๋ค. ํ๋ก์ ํธ ์์ฒด๋ฅผ private๋ก ์ค์ ํด์ ๋ ธ์ถ์ ๋ฐฉ์งํ๋ ๋ฐฉ๋ฒ๋ ์๊ฒ ์ง๋ง submodule์ ์ฌ์ฉํ๋ฉด ํน์ ํด๋๋ง private๋ก ์ค์ ํด์ ๋ ธ์ถ์ ๋ง์ ์ ์์ต๋๋ค. ๋ฐ๋ผ์ ์ด๋ฒ ๊ฒ์๊ธ์์๋ git submodule์ ๋ํด์ ์์๋ณด๊ณ , Spring Boot ํ๊ฒฝ์์ ymlํ์ผ๋ค์ ์จ๊ฒจ๋ณด๋ ๋ฐฉ๋ฒ์ ์ ๋ฆฌํด ๋ณด๊ฒ ์ต๋๋ค. ๊ตฌ์ฒด์ ์ธ ๊ณผ์ 1. public repository ์์ฑ ๋จผ์ ์์ ๊ฐ์ด public repository๋ฅผ ๋ง๋ญ๋๋ค. ์ ๋ ๊ธฐ์ด์ ์ธ spring boot ํ๋ก์ ํธ๋ฅผ ํ๋ ์์ฑํ์ต๋๋ค. ๊ธฐ.. 2022. 7. 10. Sourcetree "permission denied (publickey)" error ํด๊ฒฐ ๋ฌธ์ Sourcetree๋ฅผ ์ด์ฉํด push๋ฅผ ํ๋ ๊ณผ์ ์์ "permission denied (publickey)" ๋ฌธ์ ๊ฐ ๋ฐ์ํด์ ์งํ์ด ๋์ง ์์์ต๋๋ค. ํด๋น ๋ฌธ์ ๋ SSH ์ธ์ฆ์ ๋ฌธ์ ๊ฐ ์์ ๊ฒฝ์ฐ ๋ฐ์ํ๋๋ฐ, ์๋์ ๊ฐ์ ๋ฐฉ๋ฒ์ผ๋ก ํด๊ฒฐ์ด ๊ฐ๋ฅํฉ๋๋ค. ํด๊ฒฐ 1. ssh-keygen "ํ์ผ ์ด๋ฆ"์ ์ ๋ ฅํ์ฌ ์๋ก์ด ssh๋ฅผ ์์ฑํฉ๋๋ค. ์ฌ์ฉํ ๋น๋ฐ๋ฒํธ๊น์ง ์ ๋ ฅํ๊ฒ ๋๋ฉด ์ง์ ํ์ด๋ฆ.pub ํ์์ผ๋ก ํ์ผ์ด ์์ฑ๋ฉ๋๋ค. 2. cat ํ์ผ์ด๋ฆ.pub์ ํตํด์ ์์ฑ๋ ํค ๊ฐ์ ๋ณต์ฌํฉ๋๋ค. ํ๋์์ผ๋ก ์น ํด์ง ๋ฌธ์๋ง ๋ณต์ฌํ๋ฉด ๋ฉ๋๋ค. 3. GitHub -> Settings -> SSH and GPG keys -> New SSH key์์ 2๋ฒ์์ ๋ณต์ฌํ ํค๋ฅผ ์ ๋ ฅํด ์ค๋๋ค. 4.ssh-add -l ๋ฅผ ์ ๋ ฅํฉ๋๋ค. .. 2022. 7. 6. [git] Git - HEAD Git Head ๋ชจ๋ ๋ธ๋ ์น์๋ HEAD๊ฐ์ด ์กด์ฌํ๋๋ฐ, HEAD๋ ๋ธ๋ ์น์ ๋ง์ง๋ง ์ปค๋ฐ ์ฆ ํ์ฌ ์ํ ๋ธ๋์น์ ๊ฐ์ฅ ์ต์ ์ปค๋ฐ์ ์๋ฏธํฉ๋๋ค. ์์ ํธ๋ฆฌ์ ๋ณํ๋ฅผ ์ฃผ๋ git ๋ช ๋ น์ด๋ค์ ๋๋ถ๋ถ HEAD๋ฅผ ๋ณ๊ฒฝํ๋ ๊ฒ์ผ๋ก ์์ํฉ๋๋ค. ์์ checkout์ผ๋ก ์๋ค ์ด๋ โญ๏ธ ^ ๋๋ ~: ๊ฐฏ์๋งํผ ํด๋น ๋ธ๋ ์น์ ์ด์ (์๋ )์ผ๋ก ์ด๋ git checkout HEAD^ git checkout HEAD^^^ git checkout HEAD~5 โญ๏ธ -: ํด๋น ๋ธ๋์น์ ํ ๋จ๊ณ ์ต๊ทผ ์ปค๋ฐ์ผ๋ก ์ด๋ git checkout - โญ๏ธ ์ปค๋ฐ ํด์๋ฅผ ์ฌ์ฉํด์๋ ์ด๋ ๊ฐ๋ฅ git checkout (์ปค๋ฐํด์) ์ปค๋ฐ ํด์๋ git log ๋ช ๋ น์ด๋ฅผ ํตํด ์๋์ ๊ฐ์ด ๋ฐ์ค ๊ทธ์ธ ๊ณณ์์ ํ์ธ์ด ๊ฐ๋ฅํฉ๋๋ค. 2022. 7. 3. ์ด์ 1 2 3 4 ๋ค์