목록전체 글 (192)
Lewis's Tech Keep
기본적인 HTTP 의 파트 4개의 파트로 나눌 수 있다. Request LIne, HTTP header, Empty Line, Message Bod 여기에 Message Body에 들어가는 데이터 타입을 Http Header에 명시 해 줄 수 있다. 이 header에 Content-type에 컨텐츠의 유형을 지정해 줌으로써 어떤 유형의 데이터(MIME type - RFC2045 기술서)가 전송되는 지 알려주는 역할 여기에 multipart/form-data 의 타입을 입력하고 보낼 시 해당 데이터의 타입인 것을 알려주는 것이다. Mulitpart 메시지 Mulitpart 메시지란 서로 붙어있는 여러 개의 메시지를 포함하는 하나의 복합 메시지 boundary 파라미터를 포함해서 메시지 파트를 구분함 Spr..
https://gaemi606.tistory.com/entry/Spring-WebFlux Spring WebFlux Spring WebFlux Spring Framework, Spring Web MVC를 포함하는 기존의 웹 프레임워크는 Servlet API와 Servlet containers를 통해 만들어졌었다. Spring WebFlux는 reactive-stack web framework다. 스프링 5.0버.. gaemi606.tistory.com https://elfinlas.github.io/2017/12/14/java-custom-anotation-01/ Java에서 커스텀 어노테이션(Annotation) 만들고 사용하기 19년 9월 8일 추가 19년 9월 8일 Github에 해당 소스를 등록하..
카프카? 카프카는 분산 스트리밍 데이터 플랫폼이다. 스트리밍 데이터 : 비즈니스, SNS 등 다양한 어플리케이션에 의해 실시간 정보는 끊임없이 생성된다 요즘은 데이터가 이벤트성으로 여기저기서 발생을 함 이 데이터들을 가치있는 value로 만들기 위해서는 데이터들을 하나의 스트리밍화 시켜서 담아서 데이터 파이프라인을 구축하는 것 스트리밍 데이터 처리는 실시간 데이터 처리를 내포하고 있음 브로커? 카프카 저장소의 노드 역할을 수행한다. 토픽? 페이지 캐싱 형태의 데이터 임시 저장소 (in memory 형태) 파티션? 고가용성을 위해 저장소 안에 분리 되어진 공간 (토픽이 날라갔을 때 복귀를 파티션이 커버) 주키퍼 주키퍼는 분산 코디네이터 서비스를 제공하는 오픈소스 시스템이다. 서버의 상태를 감지하기 위해 사..
ATDD 프로젝트 시 발생했던 현상 및 해결, 피드백 Unchecked Exception 예외를 받는 커스텀 클래스 어떤 라이브러리에 종속된 예외의 경우 import org.springframework.dao.DataIntegrityViolationException; public class DuplicateEntityException extends DataIntegrityViolationException { } 위와 같은 클래스의 경우 DataIntegrityViolationException은 spring-data-jpa를 받아야지만 추가되는 예외 클래스다. 다른 예외를 생각하는 것이 좋다. 라이브러리 종속적 예외는 라이브러리 제거시 에러가 발생되기 때문이다. 다대다 관계를 푼 다대일 일대다에서 왼쪽이 ..

ATDD 프로젝트 ATDD? ATDD = 인수테스트 주도 개발 실패하는 인수 테스트 작성 -> TDD 사이클 (유닛 테스트 실패 -> 유닛 테스트 성공 -> 리팩토링) -> 성공하는 인수테스트 작성 -> 리팩토링 -> 실패하는 인수 테스트 작성 ATDD 시 고려사항 개발자만이 참여하는 테스트가 아니다. 기획, 개발 및 다른 관점을 가진 팀원들이 같이 참여하는 테스트라 생각하고 시나리오를 작성, 코드를 작성할 것 인수 조건 (인수 테스트가 충족해야하는 조건) 여러 포맷이 존재함 (이번 시도는 시나리오 기반 표현 방식) 시나리오의 단위 고려할 것 (나누는 단위에 따라 달라짐) 인수 테스트 인수 조건을 검증하는 테스트 실제환경과 유사하게 테스트 환경을 구성 문서화 Spring Rest Docs 활용해 API ..
git remote set-branches --add 'origin' 'newbranch' git fetch 'origin' git checkout --track 'origin/newbranch' 이게 제일 잘 먹혔다. https://stackoverflow.com/questions/49297153/why-is-it-not-a-commit-and-a-branch-cannot-be-created-from-it

IPv4에서 비트에 대한 이해 IPv4 를 기준으로 비트는 [0000 0000].[0000 0000].[0000 0000].[0000 0000] 이런 식으로 주소가 전개된다. 우리가 ipconfig로 볼때 주소들이 (0~255).(0~255).(0~255).(0~255) 안에서 노는 것은 8비트 2진수 연산자의 최대값이 255이기 때문이다. subnet mask subnet mask는 네트워크를 구분하기 위해 쓰는 숫자이다. 기본적으로 비트 and 연산을 통해 네트워크가 같은 분류인지 구분한다. and 연산하여 같은 네트워크 파티션(부분들)으로 나누는 과정이 subnetting이다. and 연산이란? 더보기 1111 1110 - 기준 숫자 0101 1100 - subnet mask ------------..