분류 전체보기 (75) 썸네일형 리스트형 [DDIA - 1장] 신뢰할 수 있고 확장 가능하며 유지보수하기 쉬운 애플리케이션 1장의 메인 소재1장에서는 "데이터 시스템"에 대하여 정의를 하고, 좋은 데이터 시스템을 어떻게 설계할 수 있을지에 대해 이야기하고자 합니다. 이때 아키텍처를 설계할 때의 중요한 3개의 관심사 신뢰성, 확장성, 유지보수성에 대해 소개합니다. 데이터 시스템이란하둡, 스파크와 같은 데이터 분석에 활용되는 시스템을 말하는 것이 아닙니다. 이 책에서는 요새 애플리케이션이 복잡하거나 오래 걸리는 계산 중심이 아닌 데이터를 읽고 저장하는 기능이 핵심인 데이터 중심적이라고 이야기 합니다. 데이터베이스와 메시지 큐는 데이터를 저장한다는 점에서 표면적으로는 비슷하지만, 서로 다른 특성이 있기 때문에 구현 방식이 상당히 다릅니다. 그럼에도 불구하고 이 책에서는 이 모든 것을 데이터 시스템이라는 용어로 묶습니다. 전통적으.. [SW Maestro 3편] AI활용을 잘하는 개발자가 되기 위한 고민 2026년, AI를 열심히 사용하고 있습니다.ChatGPT가 처음 나왔을 때 회사에서 몰래 쓰다가 뒤에 누가 오면 후다닥 알트탭을 눌렀던 게 엊그제 같은데, ai를 대하는 개발자들의 태도가 180도 바뀐 것 같습니다. SW Maestro에 들어와 멘토님들로부터 여러 회사들의 분위기를 보았을 때 AI로 비즈니스 로직은 작성하지 못하는 회사부터 AI로 PR리뷰까지 모두 처리해버리는 회사까지 회사의 도메인 / 규모에 따라 천차만별이긴 하지만 결국에 AI를 도입하는 방향으로 전환되고 있다는 것은 모두 동일합니다. 저희 팀도 프로젝트를 진행하면서 AI를 활용해 업무 효율을 높이기 위해 여러 방식을 시도하고 적용해보고 있습니다.1. LLM Wiki를 이용해서 팀의 지식을 자산화하고 업무 맥락을 보존하고 있습니다... [SW Maestro 2편] PDF 분석 작업을 안정적으로 처리하기 위한 Worker 설계 들어가면서사용자가 PDF를 업로드하면 서버에서는 파일 저장 이후 여러 후처리 작업을 수행해야 했습니다. 썸네일 추출, PDF 텍스트 분석, AI 요약 생성, RAG 검색을 위한 chunking 및 embedding 작업이 대표적이었습니다. 이 작업들은 처리 시간이 길고, 외부 API 호출이 포함될 수 있으며, 중간에 실패할 가능성도 있었습니다. 따라서 단순히 요청 흐름 안에서 순차적으로 처리하기보다는, 작업 상태를 관리하면서 별도의 worker가 비동기적으로 처리하는 구조가 필요했습니다. 이번 글에서는 이 과정에서 고민했던 두 가지 설계 포인트를 정리했습니다.1. 여러 worker가 같은 job을 중복으로 가져가지 않게 하는 방법2. Scheduler와 ThreadPool의 역할을 어떻게 나눌 것인지여러.. JPA로 10만 건 넣다가 JDBC로 도망친 이야기 (feat. 10.2배 개선) 들어가면서예전에 회사에서 엑셀로 받은 데이터를 DB에 한 번에 적재하는 기능을 만든 적이 있습니다. 건수가 적을 때는 아무 문제가 없었는데, 어느 순간 10만 건이 넘는 파일이 들어오면서 적재가 미친듯이 느려지더라구요. 그때 원인을 파보니 JPA saveAll의 동작 방식과 PK 생성 전략 때문이었고, 결국 해당 기능을 JDBC batchUpdate로 변경해서 처리 시간을 크게 줄였습니다. 이미 회사에서 해결하고 넘어간 이슈긴 한데, 당시엔 일정에 쫓겨서 머릿속으로만 정리하고 글로 남겨두질 못했습니다. 이번 기회에 그때 상황을 작은 테스트 프로젝트로 다시 만들어 직접 측정하고 제대로 정리해두려고 합니다. 이 글은 "JDBC가 빠르다 끝!" 이 아니라, 왜 JPA가 그렇게 느렸는지 그리고 왜 JDBC로 바.. [SW Maestro 1편] 작업 큐 아키텍처에 대한 고민 배경사용자가 학습 PDF 자료를 업로드하면, 이를 분석하고 서비스를 제공해주는 서비스를 개발하고 있습니다. 문서 업로드 기능을 구현하면서 업로드 시 다양한 이벤트들이 발생하는데, 이를 어떻게 관리할 수 있을지 고민한 내용을 포스팅했습니다. 문제 상황문서 업로드 시 관리하는 기능을 담당했는데, 업로드 시 아래의 과정이 필요합니다:1. 썸네일 추출 및 S3 업로드2. PDF 기본 정보 분석 (총 페이지 수, 페이지별 텍스트 추출 등)3. AI 기반 문서 요약 자료 생성4. RAG 검색을 위한 chunking 및 Embedding 처음 PoC를 구현할 때에는 1->2->3->4 가 모두 잘 동작하는 happy case만 가정했고, 각 단계를 순차적으로 호출하는 동기 방식으로 구현했습니다. 즉 각 작업 상태에 .. 잘못된 데이터 유입을 방지하기 위한 다단계 검수 파이프라인 설계 회고 문제 상황RDF 데이터 생성, 수정, 삭제 요청을 처리하는 API에서는 요청 하나에 대해 여러 종류의 검증이 필요했습니다.단순히 요청 본문에 필요한 필드가 존재하는지 확인하는 것만으로는 충분하지 않았습니다. RDF 데이터는 여러 리소스 간의 관계를 표현하는 그래프 데이터이기 때문에, 요청 값의 타입이 올바르더라도 도메인 규칙이나 RDF 규칙에 맞지 않으면 잘못된 데이터가 유입될 수 있었습니다.또한 일부 데이터는 외부 시스템의 기준 데이터와 연결되어 있었습니다. 따라서 요청에 포함된 값이 외부 시스템에 실제로 존재하는지, 외부 시스템의 데이터와 정합성이 맞는지도 확인해야 했습니다.처음에는 이러한 검증을 하나의 흐름 안에서 처리할 수 있다고 생각했습니다. 하지만 검증 로직이 늘어나면서 다음과 같은 문제가 발.. [네이버] 네이버 AI 검색 기술 개발 체험형 인턴 합격 회고 네이버 인턴 합격했습니다!! 두 달간 네이버에서 활동할 예정인데요. 많이 배워갈 수 있는 소중한 기회를 얻게 되어 너무 행복합니다~ 이전 회사를 마무리하고, 첫 면접이었는데 합격하니 잘 살아온 거 같아서 뿌듯하더라고요. 채용 과정 회고다른 분들의 채용 과정 회고 덕분에 도움을 받았어서, 저도 조금이라도 정보 공유드리고자 채용 과정에 대해서 간단히 써보겠습니다.. 그런데 보안 때문에 자세히는 설명드리진 못할 것 같습니다. ㅜ 서류 과정 + 코딩 테스트 (2026.03.03)네이버 인턴은 서류랑 코테 결과를 같이 봅니다. 코테 통과 기준은 올솔이 기준일 거 같습니다. 다만 시간이 넉넉하고, 난이도가 그리 높은 편은 아닐거라 생각해 취업을 위해 코테 준비하시는 분들은 큰 어려움 없지 않을까 생각합니다. 코테 .. Redis 보호되어 있는 글입니다. 이전 1 2 3 4 ··· 10 다음