ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 우아한테크캠프 Day10
    우아한테크캠프 2018. 7. 14. 01:29

    할 줄 아는 것만 하면 지금보다 나아질 수 없다 (From 쿵푸팬더)




    Day10 학습 내용



    오늘은 무한도전에 나오셨던 한명수 이사님의 특강을 들었다. 개인적으로 많은 것을 생각할 수 있었던 뜻 깊은 시간이었다. 


    우리는 흔히 무언가를 알고 있다고 착각한다. 

    스스로가 용어에 대한 정의를 명확히 내려야 한다 (include 추상적인 개념)

    ex) 개발이란, 창의력이란, 포트폴리오란 etc ...


    개념에 대한 정의가 명확히 있다면 결과는 다르다. (방향성이 생기기 때문에)


    깊이 있게 하려면 그 일을 좋아해야 한다.

    의미가 있지 않다면 그 일을 할 이유가 없다.



    쉬운 인터페이스 뒤에 엄청난 고민과 노력이 있다.




    두 번째 특강으로 "자바 ORM 표준 JPA 프로그래밍" 책을 집필하신 김영한 님의 강의를 들었다. 

    유쾌하신 성격을 가지고 계신 것 같았고 너무 재밌게 JPA 강의를 해주셔서 앞으로 JPA의 노예가 될 것 같다. :)

    참고 : https://www.slideshare.net/zipkyh/ksug2015-jpa1-jpa-51213397


    JPA 공부할 때, 쿼리에 대해 깊이있게 알아야 한다. 어떤 쿼리가 나가는지, 인덱스를 어떻게 태우는지, 깊게 공부해야한다.


    기승전 DB

    DB에 대해 진짜 열심히 공부해야 한다. (+ 쿼리)


    우아한형제들에서 네이티브 쿼리 작성하는건 1~2개 밖에 없다.



    학습 할 부분

    1. 1차캐시 부분

    2. QueryDSL (우아한형제들에서 많이 사용하고 있다.) 

    Why?

    • 자바코드로 쿼리를 작성하게 도와준다. (가독성 증가)
    • 컴파일시점에 버그를 잡게 도와준다.
    • Where 조건을 메소드로 빼서 공통화 할 수 있다. (자바 코드기 때문에)


    JPA 단점

    학습곡선이 스프링보다 훨씬 높다. (특히, 영속성 컨텍스트 학습하는데 비용이 높다.)


    나의 학습 스타일

    일단 만들거나 현장에 뛰어 들어야 한다. 고생하면서 배워야 한다. 부족한 부분은 책을 통해 찾아본다.

    (나는 학자형 스타일은 아닌 것 같다.)



    믿고듣는 박재성 교수님 수업


    빈 생명주기

    해당 부분을 알면 디버깅 할 때, 도움이 된다.


    빈 스코프 

    스프링에서는 기본적으로 싱글 톤 방식을 사용하고, 

    싱글 톤이면 멀티스레드 환경에서 문제가 될 수도 있다 정도만 알면 된다. 

    나머지는 쓸 일이 많지 않다. 여기에 너무 많은 시간을 투자하지 마라.



    ATDD 

    1. 브라우저 없이 할 수 있는 테스트

    2. 수동 테스트를 없앨 수 있는 테스트


    학습 비용이 많이 든다. 단위테스트보다 더 어렵다.

    테스트 코드를 만드는 비용이 많이 들어가는 단점이 있지만, 복잡한 기능에 대해서만이라도 테스트 코드를 만들 것

    (단순한 기능은 수동테스트 진행)


    테스트

    1. API 컨트롤러 테스트 

    데이터가 넘어오기 때문에 테스트하기 쉽다


    2. HTML을 리턴하는 컨트롤러 테스트

    HTML을 검사하는 테스트가 아니다. 그리고 이것은 어렵다.


    단지 유효성 검사할 때, 예외가 발생하는지에 대한 테스트를 할 수 있다.

    응답코드 확인하는 정도가 최선이다.


    백엔드개발자로 산다면 RestTemplate 클래스를 많이 사용할 것이다.

    테스트를 위한 RestTemplate 클래스를 TestRestTemplate이라고 한다.



    스프링 인터셉터

    컨트롤러에서 발생하는 중복을 스프링 인터셉터에 구현하여 중복을 제거한다. (동작 방식도 학습할 것)



    어노테이션

    무슨 역할을 하는지 라이브러리나 프레임워크에게 알려주는 역할





    '우아한테크캠프' 카테고리의 다른 글

    enum (열거형)  (0) 2018.07.15
    애노테이션  (0) 2018.07.15
    자바 ORM 표준 JPA  (0) 2018.07.13
    우아한테크캠프 Day09  (0) 2018.07.12
    우아한테크캠프 Day08  (0) 2018.07.12

    댓글

Designed by Tistory.