[테코톡] 빌드용어

디디의 Redis

영상 링크: https://youtu.be/JgRCaVwkPE8 테코톡 스터디: https://github.com/chance0523/Techo-Talk-Study

1. 시작하면서…

  • 빨리 가볍게 보고 일 좀 해야겠다는 생각으로 눌러봤다.
  • 비전공자로서 ‘용어’들에 대한 학습이 부족 한 것 같아서 시작해보았다!

2. 컴파일 vs 빌드

  • 컴파일: 컴파일러가 원시파일(.java)를 오브젝트파일(.class)로 만들어주는 것
  • 링크: 오브젝트 파일을 링커를 통해 실행파일(.jar)을 만드는 것
  • 빌드: 원시파일 -> 실행파일까지 만들어주는 과정

3. 빌드 도구

  • 소스 코드로부터 빌드를 자동화하는 프로그램
  • 자동화: 매번 반복해야 하는 일
  • 빌드 자동화
    • 의존성 다운로드
    • 소스 코드를 이진 코드로 컴파일
    • 이진 코드 패키징
    • 자동화된 테스트 실행
    • 프로덕션 시스템 배포

4. Java의 빌드 도구들

  • Ant, Maven, Gradle
  • Ant
    • 현대적인 빌드 도구
    • xml
    • 절차성
    • 유연성
    • 스크립트를 직접 명시
  • Maven
    • pom.xml
    • 의존성 다운로드 가능
    • 컨벤션
    • 사용자 의도에 맞는 로직 개발이 어려움
  • Gradle
    • Groovy / Kotlin
    • 유연성
    • 스크립트의 규모가 작음