[~02장]
🚩build system 의 그레이들과 메이븐?
: 애플리케이션을 생성하는 과정을 자동화하는 프로그램이다. 말 그대로 build !
뭘 자동화하냐? 의존성 내려받기, 컴파일, 테스트 등등
🚩IP주소와 포트
IP주소가 서버를 찾기 위한 번호라면 포트는 그 서버에서 운용되고 있는 서비스를 구분하기 위한 번호
📌스프링 부트는 스프링에 속한 도구로 스프링의 하위 프레임워크이다.
우리가 테스트할 때 로그에서 볼 수 있었던 Tomcat 이 스프링과 달리 스프링 부트에 기본적으로 내장되어 있는 WAS 다.
Sping의 3대 모델 AOP PSA IoC/DI
🚩관점 지향 프로그래밍 AOP (Aspect Oriented Programming)
기존의 OOP에서 관심/관점/기능별로 모듈화해서 분리 시키는 개념
공통적으로 갖는 로직을 각각의 소스코드에서 제거하고 하나의 공통 모듈로 만든다! 정도로 이해하자.
❓이식 가능한 서비스 추상화 PSA (Portable Service Abstraction)
제공되는 다양한 기술들을 추상화해 개발자가 쉽게 사용하는 인터페이스
PSA가 적용된 코드라면 나의 코드를 바꾸지 않고 간편하게 다른 기술로 바꿀 수 있다 ? (DB를 바꾸거나 할 때)
🚩주요 어노테이션
@SpringBootApplication : 스프링 부트 사용에 필요한 기본 설정들을 해준다.
@SpringBootConfiguration : 스프링 부트 관련 설정
@EnableAutoconfiguration : 스프링 부트 서버가 실행될 때 스프링 부트의 메타 파일을 읽고 정의된 설정을 자동으로 구성
@ComponentScan : @Component 를 가진 클래스들을 SCAN 해서 빈으로 등록
💡빈으로 등록되는게 @Component 모양만 있진 않던데?
@Controller 파일을 확인해보면 @Component 를 가지고 있는 것을 확인할 수 있다.
@Comfiguration(설정파일등록), @Repository(ORM매핑), @Service(비즈니스로직) 도 마찬가지!
생성자 주입 방식 <= 외부에서 생성 <- 수정할 곳이 줄어든다!
클래스에 인스턴스가 생성될 때 초기부터 의존성을 주입하여 객체의 불변성을 확보하고 개발자의 실수를 줄일 수 있다.
❓코틀린 정규식 regex
특정 패턴을 가지고 문자열을 찾을 수 있다.
유효성 검사 등을 할 때 긴 조건을 나열하는 것이 아니라 간단하게 표현 가능하다.
- 어노테이션을 처음 접했을 때 이해가 안 갔던 이유
가장 상위의 뭔가가 있고 그 아래로 나열되어 있다~이런 식이면 구조를 눈에 담으려고 했을텐데
이 @는 저@에 속하고 얘는 이러한 @들을 찾고 ...이렇게 우다다다 나와서 뭘 어떻게 받아들여야할지 전혀 몰랐었다. 그럼 이 골뱅이 달린 것들이 수십개, 수백개 있고 각각의 기능들을 다 알아야 하는건가? 했었다.
스프링이 안개같이 느껴졌었는데 책 읽고 세션도 들으니 너무 재밌고 안개가 조~금 걷힌 것 같다.🫡
- step2가 막혀서 딴데로 눈을 많이 돌렸다...머리 환기시키고 나면 더 잘되겠지 🥲
강의대로 따라만 하는거랑 직접 혼자 구현하는거랑 천지차이라는걸 느꼈다...내일 5장까지 슉슉 읽고 스텝2 어떻게든 해보자!!!
목표는 스텝4 다음주 금요일까지 시도라도 해보기!
연휴는 1월1일에 즐기면 되겠지...
'왕초보일지' 카테고리의 다른 글
240102 TIL | (0) | 2024.01.02 |
---|---|
231230 | TIL (0) | 2023.12.30 |
231228 TIL | (0) | 2023.12.28 |
231227 | Todo Step1 (0) | 2023.12.27 |
231226 | Entity 작성, Service layer 연결 (0) | 2023.12.26 |