인프런 올인원 자바 스프링 강의를 학습 목적으로 정리하여 포스팅합니다.
자바와 스프링에 개념에 대해서 학습하는 것보다는 하나의 프로젝트를 만들어보면서 전체적인 프로그래밍을 알아보는 것이 실무에 더 도움이 될 것이라 느껴 토이프로젝트를 알려주는 강의를 찾아보다 알게 된 강의입니다.
토이프로젝트만 따라 만들고 끝이 아니라 원하는 기능을 추가해볼 예정입니다:)
이 강의는 유료 강의인 만큼 전체 내용을 필기하지 않고 "이건 꼭 필기해야해!" 하는 것만 작성하겠습니다.
프로그래밍 언어: JAVA 19ver
강의에서는 11version을 사용합니다.
IDE : IntelliJ
API : POSTMAN
DB : MySQL 8ver
형상관리 : git
자바를 공부하기 전에 알아두면 좋을 것들!! #1
컴파일
고급 언어를 저급 언어(바이트 코드, 바이너리 코드)로 바꿔주는 과정
컴파일러
컴파일을 하는 프로그램
JAVA는 운영체제별로 컴파일러를 둘 필요없이 JVM으로 운영체제별 컴파일을 완료한다.
JVM
- 자바 가상 머신의 약자
- Java Virtual Machine
- OS별로 존재
- 바이너리 코드(저급언어)를 읽고 검증하고 실행한다.
JRE
- 자바 실행 환경의 약자
- Java Runtime Environment
- JRE = JVM + 자바 프로그램 실행에 필요한 라이브러리 파일 등
- JVM의 실행 환경을 구현한다.
JDK
- 자바 개발 도구의 약자
- Java Development Kit
- JDK = JRE + 개발을 위한 도구
- 컴파일러, 디버그 도구 등
- JDK를 설치하면 JRE와 JVM도 함께 설치된다.
- 따라서 JAVA의 버전 = JDK의 버전이 된다.
- LTS(Long Time Supprot) 라는 버전은 오래 지원이 되는 버전이니 오래 써도 되는 버전이다.
- Oracle JDK : 오라클에서 만든 JDK. 개인에게 무료, 기업용은 유료
- Open JDK : Oracle JDK와 비슷한 성능. 언제나 무료
자바를 공부하기 전에 알아두면 좋을 것들!! #2
빌드(build)
소스 코드 파일을 컴퓨터에서 실행할 수 있는 독립 SW 가공물로 변환시키는 과정
* 독립 SW 가공물 = Artifact, 독립적인 하나의 파일
빌드 과정
- 소스코드를 컴파일한다.
- 테스트 코드를 컴파일 한다.
- 테스트 코드를 실행한다.
- 테스트 코드 리포트를 작성한다.
- 기타 추가 설정한 작업들을 진행한다.
- 패키징을 수행한다.
- 최종 SW 결과물 (Artifact) 을 만들어 낸다.
* 테스트 코드 : 내가 작성한 코드를 자동 테스트해주는 코드를 추가로 작성한 것
TIP 테스트 코드를 작성할 줄 아는 사람이 지원 자격 혹은 우대사항에 들어 있는 경우가 많다.
VS 실행(run)
내가 작성한 코드 (혹은 테스트 코드) 를 컴파일을 거쳐 작동시켜 보는 것
독립 SW 가공물이 나올 수도 있고, 나오지 않을 수도 있다.
💥주의 : 인터프리터 언어는 컴파일이 필요 없다 ex) JS, Python
빌드 툴 (build tool)
많은 빌드를 수동으로 할 경우 생기는 실수를 아래와 같이 예방할 수 있다.
- 소스코드의 빌드 과정을 자동으로 처리 해주는 프로그램
- 외부 소스 코드 (외부 라이브러리) 자동 추가, 관리
대표적인 자바 빌드 툴
1. Ant
- 설정을 위해 XML을 사용한다.
- 간단하고 사용하기 쉽다고 한다.
- 복잡한 처리를 하려 하면 빌드 스크립트가 장황해져 관리가 어렵다.
- 외부 라이브러리를 관리하는 구조가 없다.
- 2000년대 초중반에 많이 사용했다.
2. Maven
- 설정을 위해 XML을 사용한다.
- 외부 라이브러리를 관리할 수 있다.
- 장황한 빌드 스크립트 문제를 해결했다.
- 특정 경우에 XML이 복잡해진다.
- XML 자체의 한계가 있었다.
- Ant가 가지고 있는 단점들을 대부분 극복하였으나 신규 PJ에는 사용을 지양하는 편이다.
3. Gradle
- 설정을 위해 groovy 언어를 사용한다.
- 외부 라이브러리를 관리할 수 있다.
- 유연하게 빌드 스크립트를 작성할 수 있다.
- 성능이 뛰어나다.
- 가장 최신에 나온 자바 빌드 툴이며 특히 신규 PJ에서 많이 사용되고 있다.
출처) 공부하는 개발자의 자바를 공부하기 전에 알아두면 좋을 것들 #1, #2
'JAVA > [인프런] 스프링 강의들' 카테고리의 다른 글
[ 서버 개발 올인원 패키지] 5. 책 요구사항 구현하기 (0) | 2023.02.26 |
---|---|
[ 서버 개발 올인원 패키지] 4. 생애 최초 JPA 사용하기 (0) | 2023.02.24 |
[ 서버 개발 올인원 패키지] 3. 역할의 분리와 스프링 컨테이너 (0) | 2023.02.22 |
[ 서버 개발 올인원 패키지] 2. 생애 최초 Database 조작하기 (0) | 2023.02.22 |
[ 서버 개발 올인원 패키지] 1. 생애 최초 API 만들기 (0) | 2023.02.19 |