ํ‹ฐ์Šคํ† ๋ฆฌ ๋ทฐ

๋ฐ˜์‘ํ˜•

  ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ  

๋‚˜์˜ ํ”„๋กœ์ ํŠธ๋ฅผ ์ธํ…”๋ฆฌ์ œ์ด๋กœ ์˜ฎ๊ฒจ๋ณผ๊นŒ๋‚˜,, ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ

 

  ๊ทธ๋ ˆ์ด๋“ค ํ”„๋กœ์ ํŠธ๋ฅผ ์Šคํ”„๋ง๋ถ€ํŠธ ํ”„๋กœ์ ํŠธ๋กœ ๋ณ€๊ฒฝํ•˜๊ธฐ  

build.gradle ํŒŒ์ผ์—๋Š” ์ž๋ฐ” ๊ฐœ๋ฐœ์— ๊ฐ€์žฅ ๊ธฐ์ดˆ์ ์ธ ์„ค์ •๋งŒ ๋˜์–ด์žˆ๋‹ค. ์ด๊ณณ์— ์Šคํ”„๋ง ๋ถ€ํŠธ์— ํ•„์š”ํ•œ ์„ค์ •๋“ค์„ ์ถ”๊ฐ€ํ•  ๊ฒƒ์ด๋‹ค. ๋‹จ ์—ฌ๊ธฐ์„œ ์Šคํ”„๋ง ์ด๋‹ˆ์…œ๋ผ์ด์ €๋ฅผ ํ†ตํ•ด์„œ ์ง„ํ–‰ํ•˜์ง€๋Š” ์•Š๊ฒ ๋‹ค. ์Šคํ”„๋ง ์ด๋‹ˆ์…œ๋ผ์ด์ €๋ฅผ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜๋ฉด build.gradle์˜ ์ฝ”๋“œ๊ฐ€ ๋ฌด์Šจ ์—ญํ• ์„ ํ•˜๋Š”์ง€, ์ด๋‹ˆ์…œ๋ผ์ด์ € ์™ธ์— ์ถ”๊ฐ€๋กœ ์˜์กด์„ฑ ์ถ”๊ฐ€๊ฐ€ ํ•„์š”ํ•˜๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผํ• ์ง€ ๋“ฑ์„ ๋ชจ๋ฅด๋Š” ์ƒํƒœ๋กœ ๊ฐœ๋ฐœํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

//๋งจ์œ„์— ์ž‘์„ฑ๋˜๋Š” ์ฝ”๋“œ
//์ด ํ”„๋กœ์ ํŠธ์˜ ํ”Œ๋Ÿฌ๊ทธ์ธ ์˜์กด์„ฑ ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•œ ์„ค์ •
buildscript {
    //ext : build.gradle์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์ „์—ญ๋ณ€์ˆ˜๋ฅผ ์„ค์ •ํ•˜๊ฒ ๋‹ค๋Š” ์˜๋ฏธ
    ext {
        //springBootVersion ์ „์—ญ๋ณ€์ˆ˜๋ฅผ ์ƒ์„ฑํ•˜๊ณ 
        //๊ทธ ๊ฐ’์„ 2.1.7.RELEASE๋ฅผ ์˜์กด์„ฑ์œผ๋กœ ๋ฐ›๊ฒ ๋‹ค๋Š” ์˜๋ฏธ
        //์ฆ‰, spring-boot-gradle-plugin๋ผ๋Š” ์Šคํ”„๋ง ๋ถ€ํŠธ ๊ทธ๋ ˆ์ด๋“ค ํ”Œ๋Ÿฌ๊ทธ์ธ์˜
        //2.1.7.RELEASE๋ฅผ ์˜์กด์„ฑ์œผ๋กœ ๋ฐ›๊ฒ ๋‹ค๋Š” ์˜๋ฏธ
        springBootVersion = '2.1.7.RELEASE'
    }
    repositories {
        mavenCentral()
        jcenter()
    }

    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
    }
}

//์ž๋ฐ”์™€์Šคํ”„๋ง ๋ถ€ํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•œ ํ•„์ˆ˜ ํ”Œ๋Ÿฌ๊ทธ์ธ๋“ค์ด๋‹ˆ ํ•ญ์ƒ ์ถ”๊ฐ€ํ•œ๋‹ค.
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'


group 'com.yeahajeong.hastagram'
version '1.0-SNAPSHOT'
sourceCompatibility = 1.8

