본문 바로가기

개발

(35)
REST API 가 무엇인가? 채용공고를 보면 'REST API 개발 경험 우대' 라는 글을 자주 볼 수 있다. API는 무엇인지 알겠는데 앞에 붙은 REST는 무엇인가? 하는 생각이 들었다. 그래서 공부를 해보고자 한다! 먼저 기초탄탄을 위해 API에 대해 알아보자 API란? Application Programing Interface의 약자로 어떤 응용프로그램에서 데이터를 주고받기위한 방법을 의미하며 일종의 데이터의 다리 역할입니다. 그렇다면 REST란? REST는 Representational State Transfer의 약자로 HTTP기반으로 필요한 자원에 접근하는 방식을 정해놓은 아키텍처입니다. 자원은 저장된 데이터, 파일, 서비스를 모두 포함합니다. 특징 1. HTTP URI을 통해 자원을 명시한다. 2. HTTP Metho..
컴포넌트 스캔 간단 정리 컴포넌트 스캔이란 스프링이 직접 클래스를 검색해서 빈으로 등록해주는 기능 @Component를 클래스에 붙여야 스프링이 Bean으로 등록한다. 설정 클래스에서 @ComponentScan 애노테이션을 적용해야 한다. 만약 특정 대상을 스캔에서 제외하고 싶다면 excludeFilters 속성을 사용한다. 다음 애노테이션을 붙인 클래스가 컴포넌트 스캔 대상에 포함된다. @Component @Controller @Service @Repository @Aspect @Configuration
스프링 DI(의존주입) 간단 정리 @Configuration : 스프링 설정 클래스를 의미 @Bean : 해당 메서드가 생성한 객체 스프링 컨테이너로 생성한 bean은 싱글톤 객체 스프링 컨테이너로 설정해야 getBean() 메서드를 이용해 사용할 객체를 구할 수 있다. 스프링 컨테이너는 조립기의 역할을 한다. DI 의존주입 방식 1. 생성자 방식 2. getter, setter 방식 @Autowired, @Resource : 의존 자동 주입 기능 *Autowired에서 자동 주입할 대상이 필수가 아닌 경우 1. required = false로 지정 (메서드 호출 X) 2. optional 사용 3. @Nullable 사용 (메서드 호출 O) @import : 두 개 이상의 설정 파일을 사용할 때 사용 객체를 스프링 빈으로 등록할 때와 ..
개발에 유용한 라이브러리 1. Lombok Lombok 라이브러리는 VO나 DTO 생성 시 매우 간단하게 getter, setter를 생성해서 코드를 줄여줍니다. 만약 getter나 setter를 선언해야하는 객체가 3개라면 일일이 메소드를 만들어주어야하는데 Lombok을 사용하면 @Data 혹은 @Getter, @Setter를 한줄 적어주면 알아서 getter, setter가 생성됩니다. 2. Log4j Java 라이브러리로 로그를 편리하게 확인하고 관리할 수 있도록 도와주는 라이브러리입니다. 6단계의 장애레벨(TRACE, DEBUG, INFO, WARN, ERROR, FATAL)을 사용하며 장애단계를 선택해서 그 장애단계 이상의 로그들만 추려서 출력할 수 있습니다.
OPEN JDK 1.8 윈도우 설치 방법 다운로드 링크 : github.com/ojdkbuild/ojdkbuild ojdkbuild/ojdkbuild Community builds using source code from OpenJDK project - ojdkbuild/ojdkbuild github.com 파일명 : java-1.8.0-openjdk-1.8.0.252-2.b09.ojdkbuild.windows.x86_64.zip 해당 zip파일을 다운로드받은 후 압축을 푼다. 내 PC 오른쪽 클릭 -> 속성 -> 고급 시스템 설정 -> 고급란 밑에 시스템 환경변수로 이동 시스템 변수에 새로만들기를 클릭한 후 변수 이름에는 JAVA_HOME 변수 값은 압축 푼 폴더의 경로를 작성한다. 이 후 설치를 확인하기위해 cmd창을 켜고 java -ver..
동기와 비동기 방식 동기방식(Synchronous) 동기식은 직렬적으로 업무를 수행합니다. 즉 요청되는 일을 순차적으로 처리하며 A라는 일을 수행하는 중에 B라는 일이 들어온다면 B는 수행되지 않고 대기합니다. 동기방식을 사용하면 어떤 일에 대한 요청과 결과가 동시에 일어납니다. 장점 : 설계가 간단하고 직관적이다. 단점 : 결과가 주어질때까지 뒤의 일이 대기하므로 비효율적이다. 비동기방식(Asynchronous) 비동기식은 병렬적으로 업무를 수행합니다. 즉 A라는 일을 수행하는 도중에 B라는 일이 들어온다면 A업무가 끝날때까지 대기하지 않고 동시에 B라는 업무를 수행합니다. 비동기방식을 사용하면 어떤 일에 대한 요청과 결과가 동시에 일어나지 않습니다. 장점 : 자원을 효율적으로 사용할 수 있다. 단점 : 설계가 복잡하고 ..
Session(세션) 과 Cookie(쿠키) Web에서 사용하는 HTTP 프로토콜은 비연결적인 성격을 가졌다. 클라이언트가 새로운 요청을 보낼 때마다 새로운 접속이 이루어지고 이전 페이지와 현재 페이지는 연결되지 않았다. 그래서 웹 사이트는 특정 클라이언트가 머무르는 동안 특정한 상태(예를 들면 로그인 여부)를 지속시키기 위해 쿠키와 세션을 이용한다. Cookie(쿠키) 우리가 웹 사이트를 로그인할 때, 아이디를 저장하겠습니까? 라는 체크박스에 체크를 해봤던 경험이 있을 것입니다. 여기에 체크를 하고 웹 사이트를 끄고 다시 켜면 자동으로 아이디가 입력돼있습니다. 이게 가능한 이유는 쿠키를 사용해서입니다. 이외에도 인터넷 쇼핑몰에서 장바구니, 알림창 아래 일주일간 보지 않기 체크 등에 사용됩니다. 쿠키는 클라이언트 측 브라우저에서 관리되는 기록정보 ..
GET과 POST 방식 클라이언트와 서버는 HTTP 프로토콜을 이용해서 데이터를 요청하고 응답합니다. 클라이언트가 서버로 요청을 보내는 메세지인 HTTP Request Message에 포함되는 HTTP Method는 서버가 요청을 수행하기 위해 해야할 행동을 알려주는 용도로 사용됩니다. HTTP Method 중 GET과 POST방식에 대해서 알아보도록 하겠습니다!! GET 방식 특징 1. URL에 쿼리스트링을 포함시켜 요청한다. 2. 데이터를 Header(헤더)에 넣어 전송한다. 3. URL에 데이터가 노출되므로 보안에 취약하다. 4. 전송하는 데이터의 길이에 제한이 있다. POST 방식 특징 1. URL에 변수나 데이터를 포함하지 않고 요청한다. 2. 데이터를 Body(바디)에 포함시켜 전송한다. 주로 HTML form을 통..

반응형