KTUGFaq

KTUG FAQ

로그인:
비밀번호:
가입
You will soon meet a person who will play an important role in your life.
FrontPage › MakingExam
도은이아버님의 hexam.cls를 이용한 mySQL과 php등을 이용해서 DB와 TeX의 연동을 실험해 볼려고 합니다. 이번은 DB pool를 이용해서 무작위적으로 문제를 출제 할 수 있게 할려고 합니다. 얼마나 도움이 될련지는 모르겠지만요. 또한 KLDP에서 vi like editor on WEB의 토론과 함께 있는 editor에 대한 것을 많이 참조 하려고 합니다.

목차

1 개요
1.1 DB 설계에 대한 개요
1.2 WebEditor 만들기에 대한 개요
1.3 Main화면의 설계에 대한 개요
1.4 DB 저장시 html문서로 저장하기

1 개요

1.1 DB 설계에 대한 개요

HExamMain table설계
  • idOfMain : int(10) unsigned not null auto_increment,
  • CategoryOfAnswer : char(20) not null,문제는 어떤 항목에 속하는가? 어느 chapter에 속하는가?
  • TypeOfQuestion : char(2) not null,문제의 유형입니다. 객관식(SC),multiplechoice(MC), 단답식(SS), 약술식(MS), 문제 서술하고 난후에 여러 문항(LA)
  • AbstractOfQuestion : char(200) not null, 문제에 대한 개요이다.
  • LANumberOfQuestion : smallint null,LA형일때 문제의 수입니다.
  • QustionOrList : text not null, 문제입니다.
  • Choice : char(500) null, 문제중 항목입니다.
  • AnswerChoice : smallint null,객관식 답입니다.
  • AnswerString : text null,주관식 답입니다.
  • PointofQuestion : smallint not null,문제는 몇점인가요?
  • DateOfAnswer : datetime not null,문제를 언제 냈는가에 대한 것입니다. Pool중의 문제는 몇 %, 새로 작성한 문제는 몇 %라고 할 때 사용하려고 합니다.
  • GradeOfQuestion : smallint not null, 문제의 난이도에 대한 것입니다.

create table HExamMain (
idOfMain int unsigned not null auto_increment primary key, CategoryOfAnswer char(20) not null, TypeOfQuestion char(2) not null, AbstractOfQuestion varchar(200) not null LANumberOfQuestion smallint null, QuestionOrList varchar(500) not null, Choice varchar(500) null, AnswerChoice smallint null, AnswerString varchar(500) null, PointOfQuestion smallint not null, DateOfAnswer datetime not null, GradeOfQuestion smallint not null) ENGINE=INNODB;

LAHExam table
  • LAid : int(10) unsigned not null auto_increment, primary key
  • idOfMain : int(10) unsigned not null , idOfMain참조값
  • CategoryOfAnswer : char(20) not null,문제는 어떤 항목에 속하는가? 어느 chapter에 속하는가?
  • TypeOfQuestion : char(2) not null,문제의 유형입니다. 객관식(SC),multiplechoice(MC), 단답식(SS), 약술식(MS), 문제 서술하고 난후에 여러 문항(LA)
  • QustionOrList : text not null, 문제입니다.
  • Choice : char(500) null, 문제중 항목입니다.
  • AnswerChoice : smallint null,객관식 답입니다.
  • AnswerString : text null,주관식 답입니다.
  • PointofQuestion : smallint not null,문제는 몇점인가요?
  • DateOfAnswer : datetime not null,문제를 언제 냈는가에 대한 것입니다. Pool중의 문제는 몇 %, 새로 작성한 문제는 몇 %라고 할 때 사용하려고 합니다.
  • GradeOfQuestion : smallint not null, 문제의 난이도에 대한 것입니다.

create table LAHExam (
LAid int unsigned not null auto_increment primary key, CategoryOfAnswer char(20) not null, TypeOfQuestion char(2) not null, AbstractOfQuestion varchar(200) not null, QuestionOrList varchar(500) not null, Choice varchar(500) null, AnswerChoice smallint null, AnswerString varchar(500) null, PointOfQuestion smallint not null, DateOfAnswer datetime not null, GradeOfQuestion smallint not null, Pa_IdOfMain int, INDEX ParIdOfMain(Pa_IdOfMain) FOREIGN KEY (Pa_IdOfMain) REFERENCE HExamMain(IdOfMain) ON DELETE CASCADE
) ENGINE=INNODB;

FigureOfQuestion table
  • idOfFigure : int(10) unsigned not null auto_increment, primary key
  • idOfMain int(10) unsigned null, HExamMain table참조
  • LAid int(10) unsigned null, LAHExam table참조
  • file_path
  • file_name
  • file_name2
  • file_size

여기에 한가지 더 한다고 하면은 아마도 인증시에 필요한 table정도일 것 같다.

1.2 WebEditor 만들기에 대한 개요

이외로 phpschool.com에 갔더니 많은 자료가 있다. 이전에 WebTeX만들기에서 사용한 방법은 어디서 보지도 듣지도 못한 방법이다. 역시 찾는 만큼 보이는 가 보다.

1.3 Main화면의 설계에 대한 개요

  • 입력 부분: WebEditor를 이용하고 다른 부분들을 적절히 이용해서 약 4개정도의 입력창을 만들려고 한다. 그야 말로 main창 문제유형및 category와 문제에 discription이 담겨져 있는 부분 --> 여기서 문제 유형이 나오면 객관식, 주관식, 서술후에 객관식 주관식이 나오는 형태이다.
    • 좀 더 시간이 나면 기존의 문서를 그냥 복사해 와서 붙였을때 적절히 html화 해 주는 기능도 한번 생각해 보자.
  • 수정 부분 : 이 부분에서는 TeX source를 또한 html로 바꾸는 것이 필요할듯 하다. 어찌 되었던 보때길 일이다.
  • 찾아보기 부분은 : category로 찾기(일전에 했던 것 같이 그냥 위에서 아래로 쭉 나열하는 식이 아닌 paging(?) 이라고 하는 technique를 이용할 것, abstract(개요)로 찾기, 날짜로 찾기등 이상 더 필요한것이 있을까요?
  • 지우기
  • TeX만들기
  • 시험문제 만들기 등입니다.

1.4 DB 저장시 html문서로 저장하기

  • DB 저장시 html형태로 저장하기로 했다. 물론 모든 항목을 다 그렇게 저장할 필요는 없지만 html로 저장하는 것이 나중에 찾아보기 했을때 원본 그대로의 느낌을 가질수 있을듯 해서이다.
  • htmltolatex 라는 java program이 있다. 이것을 사용하려고 한다. 어디까지 될런지는 의문이지만, 우리 것 같이 간단한 것을 충분히 가능하리라 생각한다. http://htmltolatex.sourceforge.net/ 여기에서 down받아서 실행해 보니 그런대로 되는듯 싶다.

^
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2006-11-28 07:39:38
Processing time 0.0651 sec