//repositories : ๊ฐ์ข… ์˜์กด์„ฑ(๋ผ์ด๋ธŒ๋Ÿด๋ฆฌ)๋“ค์„ ์–ด๋–ค ์›๊ฒฉ ์ €์žฅ์†Œ์—์„œ ๋ฐ›์„์ง€ ์ •ํ•œ๋‹ค.
repositories {
    //๊ธฐ๋ณธ์ ์œผ๋กœ mavenCentral์„ ๋งŽ์ด ์‚ฌ์šฉํ•˜์ง€๋งŒ
    //์ตœ๊ทผ์—๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์—…๋กœ๋“œ ๋‚œ์ด๋„ ๋•Œ๋ฌธ์— jcenter๋„ ๋งŽ์ด ์‚ฌ์šฉํ•œ๋‹ค.
    mavenCentral()
    jcenter()
}

//dependencies : ํ”„๋กœ์ ํŠธ ๊ฐœ๋ฐœ์— ํ•„์š”ํ•œ ์˜์กด์„ฑ๋“ค์„ ์„ ์–ธํ•˜๋Š” ๊ณณ
dependencies {
    compile('org.springframework.boot:spring-boot-starter-web')
    testCompile('org.springframework.boot:spring-boot-starter-test')
    //testCompile group: 'junit', name: 'junit', version: '4.12'

}

 

์ฑ…์—์„œ๋Š” 'build.gradle์— ๋ณ€๊ฒฝ์ด ์žˆ์œผ๋‹ˆ ๋ฐ˜์˜ํ•˜๋ผ'๋Š” ์ธํ…”๋ฆฌ์ œ์ด์˜ ์•Œ๋žŒ์ด ๋œฌ๋‹ค๊ณ ํ•˜๋Š”๋ฐ ๋‚˜๋Š” ์•ˆ๋œฌ๋‹ค. ๊ทธ๋ž˜์„œ ๊ฒ€์ƒ‰์„ ํ•ด๋ดค๋‹ค. 

File - Setting - Editor - General - Auto Import ์—์„œ ๋‘ ๊ฐœ ์ฒดํฌํ•ด์ค€๋‹ค! (Add~~๋ž‘ Optimize~~ ๋‘๊ฐœ)

 

์„ค์น˜ ์ค‘์ธ ๊ฒƒ ๊ฐ™๊ตฐ.

๋œ๊ฑฐ๋‹ˆ? ์™œ ์ฑ…์—์„œ ๋œฌ๊ฒƒ์ฒ˜๋Ÿผ ๋‚˜๋Š” ใ…‡์•ˆ๋œจ๋Š”๊ฑธ๊นŒ!?!?!?!?

 

 

  ์ธํ…”๋ฆฌ์ œ์ด์—์„œ ๊นƒ๊ณผ ๊นƒํ—ˆ๋ธŒ ์‚ฌ์šฉํ•˜๊ธฐ  

์ธํ…”๋ฆฌ์ œ์ด์—์„œ Action ๊ฒ€์ƒ‰์ฐฝ ์—ด๊ธฐ (์œˆ๋„์šฐ [Ctrl + Shift + A], ๋งฅ [Command + Shift + A])

share project on github ์„ ๊ฒ€์ƒ‰ํ•œ๋‹ค.

 

๊นƒํ—ˆ๋ธŒ ๊ณ„์ •์— ๋กœ๊ทธ์ธ์„ ํ•œ ํ›„์—๋Š” ๊นƒํ—ˆ๋ธŒ์— ์ƒ์„ฑํ•  ์ €์žฅ์†Œ ์ •๋ณด๋ฅผ ์ž…๋ ฅํ•˜๋Š” ํ™”๋ฉด์ด ๋‚˜์˜จ๋‹ค. [Repository name] ํ•„๋“œ์— ๋“ฑ๋กํ•œ ์ด๋ฆ„์œผ๋กœ ๊นƒํ—ˆ๋ธŒ์— ์ €์žฅ์†Œ๊ฐ€ ์ƒ์„ฑ๋œ๋‹ค. ๋Œ€๋ถ€๋ถ„์€ ํ”„๋กœ์ ํŠธ ์ด๋ฆ„์„ ๊นƒํ—ˆ๋ธŒ ์ €์žฅ์†Œ์™€ ๊ฐ™์€ ์ด๋ฆ„์„ ์‚ฌ์šฉํ•˜๋‹ˆ๊นŒ ๊ฐ™์€ ์ด๋ฆ„์œผ๋กœ ๋“ฑ๋กํ•˜๋„๋ก!

