[Spring] 스프링 컨테이너(IoC, DI 컨테이너)
Back-End/Spring2025. 4. 2. 17:44[Spring] 스프링 컨테이너(IoC, DI 컨테이너)

이 글은 인프런 김영한님의 Spring 강의를 바탕으로 개인적인 정리를 위해 작성한 글입니다.SRP (Single Responsibility Principle) :하나의 클래스는 오직 하나의 책임만 가져야 한다.OCP (Open/Closed Principle) :소프트웨어 요소는 확장에는 열려 있고, 변경에는 닫혀 있어야 한다.LSP (Liskov Substitution Principle) :자식 클래스는 부모 클래스의 기능을 대체할 수 있어야 한다.ISP (Interface Segregation Principle) :특정 클라이언트를 위한 인터페이스 여러 개가 범용 인터페이스 하나보다 낫다.DIP (Dependency Inversion Principle) :구체화가 아닌 추상화에 의존해야 한다. OCP..

[java] 백준 2343번 문제(기타 레슨)
자료구조 & 알고리즘/BOJ2025. 4. 2. 10:53[java] 백준 2343번 문제(기타 레슨)

원본 링크 : https://www.acmicpc.net/problem/2343문제설명  소스코드import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.StringTokenizer;public class Boj_2343{ static int N, M; static int[] lesson; static int left, right; public static void main(String[] args) throws IOException { BufferedReader br =new BufferedReader(new InputStreamR..

[Java] @NoArgsConstructor(access = AccessLevel.PROTECTED)
Language/Java2025. 4. 1. 18:33[Java] @NoArgsConstructor(access = AccessLevel.PROTECTED)

@NoArgsConstructor(access = PROTECTED)는 Lombok에서 제공하는 애노테이션으로, 기본 생성자(매개변수가 없는 생성자)를 접근 제어자 protected로 생성해주는 기능을 한다.핵심 의미@NoArgsConstructor(access = AccessLevel.PROTECTED)이 코드는 다음과 같은 생성자를 자동 생성한다. protected 클래스이름() {}즉, 생성자 메서드를 일일이 작성하지 않아도 되고, 접근 제어자까지 명확하게 설정 가능하다. 사용 목적JPA 엔티티용 기본 생성자JPA는 엔티티 객체를 만들 때 기본 생성자가 필요하다.하지만 외부에서 마음대로 new로 객체를 생성하는 건 막고 싶을 때 protected를 쓴다.@Entity@NoArgsConstructor..

Back-End/Test Code2025. 4. 1. 15:30[JUnit + AssertJ] 주요 메서드

주요 메서드 정리JUnit 주요 메서드 (org.junit.jupiter.api.Assertions) 메서드 설명 예시 assertEquals(expected, actual) 값이 같은지 비교 assertEquals(10, sum) assertNotEquals(expected, actual) 값이 다르면 통과 assertNotEquals(0, result) assertTrue(condition) 조건이 true면 통과 assertTrue(value > 0) assertFalse(condition) 조건이 f..

Back-End/Test Code2025. 4. 1. 15:26[JUnit] 테스트 코드 애노테이션

@Test의미: 이 메서드는 테스트 메서드임을 명시한다.위치: 테스트 메서드 위@Testvoid 회원가입_성공() { // given // when // then} @BeforeEach의미: 각 테스트 메서드 실행 직전마다 실행된다.주 용도: 공통 초기화, 테스트 상태 정리@BeforeEachpublic void beforeEach() { memberRepository = new MemoryMemberRepository(); memberService = new MemberService(memberRepository); } @AfterEach의미: 각 테스트 메서드 실행 직후마다 실행된다.주 용도: 리소스 정리, 로그 기록 등@AfterEachpublic void afterEac..

[java] 백준 1167번 문제(트리의 지름)
자료구조 & 알고리즘/BOJ2025. 3. 31. 12:09[java] 백준 1167번 문제(트리의 지름)

원본 링크 : https://www.acmicpc.net/problem/1167문제설명  소스코드import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.ArrayList;import java.util.StringTokenizer;public class Boj_1167{ static class Node { int number; // 정점 번호 int distance; // 거리 Node(int number, int distance) { this.number = number; ..

[java] 백준 2178번 문제(미로 탐색)
자료구조 & 알고리즘/BOJ2025. 3. 29. 12:31[java] 백준 2178번 문제(미로 탐색)

원본 링크 : https://www.acmicpc.net/problem/2178문제설명  소스코드import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.LinkedList;import java.util.Queue;import java.util.StringTokenizer;public class Boj_2178{ static int[][] arr; // 미로 static boolean[][] visited; // 방문 체크 static int n; static int m; public static void main(String[] args) th..

[Spring] Spring Boot + Swagger
Back-End/Spring2025. 3. 28. 17:45[Spring] Spring Boot + Swagger

GitHub 저장소: https://github.com/springdoc/springdoc-openapi최신 릴리즈: https://github.com/springdoc/springdoc-openapi/releasesMaven Central: https://search.maven.org/search?q=g:org.springdoc SwaggerSwagger는 RESTful API를 설계, 문서화, 테스트할 수 있도록 도와주는 오픈소스 툴 세트이다.현재는 OpenAPI Specification(OAS)이라는 이름으로 공식적으로 관리되며, 그 구현체 중 하나가 Swagger이다.Swagger는 API의 명세(Specification)를 기계가 읽을 수 있는 형식(JSON 또는 YAML)으로 작성하고,이를 바..

image