본문 바로가기

IT

(21)
AI Agent 시대, 개발자는 무엇이 달라져야 하는가 최근 사내에서 AI Agent 사용을 독려하고, 변화하는 환경 속에서 개발자로서 어떻게 적응해야 하는지를 주제로 세미나를 준비했습니다.그 과정에서 정리한 인사이트를 공유합니다. 이 글은 단순히 “AI를 쓰자”는 이야기가 아니라,AI가 사고하는 방식의 변화가 개발자의 역할을 어떻게 바꾸고 있는가에 대한 이야기입니다.1. AI는 이제 ‘자동완성’이 아니다초기 GPT-2 시절의 AI는 사실상 고도화된 자동완성에 가까웠습니다.입력이 들어오면 거의 즉시 다음 단어를 예측해 출력하는 구조였죠. 그때의 AI는 “생각한다”기보다는 “빠르게 패턴을 이어붙인다”에 가까웠습니다. 하지만 지금은 다릅니다.질문을 던지면 AI는 몇 초, 길게는 몇 분 동안 추론을 수행합니다.이 시간은 단순한 버퍼링이 아닙니다.논리적 단계 분해..
LLM을 사용한 AI 코드 리뷰 이야기 - NAVER Engineering day 2024 많은 회사에서 추구하는 개발 문화에서 코드 리뷰는 늘 빠지지 않고 나오는 이야기이다. 하지만 이러한 문화를 성공적으로 정착시키기는 정말 어려운데, 코드 리뷰를 반복하다 보면 단순한 반복 업무가 되어 실제로 그 의미가 퇴색되는 경우가 많은 것 같다. 이러한 코드 리뷰 문화 개선을 위해 많은 기업에서 근래 LLM을 통한 AI 코드 리뷰를 도입하고 있다. 다음과 같은 서비스를 통해 AI 코드 리뷰를 도입할 수 있다.AWS CodeGuruGithub Copilot 다만 비용이 발생하기 때문에 검증되지 않은 방법을 섣불리 도입을 결정하기 어려운 것도 사실이다. 그래서 관련해서 정보를 찾아보던 중, 네이버 엔지니어링 데이에서 최근에 LLM AI 코드리뷰 도입에 대해 발표했던 유튜브 영상이 있어 이를 정리해보..
gRPC 알아보기 - 당근의 gRPC 이야기 최근 실제로 gRPC를 사용할만한 큰 규모의 현업에서는 어떻게 gRPC를 운영하며 사용할지 궁굼했었다. 마침 당근테크 유튜브 채널에서 이를 다룬 영상이 있어 이를 정리해보았다.  당근 마켓의  현재레버리지 사용하기적은 인력으로 gRPC를 잘 사용하는 방법. 레버리지란?- 지렛대(leverage)를 뜻한다. 도구를 사용하여 안정성과 성능을 극대화 시키는 것. HAProxyk8s(kubernetes)Istio 트래픽 플로우 이해하기어디서 어떤 이슈가 발생했는지 확인할 수 있도록, 각 구간별 플로우를 전부 이해하고 매트릭 준비.  같은 환경을 공유하는 sre-test-server마이크로서비스의 이슈를 파악하기 위해 Golang으로 작성한 SRE 테스트 서버를 이용.필요한 도구들을 함께 도커에 마운트.  gRP..
DDD(Domain Driven Design) - [NHN FORWARD 22] DDD 뭣이 중한디? 최근 유튜브를 통해 다양한 기술 관련 내용을 보고 있던 중, 알고리즘이 DDD(Domain-Driven Design) 관련 영상을 추천해 주었다.  DDD를 처음 접한 것은 오래전 회사의 다른 부서 팀원과 솔루션 개발 방향에 대해 이야기하던 중이었는데, 당시에는 개발방법론으로서 DDD를 접했지만, 자세히 알지 못해 여러 아티클을 찾아보았던 기억이 난다.  당시에는 단순히 논리적인 영역에서 도메인을 나누어 개발하는 것으로만 이해했었고, 이는 이미 많은 개발자들이 자연스럽게 사용하는 방법론이라고 생각했었다. 하지만 이번에 유튜브에서 본 영상을 통해 DDD의 주요 포인트를 다시 생각해 보게 되었고, 이를 정확히 이해할 수 있었다. 이 영상은 DDD를 명확하게 설명해 주는 아주 좋은 자료라고 생각되어 그 내용을..
gRPC(Google Remote Procedure Call)에 대해서 알아보자 최근에 많은 기업들에서 gRPC를 이용한 통신 방법을 사용하고 있다. 특히 MSA 방식의 아키텍처가 본격적으로 국내 시장에서 도입된 후, 통신 방법의 효율성은 더욱더 큰 비중으로 개발자들에게 다가왔는데 이와 관련하여 많이 사용되는 gRPC에 대해서 알아보려 한다. 등장 배경기존 모놀리틱 서버를 벗어나며, MSA 구조가 채용되었고, 네트워크 연결을 통한 Server-Client 서비스 방식을 사용하였다.이를 위한 IPC(Inter Process Communication) 방식이 있었는데, 모두 장점과 단점이 존재하였다. 1. Sokect- 현재까지 많은 언어에서 API 형태로 제공하여 많이 사용되고 있다.- 일련의 통신 과정을 직접 구현해야 하며, 통신 관련 장애를 처리하는 것이 어렵다.- 서비스가 고도화..
[CORS] ExposeHeader 설정에 대해 알아보자 금일 파일 다운로드 API를 신규로 개발하고 배포하였는데, Front 팀원분이 "신규로 추가된 헤더를 axios 가 처리하지 못하는 것 같다"며, 헤더에 문제가 있는 것 같다고 확인을 요청해 주셨다. 파일 다운로드에 필요한 "Content-Disposition" 헤더가 이번에 신규로 추가되면서 문제가 발생한 것으로 보인다. 확인을 요청하며 추가로 덧붙여주신 내용으로는 Expose Header 관련 내용이 문제가 되는 것 같다며 말씀해 주셨는데, 처음 들어보는 생소한 내용이라 찾아보았다. 직역하면 "노출 헤더"인데, 서버가 ExposeHeader로 지정하지 않은 헤더에 대해서 Access 할 수 없게 처리해주는 설정으로 보인다. 아, 그럼 Server가 Client에게 Response를 전달할 때, 헤더를..
[AWS Document DB] Replication 구조 읽기 일관성(Write Concern) 이슈 해결 방안 회사에서 운영 중인 서비스의 Main Database를 AWS Document로 사용 중인데, 한 가지 문제가 발생하였다. Read Prefrence를 AWS의 권장 설정 사항인 secondaryPreferred로 설정할 경우 쓰기는 기본 인스턴스(Primary)에 읽기는 복제본(Secondary)에 수행하도록 구성되어있다. 여기서 문제 발생하는데, Primary에 작성된 데이터가 실제 Replica들에 반영되는데 시간이 소요되어 아래 이미지와 같은 현상이 존재한다는 것이다. 물론 AWS에서 어느 정도 지연 속도를 보장해준다고 하지만 이를 위해 억지로 Delay를 넣어줄 수는 없는 노릇이라, (확실하지는 않으나 100ms ~ 300ms 정도 보장해준다는 가이드를 본 것 같다.) 실제 서비스에서 이것때문에..
[linux] /usr/bin/xauth: file /root/.Xauthority does not exist Xauth 설치 후, 모든 가이드들이 .Xauthority 파일을 확인하라고 하지만, 이상하게도 해당 파일이 생성되지 않았다. 그럴 경우, 다시 원격 접속에서 SSH > X11 의 설정을 Enable 한 뒤, 필요 사용자로 다시 접속하게 되면 .Xauthority 파일이 자동으로 생성되게 된다. 나처럼 이곳 저곳 설정을 만지는 엉뚱한 짓 하지마시길 바란다.