ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [BaseCamp] 4, 5주차 회고
    Rookie 2021. 2. 22. 22:17
    반응형

     

    길고 짧았던(?) 개발 과제가 끝났다.  

    6주차 월요일 발표날에도 문제가 생겨서 조마조마했는데 무사히 배포를 마치고 발표를 끝냈다.

    발표를 맡은 수빈님은 연습을 많이 못했다고 하지만, 딱 7분에 맞춰 완벽하게 발표를 잘해줬다 Good!

     

    주말까지 개발을 하며 제대로 쉬지를 못했었는데, 

    과제가 끝나는 동시에 긴장이 풀려서인지 몸살이 났다 😩

     

    이번 회고는 기억에 남는 이슈나 기술을 정리해보았다.
    KPT는 이 회고를 쓰는 시점에서 너무 정리가 안된 관계로 내일 따로 포스팅을 할 예정.

    이번 회고에 쓴 내용은 꼭 따로 공부하고 정리하고 싶다.
    (하고 싶은 것만 많고 제대로 쓰지는 않지만🥲...)

     

     


     

    js의 날짜 표현, Date 객체

    Date는 날짜와 관련된 메소드를 제공하여, 날짜와 시간을 저장하거나 다양한 포맷으로 출력할 수 있는 js 내장 객체다.
    이번 프로젝트에서는 상영시간표의 일자 선택 부분에 많이 사용되었다.

     

    JPQL

    jpa에서 제공하는 객체 지향 쿼리 언어로써, 테이블이 아닌 엔티티를 대상으로 질의를 작성한다.
    jpql에서 엔티티는 반드시 첫글자를 대문자로 작성해야하는데 잘못 작성하고 한참을 헤맨 기억이 있다. 😂
    또한 jpa 2.1부터 제공하는 entity graph를 사용하면 fetch type이 lazy인 관계도 조인하여 한번에 불러올 수 있다. (n+1문제 해결!)
    쿼리를 별도로 만들지 않아도 명시한 관계에 따라 자동으로 조인을 해주니 편리했는데,
    의도하지 않은 조인도 발생했기 때문에 조금 더 공부할 필요성을 느꼈다.
    (역시 모르고 막 쓰는 게 제일 위험하다...!)

    mysql과 only_full_group_by

    my sql 5.7부터 추가된 설정으로 group by에 작성하지 않은 컬럼을 select로 가져오려 할때 exception을 발생시킨다.
    잘 몰랐던 설정이라 팀원들 모두가 당황했었는데, 용표님이 잘 찾아서 해결해줬다.
    +)
    having을 쓰면서 집계함수를 쓰지 않고 사용하는 컬럼은 group by에 반드시 기술해야한다.
    쿼리가 실행되는 순서는 다음과 같은데,
    from - where - group by - having - order by - select - limit
    보다시피 having은 group by로 집계된 후에 실행되는 것과 관련된 것으로 보인다.


    fetch

    js의 fetch API를 사용하면 비동기 요청을 간편하게 할 수 있다.
    fetch의 인자로 요청을 보낼 url과 request data(method, headers, body, ...)를 넣어 실행하면 브라우저는 요청을 보낸다.
    요청이 완료되면 Promise타입의 Response객체에 값을 리턴 받고, 요청이 중단되면 catch를 통해 예외처리도 할 수 있다.
    기존에 프론트엔드 개발을 해봤을 때는 ajax를 썼는데,
    문법이 비슷하면서도 훨씬 간편해서 이번 프로젝트에서는 fetch를 사용했다.
    단, IE에서는 ES6를 완벽하게 지원하지 않아서 동작하지 않을 수 있다...🥺


     

     

     

     

     

    'Rookie' 카테고리의 다른 글

    [BaseCamp] 최종 회고  (0) 2021.03.29
    [BaseCamp] 6주차 회고  (0) 2021.03.09
    [BaseCamp] 3주차 회고  (0) 2021.02.07
    [BaseCamp] 2주차 회고  (2) 2021.02.04
    [BaseCamp] 1주차 회고  (1) 2021.01.25

    댓글