Giter8: 파일 생성 쑰건

에 λ§Œλ“  2017λ…„ 10μ›” 06일  Β·  11μ½”λ©˜νŠΈ  Β·  좜처: foundweekends/giter8

ν˜„μž¬ 버전은 파일 내뢀에 μžˆμ§€λ§Œ νŒŒμΌμ— λŒ€ν•œ 쑰건문을 μ§€μ›ν•©λ‹ˆλ‹€.
즉, κ°’μ˜ 진싀성에 따라 ν…μŠ€νŠΈ 블둝을 ν¬ν•¨ν•˜κ±°λ‚˜ μ œμ™Έν•  수 μžˆμŠ΅λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ νŠΉμ • 값이 참인 κ²½μš°μ—λ§Œ νŒŒμΌμ„ λ§Œλ“€ 수 μ—†μŠ΅λ‹ˆλ‹€.

이것은 μ΅œμ†Œν•œ ν•œ 가지 κ²½μš°μ— 맀우 μœ μš©ν•  κ²ƒμž…λ‹ˆλ‹€. λ‚΄κ°€ μž‘μ—…ν•˜κ³  μžˆλŠ” ν…œν”Œλ¦Ώμ€ μ—¬λŸ¬ 배포 μ˜΅μ…˜(μ›μ‹œ JAR, AWS, λ°λΉ„μ•ˆ νŒ¨ν‚€μ§€...)을 μ§€μ›ν•©λ‹ˆλ‹€. 각 방법은 λ‹€λ₯Έ κ²½λ‘œμ— λ‹€λ₯Έ 파일이 μžˆμ–΄μ•Ό ν•©λ‹ˆλ‹€.

ν˜„μž¬ μ €λŠ” λͺ¨λ“  것을 ν¬ν•¨ν•˜κ³  κ°œλ°œμžμ—κ²Œ κ΄€λ ¨ μ—†λŠ” 것을 μˆ˜λ™μœΌλ‘œ μ‚­μ œν•˜λ„λ‘ μš”μ²­ν•˜κ±°λ‚˜ 아무것도 ν¬ν•¨ν•˜μ§€ μ•Šκ³  μ˜¬λ°”λ₯Έ 파일이 ν¬ν•¨λœ μ €μž₯μ†Œλ₯Ό 가리킬 수 μžˆμŠ΅λ‹ˆλ‹€.

μ΄μƒμ μœΌλ‘œλŠ” 질문( use AWS? [YES/no] )에 λ‹΅ν•˜κΈ°λ§Œ ν•˜λ©΄ λͺ¨λ“  것이 μ„€μ •λ©λ‹ˆλ‹€.

Enhancement

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

@notmu 예λ₯Ό λ“€μ–΄ μ£Όμ…”μ„œ κ°μ‚¬ν•©λ‹ˆλ‹€. ν•˜μ§€λ§Œ μ €μ—κ²ŒλŠ” νš¨κ³Όκ°€ μ—†λŠ” 것 κ°™μŠ΅λ‹ˆλ‹€. μ΄μƒν•œ 행동이 λ³΄μž…λ‹ˆλ‹€. 이 λ ˆμ΄μ•„μ›ƒμ΄ μžˆμŠ΅λ‹ˆλ‹€.

src/main/g8
β”œβ”€β”€ resources
 |   β”œβ”€β”€ $if(use_sql.truthy)$sql_scripts$endif$
 |    |          |-- db_script.sql
...

ν”„λ‘œμ νŠΈ 생성 쀑에 use_sql λ₯Ό yes ν•˜λ©΄ μ˜ˆμƒ λ ˆμ΄μ•„μ›ƒμ΄ ν‘œμ‹œλ©λ‹ˆλ‹€. resources/sql_scripts/db_script.sql . κ·ΈλŸ¬λ‚˜ no λ₯Ό μ‚¬μš©ν•˜μ—¬ use_sql 의 값을 μ„€μ •ν•˜λ©΄ 좜λ ₯ ν”„λ‘œμ νŠΈμ— resources/db_script.sql λ ˆμ΄μ•„μ›ƒμ΄ ν‘œμ‹œλ©λ‹ˆλ‹€. 파일 db_script.sql μ—¬μ „νžˆ 직접 μ•„λž˜μ˜ ν”„λ‘œμ νŠΈμ— ν¬ν•¨λ©λ‹ˆλ‹€ resources .

