테스트클래스를 작성하려고 마음먹었지만

생각해보면 어차피 테스트클래스를 작성해도 큰 의미가 없는게

복잡도가 높은 상태에서 진행하면 수정된 코드가 어떻게 바뀔지 모르기 때문에

테스트 또한 심하게 바뀔 가능성이 있어서 다시 메서드 최적화를 먼저 진행하기로 했다.

 

pmd를 설치하기로 하고 pmd를 진행했지만

우분투라서 그런건지는 모르겠지만 되지 않았다.

 

일단 경로상에 “문서”라고 된 부분을 Document로 미리 변경했는데

그 부분부터 이름이 “문서”가 아니라서 기본 제공이 “문서”로 고정되어있는

바로가기와 매칭이 되지 않았기 때문에 사용이 불편해졌고

pmd를 설치는 했지만 bin path까지 연결했는데 제대로 매칭이 되지 않는 기분이었다.

 

직접 배치 관련된 명령어를 우분투에서 찾아서 해봤지만 되지 않았고

user setting에 들어가서 설정해도 되지 않았는데

이 부분은 우분투에서 어떻게 해야 할지 모르겠으니

내일 테스트클래스까지 작성이 끝난 상태에서 확인하기로 하고 넘어갔다.

(시간 낭비가 많이 된 것 같다..)

 

그래도 확실히 데스크탑의 성능이 좋은 것인지

아니면 우분투라서 좋은 것인지는 모르겠지만

vscode 익스텐션이 3초만에 로딩이 완료되어서

의문의 파일 삭제를 당했음에도 새 프로젝트 생성 후

인증 및 작업중인 파일 org에서 가져오기까지 짧은 시간만에 해결할 수 있었다.

 

테스트코드를 작성하는데 프로필을 생성할 수 없어서 충격이었는데

mock등 여러가지 방법을 사용하려고 했지만 제대로 되는 일이 없었다.

 

이걸 어떻게 변경해야 하는지 한참 고민하면서 디버그를 찍던 도중

디버그에서 프로필과 그룹멤버가 모두 불러와진다는 것을 알 수 있었다.

 

당황스럽지만 만들 필요가 없는 데이터를 만들려고 고생하면서

3시간 이상 소비했는데 왜 테스트에서도 데이터에 직접 조회가 되는지는 이해할 수 없지만

멤버들이 그대로 담겨있기 때문에 테스트 실행 직전 멤버 조회 후

테스트를 돌린 다음 이전 멤버 + n명이 들어갔는지 테스트 하는 등의 방식이 필요해보인다.

 

유저를 생성하고 등급까지 나눴는데 이미 시간이 너무 많이 늦어서 이만 하고 자기로 했다.

사실 테스트까지는 다 끝내야 했는데

pmd 에러와 생성 불가 에러 때문에 아쉽지만 해결은 했다는 것으로 만족하기로 했다.

 

 

 

 

 

(1).백준 25841번 Digit Count는 a에서 b까지의 숫자가 주어질 때

해당 숫자들 내부에 n이 몇번 들어가는지를 묻는 문제로

1000~1000까지라고 할 경우 1은 1개, 0은 3개가 들어가고

1111~ 1112까지라고 할 경우에는 1이 7개 2가 1개가 들어가는 것이라고 볼 수 있고

특정한 숫자 n 하나의 갯수만 파악하면 되는 문제였다.

 

간단하게 해당 숫자부터 종료 숫자까지의 모든 숫자를 문자열로 합친 다음

처음부터 끝까지 n이 들어있는지를 확인하며 count에 1씩 더해 해결할 수 있었다.

const input = `1000 9999 7`.split(' ').map(Number)

const target = String(input[2])
let str = ''
let count = 0

for(let i = input[0] ; i <= input[1] ; i++){
    str += i
}

for(let i = 0 ; i < str.length ; i++){
    if(str[i] === target){
        count++
    }
}

console.log(count)

'회고' 카테고리의 다른 글

[수습일지] - 64(석가탄신일 대체공휴일)  (0) 2023.05.29
[수습일지] - 63(주말)  (0) 2023.05.28
[수습일지] - 61  (0) 2023.05.26
[수습일지] - 60  (0) 2023.05.25
[수습일지] - 59  (0) 2023.05.24

+ Recent posts