PSA (Portable Service Abstraction)란 무엇일까? "PSA (Portable Service Abstraction)란 추상화(Abstraction)다." 추상화는 하나의 물체, 또는 객체의 특징을 살려 일반화 한 것을 의미합니다. Spring framework에서는 관점지향적인 설계를 위해 Abstraction을 활용해야합니다. 클라이언트가 추상화된 상위클래스를 통해 하위 클래스의 기능을 사용하는 것 서비스의 기능을 접근하는 방식 자체를 일관되게 유지하면서 기술을 유연하게 사용할 수 있도록 하는 것 애플리케이션에서 사용하는 기술이 변경되더라도 최소한의 변경만을 반영하기 위해 사용합니다.
Spring Frame Work은 무엇일까? Spirng은 IOC 기반의 Framework입니다. Framework는 소프트웨어의 구체적인 부분에 해당하는 설계와 구현을 재사용이 가능하게끔 일련의 협업화된 형태로 클래스들을 제공하는 것을 의미합니다. 즉, 우리는 Spring Frame Work을 통해 효율적으로 코드를 작성할 수 있으며 정해진 규칙을 활용하여 효율적으로 관리할 수 있습니다. Spring Frame Work의 특징 Spring Frame Work 특징은 크게 네가지 입니다. POJO(Plan Old Java Object)기반의 구성 Pojo란 다른 클래스나 인터페이스를 상속/implements 받아 메서드가 추가된 클래스가 아닌 일반적으로 우리가 알고 있는 getter, setter 같이 ..
API 문서화란 무엇일까??!!! API문서화는 클라이언트가 REST API 백엔드 애플리케이션에 요청을 전송하기 위해서 알아야 되는 요청정보(URL, request body, query parameter 등)을 문서로 잘 정리해 놓은 것을 뜻합니다. 우리는 이러한 문서를 API 문서 또는 API 스펙이라고 합니다. 이러한 API문서는 수기로 작성할 수 있지만 애플리케이션 빌드를 통해 자동 생성할 수 있습니다. Spring Rest Docs 애플리케이션 빌드는 대표적으로 Swagger와 Spring Rest Docs가 있지만 Swagger는 Spring Rest Docs 에 비해 오래된 기술입니다. Swagger는 애너테이션 기반의 애플리케이션 빌드이며 Swagger를 사용할 때 너무 많은 애너테이션을 ..
Mock이란 무엇일까요? Mock이란 모조품 또는 흉내내는 것을 뜻합니다. 즉, 프로그래밍에 있어서의 Mock은 테스트를 하기 위한 가짜 객체를 뜻합니다. 이러한 Mock을 단위 테스트나 슬라이스 테스트 등에 사용하는 것을 Mocking이라고 합니다. Mock 객체를 사용하는 이유는 무엇일까? 테스트 단위는 가급적이면 작을수록 좋습니다. 만약 테스트를 내가 만든 프로그램 전체 단위로 진행하게 된다면 매우 비효율적일 것입니다. 따라서, Mock 객체를 활용하여 내가 테스트 하고자 하는 구간만 제한적으로 테스팅 할 수 있습니다. Mockito란 무엇일까요?! Mockito는 앞선 Mock 객체를 생성하고 동작하게 Mocking해주는 라이브러리 입니다. Mokito의 기능을 통해 테스트 대상에만 집중하여 테스..