본문 바로가기

분류 전체보기70

Claude로 서비스 A-Z 만들어보기 (2,3 주차 회고: MVP 개발) 최근에 진짜 너어무 바빠서 이제야 회고를 씁니다ㅜㅜ 2~3주 차 회고를 한 번에 진행합니다!개발 근황 및 느낀점MVP를 개발했습니다. 우선 서비스를 간단하게 소개해보자면, 1:1 음성 영어 통화 서비스입니다. 약 2주 정도의 기간 동안 통화 서비스를 개발했어요. 웹이 아닌 IOS, Android 타깃의 서비스입니다. Native는 아니고, 웹 앱 + 일부 Natvie 기능을 섞었어요. 기능 자체가 상당히 복잡했습니다. 예를 들면 음... 통화 도중에 홈 화면으로 이동하면 전화가 안 끊겨야 하고, 네트워크가 끊겼을 때는 통화를 바로 종료해야 하나? 그렇지 않다면 몇 초 동안 사용자가 들어오지 않으면 연결을 종료해야 하나?? 등의 많은 고민 포인트가 있었습니다. 물론 프런트 코드는 제가 작성하지 않았습니다.. 2026. 5. 16.
Claude로 서비스 A-Z 만들어보기 (1주차 회고: 병목) 약 일주일동안 클로드를 사용하면서 느낀 점이 많네요...! 나만의 작업 방식 프런트엔드- 프런트 코드 규칙은 잘 모르니깐, 그냥 토스의 Frontend Fundamentals 지침서 넣고 지키라고 했음- 프런트 코드는 주로 superpower라는 plugin을 사용해 작업을 진행했음.- 프런트의 코드 레벨은 내가 개입을 안 했음. 대신에 명확한 행위를 할 수 있도록 문서화를 꼼꼼하게 진행했음.- 큰 설계는 내가 진행 했음. ex) SSR이 필요 없어서 Next.js를 사용 안 했다던지 한계점- superpower 도입으로 인해 많은 시간과 토큰이 소모됌 superpower란? - 코딩 에이전트가 설계부터 구현, 테스트, 리뷰, 마무리까지 체계적으로 수행하도록 돕는 개발 방법론 brainstorming -.. 2026. 5. 3.
Claude로 서비스 A-Z 만들어보기 (시작편) 글쓰기에 앞서 지금까지의 블로그 글들은 꽤 노력하면서 작성했습니다. 특히 "어떤 글을 써야 새롭고 차별화된 정보를 줄 수 있을까?"를 계속 생각하면서 그림도 직접 그리고, 동작 원리를 잘 설명하려고 노력했던 것 같아요. AI 카테고리에 있는 글들은 큰 힘을 들이지 않으려고 합니다. 느낀점과 제 생각을 간단하게만 작성할 생각이에요.AI공부... 해야할까? 초반에는 누구보다 AI에 진심이었습니다. n8n을 통해 자동화 시스템도 구축하고, RAG을 사용해서 AI Agent도 만들어봤습니다. 그런데 제가 사용한 기술이 한 달 뒤에 레거시가 되어있더라고요...? 해당 경험을 겪은 후, 취업을 준비하는 개발자로서 AI를 공부하는 게 의미가 있나?? 싶었던 것 같아요. 지금 유행하는 AI 툴을 공부해도 몇 달 뒤에 .. 2026. 4. 25.
SSE, 동시 접속자가 많아지면 어느 부분이 문제가 될까? (1. 연결 파트) SSE 연결에 대해 심화 학습을 해보고자 해당 포스팅을 작성하게 되었습니다. 사용자가 점점 늘어나는 상황에서 SSE 연결을 관리해야 할 때, 어느 부분에서 문제가 발생하는지를 알고 싶었습니다. 사전 설명t4g.large 단일 인스턴스로 시작t4g.large의 경우에는 8GB 메모리를 사용함JVM Heap 메모리를 따로 설정한 적이 없기에, 기본적으로 2GB 메모리가 할당되는것을 확인 동시 접속자가 많아지면 두 파트에서 문제가 생길거라고 생각했습니다.1. 연결 2. 이벤트 발송 한 번에 다루기에는 너무 방대하기에, 해당 포스팅에서는 SSE 연결 측면에 관한 문제점만 다루도록 하겠습니다.SSE 연결 관점에서의 문제점시작 - 5,000명 지표 분석 결과- Heap 메모리 사용률이 270M -> 720M으로.. 2026. 4. 9.
SSE Too many open files (feat. Docker) Too many Open Files 발견...!! 이유가 뭘까?? Too many open files 에러가 발생했다는건, File Descriptor의 최댓값을 초과한 상황입니다. File Descriptor 설정을 따로 건드린 적은 없는데... 왜 갑자기 에러가 발생했을까요?? 트래픽이 갑작스럽게 증가한 상황도 아닌데... 에러의 원인은 도커 엔진 업데이트였습니다.🙄File Descriptor의 초기 설정Linux File Descriptor 초기값 Linux 환경에서는 프로세스별 File Descriptor의 기본 soft limit이 1024입니다. 이 상황에서 애플리케이션을 직접 실행하면 1024개의 FD만 사용할 수 있어, SSE 연결이 약 1,000개를 넘는 시점에서 Too many ope.. 2026. 4. 5.
SSE Connection Metric 수집하기 (feat. 메트릭 수집 원리) SSE를 도입하니 연결을 관리해야 하는 상황이 생겼습니다. 배포 때 SSE 연결이 끊기지 않는 문제가 발생했거든요ㅎ... 문제를 해결하기 위해선 SSE Connection을 모니터링해야 하는 상황이었고, 직접 Custom Metric을 수집하기로 결정했습니다. Metric 수집 원리Custom Metric을 수집하기 위해서는 어떻게 메트릭을 수집하는지 동작 원리에 대해 이해할 필요가 있었습니다.JMX- Java Management Extensions - JDK에 javax.management 패키지로 포함되어 있는 Java 표준 기능 Tomcat의 경우에는 런타임 시점에 MBeanServer에 MBean을 등록합니다. 별도의 API를 제공해주지 않아서, Tomcat에 관한 매트릭을 수집하려면, JMX로.. 2026. 4. 2.