• 전문가 요청 쿠폰 이벤트
*진*
Bronze개인인증
팔로워0 팔로우
소개
등록된 소개글이 없습니다.
전문분야 등록된 전문분야가 없습니다.
판매자 정보
학교정보
입력된 정보가 없습니다.
직장정보
입력된 정보가 없습니다.
자격증
  • 입력된 정보가 없습니다.
판매지수
전체자료 14
검색어 입력폼
  • 정규수식을 입력으로 하여 DFA로 변환하는 프로그램(오토마타) 평가A좋아요
    오토마타 과제[[ 문제 설명 ]]◎ 임의의 정규수식(Regular Expression(이하 정규수식))을 입력으로 하여 DFA로 변환하는 프로그램을 작성하라.? 입력 : 임의의 정규수식? 출력 : DFA의 state table 및 test string의 인식여부? 입력 알파벳은 2개로 하고, state는 임의의 개수를 처리할 수 있도록 프로그램 할 것[[ 개략 알고리즘 ]]◎ 먼저 본 프로그램은 자바(J2SDK1.4.1)로 제작되었습니다.◎ 소스내에 RegNtoD 와 NtoDState 두 개의 클래스가 있습니다. RegNtoD 클래스는 main()을 포함하고 readR_exp()와 readString()을 통해 정규수식, input String을 각각 String 형으로 입력 받으며 getIn_R_exp_arr()와 getIn_String_arr()을 통해 위에서 입력 받은 두 개의 스트링들을 배열로 변환합니다. 이외에 RegNtoD 클래스에는 처음상태(Current State)와 입력심볼에 대한 다음상태(Next State)를 갖는 객체를 선언하는 메소드 mkNtoDState()와 테스트할 입력 스트링들의 각 심볼에 대한 State의 변화를 리턴 시켜주는 findNextState()메소드가 있습니다. 다음, NtoDState 클래스는 private로 선언된 현재상태, 입력심볼, 다음상태를 갖는 객체를 생성하기 위하여 작성하였습니다. 이 클래스에는 객체 생성시 위 세가지를 저장하는 메소드, 조건검사등의 필요에 의해 위 변수에 접근하기 위한 접근 메소드, 현재상태와 입력 심볼을 비교하여 다음상태를 리턴하는 메소드, 이렇게 7개로 이루어져 있습니다. 이상 클래스에 대해 간단히 정리하였습니다.◎ 우선 프로그램을 실행하면 readR_exp()메소드에 의해 적절한 형태의 정규수식을 입력받습니다. 제가 작성한 프로그램에서는 xy*x형태의 정규수식만을 입력으로 허용합니다.(예)ab*a, 01*0..)## Type Regular expression :입력이 완료되면 위에 getIn_R_exp_arr()메소드에 의해 배열형태로 변환됩니다. 배열 형태로 변환 시키는 이유는 상태테이블을 만들때라던지 NextState를 구할 때 접근하기 용이하도록 하기 위해서입니다. 어쨋든 정규수식의 입력이 완료가 되면 xy*x형태의 NFA를 DFA로 변환하여 그 상태값들을 갖고 있는 객체들이 생성이 되는데 이것들은 NtoDState 클래스의 객체들입니다. xy*x 의 상태수에 대한 모든 가능한 경로를 나타낼 수 있도록 변수들을 선언합니다. 이 말은 프로그램의 제한에서 xy*x형태의 정규수식만을 입력 받는다고 했으므로 이 오토마타에서 다음 상태로 갈 가능성이 있는 심볼은 입력받은 정규수식을 배열로 바꾼 in_R_exp_arr의 [0]과[1]이라고 해도 무방할 것입니다. 그렇게 보았을 때 여기서 구한 입력심볼 2개와 모든 상태수 5개에 대한 NextState를 객체에 넣은 것입니다(소스내에서는 stt[]로 선언되어 있습니다). 이제 상태테이블을 출력합니다. 5×2의 2차원 테이블이 화면 왼편에 프린트 됩니다. 설명하자면 왼쪽 위부터 상태 A일 때 위(x; 입력받은 정규수식배열의 [0]값)일 경우 NextState가 1×1에 프린트되고 상태 A일 때 위(y; 입력받은 정규수식배열의 [1]값)일 경우 NextState가 1×2에 프린트 됩니다. 이렇게 A , B , C , D , T까지 모두 5개의 상태의, 두 가지 입력에 대한 NextState를 보기좋게 적절히 프린트합니다.이제 임의의 테스트 스트링을 입력받아 이 오토마타가 그 스트링을 Accept 하는지 Reject 하는지를 출력합니다.## Input String :스트링을 입력하면 String형으로 저장이 되는데 이는 곧 getIn_R_String_arr()에 의해 배열로 변경되어 저장됩니다. 배열로 변경하는 이유는 정규수식을 배열로 변경하였을 때와 마찬가지로 객체에 접근시 용이하게 하기 위해서입니다. 심볼 하나하나로 접근하도록 객체가 만들어졌기 때문입니다. 테스트 스트링의 입력이 완료되면 findNextState() 메소드를 호출하는데 이 메소드는 처음 cState를 ‘A'로 놓고 입력된 테스트 스트링의 각각의 심볼에 대한 State의 변화를 찾습니다. 즉, 초기값 ’A'와 첫 번째 심볼을 모든 객체에 넣어 그 객체의 NextState를 출력하고 cState를 그 NextState로 저장합니다. 그 다음 변경된 cState와 다음심볼을 모든 객체에 넣어 일치하는 객체의 NextState를 리턴받아 출력하고 역시 cState에 저장합니다. 이것이 가능한 이유는 당연히 현재상태와 입력 심볼에 대한 NextState값은 유일하기 때문입니다. 이렇게 모든 심볼을 다 검사한 후의 마지막 cState를 Final State와 비교하여 일치하면 Accept를 출력하고 일치하지 않으면 Reject를 출력합니다. 그리고 상태의 변화를 보기 좋도록 화살표를 이용하여 출력을 하였습니다.이상 프로그램 구동에 대한 설명이었습니다.[[ 프로그램 소스 ]]◎ 프로그램에 대한 충분한 이해를 돕고자 많은 주석을 첨가하였습니다.[ RegNtoD Class]import java.io.*; // Regular Experssion(이하 정규수식)과 스트링을// BufferedReader로 입력받기위해 import합니다.public class RegNtoD{ // 메인클래스입니다.public static String in_R_exp; // 입력받은 정규수식 스트링(전역변수로 선언)public static char in_R_exp_arr[]; // 정규수식 스트링의 배열public static String in_String; // Accept/Reject를 테스트 할 입력스트링public static char in_String_arr[]; // 입력스트링 배열static NtoDState[] stt = new NtoDState[10]; // 현재 상태에대한 객체 10개선언public static String cState="A"; // 초기상태 String형으로 선언public static void main(String args[]){ // 메인메소드System.out.println("");System.out.print(" ## Input Regular expression : ");//정규수식을 입력받습니다.(xy*x의 형태)RegNtoD.readR_exp();// 정규수식 스트링을 입력받는 메소드를 호출합니다.RegNtoD.getIn_R_exp_arr();// 정규수식 스트링을 배열로 변환하는 메소드를 호출합니다.RegNtoD.mkNtoDState();// NFA를 DFA로 변환하는 클래스를 사용하기위해 객체를 선언합니다.// 이하 DFA State Table을 출력합니다.System.out.println("n || "+in_R_exp_arr[0]+" | "+in_R_exp_arr[1]+" | "+" ## DFA default state table; ");System.out.println("---++---+---+---"+" ## Final State : D ## Trap State : T");System.out.println(" "+stt[0].retCState()+" || "+stt[0].nState("A",String.valueOf(in_R_exp_arr[0]))+" | "+stt[1].nState("A",String.valueOf(in_R_exp_arr[1]))+" | ");System.out.println(" "+stt[2].retCState()+" || "+stt[2].nState("B",String.valueOf(in_R_exp_arr[0]))+" | "+stt[3].nState("B",String.valueOf(in_R_exp_arr[1]))+" | ");System.out.println(" "+stt[4].retCState()+" || "+stt[4].nState("C",String.valueOf(in_R_exp_arr[0]))+" | "+stt[5].nState("C",String.valueOf(in_R_exp_arr[1]))+" | ");System.out.println(" "+stt[6].retCState()+" || "+stt[6].nState("D",String.valueOf(in_R_exp_arr[0]))+" | "+stt[7].nState("D",String.valueOf(in_R_exp_arr[1]))+" | ");System.out.println(" "+stt[8].retCState()+" || "+stt[8].nState("T",String.valueOf(in_R_exp_arr[0]))+" | "+stt[9].nState("T",String.valueOf(in_R_exp_arr[1]))+" | ");System.out.println("----------------n");// DFA State Table의 출력의 끝부분입니다.while(true){System.out.print(" ## Input String : ");RegNtoD.readString(); // 테스트할 스트링을 입력받습니다.RegNtoD.getIn_String_arr(); // 입력받은 스트링을 배열로 변환합니다.// 이하 stt객체를 이용하여 입력 스트링에 대한 Current State의 상태변환메소드를 호출합니다.// 화살표를 이용하여 상태의 변화도 출력합니다.System.out.print(" ## State Transformation : "+cState);for(int i=0;i
    공학/기술| 2008.11.16| 12페이지| 2,000원| 조회(1,288)
    미리보기
  • AES 알고리즘 요약
    Chapter 5. Advanced Encryption Standard5.1 Evaluation Criteria for AES■ The Origin of AES3DES 알고리즘은 다음 두 가지 이유로 인해 널리 쓰여지게 된다.첫째, 168-bit 키를 사용해서 기존의 DES 알고리즘에서 가능했던 소모공격을 극복한다.둘째, 기존 DES 알고리즘을 기반으로 만들어졌다.게다가 아직까지 알려진 어떠한 해독법도 존재하지 않는다.따라서 앞으로도 널리 쓰여지게 될 것이다.하지만 몇가지 단점이 있는데 우선 s/w에서 느리게 작동한다는 것이다. DES 알고리즘보다 3배의 시간이 소모된다. 두 번째 단점은 DES, 3DES 모두 64-bit 사이즈의 블록을 사용한다는 것이다.이러한 단점에 의해 3DES는 AES가 될 수 없었다.NIST에서는 3DES보다 더 적은 bit수로 암호화할 수 있는 알고리즘을 공모하기 시작했다. 그래서 전 세계적으로 15개의 알고리즘을 선별하고 그 중 5개를 선별하고 마침내 벨기에의 Daemen과 Rijmen이 제시한 Rijndael이라 불리는 알고리즘을 선별하게 된다. 이는 수년이 걸릴테지만 3DES알고리즘을 대체하고 표준으로 자리잡게 될 것이다.■ AES EvaluationNIST에서 AES를 선정하는데 많은 과정이 소요되었다. AES가 되기 위해서 알고리즘들은 다음 세 가지 기준에 기반해서 서로 비교되어졌다.. Security : 최소 key 비트수가 128로서 소모공격을 하지 못하게 만든다.. Cost : 다방면에 응용 가능해야한다. 예를 덜어 broadband links와 같은 초스피드 application 같은 곳에서도 사용 가능해야 한다. 즉 효율적인 계산을 충분히 수행할 수 있어야 한다.. Algorithm and implementation characteristics : 다양한 s/w, h/w에 적용 가능한 유연성과 이식성, 보안의 분석을 제대로 할 수 있는 단순성이 요구된다.이러한 criteria에 의해 앞에서 언급했듯 21개의 알고리power를 많이 소모하고 0의 입력보다 1의 입력이 더 많은 power를 소모한다는 것이다.. encryption versus decryption : 이 부분은 암호화와 복호화를 다룬다. 암호화, 복호화 알고리즘이 다르며 복호화시 추가공간이 필요하게 된다. 또한 암호화, 복호화 알고리즘이 같던지 다르던지 소모시간의 차이가 있을것이라는 것이다.. key agility : 적은 자원으로 키의 교체능력을 말한다. subkey와의 교체능력을 포함한다.. Other versatility and flexibility : 또 다른 키나 블록 사이즈에 대한 용이한 지원, 새로운 공격에 대항하기 위한 Round 수의 증가가 용이해야 한다. 특별한 환경하에서 요소들은 쉽게 암화화 할 수 있는 유연성. Potential for instruction-level parallelism : 현재 그리고 미래의 processor에서 ILP features를 사용할 수 있는 능력5.2 The AES CiperRijndael 알고리즘은 블록사이즈와 키 사이즈를 종속적으로 128, 192, 256 bit가 될 수 있도록 정의한다. 3개의 같은 크기의 키를 대안으로 사용할 수 있지만 블록 크기를 128bit로 제한한다.Rijndael은 다음 세 가지 특징을 갖는다.. 모든 알려진 공격에 저항 가능. 다양한 platform에서 사용가능한 최소화된 속도와 크기. 단순한 디자인암호화,복호화 알고리즘은 128-bit블록이다. 이 128bit는 byte형 square matrix로 표현되고 암호화,복호화 과정에서 변경된 이 블록들은 State array로 복사된다. 유사하게 128-bit key도 square matrix로 표현된다. 이 matrix는 array로 확장되고 44워드로 표현된다. 각 워드들은 4bit이다. 예를 들어 128bit 평문이 입력되면 첫 번째 4byte가 첫 번째 matrix에 들어가고 그 다음 4byte가 두 번째에 들어가는 식으로 게속 이루어진다. 이런 방식으로 확정된 키 교환가능하다는게 확실하지만 복호화가 평문을 회복한다는 것은 증명하기 쉽다.. 암화화의 복호화의 마지막은 3단계이다. 이것은 AES 구조의 특별한 부분이고 이것이 reverse를 가능케 한다.이제 AES알고리즘의 각 단계에 대해 알아본다. AES 알고리즘은 기본적으로 Byte 단위로 동작하며 2차원형태의 state를 이용해 작업을 수행한다. 암호화 복화화 모두 AddRoundKey 연산으로 시작하며 암호화시 SubBytes, ShiftRows, MixColumns, AddRoundKey를, 복호화시 InvShiftRows, InvSubBytes, AddroundKey, InvMixColumns를 각각 r-1회씩 수행하며 마지막 라운드에는 암호화시 SubBytes, ShiftRows, AddRoundKey, 복호화시에는 InvShiftRows, InvSubBytes, AddRoundKey를 1회씩 수행하는 구조를 가지고 있다.{Plain TextAddRoundKeySubBytesShiftRowsMixColumnsAddRoundKeySubBytesShiftRowsAddRoundKeyCiper Text{Ciper TextAddRoundKeyInvShiftRowsInvSubBytesAddRoundKeyInvMixColumnsInvShiftRowsInvSubBytesAddRoundKeyPlain Text■ Substitute Bytes Transformation , Inverse Substitute Bytes Transformation2차원 배열로 이루어진 State의 각 요소들을 S-Box를 통해서 새로운 State로 변형시켜주는 절차이다. 일례로 State 행렬의 S0,0원소를 EA라 하면 EA의 E'로 S-Box의 행값을 찾고, A'로 S-Box의 열값을 찾는다. S-Box를 통해 나온 값이 87, 즉 s'0,0=87이 되는 것이다.이런 식으로 모든 State의 원소들을 변환하는게 Substitute Bytes(SubBytes) 변환과정이다. 복호화시 행해지는 In2S0,3S1,0S1,1S1,2S1,3S2,0S2,1S2,2S2,3S3,0S3,1S3,2S3,3-- left-shift -->{S0,0S0,1S0,2S0,3S1,1S1,2S1,3S1,0S2,2S2,3S2,0S2,1S3,3S3,0S3,1S3,2■ MixColumnTransformation , InversMixColumnTransformationShiftRows와 InverShiftRows 변환이 행값들의 위치를 변환하는 것이었다면 MixColumns와 InvMixColumns 변환은 열값들을 변환하는 과정이다.{02 03 01 0101 02 03 0101 01 02 0303 01 01 02●s0,0 s0,1 s0,2 s0,3s1,0 s1,1 s1,2 s1,3s2.0 s2,1 s2,2 s2,3s3,0 s3,1 s3,2 s3,3=s'0,0 s'0,1 s'0,2 s'0,3s'1,0 s'1,1 s'1,2 s'1,3s'2.0 s'2,1 s'2,2 s'2,3s'3,0 s'3,1 s'3,2 s'3,3계산시에는 유한체(28)에서 다항식의 더하기와 곱의 연산으로 이루어진다. 즉 s'0,0을 구하는 방식을 예를들면02·s0,0 03·s0,1 01·s0,2 01·s0,3=s'0,0이런식으로 계산을 수행한다.첫열을 87 6E 46 A6 라고 하면02·87 03·6E 01·46 01·A6{0001 01011011 00100100 01101010 01100100 0111 = 47(=s'0,0)이렇게 계산되는 것이다.InverseMixColumn 변환은 MixColumn의 durqusghksdmfhTJ 같은 방식으로 이루어진다.{0e 0b 0d 0909 0e 0b 0d0d 09 0e 0b0b 0d 09 0e●s0,0 s0,1 s0,2 s0,3s1,0 s1,1 s1,2 s1,3s2.0 s2,1 s2,2 s2,3s3,0 s3,1 s3,2 s3,3=s'0,0 s'0,1 s'0,2 s'0,3s'1,0 s'1,1 s'1,2 s'1,3s'2.0 s'2,1 s'2,2 s'2,3s'3,0 s'3,1 s2, W3 라고 볼 때 W3에 특정 함수 g를 적용시켜 얻은 값에 W0을 XOR 연산한 결과가 다음 라운드의 키의 첫 번째 워드는 W4가 되고 이 W4와 이전 라운드의 W1을 XOR연산해 얻은 결과가 W5, W5와 W2를 XOR 연산해 얻은 결과를 W6, W6과 W3를 XOR 연산해 얻은 값이 W7이 되는 것이다.특별한 과정인 g에 대해 알아보면, 일단 g는 모두 세 단계로 이루어져있다.1) RotWord 2) SubWord 3) XOR with Rcon이렇게 모두 세 단계인데 8라운드에서 9라운드의 키를 생성하는 과정을 예로 들면, 일단 8라운드의 키를EA D2 73 21 B5 8D BA D2 31 2B F5 60 7F 8D 29 2F라 할 때 마지막 1워드를 temp라 하고 3가지 연산을 적용한다.{1) RotWord2) SubWord3) XOR with Rcon7F 8D 29 2F87 29 2F 7F5D A5 15 D2 1B 00 00 00= 46 A5 15 DE// ShiftRow 변환과 동일// SubBytes 변환과 동일// 9라운드의 Rcon 값은 1B000000과정 g를 통해 얻은 temp 값과 W0를 XOR하여 W4를 얻는다.■ Equivalent Inverse Cipher앞에서 언급했듯 AES의 암호화 과정과 복호화 과정은 정확히 똑같지 않다. 결국 암호화 s/w를 동시에 필요로 하게 되는 단점을 찾는다. 하지만 이는 적절한 key schedule의 교체로써 쉽게 해결된다. 즉 암호화시에 SubBytes, ShiftRows, MixColumns, AddRoundKey, 복호화시에 InvShiftRows, InvSubBytes, AddRoundKey, InvMixColumns가 각각 수행되므로 처음 두 단계를 교체하고 뒤의 두 단계를 교체하면 암복호화가 동일한 상황을 구현할 수 있다.. Interchanging InvShiftRows and InvSubBytesInvShiftRows 변환은 State의 순서에는 영향을 끼치지만 값을 변경하지는 놓으면
    공학/기술| 2008.11.16| 9페이지| 2,000원| 조회(2,864)
    미리보기
  • JBossAS에서 이클립스 이용하여 JSP코드 실행
    JBossAS에서 JSP코드 실행이름JBossAS?Open Source Java EE Application Server Java EE 서버??? Java Enterprise Edition(EE) 표준에 따라 구현된 서버 Java EE 서버를 흔히 WAS(Web Application Server)라고 함 다른 WAS BEA WebLogic, Tmax JEUS, IBM WebSphere, Adobe JRUN, Apache Geronimo 등왜 JbossAS를 사용하지?Apache Tomcat은 Java EE 표준에 포함되어 있는 웹 애플리케이션 개발을 위한 주요 표준을 구현한 웹 컨테이너 JBossAS는 Java EE 표준에 포함되어 있는 모든 표준을 구현한 완전한 Java EE 서버JSP?JAVA Server Page Server Side Script Language Client의 요청을 서버에서 처리하여 그 결과를 Client에게 전달하는 방식 다른 Server Side Script Language CGI : Server Side Script Language의 시초 ASP : Windows NT서버의 IIS 기반JSP개발배경Java Servlet으로 스레드 방식을 이용하여 CGI에서 프로세스의 오버해드문제를 해결하였지만 개발과 유지보수에서 용이하지 않았음. JSP는 정적인 컨텐츠를 개발하는 웹디자이너와 동적인 컨텐츠를 개발하는 프로그래머가 서로의 영역에 덜 신경을 써도 될정도 효과적으로 분리해두었음.JSP 구동원리응답응답JbossAS 설치전에……이번 설명에서는 2008년 6월 현재 Jboss 홈페이지에 Beta 버전을 제외하고 최신 릴리즈되어 있는 JBossAS는 4.2.2GA를 사용 이 버전은 기본적으로 JDK 1.5를 기반으로 동작하므로 JDK 1.5를 설치전 다운로드하여 설치해야함JBossAS 다운로드http://labs.jboss.com/jbossas/downloads에서 jboss-4.2.2.GA.zip를 다운로드JBossAS 설치C:jboss-4.2.2.GA에 압축을 해제함으로써 설치가 완료JBossAS 설정하기JBossAS 를 구동하기 위해서는 JDK 1.5를 JBossAS가 사용하도록 설정해야 함 JDK 1.5를 JAVA_HOME으로 설정하기 위해서 C:jboss-4.2.2.GAbinrun.bat 파일을 메모장으로 열어 다음과 같이 JDK가 설치된 디렉토리를 설정 @echo off rem ------------------------------------------------------------------------- rem JBoss Bootstrap Script for Win32 rem ------------------------------------------------------------------------- set JAVA_HOME= C:Program FilesJavajdk1.5.0_15 rem $Id: run.bat 63249 2007-05-30 13:20:25Z dimitris@jboss.org $ @if not %ECHO% == echo %ECHO% @if %OS% == Windows_NT setlocal ... 생략JBossAS 구동하기JBoss의 구동 방식 세가지 all, default, minimal 중 default프로파일로 구동 C:jboss-4.2.2.GAbin run.bat 만약에 다른 Profile를 구동하고자 한다면 예) all프로파일로 구동 C:jboss-4.2.2.GAbin run.bat -c allJBossAS 접근웹 브라우저에서 http://localhost:8080 을 입력하여 다음 화면 이 나오면 설치와 접속에 성공 다른 컴퓨터에서 설치된 JbossAS에 접근할수있게하고 싶다면 C:jboss-4.2.1.GAbin run.bat -c all -b IP주소JBossAS와 Eclipse 통합하기이클립스로 JSP개발을 위해서는 Java EE 개발자 버전이 필요(다른 이클립스 사용중이라면 플러그인 다운받아 설치하면 동일하게 실행가능) http://www.eclipse.org/downloads/ 에서 다운로드하여 압축을 해제.JBossAS와 Eclipse 통합하기(계속)JBossAS를 설정하기 위해서 다음과 같이 [메뉴 Window Preferences...]를 선택JBossAS와 Eclipse 통합하기(계속)Server Runtime Environment Add 버튼을 선택JBossAS와 Eclipse 통합하기(계속)JBoss 4.2를 선택하고 Create a new local server에 체크하고 next클릭JBossAS와 Eclipse 통합하기(계속)설치한 JDK 1.5와 JBoss HOME 디렉토리를 다음과 같이 지정하고 next클릭JBossAS와 Eclipse 통합하기(계속)서버 설정: 일반적으로 default를 선택하고 Finish클릭JBossAS와 Eclipse 통합하기(계속)다음과 같이 서버 추가가 완료 확인후 OK클릭JBossAS와 Eclipse 통합하기(계속)JBossAS 구동 및 중지JBoss와 Eclipse를 이용 JSP코딩새로운 프로젝트를 생성JBoss와 Eclipse를 이용 JSP코딩(계속)웹 애플리케이션 프로젝트를 생성하기 위해서 다음과 같이 동적 웹 프로젝트 선택JBoss와 Eclipse를 이용 JSP코딩(계속)적당한 프로젝트 이름 을 입력하고 Next 클릭JBoss와 Eclipse를 이용 JSP코딩(계속)웹 애플리케이션 콘텍스트 루트와 JSP 및 HTML이 위치할 디렉토리및 서블릿 소스코드 등이 위치할 디렉토리를 다음과 같이 설정JBoss와 Eclipse를 이용 JSP코딩(계속)WebContent에 새로운 JSP 파일을 하나 추가JBoss와 Eclipse를 이용 JSP코딩(계속)JSP 파일명을 입력후 NextJBoss와 Eclipse를 이용 JSP코딩(계속)생성할 JSP의 기본 템플릿을 지정JBoss와 Eclipse를 이용 JSP코딩(계속)JSP파일을 코딩하고 확인을 하려면 아래쪽 탭에서 서버를 켭니다.현재의 이 코드에서는 동적인 Contents가 들어가지 않았기 때문에 코드가 HTML과 흡사한데 이는 JSP가 모든 HTML Tag를 포함할 수 있기 때문JBoss와 Eclipse를 이용 JSP코딩(계속)작성한 웹 애플리케이션을 서버 상에서 동작할 수 있도록 Run As Run on Server를 클릭이전에 설정한 JBoss 설정을 다음과 같이 지정JBoss와 Eclipse를 이용 JSP코딩(계속)서버상에서 동작할 프로젝트 목록이 나타납니다. Finish 클릭JBoss와 Eclipse를 이용 JSP코딩(계속)이클립스는 프로젝트를 빌드하고 HelloWorld.war 파일을 생성하여 서버로 배포 배포 후에 다음과 같이 웹 브라우저로 그 결과를 보여주게 됩니다.JBoss와 Eclipse를 이용 JSP코딩(계속)코딩결과 브라우저에서도 확인JBoss와 Eclipse를 이용 JSP코딩(계속)감사합니다.질문하실분 있으십니까?{nameOfApplication=Show}
    공학/기술| 2008.06.30| 34페이지| 2,000원| 조회(868)
    미리보기
  • 모바일 플랫폼의 기술동향
    서론 05년 1월 현재 국내 휴대폰 가입자 수는 3670만 명을 넘어섰다. 국내 총 인구가 약 4800만 명이므로 그 중 80%가 개인 휴대폰을 소지하고 있는 것이다.[1] 이런 수요자 포화상태의 이동통신 시장에서는 이제 점점 음성통신을 통한 수익은 점점 줄고 비음성 부가서비스 (VAS : Value-added Service)를 통한 수익이 늘고 있다[2]. 이런 무선 인터넷을 통한 Data Communication Service는 단말기에 내장된 브라우저(SK, LGT는 WAP, KTF는 ME)를 통해 이루어져 왔지만 멀티미디어 어플리케이션 서비스제공이 어렵고 접속 시마다 부과되는 막대한 무선 인터넷 요금으로 이용자들에게 사랑 받지 못했다. 하지만 모바일 플랫폼 기반의 서비스는 대부분 한번 다운로드 후에 별도의 무선 인터넷 접속 없이 계속 이용이 가능해 이용자들에게 사랑 받아왔다. 하지만 통신사별로 모바일 플랫폼이 달라 CP(Contents Provider)들은 개발한 서비스를 통신3사의 고객 모두에게 서비스하려면 3가지 플랫폼에 맞추어 다시 개발해야만 했다. 이 때문에 콘텐츠 제작과 서비스에 따르는 여러 가지 불필요한 낭비 요소가 발생하였는데, 한국무선인터넷 표준화 포럼(KWISF : Korea Wireless Internet Standardization Forum)에서는 이런 국가적인 차원에서 낭비 요소를 줄일 목적으로 WIPI(Wireless Internet Platform for Interoperability)라는 모바일 플랫폼 표준 규격을 만들었다.
    공학/기술| 2008.04.06| 6페이지| 1,000원| 조회(1,034)
    미리보기
  • 마이크로프로세서의 종류와 특성에 대하여 조사
    제목: 마이크로프로세서의 종류와 특성에 대하여 조사마이크로프로세서(Microprocessor)는, 'Micro(작다)' + 'Processor(처리장치)' 의 합성어로, 반도체 칩으로 집적되어 소형화된 CPU를 의미한다. 인텔이 1971년 세계 최초로 4비트 마이크로프로세서를 개발하여 마이크로프로세서를 사용한 최초의 계산기를 만들어진 이후 마이크로프로세서는 성능, 가격, 사용 환경, OS지원 정도, 개발 환경에 따라 새로이 마이크로프로세서가 새로이 개발되거나 변형되어 개발사용자의 환경과 요구에 맞추어 발전하였다. 그리하여 지금은 대형 메인프레임에서부터 작게는 마이크로프로세서가 탑재된 운동화(아디다스)까지 정말 폭넓은 분야에서 사용되고 있다. 이런 마이크로프로세서에 관하여 아키텍처별로 분류하여 현재 상용중인 마이크로프로세서들의 종류와 특성을 알아보도록 하자.1. x86 아키텍처1.1 INTEL? x86아키택처를 만든 회사로 현재 코어2 시리즈까지 엄청나게 발전하여 데스크톱 CPU시장에서 선두를 고수하고 있다.? 새로 출시한 코어 시리즈는 데스크톱과 노트북 모두에서 사용가능하며 펜티엄D, 펜티엄4, 셀러론D같은 데스크톱 CPU 시리즈와 펜티엄M, 셀러론M, 모바일펜티엄4같은 랩톱 CPU 시리즈 그리고 아이테니엄2, 제논같은 서버 CPU 시리즈를 제조 판매중이다.? 호환 어플리케이션이 가장 많고, 개발자에게 가장 친숙함이 장점이다.? 90년대 초반 i386 SX 코어에 여러 가지 주변 기기들을 SoC로 만들어서 나온 i386EX 프로세서가 있었다. 그 칩은 아직도 많이 사용되고 있으며 펜티엄 계열의 프로세서들이 산업용 SBC(Single Board Computer)에 많이 사용하고 있기도 하다.1.2 AMD? 인텔 호환 CPU 세계 2위 공급업체로서 데스크톱용으로 Athlon64, Sempron시리즈 랩톱용으로 Turion64, 모바일Athlon, 모바일Sempron시리즈 서버, 워크스테이션용으로 Opteron시리즈를 제조 판매중이다.? 임베디드 시스템을 위한 El 호환 프로세서를 만들었고 최근 National Semiconductor사에서 Geode 인수하여 제조하고 있다.? Geode는 산업용 SoC등에서 많이 사용하며 슈퍼파이프라인을 사용하여 설계하였다. L2 캐시, MMU, 버퍼 등이 들어가 있고 멀티미디어에 관련된 프로그램을 처리하기 위해 MMX기술도 지원한다.? Geode는 다양한 종류의 RAM 지원하며 PCI브리지를 비롯하여 멀티미디어 환경의 데이터를 처리하기 위한 사운드, 그래픽기능까지 많은 주변기기를 내장하고 있다.? 멀티미디어 처리를 원하는 제품을 개발하는 경우 Geode는 다른 프로세서에 비해 제품의 가격을 낮출 수 있는 장점이 있어 인터넷 장비나 Set-Top Box에서 이용된다.1.3 VIA? 대만의 메인보드 칩셋 회사로 Cyrix사를 재인수하고 나서 마이크로프로세서를 제작하고 있다.? 데스크톱용 마이크로프로세서 C3은 그래픽, 오디오, PCI 버스 인터페이스 그리고 메모리 콘트롤러를 프로세서 유닛에 집어넣어 통합시켜 저가형으로 제작되었다.? 임베디드 시스템용 VIA Eden Platform 제작하였다.1.4 Transmeta? x86 CPU분야에서 가장 최근에 등장한 회사로 2000년 1월x86 호환 마이크로프로세서 크루소 발표하였다.? 크루소는 랩톱과 팜톱과 같은 여러 이동형(mobile) 장치들에 적합한 디자인으로 설계되었다.? 크루소는 400MHz-700MHz까지 지원해 주고 있지만 x86의 명령어를 실행하는 경우 코드 모핑 기술을 사용하기 때문에 성능이 떨어지는 단점을 지닌다.? L2캐시, MMU, 버퍼등을 지원하고 VLIW라는 명령어 구조를 가지고 있고 다른 프로세서에 비해서 캐시의 사이즈가 크고 다른 프로세서에서 지원하는 RAM 종류보다 더 다양하게 RAM을 지원한다는 것을 장점으로 꼽을 수 있다.2. ARM(Acorn RISC Machine) 아키텍처2.1 ARM의 개요? ARM사는 마이크로프로세서의 IP(Intellectual Property)만을 설계하며 제품을 직접 생산하지는 고 있다.? 현재 대부분의 반도체 회사들이 ARM core를 라이센스하여 칩을 만들고 있다.? 인텔은 ARM core를 이용한 임베디드 솔루션으로 PDA등에 쓰이는 StrongARM, XScale시리즈 네트워크장비에 쓰이는 IXP시리즈 생산하고 있으며 그동안 생산하던 PXA시리즈 사업을 마블(Marvell)테크놀로지그룹에 매각하여 마블테크놀로지그룹에서 PXA시리즈 생산하고 있다.? 우리나라의 삼성이나 현대에서도 ARM 프로세서를 많이 만들고 있다.2.2 ARM의 특징? 저 전력 설계로 다른 프로세서에 비해 적은 전력을 소모하면서도, 높은 성능을 발휘할 수 있다.? ARM은 모토롤라의 Big-Endian이나 인텔의 Little-Endian의 두 모드를 지원해 주고 있으며 Thumb모드를 통한 압축된 명령어들을 제공하여 메모리 사이즈를 줄일 수 있는 장점을 가진다.? 공개된 아키텍처 구조로 인해 다양한 성능이 나올 수 있다. 인텔에서 만드는 StrongARM의 경우 높은 성능과 LCD, USB, PCI, PCMCIA등 다양한 주변기기들을 내장한 프로세서이다. 삼성에서 만든 ARM의 경우는 Ethernet의 MAC 컨트롤러 또는 AD 컨버터 같은 주변기기를 내장하고 있다.? 가격적인 면에서도 다른 프로세서에 비해서 상당히 싸기 때문에 대중적인 제품을 만들 수 있으며 다른 주변기기를 붙여서 쉽게 SoC화를 할 수 있으며 별도의 아키텍처 개발을 위한 비용을 줄일 수 있다.ARM 아키텍처의 등장 배경ARM은 원래 영국 캠브리지에 있는 Acorn Computer Limited에서 개발된 프로세서이다. Acorn은 BBCmicro 라는 6502를 이용한 PC를 만들어 영국 내 에서는 굉장히 성공하였었다. Acorn은 그 다음 후속 모델에 사용할 마이크로프로세서를 찾았다. 그러나 마땅한 프로세서가 없었다. 인텔의 8086같은 16bit CISC 마이크로프로세서가 있었지만, Arcorn의 컴퓨터 설계자 마음에 들지 않았다. 그리하여 Arcorn은 마이크로프로세서를 설계할 생각을그때 당시 전 직원이 400명 정도 밖에 되지 않는 회사규모에서 그런 투자를 할 엄두를 쉽게 낼 수는 없었다. 바로 그때, 버클리 대학교에서 박사과정 후의 몇 명의 학생들이 만든 버클리 RISC-1의 논문을 보고 희망을 가지게 되었고 새로운 아키텍처를 만들고 만다. 그것이 바로 ARM(Acorn RISC Machine)이다. 1980년대 후반에 애플의 ATG(Advanced Technology Group)라 불리는 R&D 센터가 있었다. 이곳은 1990년대를 준비하며 새로운 기술을 연구하는 곳이었는데, 앞으로의 가전기기나 임베디드 제품에는 절대적으로 빠른 속도보다는 저 전력을 소모하면서 가격도 싸고 성능도 좋은 그런 프로세서가 필요하다는 것을 예상하고 Arcorn사를 주목했고 또한 투자를 하였다. 그러다가 여러 가지 위험요소가 많아서 애플의 영국지사와 VLSI Technology 그리고 Acorn사가 합작하여 벤처를 세웠다. 그것이 바로 ARM(Advanced RISC Machine) Ltd 이었다.3. PowerPC 아키텍처3.1 PowerPC의 개요? IBM RS/6000을 모델로 해서 IBM, 모토롤라 그리고 애플이 함께 만든 프로세서이다.? RISC 프로세서로 64비트로 개발되었고 32비트도 지원하고 있다.? 모토롤라에서 생산된 PowerPC 계열은 MPC603을 시초로 해서 MPCXXXX계열의 프로세서를 만들어 내고 있으며 IBM은 PowerPC 4xx 시리즈를 생산하고 있다.3.2 PowerPC의 특징? 일반 PC나 그래픽 워크스테이션, 메인 프레임용으로 사용하기 위해서 개발되었기 때문에 최신의 설계 기술을 사용하였고 높은 성능을 낼 수 있도록 설계되었다.? 다양한 성능을 가진 프로세서들이 있으며 MPC8xx, MPC8xx계열의 QUICC은 다양한 주변기기를 내장하고 있다. 특히 통신에 필요한 주변기기를 많이 내장하고 있다.? 멀티프로세서를 지원하여 대용량의 데이터를 처리하거나 메인 프레임에 유용한 프로세서이다.? QUICC계열은 통신용 장비를 위한하고 있기 때문에 성능 대비 가격적인 면이 우세하여 통신용 장비에 많이 사용될 수 있다.? 64비트용으로 설계를 하였기 때문에 64비트를 요구하는 컴퓨팅 환경에 적합한 제품을 개발할 수 있다.? 프로그램 적으로 페이지크기를 조정할 수 있다.4. MIPS 아키텍처4.1 MIPS의 개요? NEC, 도시바, Sony, LSI Logic, Philips등 유명한 반도체 회사에서 MIPS core를 라이센스하여 MIPS 칩들을 만들고 있다.MIPS 아키텍처의 등장 배경MIPS는 1980년대 초에 스탠포드 대학의 존 헤네시 교수 팀의 MIPS RISC 아키텍처 프로젝트로부터 비롯된다. 1984년도에 MIPS Computer System Inc.라는 회사가 설립되었고 R4000계열의 첫 번째 64비트 상업용 프로세서를 만든다. 이 회사는 1992년도에 SGI(Silicon Graphics Inc.)에 합병되었고, MIPS Technology Inc. 라는 이름으로 바뀌게 된다.4.2 MIPS의 특징? MIPS는 높은 성능을 보여주는 RISC프로세서로 64비트 어드레스 버스와 64비트 데이터 버스를 가지고 있고 32비트도 지원해 주고 있다.? 다른 프로세서와 다르게 DSP를 위한 MDU(Multiple-Divide Uint)을 가지고 있으며 MAC을 지원해 주고 있다.? 6단계의 슈퍼파이프라인 방식을 가지고 있어 연산을 처리하는데 있어서 높은 성능을 보여주고 있다.? MIPS는 다른 프로세서와는 다르게 DSP에 필요한 명령어들을 지원해 주고 있으며 그래픽 처리에 필요한 명령어 또한 지원해 주고 있다. DSP는 MDU을 따로 가지고 있어서 곱셈이나 나눗셈을 하는데 효율적이며 효율적인 그래픽 처리를 위해 MIPS64에서는 MIPS-3D라는 기능을 추가하고 있으며 13개의 명령어를 지원해 주고 있다.? 그래픽환경에 강한 장점으로 비디오 게임콘솔(소니 플레이스테이션2 등등)에 많이 사용되고 있다. 높은 연산 처리율을 필요로 하는 제품, 그래픽 처리를 많이 해야 되는 제품들에 많이 있다.
    공학/기술| 2008.04.06| 5페이지| 1,000원| 조회(2,085)
    미리보기
