๋ชฉ๋ก์ ์ฒด ๊ธ (244)
๐ค ์์งlog ๐ค
CRUD ๋ ๋๋ถ๋ถ์ ์ปดํจํฐ ์ํํธ์จ์ด๊ฐ ๊ฐ์ง๋ ๊ธฐ๋ณธ์ ์ธ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ๊ธฐ๋ฅ์ธ Create(์์ฑ), Read(์ฝ๊ธฐ), Update(๊ฐฑ์ ), Delete(์ญ์ ) ๋ฅผ ๋ฌถ์ด์ ์ผ์ปซ๋ ๋ง์ด๋ค. ์ฌ์ฉ์ ์ธํฐํ์ด์ค๊ฐ ๊ฐ์ถ์ด์ผ ํ ๊ธฐ๋ฅ(์ ๋ณด์ ์ฐธ์กฐ/๊ฒ์/๊ฐฑ์ )์ ๊ฐ๋ฆฌํค๋ ์ฉ์ด๋ก์๋ ์ฌ์ฉ๋๋ค.
์ฌ๋ฌ ๊ฐ์ ๋ ํ์งํ ๋ฆฌ๋ฅผ ์์ฑํด์ผ ํ๋ ์ผ์ด ์๊ฒผ๋๋ฐ, ๋ ํ์งํ ๋ฆฌ ์ด๋ฆ์ ์ด๋ป๊ฒ ์ง์ ๊ฒ์ธ๊ฐ์ ๋ํ ์๋ฌธ์ด ์์๋ค. ๊ทธ๋์ ๊ฒ์์ ํด๋ณธ๊ฒ๋ค์ ์์ฝํด์ ์ ๋ฆฌํ์๋ฉด ๋ ํ์งํ ๋ฆฌ ์ด๋ฆ์ ๋ถ์ผ ๋ ์ ํด์ผ ํ ๊ฒ์ ํฌ๊ฒ ์ธ๊ฐ์ง๊ฐ ์๋ค. 1. ์๋ฌธ์ 2. dash(hyphens) 3. ๊ตฌ์ฒด์ ์ผ๋ก ์์ฑ ๋ฆฌ์์น์ ๋ฐ๋ฅด๋ฉด ๊ฐ์ฅ ๋ง์ด ์ฐ์ด๋ ๊ตฌ๋ถ์๋ ํ์ดํ(-)์ด๋ค. ๋ด ๊ฐ์ธ์ ์ธ ์๊ฐ์ผ๋ก๋ ์๋ฌธ์๋ก๋ง ๋์ดํ๊ณ ํ์ดํ์ผ๋ก ๊ตฌ๋ถํ ๊ฒ์ด ๊ฐ๋ ์ฑ์ด ๊ฐ์ฅ ์ข์ ๊ฒ ๊ฐ๋ค. ํนํ ์ด๋ฆ์ด ๊ธธ์ด์ง๋ฉด ๊ธธ์ด์ง์๋ก ์นด๋ฉ์ผ์ด์ค๋ ํ์ค์นผ์ผ์ด์ค๋ ์ฝ๊ธฐ ์ด๋ ต๋ค. ์๋ฅผ ๋ค์ด, ํ๋ก์ ํธ๋ช -ํ๋ก์ ํธ๋ชฉํ-์ธ์ด ๊ฐ ๋ ์๋ ์๊ณ , ํ๋ ์์ํฌ๋, ํ์์ ์ค์ํ๊ฒ ์๊ฐํ๋ ์ด๋ค ์ ๋ณด๋ ๋ ์ ์๋ค. ์๋์ฌ์ง ์ฐธ๊ณ
Jenkins๋ก CI/CD Pipeline ๊ตฌ์ถํ๊ธฐ - ํตํฉ๋ณธ CI/CD ๋? CI ๋? ๊ฐ๋ฐ์๋ฅผ ์ํ ์๋ํ ํ๋ก์ธ์ค์ธ ์ง์์ ์ธ ํตํฉ ( Continuous Integration ) ์ดํ๋ฆฌ์ผ์ด์ ์ ์๋ก์ด ์ฝ๋ ๋ณ๊ฒฝ ์ฌํญ์ด ์ ๊ธฐ์ ์ผ๋ก ๋น๋/ ํ ์คํธ ๋์ด ๊ณต์ Repository์ (ex. git,github) ํตํฉํ code00.tistory.com โฌ๏ธ ๐๐ โฌ๏ธ CI/CD ๋? CI ๋? ๊ฐ๋ฐ์๋ฅผ ์ํ ์๋ํ ํ๋ก์ธ์ค์ธ ์ง์์ ์ธ ํตํฉ ( Continuous Integration ) ์ดํ๋ฆฌ์ผ์ด์ ์ ์๋ก์ด ์ฝ๋ ๋ณ๊ฒฝ ์ฌํญ์ด ์ ๊ธฐ์ ์ผ๋ก ๋น๋/ ํ ์คํธ ๋์ด ๊ณต์ Repository์ (ex. git,github) ํตํฉํ๋๊ฒ์ ์๋ฏธํ๋ค. ๋ค์์ ๊ฐ๋ฐ์๊ฐ ์์ ํ ๊ฒฝ์ฐ ๋ ํฌ์งํ ๋ฆฌ์ ์์ด..
dependencies ์ devDependencies ๋ ์ค์น ๋ฐฉ๋ฒ๋ถํฐ ๋ค๋ฅด๋ค. dependencies ๋ ์ผ๋ฐ์ ์ธ npm install (๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ช )์ ํตํด์ devDependencies ๋ npm install (๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ช ) --save-dev ํน์ npm install (๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ช ) -D ๋ก ์ค์นํ๊ฒ ๋๋ค. dependencies ์๋ ์ ํ๋ฆฌ์ผ์ด์ ๋์๊ณผ ์ฐ๊ด๋๊ฒ devDependencies ์๋ ์ ํ๋ฆฌ์ผ์ด์ ๋์๊ณผ ์ง์ ์ ์ธ ์ฐ๊ด์ ์์ง๋ง, ์ด๋ฆ ๊ทธ๋๋ก ๊ฐ๋ฐํ ๋ ํ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ค์นํ๋ฉด ๋๋ค. ์ด๋ ๊ฒ ๊ตฌ๋ถํด์ฃผ๋ ์ด์ ๋ ๊ฒฐ๊ตญ ๋ฐฐํฌํ ๋ ์ด๋ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ํฌํจ๋๋ ์ธ๊ฒ์ธ๋ฐ, dependencies ์ ์ค์น๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ๋ฐฐํฌํ ๋ ํฌํจ๋์ง๋ง devDependencies ์ ์ค์น๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ..
npmjs ๋ก publish๋ฅผ ์คํํ ๋ ์๋์ ๊ฐ์ด ์ค๋ฅ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค. npm ERR! code E402 npm ERR! 402 Payment Required - PUT https://registry.npmjs.org/@- You must sign up for private packages private package ๋ก ํผ๋ธ๋ฆฌ์ฑ ํ๋ ค๊ณ ํด์ ์ค๋ฅ๊ฐ ๋๋๊ฒ๋๋ค. ( private package๋ ์ ๋ฃ์๋น์ค ) --access=public ์ ์ถ๊ฐํ๋ฉด ํด๊ฒฐ๋ฉ๋๋ค. npm publish --access=public
๋งฅ๋ถ์ด๋ ์์ด๋งฅ(iMac) ๊ฐ์ Mac OS ์์ ์์คํ ๊ด๋ จ ์ฃผ์ ํ์ผ๋ค์ด๋, ํด๋ ๊ฐ์ ๋ฉํ ๋ฐ์ดํฐ๋ค์ ๋ณดํต ์จ๊น์ฒ๋ฆฌ๊ฐ ๋์ด์๋ค. ๐ฉ๐ป Mac ์จ๊นํ์ผ ๋ณด๋๋ฒ ๐ฉ๐ป Mac ์์ ํ์ธ๋ (Finder) ๋ฅผ ์ด๊ณ , ์จ๊นํ์ผ ์ด๋ ํด๋๋ฅผ ๋ณด๋ ค๋ฉด ๋จ์ถํค โโง. (Command + Shfit + . ) ๋ฅผ ์ฌ์ฉํ๋ฉด ์จ๊ฒจ์ ธ ์๋ ํ์ผ์ด๋ ํด๋๋ฅผ ๋ณผ์ ์๋ค. * ์จ๊นํด๋๋ ํ์ผ์ ์ด๋ฆ ์์ dot(.) ์ด ๋ถ๊ธฐ ๋๋ฌธ์ ๋จ์ถํค๋ ๋์ผํ๊ฒ " . "์ด ๋ค์ด๊ฐ๋ค๊ณ ์ดํดํ์๋ฉด ๋๋ค.
Github ์ ์๋ก์ด ๋ ํฌ์งํ ๋ฆฌ๋ฅผ ์์ฑํ๊ณ init ํด์ฃผ๋ ค๋๋ฐ xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun ๋ผ๋ ์๋ฌ ๋ฐ์ : Mac Os ์ ๊ทธ๋ ์ด๋ ํ ์์ฃผ ๋ฐ์ํ๋ ์๋ฌ๋ผ๊ณ ํ๋ค. โจ ํด๊ฒฐ ๋ฐฉ๋ฒ xcode-select --install ์ ๋ ฅํ๋ฉด tool ์ค์น ํ๋ผ๋ ๋ฉ์ธ์ง๊ฐ ๋ฌ๋ค. ๋ฐ๋ก ์ค์นํด์ฃผ๊ธฐ ์ค์น ์๋ฃ ํด์ฃผ๊ธฐ Git ์ด ์ ์๋ํ๋๊ฒ ํ์ธ โญ๏ธ โค๏ธ ๋์ ์ฃผ์ ๋ถ : https://www.hahwul.com/2019/11/18/how-to-fix-xcrun-error-aft..
๐ฃ REST API : ํ๋ก ํธ์๋ ์น์์ ์๋ฒ์ ๋ฐ์ดํฐ๋ฅผ ์์ฒญํ๊ฑฐ๋ (๋ฐฐ๋ฌ์ฑ์์ ์๋ฒ์ ์ฃผ๋ฌธ์ ๋ฃ๊ฑฐ๋ ๋ฑ) ์ด๋ฐ ์๋น์ค๋ค์์ ์ฌ์ฉ๋๋ ๊ฒ์ด REST ๋ ํ์์ API ์ด๋ค. ๊ฐ ์์ฒญ์ด ์ด๋ค ๋์์ด๋ ์ ๋ณด๋ฅผ ์ํ๊ฒ์ธ์ง๋ฅผ ๊ทธ ์์ฒญ์ ๋ชจ์ต ์์ฒด๋ก ์ถ๋ก ์ด ๊ฐ๋ฅํ๋ค. - ๋ ์คํธํํ๊ฒ ๋ง๋ API๋ ์์ฒญ์ ๋ณด๋ด๋ ์ฃผ์๋ง์ผ๋ก๋ ๋๋ต ์ด๊ฒ ๋ญ ํ๋ ์์ฒญ์ธ์ง ํ์ ์ด ๊ฐ๋ฅํ๋ค. ์๋ฒ์ REST API๋ก ์์ฒญ์ ๋ณด๋ผ๋๋ HTTP๋ผ๋ ๊ท์ฝ์ ๋ฐ๋ผ ์ ํธ๋ฅผ ์ ์กํ๋ค. ๐ฃ REST API ์์ ์ฃผ๋ก ์ฌ์ฉํ๋ ๋ฉ์๋ : GET : ๋ฐ์ดํฐ๋ฅผ Read, ์กฐํ POST : Create, ์๋ก์ด ์ ๋ณด ์ถ๊ฐ DELETE : Delete, ์ ๋ณด ์ญ์ PUT : Update, ์ ๋ณด๋ฅผ ํต์งธ๋ก ๋ณ๊ฒฝํ ๋ PATCH : Update, ์ ๋ณด๋ฅผ ์ผ๋ถ๋ง ๋ณ..
jQuery : ์ฌ๋ฌ ๋ธ๋ผ์ฐ์ ์์ ์๋ํ๋ ์ฌ์ฉํ๊ธฐ ์ฌ์ด API๋ฅผ ์ฌ์ฉํ์ฌ HTML ๋ฌธ์ ํ์ ๋ฐ ์กฐ์, ์ด๋ฒคํธ ์ฒ๋ฆฌ, ์ ๋๋ฉ์ด์ ๋ฐ Ajax์ ๊ฐ์ ์์ ์ ํจ์ฌ ๋ ๊ฐ๋จํ๊ฒ ๋ง๋๋ JavaScript ๋ผ์ด๋ธ๋ฌ๋ฆฌ Using jQuery with a CDN : AJAX ( Asynchronous JavaScript and XML ) : ์๋ฒ์ ํต์ ํ๊ธฐ ์ํด XML Http Request ๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ๋งํ๋ค. JSON XML HTML ์ผ๋ฐ ํ ์คํธ ํ์ ๋ฑ์ ํฌํจํ ๋ค์ํ ํฌ๋งท์ ์ฃผ๊ณ ๋ฐ์ ์ ์๋ค. AJAX๋ ๋น ๋ฅด๊ฒ ๋์ํ๋ ๋์ ์ธ ์น ํ์ด์ง๋ฅผ ๋ง๋ค๊ธฐ ์ํ ๊ฐ๋ฐ ๊ธฐ๋ฒ์ ํ๋์ด๋ฉฐ, AJAX์ ๊ฐ๋ ฅํ ํน์ง์ ์น ํ์ด์ง ์ ์ฒด๋ฅผ ๋ฆฌํ๋ ์ฌ ํ์ง ์๊ณ ๋ ์น ํ์ด์ง์ ์ผ๋ถ๋ถ๋ง์ ๊ฐฑ์ ํ ์ ์๋ค. ์ฆ Ajax๋ฅผ ..
Install on Linux docs.docker.com ๊ณต์ ๋ฌธ์ ๋ก ์ค์น๊ฐ ์๋ ๊ฒฝ์ฐ ์ฐธ๊ณ โฌ Linux์ Docker Compose ์ค์น 1. ์ค์น Docker Compose๋ ์์ ์ ์ํด Docker Engine์ ์ฌ์ฉํ๋ฏ๋ก ๋ก์ปฌ ๋๋ ์๊ฒฉ์ Docker Engine์ด ์ค์น๋์ด ์์ด์ผ ํ๋ค. dejavuhyo.github.io docker compose : ๋์ปค ์ด๋ฏธ์ง๋ก ๋ง๋ค์ด์ง ์ปจํ ์ด๋๋ค์ ๋ง๋ค๊ณ ์คํํ ๋ ์ฐ๋ฆฌ๋ ํฌํธ๋ผ๋์ง ์ฌ๋ฌ ์ต์ ๋ค์ ๊ธฐ์ตํ๊ณ ์์ด์ผํ๊ณ ๋ง์ผ ํ๋๊ฐ ์๋๋ผ ์ฌ๋ฌ ์ปจํ ์ด๋๋ค์ ๊ด๋ฆฌ๋ฅผ ํด์ผ๋๋ค๊ณ ํ๋ฉด ์ฌ๊ฐ ๋ถํธํ์ผ์ด ์๋ ์ ์๋ค. ํ๋์ ์ค์ ํ์ผ๋ก ๊ด๋ฆฌํ ์ ์๋๋ก, ์กฐ๊ธ ๋ ์ฌ์ฉ์์๊ฒ ํธ๋ฆฌํ๋๋ก ์ ๊ณตํ๋๊ฒ์ด docker์ ๊ธฐ๋ฅ ์ค ํ๋์ธ docker compose ์ด๋ค. ๐ฉ..