전체 글
-
HTTP APIHTTP 2021. 11. 27. 01:47
HTTP API URI 설계 리소스를 중점으로 설계해야함 리소스 : 자원 리소스와 행위를 분리 HOW?) HTTP 메서드 - GET, POST HTTP 메서드 종류 GET : 리소스 조회 POST : 요청 데이터 처리, 주로 등록에 사용(즉, 데이터를 줄테니까 처리해줘란 의미) post 메서드의 고유한 의미체계(게시판 글쓰기, 댓글 달기, 회원가입, 주문 등)에 따라 표현을 처리해달라고 요청한다. 이렇게 보내진 post 데이터를 어떻게 처리할지 리소스(URI)마다 따로 정해야함(정해진것이 없음) 최대한 리소스를 기준으로 URI를 설계하는것이 바람직하지만, 여건이 안될 때는 컨트롤 URI를 사용한다. 컨트롤 URI 예시) POST /orders/{orderId}/start-delivery 다른 메서드로 처..
-
Array 중복 확인자료구조 2021. 11. 27. 01:37
ASCII 방식의 Array 중복 확인 boolean 방식으로 index를 설정하고 전부 false로 둔 뒤 index를 돌았을 때, true값이 이미 있으면 중복임을 확인 가능 Unicode를 이용한 Array 중복 확인 2의 20승 + 2의 16승이 = 1,114,112 값이므로 HashMap을 사용하는것이 좋다. Bit Operator(비트 연산자) 하나의 숫자에 여러가지 의미를 담고 싶을 때 사용하는 연산자 1, 2, 4, 8, 16으로 각각의 고유한 비트 값이어서 더하더라도 구분이 가능해짐. 담을 수 있는 데이터 값이 한정적이므로 a~z까지 소문자로 데이터를 등록한다. 쉬프트 연산을 이용해서 구현이 가능하다. 추가 배열을 생성할 수 없다면? 두개의 포인터를 사용해서 하나의 포인터는 해당 값만큼 ..
-
TIL 36th day (2021.11.27)TIL(Today I Learned) 2021. 11. 27. 01:04
MVC Model : 뷰에 출력할 데이터를 담아둔다. 뷰는 이를 참조한다. 덕분에 뷰는 할 일이 줄어든다. View : 모델에 있는 데이터를 참조해서 화면에 뿌려준다. Controller : HTTP 요청을 받아서 파라미터를 검증하고, 비즈니스 로직을 실행한다. 그리고 모델에 데이터를 담는다. 비즈니스 로직과 요청 로직을 분리한다.(일반적으로) 순서는 대략적으로 Controller -> 비즈니스 로직 -> model -> view -> 화면 서블릿과 JSP를 이용한 MVC 서블릿은 컨트롤러 역할을, JSP는 VIEW 역할을 한다. request.setAttribute()와 request.getAttribute()를 사용하여 모델에 데이터를 저장한다. 궁금한점 redirect vs forward redir..
-
TIL 35th day 2021.11.26TIL(Today I Learned) 2021. 11. 26. 20:31
서블릿 + 자바 코드 옛날에 쓰던 방식 자바와 서블릿만으로 HTML을 만들고 동적인 웹브라우저를 구현할 수 있다. 하지만 자바로 HTML을 만드는것은 아주 번거로운 일이다. 따라서, 템플릿 엔진이 등장했다. 템플릿 엔진을 이용하면 HTML에서 필요한 부분만 동적으로 변경할 수 있다. 템플릿 엔진에는 JSP, Thymeleaf, Freemarker, Velocity 등이 있다. 참고) JSP는 사장되어가고, Thymeleaf를 주로 사용하는 추세이다. 서블릿 + JSP 서블릿 + 자바 방식은 자바로 HTML을 짜는것이 중점이었다면 서블릿 + JSP는 HTML에서 자바 코드를 삽입해준다는 느낌이다. 때문에 HTML을 작성하는데 있어서 한결 편리해졌다. 하지만, JSP가 너무 많은 역할을 맡고 있기 때문에 J..
-
HTTP 특징HTTP 2021. 11. 26. 00:55
HTTP 특징 클라이언트 서버 구조 클라이언트와 서버가 분리(개별적으로 관리하는데 유용) 무상태 프로토콜(Stateful, Stateless) Stateful(상태 유지) 로그인(브라우저 쿠키와 서버 세션등을 사용해서 상태 유지), 상태 유지는 최소한만 사용 Stateless(무상태) 무상태는 응답 서버를 쉽게 바꿀 수 있다.(무한한 서버 증설 가능) 로그인이 필요 없는 페이지 요청하는 데이터가 Stateful보다 상대적으로 크다. 서버 개발자들이 어려워하는 업무(같은 시간에 들어오는 대용량 트래픽 처리) 비 연결성 서버는 연결 유지x, 최소한의 자원 사용 단점 ) TCP/IP 연결을 새로 맺어야함 - 3 way handshake 시간 추가 웹브라우저로 사이트를 요청하면 많은 자원이 함께 다운로드(자바스..
-
HTTPServletRequest, Response, HTTP-APISpring 2021. 11. 25. 20:34
HTTPServletRequest GET 쿼리 파라미터 request.getParameter()는 GET URL 쿼리 파라미터 형식이나 POST HTML Form 형식을 지원한다. (postman 이용 가능) POST HTML Form 방식은 Content-Type이 application/x-www-form-urlencoded이다 GET URL 방식은 검색, 필터, 페이징 등에서 많이 사용 POST HTML Form 방식은 회원 가입, 상품 주문, HTML Form을 사용 JSON 형식은 데이터 형식을 전달할 때 주로 사용 request.getParameter()는 하나의 파라미터 이름에 대해 단 하나의 값만 있을 때 사용해야한다. 값이 중복일 때는 request.getParameterValues()를 ..