출처 : https://inf.run/c5AZ 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 - 인프런 | 강의 웹 애플리케이션을 개발할 때 필요한 모든 웹 기술을 기초부터 이해하고, 완성할 수 있습니다. 스프링 MVC의 핵심 원리와 구조를 이해하고, 더 깊이있는 백엔드 개발자로 성장할 수 있습니다., - www.inflearn.com 이번 강의 분량은 상대적으로 분량이 많고 한 번 흐름을 놓치면 이해하기 어렵다. 잘 따라가보자. *) 프론트 컨트롤러 패턴 각각의 컨트롤러에 공통된 부분들이 있다 가정해보자. 클라이언트는 호출할 때 각각의 컨트롤러를 호출하게 된다. 하지만 공통적인 부분을 묶어서 따로 컨트롤러를 만들어주고 해당 부분을 거치고 고유 역할을 하는 컨트롤러로 가게 한다면? 공통 처리가 가능하..
출처 : https://inf.run/Ewvr 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 - 인프런 | 강의 웹 애플리케이션을 개발할 때 필요한 모든 웹 기술을 기초부터 이해하고, 완성할 수 있습니다. 스프링 MVC의 핵심 원리와 구조를 이해하고, 더 깊이있는 백엔드 개발자로 성장할 수 있습니다., - www.inflearn.com 서블릿, JSP를 토대로 어떻게 MVC 패턴이 만들어졌는지 그 과정을 이해해보자. 코드 자체를 암기하기 보다는 흐름이 중요하다. @WebServlet(name = "memberFormServlet", urlPatterns = "/servlet/members/newform") public class MemberFormServlet extends HttpServlet {..
출처 : https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-mvc-1/dashboard 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 - 인프런 | 강의 웹 애플리케이션을 개발할 때 필요한 모든 웹 기술을 기초부터 이해하고, 완성할 수 있습니다. 스프링 MVC의 핵심 원리와 구조를 이해하고, 더 깊이있는 백엔드 개발자로 성장할 수 있습니다., - www.inflearn.com 웹 서버(Web Server) HTTP 기반 동작 정적 리소스 제공 정적 HTML, CSS, JS, 이미지 등등 제공 ex. NGINX, APACHE 웹 애플리케이션 서버(WAS - Web Application Server) 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 캐시가 없다면 데이터가 변경되지 않아도 계속 네트워크를 통해서 동일한 데이터를 받아야한다. 데이터의 용량이 크다면 이는 로딩 속도가 느려지게 된다. 캐시를 적용해보자. 캐시를 적용함으로써 캐시 가능 기간동안은 네트워크를 사용하지 않아도 된다. 기존 로컬에서 가지고 있기에 로딩 속도가 매우 빠르다. 하지만 만약 캐시 시간이 초과된다면? 서버..
출처 : 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 *header-field = field-name: fieldvalue field-name은 대소문자 구분 없다. *http header의 용도 HTTP 전송에 필요한 모든 부가정도(메세지 바디 내용, 바디 크기, 압축, 인증, 서버 정보, 캐시 등등..) 현재는 표현(Representation)이라는 개념을 사용한다. Representa..
출처 : https://www.inflearn.com/course/http-%EC%9B%B9-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC/dashboard 모든 개발자를 위한 HTTP 웹 기본 지식 - 인프런 | 강의 실무에 꼭 필요한 HTTP 핵심 기능과 올바른 HTTP API 설계 방법을 학습합니다., - 강의 소개 | 인프런... www.inflearn.com *상태코드 1XX(Informational) : 요청이 수신되어 처리중 ( 사용안함 ) 2XX(Successful) : 요청 정상 처리 3XX(Redirection) : 요청을 완료하려면 추가 행동 필요 4XX(Client Error) : 클라이언트 오류, 잘못된 문법 등으로 서버가 요청을 수행할 수 없음. 5XX(Ser..
출처: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가지 상황에 대해 하나씩 알아보자. 정적 데이터 조회(이미지, ..
난 초보니까..? 회원 정보 관리 API를 만들어본다고 가정해보자. 회원 목록 조회 / read-member-list 회원 조회 / read-member-by-id 회원 등록 / create-member 회원 수정 / update-memeber 회원 삭제 / delete-member 이렇게 만들 것 같다. 그런데 이것은 좋은 방법이 아니다. 중요한 것은 "리소스 식별" 이다. 리소스라는 것은 뭘까? 회원을 등록하고 수정하는 것이 리소스가 아니다. ex) 미네랄을 캐라 -> 미네랄이 리소스다. 즉, 회원이라는 개념 자체가 리소스다. 그렇기에 회원이라는 리소스만 식별하게 하면 된다. 그렇다면 다시 돌아가서 리소스 식별을 활용한다면 회원 목록 조회/members 회원 조회/members/{id} 회원 등록/m..