중간에 회사도 한번 들려봤는데
마이그레이션이 잘 돌아가면 그냥 돌려두고 내일 찾아와볼까 싶기도 했지만
막상 수만개의 레코드를 집어넣으니 엄청난 지연이 유발되어버렸다.
제일 큰 문제는 html로 테이블 row가 수만개가 찍히고
그 내부에 한가ㅏ 완료될 때마다 state 부분에 초록불로 바꿔주는 부분이 list로 관리되기 떄문일 것 같은데
어쨌거나 저 많은 레코드가 계속 화면에 출력되는 부분 자체가 큰 문제인 것 같기 때문에
전반적으로 row에 필요한 id, success여부만 출력하고 싶었지만
lwc에서는 row[0] 등의 값을 index로 접근할 수 없게 해서 처리가 불가능했다.
그렇다고 row 내부 값들을 버리기에는 마이그레이션에 실제로 사용하는 값들이라 없앨 수는 없고
처리하는 방식을 각각 row마다 map으로 변경해서 하기에는 귀찮고 시간이 더 오래 걸릴 것 같았다.
특히 일부 부분은 shift, push등으로 관리되는 부분이 있어서
전체적인 로직 수정에 시간이 생각보다 더 걸릴 것 같은데
팀장님이 퇴근하신다고 해서 그냥 다음에 여유될 때 처리하기로 했고
사실 천개로 잘라서 마이그레이션을 할 때는 문제가 되지 않는 부분이었기 때문에
귀찮아도 천개짜리 파일 수십개를 하나씩 올릴지
아니면 5천개쯤에서 성능이 그나마 좋은 집 컴퓨터로 시도해볼지는 더 고민해봐야겠다.
사실 이걸 회사에서 다른 프로젝트 등에서도 사용하려고 하는 것 같은데
그냥 간단하게 테스트용으로 한게 일이 좀 커진 것 같긴 한데
그래도 이걸 엉성한 상태로 두는 것도 문제 같긴 하고
개선할 여유가 있을 때 개선 시도는 여러가지 해봐야겠다.
(1).백준 8320번 직사각형을 만드는 방법은 직사각형을 만들 수 있는 가짓수를 출력해야 했는데
모든 케이스를 다 체크한 다음 기록할 때 set으로 중복을 제거해서 set의 size를 출력하는 방식으로 해결했다.
const input = Number(`6`)
const set = new Set();
for(let i = 1 ; i <= input ; i++){
for(let j = 1 ; i * j <= input ; j++){
if(i < j){
set.add(`${i} ${j}`)
}
else{
set.add(`${j} ${i}`)
}
}
}
console.log(set.size)'회고' 카테고리의 다른 글
| [개발일지] -609(대체휴일) (0) | 2025.03.03 |
|---|---|
| [개발일지] -608(주말) (0) | 2025.03.02 |
| [개발일지] -606 (0) | 2025.02.28 |
| [개발일지] -605 (0) | 2025.02.27 |
| [개발일지] -604 (0) | 2025.02.26 |
