TIL-20211027~30

2021. 10. 28.

좋은 개발자에 대한 고민

10.27

월요일에 백신을 맞고 앓아 누웠다. 수요일 오전까지 쉬니 좀 괜찮아졌다.

was1

간만에 재개했다. 다시 처음으로 돌아가 Attribute리팩토링을 각자 구현했다. 순조롭게 진행됐다.

일급 컬렉션에서 컬렉션 기능을 많이 쓰게 돼면 새로운 구현체를 만드는 것도 괜찮은 것 같다.

entrySet을 이용해 특정 문구를 만드는 기능이 필요한데 어떻게 처리하는게 좋을지 고민이다. 헤더를 만들기 위해 필요한 기능인데, 현재는 toString으로 처리해놨다. 좀 더 좋은 방법을 찾아봐야겠다.

rfc문서는 깜빡하고 읽지 않았는데 내일부터는 다시 읽어보자.

포스트스쿼드1

오늘 회의에서 추가 기능에 대한 얘기가 꽤 나왔다. 확인하지 않은 스케줄에 관한 것과 참가 불가능한 일정에 대한 표시 그리고 일정 후보 추천에 관한 것이었다. 얼른 추가해보고 싶다. 고민해야할 부분이 많아 보인다.

구현이 손에 잡히지 않았다. 우테코 테코톡에 테스트 최적화에 대한 주제가 올라왔는데 나와 비슷한 고민을 한 것 같았다. 요는 결국 컨텍스트 재활용인데 아직 테스트개수가 작아서 그런지 체감이 미미하다. 테스트가 더 비대해지면 다시 테스트해봐야겠다.

발표자는 읽기용 DB와 쓰기용 DB를 분리하는 설정을 했다고 하는데, 아니면 아예 DB를 컨텍스트마다 새롭게 만드는 것도 방법일 것 같다. 아예 라이브러리를 만들어버릴 수도 있겠다.

컨텍스트를 재활용해도 속도에 큰 변화가 없었기 때문인데, 컨텍스트가 확실하게 재활용되는건지, 그리고 순서에 영향을 받는건지 나중에 다시 테스트해봐야겠다.

10.28

was2

목표로했던 리팩토링은 완성됐다. 추가로 고민했던 부분은 팩토리 메소드들의 중복을 어떻게 줄일 수 있을지였다. 제네릭으로 어느정도 해결할 수 있을 것 같은데, 아예 팩토리 클래스를 분리하는게 더 쉬울 것 같기도 하다. 천천히 고민해봐야겠다.

포스트스쿼드2

테스트 최적화

테스트 속도는 그레이들을 이용해서 측정할 수 있을 것 같다. 인텔리제이로 실행시키면 메소드의 실행시간만 나오기때문에 컨텍스트 생성에 얼마나 걸리는지 측정하기 힘들다.

rest docs1

잘 안 되는 부분이 있었다. 이전에는 됐던 것 같은데 snippets 변수를 가져오지 못한다. 이유를 모르겠다. 일단은 변수를 새롭게 정의해주는 것으로 처리해줬다.

error response같은 공통적인 부분 처리는 일단 adoc를 직접 만들어놓는 것으로 처리해뒀다. 테스트를 이용해서 추출하기는 힘들 것 같다. 커스텀을 하는 방법이 있을지 봐야한다.

폴더구조는 output 디렉토리를 매개변수화 시켜둔게 있어서 사용했다. 그래도 해결되지 않는 부분은 테스트 하나에 문서가 여러개 나오는 부분이다. 이런 부분은 애초에 테스트를 분리하는게 맞을지도 모르겠다.

문서는 반드시 json이나 xml구조여야 한다고 한다. 따라서 POST의 리스폰스는 자연스럽게 공통 객채로 빼야 할 것 같다.

10.29

was3

어제 고민했던 부분을 노을과 공유했다. 팩토리메소드는 제네릭을 사용해도 static 메소드이기때문에 제약이 심하다. 다형성을 이용할 수 없기 때문인데, 애초에 생성 책임이 모두 밖에 있어야 했던건 아닌지 하는 생각이 들었다. 텍스트를 한 방에 바꿔주는 것도 좋지만 변경이 유연하지 못한 느낌이다.

풀리퀘스트 올려서 서로 코드 설명하고 페어프로그래밍을 다시 시작했다. 한 번 하고 다시하니 진행이 빠른 느낌이다. 다음 주에 한 시간 정도만 투자하면 될 것 같다.

포스트스쿼드3

rest docs2

오늘은 회원가입 부분을 이어서 작성했는데, 어제 고민했던 테스트 하나에 여러개가 나오는 문제의 반대 상황이다. 하나의 테스트에 결과가 여러개. 그래서 만들어둔 공통 메소드에 도큐먼트 필터를 넣었는데, 걱정과 달리 테스트 메소드를 기준으로 디렉토리가 생성된다. 이 것만 잘 이용하면 될 것 같다.

구조는 얼추 잡힌 것 같고 반복작업만 남았다. 쭉 만들고 리뷰 받아보자.

정대화
DaeHwa_Jeong@outlook.com

Powered with by Gatsby 2.0