최근 회사에서 AI를 본격적으로 활용하고 있는데 실제로 일을 하면서 느낀 점은, 어떤 AI 툴을 쓰느냐보다 작업을 어떻게 구성하고 관리하는지 가 더 중요한 것 같았습니다. 그래서 최근 AI를 활용하며 체감했던 몇 가지 작업 방식들과 생각을 정리하기 위해 글을 작성하게 되었습니다. 1. AI 활용 작업 효율화 AI를 활용할 때 더 좋은, ...
AI를 활용하며 느낀 효율적인 작업 방식
데이터 보정에 대한 생각 변화
정산을 하다보면 생각보다 데이터를 보정해야 할 일이 많이 있습니다. 사용자 행동을 완전히 예측할 수 없기 때문 입니다. 최근 대규모 데이터 보정을 옆에서 보면서 생각이 바뀌게 되었는데, 변화된 생각을 정리하고 싶어 글을 작성하게 되었습니다. 1. 어떤 문제가 발생했을까? 최근 계약서의 수수료율을 변경하면서, 이와 연관된 데이터를 보정해야...
성공한줄 알았던 트랜잭션의 실패: Transaction silently rolled back because it has been marked as rollback-only.
이전에 이해하지 못했던 트랜잭션 롤백 상황을 회사에서 겪었고, 이를 정리하기 위해 글을 작성하게 되었습니다. 1. 어떤 문제가 있었을까? 회사에서 아래와 같은 에러 로그를 확인했습니다. 통계성 데이터를 저장하다가 실패했고, 그 과정에서 트랜잭션이 롤백되며 아래오 같은 로그가 남았습니다. 정확히 기억은 안 나지만 이는 어디에서 한 번 봤던...
Claude 잘 사용하기
최근 Claude 스터디에서 다른 회사에서는 AI를 어떻게 사용하고 있는지 이야기를 나누고 있는데요. 이 과정에서 알게 된 내용을 정리하기 위해 글을 작성하게 되었습니다. 이번 포스팅은 동작 원리 보다 어떻게 잘 사용하는지 에 대한 방법을 다루는 글이기 때문에 SKILL 에 대한 내용을 주로 다룹니다. 🚀 $ npx @anthropic-ai/cl...
CSV와 Excel의 차이점은 무엇일까?
csv와 xls의 차이를 잘 몰랐고, 이를 정리하기 위해 글을 작성하게 되었습니다. 아직 작성 중입니다. 1. csv와 xls의 차이 CSV와 XLS(XLSX)의 차이는 파일이 무엇을 저장 대상으로 설계되었는지에 따라 나뉩니다. 1-1. CSV CSV는 데이터 교환을 위한 포맷 입니다. 하나의 CSV 파일은 행과 열로 구성된...
Streaming vs Keyset Paging
Streaming과 Keyset Paging의 선택 기준을 어떻게 세울지 고민하게 됐고, 생각을 정리하기 위해 글을 작성하게 되었습니다. 1. 대량 데이터를 읽는 두 가지 방식 데이터를 대량으로 읽을 때는 읽기 상태를 어디에서 관리하는지 에 따라 접근 방식이 달라집니다. 크게 데이터 소스가 읽기 상태를 유지하는 방식과, 애플리케이션이 쿼...
Excel 다운로드 과정에서 발생한 이슈
1. 왜 고민하게 되었을까? 최근 엑셀 다운로드 인한 메모리 이슈 가 사내 메신저에 반복적으로 올라왔습니다. 이슈는 대략 아래와 같았는데요. 제가 직접 멘션되지 않아서 처리하지는 않았지만, 몇 가지 해결방법이 떠올라서 정리해보고 싶었습니다. 대형 판매자의 한 달치 판매 목록을 엑셀 다운로드 중 OOM 발생 대형 판매자가 백만 건의 ...
Line vs Buffer 언제, 어떤 파일 읽기 전략을 선택해야 할까?
데이터가 많은 엑셀 파일을 읽으면서 라인 단위 처리 와 버퍼 단위 처리 에 대해 알게 되었고, 이를 정리하기 위해 글을 작성하게 되었습니다. 1. 왜 고민하게 되었을까? 용량이 꽤 있는 파일을 읽는 과정에서 아래와 같은 오류가 발생했습니다. Java heap space at java.base/java.util.Arrays.copyOf...
OepnSearch에서 중복 데이터 저장은 어떻게 방지할 수 있을까?
OpenSearch에서 중복 데이터 저장을 막기 위한 방법을 정리하기 위해 글을 작성하게 되었습니다. 1. 중복 방지 전략 OpenSearch에서 중복 방지의 핵심은 쿼리로 체크하지 않는 것입니다. RDB처럼 UNIQUE 제약 조건이 존재하지 않기 때문에, 유일성을 보장할 수 있는 유일한 수단은 _id입니다. 즉, 중복을 막고 싶...
Lucene 세그먼트 내부 구조는 어떻게 구성되어 있을까?
OpenSearch에서 중복 데이터 저장을 막기 위한 방법을 정리하기 위해 글을 작성하게 되었습니다. 1. 왜 관심을 가지게 되었을까? OpenSearch에서 문서를 수정하면 기존 데이터를 직접 덮어쓰지 않고, 기존 문서를 삭제 표시한 뒤 새로운 문서를 다시 색인 합니다. 즉, 겉으로는 단순한 수정처럼 보이지만 내부적으로는 INSERT ...