공조 마이크로서비스 집합 생성
3. 공조 마이크로서비스 집합 생성 마이크로서비스 환경 소개 마이크로서비스가 처리하는 정보 Product 서비스 제품 정보 관리 Product ID name weight Review 서비스 리뷰 정보 관리 Product ID Review ID author subject content Recommend...
3. 공조 마이크로서비스 집합 생성 마이크로서비스 환경 소개 마이크로서비스가 처리하는 정보 Product 서비스 제품 정보 관리 Product ID name weight Review 서비스 리뷰 정보 관리 Product ID Review ID author subject content Recommend...
2. 스프링 부트 소개 스프링 부트 설정보다 관례와 팻 JAR 파일 스프링 부트는 스프링 프레임워크와 서드파티 제품으로 구성된 핵심 모듈의 설정 방식을 개선해 상용 스프링 애플리케이션을 빠르게 개발하기 위한 프레임워크 설정보다 관례 팻 JAR은 아파치 톰캣과 같은 JAVA EE 웹서버를 별도로 설치하지 않아도 시작할 수 있도록 함 -> ...
1. 마이크로서비스 소개 저자의 마이크로 서비스 경험 독립 소프트웨어 컴포넌트의 장점 고객은 플랫폼의 일부분만을 자체 시스템 환경에 배포할 수 있으며, 명확한 API를 사용해 기존 시스템과 통합 가능 어떤 고객은 플랫폼 기능의 일부를 고객의 시스템 환경에 있는 기존 구현으로 대체하는 것을 선택할 수 있다. 이런 경우에는 기존 기능을 플랫...
5. 마이크로벤치마킹과 통계 5.1 자바 성능 측정 기초 자바 코드 실행은 JIT 컴파일러, 메모리 관리, 그 밖의 자바 런타임이 제공하는 서브 시스템과 완전히 떼어놓고 생각할 수 없다 공정한 테스트인지 확인하기 위해 100,000개 숫자를 정렬하는 벤치마크 코드 이 벤치마크의 첫 번째 문제점은, JVM 웜업을 전혀 고려하지 않은 채 그냥 코드...
4. 성능 테스트 패턴 및 안티패턴 4.1 성능 테스트 유형 좋은 성능 테스트는 정량적(quantitative) 테스트로 확인하고 싶은 정량적 질문 리스트와 그 테스트가 대상 애플리케이션 입장에서 중요한 이유 4.1.1 지연 테스트(latency test) ‘고객이 트랜잭션(또는 페이지 로딩)을 얼마나 오래 참고 기다려야 하는지’ 단순 평균...
3. 하드웨어와 운영체제 3.1 최신 하드웨어 소개 3.2 메모리 클록 속도가 처음에 비해 수백 배 증가 -> 데이터의 움직이 따라오지 못함 3.2.1 메모리 캐시 그래서 CPU 캐시가 고안됨 캐시 아키텍처를 이용해 액세스 시간을 줄이고 코어가 처리할 데이터를 계속 채워 넣음 프로세서 처리율은 현저히 개선됐지만, 메모리에 있는 데이터...
2. JVM 이야기 2.1 인터프리팅과 클래스로딩 JVM은 스택 기반의 해석 머신 레지스터는 없지만 일부 결과를 실행 스택에 보관하며, 이 스택의 맨 위에 쌓인 값을 가져와 계산 JVM 인터프리터의 기본 로직은, 평가 스택을 이용해 중간값들을 담아두고 가장 마지막에 실행된 명령어와 독립적으로 프로그램을 구성하는 opcode를 하나씩 순서대로 처...
3. 테스트 주도 개발의 패턴 테스트 주도 개발 패턴 테스트한다는 것은 무엇을 뜻하는가? 테스트를 언제 해야 하는가? 테스트할 로직을 어떻게 고를 것인가? 테스트할 데이터를 어떻게 고를 것인가? 테스트(명사) 소프트웨어를 어떻게 테스트할 것인가? -> 자동화된 테스트를 만들어라 스트레스를 많이 받으면 테스트를 점점 더 ...
2. xUnit 예시 xUnit으로 가는 첫걸음 테스트 케이스를 작성하기 위해 사용할 프레임워크를 테스트하기 위한 테스트 케이스를 작성해야 한다 일단 하드코딩한 다음에 상수를 변수로 대체하여 일반성을 이끌어내는 방식 테이블 차리기 테스트를 작성하다보면 공통된 패턴 준비(arrange) - 객체를 생성 행동(act) -...
1. 화폐 예제 다중 통화를 지원하는 Money 객체 앞으로 어떤 일을 해야 하는지 알려주고, 지금 하는 일에 집중할 수 있도록 도와주며, 언제 일이 다 끝나는지 알려줄 수 있게끔 할일 목록을 작성 우선 어떤 테스트가 필요할까? 로 시작 TDD 리듬 재빨리 테스트를 하나 추가 모든 테스트를 실행하고 새로 추가한 것이 실패하는지 확인 ...