전체 글(204)
-
SLF4J
1. SLF4J란 SLF4J(Simple Logging Façade For Java)란 Logging Framework들을 추상화해 놓은 것입니다. Facade Pattern을 이용한 Logging Framework입니다. SLF4J는 추상 Logging Framework이기 때문에 단독으로는 로깅을 할 수 없습니다. 보통은 Log4J나 Logback 프레임워크를 함께 사용합니다. SLF4J의 특징 JVM에 의해 유효성 체크가 되며, 바인딩 Logging Framework가 없다면 아무런 동작을 할 수 없습니다. Log4J나 Logback과 같은 Logging Framework를 지원합니다. 기존 Legacy Logging Api를 지원하며, SLF4J로 Migration도 지원합니다. 인자형 로그 메시..
2020.04.03 -
Facade Pattern
1. Facade Pattern란 Facade Pattern은 어떤 소프트웨어의 다른 커다란 코드 부분에 대하여 단순화된 인터페이스를 제공해주는 디자인 패턴을 의미합니다. Facade Pattern은 단순화된 인터페이스를 통해 서브 시스템을 더 쉽게 사용할 수 있도록 하기 위한 용도로 사용됩니다. Facade 객체는 복잡한 소프트웨어 바깥쪽의 코드가 라이브러리의 안쪽 코드에 의존하는 일을 감소시켜 주고, 복잡한 소프트웨어를 사용할 수 있게 간단한 인터페이스를 제공해줍니다. 예시 어떤 사람이 영화를 보고자 합니다. 영화를 보기 위해서는 다음과 같은 과정을 거치게 됩니다. 음료를 준비한다 > TV를 켠다 > 영화를 검색한다 > 영화를 결제한다 > 영화를 재생한다 public void view() { Beve..
2020.04.03 -
Jar과 War의 차이
1. Jar(Java Archive) Jar는 Java 어플리케이션 소스를 배포할 때, path등의 설정으로 인한 이슈를 제거하기 위해 만들어진 압축 방식입니다. Jar 방식은 압축의 해제 없이 JDK에서 각 파일들을 접근하여 사용할 수 있도록 설계되었습니다. Path 등의 경로를 유지하기 때문에 배포된 Jar 파일을 사용하는 사용자들은 각 파일들에 대한 path 문제에서 벗어날 수 있습니다. 2. War(Web Archive) War는 Java Web 어플리케이션 소스를 배포할 때, path등의 설정으로 인한 이슈를 제거하기 위해 만들어진 압축 방식입니다. War 방식은 압축의 해제 없이 JDK에서 각 파일들을 접근하여 사용할 수 있도록 설계되었습니다. War는 웹 프로젝트에서 배포를 위한 최소한의 단..
2020.04.03 -
Java Logging
1. Logging이란 Log란 시스템 동작 시 시스템 상태, 작동 정보를 시간의 경과에 따라 기록한 것을 말합니다. 그리고 Logging이란 정보를 제공하는 일련의 기록인 Log를 생성하도록 시스템을 작성하는 활동을 말합니다. 저장된 Log는 사용자의 패턴이나 시스템 동작 자체의 분석에 사용될 수 있으며 해킹이나 침입 등의 사고가 발생한 경우 비정상 동작의 기록을 통해 감사 추적을 수행할 수 있습니다. Logging의 장점 Log는 재현하기 힘든 버그에 대한 유용한 정보를 제공 Log는 성능에 관한 통계와 정보를 제공할 수 있음 설정이 가능할 때, Log는 예기치 못한 특정 문제들을 디버그하기 위해, 그 문제들을 처리하도록 코딩하지 않아도 일반적인 정보를 갈무리할 수 있음 2. Java.util.log..
2020.04.03 -
BDD
1. BDD란 BDD(Behavior Driven Development)로 TDD를 근간으로 파생된 개발 방법입니다. TDD에서 한 발 더 나아가 테스트 케이스 자체가 요구 사항이 되도록 하는 개발 방법입니다. BDD를 통해 개발을 하게 된다면 테스트 메소드의 이름을 “이 클래스가 어떤 행위를 해야한다.”라는 식의 문장으로 작성하여 행위에 대한 테스트에 집중할 수 있습니다. 2. BDD의 기본 패턴 BDD는 시나리오를 기반으로 테스트 케이스를 작성하며 함수 단위 테스트를 권장하지 않습니다. 이 시나리오는 개발자가 아닌 사람이 봐도 이해할 수 있을 정도의 레벨을 권장합니다. 하나의 시나리오는 Given, When, Then 구조를 가지는 것으로 기본 패턴을 권장합니다. Feature: 테스트에 대상의 기능..
2020.04.02 -
Given-When-Then 패턴
1. Given-When-Then 패턴이란 Given-When-Then 패턴은 Test Code 스타일을 표현하는 방식을 말합니다. Given 테스트에서 구체화하고자 하는 행동을 시작하기 전에 테스트 상태를 설명하는 부분 When 구체화하고자 하는 그 행동 Then 어떤 특정한 행동 때문에 발생할거라고 예상되는 변화에 대한 설명 예시 기능 : 사용자 주식 트레이드 시나리오 : 트레이드가 마감되기 전에 사용자가 판매를 요청 "Given" 나는 MSFT 주식을 100가지고 있다. 그리고 나는 APPL 주식을 150가지고 있다. 그리고 시간은 트레이드가 종료되기 전이다. "When" 나는 MSFT 주식 20을 팔도록 요청했다. "Then" 나는 MSFT 주식 80 가지고 있어야 한다. 그리고 나는 APPL 주..
2020.04.01