전체 글 175

[자바 문법] Character 클래스

Oracle Java SE 8 버전의 내용입니다. ※ 현재 작성 중입니다. Character Object 클래스를 상속(extends) 받고 있다. Serializable과 Comparable 인터페이스를 구현하고 있다. 원시 타입(primitivice type) char 를 감싸고(wraps)하고 있는 클래스리소 char 타입이라는 하나의 필드(single field)를 가지고 있다. 수 많은(a lagre number of) ★ static methods (정적 메서드) ★를 제공하고 있다. => 즉, Charater.toUpperCase 와 같이 사용을 주로 한다. 특징 char 타입은 original Unicode specification 을 기본으로 하고 있다. 메소드 숫자인지 아닌지 판단 Ch..

API(Application Programming Interface)

해당 내용은 AWS에서 작성 된 글을 참고 했고 저의 생각을 정리했기 때문에 참고 부탁드리겠습니다. API가 무엇일까? 다른 소프트웨어 시스템과 통신하기 위한 규칙을 정하게 되는데 이를 API로 표시하는 방법이라고 한다. Interface라는 단어가 있기 때문에 중간에서 서로간의 소통을 하기 위한 표현방법(?)이지 않을까? 이러한 소통을 위해 정보를 주고 받는 이동수단(?)을 HTTP라는 프로토콜을 사용해서 값을 전달한다?라고 이해하고 있다. 웹 리소스라는 단어 찾으면서 특정 블로그 글을 보았는데 http://jm-baek.tistory.com/manage/newpost/?type=post&returnURL=%2Fmanage%2Fposts%2F 현재 블로그 글을 작성하고 있는 URL을 보면 위와 같이 [..

어노테이션 for 스프링

스프링에서 자주 사용하는 어노테이션을 생각 나는대로 적어보자~! @Controller: 컨트롤러 계층 등록 @RestController: 컨트롤러에서 View가 아닌 Json 형태로 객체를 반환할 때 @Service: 서비스 계층 등록 @Component: 내부적으로 자주 사용하는 메소드를 작성 할 때(?) @Configuration: 외부 라이브러리를 빈으로 등록 할 때(?) @Override: 인터페이스에서 작성한 메소드를 서비스에서 정의하기 위해 사용할 때 @Autowired: 객체 의존성 주입을 할 때~! @RequestBody: 요청 데이터를 Request 객체가 아닌 VO나 MAP 등으로 매핑할 때? @Data: LOMBOK의 어노테이션으로 @Getter / @Setter, @ToString,..

HTTP 프로토콜

인프런의 김영한님 강의를 보고 정리한 내용입니다. 먼저, 프로토콜이 뭔데? 나무위키에서는 프로토콜을 컴퓨터 또는 전자기기 간의 원활한 통신을 위해 지키기로 약속한 규약 통신을 하기 위해서 우편물과 같이 발신 수신 등의 정보와 관련 된 IP와 MAC 주소 등이 필요한데.. 우편물의 편지와 같은 HTTP에 대해서 알아보자. HTTP(HyperText Transfer Protocol) TCP: HTTP/1.1, HTTP/2 UDP: HTTP/3 HTTP/1.1을 주로 사용한다고 한다. 2와 3도 점점 사용한다. 서버간에 데이터를 주고 받을 대도 대부분 HTTP 사용한다. 특징 클라이언트 서버구조 클라이언트는 서버에 요청을 보내고, 응답을 대기 서버가 요청에 대한 결과를 만들어서 응답 무상태 프로토콜(state..

service, 비즈니스 로직이 뭔데?

저의 생각을 정리한 글입니다.! 참고만 해주세요. Serice 계층이 하는 역할이라고 하면 비즈니스 로직을 처리한다. 라는 얘기를 많이들었다 그래서 비즈니스 로직이 뭔데? 라고 궁금증이 생길 수 있다. 이 부분에 대해 일하면서 나의 경험을 얘기해보려고한다. 나의 생각에는 비즈니스 로직은 회사에서 특정 도메인을 처리하는 방법(설계?)이 있을거다. 조금 더 자세하게 예를 들면 "결재"(결제가 아니다)를 해야 하는데 회사마다 상황에 따라 결재 방식이 다르고 또한 어떻게 처리하기로 한다 라는 기준이 정해져있을 것이다. 그 외에 디테일한 처리 부분은 코드 작성하는 우리의 몫(?)이겠지만 회사마다 정해 놓은 처리하는 방법(비즈니스 로직)이 있다. 이게 바로 서비스 계층에서 처리하는 비즈니스 로직이 아닐까?라고 생각..

카테고리 없음 2023.04.12

controller, service, repository

세 개 레이어(controller, service, repository)가 DDD에 맞는 설계인지 방금알았따~! 뚜뚠. 각 계층마다 역할이 있는데 코드를 작성할 때면 controller, service 어디에서 처리하는게 좋을지 헷갈리는 경우가 가끔있다. 즉, 어느 범위까지 해당 계층이 처리해줬으면 하는 역할을 줘야하는지 실력(짬?)이 안되다 보니까 코드 마다 일관적이지 않는 부분이 있다. Service 계층에서 처리해야 되지 않을까 하는 부분을 Controller에서 처리하도록 한 적이 꽤 많다.(데헷) controller 클라이언트로부터 요청(Request)를 받고 서비스 계층으로 요청을 보내고 받은 처리된 결과를 반환하는 계층이다. service 비즈니스 로직 처리를 하는 계층으로 controlle..

DDD 설계 vs SQL 설계

제대로 이해를 못했기 때문에 해당 내용을 경계하며 읽어주셨으면 감사하겠습니다. 💥 Chat GPT가 알려준 예시이다. 주문 관리 시스템을 만든다고 가정해봅시다. SQL 중심 설계에서는 주문 데이터베이스 테이블이 존재하고, 이 테이블과 주문 상세 테이블, 상품 테이블, 회원 테이블 등이 서로 관계를 맺습니다. 따라서 데이터베이스 테이블 간의 관계가 중심이 되며, 비즈니스 로직은 데이터베이스 스키마에 맞게 설계됩니다. DDD 설계에서는 주문, 주문 상세, 상품, 회원 등의 도메인 개념이 중심이 됩니다. 예를 들어, 주문 도메인에서는 주문 생성, 주문 취소, 결제 처리 등의 비즈니스 로직이 포함됩니다. 이러한 비즈니스 로직을 기반으로 주문 도메인 객체가 설계되며, 데이터베이스 스키마는 이를 지원하기 위해 구성..