Posted
Filed under Scorm
- submenifest --> item 내부의 아이템만 링크를 허용 한다.

- 메타데이터 활용 <-- 스코어 검색

- SCORM Metadata
  general(title , keyword, description) <-- 검색에유용 함.
 (특별한 경우 없으면, 필요한 것만 사용 하자 ...);

- onUnload , onBeforeunload 로대쳐 하여 사용 하자..(ie6종료 오류)

 - completion_status <-- 학습 완료에 대해서
- completion_threshold <-- 기준값
- Entry <-- 1.2 Eo .. 종료시 학습한 종료 위치를 저장 한 후 컨텐츠 시작시.. 불러서 그 위치로
                이동한다.

- 정보가 스코어 단위로 기록 된다.

- 시간은 초단위로 관리 한다.

-시퀀싱 엔진 (인증 ) 위해서는 넣기 ..(실제로 사용하는 경우는 거의 사용하지 않음)

C:\ADL\SCORM_2004_4th_Ed_Sample_RTE_V1.1.1\Sample_RTE\source\src\org\adl
datamodel, validator, samplerte,
정보 통신 산업 진흥원 가서 소스 찾아 보기 ....


ROLLUP(자식 노드에서 부모노드에 영항을........)
for Child Activity set <-- 자식들의 조건에 의해서 엑션을 취함
condition                                      Action
Any                                             satisfied
None                                         Not satisfied
At Least Count                           completed
At least pecent                          inComplete
 
rollupObjectiveSatisfied="false" <-- 보통 롤업 룰이 false 로 되어 있고,
Sequencing tree <-- 학습창 (시퀀싱 정보에 의해서 activity tree 를 구성 한다.)

Control Mode
트리가 존재 할 떄 트리들의 흐름을 제어 한다.
Control Choice (선택)
Control Choice exit (선택한게 끝났을 때 다른것을 선택 할 수 있음)
Contorl Flow  p/c (previews/continues)
Control Forwrd only

choice -->true 면 flow --> false가 되야함.
기본 defult--> choice="true" choiceExit="true" choiceExit="true" flow="true" forwardOnly="false"

choiceExit <-- 선택하여 컨텐츠 종류후 이동이 불가능 하다.
2009/12/17 12:16 2009/12/17 12:16
Posted
Filed under Scorm

submeni

2009/12/17 11:11 2009/12/17 11:11
Posted
Filed under Scorm



javascript CMI -DATA EXAMPLE

스콤  RTE에서는 한글 언어셋 지원이 안됨으로 , 주의 할것 ...
2009/12/15 16:51 2009/12/15 16:51
Posted
Filed under Scorm

강의 지원 사이트
http://moodle.modulestudy.com

참고사이트
http://ide.ed.psu.edu

학습데이터 저장 공간 확보
학생들이 학습한 로그 정보 (발생시 등록 <-- 무들에서는 이렇게 처리)

CMI<-- API를 활용 하여 Sserver와 통신 후  저장 된 데이터를 활용하여 컨텐츠에 대한
전반 적인 분석에 활용 한다.

CMI.interaction <-- 학습자의 문제 풀이 정보 분석에 활용.

CMI.totaltime  <-- 학습자의 전체 학습 시간 분석 ,, 스코어별 학습 시간 분석.

개발시 유의 사항
메타 데이터 사용 할 것만 정의 하여 사용 한다.
시퀀싱 자체 제작 또는 템플릿을 활용 한다.

LMS는 키워드 검색 정도까지만 범위를 두어서 개발 ...
kEM 2.0 --> 컨버터를 이용하여 LOM  방식으로 변환

ADL OBJECTIVES ADL SCORM RTE 4th Edition

CMI.DATA.MODEL == > RTE.DATA.MODEL 변경

Keris   추천 API  를 사용 하자 ..
Ostynscomtime.js <-- 스콤에서 시간 표현 관련 api

Entry -  학습 횟수 판단,, 처음 학습 했는지 또는 몇 번째 학습 인지에 대해서 판단 한다.

Location <--  사용자의 마지막 학습 위치를 찾기; <--entry 값과 비교하여 resume  값 일 경우
예전에 수행했던 곳으로 이동 한다. (Location 에 저장 되어 있음);

