Web
-
로직을 UI로부터 분리하는 MVVM Architecture PatternWeb 2021. 6. 24. 11:20
MVVM 패턴은 MVC 패턴과 마찬가지로 소프트웨어 아키텍처를 나타내는 패턴이다 MVC 패턴은 소프트웨어 아키텍처가 Mode-View-Controller로 분리됨으로써 유연하고 확장성 좋은 구조로 개발하기 용이해졌지만, 사용자에게 보여지는 실제 View에 대한 처리도 서버에서 부담해야 했다. 이러한 단점을 보완하여 사용자 인터페이스를 백엔드 로직에서 분리시킴으로써 뷰가 특정 플랫폼에 종속되지 않도록 개선한 모델이 MVVM 패턴이다. Spring MVC로 개발을 할 경우, controller에서 view를 반환할 때 ViewResolver가 논리적 view name에 path 경로와 jsp 확장자를 연결하고 반환하여 플랫폼이 웹에 제한된다는 단점이 있었다. 이를 개선하여, 아예 View에 대한 처리를 Vi..
-
채팅 시스템 구현을 위한 WebSocket 과 STOMP 프로토콜Web 2021. 5. 28. 02:15
싸피에서 1학기 최종 프로젝트를 진행하며 채팅 시스템의 구현을 계획했다 물론 어떻게 채팅 시스템을 구현하는지 시스템 구조나 프로토콜에 대한 기반 지식이 하나도 없었기 때문에 처음부터 공부해야 했다 전형적인 웹 통신 프로토콜인 HTTP를 사용하더라도 채팅(의 모습을 흉내낸) 시스템을 만들수야 있겠지만 HTTP의 Stateless 특성때문에 메시지의 송수신이 반복될 때 마다 connection이 생성되었다 끊어졌다를 반복하는 것 보다는 메시징 처리에 더 적합한 프로토콜과 구현 방식이 존재할 것 같았고, 존재했다 그래서 HTML5 표준안에 존재하는 WebSocket을 이용해 실시간 서비스를 구현하기로 했고, 메시징 처리 프로토콜인 STOMP를 사용하게 되었다 웹소켓은 사용자간의 실시간 상호작용 웹 서비스의 선..
-
REST 관점에서의 HTTP Request GET method와 POST method의 차이Web 2021. 5. 13. 09:11
면접 최다빈출 질문으로, "HTTP Reuqest method인 get과 post는 어떤 차이가 있나요?"라는 질문이 있다 우선 차이점을 표로 정리하면 다음과 같다 method GET POST 특징 Request 시 데이터를 URL 뒤에 Query String으로(key=value)로 추가되어 전달한다 입력 값들이 많지 않은 경우나 공개적으로 URL에 정보를 표기해도 무방한 경우 사용한다 URL과 별도로 전송된다 Http header 뒤에 입력스트림 데이터로 전달된다 장점 간단한 데이터를 빠르게 처리할 수 있다 사용이 간편하다 form tag를 통한 전달이 아니어도 직접 URL에 입력해도 전송이 가능하다 데이터의 양에 제한이 없어 GET method보다 많은 데이터를 전송할 수 있다 최소한의 보안을 유지..