2026. 6. 22. 15:59ㆍ부트캠프/TIL(Today I Learned)
OT뒤에 오늘 한것!
1. Gradle과 빌드
빌드(Build)란 개발자가 작성한 소스 코드를 실행 가능한 결과물로 만드는 과정이다. 스프링 프로젝트에서는 Gradle을 사용하여 실행 가능한 JAR 파일을 생성할 수 있다.
터미널에서는 다음 명령어로 빌드를 수행할 수 있다.
./gradlew build
또한 IntelliJ에서는 우측 Gradle 탭 → Tasks → Build → build를 실행하여 빌드를 수행할 수 있다.
2. Git과 버전 관리
Git은 소스 코드를 버전별로 관리할 수 있는 분산 버전 관리 시스템(VCS)이다.
IntelliJ에서 Git 저장소를 생성하는 방법은 다음과 같다.
- VCS 메뉴 선택
- Enable Version Control Integration 선택
- Git 선택
이 과정을 수행하면 git init 명령이 실행되어 Git 저장소가 생성된다.
이후 변경 사항을 Commit하여 버전을 관리할 수 있다.
3. Dependency와 라이브러리
build.gradle 파일의 Dependencies 영역에서 외부 라이브러리를 추가할 수 있다.
주로 Maven Repository에서 필요한 라이브러리를 검색하여 프로젝트에 적용한다.
라이브러리를 활용하면 이미 구현된 기능을 재사용할 수 있어 개발 생산성을 높일 수 있다.
또한 강의와 사용 중인 스프링 버전이 다를 경우 기능이나 설정 방법에 차이가 발생할 수 있으므로 버전을 확인하는 습관이 중요하다.
4. 웹의 동작 방식
네트워크 통신을 위해서는 IP 주소와 포트 번호가 필요하다.
웹 서버는 HTTP 프로토콜을 이용하여 클라이언트의 요청(Request)을 처리하고 응답(Response)을 반환한다.
동작 과정은 다음과 같다.
- 클라이언트(브라우저)가 HTTP 요청 전송
- 서버가 요청 처리
- HTTP 응답 반환
- 브라우저가 화면에 결과 출력
5. API와 REST
API(Application Programming Interface)는 서로 다른 소프트웨어가 통신하기 위한 규칙이다.
식당에서 주문을 받는 점원처럼 클라이언트와 서버 사이에서 요청과 응답을 연결해 주는 역할을 한다.
RESTful API는 HTTP 규칙을 잘 준수하여 설계된 API를 의미한다.
주요 HTTP 메서드는 다음과 같다.
- GET : 데이터 조회
- POST : 데이터 생성
- PUT : 데이터 수정
- DELETE : 데이터 삭제
6. 웹 서버와 WAS
정적 콘텐츠는 이미 만들어진 HTML 파일처럼 내용이 변하지 않는 데이터를 의미한다.
대표적인 웹 서버는 다음과 같다.
- Apache
- Nginx
동적인 요청 처리는 WAS(Web Application Server)가 담당한다.
Apache Tomcat은 웹 서버와 WAS 기능을 함께 제공하는 서버이다.
7. Spring Framework와 Spring Boot
Spring Framework는 강력한 기능을 제공하지만 설정이 복잡하다.
대표 기능
- IoC(Inversion of Control)
- DI(Dependency Injection)
- AOP(Aspect Oriented Programming)
- PSA(Portable Service Abstraction)
Spring Boot는 이러한 복잡한 설정을 간소화하기 위해 등장하였다.
특히 내장 Tomcat을 제공하기 때문에 별도의 서버 설정 없이 바로 실행할 수 있다는 장점이 있다.
8. 개발자 도구와 HTTP 응답
브라우저 개발자 도구의 Network 탭에서 HTTP 요청과 응답을 확인할 수 있다.
대표적인 상태 코드는 다음과 같다.
- 200 : 정상 처리
- 404 : 요청한 리소스를 찾을 수 없음
- 500 : 서버 내부 오류
Response Header는 서버가 함께 전달하는 추가 정보이며, Payload는 실제 데이터 영역을 의미한다.
GET 요청은 일반적으로 Request Body(Payload)를 사용하지 않는다.
9. 테스트 코드
테스트 코드는 프로그램의 오류를 미리 발견하기 위해 작성한다.
스프링에서는 주로 JUnit을 사용함.
@Test
어노테이션을 사용하여 테스트 메서드를 작성할 수 있다는 의미.
IntelliJ에서 Ctrl + Shift + T를 누르면 테스트 클래스를 자동 생성할 수 있다.
10. MVC 패턴
MVC(Model-View-Controller)는 역할을 분리하여 유지보수성과 재사용성을 높이는 디자인 패턴이다.
- Model : 데이터와 비즈니스 로직 담당
- View : 사용자 화면 담당
- Controller : 요청 처리 및 흐름 제어 담당
역할을 분리함으로써 협업과 유지보수가 쉬워진다.
11. Dispatcher Servlet과 Servlet
Spring MVC에서는 Dispatcher Servlet이 모든 HTTP 요청을 가장 먼저 받는다.
동작 과정
- 클라이언트 요청 수신
- Dispatcher Servlet이 요청 분석
- Handler Mapping을 통해 Controller 탐색
- Controller 실행
- View Resolver 처리
- View 반환
- 클라이언트에게 응답
Servlet은 Java 기반 웹 애플리케이션에서 요청과 응답을 처리하는 서버 측 프로그램임.
Tomcat 내부에서 동작하며 요청에 맞는 비즈니스 로직을 수행한 뒤 결과를 반환함.
배운 점
처음으로 IntelliJ를 사용해 보았다. 기존에 사용하던 STS나 VS Code보다 편의 기능이 많아 개발 과정이 훨씬 수월하다고 느꼈으며, 앞으로 스프링 개발을 진행하는 데 큰 도움이 될 것 같다.
내일 할것은 스프링 숙련으로 가서 복습을 해야할듯 함.
'부트캠프 > TIL(Today I Learned)' 카테고리의 다른 글
| [내일배움캠프 사전캠프_단기심화_8기]_영속성 컨텍스트 및 그 외 TIL (0) | 2026.06.27 |
|---|---|
| [내일배움캠프_단기심화_8기]_Days-5-TIL (0) | 2026.06.26 |
| [내일배움캠프_단기심화_8기] Days 4 TIL (Today I Learned) (0) | 2026.06.25 |
| [내일배움캠프 사전캠프_단기심화_8기]_Day 3 TIL (0) | 2026.06.24 |
| [내일배움캠프 사전캠프_단기심화_8기]_Day 2 TIL (0) | 2026.06.23 |