다들 직장인이고 나도 이래저래 정신이 없어서 간만에 스터디를 재개했다.
원래는 레포지토리에 코드를 직접 올리기로 했었지만, 관리가 잘 되지 않았다. 최근 디스커션을 계속 써보니 꽤 편한 것 같아 디스커션을 쓰는걸 제안해봤다. 누가 풀었는지도 잘 보이고 코드 공유도 쉬워질 것 같다.
헤로쿠 배포때문에 이래저래 삽질을 많이 했다. 오늘 안에 api문서까지 마무리하고 싶었는데, 실패했다.
삽질의 원인은 properties 파일 생성이 힘든 것이었다. secret 키를 local에서는 각자 관리하기때문에 해당 프로퍼티 파일은 공유되면 안 된다. 따라서 테스트 스크립트에서는 github secret에 넣어두고 빌드하며 빼는 방식으로 사용했었는데, 헤로쿠는 빌드 결과물을 올리기때문에 잘 동작하지 않았다.
큰 착각을 했던게, 어찌됐건 실행 전에 프로퍼티 파일을 넣어주기만 하면 될거라 생각했는데, 당연히 아니었다.
build.gradle에 설정하는 것은 별로라는 생각이 많이 들었고, 그렇지 않으면 헤로쿠 api를 호출하는 github action을 직접 만들어야 한다. 어렵다.
그냥 생각을 아예 바꿨는데, 굳이 이렇게 할 필요 없이 배포환경별로 프로퍼티를 나눠버리는 방향으로 가려고 한다. 내일 말해봐야겠다.
Rest Docs를 붙이려고 시도해봤다. json path가 아니라, 코드로 json 형식을 검사하는 느낌이라 좀 더 직관적인 느낌이다. 따지고보면 크게 차이는 없다.
테스트는 잘 통과하는데, 문서가 만들어지지 않는다. 설정은 분명 다 해준 것 같은데...
일단 내일부터는 시험 준비를 해야하니 여기까지만 하고 넘겼다. 스프링부트용 자동 설정 어노테이션도 있는 것 같은데 같이 찾아봐야겠다.
어제 되지 않던 부분에 대해 팁을 받았다. adoc파일의 인덱스 파일이 있어야 다른 스니펫들을 불러올 수 있다고 한다. 그래서 생각보다 많이 번거롭다고 한다... 듣고 따라해도 잘 되지는 않았는데, 좀 더 찾아보고 팀원들과 얘기해봐야겠다.
일단 헤로쿠 배포는 곧 될테니 스웨거라도 붙이는게 좋을지도 생각해봐야겠다.
팀원들과 현재 상황을 공유했다. 프로필은 테스트를 주로 사용하니 기본 프로필을 테스트에 적합하도록 꾸미는 것으로 얘기됐다.
오늘 주간 회고에서 앞으로의 마음가짐이나 현재 상황, 생각 등을 공유했다. 전체적인 진행이 늘어지고 있기 때문이다. 대충은 알고 있지만 프런트와 디자인 회의가 원활하지가 않은 상태라고 한다. ui 기획이 계속 틀어지는 상황이다. 지금 당장 내가 도움이 될 수 있는게 없는 것 같아 안타깝다.
제인이 지금 당장 할 수 있는 방법으로 모각코를 제안했고, 다음 주 부터 시작하기로 했다.
깃헙 액션으로 디버깅 할 수 있도록 스크립트를 수정하여 테스트 해봤다. 처음에 스텝에 id를 넣는 것을 몰라 많이 헤멨다. 여기까지는 잘 되는데, 그레이들 빌드에 프로퍼티가 들어가지 않는다. 예전에도 비슷한 경험이 있었던 것으로 기억한다. build 태스크 자체에 프로퍼티를 넘길 수가 없었던 것 같다. 굳이 하고 싶었던 이유는, pr시 동작하는 테스트가 로컬이 아닌 배포 프로필로 돌아갔으면 좋겠다는 생각때문이었다. 몇 가지 방법을 생각해봤는데, 지금 생각 중인 것은 그레이들 테스크를 새로 만드는 것이다. 빌드 테스크는 따로 만들기 까다롭지만, 테스트 테스크는 크게 어렵지 않았다. 이해가 안 되는 점은 cli로 실행하면 스프링 프로필 설정이 적용되지 않는다.
카카오 2차 시험을 봤다. cs시험은 나에게 어려웠다. 반타작 정도 한 것 같다...
구현 문제도 성적이 그리 좋지는 않았다. 복기를 해보면 크게 세 가지 문제점이 있었던 것 같다.
우선 초반에 DTO 검증에 시간을 너무 많이 쏟았다. 대략 한 시간 정도를 쓴 것 같은데, 처음 생각은 여기서 잘 잡으면 나중에 신경쓸 일이 없으니 편할 것이라는 생각이었다. 그런데 빠르게 구현만하고 테스트코드 대신 주먹구구식으로 확인하는게 속도감은 더 있었을 것 같다. 의미가 아예 없지는 않았는데, 구조가 좀 복잡한 경우는 테스트를 하는게 도움이 됐다. 빠르게 구현을 해야 했던 만큼 시간적인 부분을 잘 판단했어야 했던 것 같다.
위의 문제점은 도움이 된 부분도 있었고 도움이 되지 않은 부분도 있었지만 다음은 문제점은 치명적이었다. 문제의 특성상 for문 두 번에 같은 코드가 중복되는 부분이 있었다. 약간 다른 부분이 있어 방치해뒀는데, 나중에 코드를 모두 변경하지 않는 실수를 하게됐다. 덕분에 변경한 결과가 제대로 반영되지 않았고, 점수가 오르지 않아 계속 제자리에서 멤돈 느낌이었다. 빠르게 정리했으면 다른 방법들을 많이 시도해봤을 것 같은데 이 부분이 특히 아쉽다.
마지막으로 잘 계산하는 방법이 따로 있었다. elo 알고리즘이라는 것인데, 평점 시스템에서 널리 쓰인다고 한다. 처음부터 살펴봤으면 가중치 계산에 큰 고민을 하지 않아도 됐을 것 같다. 분명 뛰어난 해결법이 존재했을텐데, 이를 생각하지 않은 것이 아쉽다. 카카오 문제가 다시 올라오면 풀이하며 살펴봐야겠다.
Powered with by Gatsby 2.0