728x90
반응형
본격적인 바이브 코딩을 위해서는 설계를 잘해야한다고 생각했다.
그게 md 파일에 모두 녹아져있어야 한다고 믿었고, 그렇게 하나씩 손에 익히며 프로젝트를 만들어가고 있다.
구조를 잡는데에 나의 설계자로써의 현 시점의 레벨을 체크해달라고 했다.
아직 나는 중상이라고.
상급, 시니어가 되기 위해 챙겨할 것들을 적어본다.
시니어가 되기 위해 필요한 5가지
1. 상태 다이어그램 시뮬레이션 : 모든 경로를 미리 시뮬레이션 하면 버그 예방 가능.
IDLE → WATCHING → ALERTING → VERIFYING → EXECUTING → COMPLETED
→ SKIPPED
| 상태 | 질문 |
| WATCHING | 장 시작 전이면? 장 마감 후면? API 실패하면? |
| ALERTING | 사용자가 1시간 동안 응답 안 하면? 동시에 2종목 도달하면? |
| VERIFYING | 시세 조회 실패하면? |
| EXECUTING | 주문 실패하면? 부분 체결되면? |
2. 비기능 요구사항 먼저 정의
| 항목 | 질문 |
| 에러처리 | 실패하면 어떻게 복구? |
| 로깅 | 뭘 남겨야 나중에 디버깅 가능? |
| 성능 | 느려지면? 동시에 많아지면? |
| 보안 | API 키 노출되면? |
| 백업 | 데이터 날아가면? |
3. 트레이드오프 문서화 (ADR) : 결정한 이유를 기록
## 결정: 장 운영시간 체크는 모니터링 루프에서 한다
### 배경
장 마감 후에도 알림이 무한 반복되는 버그 발생
### 선택지
A. 모니터링 루프에서 시간 체크
B. API 호출 전에 체크
C. 별도 스케줄러로 시작/종료
### 결정
A 선택 - 가장 단순하고 한 곳에서 관리 가능
### 리스크
- 시간 외 거래 지원 시 수정 필요
```
---
4. 장애 시나리오 : 미리 그려보기 ( 이거 죽으면 어떻게 되지?)
[장애 시나리오]
1. 한투 API 서버 다운
→ 영향: 시세 조회/매매 불가
→ 대응: 3회 재시도 후 알림, 모니터링 일시 중지
2. 텔레그램 서버 다운
→ 영향: 알림 발송 불가
→ 대응: 로컬 로그 저장, GUI에 표시
3. 내 PC 재부팅
→ 영향: 모니터링 중단
→ 대응: auto_start 옵션으로 자동 재개
5. 확장성 질문 : 나중에 이거 추가되면?
| 질문 | 현재 설계가 버티나? |
| 해외주식 추가하면? | 장 운영시간 로직 수정 필요 |
| 종목 100개 되면? | DB 쿼리 성능 체크 필요 |
| 여러 계좌 지원하면? | config 구조 변경 필요 |
| 웹/앱으로 확장하면? | API 서버 분리 필요 |
728x90
'Tech Notes' 카테고리의 다른 글
| 로깅(Logging) (0) | 2026.01.25 |
|---|---|
| [배포플랫폼] Vercel 에서 트래픽 알아보는 법 (0) | 2026.01.24 |
| [PROMPT] 수정 사항이 생겼을 때 (0) | 2026.01.20 |
| Maven이란? Java 개발자를 위한 빌드 도구 완벽 가이드 (0) | 2026.01.19 |
| 텔레그램 봇 Polling vs Webhook - 로컬 앱이라면 Polling! (0) | 2026.01.17 |