ํ”„๋กœ์ ํŠธ์˜ ์ฒซ ๋ฒˆ์งธ ์ปค๋ฐ‹์„ ์œ„ํ•œ ํŒ์—…์ฐฝ์ด ๋œฌ๋‹ค. .idea ๋””๋ ‰ํ† ๋ฆฌ๋Š” ์ธํ…”๋ฆฌ์ œ์ด์—์„œ ํ”„๋กœ์ ํŠธ ์‹คํ–‰์‹œ ์ž๋™์œผ๋กœ ์ƒ์„ฑ๋˜๋Š” ํŒŒ์ผ๋“ค์ด๊ธฐ ๋•Œ๋ฌธ์— ๊นƒํ—ˆ๋ธŒ์— ์˜ฌ๋ฆฌ๊ธฐ์—๋Š” ๋ถˆํ•„์š”ํ•˜๋‹ˆ๊นŒ ์ปค๋ฐ‹ํ•˜์ง€ ์•Š๋Š”๋‹ค. Add๋ฅผ ๋ˆ„๋ฅด๋ฉด ๊นƒ ์ปค๋ฐ‹๊ณผ ๊นƒํ—ˆ๋ธŒ ํ‘ธ์‹œ๊ฐ€ ์ง„ํ–‰๋œ๋‹ค.

๋™๊ธฐํ™” ๊ณผ์ •์—์„œ ์ปค๋ฐ‹ ํ•ญ๋ชฉ์œผ๋กœ ์ถ”๊ฐ€ํ•  ๊ฒƒ์ธ์ง€ ๋ฌป๋Š” ์•ˆ๋‚ด๋ฌธ์ด ๋‚˜์˜ค๋Š”๋ฐ ์ฒ˜์Œ์—๋Š” Cancel์„ ์„ ํƒํ•œ๋‹ค.

ํƒ€๋ผ~ ์ปค๋ฐ‹๊ณผ ํ‘ธ์‹œ๊ฐ€ ์„ฑ๊ณตํ–ˆ๋‹ค๋Š” ๋ฉ”์‹œ์ง€๊ฐ€ ๋–ด๋‹ค. ๊นƒํ—ˆ๋ธŒ ๊ณ„์ •์œผ๋กœ ์ด๋™ํ•˜๋ฉด ์ธํ…”๋ฆฌ์ œ์ด๋กœ ๋งŒ๋“  ํ”„๋กœ์ ํŠธ๊ฐ€ ๊ทธ๋Œ€๋กœ ๊นƒํ—ˆ๋ธŒ์— ์ƒ์„ฑ๋œ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

 

๊นƒํ—ˆ๋ธŒ์™€ ๋™๊ธฐํ™”๊ฐ€ ๋˜์—ˆ์œผ๋ฉด ์ปค๋ฐ‹ํ•˜๋ฉด์„œ ์ œ์™ธํ–ˆ๋˜ .idea ํด๋”๋ฅผ ์•ž์œผ๋กœ ๋ชจ๋“  ์ปค๋ฐ‹ ๋Œ€์ƒ์—์„œ ์ œ์™ธ๋˜๋„๋ก ์ฒ˜๋ฆฌ๋ฅผ ํ•œ๋‹ค. ๊นƒ์—์„œ ํŠน์ • ํŒŒ์ผ ํ˜น์€ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ๊ด€๋ฆฌ ๋Œ€์ƒ์—์„œ ์ œ์™ธํ•  ๊ฒฝ์šฐ์—๋Š” .gitignore ํŒŒ์ผ์„ ์‚ฌ์šฉํ•œ๋‹ค. ์ด ํŒŒ์ผ์— ์“ฐ์ธ ๋‚ด์šฉ์€ ๋ชจ๋‘ ๊นƒ์—์„œ ๊ด€๋ฆฌํ•˜์ง€ ์•Š๊ฒ ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค.

