Java+ 3

+ / Logging

로깅 라이브러리스프링 부트 라이브러리 사용>> 스프링 부트 로깅 라이브러리(spring-boot-starter-logging) 포함 Logback, Log4J, Log4J2 등 수많은 라이브러리>> 통합 인터페이스 SLF4J 라이브러리>> 실무에서는 스프링 부트가 기본 제공하는 구현체인 Logback 대부분 사용 @RestController반환 값이 String이면 뷰 이름으로 인식>> 뷰를 찾고 뷰가 렌더링됨반환 값으로 뷰를 찾는 것이 아니라 HTTP 메시지 바디에 바로 입력>> 실행 결과 ok 메세지 받음 테스트로그가 출력되는 포멧 확인>> 시간, 로그 레벨, 프로세스 ID, 쓰레드 명, 클래스 명, 로그 메시지로그 레벨 설정>> TRACE > DEBUG > INFO > WARN > ERROR>> 개..

Java+ 2025.04.04

+ / 의존성 주입

의존성 주입(Dependency Injection)객체 지향 프로그래밍에서 중요한 디자인 패턴 중 하나객체가 필요로 하는 의존 객체를 외부에서 주입하는 방식>> 객체 간의 결합도를 낮추는 데 도움 객체가 자신이 사용할 의존 객체를 직접 생성하지 않고 외부에서 생성된 객체를 주입받음>> 자신의 구현에만 집중, 변경에 유연하게 대처 생성자 주입 : 객체 생성 시점에 의존성 주입세터 주입 : 객체 생성 후 세터 메서드를 통해 의존성 주입인터페이스 주입 : 의존성 주입을 위한 별도의 인터페이스 사용 장점코드의 재사용성 증가코드의 유지보수성 향상객체 간의 결합도 감소단위 테스트 용이성 증가

Java+ 2025.03.16

+ / 테스트 주도 개발

초기의 개발 프로세스전통적 공학론적 개발 프로세스>> 사전에 철저히 검증된 계획 하에 장기간에 걸쳐 많은 인원과 비용을 투입해 목표를 완수 소프트웨어 개발도 초기에는 위 프로세스를 따라 폭포수 모델 등을 따름>> 구현하게 될 소프트웨어의 규모가 커지고 복잡해져 소프트웨어 위기(Software Crisis) 문제 초기 개발 프로세스의 문제소프트웨어는 유동적이고 예측하기 어려움>> 확장가능성, 개방적 구조 요구 1. 개발에 적용할 수 있을 수준의 구체적인 요구사항을 작성하는 것이 매우 어려움2. 규모가 커질수록 설계에 요구되는 시간과 비용이 기하급수적으로 증대3. 실제 개발에 들어가고나서 정해진 요구사항이 변경되거나 다양한 문제점 발견4. 위와 같은 문제로 인해 작업 난이도 및 개발일정을 예측하는 것이 어려..

Java+ 2025.03.15