λ‚΄κ°€ λ‹Ήμ‹ μ˜ 예λ₯Ό μ˜€ν•΄ν•˜κ³  μžˆμŠ΅λ‹ˆκΉŒ, μ•„λ‹ˆλ©΄ λ­”κ°€ 잘λͺ»ν•˜κ³  μžˆμŠ΅λ‹ˆκΉŒ?

λͺ¨λ“  11 λŒ“κΈ€

ν˜„μž¬ μ €λŠ” λͺ¨λ“  것을 ν¬ν•¨ν•˜κ³  κ°œλ°œμžμ—κ²Œ κ΄€λ ¨ μ—†λŠ” 것을 μˆ˜λ™μœΌλ‘œ μ‚­μ œν•˜λ„λ‘ μš”μ²­ν•˜κ±°λ‚˜ 아무것도 ν¬ν•¨ν•˜μ§€ μ•Šκ³  μ˜¬λ°”λ₯Έ 파일이 ν¬ν•¨λœ μ €μž₯μ†Œλ₯Ό 가리킬 수 μžˆμŠ΅λ‹ˆλ‹€.

μ„Έ 번째 μ˜΅μ…˜μ΄ μžˆλ‹€κ³  μƒκ°ν•©λ‹ˆλ‹€. μŠ€μΊν΄λ“œ (ν•˜μœ„ ν…œν”Œλ¦Ώ)λ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€.

ν₯미둜운. μŠ€μΊν΄λ“œκ°€ λ‚΄ μ‚¬μš© 사둀에 μ μš©λœλ‹€κ³  μƒκ°ν•œλ‹€λ©΄ μŠ€μΊν΄λ“œκ°€ 무엇인지 μ™„μ „νžˆ 잘λͺ» μ΄ν•΄ν•œ 것 κ°™μŠ΅λ‹ˆλ‹€. μ•Œμ•„λ³Όκ²Œμš” κ°μ‚¬ν•©λ‹ˆλ‹€!

λ‚˜λŠ” λ¬Έμ„œκ°€ ν˜Όλž€μŠ€λŸ½κ³  아직 직접 μ‚¬μš©ν•˜μ§€ μ•Šμ•˜λ‹€κ³  μƒκ°ν•©λ‹ˆλ‹€. ν•˜μ§€λ§Œ μ˜¬λ°”λ₯΄κ²Œ μ΄ν•΄ν•œλ‹€λ©΄ ν”„λ‘œμ νŠΈ 내뢀에 μžˆλŠ” ν•˜μœ„ ν…œν”Œλ¦ΏμΌ 뿐이며 특수 μŠ€μΊν΄λ“œ ν”ŒλŸ¬κ·ΈμΈμ„ μ‚¬μš©ν•˜μ—¬ μ μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

λ§žμŠ΅λ‹ˆλ‹€. ν•˜μ§€λ§Œ λ‚΄ μ΄ν•΄λŠ” μŠ€μΊν΄λ“œ ν”ŒλŸ¬κ·ΈμΈμ΄ 초기 g8 ν…œν”Œλ¦Ώμ— μ˜ν•΄ μƒμ„±λœ ν”„λ‘œμ νŠΈμ— μžˆμ–΄μ•Ό ν•œλ‹€λŠ” κ²ƒμž…λ‹ˆλ‹€. λ‚΄ 이상적인 μ†”λ£¨μ…˜μ€ ν…œν”Œλ¦Ώμ„ μ‚¬μš©ν•˜μ—¬ ν”„λ‘œμ νŠΈλ₯Ό μƒμ„±ν•˜λŠ” ν…œν”Œλ¦Ώμ„ μƒμ„±ν•˜λŠ” 것이 μ•„λ‹ˆλΌ μ‚¬μš© κ°€λŠ₯ν•œ ν”„λ‘œμ νŠΈλ₯Ό μƒμ„±ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€.

