← 기술 백서 목록으로 돌아가기

노션(Notion) 서버 장애와 교안 유출 없는 안전한 온디바이스 저작: ZeliMD의 Markdig 확장 파이프라인 및 WebView2 격리 렌더링 아키텍처

"교사들이 수업 교안이나 학생 평가 루브릭을 작성할 때 노션(Notion)이나 옵시디언 클라우드 같은 웹 기반 저작 도구를 널리 사용합니다. 그러나 학기 초 트래픽 폭증에 따른 클라우드 서버 접속 불가, 학생들의 민감한 생활기록부 초안이 외부 서버로 전송되는 개인정보 유출 리스크, 그리고 시험 출제 기간의 물리적 폐쇄망(Air-Gap)에서의 접속 차단은 수업 현장의 안정성을 끊임없이 위협합니다. ZeliMD는 순수 C# 기반의 초고속 Markdig 확장 파이프라인과 Microsoft Edge WebView2 보안 샌드박스를 결합하여, 단 1바이트의 외부 통신 없이 완벽한 타이포그래피 미리보기와 원클릭 인쇄용 HTML 익스포트를 제공하는 온디바이스 마크다운 스튜디오를 구축했습니다."

1. 클라우드 노트 도구의 치명적 결함: 서버 장애, 학생 개인정보 노출, 폐쇄망 차단

마크다운(Markdown)은 구조화된 문서를 빠르게 작성할 수 있어 전 세계 개발자와 교사들에게 가장 사랑받는 텍스트 포맷입니다. 그러나 상용 클라우드 기반 저작 도구들은 공교육 및 국방 연구 환경에서 다음과 같은 치명적인 한계를 드러냅니다:

비교 항목 상용 클라우드 노트 (N*, O*) 일반 오픈소스 Electron 에디터 ZeliDesk ZeliMD 온디바이스 스튜디오
데이터 주권 해외 클라우드 서버 자동 동기화 로컬 저장 가능하나 플러그인 유출 위험 100% 로컬 파일 저장 (외부 통신 0바이트 격리)
폐쇄망(Air-Gap) 지원 불가능 (로그인/동기화 필수) 가능하나 리소스 점유 큼 완벽 구동 (인터넷 차단 상태에서도 0초 기동)
렌더링 엔진 웹 브라우저 DOM 렌더링 Chromium 런타임 (수백 MB 메모리) Markdig + WinUI 3 + WebView2 초경량 샌드박스
개발자도구 보안 F12 조작 가능 DOM 변조 가능 AreDevToolsEnabled=false로 임의 변조 원천 차단
인쇄/배포 출력 PDF 변환 시 레이아웃 깨짐 빈번 추가 패키지 설치 필요 클린 화이트 인쇄용 반응형 HTML 원클릭 익스포트

2. 핵심 아키텍처 1: Markdig AdvancedExtensions 기반 파싱 파이프라인

ZeliMD는 무거운 웹 프레임워크 대신 순수 .NET 네이티브에서 동작하는 가장 빠른 마크다운 파서인 Markdig를 채택했습니다. 단순 텍스트 변환에 그치지 않고, 복잡한 교안과 시험지 양식을 완벽히 지원하기 위해 고급 확장을 활성화했습니다.

C# — ZeliMDWindow.xaml.cs: 불변 Markdig 파이프라인 구성
// 스레드 안전성을 보장하는 불변(Immutable) 마크다운 파이프라인 구축
_mdPipeline = new MarkdownPipelineBuilder()
    .UseAdvancedExtensions() // 표, 각주, 작업목록, 정의목록, 이모지, 수식 지원
    .Build();

// 본문 변환 실행
string body = Markdown.ToHtml(TxtEditor.Text ?? "", _mdPipeline);

이를 통해 교사들은 다음과 같은 고급 서식을 별도의 플러그인 설치 없이 즉시 작성할 수 있습니다:

3. 핵심 아키텍처 2: WebView2 보안 샌드박스 & 250ms 디바운스 렌더링

사용자가 글자를 입력할 때마다 HTML을 다시 빌드하고 렌더링하면 UI 스레드에 극심한 부하가 걸립니다. ZeliMD는 타이핑 흐름을 방해하지 않는 250ms 디바운서(Debouncer)와 WebView2 샌드박스 가드를 탑재했습니다.

C# — ZeliMDWindow.xaml.cs: 디바운스 렌더링 및 2MB 버퍼 가드
private readonly Debouncer _previewDebounce = new(250); // 250ms 타이머 디바운스

private void TxtEditor_TextChanged(object sender, TextChangedEventArgs e)
{
    // 입력 이벤트 디바운싱: 연속 입력 중에는 렌더를 유예하고 입력 정지 시에만 1회 실행
    _previewDebounce.Run(DispatcherQueue, UpdatePreview);

    // 실시간 글자수·단어수·줄수 텔레메트리 갱신
    var text = TxtEditor.Text ?? "";
    var words = text.Split(new[] { ' ', '\n', '\r', '\t' }, StringSplitOptions.RemoveEmptyEntries).Length;
    TxtWordCount.Text = $"{text.Length:N0}자 · {words:N0}단어 · {text.Split('\n').Length:N0}줄";
}

