final 설명을 보던 중 할당 후 재할당이 불가능하다는 당연한 내용을 스르륵 내리면서 보던 중

예시에 황당하게 선언 시점이 아니라 선언 이후 할당하는 모습을 보게 됐고

비슷한 작동을 하는 JS의 const는 저게 안됐던 것으로 기억하기 때문에 바로 시도해봤지만

아래 코드블럭 아랫줄 내용처럼 에러가 발생했다.

 

하지만 final의 경우에는 조금 더 융통성이 있기 때문에 할당 여부를 따로 구분하는 것 같고

즉시 할당도 가능하지만 선언 이후 할당도 가능하며

할당 이후 다시 할당을 시도하는 경우에만 에러가 발생했다.

final integer a;
a = 1;

System.debug(a);

a = 2; //Error

----------------

const a
a = 10 //Error

 

상수지만 변수같은 상수 느낌으로도 사용할 수 있을 것 같은데

아래와 같이 특정 조건에 따라서 전역적으로 선언된 상수에 조건문 또는 랜덤 확정 후 고정된 값에 따라

배율 및 결과 조절이 될 것 같은데 뭔가 idle 게임 개발에서 특정 고정값 등에 넣어줄 수 있는 느낌이 들었다.

final String a;

if(Math.random() > 0.5){
    a = 'win';
}
else{
    a = 'lose';
}

System.debug(a); //win, lose 랜덤 출력

 

주민등록 등/초본 확인용 API 관련 내용이 올라와서 확인했는데

해당 프로젝트에 공식적으로 이름이 올라간건 아니었고

5월에 야근이 몰아치던 시기에 이런저런 지원만 했었기 때문에 해당이 없을 것 같아서 보다 말았다.

 

SAP에서는 또 에러 로그를 요청해서 전달했는데

얼마 뒤 SAP에서 드디어 원인을 다시 찾았고

예전에 메모리 차지 문제처럼 여러개의 쓰레드(?)가 종료되지 않고 좀비처럼 남아있었는데

그것 때문에 사용량이 폭주해서 중간중간 서버가 멈추는 등의 문제가 발생했던 것 같다.

 

SAP이랑 관련없는 입장에서 봐도 메모리 문제였을 가능성이 있어보였고

심지어 고객사 문의에서도 그런 느낌으로 답변했던 내용이 있을 정도인데

이렇게 긴 시간동안 이제서야 찾은 것이 좀 신기하기도 하고

내부 구조를 모르다보니 일정 시점에만 사용량이 증가하면 그럴 수 있을 것 같기도 하고

어쨌거나 나중에 그런 작업을 하게 되면 자동 종료 등도 잘 관리할 수 있어야겠다.

 

온보딩 과제를 확인했는데

이번 과제는 뭔가 기간은 다들 동일한 2주였던 것 같은데

룰을 제외하면 추가적으로 꾸며진 뭔가가 없는 느낌이긴 했는데

생각해보면 우리는 피드백으로 썸네일이나 파일전송 등에 대해 받았었기 때문에

이후 과제들에도 그게 적용되서 추가 페이지 개발 등을 했던 것 같긴 하지만

지역 다중 선택이나 이런저런 필요해보이는 기능이 없어서 조금은 아쉬웠다.

 

동기들이랑 과제를 할 때는 3~4일 전쯤 모여서 서로 피드백도 하고

받은 내용들을 수정하면서 그럭저럭 퀄리티가 더 좋아졌었는데

그게 아니라도 이후에 신입분들이 과제를 진행하게 된다면 진행 중간에 평가를 한번 하고

거기에서 나온 피드백들을 얼마나 잘 적용하는지도 업무 평가에 도움이 될 것 같다는 생각은 들었다.

 

인터페이스 에러로 바꿔달라는 부분에서

왜 에러가 발생했는지 원인을 찾아달라는 요청이 들어왔고

확인해본 결과 키로 사용되는 조합에 들어가는 필드 하나가 빠진 두건만 해당하는 값을 못찾으니 매칭이 안됐고

매칭되지 않으면 에러처리를 해달라고 했기 때문에 에러가 발생한 것이라 해당 내용과 로그를 전달하고 마무리했다.

 

 

(1).백준 16204번 카드 뽑기는 앞에 특정 개수의 o, x를 칠한 카드가 있을 때

뒷면을 특정 개수로 칠할 때 앞뒤 쌍을 최대로 만들 수 있는 숫자를 구해야 하는 문제였다.

 

문제가 n,m,k로 지정되고 설명도 잠깐 헷갈리긴 했는데

주어진 값을 순서대로 정하면 m,k의 개수 중 작은 것이 O 조합쌍이고

n-m, n-k의 경우 X의 최대 개수가 되기 때문에 두 Math.min의 값을 더해서 출력해줬다.

 

사실 출력 전 테스트케이스에서는 O나 X 중 하나 최대값인줄 알고 Math.max를 썼었는데

테스트케이스에서 예상과 다른 값이 나와서 확인하니 O와 X 쌍을 더하는거라 그냥 더하고 제출했는데

Math.max는 지웠어야 했을 것 같다.

const [n,m,k] = `7 5 2`.split(' ').map(Number)

console.log(Math.max(Math.min(m, k) + Math.min(n-m, n-k)))

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

[개발일지] - 482(주말)  (0) 2024.10.27
[개발일지] - 481(주말)  (0) 2024.10.26
[개발일지] - 479  (0) 2024.10.24
[개발일지] - 478  (1) 2024.10.23
[개발일지] - 477  (0) 2024.10.22

+ Recent posts