본문 바로가기

분류 전체보기191

23.08.17 이번 프로젝트에서는 3개 이상의 필드를 가지고 있는 dto는 builder 패턴을 사용해보기로 했다. 그 이유는 2개 이하일 때는 builder의 장점을 살리기도 힘들고, 오히려 builder를 적용하는데 드는 비용이 더 크다고 생각했기 때문이다. 또한 entity에서도 필드가 너무 많으면 @Setter 보단 dto를 사용하기로 한다. @Setter는 후에 추적하기 힘들기 때문. 덱을 삭제할 때 archived된 덱만 삭제가 가능하도록 만들기로 했기 때문에 서비스에서 해당 기능을 구현할 때 deck.getIsDeleted를 사용하려 했으나 get으로 가져오지 못하는 상황이 발생했다. 다른 필드들은 정상적으로 get으로 가져올 수 있었기에 무엇이 문제인가 했더니, @Getter는 boolean 타입의 필드.. 2023. 8. 17.
mvc 패턴 MVC란 Model-View-Controller의 약자로, 사용자 인터페이스 데이터 논리 및 제어를 구현하는데 널리 사용되는 소프트웨어 디자인 패턴이다. 비즈니스 로직과 화면을 구분하는데 중점을 두는데, 이러한 분리는 더 나은 관심사 분리와 관리를 제공한다. 그 외에 MVVM(모델,뷰,뷰모델), MVP (모델-뷰-프리젠터), MVW (모델-뷰-왓에버)가 있다. MVC는 위에서 말한 것과 같이 아래와 같이 정리할 수 있다. 모델: 데이터와 비즈니스 로직을 관리합니다. 뷰: 레이아웃과 화면을 처리합니다. 컨트롤러: 명령을 모델과 뷰 부분으로 라우팅합니다. 모델은 일반적으론 뷰에게, 또는 업데이트 된 뷰를 제거하기 위해 가끔 컨트롤러에게 데이터가 어떻게 변경됐는지, 어떤 데이터를 보여줄지 지정하는 역할을 한다.. 2023. 8. 17.
23.08.16 S.A를 작성하면서 알아둬야할 사항들이 몇 생겼다. 1. STOMP, SMTP, Redis - 이메일 인증을 위한 얘기를 나눌 때 나온 사항 2. queryDSL - 카드 라벨로 필터링을 하기 위한 기능에 필요할지도 모른다고 함 3. PATCH - PUT과 유사한 메서드로, 일부 수정을 위한 기능을 구현할 때 사용하기로 함 4. Git PR과 Merge 관련된 규칙들에 대해 알아두자 5. Swagger @Tag 와 @Operation 어노테이션 6. log.error() - log.info는 개발 과정 중에만 사용하고 결과물에는 남겨주지 않고, 에러에 대해서만 log.error을 남겨둔다. 7. 테스트 코드 작성 8. 애자일 방법론 9. @Builder 2023. 8. 16.
NoSQL과 RDBMS의 특징과 차이점(장, 단점)에 대해서 NoSQL Not only SQL의 약자이며, 비관계형 데이터베이스 유형을 가리킨다. 관계형 데이터베이스와는 다른 방식으로 데이터를 저장하며, 언어마다 관습화된 API, 선언적 구조의 쿼리 언어, 쿼리별 언어를 사용하여 질의할 수 있다. 변화하는 요구사항에 빠르게 적응하고 개발 패러다임에 자연스럽게 활용되는 이점 때문에 실시간 웹 애플리케이션 및 빅 데이터에 널리 사용된다고 한다. 데이터가 보다 직관적이고 쉬운 방식 또는 애플리케이션이 사용하는 방식에 가깝게 저장된다. 따라서 저장 또는 검색시 데이터 변환의 필요성이 줄어든다. 또한 다운타임이 없는 클라우드의 이점을 온전히 누릴 수 있다. 사전에 스키마를 정의하지 않아도 데이터를 저장할 수 있다. 즉, 작업을 진행하는 동시에 데이터를 정의하는 방식으로 빠.. 2023. 8. 16.