일단 씻고 나가자

23.10.25 본문

Study/닥치는 대로 주워 담기

23.10.25

일단 씻고 나가자 2023. 10. 26. 01:50

2023. 10. 25 수요일

 

 

- [Effective Java] 매개변수 유효성을 검사하는 위치, 유의점?

: 매개변수 유효성은 최대한 앞단에서 검사하는 것이 좋으며, 어노테이션 및 controller단에서 검사하는 때도 있고, 로직 상에서 검사한다면 fast failed로 먼저 실패 케이스를 검사하는 것이 좋다. 이유는 로직 중간에 검사를 진행하면 로직을 수행하다 예외를 발생시켜 쓸데없는 자원을 소모할 수도 있고, 데이터베이스 저장 중 실패되어 크리티컬한 에러가 발생할 수 있기 때문이다.

 

또한 회사 내부적(프론트 백 혹은 서버 서버)으로 사용하는 api가 아닌 경우 다른 사용자들에게 많은 호출 공격이나 sql injection 등으로 공격을 받을 수 있으므로, 공개된 API라면 더더욱 파라미터에 대한 철저한 검사가 필요하다.

 

 

- [Spring] MVC의 유래? Spring MVC의 동작 과정?

: 기존에 서비스마다 분리되지 않고 한 곳 혹은 한번에 모든 걸 처리하는 스파게티 코드는 유지보수가 힘들었다.

분업화되고 기능이 세분화된 요즘엔 역할과 레이어의 분담으로 담당하는 분야를 나눌 수 있다.

 

먼저 DispatcherServlet이 혼자서 클라이언트와 request, response를 모두 담당한다.

요청이 들어오면 DS는 HandlerMapping에게 해당 url과 HttpMethod(Get, Post 등)으로 controller의 위치를 물어보고

매핑이 되어 있는 HM에게 위치를 받으면 DS는 다시 해당 위치의 controller에게 요청을 보낸다.

controller는 처리를 통해 보내야 할 데이터와 view의 위치를 DS에게 알려주고,

DS는 ViewResolver에게 보내야 할 view의 위치가 어디있는지 view의 이름을 받는다.

그럼 해당 위치로 가 실제 view 파일과 받은 데이터(모델)를 합쳐 최종 결과물을 반환한다.

 

예전엔 view가 html 혹은 jsp로 합쳐 한 번에 보냈다면,

요즘은 서버는 데이터만을 담당하고 클라이언트 개발자가 그것을 가공하기 때문에

view로 json을 보내고, request도 json만 받는 추세가 되었다.

'Study > 닥치는 대로 주워 담기' 카테고리의 다른 글

23.10.30  (1) 2023.10.31
23.10.26  (1) 2023.10.27
23.10.24  (0) 2023.10.25
23.10.23  (1) 2023.10.24
23.10.19  (1) 2023.10.20