전체보기
받은후기 3
3개 리뷰 평점
  • A+최고예요
    0
  • A좋아요
    2
  • B괜찮아요
    1
  • C아쉬워요
    0
  • D별로예요
    0
전체보기
해캠 AI 챗봇과 대화하기
챗봇으로 간편하게 상담해보세요.
2026년 04월 14일 화요일
AI 챗봇
안녕하세요. 해피캠퍼스 AI 챗봇입니다. 무엇이 궁금하신가요?
11:28 오전
문서 초안을 생성해주는 EasyAI
안녕하세요 해피캠퍼스의 20년의 운영 노하우를 이용하여 당신만의 초안을 만들어주는 EasyAI 입니다.
저는 아래와 같이 작업을 도와드립니다.
- 주제만 입력하면 AI가 방대한 정보를 재가공하여, 최적의 목차와 내용을 자동으로 만들어 드립니다.
- 장문의 콘텐츠를 쉽고 빠르게 작성해 드립니다.
- 스토어에서 무료 이용권를 계정별로 1회 발급 받을 수 있습니다. 지금 바로 체험해 보세요!
이런 주제들을 입력해 보세요.
- 유아에게 적합한 문학작품의 기준과 특성
- 한국인의 가치관 중에서 정신적 가치관을 이루는 것들을 문화적 문법으로 정리하고, 현대한국사회에서 일어나는 사건과 사고를 비교하여 자신의 의견으로 기술하세요
- 작별인사 독후감