개발공간/HW 17

❓DI를 구현하는 가장 좋은 방법?!

1번 과제가 수월하다고 했더니만 2번 과제를 보고 머리가 띵 ~ 했다,, ㅎㅎㅎㅎ 아침인 탓이겠지? 🙄 Controller는 클라이언트의 요청을 받아와 처리하는 역할을 함 그리고 비즈니스 로직을 처리하는 Service가 존재! 그리고 Service는 데이터베이스와 직접적으로 연결되는 Repository를 用 但, 이렇게 각각의 객체를 직접 생성해서 사용한다면, 코드의 유지 보수나 기능 변경 시 많은 문제가 발생할 수 있음 따라서 이 문제를 해결하기 위해 스프링 프레임워크에서는 의존성 주입(DI)이라는 개념을 도입하게 됨 DI를 구현하는 방법으로는 크게 아래 3가지가 존재함 1️⃣ 어노테이션 사용하기 2️⃣ 생성자 사용하기 3️⃣ Setter 사용하기 그 중 어떤 방법이 제일 좋을까? 💭 내 생각에는 2번..

개발공간/HW 2023.04.19

❓REST API 규칙

🔥 T.G.I.F 🔥 을 맞이해 알아보는 REST API 규칙! REST API는 웹 서버에게 요청을 보내고, 응답을 받아오는 방법을 정해놓은 규칙 REST API 규칙을 지키면, 서버와 클라이언트가 서로 원활하게 통신할 수 있음! 1. URI에는 동사보다는 명사를 사용 - 예를 들어, "사용자 정보 조회"라는 동작을 수행하기 위해서는 /users와 같은 URI를 用 2. 자원에 대한 행위는 HTTP Method(GET, POST, PUT, DELETE)로 표현 ex) "/users"에 대한 사용자 정보 전체 조회 : GET /users "/products"에 새로운 제품 등록 : POST /products "/users/1"에 대한 사용자 정보 수정 : PUT /users/1 "/products/2"에..

개발공간/HW 2023.04.14

❓REST API vs RESTful API

❓REST API vs RESTful API 비슷하지만 다른 둘의 차이를 알아봅시다! REST API와 RESTful API는 비슷한 개념이지만, RESTful API가 REST API의 원칙을 따르면서도 보다 엄격한 제약을 지켜서 설계된 API를 말한다! 즉, REST API는 서버와 클라이언트 간의 데이터를 주고받는 방법을 정의한 것이고, RESTful API는 이 규칙을 보다 엄격하게 지키면서 API를 설계한 것입니다. 💭 예시로 더 쉽게 이해해보기 쇼핑몰에서 상품 목록을 가져오기 위해 REST API를 사용한다면, 예를 들어 /products와 같은 URI를 사용하고 GET 메소드를 사용할 수 있음 서버는 해당 URI에 대한 요청을 받으면 상품 목록을 응답으로 보내게 됨 但, RESTful API..

개발공간/HW 2023.04.13

💭 본격 프로젝트 Entity 구상해보기

오늘 받은 미션은 꽤나 시간이 필요할 것 같았다. 메모 좋아 인간인 나는 일단 노트에 대충 틀을 짜둔 후, 블로그에 정리해보려고 한다. ✍🏻 배달 어플리케이션에서 필요한 음식 entity는 뭐가 있을까? 배달에서 음식만큼 중요한건 없을거다?! 그렇다면 내가 만들 api에서 쓸 entity를 짜보자! - 음식 ID - 음식 이름 - 음식 가격 - 음식 카테고리 - 음식 설명 - 음식 이미지 - 음식 수량 사실 주문 가능 여부, 할인율, 재료 정보, 영양 성분 등등 많은 것들이 들어갈 수 있을 것 같은데 저렇게 까지 복잡한 것은 내 수준에서 감당 불가... 하기에 간단하게 짜보았다! 뭐 물론 나~중에 생각이 바뀐다면 수정하겠지만? 오늘은 아주 가볍게 생각해보기! 💻 그렇게 해서 짜 본 entity packa..

개발공간/HW 2023.04.13

❓REST API

바쁘다 바빠 현대 사회 ⏰ 분명 10시 땡하자 마자 과제 확인하고 티스토리까지 켜뒀는데! 갑자기 일이 생겨서 여태 밖에 있다가 과제 하려고 호다닥 뛰어 들어 온 오늘의 나.... 너무 힘든 와중에 계획형 인간은 하루종일 과제 .. 과제.. 하면서 괴로웠다는 소문이 😢 오늘은 REST API가 뭔지 알아보자! ✍🏻 REST API REST스럽게 설계하라는 말을 무수히 많이 들어봤으나 대체 REST API가 뭘까? REST API는 인터넷에서 서로 다른 컴퓨터 시스템 간에 통신을 할 때 사용하는 방법 중 하나 그렇다면 API는 뭔데? -> API란 "Application Programming Interface"의 약자로, 우리가 사용하는 프로그램과 다른 프로그램이 서로 상호작용할 수 있도록 만들어진 일종의 ..