์ธํ…”๋ฆฌ์ œ์ด์—์„œ๋Š” ์ด .gitignore ํŒŒ์ผ์— ๋Œ€ํ•œ ๊ธฐ๋ณธ์ ์ธ ์ง€์›์ด ์—†๋Š” ๋Œ€์‹  ํ”Œ๋Ÿฌ๊ทธ์ธ์—์„œ ์ง€์›ํ•˜๊ณ  ์žˆ๋‹ค.

  • ํŒŒ์ผ ์œ„์น˜ ์ž๋™์™„์„ฑ
  • ์ด๊ทธ๋…ธ์–ด ์ฒ˜๋ฆฌ ์—ฌ๋ถ€ ํ™•์ธ
  • ๋‹ค์–‘ํ•œ ์ด๊ทธ๋…ธ์–ด ํŒŒ์ผ์ง€์›(.gitignore, .npmignore, .dockerignore ๋“ฑ๋“ฑ)

 

Action ๊ฒ€์ƒ‰์ฐฝ์„ ์—ด์–ด (Ctrl + Shift + A) plugins๊ฒ€์ƒ‰ํ•œ๋‹ค. [Marketplace] ํƒญ์€ ์„ค์น˜ ๊ฐ€๋Šฅํ•œ ํ”Œ๋Ÿฌ๊ทธ์ธ์˜ ๋ชฉ๋ก์ด๊ณ , [Installed] ํƒญ์€ ์ด๋ฏธ ์„ค์น˜๋œ ํ”Œ๋Ÿฌ๊ทธ์ธ ๋ชฉ๋ก์ด๋‹ค. ์ƒˆ๋กœ์šด ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์„ค์น˜ํ• ๊ฑฐ๋‹ˆ๊นŒ [Marketplace]์„ ํƒ!

 

.ignore ๊ฒ€์ƒ‰ ํ›„ ์„ค์น˜ํ•œ๋‹ค. ์„ค์น˜๊ฐ€ ์™„๋ฃŒ๋˜๋ฉด ์ธํ…”๋ฆฌ์ œ์ด๋ฅผ ๋‹ค์‹œ ์‹œ์ž‘ํ•ด์•ผ ์„ค์น˜ํ•œ ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ์ ์šฉ๋˜๋‹ˆ๊นŒ ์žฌ์‹œ์ž‘ํ•ด์ค€๋‹ค.

 

์ด๊ทธ๋…ธ์–ด ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•ด ํ”„๋กœ์ ํŠธ ์ด๋ฆ„์„ ์„ ํƒํ•œ ๋’ค ๋งˆ์šฐ์Šค ์˜ค๋ฅธ์ชฝ ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๊ฑฐ๋‚˜ ๋‹จ์ถ•ํ‚ค [Alt + Insert]๋ฅผ ๋ˆŒ๋Ÿฌ ์ƒ์„ฑ ๋ชฉ๋ก์„ ์—ฐ๋‹ค.

 

๋งŒ๋“ค์–ด๋‘” ํ…œํ”Œ๋ฆฟ์ด ์—†์œผ๋‹ˆ๊นŒ ๋ฐ”๋กœ [Generate]๋กœ ์ด๊ทธ๋…ธ์–ด ํŒŒ์ผ์„ ์ƒ์„ฑํ•œ๋‹ค. ์ƒ์„ฑ๋œ ํŒŒ์ผ์— ๊นƒ ์ฒดํฌ ๋Œ€์ƒ์—์„œ ์ œ์™ธํ•˜๊ณ  ์‹ถ์€ ์ด๋ฆ„์„ ์ž‘์„ฑํ•˜๋ฉด ๋œ๋‹ค. ์ธํ…”๋ฆฌ์ œ์ด์—์„œ ์ž๋™์œผ๋กœ ์ƒ์„ฑ๋˜๋Š” ํŒŒ์ผ์„ ๋ชจ๋‘ ์ด๊ทธ๋…ธ์–ด ์ฒ˜๋ฆฌํ•œ๋‹ค.

 

์ด๊ทธ๋…ธ์–ด ์ฒ˜๋ฆฌ๋œ ๊ฒƒ์„ ๊นƒํ—ˆ๋ธŒ์— ๋ฐ˜์˜ํ•œ๋‹ค. ๊นƒ ์ปค๋ฐ‹์ฐฝ ์—ด๊ธฐ [Ctrl + K]

์ปค๋ฐ‹ํ•œ ํ›„ ๊นƒํ—ˆ๋ธŒ์— ํ‘ธ์‹œ [Ctrl + Shift + K]

Push!

 

๋ฐ˜์‘ํ˜•
๋Œ“๊ธ€