SAMPLE RTE -- 중단(suspend) -  사용자의 요청으로 중단 되는 상황, 현제 진행 중인 데이터가  DB에 남아 있음

                   --종료(Quite) - 사용자의 종료 요청 ... 다음에 종료 했던 컨텐츠를 다시 실행 했을 때 처음 부터 다시 시작 한다.
               
                  -- bookmark기능을 활용 하면  location  객체에 즐겨 찾기 식으로 등록 되어 있음.


                 -- Completion Threshold (진도율 체크;
                    패키징 과정에서 지정 해야함.
                    1.3 0.5 (50%)
                    control false 로 반드시 지정 해야함.
                   1을 기준으로 계산 하며, 스코어 별로 진도율을 체크 하기 위해서는
                    패키징 과정에서 설정을 해줘야 한다.
                   RTE 4 Edition  에서는

                   (weight*실제 progress) / (모든 weight  값을 더한 값) ;
                   이 값을 기준으로 masure값과 비교 하여 complete 여부를 판단한다.

                Rollup -> 진도율이 롤업 됨,

               CMI 데이터를 기준으로 하여 다음 진행 해야될 컨텐츠에 대해서 시퀀싱 하는데
                기준자료로 활용 될 수 있다.(스킵 및 재 학습에 활용 된다. );
             
 masure 와 progress masure 에대허서 비교 하여 정리 하기
               ROll UP에 대해서 더 공부 ....(필수);;
            
               -- action script 를 통해서 프로그래스 바 의 진행 상황을 java script  와 통신 하여
                   CMIapi와 통신 하여 ... 처리 한다.
                  기준 데이터는 메니페스트 파일에 정의 되어 있음.

        시퀀싱 엔진 --> local 시퀀싱 방식 , 웹 서비스 방식... 처리.
        ilias.de <-- 일리어스 스콤 php 전용 LMS
        icodeon.com <-- 스콤 2004 기반 LMS
       
      Success <-- 점수와 관련 ;
      Complete <-- 진도율;
      이수율,성취율 체크 독립된 SCO단위로 적용이 가능 하며, 시퀀싱 네비게이션시 메타데이터와 참조 되어 진행 된다.
 
     --interactions(상호작용)
         시간 체크, lantency(진행 시간) , timeStemp(진행 할 시간), type(시간 유형)
        SessionTime Duration(얼마동안 진행 했는지?) duration type으로 한다.

SCORM RTE 4 TH , CAM 관련 문서 ... 참고 할 것
CMI쪽 패키징 쪽과 관련 하여 .. 컨텐츠 구조를 분석 하여 적용 한다.

Sequencing  할때 처리 방법 : flash,silvelight,ajax 등 활용 하여 처리

RUSTICI<- 스콤에 관여...사이트 가서 방문자료 참조....
http://scorm.zendesk.com/portal

cmi.completeion_threshold - 0-1 값
스코어 완료시 (complete / unknown );
 
성취여부 - passed

MetaData <-- 스코어 벼롤 메타 데이터가 생성되며,
General
   
Life Cycle
metametadata
Technical
Educational
Rights
Relation
Annotation

Interrativity Type 상호작용성 정도
Leaming Resource 

Intended End User Role
Context
Typical Age Range
Difficulty
Typical Leaming Time
Description
Language

메타 데이터는 XML 통체로 넣고 .. 파싱 ?
(MERLOT.ORG <-- 컨텐츠 저장소)
CODRA 프로젝트 ..<-- SCORM  기반 컨텐츠 들을 중앙 집중식 공용 저장소에 저장 한 후 검색에 활용하여 컨텐츠를 검색시 유용 하게 하기 위해서 ...
오픈 아이디와 비슷??

메타 데이터  <-- 메니페스트 파일에 포함 될 수도 있으며,  외부 파일로 존재 할 수 도 있다.-->
kem2.0에서는 외부 파일로 존재 한다.

시퀀싱

2009/12/15 12:23 2009/12/15 12:23
Posted
Filed under Linux
 1078   1068  ./SDKPmp_stop.sh
 1084   1074  export LANG=ko_KR.eucKR
 1085   1075  echo $LANG
 1086   1076  ./SDKPmp_start.sh

 SMS 서버 한글 깨짐 오류 해결 방법 ...
재시작 시 LANG 한글 변수를 설정 후 ..
전송 내역 확인에서 즉시 전송이 안 될 경우, 재시작 한다.
2009/12/11 11:33 2009/12/11 11:33
Posted
Filed under Scorm
사용자 삽입 이미지
2009/12/10 21:46 2009/12/10 21:46
Posted
Filed under Scorm
사용자 삽입 이미지
2009/12/10 21:45 2009/12/10 21:45
Posted
Filed under etc

오픈소스는 이제 기업 시장에서 상당히 광범위하게 사용되고 있다. 유연한 가격과 성숙된 제품으로 최고의 시기를 눈 앞에 둔 상황이다. 해외에 비해서는 그 활용도나 기여도가 떨어지고 있지만 국내에서도 고객들의 활용이 점차 늘어나고 있다. 또 국내에 기반을 둔 오픈소스 소프트웨어 업체들도 속속 생겨나고 있다.

이런 상황에서 이미 많은 검증을 거치고 소비자들이 선택한 제품들은 어떤 것들이 있을까? CIO인사이트는 비즈니스용으로 활용 가능한 오픈소스의 10대 분야에 대한 글을 소개했다. 어떤 영역에 어떤 오픈소스들이 고객들이 선택을 기다리고 있을지 살펴보자.

1. 운영체제(Operating systems). 1994년 첫번째 리눅스가 릴리즈 되고 꾸준히 시장에서 성장하고 있다. 시장 조사 기관인 가트너(Gartner)의 2008년 5월 자료에 따르면 리눅스는 서버 운영 체제 분야에서 가장 빠르게 성장하는  제품이었다.

2. 고객관계관리(CRM : Customer Resource Management). 오픈소스 CRM 프로젝트의 수가 늘고 있다. 가장 유명한 프로젝트로는 SugarCRM(www.sugarcrm.com/crm), SplendidCRM(www.splendidcrm.com), ConcourseSuite(www.concursive.com/concoursesuite.shtml)과 Hipergate(www.hipergate.org) 등이 있다.

3. 전사적자원관리(ERP : Enterprise Resource Planning). ERP에도 오픈소스 제품이 있다는 것은 놀라운 일이다. SAP와 오라클, 국내 기업으로는 영림원 같은 상용 제품이 있는데 전세계적으로 몇몇 고객들은 비싼 상업용 ERP에서 오픈소스 ERP로 옮기기도 한다고. 관련 프로젝트에는 Compiere(www.compiere.com), Openbravo(www.openbravo.com), PostBooks(www.xtuple.com/postbooks) and JFire(www.jfire.org).

4. 모바일 컴퓨팅과 통신. 오픈소스는 가장 빠르게 모바일 기술분야에 적용되고 있다. 대표적인 것이 바로 리모파운데이션(www.limofoundation.org) 이다. 리모는 2007년 1월, 리눅스 운영체제(OS) 기반의 모바일 플랫폼 표준화 개발을 위해 삼성전자, 모토로라, 보다폰, NTT도코모, NEC, 파나소닉, 오렌지 등 7개 회사가 설립했고, 국내외 단말기 제조사와 통신관련 업체들이 참여하고 있다. 국내 업체로는 설립 멤버인 삼성전자를 비롯해 코어 멤버인 LG전자, 어소시에이트 멤버인 KTF, 삼성SDS, ETRI, SK텔레콤와 SK이노에이스 등이 참여하고 있다.

5. 비즈니스인텔리전스(BI : Business Intelligence).오픈 소스 BI 프로젝트에는 이클립스 기반의 리포팅과 BI 기능을 제공하는 BIRT(www.eclipse.org/birt/phoenix)와 쿼리와 리포팅, 인터랙티브한 분석과 대시보드 기능을 제공하는 Pentaho BI Suite(www.pentaho.com)가 있다.

6. 애플리케이션 개발. 애플리케이션 개발과 소프트웨어 스텍의 레이아웃을 디플로이할 때 많이 사용되는데 이클립스(Eclipse; www.eclipse.org)는 가장 대표적인 예다. 오는 3월 이클립스콘(Eclipsecon) 2009 행사가 미국에서 열린다. 참석해 보면 오픈소스 분야의 변화를 한눈에 확인해 볼 수 있을 것 같다.

7. VoIP 텔레포니. 오픈 소스 VoIP 제품을 제공하는 회사들로는 Digium, Fonality, Bluesocket 등이 있고, 오픈소스 VoIP 프로젝트로는 Asterisk, CallWeaver (이전엔 OpenPBX), SipXecs 등이 있다.

8. 웹 브라우저(Web browsers). 가장 대중적인 인기를 끌고 있는 오픈 소스 웹 브라우저는 모질라의 파이어폭스(Mozilla Firefox)이다. 2009년 1월 넷 애플리케이션의 조사에 따르면 파이어폭스의 시장 점유율이 21%까지 높아졌다고 한다. 한국은 언제나 이런 세계적인 흐름에 동참할 수 있을까? 표준을 외면한 대가가 너무나 크다는 사실을 언제쯤 정부와 법원은 깨닫게 될까?

9. 가상화(Virtualization). 오픈 소스 가상화 소프트웨어는 기업들이 낮은 총소요비용(TCO : total cost of ownership)으로 구축이 가능하다. 가장 인기가 높은 오픈 소스 가상화 소프트에어는 젠 하이퍼바이저(Xen hypervisor)이다. 윈도와 리눅스를 지원하는 젠 하이퍼바이저는 시트릭스, 썬, 오라클의 가상화 제품의 근간이 되고 있고, 최근 국내 고객들이 VM웨어의 고비용 구조를 탈피하기 위해 가장 많이 검토할 가상화 소프트웨어 중 하나로 부각될 것으로 보인다.

10. 보안(Security). 가장 잘 알려진 취약점 스캐너(vulnerability scanner)인 Nessus, 침입탐지(intrusion detection system)와 방지 제품인 Snort, 시큐어 소켓 레이어와 전송 레이트 보안 프로토콜 사용을 위한 툴 킷인 Open SSL 등이 있다. 오픈 소스 보안 제품들은 그 종류가 많아 IT 보안 조직에서 인기가 많다.

집단지성을 대표하는 것 중 하나인 오픈소스. 그 어느 때보다 오픈소스에 대한 관심이 높아지고 있는 시기다.

2009/12/10 17:22 2009/12/10 17:22
Posted
Filed under JSP, JAVA
[출처] : http://suya55.tistory.com/230

import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Enumeration;
import java.util.zip.ZipException;

import org.apache.tools.zip.ZipEntry;
import org.apache.tools.zip.ZipFile;

public class ZipFileUtil {

    public static int unZip(String orgFileName, String orgDirName) {
        return ZipFileUtil.unZip(new File(orgDirName + File.separator + orgFileName));
    }


    @SuppressWarnings("unchecked")
    public static int unZip(File fileName) {
        Enumeration entries;
        ZipFile zipFile = null;

        try {
            zipFile = new ZipFile(fileName,"EUC-KR");   // 요거 한방이면 끝인데.ㅠㅠ;

            entries = zipFile.getEntries();

            while (entries.hasMoreElements()) {
                ZipEntry entry = (ZipEntry) entries.nextElement();
                String orgDirName = fileName.getParent() + File.separator;
                String entryFileName = entry.getName();
                if (entry.isDirectory()) {
                    System.err.println("Extracting directory: " + entryFileName);
                    (new File(orgDirName + entryFileName)).mkdir();
                    continue;
                } else {
                    String[] tmpSplit = entryFileName.split(File.separator);
                    if (tmpSplit.length > 1) {
                        String tmpDir = "";
                        for (int i = 0; i < tmpSplit.length - 1; i++)
                            tmpDir += (tmpSplit[i] + File.separator);
                        tmpDir = orgDirName + tmpDir;
                        File tmpFile = new File(tmpDir);
                        if (!tmpFile.exists())
                            tmpFile.mkdir();
                    }
                }
                System.out.println("Extracting File: " + entryFileName);

                FileUtil.copyInputStream(zipFile.getInputStream(entry),
                        new BufferedOutputStream(new FileOutputStream(
                                orgDirName + entryFileName)));
            }

        } catch (ZipException ze) {
            ze.printStackTrace();
            return 0;
        } catch (IOException ioe) {
            ioe.printStackTrace();
            return 0;
        } finally {
            try {
                if (zipFile != null)
                    zipFile.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        return 1;
    }

}


import java.io.*;
public class FileUtil {
   
     /**
     * 파일을 stream으로 읽어들여 대상 outputStream에 복사하는 메소드
     * @param in
     * @param out
     * @throws IOException
     */
    public static final void copyInputStream(InputStream in, OutputStream out)
            throws IOException {
        byte[] buffer = new byte[1024];
        int len;

        while ((len = in.read(buffer)) >= 0)
            out.write(buffer, 0, len);

        in.close();
        out.close();
    }
}
2009/12/08 15:32 2009/12/08 15:32
Posted
Filed under C#
DateTime.Now.ToShortDateString().Replace("-", "");
2009/11/26 11:12 2009/11/26 11:12