일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 내가해냄
- 운영체제
- 트랜지스터
- 스프링부트
- 스프링부트와 AWS로 혼자 구현하는 웹 서비스
- jpa
- 스프링 부트와 AWS로 혼자 구현하는 웹 서비스
- 개발자기술면접
- Flexbox
- 기술면접
- 스프링부트 테스트코드
- 자바스크립트
- 스프링부트와 AWS로 혼자 구현하는 웹서비스
- AWS EC2 구현
- 그래도일단
- 테스트코드
- CS
- 오늘도
- 어찌저찌해냄
- 스프링 부트와 AWS로 혼자 구현하는 웹 서비스 2장
- Today
- Total
개발 공부
Build란? (+Deploy, Compile) 본문
서버에 기능을 추가하려면
➡️개발자가 로컬 PC에서 개발 후 테스트 > 문제 없음 > 사용자가 사용할 수 있도록 수정된 코드를 실서버에 반영
Deploy(배포) : 서버에 반영하는 것
Build(빌드) : 배포하기 위한 과정
➡️컴파일이란
컴퓨터가 이해할 수 있는 언어로 바꾸어주는 과정
- 자바 프로젝트 예시
: java의 경우 JVM이 컴파일을 해서 byte코드 형태의 .class 파일이 생긴다
: 소스코드를 컴퓨터가 이해할 수 있는 기계어로 변환하는 작업
➡️빌드란
소스 코드 파일을 컴퓨터에서 실행할 수 있는 독립적인 형태로 변환하는 과정 + 그 결과
- 자바 프로젝트 예시
: 빌드를 한다면, 소스 코드를 컴파일 해서 .class로 변환하고 resources를 .class에서 참조할 수 있는 적절한 위치로 옮기고 META-INF와 MANIFEST.MF들을 하나로 압축하는 과정을 의미
: 컴파일은 빌드의 부분집합
: 컴파일 된 코드를 실제 실행할 수 있는 상태로 만드는 일을 Build라는 개념으로 생각하면 된다.
✖️빌드 툴 : 빌드 과정을 도와주는 도구 ex. Ant, Maven, Gradle
주요기능
- 전처리(Preprocessing)
- 컴파일(Compile)
- 패키징(Packaging)
- 테스팅(Testing)
- 배포(Distribution)
✖️Run = Build + 실행
✖️Link라는 개념도 있었다... 읽어 보니 아는 것도 같은데 용어 자체는 첨 들어봐서 적어보기
➡️Link
소스 파일이 여러 개 생성됨 > A소스 파일에서 B 소스파일에 존재하는 메소드를 호출하는 경우 有
이때 A와 B를 각각 컴파일하면 A가 B에 존재하는 메소드를 찾을 수 없어 호출할 수 없다
그래서 A와 B를 연결해 주는 작업이 필요한데, 이 작업을 Link라고 한다.
여러 개로 분리된 컴파일한 소스 파일들을 최종 실행 가능한 파일로 만들기 위해 필요한 부분을 찾아서 연결해 주는 작업.
'CS 및 필요 지식' 카테고리의 다른 글
리눅스마스터 1급 (20230311 기출) 오답노트 1과목 (0) | 2025.02.09 |
---|---|
리눅스마스터 1급 (2022-03-12 기출문제) 오답노트 1과목 (0) | 2025.01.15 |
HTTP 특성 (0) | 2022.10.26 |
프로그래밍 언어, 컴파일 언어와 동적 언어 (0) | 2022.08.02 |
컴퓨터의 원리 (0) | 2022.08.02 |