ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 6/24
    CodeStates_Backend/TIL (정제되지 않은 글들) 2022. 6. 24. 09:33

    [굿모닝세션-황정식]

    더미데이터로 응답해주는 것을 Mock 또는 Stub 데이터라고도 함.

     

    프론트 단에서 Angular 든 뭐든, 99% Json 으로 HTTP 통신으로 데이터가 넘어올것임.

     

     

     

     


    [질문]

    * PathVariable 과 RequestParam 은 결국 똑같은 동작 아니냐? ->  맞다. 그냥 정해둔거라 쓰는거임ㅋ

    * 브라우저 링크란에서 Post/Get 등을 하기는 힘듬. 포스트맨이나 Jquery, curl 등을 쓰는게 좋음.

    * 요청 URI 에 데이터값이 유출되면 보안에 문제 있지 않나? -> 나중에 JWT나 OAuth2 같은 보안 토큰이나 시큐리티로 감쌀 예정임. URI 리소스 자체는 https 로 암호화함.

    * PatchMapping 에서 어떤 데이터를 찾아 수정할 지에 대한 의문이 있었는데, 나중에 배운다고 함.

    * 컨트롤러안에 여러개의 핸들러 메서드가 있는데, SRP 위반인가? -> 그건 아니다. 애매하긴 한데,, HTTP 메소드라는 하나의 기능에 포함된다고 보면 좋을 듯.

    * appConfig 는 컨트롤러로써의 역할은 아니고 빈 으로써 등록되는 것임.

     

     

     

     

     


     

     

    [오후 세션 - 황정식]

    Spring MVC 주요 컴포넌트 내부 살펴보기

     

    * 렌더링이란? 화면을 만들어내는것

    * 렌더링의 대상은? HTML

    *SSR : 

    SSR server side rendering

    * CSR

    CSR Client Side Rendring



    * 로그 분석

    * profile 은 지금은 아직 적용안했는데, 나중에 배울거임.

    * 톰캣은 서블릿 컨테이너 라고 표현하면 정확함.

     

    [참고]

    빌드쪽에 에러있으면 gradle 란에서 clean 기능 해주면 빌드한거 다 지워줌.

     

    [참고]

    데이터베이스 단 배우기 전까지는 inmemoryDB를 쓸텐데, 이 DB 도 자동으로 인덱스가 auto_increment 처럼 기본키로 붙게됨. 원래 유들이 기본적으로 붙임. 그래서 PathVariable에서 사용하곤 함.

     

    [참고]

    뭘 어떻게 코드를 시작해야할 지 모르겠으면, 그냥 크게 필요한 기능을 메소드 이름만 써서 만들어놓고 해봐라.

     

     


    DTO 실습

     

    RequestBody 에서 Json 데이터가 오면 JacksonHttpMessageConverter(?) 라는 놈이 자동으로 바꿔서 해당 객체로 넣어줌. 그래서 setter메서드가 없어도 됨. 즉,

    여기서 @RequestBody가 JacksonHttpMessageConverter기능으로 POST에서 들어온 Json 데이터를 자동으로 CoffeePostDto 객체로 변환해서 coffeePostDto 로 넣어줌. 그래서 CoffeePostDto 클래스 내부에 setter 메서드는 없어도 되는 것임. 좀 신기함. 내부 과정은 몰라도 됨.

     

    * Optional 부분

    @Range 는 @Min, @Max 로도 가능함.ㅋ

    그리고 Optional 을 저렇게 쓰는 건 첨 알았네.. 직접 물어보니 저 안에 쓸수 있다고만 하고 어떠한 기준은 안알려줌..

     

    * DTO 방식이 각자 다 클래스를 만들어줘야하니까, 클래스를 너무 많이 만들어야 되서 안좋지않느냐 질문이 있었는데, 그럼에도 불구하고 DTO 의 장점이 더 많기 때문에 사용한다고 함. 너무 클래스가 많아질 경우, 하나의 큰 클래스로 두고 내부 클래스들로 집어넣어서 한번에 접근하는 방법을 쓰기도 함. 약간 편법. DTO의 최고 장점이 데이터 개수를 여러개 한번에 객체로 처리하므로 HTTP 요청의 개수를 줄일 수 있는 것이라고 함.

     

    * One Thread Per Request

    요청당 쓰레드 1개씩 생성. 요청이 많아지면 쓰레드가 많아지므로, 톰캣이나 서블릿 컨테이너가 부하가 많아짐. 이럴때 MaxThread 같은 변수로 컨트롤하기도함. 톰캣이나 서블릿 컨테이너가 쓰레드풀이라는걸 운영하며 관리함.

     

     

    'CodeStates_Backend > TIL (정제되지 않은 글들)' 카테고리의 다른 글

    6/28  (0) 2022.06.28
    6/27  (0) 2022.06.27
    6/23 : 섹션 3 시작!  (0) 2022.06.23
    Bellman-Ford's Algorithm  (0) 2022.06.22
    6/17  (0) 2022.06.18
Designed by Tistory.