분류 전체보기 (126) 썸네일형 리스트형 REST API에 대하여 2021-04-21글 REST API 오늘날 사용 가능한 가장 일반적인 웹 서비스 유형 중 하나 브라우저 앱을 포함한 다양한 클라이언트가 REST API를 통해 서버와 통신 stateless 통신 및 캐시 가능한 데이터같은 특정 아키텍처 제약 조건을 준수하는 애플리케이션 프로그래밍 인터페이스 프로토콜이나 표준이 아님 여러 통신 프로토콜을 통해 액세스 할 수 있지만 일반적으로 HTTPS를 통해 호출됨 REST API 구성 REST : Representational State Transfer라는 용어의 약자 자원 : URI 행위 : HTTP METHOD 표현 REST 의 특징 Uniform Interface Stateless Caching Client-Server Hierarchical system Code.. 통합 테스트 VS 단위 테스트 2021-04-16글 통합 테스트 실제 운영 환경에서 사용될 클래스들을 통합하여 테스트한다. 스프링 프레임워크에서 전체적으로 플로우가 제대로 동작하는지 검증하기 위해 사용한다. 여러 모듈들을 모아 이들이 의도대로 협력하는지 확인하는 테스트이다. 장점 스프링 부트 컨테이너를 띄워 테스트하기 때문에 운영환경과 가장 유사한 테스트가 가능하다. 전체적인 Flow를 쉽게 테스트 할 수 있다. 단점 애플리케이션의 설정, 모든 Bean을 로드하기 때문에 시간이 오래걸리고 무겁다. 테스트 단위가 커 디버깅이 어렵다. @SpringBootTest 통합 테스트를 제공하는 기본적인 스프링 부트 테스트 어노테이션. @SpringBootTest @ActiveProfiles("test") @Transactional class C.. 📋 Spring Core 막 적은 강의 노트 2021-04-20글 객체의 의존 관리는 스프링이 한다. 스프링은 개발자를 대신해서 객체들을 생성하고 관리하는 일을 한다. ChessService에서 ChessDao 의존하기 변경에 취약하다 의존 관계를 개발자가 직접 관리하려면 복잡하다. 스프링 컨테이너가 관리해준다. 컨테이너 담아놓는 용기 스프링에서는 스프링이 활용할 객체들을 담아놓은 용기를 말한다. Bean으로 등록하는 기준? 프로그램 별로 공통적으로 쓸 수 있는 대상 레이어에 대한 객체들을 재사용할 수 있는데 이들을 빈으로 관리한다. 상태가 없는 객체를 빈으로 등록한다. -> 빈으로 등록 하려면 상태가 없어야 한다. 설정의 메타 데이터(Configuration Metadata)를 이용해 스프링 컨테이너에 담아놓는다. 컨테이너에 담으면 빈으로 등록된.. 스프링의 DI 방법 (생성자 주입 VS 필드 주입) 2021-04-20글 스프링의 DI 방법 DI 변경에 의해 영향을 받는 관계 1. 생성자 주입(Constructor Injection) @Service public class StationConstructorService { private StationRepository stationRepository; public StationConstructorService(StationRepository stationRepository) { this.stationRepository = stationRepository; } public String sayHi() { return stationRepository.sayHi(); } } 스프링 4.3 부터는 단일 생성자인 경우 생성자에 @Authowired를 붙이지 않아.. Spring에서 request 처리 과정 2021-04-20글 Spring에서 request 처리 과정 DispatcherServlet : 클라이언트의 요청을 전달 받아 요청에 맞는 컨트롤러가 반환한 결과값을 View에 전달하여 알맞은 응답 생성 HandlerMapping : 클라이언트의 요청 URL을 어떤 컨트롤러가 처리할지 결정 Controller : 클라이언트의 요청을 처리한 뒤, 결과를 DispatcherServlet에 반환 ModelAndView : 컨트롤러가 처리한 결과 정보 및 뷰 선택에 필요한 정보를 담음 ViewResolver : 컨트롤러의 처리 결과를 생성할 뷰를 결정 View : 컨트롤러의 처리 결과 화면을 생성, JSP 또는 템플릿 엔진을 뷰로 사용 클라이언트가 서버에 요청을 하면 DispatcherServlet이 요청을 .. 📋 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 강의 노트 2021-04-16글 3. 회원 관리 예제 - 백엔드 개발 비즈니스 요구사항 데이터 : 회원 ID, 이름 기능 : 회원 등록, 조회 아직 데이터 저장소가 선정되지 않음 일반적인 웹 애플리케이션 계층 구조 컨트롤러 : 웹 MVC의 컨트롤러 역할 서비스 : 핵심 비즈니스 로직 구현 레포지토리 : 데이터베이스에 접근, 도메인 객체를 DB에 저장하고 관리 도메인 : 비즈니스 클래스 의존 관계 회원을 저장하는 것은 Repository 인터페이스. 일단은 메모리 구현체. DBMS를 자유롭게 바꿔 끼우기 위해 인터페이스로 구현하였음. Member Domain public class Member { private Long id; private String name; public Long getId() { return .. 📋 프로가 되기 위한 웹기술 입문 4-6 2021-04-15글 4. CGI에서 웹 애플리케이션으로 리다이렉트의 구조 상태코드 302일 경우 Location 헤더에 표시된 URL에 다시 요청을 발행한다. 이처럼 처음 요청한 URL과 다른 URL로 유도하는 것을 리다이렉트라고 한다. 상태 유지 프로토콜과 무상태 프로토콜의 차이 FTP는 서버가 앞선 요청을 기억하는 상태 유지 프로토콜이다. 상태 유지 프로토콜은 통신 절차가 많아 오버헤드가 크다. HTTP는 상태를 가지 않는 무상태 프로토콜이다. 상태를 유지하지 않을 경우 오버헤드가 적지만 상태를 유지하지 않으니, 로그인 같은 인증에 대한 상태 관리를 하기 어려웠다. 쿠키의 개념과 구현 방법 쿠키는 무상태 프로토콜안 HTTP의 규격을 확장해 웹 애플리케이션과 웹 브라우저 사이에서 정보를 교환할 수 있.. 📋 프로가 되기 위한 웹기술 입문 1-3 2021-04-14글 1. 웹 애플리케이션이란 무엇인가? 데스크톱 애플리케이션 웹 애플리케이션 처리 주체 자신의 PC 서버 화면 표시 운영체제 상에서 표시 웹 브라우저에서 표시 설치 필요 불필요 2. 웹은 어떻게 발전했는가? WWW 등장의 배경 이메일이나 파일 전송 기술보다 더 편리하게 정보를 공유하자! 정보를 텍스트파일만으로 표현하게 만드는 것이 HTTP이다. 네트워크 상에서 링크된 하이퍼 링크의 연결을 WWW라고 부르기 시작했다. WWW에서는 웹 서버가 네트워크 상에 공개하는 하이퍼 텍스트를 축적하고 웹 클라이언트 요청에 따라 필요한 HTML 파일을 건네준다. 텍스트 중심으로 표현되던 웹 페이지를 문자와 그림과 함께 표현할 수 있게 만든 것이 NCSA 모자이크라는 웹 브라우저이다. 웹에서 클라이언트와.. 이전 1 ··· 9 10 11 12 13 14 15 16 다음