Backend

· Backend/Java
배열import java.util.*;int[] arr = {1,3,5,2,4};Arrays.sort(arr); // 배열 정렬Arrays.sort(arr, Comparator.reverseOrder()); // 비교자를 전달할 수도 있다.Arrays.asList(arr); // 배열을 전달하면 바로 리스트를 만들 수 있다.Arrays.asList(1,2,3); // 인자를 여러개 전달하여 리스트를 만들 수 있다.return new int[] {-1}; // 새로운 배열 만들고 바로 반환하는 법// 배열 출력 방법System.out.println(Arrays.toString(arr)); // 1차원 배열System.out.println(Arrays.deepToString(arr)); // 다..
VO value object의 약자로, 값 자체를 표현하기 위한 객체이다. 변하지 않는 그 자체로 고유한 불변 객체라고 말할 수 있다. Entity 도메인에서 개별성이 있는 개념으로, 식별자를 가지고, 변화할 수 있는 객체이다. DTO Data Transfer Object의 약자로 데이터의 전달을 위해 사용되는 객체이다. DAO Data Access Object의 약자로 DB에 접근하는 역할을 하는 객체이다.
IoC 객체가 자신이 사용할 객체를 직접 생성 및 조작하는 작업을 하지 않고, 객체의 생성을 ‘특별한 관리 주체’에게 위임 즉, 사용자가 객체를 직접 생성하지 않고, 다른 주체가 객체의 생명주기를 컨트롤한다는 개념이다. 라이브러리를 사용하는 애플리케이션 코드는 애플리케이션 흐름을 직접 제어하지만, 프레임워크는 애플리케이션 코드가 프레임워크에 의해 사용된다. ApplicationContext 일종의 IoC 컨테이너이다. 객체에 대한 생성과 조합을 가능하게 하는 프레임워크이다. ApplicationContext는 BeanFactory를 상속한다. BeanFactory는 객체에 대한 생성, 조합, 의존관계설정 등을 제어하는 IoC 기본 기능을 담당한다. Configuration Metadata Applicat..
Spring MVC 해야할 관심사를 기준으로 컴포넌트들을 분리시킨 구조 Model: 자바 객체 또는 Pojo로 데이터를 담고 있음 View: 모델이 담고 있는 데이터를 시각적으로 보여주는 역할 Controller: 모델과 뷰를 연결하기 위한 매개체. 사용자의 요청을 받아 모델의 상태를 변경해주고 그에 따른 뷰를 업데이트 해줌 spring boot 쓰는 이유 자주 사용되는 라이브러리들의 버전 관리 자동화 AutoConfig로 복잡한 설정 자동화 내장 웹서버 제공 실행 가능한 JAR로 개발 가능 spring의 여러 프로젝트 중 하나의 프로젝트로서 다음과 같은 주요 기능을 제공함. SpringApplication을 통한 손쉬운 실행 Auto Configuration 쉬운 외부 환경 설정 - Properties..
Servlet Servlet: 클라이언트의 요청을 처리하고, 그 결과를 반환하는 Servlet 클래스의 구현 규칙을 지킨 자바 웹 기술 servlet을 관리해주는 역할을 하는 것이 servlet container 이다. Servlet의 Life Cycle 클라이언트 요청 proxy server를 거쳐 was로 해당 요청 도착 요청에 대한 thread 생성 매 요청마다 다른 thread가 생성됨 매 요청마다 Servlet 인스턴스를 만드는 것이 아님 해당 thread가 Servlet의 인스턴스에 있는 메소드를 요청 service 메소드 호출 요청의 종류에 따라 doGet 혹은 doPost 호출 응답한 뒤 destroy 함수 호출 → request, response 객체 제거 DispatchServlet F..
Cross-Cutting Concerns를 처리하는 방법 많은 로직에서 공통으로 관심이 있는 부분을 공통 관심사 라고 한다. 로그인 같은 것이 한 예시이다. 로그인이 필요한 모든 컨트롤러 로직에 로그인 여부를 확인하는 코드를 넣는 것은 너무 비효율적이기 때문에, 이런 공통 관심사를 처리해줄 방법이 필요하다. cross-cutting concerns를 처리하는 방법은 filter, interceptor, aop 등이 있다. 그 중에서도 web에 관련된 공통 관심사는 AOP 보다는 servlet filter, spring interceptor에서 처리하는 것이 좋다. 웹과 관련된 공통 관심사를 처리할 때는 HTTP의 헤더나 URL 정보가 필요한데 서블릿 필터나, 스프링 인터셉터는 HttpServletRequ..
hi-june
'Backend' 카테고리의 글 목록