๐ Study
GIt pull error
๊ฐ๋ ๊ฐ๋ค git์์ ์์ ํ๊ฑฐ๋ฅผ pull ํ ๋ ์๋ฌ๊ฐ ๋ฌ๋ค ๋ฌธ์ git์ ์ฌ์ฉํ๋ค๋ณด๋ฉด ์ฌ๋ฌ ๋ณ๊ฒฝ๋ด์ญ์ด ์๊ธฐ๊ฒ ๋ฉ๋๋ค. ์๋ฅผ ๋ค๋ฉด ๋ด ๋ก์ปฌ์์ ๋ณ๊ฒฝ๋ ๋ด์ญ์ ์์ง commit์ ํ์ง ์์ ์ํ๋ก pull์ ํ๊ฒ ๋๋ฉด, ์ถฉ๋์ด ๋ฐ์ํ๊ฒ ๋์ด ์ด๋ณด์์๊ฒ๋ ๋๊ฐํ ์ํฉ์ด ๋ฉ๋๋ค. ์ด๋ฐ ๊ฒฝ์ฐ์ git stash ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ์๋ฉด ํธ๋ฆฌํฉ๋๋ค. $ git add . git stash : ์คํ ์ด์๋ก ์์ ํ๊ฒ ๋ณด๊ด $ git stash $ git pull origin branch name
Spring์ด๋?
1. ์คํ๋ง(Spring)์ด๋? 1.1 ์คํ๋ง์ ๊ฐ๋ Spring Logo Spring์ ๋ฌด์์ผ๊น์? ์คํ๋ง์ ์๋ฐ ๊ธฐ๋ฐ์ ์น ์ดํ๋ฆฌ์ผ์ด์ ์ ๋ง๋ค ์ ์๋ ํ๋ ์์ํฌ์ ๋๋ค. spring.io ์ฌ์ดํธ์์ ํ์ธํ๋ฉด ์คํ๋ง ํ๋ ์์ํฌ๋ ํ๋ ์๋ฐ ๊ธฐ๋ฐ์ ์ํฐํ๋ผ์ด์ฆ ์ดํ๋ฆฌ์ผ์ด์ ์ ์ํ ํ๋ก๊ทธ๋๋ฐ ๋ฐ Configuration Model ์ ๊ณตํ๋ค๋ผ๊ณ ์ธ๊ธํ๊ณ ์์ต๋๋ค. Python์ ์ด์ฉํ Django, Ruby๋ฅผ ์ด์ฉํ Ruby on Rails, Javascript๋ฅผ ์ด์ฉํ Node.js ๊ธฐ๋ฐ์ ์น ์๋ฒ ๊ฐ๋ฐ๊ณผ ๊ฐ์ด Java ๊ฐ๋ฐ์๋ค์ Spring์ ์ฌ์ฉํ์ฌ ์น ์๋น์ค๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค. Spring ์ ์๋ง์ ๊ตญ๋ด ๊ธฐ์ ๊ณผ ํด์ธ ๊ธฐ์ ์์ ๋งค์ฐ ๋ง์ ์๋น์ค๋ฅผ ๋ง๋ค ๋ ์ฌ์ฉ๋๊ณ ์์ต๋๋ค. ์๋ฐ ๋ฐฑ์๋ ๊ฐ๋ฐ์๋ ์น..
์คํ๋ง(Spring)์์ ์์ฃผ ์ฌ์ฉํ๋ Annotation ๊ฐ๋ ๋ฐ ์์ ์ ๋ฆฌ
1. Annotation์ด๋? Spring์์๋ Annotation์ ๋ง์ด ์ฌ์ฉํฉ๋๋ค. Annotation์ ์ญํ ์ ์๋์ ๊ฐ์ต๋๋ค. ๊ด๋ จ ์ค๋ช ์ ์คํ๋ง ๋น(Spring Bean)์ด๋? ๊ฐ๋ ์ ๋ฆฌ ๋งํฌ๋ฅผ ์ฐธ์กฐํด์ฃผ์ธ์. JAVA์์ Annotation ์ด๋ผ๋ ๊ธฐ๋ฅ์ด ์์ต๋๋ค. ์ฌ์ ์์ผ๋ก๋ ์ฃผ์์ ์๋ฏธ์ด์ง๋ง Java ์์๋ ์ฃผ์ ์ด์์ ๊ธฐ๋ฅ์ ๊ฐ์ง๊ณ ์์ต๋๋ค. Annotation์ ์๋ฐ ์์ค ์ฝ๋์ ์ถ๊ฐํ์ฌ ์ฌ์ฉํ ์ ์๋ ๋ฉํ๋ฐ์ดํฐ์ ์ผ์ข ์ ๋๋ค. ์์ค์ฝ๋์ ์ถ๊ฐํ๋ฉด ๋จ์ ์ฃผ์์ ๊ธฐ๋ฅ์ ํ๋ ๊ฒ์ด ์๋๋ผ ํน๋ณํ ๊ธฐ๋ฅ์ ์ฌ์ฉํ ์ ์์ต๋๋ค. Annotation์ ํด๋์ค์ ๋ฉ์๋์ ์ถ๊ฐํ์ฌ ๋ค์ํ ๊ธฐ๋ฅ์ ๋ถ์ฌํ๋ ์ญํ ์ ํฉ๋๋ค. Annotation์ ํ์ฉํ์ฌ Spring Framework๋ ํด๋น ํด๋์ค๊ฐ ์ด๋ค ..
DAO, DTO, VO ๋?
spring์ ์ฌ์ฉํ๋ค๋ณด๋ฉด DTO, DAO, VO์ ๋ํ ์ฉ์ด์ ๋ํ์ฌ ๋ง์ด ์ ํ๊ฒ ๋ฉ๋๋ค. ํด๋น ๊ฐ๋ ์ ๋ํ์ฌ ๊ฐ๋จํ๊ฒ ์ ๋ฆฌํด๋ณด์์ต๋๋ค. DAO(Data Access Object) DAO(Data Access Object) ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ data์ ์ ๊ทผํ๊ธฐ ์ํ ๊ฐ์ฒด์ ๋๋ค. DataBase์ ์ ๊ทผ ํ๊ธฐ ์ํ ๋ก์ง & ๋น์ง๋์ค ๋ก์ง์ ๋ถ๋ฆฌํ๊ธฐ ์ํด ์ฌ์ฉํฉ๋๋ค. - Database ์ ๊ทผ์ ์ํ ๊ฐ์ฒด์ด๋ค. - Data ์ฝ์ (INSERT), ์์ (UPDATE), ์ญ์ (DELETE), ์กฐํ(SELECT)๋ฅผ ์กฐ์/์ํํ๋ค. - ๋ณดํต DB์ ์ฐ๊ฒฐํ Connection๊น์ง ์ค์ ํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค. DTO DTO(Data Transfer Object) ๋ ๊ณ์ธต ๊ฐ ๋ฐ์ดํฐ ๊ตํ์ ํ๊ธฐ ์ํด ์ฌ์ฉํ๋ ๊ฐ์ฒด๋ก, DTO๋ ..
[Spring Boot] ํ๋ก์ ํธ ๊ตฌ์กฐ ์์๋ณด๊ธฐ
spring boot๋ก ๊ฒ์ํ์ ๋ง๋ค๋ค๊ฐ ๊ตฌํ ์์ฃผ๋ก ์์ ์ ํ๊ณ ์๋๋ฐ ์, ์ด๋ป๊ฒ ๋์ ๊ฐ๋์ง ๊ถ๊ธํด์ ๊ตฌ์กฐ๋ฅผ ์์๋ณด๊ณ ์ ํ๋ค. 1. src/main/java ๋๋ ํ ๋ฆฌ (์ ์ผ ์ค์) ํ ๋ธ๋ก๊ทธ์์ ๋ช ํํ๊ฒ ์ ๋ฆฌํด์ค ๊ฒ ๊ฐ์ ์ฐธ๊ณ ์ฉ์ผ๋ก ๋จผ์ ์ ์ํฉ๋๋ค. ์ปจํธ๋กค๋ฌ : @Controller (ํ๋ ์ ํ ์ด์ ๋ ์ด์ด, ์น ์์ฒญ๊ณผ ์๋ต์ ์ฒ๋ฆฌํจ) ๋ก์ง ์ฒ๋ฆฌ : @Service (์๋น์ค ๋ ์ด์ด, ๋ด๋ถ์์ ์๋ฐ ๋ก์ง์ ์ฒ๋ฆฌํจ) ์ธ๋ถI/O ์ฒ๋ฆฌ : @Repository (ํผ์์คํด์ค ๋ ์ด์ด, DB๋ ํ์ผ๊ฐ์ ์ธ๋ถ I/O ์์ ์ ์ฒ๋ฆฌํจ) Controller ์ ์ฌ์ง์ ์น ์๋ฒ๊ฐ ํด๋ผ์ด์ธํธ์ ์ํตํ ๋ ์ด๋ค ๋ก์ง์ ๊ฑฐ์ณ์ ์ ๋ณด๊ฐ ์ ๋ฌ์ด ๋๋์ง์ ๋ํ ๊ทธ๋ฆผ์ ๋๋ค. ๊ฐ์ฅ ์์ชฝ์ ๋ณด๋ฉด front-end์์ ๋ค์ด์ค๋ ํด๋ผ์ด์ธํธ ์ธก..
GitHub ํ๋ก์ ํธ ๊ฐ์ ธ์ค๊ธฐ [pull, fetch, clone]
๊นํ๋ธ ์๊ฒฉ์ ์ฅ์์ ์๋ ํ๋ก์ ํธ๋ฅผ ๋ก์ปฌ์ ์ฅ์๋ก ๊ฐ์ ธ์ค๋ ๋ฐฉ๋ฒ์ 3๊ฐ์ง๊ฐ ์๋ค.1. git push2. git fetch3. git clone์ด ์ฒ๋ผ ํ๋์ ์ปดํจํฐ๊ฐ ์๋ ์ฌ๋ฌ ๋์ ์ปดํจํฐ์์ ์๊ฒฉ์ ์ฅ์์ ๋ด์ฉ์ ๊ทธ๋๋ก ๊ฐ์ ธ์ค๋ ๋ฐฉ๋ฒ์ ์ค๋ช ํ๊ฒ ์ต๋๋ค.์์ง ๊นํ๋ธ ์ ์ฅ์๋ฅผ ๋ง๋ค์ง ์์ ์ฌ๋์ด๋ผ๋ฉด ์๋ ํฌ์คํ ์ ์ฐธ๊ณ ! ๐ฃ git pull = git fetch + git mergepull๊ณผ fetch์ ์ฐจ์ด์ ์ ๋ณํฉ์ ํ๋ ์ ํ๋์ ์ฐจ์ด๋ค.1. git pull ?์๊ฒฉ์ ์ฅ์์ ์๋ ํ๋ก์ ํธ์ ๋ณ๊ฒฝ์ฌํญ์ ๊ทธ๋๋ก ๋ก์ปฌ์ ์ฅ์์ ์ฎ๊ฒจ์ ์๋์ผ๋ก ๋ณํฉํ ๋จ์๋ก ์ฌ์ฉํ๋ ๊ณ์ ์ด ์๋ ๊ฐ์ธ์ ์ผ๋ก ๊นํ๋ธ๋ฅผ ์ฌ์ฉํ๋ ์ฌ๋๋ค์ด๋ผ๋ฉด git pull ๋ช ๋ น์ด๋ฅผ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉํ ๊ฒ์ด๋ค."๋ณ๊ฒฝ ์ฌํญ์ ๊ฐ์ ธ์ด๊ณผ ๋์์ ์๋์ผ๋ก ๋ณํฉ์ด..
Git ์ฌ์ฉ ๋ฐฉ๋ฒ ์ ๋ฆฌ(commit, push, pull request, merge ๋ฑ)
Git git ๊ฐ๋ ๋ฐ ๋ช ๋ น์ด ์ ๋ฆฌ ๊ฐ์ธ ๊ฐ๋ฐ์ ๋์ด, ๊ณต๋ ๊ฐ๋ฐ์์ ํจ์จ์ ์ธ ์ฝ๋ ํ์ ๊ด๋ฆฌ๋ฅผ ํ๊ธฐ ์ํจ. Git ์์ญ (1) Working Directory (Local) : ๊ฐ์ธ ์ฝ๋ ์์ฑ (2) Staging ์์ญ :โ git add ๋ฅผ ํตํด์ ์์ ๋ ์ฝ๋๋ฅผ ์ฌ๋ฆฌ๋ ์์ญ (3) Repository : โ git commit ์ ํตํด์ ์ต์ข ์์ ๋ณธ์ ์ ์ถ Git ์์ ํ๋ก์ฐ ๋จผ์ ํฐ๋ฏธ๋์ git์ ์ค์นํฉ๋๋ค. linux (Ubuntu) ๊ธฐ์ค $ sudo apt install git-all (1) ์ ์ฅ์(Repository) ์์ฑ ์ํ๋ ํด๋ ๋ค์ด๊ฐ ํ $ git init ๋๋ ๊ธฐ์กด github์ ์๋ ์ ์ฅ์๋ฅผ ๋ด ๋ก์ปฌ๋ก ๋ณต์ ํ ์๋ ์์ต๋๋ค. $ git clone (git ์ ์ฅ์์ URL) (2) ..
git์ผ๋ก ์ฝ๋ ๊ฐ์ ธ์ค๊ธฐ
git์ผ๋ก ์ฝ๋ ๊ฐ์ ธ์ค๋ ๋ฐฉ๋ฒ๋ ๋ชจ๋ฅด๊ณ ์ผ์ผ์ด ๋ณต๋ถํ๋๋ฐ ๊ทธ๋ฐฉ๋ฒ๋ณด๋ค ์ข์ ๋ฐฉ๋ฒ์ด ์๋ค. 1. ๊ฐ์ ธ์ค๊ณ ์ถ์ ์ฌ๋์ ๊นํ๋ธ ์ฃผ์ (url) ๋ณต์ฌํ๊ธฐ [์ด๋ก์ Code ๋ฒํผ ํด๋ฆญ > URL ๋ณต์ฌ] 2. ๊นํ๋ธ ๋๋ ํ ๋ฆฌ๋ฅผ ๊ฐ์ ธ์ฌ ๋๋ ํ ๋ฆฌ(ํด๋)๋ฅผ ๋ด PC์ ๋ง๋ค๊ธฐ ( ์ฆ, ๋ด ์ปด์ ํด๋ ๋ง๋ค๊ธฐ) 3. cmd ์ฐฝ ์ด๊ณ (๊ฒ์ > cmd ๋ด ๊ฐ ๋ง๋ ํด๋๋ก ์ด๋ํ๊ธฐ 4. [git clone + 1๋ฒ์์ ๋ณต์ฌํ URL] ์ ๋ฆฌ github์ ์๋ ์ฝ๋ ํ๊ณ ํ์ผ์ ๊ฐ์ ธ์ค๋ ๋ฐฉ๋ฒ์ ๋ฐฐ์ ๋ค์์๋ ์ฐ๋ํ ์ปค๋ฐํ๊ณ ํธ์ฌ๋๊ฒ ๋ง๋ค์ด๋ณด์
Mongo DB์ Node.js ์ฐ๋ํ๊ธฐ
์๋ก mongodb์ node.js๋ฅผ ์ฐ๋ํด์ db๋ฅผ ์ถ๋ ฅํ๊ธฐ ์ํด์๋ ์ฐ๋ํ๋ ๋ฐฉ๋ฒ์ ์์์ผํ๋ค. const mongoose = require('mongoose'); const MONGODB_URL = 'mongodb+srv://root:12341234@cluster0.luvlj.mongodb.net/myFirstDatabase?retryWrites=true&w=majority' mongoose.connect(MONGODB_URL, { useNewUrlParser: true }, (err) => { if (err) { console.log(err); } else { console.log("Connected to database successfully") } }) DB์ ๊ทผ์ ๋น๋ฐ๋ฒํธ๊ฐ ๋จ๋ ๋ฌธ์ ๊ฐ ๋ฐ์ ..
์์ฒญ ๋ผ์ฐํ ํ๊ธฐ
์๋ก middle์จ์ด์ ๋ผ์ํ ์ ์์๋ณด์ ์์ฒญ url์ ์ผ์ผ์ด ํ์ธํด์ผ ํ๋ ๋ฒ๊ฑฐ๋ก์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๊ฒ์ด ๋ผ์ฐํฐ ๋ฏธ๋ค์จ์ด์ ๋๋ค. ๋ผ์ฐํฐ ๋ฏธ๋ค์จ์ด ์ฌ์ฉํ๊ธฐ ๋ผ์ฐํฐ๋ฅผ ์ฌ์ฉํ๋ฉด ์ฌ์ฉ์๊ฐ ์์ฒญํ ๊ธฐ๋ฅ์ด ๋ฌด์์ธ์ง ํจ์ค๋ฅผ ๊ธฐ์ค์ผ๋ก ๊ตฌ๋ณํ๊ธฐ ๋๋ฌธ์ ์์ฃผ ์ค์ํฉ๋๋ค. * Router ๊ฐ์ฒด๋ฅผ ์ด์ฉํด ๋ผ์ฐํ ํจ์ ๋ฑ๋กํ๊ธฐ * * (1) ์น ๋ธ๋ผ์ฐ์ ์์ http://localhost:3000/public/login2.html ํ์ด์ง ์ด๊ณ ์์ฒญ * (2) ํฌ๋กฌ ๋ธ๋ผ์ฐ์ ์ Postman ์ฑ์ด๋ ๊ธฐํ POST ์์ฒญ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ์ฌ POST ๋ฐฉ์์ผ๋ก ์์ฒญ * * @date 2016-10-25 * @author Mike */ // Express ๊ธฐ๋ณธ ๋ชจ๋ ๋ถ๋ฌ์ค๊ธฐ var express = require('express') , ht..