그런데 λ§μ”€λ“œλ¦° λŒ€λ‘œ λΉ„κ³„μ˜ μš”μ μ„ 잘λͺ» μ΄ν•΄ν–ˆμ„ 수 μžˆμœΌλ―€λ‘œ μ‚΄νŽ΄λ³΄κ² μŠ΅λ‹ˆλ‹€.

저도 이 κΈ°λŠ₯을 높이 평가할 κ²ƒμž…λ‹ˆλ‹€. μŠ€μΊν΄λ“œλ₯Ό μ‚΄νŽ΄λ³΄μ•˜μ§€λ§Œ λ Œλ”λ§λœ ν…œν”Œλ¦Ώμ— g8 μ½˜ν…μΈ λ₯Ό ν¬ν•¨ν•˜λŠ” 것은 이상적이지 μ•ŠμŠ΅λ‹ˆλ‹€. λ˜ν•œ λΆˆν•„μš”ν•œ g8 μ½˜ν…μΈ λ₯Ό μ œκ±°ν•˜κΈ° μœ„ν•΄ μˆ˜λ™ 지침 단계가 ν•„μš”ν•˜κΈ° λ•Œλ¬Έμž…λ‹ˆλ‹€.

제 μ‚¬μš© μ‚¬λ‘€λŠ” @nrinaudo 와 맀우 μœ μ‚¬ν•©λ‹ˆλ‹€. μš°λ¦¬λŠ” 초기 생성 μ‹œ 큰 κΈ°λŠ₯을 켜고 끌 수 있기λ₯Ό μ›ν•©λ‹ˆλ‹€.

λͺ©λ‘μ— λ‚˜λ₯Ό μΆ”κ°€ν•˜μ‹­μ‹œμ˜€. 이 κΈ°λŠ₯이 ν•„μš”ν•©λ‹ˆλ‹€.

@avboy72 @pwood @nrinaudo에 도움이 λœλ‹€λ©΄ λ‹€μŒκ³Ό 같은 λ°©λ²•μœΌλ‘œ 이 μž‘μ—…μ„ μˆ˜ν–‰ν–ˆμŠ΅λ‹ˆλ‹€.
λ¬Έλ§₯상 이것은 슀칼라 크둜슀 ν”„λ‘œμ νŠΈμ—μ„œ μˆ˜ν–‰λ©λ‹ˆλ‹€. λ‚˜λŠ” G8을 λ˜μ§ˆκ±°μ•Ό 여기에 λ‚΄κ°€ 기회λ₯Ό 얻을 λ•Œ .. ✌️

src/main/g8
β”œβ”€β”€ $name__normalize$
β”‚Β Β  β”œβ”€β”€ $if(jvm.truthy)$jvm$endif$
β”‚Β Β  β”‚Β Β  └── src
β”‚Β Β  β”‚Β Β      └── main
β”‚Β Β  β”‚Β Β          └── scala
β”‚Β Β  β”‚Β Β              └── $organization__packaged$
β”‚Β Β  β”‚Β Β                  └── $name;format="Camel"$.scala
β”‚Β Β  β”œβ”€β”€ $if(native.truthy)$native$endif$
β”‚Β Β  β”‚Β Β  └── src
β”‚Β Β  β”‚Β Β      └── main
β”‚Β Β  β”‚Β Β          └── scala
β”‚Β Β  β”‚Β Β              └── $organization__packaged$
β”‚Β Β  β”‚Β Β                  └── $package$
β”‚Β Β  β”‚Β Β                      └── $name;format="Camel"$.scala
β”‚Β Β  β”œβ”€β”€ $if(scalajs.truthy)$js$endif$
β”‚Β Β  β”‚Β Β  └── src
β”‚Β Β  β”‚Β Β      └── main
β”‚Β Β  β”‚Β Β          └── scala
β”‚Β Β  β”‚Β Β              └── $organization__packaged$
β”‚Β Β  β”‚Β Β                  └── $name;format="Camel"$.scala
β”‚Β Β  β”œβ”€β”€ $if(shared.truthy)$shared$endif$
β”‚Β Β  β”‚Β Β  └── src
β”‚Β Β  β”‚Β Β      └── main
β”‚Β Β  β”‚Β Β          └── scala
β”‚Β Β  β”‚Β Β              └── $organization__packaged$
β”‚Β Β  β”‚Β Β                  └── package.scala
β”‚Β Β  └── project
β”‚Β Β      β”œβ”€β”€ build.properties
β”‚Β Β      └── plugins.sbt
β”œβ”€β”€ build.sbt
β”œβ”€β”€ default.properties
└── project
    β”œβ”€β”€ build.properties
    └── plugins.sbt

