피드로 돌아가기
Dev.toFrontend
원문 읽기
Vanilla JS 기반 State Machine으로 구현한 Tribology 전문가 시스템
I Built a Tribology Expert System from Scratch — No Frameworks, No Backend, Just Vanilla JavaScript
AI 요약
Context
방대한 전문 서적과 스프레드시트에 분산된 트라이볼로지 진단 지식을 수동으로 검색함에 따른 가동 중단 시간 증가 및 진단 오류 발생. 기존의 일반적 접근 방식은 복잡한 도메인 지식을 디지털 워크플로우로 전환하는 구조적 체계가 부족함.
Technical Solution
- Framework-less Architecture: 외부 의존성 없는 Vanilla JS 채택을 통한 빌드 단계 제거 및 클라이언트 사이드 연산 최적화
- State Machine Pattern: 4단계 적응형 프로세스를 상태 머신으로 설계하여 사용자 응답에 따른 동적 질문 라우팅 구현
- Domain-Driven Logic: Hertzian contact mechanics 및 EHL film thickness 등 물리 공식의 모듈화를 통한 80개 이상의 JS 모듈 구성
- Conservative Triage Logic: 안전 임계값 미입력 시 최악의 상황을 가정하는 보수적 판단 로직을 통한 시스템 신뢰성 확보
- Special Condition Overrides: 화재 위험, 진공 등 6가지 특수 조건을 우선 적용하는 오버라이드 메커니즘 설계
- JSON-based Localization: 코드 변경 없는 다국어 지원을 위해 로케일 파일을 분리한 데이터 구조 채택
실천 포인트
- 도메인 지식의 워크플로우가 명확한 경우 복잡한 프레임워크보다 State Machine 패턴의 순수 구현이 유지보수에 유리한지 검토 - 사용자 입력의 불확실성이 존재하는 진단 시스템 설계 시 보수적 추론(Conservative Triage) 로직 포함 여부 확인 - 연산 집약적인 도메인 툴 설계 시 서버 오버헤드 제거를 위해 Client-side 계산 가능 여부 분석