2026년 9월 6일 일요일

[행정/연구] 교원 연구 성향 진단 - 16문항으로 연구회 자동 매칭



연수 희망 조사가 1초짜리 매칭으로 — 교원 연구 성향 진단 & 자동 동아리 매칭 시스템

🧑‍🏫 학기 초, 전 교원 대상 수업 연구 성향 진단 16문항(에듀테크형·인문학형·프로젝트형·놀이수업형, 유형당 4문항)에 응답하면 최다 득점 유형이 즉시 산출되고, 성향별 연구회 분과가 1초 만에 자동 매칭됩니다.

설문 결과는 CSV(쉼표로 구분한 값) 서식으로 자동 취합(로컬 파일 다운로드 — 외부 전송 없음)하고 연구회 명단 출력까지 한 번에. 전문적학습공동체(PLC) 활성화를 위한 교무·연구 행정 도구입니다.

📖 한 줄 정의

심기 모드(데이터 임베딩): API 데이터를 미리 받아 HTML 파일 안 상수로 박아두는 방식(앱 실행 중 외부 통신 0).

학내망 원칙: 학교 배포 웹앱은 개인정보 수집·저장·전송 없음(외부 CDN·API 호출 0, 단일 파일) — 학생은 학내망에서 교사 PC 서버에 접속.

1. 3대 핵심 분석 비교표

무엇이 바뀌었나요? / 영역 초보자를 위한 쉬운 설명 이렇게 한번 써보세요!
행정 절차 개선 수기 설문지 40부 취합 하루 → 응답 즉시 집계, 1초 매칭, CSV·명단 출력. 연수 희망 조사가 점심시간에 끝납니다. 집계 화면에서 분과별 인원수 실시간 확인.
16문항 4유형 설계 유형당 문항 4개 — 예: 에듀테크형 "새 도구가 교실에 오면 먼저 만져본다". 최다 득점 유형 + 2위 혼합 성향까지 표시. 유형별 문항 예시를 교직원 회의에서 다듬기.
자동 매칭 성향 → 연구회 분과 1:1 매핑 상수. 분과 인원수·공동 연구 주제 제안까지 함께 표시됩니다. matchType 함수로 최다·2위 유형 산출.
CSV 취합·명단 출력 Blob으로 CSV를 로컬 파일로 만들어 내려받기 — 서버 전송이 아닌 파일 생성이라 외부 통신 0. 인쇄 버튼으로 명단 출력. downloadCSV 함수 → 엑셀에서 바로 열기.
개인정보·운영 체크 교탁 PC(학내망) 배포, 화면은 세션 메모리(종료 시 소멸), 닉네임·번호 표기, 외부 전송 0 — 교탁 PC 도구의 기본 원칙 세트. 화면 하단 운영 체크리스트 상시 표기.

2. 핵심 아키텍처 해설 — 진단 엔진을 행정 매칭기로 확장

① 진단 엔진: 4유형 점수판

가중치(weight) 연산을 4칸 점수판으로 단순화합니다. 축이 아니라 유형 자체가 답안지 — 각 문항이 하나의 유형에 +1을 주고, 유형당 문항이 4개라 최대 점수는 4점입니다.

const TYPES = [
  { key: "에듀테크",  club: "에듀테크 연구회",       desc: "도구·AI 활용 수업 연구" },
  { key: "인문학",    club: "인문학 독서 연구회",     desc: "교육과정의 인문 배경 연구" },
  { key: "프로젝트",  club: "프로젝트형 수업 연구회", desc: "장기 과제 설계 연구" },
  { key: "놀이수업",  club: "놀이·게임 수업 연구회",  desc: "게임 기반 수업 연구" }
];

const scores = [0, 0, 0, 0];
QUESTIONS.forEach(function (q, i) {
  scores[ANSWERS[i]] += 1;   // 답한 유형에 +1 (유형당 문항 4개)
});

② 문항 예시(유형당 1개씩)

  • 에듀테크형: "새 교육 도구가 교실에 들어오면 나는? 일단 만져본다."
  • 인문학형: "수업 설계 전에 그 단원의 역사·배경을 먼저 읽어본다."
  • 프로젝트형: "학기 길게 이어지는 하나의 과제가 더 끌린다."
  • 놀이수업형: "수업 규칙을 게임처럼 만들면 아이들이 먼저 움직인다."

2위 유형도 함께 보여주면 '에듀테크·프로젝트 혼합형' 같은 자연스러운 소개가 가능합니다.

③ 자동 매칭: matchType

function matchType() {
  const ranked = TYPES.map(function (t, i) {
    return { type: t, score: scores[i] };
  }).sort(function (a, b) { return b.score - a.score; });
  return ranked;   // ranked[0] = 최다 유형, ranked[1] = 2위
}

