컴퓨터는 어떻게 동작하는가컴퓨터에는운영체제 라는 것이 있다.해당 운영체제에서는 컴퓨터의 두뇌인 커널 과 여러 프로그램이 잘 작동할 수 있도록 도와주는 주변 부분 으로 구성되어 있음.도커는 어떻게 동작하는가도커는 컴퓨터안에서 작은 가상 공간을 만들어주는 기술이다.작은 가상 공간을컨테이너 라고 한다.컨테이너는 작은 컴퓨터처럼 독립적으로 작동한다.그래서 컨테이너 안에는 자기만의 주변 부분 이 있어서, 컨테이너 안에서 실행되는 프로그램들이 필요한 명령어를 주고 받는다.하지만, 커널의 경우 모든 컨테이너들이 공유한다.커널을 공유하는 경우 여러 컨테이너들이 컴퓨터의 자원을 효율적으로 사용이 가능하다. Uploaded by N2T
package org.example.알고리즘.바탕화면정리; import java.util.Arrays; class Solution { public static void main(String[] args) { Solution solution = new Solution(); System.out.println(Arrays.toString(solution.solution(new String[]{ ".#...", "..#..", "...#." }))); System.out.println("================================"); System.out.println(Arrays.toString(solution.solution(new String[]{ "..........", ".....#.....
Swagger UI 와 Spring RestDocs 의 장 단점의 비교Swagger UI 의 장점직관적인 UI스웨거는 API 에 대한 요청과 응답 등을 시각적으로 표현하여 사용자가 쉽게 이해할 수 있습니다실시간 테스트API 엔드포인트에 대한 실시간 테스트를 제공합니다.Swagger UI 의 단점어노테이션 수동 기입 기반 API어노테이션 등을 수기로 기입하여 문서를 생성하기에, 코드와 문서간의 불일치가 발생할 수 있다.유지 보수의 문제성API 변경시마다 스웨거 어노테이션을 수정해야한다.복잡코드가 진짜~ 너무 더럽다어노테이션때문에 불필요하게 컨트롤러단과 DTO 단에서 피로함이 가중된다.Spring Rest Docs 의 장점정확성테스트 코드를 기반으로 문서를 생성하기에 코드와 문서간 일관성 유지가 가능하다가볍..
https://github.com/traeper/api_documentation GitHub - traeper/api_documentation: OpenApi Spec을 이용한 API 문서화 OpenApi Spec을 이용한 API 문서화. Contribute to traeper/api_documentation development by creating an account on GitHub. github.com 해당 링크 참조 RestDocs 에 스웨거 API 테스트 화면을 적용하여 사용이 가능하다. https://oth3410.tistory.com/313 [리팩토링] Swagger UI + Spring RestDocs 적용기 Swagger UI 와 Spring RestDocs 의 장 단점의 비교Swagg..
애그리거트애그리거트는 관련된 객체를 하나의 그룹으로 묶어주는 단위주문(루트 애그리거트)주문서주문자주문배송정보이를 통해 복잡한 도메인 모델을 상위 수준에서 쉽게 이해하고 관리가 가능해진다.개별 객체와 상위 수준의 모델의 관계성상세 모델의 복잡성의 문제개별 객체 단위로 모델을 바라보면, 상위 수준에서의 관계를 파악하기 어려워진다.이는 코드 변경과 확장을 어렵게 만들며, 전체 모델을 이해하지 못한 상태에서의 코드 수정은 장기적으로 문제를 야기할 수 있습니다.예를 들어, 상위 수준에서 도메인 모델을 정리할 수 있다면, 주요 엔티티 간의 관계를 쉽게 파악할 수 있다.주문은회원, 상품, 결제와 관련이 있다는 것을 상위 수준의 모델에서 확인할 수 있다.애그리거트의 생애주기객체의 라이프사이클한 애그리거트에 속한 객체들..
직접 참조의 문제점편한 탐색 요용한 애그리거트 내부에서 다른 애그리거트에 접근하여 상태를 변경할 수 있게,애그리거트의 경계가 모호해지고 의존성이 증가한다.성능적 고민JPA 사용하는 경우 지연 로딩과 즉시 로딩 중 어떤 것을 사용할지 결정해야한다.애그리거트의 기능에 따라 달라짐.확장성의 문제시스템이 성장하면서 하위 도메인별로 분리하고,다양한 저장소를 사용하게됨.public class Order { private Orderer orderer; public void changeShippingInfo(ShippingInfo newShippingInfo, boolean useNewShippingAddrAsMemberAddr) { if (useNewShippingAddrAsMemberAddr) { orderer.g..