전체 글 (25) 썸네일형 리스트형 Exception 처리에 대한 회고 (Exception vs Response) 보통 API를 만들면서 예외를 처리해야 할 때 throw Exception을 한다. 예를들어public MemberResponse someMethod() { ... if (!isValidPassword()) { throw new IllegalArgumentException("패스워드가 올바르지 않습니다."); } ...} 이런식으로 패스워드 값에 대한 검증을 하고, 결과에 따라 예외처리를 할 수 있다.그런데 회사에서 선배 개발자 분께 이런 피드백을 들었다.예측 가능한 상황에서는 Exception throw 하지 말고 정상 응답처리 해야된다.선배 개발자 분의 의견은 Response 객체에 result 성격의 필드를 만들고 해당 값으로 프론트 단에서 정상 여부를 판단하게 하라는 것이.. 현업에서 AI 에이전트로 개발 후기 CLI 코딩 에이전트를 6개월간 현업에서 써본 후기최근 6개월 동안 Claude Code와 Codex를 실무에 직접 써보며 정리한 후기다.전부터 ChatGPT와 GitHub Copilot으로 AI는 쓰고 있었다. 하지만 CLI 환경에서 돌아가는 코딩 에이전트를 처음 접했을 때는 완전히 다른 세상이었다. 무엇이 그렇게 달랐는지, 그리고 실무에서 어떻게 활용하고 있는지 정리해봤다.AI가 프로젝트 컨텍스트를 파악하고 있다기존 AI 사용법과 가장 큰 차이라고 생각한다.같은 질문이라도 프로젝트 성격에 따라 답이 여러 갈래로 나뉜다. CLI 에이전트는 내 프로젝트 구조 전체를 파악한 상태에서 답하기 때문에, 똑같은 요청을 받아도 지금 내 상황에 더 맞는 해결책을 내놓는다.이 장점을 극대화하려면 CLAUDE.md, .. HTTP 통신 에러 처리(feat. Connection reset by peer) 문제 상황현재 팀에서는 스크래핑 모듈을 운영하고 있다. 우리 회사는 고객들에게 설치를 해주는 방식의 프로그램들이 많기 때문에 해당 프로그램들의 사양에 맞춰 프레임워크 버전을 유지해야 한다. 그래서 현재 총 세 가지 버전의 .NET Framework를 사용하고 있는데 2, 4, 5 이렇게 세 가지 버전의 프레임워크를 사용하고 있다. 현재 팀에서는 고객들의 스크래핑 스케줄을 매 새벽마다 돌리고 있는데, 유독 여신금융협회 스크래핑 모듈만 에러율이 굉장히 높게 발생하고 있었다. 그래서 분석을 해 본 결과.. 2버전과 4버전의 모듈에선 에러가 발생하지 않고 있는데, 5버전에서만 전체 스크래핑 시도 중에 약 14% 정도의 비율로 에러가 발생하고 있었다.. 물론 아침에 출근해서 운영 담당자가 새벽에 일어난 에러에 대.. DataGrip DataGrip잡다한 DataGrip 툴 사용법 기록컬럼 세팅설정 항목방법Primary Keykeys 란에서 primary 체크박스를 체크하고 생성Unique Keykeys 란에서 primary 체크박스를 해제하고 생성Index (Key)indexes 란에 설정단축키 정리기능단축키 (Windows/Linux)단축키 (Mac)쿼리 실행Ctrl + EnterCmd + Enter코드 자동완성Ctrl + SpaceCtrl + SpaceSQL 포맷팅Ctrl + Alt + LCmd + Alt + L테이블/객체 검색Ctrl + NCmd + O전체 검색 (Search Everywhere)Shift 두 번Shift 두 번최근 파일Ctrl + ECmd + E주석 토글Ctrl + /Cmd + /데이터 내보내기조회 결과나 테.. 대량 트래픽 처리 대량 트래픽 처리널리 알려진 여러 대량 트래픽 해결책들을 알아보며 어떻게 대비할지 상상해보자 서버 업그레이드 방법1. Scale-Up(스케일 업)스케일업은 더 좋은 CPU, 더 많은 RAM 등 서버 컴퓨터의 사양을 올리는 것이다.업그레이드가 비교적 간단하지만, 비용 측면에서 부담이 심하다는 단점이 있다.2. Scale-Out(스케일 아웃)스케일 아웃은 서버의 개수를 추가하는 것이다. 스케일 업에 비해 비용 부담이 적고, 한계가 존재하지 않다는(공간만 있다면 계속 추가할 수 있으니까) 장점이 있다.하지만 여러대의 서버를 둠으로써 메모리를 공유하지 못하기 때문에 로그인 관련 세션 쿠키 공유 문제나 DB 데이터 불일치와 같은 데이터 정합성 문제 가 발생할 수 있다. 그렇다면 데이터 정합성은 어떻게 해결하는가.. HTTP HTTP웹 개발자라면 모르면 안되는 HTTP 정리 HTTP(HyperText Transfer Protocol) 란?HTTP는 HTML 문서와 같은 리소스들을 가져올 수 있도록 해주는 _프로토콜_이다.초기에는 단순 웹 브라우저와 웹 서버 간의 통신을 위해 디자인 되었지만, 최근에는 모바일 앱, IoT 등과의 통신과 같이 다양한 목적으로 사용되고 있다.HTTP는 클라이언트가 요청을 생성하기 위한 연결을 연 다음 응답을 받을 때까지 대기하는 전통적인 클라이언트-서버 모델을 따른다.HTTP는 무상태 프로토콜이며, 이는 서버가 두 요청 간에 어떠한 상태나 데이터를 유지하지 않음을 의미한다. (서버에서는 쿠키, 세션, 토큰 등으로 이를 극복)일반적으로 안정적인 TCP/IP 레이어를 기반으로 사용하는 응용 프로토콜.. REST REST과연 우리는 REST API를 설계하고 구현해 온것이 맞는가? 라는 의문을 가져볼만한 REST 정리 REST란?REpresentatinal State Transfer의 약자로 자원을 이름으로 구분하여 해당 자원의 상태를 주고 받는 모든 것을 의미한다.동작 특징으로 정의하자면,HTTP URI를 통해 자원(Resource)을 명시한다.HTTP Method(GET, POST, PUT, DELETE 등)를 통해 해당 자원에 대한 CRUD 작업을 적용하는 것을 의미한다. REST 구성 요소REST는 다음과 같은 3가지로 구성이 되어있다.자원(Resource): HTTP URI자원에 대한 행위(Verb): HTTP Method자원에 대한 행위의 내용(Representations): HTTP Message P.. 싱글톤 패턴(Singleton Pattern) 싱글톤 패턴(Singleton Pattern)가장 널리 사용되는 디자인 패턴 중 하나이며, Spring의 DI 개념에 근간이 되는 싱글톤 패턴 싱글톤 패턴이란?어플리케이션이 시작될 때 어떤 클래스가 최초 한번만 메모리를 할당하고(static) 그 메모리에 인스턴스를 만들어 사용하는 디자인 패턴이다.쉽게 말해 객체의 인스턴스가 오직 1개만 생성되는 패턴이라고 생각하면 된다.인스턴스가 1개만 생성되는 특징을 가진 싱글톤 패턴을 이용하면, 하나의 인스턴스를 메모리에 등록해서 여러 쓰레드가 동시에 해당 인스턴스를 공유하여 사용할 수 있게끔 할 수 있기 때문에 요청이 많은 곳에서 사용하면 효율을 높일 수 있다.다만, 싱글톤을 사용할 때 동시성(Concurrency) 문제를 고려해서 설계해야 한다. 싱글톤 패턴 사.. 이전 1 2 3 4 다음