정렬 한 번이 곧 매칭입니다 — '1초 만에'는 비유가 아니라 실제 계산 시간입니다. 분과 인원수는 화면에 실시간 집계되어, 희망이 쏠리면 교무처가 분과를 추가하는 판단 자료가 됩니다.

④ CSV 취합·명단 출력

function downloadCSV(rows) {
  const head = "번호,닉네임,최다 성향,추천 분과,2위 성향\n";
  const body = rows.map(function (r, i) {
    return (i + 1) + "," + r.nick + "," + r.type.key + ","
         + r.type.club + "," + r.second.key;
  }).join("\n");
  const blob = new Blob([head + body], { type: "text/csv" });
  const a = document.createElement("a");
  a.href = URL.createObjectURL(blob);
  a.download = "연구회명단.csv";
  a.click();
}

Blob은 브라우저 안에서 파일 조각을 만드는 도구 — 파일은 내 컴퓨터로 내려받는 것이지 어디로도 전송되지 않습니다. 명단 출력은 인쇄 버튼(window.print)과 인쇄용 CSS로 카드를 감추고 표만 남기면 완성입니다.

⑤ 운영 체크리스트와 갱신 루틴

화면 하단에 원칙 4줄을 상시 표기하세요 — ① 교탁 PC(학내망)에서만 실행 ② 종료 시 세션 메모리 소멸 ③ 닉네임·번호 표기 ④ 외부 전송 0(CSV는 로컬 파일). 문항과 분과는 파일 상단 상수로 심기 모드(데이터 임베딩)로 관리 — 학기마다 갱신이 1분짜리 루틴입니다.

3. 초보자를 위한 바이브 코딩 실전 사용 예시

  1. 프롬프트 복사 — 아래 '제미나이 전용 에러 제로 프롬프트' 전체를 복사해 Gemini에 붙여넣습니다.
  2. 역질문 답변 — 4유형 확정, 분과 구성, CSV 서식 세 질문에 답하면 설계가 고정됩니다.
  3. HTML 파일 실행 — 완성 코드를 '연구성향진단.html'로 저장해 교사 PC(학내망)에서 실행. 점심시간에 전 교원 응답 → CSV 취합 → 명단 출력으로 마무리.

제미나이 전용 에러 제로 프롬프트

[🚨 에러 방지 기본 안전장치]
1. 결과물은 외부 라이브러리·프레임워크·웹폰트 없이 단일 HTML 파일로 완성한다.
2. 진단(4유형 16문항), 자동 매칭(matchType), 분과별 실시간 집계, CSV 취합(downloadCSV), 명단 인쇄 버튼을 한 파일에 완성한다.
3. 표기는 닉네임·번호만 권장하고, 화면 데이터는 세션 메모리로만 유지한다 — 새로고침·종료 시 소멸(개인정보 수집·저장·전송 0).
4. 사운드는 Web Audio API로 직접 합성한다: 문항 넘김 '똑', 매칭 완료 '팡파르'.
5. 모바일·PC 모두 대응: 교원들이 개인 기기와 PC 양쪽에서 응답할 수 있게 반응형으로.
6. 도구명은 '성향 진단'으로 쓴다 — MBTI는 상표이므로 이름·로고에 사용 금지.
7. // TODO, /* 생략 */ 같은 미완성 코드는 절대 넣지 말고 끝까지 완성한다.

[❓ 역질문 유도]
코드를 바로 만들지 말고, 아래 3가지를 먼저 나에게 질문한 뒤 내 답변으로 설계를 확정한다.
Q1. 4유형은 무엇으로 확정할까? (기본: 에듀테크형 / 인문학형 / 프로젝트형 / 놀이수업형)
Q2. 연구회 분과 구성과 공동 연구 주제는 무엇으로 할까?
Q3. CSV 서식 칸은? (기본: 번호, 닉네임, 최다 성향, 추천 분과, 2위 성향)

🎯 에디터 한줄평

연수 희망 조사가 '40부 취합'에서 '1초 매칭'으로 — 행정 간소화의 본질은 마찰을 없애는 기술이라는 걸 이 도구가 보여줍니다. 성향 진단이 교원에게는 '나의 연구 정체성 발견'의 계기가 되고, 2위 성향까지 표시하는 디테일이 분과 간 협업의 씨앗이 됩니다. 자율 연구가 활성화되는 기술적 조건은 딱 하나 — 참여의 문턱을 낮추는 것. 이 도구는 그 문턱을 1초로 만들었습니다.

📚 기술·교육 참고 링크

  • 활용 연계: 전문적학습공동체(PLC) 운영 계획, 자율연수 분과 편성, 교직원 회의 자료 취합에 활용