24 directories, 10 files

@notmu 예λ₯Ό λ“€μ–΄ μ£Όμ…”μ„œ κ°μ‚¬ν•©λ‹ˆλ‹€. ν•˜μ§€λ§Œ μ €μ—κ²ŒλŠ” νš¨κ³Όκ°€ μ—†λŠ” 것 κ°™μŠ΅λ‹ˆλ‹€. μ΄μƒν•œ 행동이 λ³΄μž…λ‹ˆλ‹€. 이 λ ˆμ΄μ•„μ›ƒμ΄ μžˆμŠ΅λ‹ˆλ‹€.

src/main/g8
β”œβ”€β”€ resources
 |   β”œβ”€β”€ $if(use_sql.truthy)$sql_scripts$endif$
 |    |          |-- db_script.sql
...

ν”„λ‘œμ νŠΈ 생성 쀑에 use_sql λ₯Ό yes ν•˜λ©΄ μ˜ˆμƒ λ ˆμ΄μ•„μ›ƒμ΄ ν‘œμ‹œλ©λ‹ˆλ‹€. resources/sql_scripts/db_script.sql . κ·ΈλŸ¬λ‚˜ no λ₯Ό μ‚¬μš©ν•˜μ—¬ use_sql 의 값을 μ„€μ •ν•˜λ©΄ 좜λ ₯ ν”„λ‘œμ νŠΈμ— resources/db_script.sql λ ˆμ΄μ•„μ›ƒμ΄ ν‘œμ‹œλ©λ‹ˆλ‹€. 파일 db_script.sql μ—¬μ „νžˆ 직접 μ•„λž˜μ˜ ν”„λ‘œμ νŠΈμ— ν¬ν•¨λ©λ‹ˆλ‹€ resources .

λ‚΄κ°€ λ‹Ήμ‹ μ˜ 예λ₯Ό μ˜€ν•΄ν•˜κ³  μžˆμŠ΅λ‹ˆκΉŒ, μ•„λ‹ˆλ©΄ λ­”κ°€ 잘λͺ»ν•˜κ³  μžˆμŠ΅λ‹ˆκΉŒ?

@vptheron λ‚˜λŠ” λ‹Ήμ‹ κ³Ό 같은 ν–‰λ™μ„ν•©λ‹ˆλ‹€. @notmu 의 μ˜ˆλŠ” μ €μ—κ²Œ

λ™μΌν•œ λ™μž‘μ΄λ©° μ—¬μ „νžˆ 이 λ¬Έμ œμ— λŒ€ν•œ 해결책이 μ—†λŠ” 것 κ°™μŠ΅λ‹ˆλ‹€. 파일의 루트 폴더λ₯Ό 쑰건뢀 μƒμ„±ν•˜λ”λΌλ„ 파일 μ‚­μ œλŠ” λΆˆκ°€λŠ₯ν•©λ‹ˆλ‹€. :(

ν•˜μœ„ νŒŒμΌμ— λŒ€ν•΄ λ™μΌν•œ μž‘μ—…μ„ μˆ˜ν–‰ν•˜λ©΄ μž‘λ™ν•©λ‹ˆλ‹€... 지루할 수 μžˆμŠ΅λ‹ˆλ‹€...

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