나는 그동안 클라우드나 온프레미스 웹 서비스 개발을 주로 해오다가, 이번에 처음으로 온디바이스(On-device) 솔루션 환경 개발을 맡게 됐다. 그러다 보니 서버를 .exe 파일로 빌드해서 배포하는 생소한 경험을 하게 됐는데, 백그라운드 루프가 별도의 에러 없이 꺼지는 현상을 발견했다. 에러 로그가 없다보니 어느 시점에 종료되는지 정도만 파악할 수 있었는데... LLM에게 코드 재검토를 맡겨보니 asyncio가 Segmentation Fault(Segfault) 에러를 발생시킬 수 있다는 걸 처음 알게 됐다. 왜 하필 다른데서는 다 잘 되다가 온디바이스(Windows/EXE) 환경에서 문제가 발생했을까? 결론부터 말하자면, 메모리 관리의 '관대함' 차이 때문이다. 넉넉한 리소스의 리눅스 서버에선 가비지..
서버 개발을 하다 보면 일단 응답을 내보내서 화면은 동작시키고, 서버 백그라운드에서 작업을 하도록 만들고 싶은 경우가 있다. 이런 작업을 보통 비동기 작업이라고 하는데, 스프링(Spring)에서는 @Async가 주로 쓰인다 스프링 부트에서 초간단 멀티쓰레드 구현하기 : @Async FastAPI 기반으로 개발하면서 이런 상황에서 어떤 걸 쓸까 고민하며 찾아보니, 주로 asyncio와 BackgroundTasks라는 도구를 사용하고 있었다. 하지만 이 둘은 동작 방식과 시점이 크게 다르기 때문에, 각각 어떤 특징이 있고 주의할 점은 무엇인지 정리해 보려고 한다. 1. asyncio파이썬에서 기본 제공하는 라이브러리로, 가장 핵심적인 비동기 처리 방식이다. 특징이 있다면 응답이 나가는 걸 대기하지 않고 ..
현재 온디바이스(On-Device) 환경에서 사용할 RAG 솔루션을 개발 중에 있다. 매번 하드웨어의 제약이 사실상 없는 클라우드 환경에서만 개발하다가, 리소스 제약이 심한 온디바이스 환경으로 넘어와 초기 RAG 시스템을 개선하려다 보니 고민해야 할 부분들이 정말 많았다. 전체 구조를 도식화하면 다음과 같다. 이 그림이 대부분의 RAG 시스템을 설명해준다. 그림을 보고 다시 생각해보니 사실 안 중요한 부분이 없긴 한데...그래도 그 중에서 조금 더 중요하다고 생각하는 부분부터 하나씩 정리해보자. 1. 임베딩을 하기 위한 데이터 정제현재는 사내에서 자체 개발한 문서 분석 툴을 사용하고 있다. 데이터 정제 과정이 중요한 이유는, 이 전처리를 얼마나 잘하느냐에 따라 표나 이미지에 포함된 정보에 대한 질문을 ..
AI 솔루션 개발팀으로 이동하게 되면서 개발 환경에 큰 변화가 생겼다. 기존 클라우드 환경에서 온디바이스(On-Device) 타겟으로 작업 영역이 변경되었고, 이에 맞춰 언어는 Python 네이티브로, 백엔드 프레임워크는 FastAPI로 통일되었다. 이번 포스팅에서는 4~5년간 사용했던 Spring Boot 환경에서 넘어와 약 한 달간 FastAPI를 실무에서 사용해보며 체감했던 장단점을 정리해보려 한다. 가장 크게 다가왔던 차이점들을 키워드로 꼽자면 다음과 같다. 장점: 핫리로드(Hot Reload), Pydantic, 비동기 제어단점: 의존성 주입(DI)과 객체 생명주기 관리의 어려움, 명시적 트랜잭션 관리, 싱글톤 정의의 모호함 이 글에서는 위 내용들을 하나씩 상세하게 비교해 보겠다.장점 1. 핫리..
이건 환율에 정부가 개입할 때, 어떤 일이 나타나는지 그리고 스테이블 코인의 기회를 기억하기 위해 작성한 글이다. 나는 올해 투자를 시작하면서 달러를 사야겠다고 생각했다. 달러를 단기 매매가 아니라 자산의 일부로 가져가고 싶었기 때문이다. 하지만 내가 “이제 달러를 좀 사야겠다”라고 생각했을 때부터 원/달러 환율은 쉬지 않고 올라갔다. 나는 투자를 5월쯤부터 시작 생각했고 달러를 매달 조금씩 사고 있었는데... 1400원 밑에서 사겠단 고집을 못 꺾어 날아가는걸 구경만했다. 달러 인덱스는 낮아지는 상황이라 곧 내려오겠거니했지만 상승세가 멈추지 않았다. 환율이 계속해서 오르자 한국은행과 정부의 구두 개입을 몇 번 시도했지만 크게 효과는 없었다. 하지만 1480원을 기점으로 분위기가 바뀌었다. 정부는 ..
지독하게 몇년간 적금 예금만 하다 올해 6월 첫 투자 포트폴리오 설계했었다.2025.06.20 - 나의 첫 포트폴리오 설계 이야기 : 2025년 첫 시장 분석과 종목 분석 결론부터 이야기하면, 위에 작성된 대로는 극소량만 투자했다. 다 합쳐서 1~2월급치 정도? 왜 작성한대로 진행하지 않았냐면 두가지 이유가 컸다. 커버드콜에 대한 불신이 생긴 것과 미국장기채의 움직임이 이상해서였다. 커버드콜의 분배금을 재투자해야만 기초지수를 따라가는 구조는 매매를 힘들어 하는 내가 견디기 힘들었고, 미국 장기채는 연준이 금리를 총 세번 내리는 동안 가격이 오르지 않았다. 결국 투자 방식을 바꿀 수 밖에 없었는데... 내가 원하는 고배당을 받으려면, 미장으로 넘어가자는 결론을 내렸다. 이것 저것 찾다보니 미장에는 BD..
이룬 것과 이루지 못한 것2025년도 작년과 동일하게 10개의 목표를 잡았었다.이직, 연애독서 (분기별 1권), 프로젝트 결과물 (일로아)감정 섞인 말 하지 않기, 오픈소스 기여체지방 10%대 / 68kg, 멘토링 및 커피챗AI와 DB 공부, 투자 공부 올해는 중순부터 회사와 팀에 매우 큰 변화가 생기면서, 계획했던 일들을 대부분 이루거나 시도조차 하지 못했다. 회사의 대규모 조직 개편으로 본사 이동과 더불어 3번의 팀 변경이 있었다. 너무 짧은 기간 내에 내 의사와 상관없이 팀이 바뀌면서 한동안 어떻게 해야 할지 스트레스를 많이 받았었다. 다행히 지금은 어느 정도 정리된 상태다. 일단 해낸 것부터 정리해 보면, 독서랑 투자, AI 공부는 확실하게 했다. 오픈소스 기여도 현재 PR(Pull Request..
팀이 변경되면서 이전 인프라에 대한 부담을 가져갈 필요가 없다고 생각했는데, 다시 한 번 비용 절감 관련 문의가 들어왔다. 이전 서비스의 운영 리소스를 줄이는 과정에서, 또다시 문의가 들어왔고 운영을 정말 가볍게 가져가려면 시간이 들더라도 EKS를 내려놓는 게 맞다는 의견을 냈지만, 이번에도 구조를 바꾸기보다는 당장 효과를 볼 수 있는 선에서 정리하는 방향으로 결정됐다. 결국 이번에도 땜빵에 가까운 선택이었다. 그래서 이번에 진행하기로 한 작업은 다음 세 가지였다. 진행하기로 한 작업들 :1. RDS serverlss ACU 사이즈 줄이기 - 2 - 8 ACU까지 사용하는데, 0.5 - 1 로 줄여보자2. RDS reader 인스턴스 삭제- MAU가 많이 내려가서 DB reader 인스턴스가 필요 없어짐..
- Total
- Today
- Yesterday
- springboot
- rag
- serverless
- ChatGPT
- Redis
- CloudFront
- CORS
- Spring
- terraform
- 람다
- docker
- java
- AWS
- Log
- 후쿠오카
- S3
- 인프런
- elasticsearch
- Kotlin
- 오블완
- 스프링부트
- JWT
- OpenAI
- 티스토리챌린지
- AWS EC2
- EKS
- ecs
- lambda
- GIT
- cache
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
| 29 | 30 | 31 |
