최신글

more
개발서버에선 멀쩡했던 UUID_SHORT(), 서버 이전 후 깨진 이유

무슨 일이 있었나회사 서비스의 DB 서버를 IDC에서 NCP(Naver Cloud Platform)로 이전했다. 이전 직후, 외부 API로 받은 판매 데이터를 적재하는 프로시저가 keyId 생성 단계에서 오류를 내기 시작했다.코드는 한 줄도 바뀌지 않았다. 개발서버에서는 지금도 정상이다. 그렇다면 남는 건 환경 차이뿐이었다.원인: UUID_SHORT()는 server_id를 쓴다keyId는 UUID_SHORT()로 만들고 있었다. 이름 때문에 단순한 랜덤 함수라고 생각했는데, 실제로는 아래 공식으로 64bit 정수를 만든다.(server_id & 255) 상위 8비트를 server_id가 결정한다. 그리고 두 서버의 server_id가 달랐다. 기존 서버NCP 서버server_id1400번대server_..

실험과 해결 2026.10.01 0
[성장캠프 3회차 후기] 돈과 시간에 대하여: 삶의 안정성

이번 성장캠프 멘토링에 참여하며 '돈'과 '시간'에 대해 깊게 고민해볼 수 있는 기회를 가졌습니다. 기술적인 성장에 매몰되기 쉬운 시기에, 자본주의 사회에서 어떻게 삶의 구조를 세팅해야 할지 현실적으로 다가온 조언들이 많았습니다. 멘토링에서 쏟아진 이야기들과 제 경험을 녹여 후기를 정리해 봅니다.1. 멘토링 내용 정리개미의 가장 큰 무기는 시간이다이번 회차의 핵심 키워드는 시간과 복리였습니다. 자산을 불리는 데 있어 가장 큰 밑천은 종잣돈의 크기가 아니라, 그 돈이 굴러갈 시간이라는 것입니다.물가 상승률은 연 4~5%인데 일반적인 연봉 인상률은 2% 수준입니다. 즉 인상률이 물가를 따라가지 못하면 실질 연봉은 마이너스가 됩니다.은행에 그대로 넣어둔 돈도 마찬가지입니다. 10년이면 구매력 기준으로 절반 가..

인사이트 2026.08.25 0
Angular SSR 메모리 누수 삽질기 — 범인은 `interval()`이었다

배포 2주 만에 서버 메모리가 45%를 넘겼다. 의심스러운 곳을 두 군데나 고쳤는데 아무 소용이 없었고, 진짜 원인은 전혀 다른 곳에 있었다.1. 증상: 우상향하는 메모리 그래프회사에서 Angular로 만든 홈페이지를 배포했다. SEO와 GEO(생성형 엔진 노출)를 신경 써야 하는 사이트라 CSR 대신 SSR(Angular Universal) 로 구성했다.배포하고 1~2주쯤 지났을 때, 웹서버 메모리 점유율이 45%를 넘고 있는 것을 발견했다. 트래픽이 폭증한 것도 아닌데 이상했다.시간 단위로 다시 확인해봤다.그래프가 계단식으로 꾸준히 우상향내려오는 구간이 단 한 번도 없음웹서버를 재시작하니 5%대로 뚝 떨어짐재시작으로 회수된다는 건, 누군가 메모리를 잡고 안 놓아주고 있다는 뜻이다. 전형적인 메모리 누..

실험과 해결 2026.08.12 0

인기글

Programmers 문제를 풀어봅시다. Day20

1. 가장 큰 수 찾기 정수 배열 array가 매개변수로 주어질 때, 가장 큰 수와 그 수의 인덱스를 담은 배열을 return 하도록 solution 함수를 완성해보세요. function solution(array) { return [Math.max(...array), array.indexOf(Math.max(...array))]; } - JavaScript에서는 배열에서 최대값을 찾기 위해 Math.max() 함수를 사용할 수 있습니다. - 전개 연산자(...)는 배열 요소를 개별 인수로 전달하기 위해 사용됩니다. - 마찬가지로, indexOf() 메소드를 사용하여 배열에서 최대값의 인덱스를 찾을 수 있습니다. - 참고로, 위의 코드는 입력 배열이 숫자 값을 포함한다고 가정합니다. - 배열에 숫자가 아..

Programmers 2023.06.05 0
개발서버에선 멀쩡했던 UUID_SHORT(), 서버 이전 후 깨진 이유

무슨 일이 있었나회사 서비스의 DB 서버를 IDC에서 NCP(Naver Cloud Platform)로 이전했다. 이전 직후, 외부 API로 받은 판매 데이터를 적재하는 프로시저가 keyId 생성 단계에서 오류를 내기 시작했다.코드는 한 줄도 바뀌지 않았다. 개발서버에서는 지금도 정상이다. 그렇다면 남는 건 환경 차이뿐이었다.원인: UUID_SHORT()는 server_id를 쓴다keyId는 UUID_SHORT()로 만들고 있었다. 이름 때문에 단순한 랜덤 함수라고 생각했는데, 실제로는 아래 공식으로 64bit 정수를 만든다.(server_id & 255) 상위 8비트를 server_id가 결정한다. 그리고 두 서버의 server_id가 달랐다. 기존 서버NCP 서버server_id1400번대server_..

실험과 해결 2026.10.01 0