study 4

[WebSocket] WebSocket을 활용한 실시간 요청 및 응답 구현

프로젝트를 진행하던 중, 사용자에게 실시간으로 진행상황을 보여주고 싶었다. '어떻게 구현을 할 수 있을까?' 생각을 하다가 실시간 채팅 구현에 많이 사용한다는 WebSocket을 이용해 보기로 했다. 현재 개발 프로세스는 크게 다음과 같다. 모델 서버에서 AI 모델이 돌아가고 있다. 사용자의 요청을 받은 AI 모델이 무엇인가를 만들어낼 때마다 '나 이만큼 만들었어!' 하고 web 서버한테 현재 진행상황에 대한 내용을 보낸다. web 서버는 그 내용을 받아 사용자에게 return 해준다. 우선 모델 서버에 직접 개발하기 전, WebSocket에 대해 처음 인지했기 때문에 다른 환경에서 한 번의 연결로 계속 통신이 되는지를 테스트해보고자 한다. 그전에, WebSocket에 대해 잠깐 알아가는 시간을 가져보자..

학습 2023.11.16

[springboot] 실전! 스프링부트와 JPA 활용 - 4. 주문 도메인(Order)

상품 도메인 개발에 이어 이번에는 주문 도메인을 구현하려고 한다. 주문 도메인 개발은 내용이 많으니 차근차근 정리를 해보자! 주문 도메인 개발 구현 기능 상품 주문 주문 내역 조회 주문 취소 순서 주문 엔티티, 주문상품 엔티티 개발 주문 Repository 개발 주문 서비스 개발 주문 검색 기능 개발 주문 기능 테스트 주문, 주문상품 엔티티 개발 주문 엔티티 개발 주문 엔티티 코드 @Entity @Table(name = "orders") @Getter @Setter public class Order { // 주문 엔티티 @Id @GeneratedValue @Column(name = "order_id") private Long id; @ManyToOne(fetch = FetchType.LAZY) @Join..

springboot 2023.11.14

[springboot] 실전! 스프링부트와 JPA 활용 - 3. 상품 도메인(Item)

저번에 이어 이번에는 상품 도메인 개발을 해볼 예정이다. 상품 도메인 개발 구현 기능 상품 등록 상품 목록 조회 상품 수정 순서 상품 엔티티 개발(비즈니스 로직 추가) 상품 리포지토리 개발 상품 서비스 개발 상품 기능 테스트 상품 엔티티 개발(비즈니스 로직 추가) 상품 엔티티 코드 상품의 수량을 추가하고 빼는 로직을 추가했다. @Entity @Inheritance(strategy = InheritanceType.SINGLE_TABLE) @DiscriminatorColumn(name = "dtype") @Getter @Setter public class Item { // 상품 엔티티 @Id @GeneratedValue @Column(name = "item_id") private Long id; privat..

springboot 2023.11.14

[springboot] 실전! 스프링 부트와 JPA 활용 - 2. 회원 도메인(Member)

저번 Entity 생성에 이어 회원 관련 로직을 생성해 보자. 예제를 단순화하기 위해 다음 기능은 구현하지 않는다. 로그인과 권한 관리 사용 X 파라미터 검증과 예외처리 사용 X 상품은 도서만 사용 카테고리 사용 X 배송 정보는 사용 X 애플리케이션 아키텍처 계층형 구조 사용 controller, web : 웹 계층 service : 비즈니스 로직, 트랜잭션 처리 repository : JPA를 직접 사용하는 계층, 엔티티 매니저 사용 domain : 엔티티가 모여 있는 계층, 모든 계층에서 사용 개발 순서 : service, repository 계층을 개발하고, 테스트 케이스를 작성해서 검증, 마지막에 웹 계층에 적용 회원 도메인 개발 구현 기능 회원 등록 회원 목록 조회 순서 회원 repository..

springboot 2023.11.13
반응형