private void UpdatePreview()
{
    if (!_previewReady || BtnPreviewToggle?.IsChecked != true) return;

    try
    {
        string body = Markdown.ToHtml(TxtEditor.Text ?? "", _mdPipeline);
        string html = WrapPreviewHtml(body);

        // WebView2의 NavigateToString 2MB 제한 가드 (초과 시 안전 안내로 치환)
        if (html.Length > 1_900_000)
            html = WrapPreviewHtml("<p><em>문서 크기가 너무 커 미리보기를 축약합니다.</em></p>");

        WvPreview.NavigateToString(html);
    }
    catch { /* 렌더링 예외가 발생해도 편집/저장 스레드는 영향 없이 정상 동작 */ }
}
🛡️ 교실 및 시험지 환경을 위한 WebView2 보안 락다운

일반 브라우저 컨트롤은 우클릭 시 '검사(Inspect Element)'나 소스 보기 메뉴가 활성화되어 학생이 교안 DOM을 임의로 수정하거나 장난을 칠 수 있습니다.
ZeliMD는 초기화 루틴에서 s.AreDefaultContextMenusEnabled = false; 및 s.AreDevToolsEnabled = false;를 적용하여 개발자 도구와 컨텍스트 메뉴를 원천 차단함으로써 교실 시연 시 발생할 수 있는 잠재적 보안 사고를 방어합니다.

4. 핵심 아키텍처 3: 화면용 다크 테마 vs 인쇄용 화이트 테마의 이원화

에디터는 장시간 집필하는 교사의 눈을 보호해야 하지만, 출력물은 종이에 인쇄하기 적합해야 합니다. ZeliMD는 완벽히 분리된 듀얼 테마 파이프라인을 내장하고 있습니다.

구분 화면용 실시간 미리보기 (Preview) 인쇄/배포용 HTML 익스포트 (Export)
배경 및 텍스트 #0d1a17 딥 다크 배경 / #e6edf3 텍스트 #ffffff 순백색 배경 / #000000 인쇄용 텍스트
인용구 (Quote) #0ea76c 오로라 에메랄드 보더 라인 #cccccc 표준 그레이 보더 라인
코드 블록 (Pre/Code) #0a1512 고대비 다크 테마 + 컬러 하이라이트 #f4f4f4 라이트 그레이 음영 (토너 절약)
레이아웃 폭 패널 폭에 맞춘 반응형 100% 가변 폭 A4 용지 인쇄에 최적화된 max-width: 800px; margin: auto;

교사는 [HTML 내보내기] 버튼 한 번으로 깔끔한 배포용 웹 문서나 PDF 인쇄용 문서를 즉시 추출할 수 있으며, 외장 스타일시트 의존성이 전혀 없는 독립형 인라인 스타일로 생성되므로 이메일 첨부나 학내 인트라넷 게시판 업로드 시에도 깨짐이 없습니다.

5. 실시간 텔레메트리 및 반응형 워크스페이스 분할

ZeliMD는 교사의 작업 편의성을 극대화하는 4대 인터페이스 거버넌스를 제공합니다:

  1. 실시간 글자수·단어수·줄수 텔레메트리: 교육청 제출 공문이나 학술지 투고 논문의 분량 규정을 맞출 수 있도록 타이핑과 동시에 분량을 실시간 집계합니다.
  2. 유연한 그리드 스플리터 (GridSplitter): 미리보기 토글 버튼(BtnPreviewToggle)으로 에디터 전체 화면 모드와 좌우 분할 모드를 전환하며, 마우스 드래그로 미리보기 비율을 자유롭게 조절할 수 있습니다.
  3. 항상 위 고정 (Always on Top): 참고 자료나 교과서를 화면 한쪽에 띄워두고 작업할 수 있도록 IsAlwaysOnTop 토글 핀을 기본 내장했습니다.
  4. 표준 파일 선택기 (FilePicker) 연동: Windows 네이티브 파일 피커를 통해 .md 및 .txt 파일을 손실 없이 로드하고 UTF-8 인코딩으로 안전하게 영속화합니다.

6. 결론: "서버가 꺼져도 교실은 멈추지 않는다"

수업과 교육 연구는 네트워크 장애나 특정 빅테크 기업의 클라우드 정책에 휘둘리지 않아야 합니다.

ZeliDesk의 ZeliMD는 가장 단순하면서도 강력한 마크다운을 통해 교원의 교안 주권을 지켜냅니다. 100% 온디바이스 무결성, 초경량 250ms 디바운스 렌더링, 그리고 인쇄용 HTML 원클릭 추출을 통해 대한민국 초·중·고 교실과 연구실에 가장 든든한 저작 파트너가 될 것입니다.

← 이전 기술 백서 #908 공교육 시험지 문항과 군사 기밀 번역의 클라우드 유출 0초 차단: ZeliTranslate의 온디바이스 NMT/LLM 하이브리드 번역 및 8대 국문 다국어 파이프라인 아키텍처 다음 기술 백서 → #906 컴퓨터실 40대 PC의 40종 멀티태스킹 워크스페이스 거버넌스: ZeliDesk 런처 코어의 윈도우 인스턴스 라이프사이클 및 WindowKit 원자적 영속화 아키텍처
⚡ ZeliDesk ZeliMD 온디바이스 마크다운 스튜디오 체험하기

클라우드 장애 걱정 없는 100% 로컬 교안 저작, Markdig 확장 파이프라인과 WebView2 격리 렌더링을 직접 경험하세요.

ZeliDesk Suite 무료 다운로드