개발공간/HW 2023.04.12

🔎 스프링에서 사용하는 어노테이션

🌱 스프링에서 사용하는 어노테이션들은 어떤 것이 있을까? 🔎 어노테이션 기반의 프레임워크인 스프링에서 자주 사용되는 어노테이션들을 찾아보자! @Autowired: 스프링에서 빈을 자동으로 주입할 때 사용 @Service: 비즈니스 로직이 구현된 클래스에 사용 @Component: 스프링이 관리하는 빈으로 등록할 클래스에 사용 @Controller: 스프링 MVC에서 컨트롤러로 사용 @Transactional: 트랜잭션 처리를 위해 사용 @RequestMapping: 요청 URL과 컨트롤러의 메소드를 매핑시키는데 사용 @Configuration: 스프링 설정 파일임을 나타냄 @ResponseBody: 메소드가 반환하는 값을 HTTP 응답 본문으로 사용할 때 사용 @Valid: 입력 값의 유효성 검사를 위해..

개발공간/HW 2023.04.11

❓HTTP

✍🏻 HTTP가 뭘까? 인터넷을 통해 정보를 주고받을 때 사용되는 통신 규약 즉, 클라이언트와 서버 간에 데이터를 주고 받기 위해 사용하는 규칙 ✍🏻 그렇다면 HTTP Method는? 클라이언트가 서버에게 요청할 때 사용하는 명령어라고 생각하면 됨! ex) 클라이언트가 서버에게 어떤 정보를 요청하거나, 어떤 작업을 수행하라고 요청할 때 HTTP Method를 이용해서 요청! HTTP Method에는 여러 가지가 있지만, 대표적인 것으로는 GET, POST, PUT, DELETE 등이 있다. 각각의 HTTP Method는 클라이언트와 서버 간의 데이터 전송 방식이나 목적이 다르다는 것! 🔎 8가지 종류에 대해 알아보자! GET POST PUT DELETE HEAD OPTIONS CONNECT TRACE 사..

개발공간/HW 2023.04.11

🔎 비지니스 로직이 뭔데?

와 ... Service에 비지니스 로직 수행한다고 적었는데 쌤은 무슨 능력을 가지고 계신거지? 👻 역시 우리를 너무 잘 아신다💟 생각해보니 매번 비지니스 로직, 비지니스 로직 하면서 정작 뭔지 잘 모르고 사용했던 것 같다. 오늘 그 개념을 정리해보는걸로 ~~~! ✍🏻 ❓ 비지니스 로직에 대해 생각나는대로 적어보기 - 핵심 기능 수행 - 필요한 기능에 관련된 모든 작업? - 주요 작업 - 애플리케이션이 해야 할 중요한 일? ex) 쇼핑몰이라고 가정했을 때, 상품 주문이 들어오면 재고가 있는지 확인한다던지 그런 모든 일? 머리를 쥐어 짰는데도 이게 한계라니...! 흑흑 좀 더 고민해보자 💭

개발공간/HW 2023.04.07

🔎 DDD를 기반으로 Controller, Service, Repository 3대장을 알아보자

오늘의 미션은 DDD를 기반으로 Controller, Service, Repository 3대장을 알아보기! 나는 예시를 활용한 공부가 가장 잘 맞기 때문에 예시를 활용해 공부해보자 ✍🏻 💡Controller, Service, Repository가 대체 뭔데? 쉬운 이해를 위해 쇼핑몰 애플리케이션을 만든다고 가정해보자! 이 애플리케이션에는 상품을 등록하고, 주문을 처리하는 기능이 있고, 이를 DDD 아키텍처를 적용해 설계한다고 생각해보기 🤔 1. Controller - 사용자의 요청을 받고, 해당 요청을 처리하는 기능을 담당 - ex) 사용자가 상품을 등록하려면 ProductController이 필요함 - ProductController는 사용자로부터 받은 상품 정보를 검증하고, ProductServic..

개발공간/HW 2023.04.07

❓Entity & DTO & VO

✨ 오늘의 미션이 꽤나 많고 어려워 보이는건 기분 탓이겠쥬~? 비오는 날 창문 밖 빗소리 들으며 공부하는게 얼마나 좋은 일인데요 ☔ 🧩 Entity(엔티티) - 소프트웨어에서 실제로 사용되는 데이터를 나타내는 개념 - 학생의 이름, 나이, 성별, 학년, 학 등이 Entity의 속성이 될 수 있음 🧩 DTO(데이터 전송 객체) - 데이터를 전송하기 위해 사용되는 개념 - 예를 들면, 클라이언트와 서버 사이에서 데이터를 주고 받을 때 사용되는 데이터 모델이 DTO가 될 수 있음 - DTO는 주로 특정한 목적에 따라 필요한 데이터만을 담고 있음 🧩 VO(값 객체) - 값을 갖는 객체로, 불변하게 설계되어 있는 개념 - VO는 주로 데이터의 일부분이나 조합된 값들을 표현하기 위해 사용됨 - 즉, 학생의 주소나 ..

개발공간/HW 2023.04.05