Layerd Architecture와 테스트코드
인프런 워밍업 클럽 스터디 2기 - 백엔드 클린 코드, 테스트코드(Java, Spring Boot) 과정 중 Practical Testing: 실용적인 테스트 가이드를 듣고 요약한 내용입니다. 코드의 전문은 github에서 볼 수 있습니다. Layerd Architecture란? Presentation Layer, Business Layer, Per...
인프런 워밍업 클럽 스터디 2기 - 백엔드 클린 코드, 테스트코드(Java, Spring Boot) 과정 중 Practical Testing: 실용적인 테스트 가이드를 듣고 요약한 내용입니다. 코드의 전문은 github에서 볼 수 있습니다. Layerd Architecture란? Presentation Layer, Business Layer, Per...
대 AI의 시대 ChatGPT는 2022년 11월 30일에 출시된 LLM(Large Language Model)이다. 출시 초기에는 할루시네이션(잘못된 정보 제공) 문제가 있었음에도 불구하고, ChatGPT가 구글 검색을 대체할 것이라는 논의가 일어나기도 했다. 2년이 지난 지금은 성능이 훨씬 개선된 모델들이 등장하며, 일부 직업군에서는 AI가 직업...
Practical Testing: 실용적인 테스트 가이드를 듣고 요약한 내용입니다. TDD 테스트 주도 개발 Test Driven Development 프로덕션 코드보다 테스트 코드를 먼저 작성하여 테스트가 구현 과정을 주도하도록 하는 개발 방법론 RED → GREEN → REFACTOR 실패하는 테스트 작성 ...
Practical Testing: 실용적인 테스트 가이드를 듣고 요약한 내용입니다. 테스트란? 테스트를 하는 이유, 필요한 이유 빠른 피드백 자동화 안정감 테스트 코드가 없다면? 변화가 생기는 매순간마다 발생할 수 있는 모든 Case를 고려해야 한다. 변...
Readable Code: 읽기 좋은 코드를 작성하는 사고법를 듣고 요약한 내용입니다. 주석의 양면성 리팩토링 시, 큰 난관 중 하나는 히스토리를 전혀 알 수 없는 코드다. 의사 결정의 히스토리를 코드로 표현할 수 없을 때, 주석으로 설명 주석을 작성할 때, 자주 변하는 정보는 지양 주석이 없는 코드보다 부정확한 주...
Readable Code: 읽기 좋은 코드를 작성하는 사고법를 듣고 요약한 내용입니다. 상속과 조합 상속보다 조합을 사용하자! 상속은 시멘트처럼 굳어지는 구조다. 수정이 어렵다. → 부모와 자식의 결합도가 높다. 조합과 인터페이스를 활용하는 것이 유연한 구조. → 중복이더라도 유연한 구조 »» ...
Readable Code: 읽기 좋은 코드를 작성하는 사고법를 듣고 요약한 내용입니다. 객체 설계하기 객체로 추상화하기 비공개 필드(데이터), 비공개 로직(코드) 공개 메서드 선언부를 통해 외부 세계와 소통 각 메서드의 기능은 객체의 책임을 드러내는 창구이다. 객체의 책임이 나뉨에 따라 객체간 협력이...
Spring Quartz? Spring Quartz는 Spring Framework와 Quartz Scheduler를 통합하여 작업 스케줄링을 더욱 쉽게 만들어주는 오픈 소스 라이브러리입니다. 주기적인 작업을 예약하거나 특정 시간에 작업을 실행할 수 있도록 도와주며, 다양한 환경에서 안정적으로 동작합니다. Quartz의 특징 유연한 스케줄링: ...
DTO 란 무엇인가? DTO(Data Transfer Object)는 계층 간 데이터 교환을 위해 사용되는 객체를 말합니다. 주로 다음과 같은 상황에서 사용됩니다. 계층 간 데이터 전송: 프레젠테이션 계층(API 컨트롤러)과 도메인 계층 간에 데이터를 전달할 때 DTO를 사용합니다. 이를 통해 계층 간의 의존성을 낮출 수 있습니다. ...
실전 카프카 개발부터 운영을 읽고 제 나름대로 정리한 글 입니다. 등장 배경 회사 규모가 커지고 사업이 다각화되면서 데이터에 대한 요구사항이 증가함. -> 데이터의 변화가 스트림으로 컨슈머 측에 전달되는 Event Driven System 으로서의 전환이 필요. 데이터를 소비하는 컨슈머들이 자신의 요구사항에 따라 데이터를 처리하거나 구독할...