분류 전체보기

스프링 강의 필기/HTTP 웹 지식 정리

5) HTTP 메서드 활용

출처:https://www.inflearn.com/course/http-%EC%9B%B9-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC/ 모든 개발자를 위한 HTTP 웹 기본 지식 - 인프런 | 강의 실무에 꼭 필요한 HTTP 핵심 기능과 올바른 HTTP API 설계 방법을 학습합니다., - 강의 소개 | 인프런... www.inflearn.com 클라이언트에서 서버로 데이터를 전달하는 방법은 크게 두 가지이다. 1) 쿼리 파라미터를 이용하기 * GET (정렬 필터, 검색어) 2) 메세지 바디를 이용하기 * POST, PUT, PATCH (회원가입, 상푼주문, 리소스 등록 변경) 클라이언트가 서버로 데이터를 전송할 때의 4가지 상황에 대해 하나씩 알아보자. 정적 데이터 조회(이미지, ..

스프링 강의 필기/HTTP 웹 지식 정리

4) HTTP 메소드

난 초보니까..? 회원 정보 관리 API를 만들어본다고 가정해보자. 회원 목록 조회 / read-member-list 회원 조회 / read-member-by-id 회원 등록 / create-member 회원 수정 / update-memeber 회원 삭제 / delete-member 이렇게 만들 것 같다. 그런데 이것은 좋은 방법이 아니다. 중요한 것은 "리소스 식별" 이다. 리소스라는 것은 뭘까? 회원을 등록하고 수정하는 것이 리소스가 아니다. ex) 미네랄을 캐라 -> 미네랄이 리소스다. 즉, 회원이라는 개념 자체가 리소스다. 그렇기에 회원이라는 리소스만 식별하게 하면 된다. 그렇다면 다시 돌아가서 리소스 식별을 활용한다면 회원 목록 조회/members 회원 조회/members/{id} 회원 등록/m..

스프링 강의 필기/HTTP 웹 지식 정리

3) HTTP 기본

HTTP(HyperText Transfer Protocol) 요즘은 모든 것들이 HTTP로 전송이 된다. HTML, TEXT 부터 시작해서 음성,영상,이미지, json, API 등등 거의 모든 형태의 데이터들이 전송 가능하다. HTTP도 버전들이 있는데, HTTP1.1과 2에선 TCP가, HTTP3에선 UDP로 되어있다. 현재는 HTTP1.1을 주로 사용하고 있다 정도로만 알면 된다. HTTP의 특징 클라이언트 서버 구조 무상태 프로토콜(stateless), 비연결성 HTTP 메시지 단순함, 확장 가능성 클라이언트 서버 구조 무상태 프로토콜(stateless) 서버가 클라이언트의 상태를 보존하지 않는다. 서버 확장성이 높다(스케일 아웃) 클라이언트가 추가 데이터를 전송해야 한다는 단점이 있다. 이렇게만 ..

스프링 강의 필기/HTTP 웹 지식 정리

2) URI과 웹 브라우저 요청 흐름

URI는 로케이터(Locator), 이름(name) 또는 둘 다 추가로 분류될 수 있다. URI, URL, URN을 구분해보자 URI 안에 URL, URN이 있다. URI U : Uniform. 리소스 식별하는 통일된 방식 R : Resource. 자원, URI로 식별할 수 있는 모든 것을 지칭한다. I : Identifier. 식별 정보 URN의 경우 이름만으로 실제 리소스를 찾을 수 있는 방법이 보편화 되지 않아있다. 그래서 URN은 거의 사용하지 않고 URI = URL로 동어치환해서 사용한다.

스프링 강의 필기/HTTP 웹 지식 정리

1) 인터넷 네트워크

출처)https://inf.run/DnHo 모든 개발자를 위한 HTTP 웹 기본 지식 - 인프런 | 강의 실무에 꼭 필요한 HTTP 핵심 기능과 올바른 HTTP API 설계 방법을 학습합니다., - 강의 소개 | 인프런... www.inflearn.com 인터넷 통신 IP(Internet Protocol) TCP, UDP PORT DNS 클라이언트와 서버가 바로 직통으로 연결되어있으면 문제가 되지 않는다. 하지만 물리적으로 거리가 먼 통신을 하기 위해서는 인터넷이라는 중간 다리를 거쳐야한다. 하지만 인터넷은 신이 아니다. 즉, 인터넷도 여러 노드끼리 연결되어있다. 경유지가 많다는 소리다. *IP(인터넷 프로토콜) 각각의 컴퓨터엔 고유의 IP 주소가 있다. 인터넷 프로토콜은 지정한 IP 주소에 패킷(Pac..

스프링 강의 필기/스프링 핵심 원리 - 기본편

섹션 7 - (2). 의존관계 자동 주입

* 조회한 빈이 모두 필요할 때, List, Map 의도적으로 해당 타입의 스프링 빈이 모두 필요할 때가 있다. ex. 할인 서비스를 제공하는데, 클라이언트가 할인 종류(rate, fix)를 선택할 수 있다 가정. public class AllBeanTest { @Test void findAllBean() { ApplicationContext ac = newAnnotationConfigApplicationContext(AutoAppConfig.class, DiscountService.class); DiscountService discountService = ac.getBean(DiscountService.class); Member member = new Member(1L, "userA", Grade.VI..

스프링 강의 필기/스프링 핵심 원리 - 기본편

섹션 7 -(1) 의존관계 자동 주입

의존관계 주입에는 4가지 방법이 있다. 생성자 주입 수정자 주입(setter 주입) 필드 주입 일반 메서드 주입 생성자 주입 생성자를 통해서 의존 관계를 주입하는 방법이다. 생성자 호출 시점에서 딱 한번만 호출된다. 불변, 필수 의존관계에 사용된다는데 어떤 의미인지 설명을 들으며 이해해보자. @Component public class OrderServiceImpl implements OrderService{ private final MemberRepository memberRepository; private final DiscountPolicy discountPolicy; @Autowired public OrderServiceImpl(MemberRepository memberRepository, Disc..

스프링 강의 필기/스프링 핵심 원리 - 기본편

섹션 6. 컴포넌트 스캔

지금까지 @Bean을 붙여서 스프링 빈을 넣어주었다. 하지만 실무에서 이 Bean을 붙여줘야할 것들이 수십, 수백개가 된다면? for문돌려서 할 수 있는 것도 아니잖아.. 그렇기에 스프링에서는 설정 정보가 없어도 자동으로 스프링 빈을 등록하는 Component Scan 기능을 제공한다. @Configuration @ComponentScan public class AutoAppConfig{ } Component Scan을 사용하려면 @ComponentScan을 붙여주면 된다. ComponentScan은 @Component이 붙은 클래스를 스캔해서 스프링 빈으로 넣어주는 기능을 한다. (@Configuration 소스코드를 열어보면 @Component이 붙어있다. 즉, Configuration도 Compon..

void_melody
'분류 전체보기' 카테고리의 글 목록 (10 Page)