

현재 분만실/수술실 앞 환자 대기실에서 환자 상태를 모니터링 할 수 있게 간단한 개발을 하고 있다.
현재 2.0버젼까지 나왔고, 오늘로써 2.1이되었다.
관련하여 자세한 개요, 목표 등은 추후 작성하기로 하고,
오늘 업데이트한 내용을 적어본다.
'안정화'라는 것이 쉽지 않다는 것을 깨달은 하루였다.
사용자가 원하는 기능을 다 넣었다가 서버에 과부하가 걸려 먹통이 되었고,
원인들을 찾아내고 해결하는 과정이 다소 시간이 걸렸다.
물론 제미나이가 해주긴 했지만서도.. 하나씩 하나씩 고민해보고 제거해나아가는 과정에서 뿌듯함도 느끼고, 재미도 느껴버린다. 허허허.
1. 핵심 문제 해결: 다중 접속 시 서버 버퍼링 및 동기화 지연
현상: 여러 대의 PC에서 동시에 관리자 페이지(Admin)를 통해 데이터를 입력할 때, 서버 반응이 극도로 느려지고 타이핑이 밀리는 심각한 버퍼링이 발생함.
원인:
- 다수의 클라이언트가 짧은 주기로 서버에 상태 확인 요청(Polling)을 보내 트래픽이 집중됨.
- 특히 관리자 페이지의 입력 신호(POST)가 다른 PC들의 조회 요청(GET)과 병목 현상(Traffic Jam)을 일으킴.
- 매 요청마다 파일(JSON)을 직접 읽고 쓰는 I/O 작업이 서버 부하를 가중시킴.
해결 (성능 최적화):
- Server: 파일 입출력 방식을 '메모리 캐싱(Memory Caching)'으로 전면 교체하여 I/O 부하를 제거, 응답 속도를 높임.
- Client: 데이터 변경 작업 중에는 자동 갱신 요청을 일시 중단하는 '트래픽 제어 로직'을 적용하여 입력 신호를 최우선으로 처리.
- Traffic: 광고 목록처럼 변동이 적은 데이터는 자동 조회를 끄고 수동 갱신으로 변경하여 불필요한 트래픽을 차단.
2. 기능 고도화: 사용자 경험(UX) 및 업무 효율 개선
의사 목록 관리 시스템 도입
- 문제: 환자 등록 시 매번 의사 이름을 직접 타이핑해야 해서 시간이 오래 걸리고 오타 발생 가능성이 있었음.
- 해결:
- 의사 이름을 매번 치는 대신 '카테고리(목록) 선택' 방식으로 변경하여 입력 시간을 단축.
- '의사 관리' 기능을 별도로 개발하여, 의료진의 입사 및 퇴사 등 변동 사항을 관리자가 손쉽게 목록에 반영할 수 있도록 유연성 확보.
부서 간 환자 이동 원클릭 처리
- 문제: 분만실에서 수술실로 이동 시 데이터를 삭제하고 다시 등록해야 하는 번거로움.
- 해결: [수술실로] / [분만실로] 버튼을 신설하여, 클릭 한 번으로 소속 변경 및 해당 장소의 기본 상태값(예: 수술중) 자동 적용.
장소별 상태 옵션 동적 분리
- 개선: 장소(분만실/수술실) 선택에 따라 '분만중', '수술중' 등 알맞은 상태값만 선택지에 뜨도록 하여 입력 혼동 방지.
3. 기타 안정성 개선
중복 등록 방지: 네트워크 지연 시 버튼 연타로 인한 중복 데이터 생성을 막기 위해, 클릭 즉시 버튼을 비활성화(Disabled) 처리.
이미지 트래픽 최적화: 브라우저 캐싱 정책(max-age)을 적용하여 고화질 광고 이미지는 최초 1회만 다운로드하도록 개선.