일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 소프트웨어의 품격
- fetch join
- 그래프큐엘
- spring formatter
- open-session-in-view
- 정적팩토리메서드
- 수정자주입
- IOC
- kotlin ::
- 자바 필터
- 스프링부트 도커
- 스프링
- 기능적 요구사항
- jpa no session
- jpa lazy
- java predicate
- 스프링시큐리티
- 스프링 시큐리티 설정
- 비기능적 요구사항
- 생성자주입
- 스프링 포매터
- Spring
- method refetence
- kotlin 리팩터링
- Atomicity
- 토비의 스프링
- 동적파라미터
- 스프링di
- 도커 이미지 빌드
- ioc컨테이너
- Today
- Total
목록분류 전체보기 (109)
공부기록
GraphQL 개요 GraphQL ? GraphQL은 클라이언트와 서버 간의 통신명세(스펙)이다 API를 만들 때 사용할 수 있는 쿼리 언어. 실제로 필요한 데이터만 받도록 작성할 수 있다. GraphQL 설계 원칙 위계적 필드 안에 다른 필드가 중첩될 수 있으며, 쿼리와 그에 대한 반환 데이터는 형태가 서로 같다. 제품 중심적 GraphQL은 클라이언트가 요구하는 데이터와 클라이언트가 지원하는 언어 및 런타임에 맞춰 동작한다. 엄격한 타입 제한 GraphQL 서버는 GraphQL 타입 시스템을 사용한다. 스키마의 데이터 포인트마다 특정 타입이 명시되며 이를 기초로 유효성 검사를 한다. 클라이언트 맞춤 쿼리 GraphQL 서버는 클라이언트 쪽에서 받아서 사용할 수 있는 데이터를 제공한다. 인트로스펙티브 ..
아이템 17. 변경가능성을 최소화하라. 불변클래스 인스턴스의 내부 값을 수정할 수 없는 클래스 불변 객체는 단순하다. 생성된 시점의 상태를 파괴될 때까지 그대로 간직한다. 스레드세이프하여 따로 동기화할 필요가 없다. 불변객체는 안심하고 공유할 수 있다. clone메서드나 복사 생성자는 제공하지 않는 게 좋다. 자유롭게 공유가 가능하고, 불변 객체끼리는 내부 데이터를 공유할 수 있다. 맵의 key와 set의 원소로 쓰기에 좋다. 실패 원자성을 제공한다 불변클래스를 만드는 법 객체의 상태를 변경하는 메서드를 제공하지않는다. 클래스를 확장할 수 없도록 한다. ( 대표적으로 클래스를 final로 선언) 모든 필드를 final로 선언한다 모든 필드를 private으로 선언한다. 자신 외에는 내부의 가변 컴포넌트에..
스프링부트 2.2부터 JUnit5가 기본적으로 의존성에 추가된다. 클래스와 테스트메서드에 더이상 public 접근제한자 설정 안해줘도 된다. package-private으로 설정하면 된다. @Test JUnit4의 @Test와 같은 애너테이션이라고 이해하면 된다. @BeforeAll 모든 테스트메서드가 실행하기 전 딱 한 번만 호출한다. static void 여야한다 @AfterAll 모든 테스트메서드가 실행한 후 딱 한 번만 호출한다. static void 여야한다 @BeforeEach 개별 테스트 메서드가 실행되기 전 호출한다. @AfterEach 개별 테스트 메서드가 실행한 후 호출한다 @Disabled 테스트 메서드 위에 붙이면 그 테스트는 Ignored 된다. 기본적인 테스트 코드 class B..
TCP란? 계층으로 말하자면 트랜스포트(전송) 계층에 해당된다. 신뢰성있는 바이트 스트림 서비스를 제공한다. 바이트 스트림 서비스: 용량이 큰 데이터를 보내기 쉽게 TCP 세그먼트라는 단위 패킷으로 작게 분해하여 관리하고 상대에게 서비스한다 결론 TCP는 대용량의 데이터를 보내기 쉽게 작게 분해하여 상대에게 보내고 정확하게 도착했는지 확인하는 역할을 한다. 쓰리웨이 핸드셰이킹(Three way handshakiing) 상대에게 확실하게 데이터를 보내기 위한 방법. 패킷을 보낸 뒤 확실하게 보내졌는지 여부를 상대에게 확인한다. 'SYN'와 'ACK'라는 TCP플래그를 사용한다. 송신측에서 최초 'SYN' 플래그로 상대에게 접속함과 동시에 패킷을 보낸다. 수신측에서..