BackEnd๐ฑ/Etc30 [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. [git] .gitignore ํ์ ์ ๋ฆฌ ์๋ก .gitignore ํ์ผ์ด๋ git version ๊ด๋ฆฌ์์ ์ ์ธํ ํ์ผ ๋ชฉ๋ก์ ์ค์ ํ๋ ํ์ผ์ ๋๋ค. .gitignore ํ์ผ์ ํญ์ Project์ ์ต์์ Directory์ ์์นํด์ผ ํ๋ฉฐ ์ฌ์ฉ ํ์์ ์๋์ ๊ฐ์ต๋๋ค. '#'๋ก ์์ํ๋ ๋ผ์ธ์ ๋ฌด์ํ๋ค. ํ์ค Glob ํจํด์ ์ฌ์ฉํ๋ค. ์ฌ๋์(/)๋ก ์์ํ๋ฉด ํ์ ๋๋ ํฐ๋ฆฌ์ ์ ์ฉ๋์ง(recursivity) ์๋๋ค. ๋๋ ํฐ๋ฆฌ๋ ์ฌ๋์(/)๋ฅผ ๋์ ์ฌ์ฉํ๋ ๊ฒ์ผ๋ก ํํํ๋ค. ๋๋ํ(!)๋ก ์์ํ๋ ํจํด์ ํ์ผ์ ๋ฌด์ํ์ง ์๋๋ค. ์์ # ์ด๋ ๊ฒ #๋ฅผ ์ฌ์ฉํด์ ์ฃผ์ # ๋ชจ๋ file.c file.c # ์ต์์ ํด๋์ file.c /file.c # ๋ชจ๋ .c ํ์ฅ์ ํ์ผ *.c # .c ํ์ฅ์์ง๋ง ๋ฌด์ํ์ง ์์ ํ์ผ !not_ignore_this.c # .. 2022. 7. 2. [CI/CD] CI/CD๋?, ์ง์์ ํตํฉ(Continuous Integration) ๊ณผ ์ง์์ ๋ฐฐํฌ(Continuous Deployment) ์๋ก ํ์ฌ ์๊ทธ๋ง ํ ์ด ํ๋ก์ ํธ๋ฅผ ํ์ ํ์ฌ ์งํ ์ค์ธ๋ฐ, ํ์๊ณผ ์ ๋๋ก branch ์ถฉ๋์ ํด๊ฒฐํ์ง ๋ชปํด ์ผ์ด๋๋ ์๋ฌ์, ์์์ ์ผ๋ก EC2์ ์ ์ํ์ฌ ์ง์ ๋ฐฐํฌ๋ฅผ ํด์ผ ํ๋ ์ฌ์ํ์ง๋ง ์์ ๋ค์ด ์ ๊ฒฝ ์ฐ์ด๊ฒ ๋์์ต๋๋ค. ์ ๋ ์ด ํ๋ก์ ํธ์ GitHub Action์ ์ด์ฉํ์ฌ CI/CD๋ฅผ ์ ์ฉํ๋๋ฐ ์ด๋ฒ ๊ฒ์๊ธ์์๋ ์ด๋ฌํ ์์ ๋ค์ ์๋ํ์์ผ์ฃผ๋ CI/CD์ ๋ํด์ ์์๋ณด๊ณ ๋ค์ ๊ฒ์๊ธ์์๋ ์ฌ๋ฌ ๊ฐ์ CI/CD ํด ์ค GitHub Action์ ์ด์ฉํ CI/CD ์ ์ฉ์ ๋ํด์ ์ ๋ฆฌํด ๋ณด๊ฒ ์ต๋๋ค. CI(Continuous Integration) CI(Continuous Integration)๋ "์ง์์ ์ธ ํตํฉ" ์ด๋ผ๋ ์๋ฏธ๋ก, ์์ฝํ์๋ฉด ๋น๋/ํ ์คํธ ์๋ํ ๊ณผ์ ์ ๋๋ค. ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ํ ์๋ก์ด ์ฝ๋ ๋ณ๊ฒฝ.. 2022. 5. 31. [AWS] ec2 ์ธ์คํด์ค ๋ฐ RDS ์ฌ๋ผ์ง ํ์ ๋ฌธ์ ๊ธฐ์กด์ ๋์๊ฐ๊ณ ์๋ ์ธ์คํด์ค๋ฅผ ๋ด๋ฒ๋ ค๋๊ณ ์๋ก์ด ์ธ์คํด์ค๋ฅผ ์์ฑํ๋๋ ๊ธฐ์กด์ ์๋ ์ธ์คํด์ค์ ์์ฑํ ์ธ์คํด์ค๊น์ง ๋ชจ๋ ์ฌ๋ผ์ง๋ ํ์์ด ๋ฐ์ํ์ต๋๋ค. ๋๊ตฐ๋ค๋ ์์ ์ค์ด๋ RDS๊น์ง ์ ๋ถ aws ํํ์ด์ง ์์์ ๋ณด์ด์ง๊ฐ ์์์ต๋๋ค. ํ์ง๋ง DataGrip์์ DB๋ ์ ์์ ์ผ๋ก ์ฐ๋๋๊ณ , WAS๋ ์ ์์ ์ผ๋ก ๋์๊ฐ์ต๋๋ค. ๋ถ๋ช ์๋ฒ๋ ์ ์์ ์ผ๋ก ๊ฐ๋ ์ค์ธ๋ฐ AWSํํ์ด์ง ์์์๋ง ๋ณด์ด์ง ์๋ ํ์์ด์์ต๋๋ค. ํด๊ฒฐ ํด๋น ๋ฌธ์ ๋ ๋ฆฌ์ ์ด ๋ฌ๋ผ์ ๋ฐ์ํ ๋ฌธ์ ์์ต๋๋ค. ์๋ก์ด ์ธ์คํด์ค๋ฅผ ์์ฑํ๊ณ ๋์ ๋ฆฌ์ ์ด ๋ฒ์ง๋์ ๋ถ๋ถ๋ก ์ ํ๋์ด ์์์ต๋๋ค. ์ ๋ฒ๋์ง์ ๋ถ๋ถ๋ก ๋ฆฌ์ ์ด ์ ํ๋์ด ์๋์ง๋ ๋ชจ๋ฅด๊ฒ ์ง๋ง ์ด์ ์ธ์คํด์ค๋ค์ ๋น์ฐํ ์์ธ/์์์๋ก ์์ฑ๋์๊ธฐ์ ํ์ฌ ๋ฆฌ์ ์ธ ๋ฒ์ง๋์ ๋ถ๋ถ ์นดํ ๊ณ ๋ฆฌ์์๋ ๋ณด์ด์ง ์๋ ๊ฒ์ด์.. 2022. 5. 30. ํด๋ผ์ฐ๋์ ์ดํด: IaaS, PaaS, SaaS ์๋ก AWS์ EC2 ํ๊ฒฝ์์ ์ธํ๋ผ๋ฅผ ๊ณ์ ์ค๊ณํ๋ค ๋ณด๋ ํด๋ผ์ฐ๋ ์ปดํจํฐ์ ๊ฐ๋ ์ ๋ํด ๊ถ๊ธํด์ ธ์ ์ฐพ์๋ณด๊ฒ ๋์์ต๋๋ค. ํด๋ผ์ฐ๋ ์ปดํจํ ์ ์ธํฐ๋ท์ผ๋ก ๊ฐ์ํ๋ IT ๋ฆฌ์์ค๋ฅผ ์๋น์ค๋ก ์ ๊ณตํ๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ํด๋ผ์ฐ๋ ์ปดํจํ ์์ ๊ฐ์ํํ์ฌ ์๋น์ค๋ก ์ ๊ณตํ๋ ๋์์ ์๋ฒ, ํ๋ซํผ, ์ํํธ์จ์ด์ ๋๋ค. AWS(์๋ง์กด ์น์๋น์ค)์์ ์ ๊ณตํ๋ ํด๋ผ์ฐ๋ ์๋น์ค๋ค์ด ๋์คํ๋๋ฉด์ ํด๋ผ์ฐ๋๋ฅผ ์ธํ๋ผ์คํธ๋ญ์ณ์ ๊ฐ์ํ ๊ฐ๋ ์ผ๋ก๋ง ์ดํดํ๊ธฐ๋ ํ์ง๋ง ํด๋ผ์ฐ๋๋ ์ธํ๋ผ์คํธ๋ญ์ณ๋ฟ๋ง ์๋๋ผ ํ๋ซํผ๊ณผ ์ํํธ์จ์ด๊น์ง ํฌํจํ๋ ์จ๋ผ์ธ์ ๋ชจ๋ ์์ญ์ ๋ค๋ฃจ๋ ๊ฝค ๊ด๋ฒ์ํ ๊ฐ๋ ์ ๋๋ค. ์ด๋ฒ ๊ฒ์๊ธ์์๋ ๊ฐ์ํ ๋์์ ๋ฐ๋ผ ๋๋ ์ธํ๋ผ์คํธ๋ญ์ณ ํด๋ผ์ฐ๋, ํ๋ซํผ ํด๋ผ์ฐ๋, ์ํํธ์จ์ด ํด๋ผ์ฐ๋์ ๋ํด ์ ๋ฆฌํด ๋ณด๊ฒ ์ต๋๋ค. ์ธํ๋ผ์คํธ๋ญ์ณ ํด๋ผ์ฐ.. 2022. 4. 25. API vs Library vs Framework ์๋ก API์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ, ๊ทธ๋ฆฌ๊ณ ํ๋ ์์ํฌ ์ธ ๋จ์ด์ ์ฐจ์ด์ ์ ๋ํด์ ๋จธ๋ฆฟ์์ผ๋ก๋ ์ฝ๊ฒ ๋ ์ค๋ฅด์ง๋ง ๋ง์ ์ ํํ ์ฐจ์ด๊ฐ ๋ญ๋๊ณ ๋ฌผ์ด๋ณด๋ฉด ๋ ผ๋ฆฌ์ ์ผ๋ก ์ค๋ช ํ๊ธฐ๊ฐ ํ๋ญ๋๋ค. ๊ทธ๋์ ์ด๋ฒ ๊ธฐํ์ ๊ธ์ ์ ๋ฆฌํจ์ผ๋ก์จ ํ๋ฒ ๋จ๋จํ ๊ฐ๋ ์ ์ก๊ณ ์ ํฉ๋๋ค. ๋ชฉ์ฐจ 1. API๋? 2. ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋? 3. ํ๋ ์์ํฌ๋? 4. API์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ฐจ์ด 5. ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ํ๋ ์์ํฌ์ ์ฐจ์ด API(Application Programming Interface) API(Application Programming Interface)๋ ์์ฉ ํ๋ก๊ทธ๋จ์์ ์ฌ์ฉํ ์ ์๋๋ก, ์ด์์ฒด์ ๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๊ฐ ์ ๊ณตํ๋ ๊ธฐ๋ฅ์ ์ ์ดํ ์ ์๊ฒ ๋ง๋ ์ธํฐํ์ด์ค๋ฅผ ๋ปํฉ๋๋ค. - ์ํค๋ฐฑ๊ณผ ์ฝ๊ฒ ์์๋ฅผ ๋ค์ด์ ์ค๋ช ํ๋ฉด API๋ ๋ ์คํ ๋์ '์ ์'์ ๋๋ค.. 2022. 4. 25. Nginx๋ ๋ฌด์์ธ๊ฐ? ์๋ก ํ ์ด ํ๋ก์ ํธ๋ฅผ ์งํํ๋ฉด์ ์น ์๋ฒ๋ก Nginx๋ฅผ ์ฌ์ฉํ๊ฒ ๋์๋๋ฐ, ๋จ์ํ ์ฌ์ฉ๋ง ํ๋ ๊ฒ์ด ์๋๋ผ ๊ฐ๋ ๋ถํฐ ํ์คํ๊ฒ ์ก๊ณ ๊ฐ๊ธฐ ์ํด์ ์ ๋ฆฌ๋ฅผ ํ๊ฒ ๋์์ต๋๋ค. ์น ์๋ฒ์ ๋ํ ๊ฐ๋ ์ ์๋ ๊ฒ์๊ธ์์ ์ ๋ฆฌํ ์ ์ด ์์ผ๋ ์ฐธ๊ณ ํ์๋ฉด ์ข์ ๊ฒ ๊ฐ์ต๋๋ค. Web Server์ WAS์ ์ฐจ์ด ์๋ก ์น ์๋ฒ(Web Server)์ ์น ์ ํ๋ฆฌ์ผ์ด์ ์๋ฒ(Web Application Server)์ ํค์๋๋ง ๋๊ณ ๋ณด์์ ๋ ๋ ๊ฐ์ ์ฐจ์ด๊ฐ ๋ญ๊ฐ์ ๋ํด ํ์ ์๊ฒ ๋๋ต์ ๋ชปํ ๋ฟ๋๋ฌ ์์ง ์ดํด๊ฐ ์ ๊ฐ์ง ์์์ ํ๋ฒ ์ ๋ฆฌ๋ฅผ dkswnkk.tistory.com ๋ํ Nginx๋ฅผ ์ค๋ช ํ๊ธฐ ์ํด์ ๋ ๋ค๋ฅธ ์น ์๋ฒ์ธ Apache์ ๋น๊ตํ๊ฒ ๋๋ ๋ ์๋ฐ์ ์๊ธฐ์, ์ด๋ฒ ๊ฒ์๊ธ์์๋ Nginx์ Apache์ ์ฑ๋ฅ์ ๋น.. 2022. 4. 20. Forward Proxy์ Reverse Proxy ์๋ก ์ด์ ๊ฒ์๊ธ์์ WebServer์ WAS์ ๋ํด์ ์ ๋ฆฌ๋ฅผ ํ์ต๋๋ค. ์ถ๊ฐ์ ์ผ๋ก Forward Proxy์ Reverse Proxy์ ๊ฐ๋ ๋ ๋์ค๋๋ฐ ์ด๋ฒ ์๊ฐ์๋ ์ด๋ฌํ ํ๋ก์์ ๊ฐ๋ ์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค. WebServer์ WAS์ ๋ํ ๊ฐ๋ ์ ์๋ ๊ฒ์๊ธ์์ ์ ๋ฆฌํ ์ ์ด ์์ผ๋ ์ฐธ๊ณ ํ์๋ฉด ์ข์ ๊ฒ ๊ฐ์ต๋๋ค. Web Server์ WAS์ ์ฐจ์ด ์๋ก ์น ์๋ฒ(Web Server)์ ์น ์ ํ๋ฆฌ์ผ์ด์ ์๋ฒ(Web Application Server)์ ํค์๋๋ง ๋๊ณ ๋ณด์์ ๋ ๋ ๊ฐ์ ์ฐจ์ด๊ฐ ๋ญ๊ฐ์ ๋ํด ํ์ ์๊ฒ ๋๋ต์ ๋ชปํ ๋ฟ๋๋ฌ ์์ง ์ดํด๊ฐ ์ ๊ฐ์ง ์์์ ํ๋ฒ ์ ๋ฆฌ๋ฅผ dkswnkk.tistory.com ๋จผ์ ํ๋ก์(Proxy)๋ผ๋ ์ฉ์ด์ ๋ํด ์์๋ณด๊ณ Forward Proxy์ Reverse .. 2022. 4. 18. URI, URL, ๊ทธ๋ฆฌ๊ณ URN ์๋ก URI์ URL์ ์ฐจ์ด๊ฐ ๋ฌด์์ผ๊น์? ์ฃผ์๋ URL์ด๋ผ๊ณ ๋ถ๋ฅด๋๋ฐ URI๋ ๋ฌด์์ ์๋ฏธํ๋์ง ๊ฐ์ด ์กํ์ง ์์์ ์ด๋ฒ ๊ฒ์๊ธ์ ์ ๋ฆฌํ๋ฉด์ URI์ URL์ ์ฐจ์ด์ ๋ํด ์์๋ณด๊ณ ๊ทธ๋ฆฌ๊ณ ์ถ๊ฐ๋ก URN์ ๋ํด์๋ ์์๋ณด๊ฒ ์ต๋๋ค. ๋ชฉ์ฐจ๋ ์๋์ ๊ฐ์ต๋๋ค. URI๋ ๋ฌด์์ธ๊ฐ? URL์ ๋ฌด์์ธ๊ฐ? URN์ ๋ฌด์์ธ๊ฐ? 1. URI(Unifrom Resource Identifier) URI(Unifrom Resource Identifier, URI)๋ ํตํฉ ์์ ์๋ณ์๋ก ์ธํฐ๋ท์ ์๋ ์์์ ๋ํ๋ด๋ ์ ์ผํ ์ฃผ์์ ๋๋ค. URI์ ์กด์ฌ๋ ์ธํฐ๋ท์์ ์๊ตฌ๋๋ ๊ธฐ๋ณธ ์กฐ๊ฑด์ผ๋ก์จ ์ธํฐ๋ท ํ๋กํ ์ฝ์ ํญ์ ๋ถ์ด ๋ค๋๋๋ค. ๋ํ URI๋ ๋ก์ผ์ดํฐ(locatior), ์ด๋ฆ(name) ๋๋ ๋ ๋ค ์ถ๊ฐ๋ก ๋ถ๋ฅ๋ ์ ์์ต๋๋ค. ํ.. 2022. 4. 16. ์ด์ 1 2 3 4 ๋ค์