본문 바로가기

Back-end/Java41

TDD V-Model Requirement : 요구사항 분석 System Specification : 논리적 설계 [[Coding]] Unit Testing : 소스코드, 클래스 단위 Integration Testing : 통합테스팅, 모듈 상호 연동 System Testing : 기능 테스팅, 비기능 테스팅( 보안, (성능)무중단, 몇초 이내 조회 ) Acceptance Testing : 인수 테스팅, 고객 주도 JUnit Test 생명주기 어노테이션 @BeforeAll : 클래스 전체 테스트케이스 실행 전 세팅해주는 단계 @BeaforeEach : 각각의 테스트 실행 전마다 인스턴스가 실행됨 @AfterEach : 각각의 테스트 종료마다 인스턴스가 실행됨 (거의 Clean Up) @AfterAll : 소멸 .. 2022. 12. 5.
ERROR Could not generate DH Keypair 제조사 서버와 SSL Algorithm Nego 시 DH 알고리즘을 선택했고 Java 1.7.0_91 이전 버전은 1024bit 이상의 DH 알고리즘을 지원하지 않아 에러가 발생되었다 (Bug-ID : JDK-6521495) 당시 연동 어댑터는 Java 1.7.0_67 버전을 사용하고 있었다. 이 이슈는 Java 1.7.0_91 에서 Fix 됐다. 서버에는 여러버전의 Java 가 설치되어있는데, 그중에는 Bug Fix 된 Open JDK 1.7.0_131 버전도 설치 되어있어 이 버전으로 맞추려 하였으나, 다른 서버에도 해당 버전을 설치하려 하니 131버전을 구하기가 쉽지 않았고 아예 Open JDK 7 최신 버전을 설치하여 (Java 1.7.0_261) 해결했다. 서버에서 SSL Handshake 중 .. 2021. 2. 19.
[디자인패턴] Observer Pattern observer 구독자 subject 주제 개발방법 1. subject 인터페이스에는 observer를 관리하는 method를 가지고 있다. ㄴ register :구독을 원하는 observer를 받아 등록 ㄴ unregister :명단에서 제외 ㄴ notify : 등록된 observer에게 알림 2. observer 인터페이스는 정보를 업데이트 해주는 update method를 가지고 있다. 3. subject 와 observer 인터페이스를 정의한 후 이를 impl 한 클래스를 활용한다. 2019. 9. 10.
[디자인 패턴] Bridge Pattern 다른이름 Handle/Body Pattern 키워드 기능부분과 구현부분을 분리 활용 1. 런타임마다의 구현방법을 변경하고 싶을 때 2. 구현 방식을 은닉하고 싶을 때. ( 별도의 클래스에 구현, 정의 하고 private로 감추는 경우 ) 3. 구현과 기능이 각각 Hierarchy를 가질 때 방법 Abstraction : 기능 클래스 Implementor : 구현 클래스 * Abstraction에서 Implementor를 impl로 멤버변수로 가지고 있으면서 사용 (impl : 기능 클래스와 구현 클래스 두 계층의 다리가 됨. impl 변수로 구현기능 사용) 구현 결과 Main.java *abstraction ㄴ MorseCode.java ㄴ PrintMorseCode.java *implementor ㄴ .. 2019. 8. 21.