TIL(204)
-
@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 -
Tactical Design & REST API
✔오늘 배운 중요한 🔑 point상태의 전이는 클라이언트가 서버에 요청을 보내면서 리소스의 상태가 전이되거나 변경하는 과정을 의미한다. 따라서 단순히 데이터를 조회하는 GET 요청이나 데이터를 전송하는 POST 요청은 상태의 전이와 직접적인 관련이 없고 주로 PUT,PATCH,DELETE등의 요청은 리소스의 상태가 변경되기 때문에 상태의 전이와 직접적인 관련이 있다고 할 수 있다.REST API를 사용하는 이유는 HTTP 위에서 API를 통한 통신을 하기때문에 이 HTTP를 최대한 활용하고자 함이고 API만 보고 이 API가 어떤 Command를 수행하는지 쉽게 알기위해서 일반적으로 많이 선택된다 🎯 오늘 배운 내용 기획 및 설계 DDD (Domain Driven Design)우리가 해결하려는 분야..
2024.05.08 -
Spring이란
✔오늘 배운 중요한 🔑 point Spring은 Java 애플리케이션 개발을 위한 강력한 프레임워크로, 다양한 기능과 모듈화된 아키텍처를 제공하여 개발자가 유연하고 확장 가능한 애플리케이션을 쉽게 구축할 수 있도록 하며 의존성 주입(DI)과 제어의 역전(IOC)를 통해 객체지향적인 설계를 촉진하기 때문에 매우 중요하다IOC의 방법 중 하나인 DI를 사용하면 고수준 모듈이 저수준 모듈에 직접 의존하지 않고, 추상화된 인터페이스에 의존하도록 강제되기 때문에 DI는 객체지향 프로그래밍과 매우 잘 어울리는 디자인 패턴 중 하나이며, 객체 간의 결합도를 줄이고 유연한 설계를 가능하게 한다Spring Web Application구조에서 Web Layer가 객체(데이터)를 받으면 Service Layer로 넘겨주..
2024.05.07 -
데이터 타입 런타임 에러
✔오늘 배운 중요한 🔑 point잘못된 배열 인덱스 참조 뿐만 아니라 Int타입 ,Long타입 등 데이터 타입에 따라서도 런타임 오류가 발생하므로 알고리즘을 설계할때 데이터타입 선정에 있어서 신중하게 선택해야한다.🎯 오늘 배운 내용 크기가 작은 부분문자열 알고리즘 문제를 풀다가 런타임 오류 발생 코드 자체가 짧기때문에 오히려 무엇이 문제인지를 찾아내기가 많이 힘들었다..구글링을 해본 결과 대체로 배열의 크기 설정을 잘못했기 때문과 재귀함수로 인한 오류들이 많았는데 나의 경우는 이에 해당하지않았다. 해결 혹시 t와p의 문자열을 .toInt()로 변환할때 int형으로 변환하기에는 값이 너무 커서 문제일까 생각이 들어 Int타입 대신 Long타입으로 변환하니 런타임 오류 없이 해결되었다.Int형은 -2..
2024.05.06