typescript 3

[typescript] 깊은 복사와 얕은 복사, 그리고 JSON (feat. 얕은복사의 최상위 속성)

typescript로 개발중에앞서 개발했던 함수에서는 전혀 문제가 되지 않았던 부분이그와 유사한 다른 함수를 개발할 때 동일한 로직으로 개발을 하려니 웬 갑자기 얕은복사로 애를 먹고 있는데챗 GPT가 문제가 되던 부분을 짚어줬다. 깊은복사처럼 실행되던 나의 얕은복사 코드;다시는 이런 일이 없도록 포스팅해두기로 한다.    제공해주신 코드의 전반적인 구조는 잘 작성되어 있지만, 얕은 복사로 인한 문제가 발생할 가능성이 있습니다. 특히, 중첩된 객체인 object_statistics와 event_statistics와 같은 속성이 참조를 공유하기 때문에, 예상치 못한 상호 간섭이 발생할 수 있습니다.코드를 살펴보면 아래와 같은 문제가 있을 수 있습니다:1. 중첩된 객체의 얕은 복사 문제regionStatTem..

기술공부/언어 2024.09.10

[Node.js] 왜 pg 라이브러리에서 bigint를 string으로 인식할까?

현재 진행하고 있는 프로젝트에서 postgresql의 stored procedure를 활용하는 케이스가 많은데,집계함수 sum을 사용해 반환되는 값은 integer가 아닌 bigint로 반환이 된다.이를 node.js에서 받아서 처리하려고 하다 보니 return값이 string으로 오는 것을 발견했다.(나는 분명 count를 누적했는데 01011201 이런값으로 누적이 되네..?) 원인을 좀 찾아보니 node.js에서 사용중인 pg라이브러리의 처리 로직이 bigint를 string으로 받아 처리한다는 게 원인이었음을 알았다. 데이터 소실 이슈 발생을 막기 위해서라는데. 내가 문서를 제대로 읽지 않은 탓이겠지..? 아래는 chatGPT에서 답변한 내용이다. 나의 질문_PostgreSQL에서 sum() 함수..

기술공부/언어 2024.08.26

[Node.js] Express app에서 정적 라우트 경로값을 동적으로 변경하기

Chat GPT는 어떻게 활용하느냐에 따라 옳은 정보를 주기도 하고, 되려 더 돌아가는 정보를 주기도 하는 듯 하다. 오늘 chat GPT의 덕을 톡톡히 봤는데, 그 중에 하나가 바로 express.static()를 동적으로 활용하는 방법이다. 처음 가이드 해 준 방법 Q. nodejs 에서 이벤트가 발생했을 때 express static path를 바꾸고싶은데 방법이 있을까? // 기본 정적 경로 설정 app.use(express.static(path.join(__dirname, 'public'))); // 이벤트 발생 시 정적 경로 변경 function changeStaticPath(newPath: string) { app._router.stack.forEach((middleware) => { if ..

기술공부/언어 2023.06.16
728x90
반응형