전체 글(141)
-
알고리즘(푸드 파이트 대회)
오늘은 간단한 알고리즘 문제를 풀어보자! 🔥알고리즘 문제 수웅이는 매달 주어진 음식을 빨리 먹는 푸드 파이트 대회를 개최합니다. 이 대회에서 선수들은 1대 1로 대결하며, 매 대결마다 음식의 종류와 양이 바뀝니다. 대결은 준비된 음식들을 일렬로 배치한 뒤, 한 선수는 제일 왼쪽에 있는 음식부터 오른쪽으로, 다른 선수는 제일 오른쪽에 있는 음식부터 왼쪽으로 순서대로 먹는 방식으로 진행됩니다. 중앙에는 물을 배치하고, 물을 먼저 먹는 선수가 승리하게 됩니다.이때, 대회의 공정성을 위해 두 선수가 먹는 음식의 종류와 양이 같아야 하며, 음식을 먹는 순서도 같아야 합니다. 또한, 이번 대회부터는 칼로리가 낮은 음식을 먼저 먹을 수 있게 배치하여 선수들이 음식을 더 잘 먹을 수 있게 하려고 합니다. 이번 대회를..
2024.05.14 -
예외처리를 전역적으로
✔오늘 배운 중요한 🔑 pointException을 전역적으로 처리하고 싶을때는 @ControllerAdvice, @RestControllerAdvice 어노테이션을 사용하면 된다.🎯 오늘 배운 내용 Web Layer의 컨틀롤러와 DTO를 작성하면서 클라이언트의 요청과 응답은 구현을 한 상태이다그렇다면 요청에 따른 요구사항을 코드로 작성하는 부분은 어디서 할까?바로 Service Layer에서 담당한다! 그렇다면 Controller와 Service를 어떻게 연결할까?여러 방법이 있지만 여기서는 생성자 주입을 활용하였는데 단순히 Interface를 주입을 해주어도이 Interface를 상속받는 @service 어노테이션이 붙은 Bean들을 알아서 찾아준다!interface CourseService ..
2024.05.13 -
RequestMapping 너는 내가 담당한다
✔오늘 배운 중요한 🔑 point프로세스 간 데이터를 전달하는 객체인 DTO는 Controller의 인자로 사용되는데 기본적으로 DTO는 불변성을 유지하기 때문에 data class로 작성한다그 DTO를 Controller의 인자로 사용될때 사용하는 어노테이션이 @RequestBody 이다🎯 오늘 배운 내용 Spring에서 Controller를 등록을 할때 data만 return하는 경우에는 @RestController 를 사용할 수 있다@RestControllerclass CourseController {}@RestController 어노테이션을 작성함으로서 CourseController class를 Bean으로 등록한다CourseController가 컨트롤러로 등록이 된건 OK ,그렇다면 이 ..
2024.05.12 -
@Bean
✔오늘 배운 중요한 🔑 pointIOC Conatiner가 관리하는 객체를 Bean이라고 하고 @Component로 Bean 등록이 가능하다.🎯 오늘 배운 내용Spring BeanBean이란?객체의 생성과 생명주기를 외부에서 제어하는 디자인 패턴을 IOC라고 하는데Famework에서 IOC를 제공할때, 이를 IOC Container라고 부른다!!그 IOC Container가 관리하는 객체를 Spring Bean이라고 한다! 어떻게 Bean으로 등록을 할까? 그냥 일반 class 들이 자동으로 등록이 될까?annotation을 사용해서 spring이 알수 있게 하면 된다! import org.springframework.stereotype.Component@Componentclass Playstati..
2024.05.11 -
DI는 중요해
✔오늘 배운 중요한 🔑 pointDI를 활용함으로서 객체간의 결합도를 낮추고 이는 코드를 유연하게 만들고 재활용이 용이하게 만들어 준다🎯 오늘 배운 내용 spring에서 매우 중요한 개념 중 하나인 DI DI는 Dependency Injection , 의존 관계 주입인데 , 외부에서 주입받는 디자인 패턴이다 그렇다면 DI가 왜 필요한지 알아보자!! package diclass Playstation5 { private val playstation: Game= ActionGame() fun gameTitle(): Game { playstation.getName() return playstation }}fun main(args: Array){ val playS..
2024.05.10 -
Swagger
✔오늘 배운 중요한 🔑 pointPostman과 Swagger같은 테스트 및 API 문서화를 위해 쓰는 도구는 현업에서 개발을 할때 작성한 API에 대한 정보를 프론트엔드 개발자 또한 알아야하기 때문에 이러한 도구들을 사용하는것이 중요하다🎯 오늘 배운 내용 Swagger우리가 작성하는 api를 테스트하기 위해서 사용하는 도구 Swagger 사용법Swagger는 springdoc의 springdoc-openapi-starter-webmvc-ui package를 통해 적용할 수 있다 implementation("org.springdoc:springdoc-openapi-starter-webmvc-ui:2.2.0") springdoc-openapi-starter-webmvc-ui 패키지를 dependen..
2024.05.09