ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 20221105 TIL 모르는 기술을 어떻게 쓸 것인가
    TIL 2022. 11. 5. 11:11

     

    개발자는 끊임없이 새로운 기술을 익혀야 한다.

    더 좋은 기술이 나왔고, 적용할 수 있는 상황이고, 적용했을 때 개선이 될 부분들이 보인다면

    당연히 새로운 기술을 적용하는 것이 맞기 때문이다.

    하지만 그렇게 하지 못하는 이유는 뭘까?

     

    대부분은 새로운 기술을 도대체 어떻게 써야 될지를 모르겠기 때문일 것이다.

     

    그 첫 번째 이유로는 기술에 대한 개념 공부가 덜 되어있어서 막막한 경우가 있을 것 같다.

    예를 들어 스프링이라는 기술을 쓰고 싶은데 의존성 주입이 뭔지도 모른다면 의존성 주입을 먼저 공부해야 할 것이다.

    하지만 스프링이라는 기술이 의존성 주입을 쉽게 만들어준 것이지,

    이미 의존성 주입의 개념도 알고 사용도 하고 있었을 수도 있기 때문에 

    이 부분은 아예 다른 분야의 기술을 적용하는 게 아닌 이상

    연차가 쌓이고 공부량이 늘수록 조금씩 모르는 개념을 조금 더 빨리 습득할 수 있지 않을까 싶기도 하다.

     

    기술에 대한 개념 공부와 별개로 해당 기술을 어떻게 사용할지(코드로 풀어낼지)는 또 다른 문제인데,

    요즘 고민이 많이 되었던 부분이었다.

    주말동안 개념 공부를 해서 '아 의존성 주입은 이런 거구나.'라고 알고 있어도 

    '그래서 해당 기술로 어떻게 의존성 주입을 해야되는데?'에 대해서는 코드 예시가 없으면 사용하기가 막막하다.

    그래서 과제를 하는 중에 강의에서 알려준 내용으로 해결되지 않는 부분들이 나오면 어떻게 해야 될지 매우 막막해서 질문을 했다.

     

    도대체 모르는 것을 어떻게 쓰면 좋을까요?

     

    이에 대한 답은 공식문서에 다 들어있다는 것이었다.

    공식문서가 좋은 것은 알고 있다.

    최대한 공식문서를 보려고 노력을 한다.

    그런데 내가 검색을 못하는 것일 수 있지만 공식문서에 찾아도 필요한 코드가 안나오는 경우가 많다...

    그리고 잘 정리된 블로그 글들과 달리 필요한 정보가 흩어져 있는 경우가 많아 시간도 오래 걸린다.

    그래서 항상 어떻게 하면 조금 더 빠르게, 새로 익힌 기술을 잘 사용할 수 있을까 고민을 하다가

    쉬는 시간에 우연히 보게 된 백기선님의 영상(https://www.youtube.com/watch?v=i3p0dQrIDNo&list=PLfI752FpVCS-wPT1tpQ0y4NMyWr92bzgL&index=5)을 보고 답을 얻었다.

     

    https://t1.daumcdn.net/cfile/tistory/2176CA4E52D8E2893B

    개념은 문서에서, 코드는 깃헙에서!

    (백기선 님의 말씀은 아니고, 나의 생각이다!)

    개념은 찾을 수 있는 곳이 많고, (책을 읽자!) 공식 문서에도 잘 정리되어 있는 경우가 많다.

    그런데 공식 문서에는 실제 상황에서 마주하는 모든 상황에 대한 코드가 들어있지 않다.

     

    따라서 어떻게 적용하는지를 보려면 다른 방식도 동원하는 것이 바람직하다고 생각한다.

    모든 상황에 대한 코드는 아니어도 많은 상황에 대한 코드가 깃헙에 녹아있다.

    https://github.com/spring-projects/spring-petclinic

    이런 공식 깃헙 프로젝트들을 보면 테스트 코드부터 패키지 구조까지 모든 것을 한눈에 볼 수 있다.

     

    베스트 practice을 따르고 있는 아주 좋은 예시들이 공식 깃헙에 있는데

    공식문서를 읽을 생각은 해도 공식 깃헙을 볼 생각을 못했었다.

    코드는 당연히 깃헙에 있는데, 왜 이것을 이제 깨달았던 걸까!

     

    모르는 내용이 나와서 공식 문서에서 검색할 때 best practice라고 볼 수 있는 레포지토리의 코드들도 함께 보고 적용해봐야겠다!

    그리고 내가 짠 코드보다 나은 코드들을 보고 내 코드를 개선해서 더 좋은 코드를 짜 보자!

    댓글

Designed by Tistory.