TIL-20171028, 29

2017.10.28(토) ~ 10.29(일) 주말의 TIL

  • MVC 프레임워크 2단계 구현을 완료하다.

    • Controller의 리턴값을 String에서 ModelAndView로 바꾸다.
    • ModelAndView는 말 그대로 Model과 View를 갖는다. View는 확장성 있게 사용할 수 있도록 인터페이스로 구현하고, JSP View와 JSON View로 구현체가 나눠져 있다.
    • ModelAndView에 담기는 view는 리디렉션 정보나 JSP 파일 경로를 가져야 한다.
    • Spring Framework에서도 자주 등장하는 ModelAndView의 작동 원리를 탐구할 수 있는 기회였다. 특히 이제 인터페이스를 활용한 다형성 구현에 부담감이 많이 없어진 것 같다.
    • ModelAndView를 구현함으로 인해 DispatcherServlet 클래스의 복잡도를 크게 줄일 수 있었고, 컨트롤러의 구현에 있어서 명시적으로 정보를 담을 수 있는 점이 좋다.
    • 월요일 오전 중으로 PR을 보내고 포비에게 코드 리뷰를 받을 것이다.
  • 자바스크립트의 “프로토타입” 에 대해 학습하다.

    • 자바를 통해 Object개념을 숙지하고 있는 상태에서 학습하니 개념이 어렵지 않았다.
    • JS의 특이한 점인 프로토타입 링크 구조에 대해 알게 됐다. 자바에서와 마찬가지로 자바스크립트 상의 모든 객체는 Object()와 연결되어 있는데 상속과는 다른 개념이고, 프로토링크 (proto) 를 통해 특성을 자기 복제하고 프로토타입을 이어받는다.
      예: Person() 객체는 toString() 이 구현되어 있지 않아도 toString이 작동하는데 이는 Object.prototype.toString()이 작동하는 것이다.

      JS에서의 OOP에 대해 관심이 생겼다. 사실 그간 JS에 대해서는 피상적으로 이야기하고, 프론트엔드 구현에서 보조적인 역할만을 담당해봤기 때문에 JS를 통해 객체지향 프로그래밍을 할 일이 잘 없었다.
      재밌는 언어 같은데 학습할 기회가 곧 생기리라 생각한다.

  • 아라한사님의 스프링 시큐리티 영상을 시청하다. 타자와 말이 너무 빨라 만족스럽진 않지만 그래도 시큐리티에 대한 궁금증을 해결하기에 좋은 영상이라고 생각한다.