๋ถ๋ฅ ์ ์ฒด๋ณด๊ธฐ213 [Git&Github] Git ์ ๋ฆฌ-4 (branch, merge) 1. git branch ํ๋ก์ ํธ ์งํ ์ค ์๋ก์ด ๊ธฐ๋ฅ์ ์ถ๊ฐํ๊ฑฐ๋ ๊ธฐ์กด์ ๊ธฐ๋ฅ์ ์ ๊ทธ๋ ์ด๋ ํด์ผํ๋ ๊ฒฝ์ฐ๊ฐ ์์ ๊ฒ์ด๋ค. ์ด๋ ๊ธฐ์กด ํ์ผ์ ๊ทธ๋๋ก ์์ ํ๋ ๊ฒ๋ ๊ด์ฐฎ์ง๋ง ์์ ๋์ค ํ๋ก๊ทธ๋จ ์์ฒด๊ฐ ๋ง๊ฐ์ ธ๋ฒ๋ฆด ์๋ ์๋ ๋ฆฌ์คํฌ๋ฅผ ์๊ณ ์์ด์ผํ๋ค. ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด์๋ ํ๋ก์ ํธ์ ๋ณต์ฌ๋ณธ์ ์์ฑํด์ ๊ฐ๋ฐํ๋ ๋ฐฉ๋ฒ์ด ์์ ๊ฒ์ด๋ค. git์ branch ๊ธฐ๋ฅ์ ์์ฝ๊ฒ ๋ณต์ฌ๋ณธ์ ์์ฑํด์ค๋ค. ์ฌ์ฉ๋ฒ git branch ๋ธ๋์น๋ช ์ ๋ช ๋ น์ด๋ก ๋ธ๋์น๋ฅผ ์์ฑํ๋ฉด ํ๋ก์ ํธ์ ์ฌ๋ณธ์ด ํ๋ ์์ฑ๋๋ค. git switch ๋ธ๋์น๋ช ์์ฑํ ๋ธ๋์น๋ก ๋ณ๊ฒฝํ๋ฉด ์ฌ๋ณธ์์ ์์ ์ ํ ์ ์๋ ์ํ๋ก ๋ณ๊ฒฝ๋๋ค. ์์ 1 sub๋ผ๋ branch๋ฅผ ์์ฑํ ํ ๋ณ๊ฒฝํ์๋ค. git status๋ฅผ ์ ๋ ฅํ๋ฉด ํ์ฌ ์ด๋ ํ branch์์ ์์ ์ค์ธ์ง.. 2023. 10. 29. [Git&Github] Git ์ ๋ฆฌ-3 (.gitignore) Git์ ํ์ฌ ๋๋ ํ ๋ฆฌ์ ๋ชจ๋ ํ์ผ๋ค์ ์ถ์ ํ ์ ์๋๋ฐ ์ด๋ ๊ตณ์ด ํ ํ์๊ฐ ์๋ ๊ฒ ํน์ ๊ผญ ๋ฐฐ์ ํด์ผํ ๊ฒ๋ค์ด ์กด์ฌํ ์ ์๋ค. ํ์๊ฐ ์๋ ๊ฒ๋ค : ์๋์ผ๋ก ์์ฑ๋๋ ๊ฒ๋ค or ๋ค์ด๋ก๋๋๋ ๊ฒ๋ค (buildํ์ผ, ๋ผ์ด๋ธ๋ฌ๋ฆฌ) ๋ฐฐ์ ํด์ผํ๋ ๊ฒ๋ค : ๋ณด์์์ผ๋ก ์ค์ํ ํ์ผ๋ค ์ด๋ด ๋์๋ .gitignore ํ์ผ์ ์ฌ์ฉํ์ฌ ๋ฐฐ์ ํ ์์๋ค์ ๋ฏธ๋ฆฌ ์ง์ ํด๋์ ์ ์๋ค. 1. ์ฌ์ฉํ๊ธฐ ๋จผ์ ์ค์ํ ํ์ผ์ด ์๋ค๊ณ ๊ฐ์ ํด๋ณด์. git status๋ฅผ ํตํด ํ์ธํด๋ณด๋ฉด ์๋์ ๊ฐ๋ค. ์ด์ .gitignore ํ์ผ์ ์์ฑํ ๋ค ์๋์ ๊ฐ์ ๋ด์ฉ์ ์ฝ์ ํ๋ค. secret.txt ๋ค์ git status๋ฅผ ํ์ธํด๋ณด๋ฉด secret.txt๊ฐ ๋์ด์ ์ถ์ ๋์ง ์๋๋ค. ์ด๋ฌํ ๋ฐฉ์์ผ๋ก ๋ฐฐ์ ํ ์์๋ค์ ๋ฑ๋กํด๋์ ์ ์๋ค. 2. ์ถ.. 2023. 10. 29. [Git&Github] Git ์ ๋ฆฌ-2 (w.VSCode, diff) 0. VSCode์์ ๊น ํ์ฉํ๊ธฐ ํฐ๋ฏธ๋์ด ์๋ VSC์์๋ git์ ํธํ๊ฒ ํ์ฉํ ์ ์๋ค. 1) git ๊ธฐ๋ณธ ์๋ํฐ๋ฅผ VSCode๋ก ๋ฐ๊พธ๊ธฐ git config --global core.editor "code --wait" ๋งฅ์ ๊ฒฝ์ฐ git ๊ธฐ๋ณธ ์๋ํฐ๊ฐ vi ์ฆ, ๊ธฐ๋ณธ ํฐ๋ฏธ๋๋ก ์ค์ ๋์ด์๋๋ฐ ์์ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ๋ฉด VSC๋ฅผ ๊ธฐ๋ณธ ์๋ํฐ๋ก ์ง์ ํ ์ ์๋ค. 2) VSC์์ git add commit ์ผ์ชฝ ํจ๋์ ์์นํ Source Control์ ํด๋ฆญํ๋ฉด ํ์ฌ ๋๋ ํ ๋ฆฌ์ ์์นํ ํ์ผ๋ค์ ๋ณํ์ ๋ํด์ ์ถ์ ํ ๊ฒ์ ๋ณผ์ ์๋ค. ๋ํ + ๋ฒํผ์ผ๋ก git add๋ฅผ ์ํํ ์ ์๊ณ ์ฒดํฌ ๋ฒํผ์ผ๋ก git commit์ ํ ์ ์๋ค. ํ์ผ ๊ตฌ์กฐ๊ฐ ๋ณต์กํ๊ฑฐ๋ ๋ง์ ๋ณ๊ฒฝ์ฌํญ ์ค ์ผ๋ถ๋ง repo์ ๋ฑ๋กํ๊ณ ์ถ์ ๊ฒฝ์ฐ .. 2023. 10. 28. [Git&Github] Git ์ ๋ฆฌ-1 (์ต์ด์ค์ , add, commit, status, log) 0. git์ด ํ์ํ ์ด์ ์ฝ๋๋ฅผ ์์ฑํ๋ ๋์ค ์ด์ ์ ์์ฑํ๋ ๊ฒ์ผ๋ก ๋๋์ ๊ฐ๊ณ ์ถ์๋๊ฐ ์์ ๊ฒ์ด๋ค. ์ด๋ด๋ ํ์ผ์ ๋ฐฑ์ ํด๋๋ ๊ฒ๋ ์ข์ง๋ง ๋ฒ์ ๊ด๋ฆฌ ์ํํธ์จ์ด๋ฅผ ์ฌ์ฉํ๋ฉด๋๋ค. ๋ฒ์ ๊ด๋ฆฌ ์ํํธ์จ์ด(VCS) ์ค ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉํ๋ ๊ฒ์ด ๋ฐ๋ก git์ด๋ค. ์ฅ์ 1. ํ๋ก์ ํธ์ ์๊ฐ๊ณผ ์ฐจ์์ ์์ ๋กญ๊ฒ ํด์ค๋ค. git์ ์ด์ฉํ๋ฉด ํ๋ก์ ํธ์ ๋ฒ์ ์ ๊ณผ๊ฑฐ๋ก ๋๋๋ฆฌ๊ฑฐ๋ ํน์ ํ ๋ด์ญ์ ์ทจ์ํ๋ ๊ฒ์ด ๊ฐ๋ฅํ๋ค. ๋ํ ์ฌ๋ฌ ๋ชจ๋๋ฅผ ์ฝ๊ฒ ์ ํํ๊ณ ๊ด๋ฆฌํ๊ฑฐ๋ ์ฌ๋ฌ ๋ชจ๋๋ฅผ ํฉ์น๋ ๊ฒ์ด ๊ฐ๋ฅํ๋ค. ์ฅ์ 2. ํ๋ก์ ํธ ํ์ ์ ์์ฃผ ํธ๋ฆฌํ๋ค. ์ฌ๋ฌ ์ฌ๋์ด ํ๋์ ํ๋ก์ ํธ๋ฅผ ์์ ํ ๋ ๊ฐ์ ์์ ์ด ๋งก์ ๋ถ๋ถ์ ์์ ํ๊ณ ํ๋์ ๋ฉ์ธ ํ๋ก์ ํธ์ ํฉ์น๋ ๊ฒ์ด ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ ํ์ ์ ์์ฃผ ํธ๋ฆฌํ๊ฒ ์ฌ์ฉํ ์ ์๋ ํด์ด๋ค. 1. CLI .. 2023. 10. 28. [NodeJS+Express] 13. formํ๊ทธ์์ PUT, DELETE ์์ฒญํ๊ธฐ & MongoDB ์์ ๋ฌธ๋ฒ + form ํ๊ทธ๋ฅผ ๊ทธ๋๋ก ์ฌ์ฉํ๋ฉด GET, POST ์์ฒญ๋ง ๊ฐ๋ฅํ๋ค. ํ์ง๋ง PUT, DELETE ๋ฑ์ ํ์ฉํ๋ฉด ๋ ์ข์ API์ ๊ธฐ์ค์ ๋ถํฉํ ์ ์์ ๊ฒ์ด๋ค. ์ด๋ฅผ ๊ฐ๋ฅํ๊ฒ ํ๋ ๋ฐฉ๋ฒ์ ๋ํด์ ์์๋ณด์! 1. method-override method-override ๋ผ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ด์ฉํ๋ฉด ๊ฐ๋ฅํ๋ค. ์ค์น npm install method-override import //server.js const methodOverride = require('method-override') app.use(methodOverride('_method')) ์๋ฒํ์ผ ์ต์๋จ์ ์ ์ฝ๋๋ฅผ ์์ฑํด์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก๋ถํฐ ํ์ํ ๊ฒ๋ค์ ๊ฐ์ ธ์จ๋ค. 1) form ํ๊ทธ ์์ //edit.ejs ... ?_method=PUT ์ act.. 2023. 10. 15. [NodeJS+Express] 12. ๊ธ ์์ ๊ธฐ๋ฅ ๋ง๋ค๊ธฐ ์ด๋ฒ์๋ ๊ธ์ ์์ ํ๋ ๊ธฐ๋ฅ์ ๊ตฌํํด๋ณด์. 0. ๋ค์ด๊ฐ๊ธฐ์ ๊ธ์ ์์ ํ๋ ๊ณผ์ ์ ์์ฝํด๋ณด๋ฉด ์๋์ ๊ฐ๋ค. 1) ๊ธ ๋ง๋ค ์กด์ฌํ๋ ์์ ๋ฒํผ ํด๋ฆญ 2) ์์ ํ์ด์ง์์ ๊ธ ์์ (์์ ๋์ ํ์ด์ง์ ๋ด์ฉ์ด ๊ธฐ์ ๋์ด์์) 3) ์์ ์๋ฃ ๋ฒํผ ๋๋ฅด๋ฉด DB์ ๋ฐ์ดํฐ ์ ์ก ํ ์์ ์๋ฃ ์ด๋ฌํ ๊ณผ์ ์ ๊ฑฐ์ณ ๊ตฌํ์ ํด๋ณด์! 1. ์์ ๊ธฐ๋ฅ ๋ง๋ค๊ธฐ 1) ์์ ํ์ด์ง (1) ์๋ฒํ์ผ ์ธํ ์์ ํ์ด์ง์ ๋ค์ด๊ฐ๊ฒ ๋๋ฉด ์์ ๋์์ธ ๋ฐ์ดํฐ๊ฐ ๊ธฐ์ ๋์ด์๋ค. //server.js app.get('/edit/:num', async(request, response) => { try { let result = await db.collection('post').findOne({_id : new ObjectId(request.params.. 2023. 10. 15. [NodeJS+Express] 11. URLํ๋ผ๋ฏธํฐ (์์ธํ์ด์ง ๋ง๋ค๊ธฐ) ์ด๋ฒ์๋ URL ํ๋ผ๋ฏธํฐ ๋ฌธ๋ฒ์ ์ด์ฉํด ์์ธํ์ด์ง๋ฅผ ์ ์ํด๋ณด์. 0. ์์ธํ์ด์ง ํํ ์ง๊ธ๊น์ง๋ ๋ฃจํธ('/')์์ ์ง์ ์ ์ํ๋ ํ์ด์ง๋ค์ ์ ์ํ๋ค๋ฉด ์์ธํ์ด์ง๋ /parent/child/... ์ ํํ์ด๋ค. ์ด๊ฒ์ ์ด์ฉํ๋ฉด url์ ์ผ๊ด์ฑ์ ๋ถ์ฌํ ์ ์๊ณ ์กฐ๊ธ ๋ ๊ฐ๊ฒฐํ๊ฒ ์ฌ์ดํธ๋ฅผ ๊ตฌ์ฑํ ์ ์์ ๊ฒ์ด๋ค. ์์ธํ์ด์ง๋ฅผ ๊ตฌํํ๊ธฐ ์ํด์ ์ด๋ป๊ฒ ํด์ผํ ๊น? /page/detail1, /page/detail2, ... ์ด๋ ๊ฒ ํ๋์ฉ ๋ง๋ค์ด๋ ๊ฐ๋ฅํ์ง๋ง, ํ์ด์ง ์๋งํผ ๋ง๋ค์ด์ผํ๋ ๊ฒ์ ๋๋ฌด๋๋ ๋นํจ์จ์ ์ด๋ค. ์ด๊ฒ์ ๊ฐํธํ๊ฒ ๊ตฌํํ๋ ๋ฐฉ๋ฒ์ ์ฌ๋ฟ์์ง๋ง ๊ทธ์ค ํ๋๊ฐ ๋ฐ๋ก URL ํ๋ผ๋ฏธํฐ ๋ฌธ๋ฒ์ด๋ค. 1. URL ํ๋ผ๋ฏธํฐ ๋ฌธ๋ฒ ํํ /๋ถ๋ชจurl/:์์url ์์ ๊ฐ์ด /:์์url ์ด URLํ๋ผ๋ฏธํฐ ๋ฌธ๋ฒ์ด๋ค. ์ด๋ฅผ.. 2023. 10. 15. [NodeJS+Express] 10. ๊ธ ์์ฑ๊ธฐ๋ฅ ๋ง๋ค๊ธฐ (MongoDB ๋ฐ์ดํฐ ์ฝ์ ) ์ด๋ฒ์๋ ๊ธ ์์ฑ ๊ธฐ๋ฅ์ ๋ง๋ค์ด๋ณด์! 0. ์์ํ๊ธฐ์ .. ๋จผ์ ๊ธ ์์ฑ๊ธฐ๋ฅ์ ๋ง๋๋ ค๋ฉด ์ด๋ป๊ฒ ํด์ผํ ๊น? ํด๋ผ์ด์ธํธ๊ฐ ์์ฑํ ๊ธ์ ์๋ฒ์ post ์์ฒญ์ ํ๋ฉด ์๋ฒ๋ ๊ทธ ๋ฐ์ดํฐ๊ฐ ์ฌ๋ฐ๋ฅธ ํ์์ธ์ง ํ์ธ์ ํ ํ, ์ด์์ด ์๋ค๋ฉด DB์ ๋ฑ๋ก์ ํ ์ ์๋๋ก ํด์ฃผ์ด์ผํ ๊ฒ์ด๋ค. (์ ์ ๊ฐ ์ง์ DB๋ฅผ ๊ฑด๋๋ฆฌ๋๋ก ํด์๋ ์๋ ๊ฒ์ด๋ค..) 1. ๊ธ ์์ฑ๊ธฐ๋ฅ ๋ง๋ค๊ธฐ 1) ํ์ผ ์์ฑ ๊ธ์ ์์ฑํ form์ ๋ด์ ํ์ผ์ ํ๋ ์์ฑํ ๋ค ์๋ฒ์ ๋ฑ๋กํด์ค๋ค. //write.ejs ... //server.ejs app.get('/write', (request, response) => { response.render('write.ejs'); }) 2) ํ์ผ ์ค์ ๊ธ์ ์์ฑํด์ ๋ณด๋ด๊ธฐ ์ํ ์ค์ ์ ํด์ฃผ์ด์ผํ๋ค. (1) EJSํ์ผ .. 2023. 10. 14. [NodeJS+Express] 9. RESTful API๋? ์ฌ์ฉ์๋ก๋ถํฐ ๋ฐ์ดํฐ๋ฅผ ์ ๋ ฅ๋ฐ์ DB์ ์ ์ฅํ๋ ๊ธฐ๋ฅ์ ๊ตฌํํ๊ธฐ ์ ์ RESTful API ์ ๋ํ ๊ฐ๋ ์ ์์๋ณด์! 1. ์๋ฒ๋ก์ ์์ฒญ ์๋ฒ๋ '์์ฒญ'์ ๋ฐ๋ฅธ ์ฒ๋ฆฌ๋ฅผ ํ๋ ํ๋ก๊ทธ๋จ์ผ๋ก ํ ์ค ์์ฝํ ์ ์๋ค. ์ด๋ ์์ฒญ์ ์๋ฌด๋ฐ ๋ฐฉ์์ผ๋ก ํ๋ ๊ฒ์ด ์๋ ์ ํด์ง ํ์์ ๋ฐ๋ผ์ผ ํ๋ค. ๋ง์ฝ ์ ์ ๊ฐ ์๋ฒ์ ์์ฒญ์ ํ ๋์๋ method ์ url ์ ์ ํํ๊ฒ ๋ช ์ํด์ผํ๋ค. 1) method์ ์ข ๋ฅ GET : ๋ฐ์ดํฐ ๋ฐ๊ธฐ ์์ฒญ POST : ๋ฐ์ดํฐ ๋ณด๋ด๊ธฐ ์์ฒญ UPDATE, PUT : ๋ฐ์ดํฐ ์์ ์์ฒญ DELETE : ๋ฐ์ดํฐ ์ญ์ ์์ฒญ ... ์ฃผ๋ก ์ฌ์ฉํ๋ method์ ์ข ๋ฅ๋ ์์ ๊ฐ๋ค. 2) URL /path๋ช ๊ณผ ๊ฐ์ ์๋ฒ์ ๋ฑ๋ก๋์ด์๋ url์ ์์ฒญํด์ผํ๋ค. url์ endpoint ๋ผ๊ณ ํํํ๊ธฐ๋ ํ๋ค. .. 2023. 10. 11. ์ด์ 1 2 3 4 5 ยทยทยท 24 ๋ค์