❗️프레임워크를 직역하여 해석하면 제공받은 일정한 요소와 틀 규약을 가지고 만드는 일이다.이를 IT에 접목시키면 특정 프로그램을 개발하기 위한 여러 요소들과 메뉴얼인 룰을 제공하는 프로그램 으로 Spring, Django, Ruby on Rails 등이 이에 속하며,
Spring Framework이 도입되기 전에는 JSP나 Servlet 기술을 사용한 Model1, Model2 아키텍쳐를 기반으로 한 Java 웹 애플리케이션을 제작하였다.Spring MVC 방식이 도입됨으로써 Java 웹 애플리케이션의 제작 방식이 획기적으로 변하게
Core Container는, spring-corespring-beansSpring Expression Languagespring-context4가지 모듈로 구성된다.💡 모듈(Module)이란?Java에서는 일반적으로, 지원되는 여러가지 기능들을목적에 맞게 그룹화 하
💡 참고 | 주로 사용하는 설정방식은 Java기반의 애너테이션으로 하지만 기존에 사용하던 XML방식에 대해서도 알아야함.💡사전지식Bean? 빈 이란, 스프링 IoC컨테이너가 관리하는 객체이다.빈으로 등록된 객체는 기본적으로 싱글톤 스코프로 정해진다.싱글톤이란? 객체
간단히 표로 정리했다.\+추후 추가예정
스프링은 @Autowired 어노테이션을 이용한 다양한 의존성 주입(DI; Dependency Injection) 방법을 제공한다. 다시말하면 @Autowired는 Spring에게 의존성을 주입하는 지시자 역할로 쓰인다. 의존성 주입은 필요한 객체를 직접 생성하지 않
AOP는 스프링의 도움으로 구현하는 방법론이다.우리는 지금까지 OOP(사용자가 원하는 업무기반의 로직)에만 관심을 가지고 있었다.그러나 사실 사용자요구사항을 수반하기 위해서는 주 업무 로직 외에 개발자나 관리자가 프로그램을 테스트하는 테스트코드(부가적인 코드)가 존재하
DTO(Data Transfer Object)?엔터프라이즈 애플리케이션 아키텍처 패턴의 하나다.(마틴 파울러가 처음 책에서 소개하였다.)클라이언트와 서버 간에 데이터 전송이 이루어 지는 구간에서 DTO를 사용할 수 있다.요청 데이터 (클라이언트 -> 서버)응답 데이터
JPA는 자바 진영에서 사용하는 ORM(Object-Relational Mapping)기술의 표준 사양(명세)이다.하이버네이트(Hibernate) ORM은 JPA에서 정의해둔 인터페이스를 구현한 구현체이다.JPA에서 지원하는 기능 외에 하이버네이트 자체적으로 사용할 수
@Entity매핑 애너테이션을 이용해 엔티티 클래스와 테이블을 매핑할 수 있다.클래스 레벨에 @Entity 애너테이션을 붙이면 JPA 관리 대상 엔티티가 된다.✅ 엔티티 이름 변경하는 방법@Table은 옵션이다. 그러나 @Entity, @Id 애너테이션은 필수이다.@E
여러개의 작업들을 하나의 그룹으로 묶어서 처리하는 처리 단위 (All or Nothing)트랜잭션을 가장 간단히 설명할 수 있는 것 중 하나가 '계좌이체'이다.A라는 사람이 B에게 송금을 하였는데 A계좌에서 출금이 된 이후 B계좌로 이체되기 직전에 데이터베이스에 문제가
비즈니스 로직이 주로 단위 테스트의 대상이 되며, 단위테스트 코드는 메서드 단위로 대부분 작성된다.단위테스트는 우리가 작성한 코드가 우리의 기대대로 빠르게 동작하는지 확인할 수 있는 테스트이다. 따라서 최대한 독립적이며 작은 단위일 수록 좋다.왜냐하면, 연관된 기능들을
Hamcrest? >JUnit 기반의 단위테스트에서 사용하는 Assertion(참이길 바라는) Framework이다. Hamcrest를 사용하는이유? Assertion을 위한 매쳐가 자연스러운 문장으로 이어져 가독성이 향상. 테스트 실패 메시지를 이해하기 쉬움. 다양
리액티브(Reactive)스택은 Spring 5버전부터 새롭게 추가된 기술 스택이다. 리액티브 스택은 WebFluxx와 함께 언급된다.Reactive한 웹 애플리케이션을 구현하기 위한 기술 자체를 상징한다. 즉, Spring WebFlux프레임 워크를 사용해서 리액티브
💡 Proxy ?'대리'라는 뜻. 클라이언트가 서버와 소통할 때, 서버로 바로 접근하지 않고 프록시서버를 통해 서버에 접근 하도록 하는 일종의 대리 서버이다.프록시 서버의 위치에 따라 두 가지로 나뉠 수 있다.1\. Forward Proxy2\. Reverse Pro
하나의 서버에 클라이언트의 많은 요청이 오거나 잦은 요청을 보내면 서버는 과부하가 오게 된다. 따라서 이런 경우 문제해결을 위해 서버의 하드웨어를 업그레이드하는 방법과 서버의 갯수를 늘리는 방법 중 선택할 수 있다.물리적으로 서버의 사양을 높이는 하드웨어적인 방법이다.
오토스케일링이란, Scale-Out방식으로 서버를 증설할 때 자동으로 서버(리소스)를 관리해주는 기능이다.클라이언트의 요청이 많아져 서버의 처리 요구량이 증가하면 리소스를 자동으로 추가한다.반대로 처리 요구량이 줄어들면 리소스를 감소시켜 적절한 분산 환경을 만들어준다.
자바 스프링 프레임워크에서 API를 개발하고 문서화하는 과정은 프로젝트의 성공에 매우 중요하다. 왜냐하면, 올바른 문서화 도구를 선택하는 것은 API를 효율적으로 관리하고 다른 개발자와의 협업을 원활하게 하는 데 큰 도움이 되기 때문이다.프로젝트를 진행하기 앞서, 가장