ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 스프린트 회고 (6, 7)
    Study/Basecamp 2021. 4. 5. 00:18

    얼마 전에 산 전자책 클린 코드

    스프린트 6 (2.22 ~ 2.28)

    코드리뷰, 클린코드, TDD

    개발 산출믈 코드를 리뷰받았다. 책임님이 진행해주시는 리뷰는 처음엔 좀 겁이 났다. 하지만 막상 해보니 엄청 깔끔하게 설명해주시고 이해가 잘 되게 설명해주셔서 좋았다.
    일정에 맞추기 위해서 좀 급하게 작성했던 코드이다 보니, 놓친 점이 많은 것이 좀 아쉬웠고 리팩토링을 통해 더 좋은 코드를 만들어야겠다고 생각했다.

    처음으로 정적분석 툴을 사용해보았다. Sonarqube라는 툴이었는데, 적절하지 않은 코드나 오류등을 찾아서 분석해주는 툴이다. Intellij와 연계하여 사용할 수도 있다. 이런 걸 어떻게 만든건지 신기했다...

    TDD에 대해서도 배웠다. 배운 적은 있지만 실제로 도입해본 적은 없었던 개발 방식인 TDD를 처음 적용해보려했다. 시행착오가 생각보다 많았다. mocking, stubbing 등 적절한 유닛테스트를 위해 가짜 객체를 사용해봤고, 천천히 테스트 coverage를 올리는게 RPG게임에서 경험치를 모으는 것 같아서 재밌었다. 하지만 여전히 test에서 사용하는 클래스나 메소드 등은 잘 익숙해지지가 않는 것 같다. 꾸준히 하다보면 더 능숙해질 거라고 생각했다.

    스프린트 6를 하면서, 협업을 잘 하려면 클린한 코드를 작성하는 것이 기본이라는 생각이 들었다. 예전에 인턴으로 일했던 스타트업의 CTO님이 그런 클린 코딩을 위해 읽어보라고 추천해주셨던 Clean Code라는 책이 다시 떠올랐다. 그 때는 읽다가 너무 자바 위주라는 생각이 들어서 흥미를 잃었었는데, 지금은 꼭 한 번 읽어보려고 전자책으로 구매했다. 교육이 끝나고 한 번 읽어봐야겠다.

    스프린트 7 (3.1 ~ 3.7)

    스케일 아웃

    기존의 개발 서버 한 대로 사용하는 방식에서, 더 요청이 많아지면 어떻게 해야할까에 대해 고민했다. 요청을 더 이상 하나의 서버에서 다 처리할 수 없다면 두 대 또는 그 이상의 장비를 추가해야할 것이다. 그럴 때 어떤 문제가 발생할 수 있는지, 어떻게 해결할 수 있는지 등을 고민했다.

    예를 들면, 한대의 서버에선 단순히 httpSession 객체로 구현해도 문제가 없었던 로그인 기능은 웹서버가 늘어나면 제대로 동작하지 않을 것이다. 그걸 해결하기 위해 레디스를 도입할 수 있다. 이번 교육에서는 레디스도 써보고, DB로도 세션스토리지를 구현해봤다.
    신입교육에서 이런 고민을 조원들과 함께해보고 해결책을 찾아서 구현해본다는게 값진 경험이라고 생각했다.

    서버 두 대에 배포를 해야하다보니, 양 쪽 서버 모두에 하나하나 해주기에는 귀찮았다. 그 때, NHN CLOUD의 deploy를 사용해서 손쉽게 배포할 수 있었다. 깃헙에 최신 버전을 올린 후, 젠킨스 연동이 설정된 디플로이에서 클릭 한 번이면

    1. 젠킨스 빌드
    2. 디플로이에 전송
    3. 지정한 모든 서버에 바이너리 배포
    4. 스크립트 실행

    위 과정을 진행하고 새로운 버전이 올라오도록 만들 수 있었다. AWS의 코드파이프라인과 비슷한 것 같았다. 매뉴얼대로 했는데 잘 안되던 부분이 있어서 그 부분이 조금 아쉬웠지만, 그 외에 설정하는 과정은 편리했다. 다음에 캠프가 끝나고라도 한 번 정리삼아 포스팅을 해야겠다.

    목요일엔 모두에게 고민을 안겨준 부서 설명이 있었다. 나 또한 제출 하루 남은 이 시점에도 여전히 어디로 지망해야할 지 갈피를 못 잡고 있다.

    미래 성장 가능성을 중점적으로 봐야할 지, 내가 재밌어 보이는 곳으로 가야할 지 고민이 크다. 경험이라고 할만한건 웹개발밖에 없어서 다른 분야는 어떤 곳일지 도전해보고 싶은 마음이 생기면서도, 일이 나랑 안맞다고 해도 최소 2년은 해야하는 일이기 때문에 한 번이라도 해본 적 있는 웹서비스를 제공하는 부서로 지망해서 안정적으로 가야한다는 마음도 계속 가지고 있다. 그 둘 사이에서 내일은 결정을 내려야 한다.

    어떤 결정을 했는지, 또 결과는 어떻게 나왔는지에 대해서는 다음에 정해지면 포스트해보도록 해야겠다! 벌써 교육이 2주 반만 지나면 끝이난다. 남은 기간도 더 유익한 시간이 될 수 있도록 해봐야겠다~

    728x90

    'Study > Basecamp' 카테고리의 다른 글

    마지막 회고  (0) 2021.04.05
    스프린트 회고 (3, 4, 5)  (0) 2021.04.04
    베이스캠프 2주차  (0) 2021.04.04
    Basecamp 첫주 - 사전과제  (0) 2021.04.04
    NHN Be The Rookie 2020  (0) 2021.04.04
Designed by Tistory.