피드로 돌아가기
I Built a Tribology Expert System from Scratch — No Frameworks, No Backend, Just Vanilla JavaScript
Dev.toDev.to
Frontend

Vanilla JS 기반 State Machine으로 구현한 Tribology 전문가 시스템

I Built a Tribology Expert System from Scratch — No Frameworks, No Backend, Just Vanilla JavaScript

Arash Kabiri2026년 6월 26일4intermediate

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 계산 가능 여부 분석

원문 읽기