。공부 。 70

SPDY - 스피디를 적용하고 사용해 보자.

스피디란 무엇인가? SPDY(스피디/speedy/로 발음)는 웹 콘텐츠를 전송할 목적으로 구글이 개발한 개방형 네트워크 프로토콜이다. HTTP의 단점을 보안하여 앞으로의 인터넷 환경을 효율적으로 개선하는데 그 목적이 있다. 웹 페이지 부하 레이턴시를 줄이고 웹 보안을 개선하는 목표 면에서 HTTP와 비슷하다. 압축, 다중화, 우선순위, 설정을 통한 레이턴시 감소를 달성한다. 스피디 특징 1. 항상 TLS(SSL) 위에서 동작 HTTS 가 적용된 웹 사이트에서만 사용가능하다. 2. HTTP 헤더압축 과거에는 헤더의 용량이 몇바이트 였지만 지금 2kb가 넘고 점점 증가하고 있다 스피디는 이를 효율적으로 압축하여 전송한다. 3. 바이너리 프로토콜 프라임 텍스트가 아닌 바이너리로 구성하므로 파싱이 빠르고 오류 ..

。공부 。 2015.02.06

<JESS> Jess 에서 Java클래스를 사용해보자.

Jess 라는 인공지능 프로그램은 Java의 모든클래스를 객체화하여 사용할수 있다. 그 방법또한 어렵지 않아 쉽고 간단하게 객체를 만들어 사용할 수 있다. - Java의 파일클래스를 객체화하여 사용하기 - (bind ?file (new java.io.File file.txt)) (bind ?fr (new java.io.FileReader ?file)) (bind ?br (new java.io.BufferedReader ?fr)) (bind ?a (call ?br readLine)) (bind ?b (call ?br readLine)) (bind ?c (call ?br readLine)) (bind ?d (call ?br readLine)) (printout t"A : " ?a crlf) (printout..

。공부 。 2008.08.08

[JESS] Jess deffunction (함수선언)

제스에서 사용자함수를 만들기 위해서 deffunction문을 앞에 써준뒤 함수명을 기능에 맞게 부여한뒤 사용하면 되는데 이역시 사용하는 방식을 일반함수와 비슷합니다. 2. 큰수를 구하는 함수 (deffunction test_fct(?x ?y) (if(> ?x ?y)then (return ?x) else (return ?y) ) ) (printout t"MAX : " (test_fct 100 200) crlf)어떤가요 함수 선언시 앞에 deffunction문이 붙는거이외에는 일반 저희가 선언할때랑 비슷하죠? 다만 제스에서는 return이 생략되도 ?x 값이나 ?y값을 리턴할수 있습니다. (if(> ?x ?y)then ?x else ?y ) 이런식으로 생략되도 ?x 와 ?y값은 리턴됩니다. 3. 리스트를 이..

。공부 。 2008.07.08

[JESS] Jess if-then-else

1. if함수 (bind ?num 100) (if (> ?num 95)then (printout t"A+" crlf) else (printout t"A+이 아닙니다." crlf) ) 위의 소스는 ?num이 95보다 크면 A+을 출력하라는 간단한 if함수의 예제 입니다. 선행표기법을 제외하면 일반 if문과 같다는것을 알수있습니다. 2. member$ (bind ?com-list (create$ 모니터 본체 스피커)) (if (member$ 본체 ?com-list)then (printout t"본체가 있습니다." crlf) else (printout t"본체가 없습니다." crlf) )일반리스트를 활용한 if함수 예제 입니다. 여기서 눈여겨 봐야 할 함수가 member$죠 member$는 member$ 바로..

。공부 。 2008.07.08

[JESS] Jess 반복문 (foreach, for, while)

C나 자바에서와 같이 제스 에서는 반복문이 존재 한다. foreach나 for문 while와 같은 함수가 말이죠. 1. foreach 함수는 일반리스트의 원소를 차례차례 한개씩 받아오는 함수이다. (bind ?com-list (create$ 모니터 본체 스피커)) (bind ?num 0) (foreach ?data-list ?com-list (printout t (++ ?num)" : " ?data-list crlf) )foreach 함수는 위와 같이 쓰인다. 첫번째줄에서 일반리스트를 선언해준뒤 두번째줄에서 카운터변수 ?num을 0으로 초기화 시켜주고 있다. foreach 함수의 첫번째 변수인 ?data-list는 ?com-list의 원소값 한개를 받아와 저장하게 된다. com-list의 원소가 nil이..

。공부 。 2008.07.08

[JESS] Jess 일반 리스트

jess 에서는 C나 자바에서와 비슷한 의미로 리스트라는걸 쓰더군요 아직 배우는수준이라 정확히 이녀석을 어디에 어떻게 쓰는지는 자세히는 모르지만 문법정도는 설명할수 있을거 같네요 1. 변수를 선언하듯 리스트를 선언해 줍니다. (bind ?com-list (create$ 모니터 본체 스피커)) create$ 라는 것이 보이죠? 이는 제스에서 일반 리스트를 생성할때 첫번째원소는 함수로 인식하기 때문에 (예를 들어 (+ 2 2) 에서 +를 함수로 인식하는것과 마찬가지) 이를 해결하기 위해 create$를 사용합니다. 함수앞에 '$' 가 붙으면 일반리스트를 제어하는 함수라 생각하면 쉽다. 이렇게 되면 ?com-list 의 첫번째원소는 모니터 두번째는 본체 그리고 세번째는 스피커되 되는것이죠 2. 리스트의 헤드와..

。공부 。 2008.07.08

[JESS] Jess 기초문법, bind, batch, printout

jess 는 lisp 이라는 언어 기반의 문법을 사용하더군요.. jess 에서는 기본적으로 변수선언 이라는것이 없습니다. 단지 변수를 선언할때 변수 앞에 '?' 만 붙여주면 끝 ' ?name' 이런식으로 사용하면 되는것이죠. 하지만 변수에 값을 할당할시에는 꼭 bind 라는 예약어를 사용해 변수를 사용 해야 하더군요 (bind ?name "kyoe") 이런식으로 말이죠 이렇게 처음과 끝에 괄호를 붙어 사용하는 방식을 리스트방식 이라고 했던거 같네요.. - 변수에 데이터 할당 - (bind ?age 25) (O) (bind ?age = 25) (X) (bind ?name "kyoe") (O) jess 에서의 변수는 어떤형식이든지 지원을 하기 때문에 특별히 변수 형식을 지정해줄 필요가 없습니다. C언어나 자..

。공부 。 2008.07.01

[JESS] Jess , 이클립스 연동

인공지능언어 JESS는 이클립스와 연동이 가능하다. 즉 도스 프롬프트창이 아니라 이클립스에서 프로그램 코딩이 가능하다는 것이죠. JESS는 한글로 표기된 설명이 드물기 때문에 이클립스와 연동이 가능하는 것 이외에는 한글로된 정보를 어디에도 찾아볼수가 없더군요.. 이틀을 헤멧나요? 결국엔 영어로된 자료를 해석했지요.. 네이버사전에서 단어하나하나 찾아가며 해석하기를 약 1시간! 드디어 한페이지를 해석.! 구굴에서는 번역해서 웹페이지를 띄워주는 기능있다는것을 한페이지 해석이 끝난뒤에야 알았습니다.. ㅡㅡ 자 그럼 Jess를 이클립스와 연동해 볼까요! 참! 이클립스는 깔려있어야 겠죠? 물론 jdk도 말이죠 Jess는 자바기반 언어이고 자바의 클래스를 사용할수 있다고 하네요 1. http://www.jessrul..

。공부 。 2008.06.27

[JAVA] 2차원 배열 동적할당

우리는 배열을 이용해서 힙영역에 내가 원하는 크기만큼의 배열을 동적할당할수 있습니다. 왜굳이 동적할당을 해야하나? 그냥 넉넉하게 지정해주면 안되나? 하는 분들도 있겠지만 그렇게 되면 메모리손실이 뜻하지 않게 너무커져버릴수 있기 때문입니다. 고등학교를 예로 든다면 반별로 학생수가 다를수가 있습니다 1반에는 30명 2반에는 35명 이렇게 있을수가 있다는 거죠.. 이럴땐 그냥 넉넉하게 배열을 50씩 잡아줄수 있겠지만 우리는 동적할당을 이용해서 배열을 크기를 지정해 보도록하죠. import java.io.*; public class Exam_array { public static void main(String[] args)throws IOException{ BufferedReader in = new Buffer..

。공부 。 2008.02.27

VmWare로 우분투를!

전부터 꼭한번 써보고싶던 OS중에 하나였던 우분투를 VMWARE를 사용해서 설치해 봤습니다. 설치 방법도 까다롭지않아서 누구나 쉽게 설치할수 있을거 같네요. 음... 근데 전 3번 다시깔았다는... ^^:; 우분투 설치후 배경화면 입니다. 윈도우와 비교해서 상당히 깔끔하다는것을 알수있는데요 특이한건 윈도우에는 시작아이콘이있는 '바' 가 아래쪽에 한개가 있는거에 비에서 우분투는 위아래 2개가 있습니다. 아래쪽에 있는 '바' 는 현재 활성화 되어있는 창이 나열되게 되고 우측에 보면 네모난게 두개 보이죠? 좀더 흐린 네모박스를 누르면 또다는 배경화면이 뜸니다 화면을 좀더 넓게 사용할수있겠죠 . 물론 두개 뿐만아니라 우분투는 정육면체로 사용이 가능하죠. 우측끝에 휴지통도 보이는군요. 위쪽 '바'는 윈도우의 시작..

。공부 。 2008.02.19