스마트폰이 뭔지 온 세상이 관련 전쟁을 치르는 중입니다.
저는 자바를 사랑하지만 돈독이 올라있는 오라클은 참 싫습니다.
그리고 자바라고는 웹에서만 사용을 해본 제게 신세계를 열어준 구글은 참 좋습니다.
해서 이번 소송 결과가 만족스럽습니다. 
오라클 VS 삼성 간의 문제에 얼만큼 영향을 미치는지는 알수없지만 나쁘진 않겠죠. 


 


package test.filelist;

import java.io.File;
import java.io.IOException;

public class FileReader {
public static void main(String[] args) {
String path = "C:/kesti/koofs_org";
readFiles(new File(path));
}

public static void readFiles(File file) {
if (file == null || !file.exists()) {
return;
}

if (file.isDirectory()) {
String[] files = file.list();
String path = "";
try {
path = file.getCanonicalPath();
} catch (IOException e) {
e.printStackTrace();
}
System.out.println(path);

if (files != null) {
for (int i = 0; i < files.length; i++) {
if (path.indexOf("fckeditor") < 0) {
readFiles(new File(file, files[i]));
}
}
}
} else {
try {
String name = file.getName().toLowerCase();
if(name.endsWith(".jsp") || name.endsWith(".html") || name.endsWith(".js")) {
System.out.println(file.getCanonicalPath());
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
}


어떤 프로젝트가 되었건 문서화 작업이 없는 경우는 없죠.
하지만 이런 문서 작업을 좋아하는 사람도 없죠. (물론 저도 싫죠)
오늘은 기존 시스템의 프로그램 목록을 작성하는 날입니다.
본수가 많지 않아 타이핑을 하려다 급 귀찮아져서 특정 디렉토리를 읽어오는 프로그램을 잠시 만들었습니다.
재귀호출. 이게 은근히 헷갈립니다.
전에 안드로이드 프로젝트할때 특정 디렉토리의 컨텐츠를 읽어서 (클라우드서버로의) 백업 여부를 판별하는 작업을 할 필요가 있었는데, 그때 작업했던 내용과 유사합니다. 문제는 전혀 기억이 나지 않았다는거.
어쨌거나 간단하게 만들었습니다.
만들고나니... 프로그램 짜길 참 잘했다는 생각이 들더군요. ㅡㅡ^
전체 파일이 3,000개에 가깝고 (물론 이미지가 많았습니다.)
프로그램이다보니 이런 저런 조건을 줘서 필터링하기도 편했습니다.
(예를 들면, 어떤 확장자의 파일들이 있는가? 또는 이미지 파일은 몇개인가? 확장자별 각 파일수는?)

다음엔 간단히 찾아쓰기 위해 포스팅합니다!!
근래 개발 관련 포스팅을 하게되네요.
퇴근시간 두시간전!!
오늘이 초복이랍니다!! 즐닭하시길!!




  1. 탱구 2012.08.09 17:46

    오.. 제가 찾던 정보네요!!



요즘 날코딩에 대한 한계 및 보다 고급스러운 코딩에 대한 갈증으로 인해 벌써 5~6년 전에 구입해서 봤고 또 필요 할 때 간간히 봐왔던 책을 다시 펴게 되었습니다. 무거운 책을 매번 가지고 다닐 수도 없고, 필요 할 때 참고하기 쉽게 정리를 좀 해볼까 합니다. 머리속에 남기는게 제일 좋겠지만.. 가끔 출근길에 "내가 어디 가고 있지?" 이러는 머리를 믿자니 ㅡㅡ""

책에서는 프로그래밍 기술을 향상시키기 위해서 알고리즘에 대한 이해는 필수라고 이야기합니다. 프로그램의 재이용함으로 생산성 향상이라는 목표를 달성 할 수 있다는 것이죠. 하지만, 공통 유틸성 프로그램의 사용법만 알면 되지 굳이 내면이 구현 알고리즘까지 알 필요가 있느냐?에 대해서는 고민을 해볼 필요가 있겠네요. 고급스러운 프로그래밍을 위해서는... 이라는 자답으로 인해 책을 펴게 됐으니... 다른 분들도 고려해봄직 합니다.

Part 1. 알고리즘과 자료구조의 기본 
1장. 알고리즘이란? 
2장. 복잡도 
3장. 자료구조란? 
  
Part 2. 기본적인 자료구조 
4장. 배열 
5장. 연결 리스트 
6장. 트리 구조 
  
Part 3. 탐색 
7장. 탐색이란? 
8장. 해싱 
9장. 이진 탐색 트리 
10장. 균형 트리 
  
Part 4. 정렬 
11장. 정렬이란? 
12장. 단순 정렬 알고리즘 
13장. 쉘 소트 
14장. 퀵 소트 
15장. 머지 소트 
16장. 힙 소트 
17장. 비교를 이용하지 않는 정렬 
  
Part 5. 문자열 탐색 
18장. 문자열 탐색 
  
Part 6. 여러 가지 알고리즘 
19장. 백 트래킹 
20장. 동적 계획

 





package test.thrd;

public class FeedCollector {
public static void main(String[] args) {
test1 t = new test1();
t.start();
}
}

/**
 * 1. 포털의 RSS를 읽어서 블로그를 수집한다. 
 * 2. 수집된 블로그의 피드를 수집한다. 
 * 3. 수집된 피드를 차트 데이터로 만든다.
 * 
 * @author Administrator
 * 
 */
class test1 extends Thread {
private static int FLAG = 1;
private static int SLEEP = 3000;
private static int FSLEEP = 5000;
private static int CSLEEP = 10000;
private static boolean ISRUN = false;

public void run() {
while (true) {
if (FLAG == 1) {
if(!ISRUN){
parseFeed();
}
SLEEP = FSLEEP;
} else {
if(!ISRUN){
makeChartData();
}
SLEEP = CSLEEP;
}

try {
Thread.sleep(SLEEP);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}

public void parseFeed() {
ISRUN = true;
System.out.println("★");
FLAG = 2;
ISRUN = false;
}

public void makeChartData() {
ISRUN = true;
System.out.println("⊙");
FLAG = 1;
ISRUN = false;
}
}

전혀 검증되지 않은 코드입니다.

현재 클릭을 해야만 파싱이 되는 [알모]를 주기적으로 파싱처리되게 변경을 할까 생각중입니다.
생업이 무지하게 바쁜 관계로 생각만 하고 있습니다.
요렇게 변경하면 정말 메타블로그 같겠군요.







  • MVC의 확실한 구분
    가끔 혼자서 사이트를 만들다보니 이런 정책따윈 필요없었는데 앞으로 계속 할 생각이라면 MVC 모델을 잘 구축해서 재활용성을 높여야겠다.









웹 관련 기획도서나 마케팅도서를 보면 포털이나 유명사이트의 예전 화면을 보여줍니다. 
예를 들면 2000년도의 다음 메인은 어떠했는데 지금은 이렇게 변해있다 등과 같이 말이죠.
"어떻게 예전 화면들을 가지고 있을까? 일일이 시간내서 캡쳐를 해두는걸까?"란 생각을 하다 만들어 보기로 했습니다.

첫째로 자바 GUI 툴을 생각했었는데 관련 지식이 없는 관계로 스킵!!

두번째로 java.url.net 패키지를 사용해서 소스를 얻어와 어떻게 해볼 요량이었는데... 소스를 얻어와서 어쩌겠다고?
URL 클래스난 URLConnection 클래스를 이용하면 소스를 얻어오는 것까지는 전혀 문제가 없습니다.
얻어온 소스로 어떻게 이미지를 만들 것이냐가 문제였죠.
해서 소스 자체로 이미지 만든다는 생각을 버리고 
캡쳐하길 원하는 사이트를 DB에 모으고 JSP에서 순차적으로 캡쳐하면 되겠구나 라는 생각을 했습니다.
어라, 근데 JSP 화면을 어떻게 캡쳐하지? 구글신공!!
http://blog.naver.com/ttggi7/100041555227에서 관련 소스를 발견했습니다. (이 님 무척 똑똑하신 듯 ㅋㅋ)
(경로와 파일명은 날짜와 사이트명 등을 이용해서 유니크하게...)

public void capture() {
try {
// 전체 화면 Capture
BufferedImage screencapture = new Robot()
.createScreenCapture(new Rectangle(Toolkit
.getDefaultToolkit().getScreenSize()));

// JPEG 저장.
File file = new File(
"C:/Tomcat 6.0/webapps/ROOT/capture/20091128/screencapture.jpg");
ImageIO.write(screencapture, "jpg", file);
} catch (HeadlessException e) {
e.printStackTrace();
} catch (AWTException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}

간단하게 해결 되더군요.
두번째 방법을 정리를 해보면 URLConnection 클래스를 이용해 해당 사이트의 소스를 얻어와서 화면에 뿌려주고 -> 완성된 화면을 캡쳐한다.
문제가 발생했습니다.
소스를 그대로 뿌려주니 CSS와 JS 문서의 경로로 인해 화면이 일그러져 버렸습니다.
해서 URLConnection 클래스를 이용해 얻은 소스에 <base href='사이트주소'>를 추가해주는 것이었습니다.
그러니 대충 화면 일그러짐 없이 출력이 되었는데 간혹 JS 에러가 발생하더군요. (크로스 도메인에 대한 제약)
해서 세번재 방법을 생각했습니다.

세번째 방법은 URLConnection 클래스를 이용해 얻은 소스를 포기하는 것입니다.
삽질해서 접근한 소스를 버리니 아주 편한 길이 보였습니다. ㅡㅡ;;
그냥 iframe을 이용하는 것이지요.
<iframe width="1024" height="700" src="http://www.daum.net/"></iframe>
간단하고 CSS나 JS 에러 일어날 일 없고, 화면을 그대로 보여주니 좋더군요.
근데, URLConnection에 대한 미련 TT..TT 그래도 버리는 수밖에요.
(사실 버리지 않고 다른 프로그램을 짜는데 도움이 되었습니다. 
저의 프로젝트 경력에서 java.net.* 패키지를 이용할 일이 없었습니다.)
하지만 이 세번째 방법에도 문제점이 조금 있습니다.
capture() 메소드를 이용해서 캡쳐를 하게되면 딱 모니터 화면만큼만 캡쳐가 된다는 것이지요.
스크롤 되어 숨어있는 부분은.... 
해결 방법은 세가지 입니다.
1. 숨겨진 부분은 포기한다.
2. 소스로 해결한 방법을 찾아본다. (알툴바의 전체영역 캡쳐를 하고 싶습니다.)
3. 해상도 엄청 좋은 모니터를 구입한다.

위 내용의 프로그램 구현은 정말 심심해서 몸이 비틀어질 것 같을때 http://play.wifil.kr/에 구현을 하겠습니다.
DB에 목록을 구성해서 불러와 순차적으로 캡쳐하는 부분은 일반적인 것이니 금방 되겠지요.
그렇게 믿습니다!!


JSP 소스 : 별 내용이 없는지라....




  1. remembersh 2010.01.21 20:10

    안녕하세요. 혹시 구현하신 소스를 좀 구할 수 없을까요? 꼭 필요해서요.
    iframe으로 구현하신거요. 구현하신 jsp코드를 보고 싶습니다. onlyou95@naver.com으로 연락 주시면 감사하겠습니다.

    • BlogIcon 알통 2010.01.22 09:12 신고

      이제 겨우 한달 반 지났는데 가물가물하군요.
      어제 다른걸하다가 좀 더 정확하게 구현할 수 있는 방법을 찾았습니다.
      프로토타입에 있는 기능을 이용하면 되더라구요. (js부분)
      소스가 있으면 보내드릴께요

  2. hardc5r2 2011.01.17 14:58

    안녕하세요. 글쓰신 날짜를 보니 상당히 오래 되었지만
    혹시 구현하신 프로토 타입에 있는 기능을 이용해서
    구현하신 소스를 좀 구할 수 없을까요?
    hardc5re@naver.com으로 연락 주시면 감사하겠습니다.

  3. son 2014.11.01 13:30

    화면이 까맣게 캡쳐되는데 왜이런거죠ㅠㅠ



이클립스를 사용하는 분이라면 한번쯤 들어봤을 마이이클립스, 마이이크립스8 버전에서부터 스트럿츠2를 지원하기 시작했습니다. 스트럿츠2 프로그래밍의 Chapter2 튜토리얼을 마이이클립스8로 따라 해봤습니다. 아래 내용을 따라해보려면 JDK와 마이이클립스8이 설치되어있어야겠죠.

1. 마이이클립스


2. 프로젝트 생성
상단 메뉴의 File > New > Web Project를 클릭합니다.

Project Name을 입력합니다. 저는 test.struts2라 입력을 했습니다. Source folder, Web root folder, Context root URL을 입력합니다. Context root URL은 Project Name을 입력하고나면 /test.struts2라고 입력되어지지만 귀찮은 관계로 "/"로 수정을 했습니다. J2EE 버전은 Java EE 5.0으로 선택하고 하단의 Finish 버튼을 클릭합니다.


3. 스트럿츠2 환경설정
보통 책을 보면 스트럿츠 다운로드 과정이 들어가있습니다. 마이이클립스를 사용하게 되면 이 과정이 생략됩니다. Package Explorer의 text.struts2 프로젝트에서 마우스 우클릭을 하면 팝업 메뉴가 뜹니다. 아래쪽에 보면 MyEclipse를 클릭하면 서브 메뉴가 나오는데 [Add Struts Capab......] 메뉴를 클릭합니다.

스트럿츠 버전을 2.1로 선택합니다. Struts filter name이나 URL pattern은 취향에 맞게 수정하셔도 됩니다. 그냥 디폴트 설정으로 놔두고 Finish 버튼을 클릭합니다.

Package Explorer의 test.struts2 프로젝트에 struts.xml과 Struts2 Core Lib가 생겼습니다. 이것으로 스트럿츠2를 따라하기 위한 설정은 끝났습니다.


4. 액션 만들기
액션을 만들기 위해 test.struts2 프로젝트의 javaSrc에서 우클릭을 합니다. New > Class 메뉴를 클릭합니다. 

Package에 tutorial, Name에 HelloWorld라고 입력합니다. Interfaces에 Action을 추가합니다. 방법은 우측의 Add 버튼을 클릭하면 아래의 팝업창이 뜹니다.

action이라고 입력하면 Matching items 관련 프로그램이 서제스트됩니다. com.opensymphony.xwork2.Action을 선택하고 더블클릭 또는 하단의 Add 버튼을 클릭합니다. 

생성된 자바 프로그램을 위와 같이 코딩합니다.


5. JSP 만들기
test.struts의 www 디렉토리에서 우클릭을 합니다. New > JSP(Advanced Tem....) 메뉴를 클릭합니다.

File Name에 helloWorld.jsp라 입력하고 Finish 버튼을 클릭합니다.

<body> 태그 안에 <h2>${message}</h2> 라고 코딩합니다. JSP도 간단하군요.


6. 매핑
마이이클립스에서는 Design 모드와 Source 모드를 지원합니다. 프로젝트 test.struts2의 javaSrc 디렉토리 안에 있는 struts.xml을 열어 아래와 같이 설정합니다. 

Design 모드에서는 마우스 우클릭을 이용해서 비교적 간단하게 설정이 가능합니다. 팝업메뉴에 Child와 Attribute만 구분해주면 별 어려움이 없겠네요.

Design 모드에서 작성을 하고 Source 모드에서 확인 한 결과입니다. 영타가 빠르고 설정파일에 대한 이해가 높다면 바로 코딩하는게 좋겠죠. 저는 영타가 느려서 ㅡㅡ;;


7. web.xml 설정
위 과정을 그대로 따라했다면 web.xml 파일은 위와 같이 설정되어져 있습니다. 튜토리얼에서는 위 내용을 그래도 사용해도 무관합니다.


9. 배포하기

배포를 위해서 상단의 빨간 박스를 클릭합니다. 팝업창에서 Add 버튼을 클릭합니다. 서버 설정이 되어있지 않다면 Edit server connection...을 클릭하여 아래와 같이 설정합니다. Server는 Tomcat 6.x로 선택을 하고 Finish 버튼을 클릭합니다.






10. 톰캣 실행 및 JSP 확인
메뉴의 빨간박스를 클릭합니다. 위에서 설정해준 Tomcat 6.x가 보입니다. 서브메뉴의 Start를 클릭하면 톰캣이 실행됩니다. 실행 후에는 Start 메뉴가 비활성화되며 Stop Server 메뉴가 활성화됩니다.

프로젝트가 생성될때 함께 만들어진 index.jsp입니다.

helloWorld.jsp 최종 결과물 확인입니다. 튜토리얼은 쉽네요. 

위와 같이 따라했다면 액션의 확장자는 .action만 가능합니다. 보편적으로 사용하던 .do를 사용하기 위해서는 struts.properties 파일을 만들어서 javaSrc에 넣어줍니다. struts.properties는 struts2-core-2.1.6.jar 파일의 org.apache.struts2.default.properties 파일과 상속 관계에 있습니다.(이 표현이 맞는지 모르겠네요.) default.properties를 복사해서 넣어주어도 됩니다. struts.properties를 만들고 default.properties의 83라인에 있는 struts.action.extension=action,,를 넣어줍니다. struts2의 기본값이 action입니다. 콤마를 구분자로 사용하고자 하는 확장자 값을 추가 가능합니다. action, do....

와우~ 두시간이 걸렸네요. 너무 너무 심심한 백수라 ㅡㅡ;; 가능한 짓을 했네요. 다음번 정리는 또 언제 가능할지 모르겠네요!!
  1. 유마 2010.01.29 14:15

    안녕하세요. 현재 스트럿츠2 독학 중인 초보입니다. ^_^a 모르는게 있어서 질문 드릴려고 왔습니다. ㅜ.ㅡ
    교재 한 권을 선택해서 공부중인데 2.0.1.4 버전입니다. 저는 2.1.8.1 로 공부중인데요. 뭐, 그럭저럭 호환이 되서 공부가 진행되고 있습니다만,
    ActionSupport 클래스의 validate() 를 사용하려는데, struts.xml에 <interceptor-ref name="workflow" /> 설정해서 <result name="input">오류면 뜨는 페이지</result> <result name="success">성공이면 뜨는페이지</result> 이렇게 하는데, 아무리 해도 오류를 일부로 내도... 성공 페이지만 뜹니다. 그래서 2.0.1.4 로 해보면 잘 됩니다.

    분명, 2.1.8.1 에서는 뭔가 바뀐거 같은데 아무리 찾아보고 뒤져봐도 없네요... 어떻게 해야 되나요?



시간이 지나니 스스로 뭘 해야할지 정리가 되는 듯 합니다. 뭘 해야할지 뭘 할 수 있는지 정해져서 우선 스트럿츠2를 정리해볼까 합니다. 실무에선 아직 스트럿츠1.x가 많이 쓰이겠지만... 더군다나 SM 지향인 제겐 더 그렇겠지만 1.x는 몇 번 해본 관계로 스트럿츠2를 정리하는게 미래지향적인게 아닐까 생각했습니다. 참고하는 도서는 [스트럿츠2 프로그래밍]입니다.

목차는 다음과 같습니다. 책의 목차와 너무 같군요 ㅡㅡ;;

  1. 왜 스트럿츠2인가?
  2. 튜토리얼
  3. 설정하기
  4. Actions
  5. Interceptors
  6. Results
  7. Tags
  8. 형변환
  9. 유효성검사
  10. i18n
  11. Spring과의 통합
  12. CRUD
  13. 아키텍처
  14. Annotations
  15. 연습

소설책 읽듯이 한번 읽었는데 역시나 남는게 없는 관계로 정리하기로 마음 먹었습니다. 저는 개발툴로 이클립스를 사용합니다. 아마 대부분의 자바개발자가 그렇지 않을까 생각합니다. (넷빈즈는 왜 이렇게 사용해볼 기회가 안 생기는지 모르겠네요.) 마이이클립스 7.x 버전까지 포함되지 않았던 스트럿츠 2.x가 마이이클립스8(Development Releases MyEclipse 8.0 Milestone 1)에서 지원합니다. Struts2는 궁극적으로 설정 파일이 없는 것을 추구한다고 하니 마이이클립스의 도움을 받을 일이 얼마나 있을진 모르겠네요. 책의 튜토리얼을 따라해본 결과... 초기에 필요한 설정 파일을 잡아주고 나면... 별로 할일이 ^^

만약, 제가 점점 더 부지런해진다면... Spring, ibatis, hibernate, velocity까지 정리를 해볼까 생각중입니다. 정말 부지런해져야 ㅡㅡ;; 웹은... 자바계열은.. 이래서 힘듭니다. 할게 너무 많아요. 무개념으로 사용중인 CSS, JS, AJAX, DOM도... 포토샵, 라이트룸도 ㅠ.ㅠ..... DB는? 엥 ㅠ.ㅠ

  1. BlogIcon raymundus 2009.11.06 11:16 신고

    웹쪽과 자바쪽은 보기만 해도 어질어질 합니다.

    • BlogIcon 알통 2009.11.06 11:30 신고

      그러니까요... 어질 어질...
      한 2주 안드로이드에 관심을 가졌다가 접었습니다.
      모바일 쪽으로 전망이 있다고 생각되지만...
      초보로 일해야하는 것도 그렇고...
      그래도 만만한게 자바라 ㅋㅋ




JFreeChart로 그래프는 일단 그렸네요.
근데, 서버에 올리면 한글이 깨집니다. ㅡㅡ;;
해서 cafe24에 문의했습니다.
여기저기 찾아서 내린 결론은 서버에 한글폰트 및 설정파일이 있어야하는데 하나도 없네요.

오픈소스가 있어 참 다행이란 생각을 여러번 합니다.
하지만 오픈소스를 사용하다보면 항상 답답한 부분이 있게 마련이죠.
예전에 iReport를 사용해서 레포트를 출력했던 적이 있었는데..
그때도 한글문제로 잠깐 고생했던 기억이 나는군요.

위 그래프는, 로또의 각 회차별 당첨번호 합을 그린 것입니다.
할일도 없죠... ㅡㅡ;; (제길.......)
근데 하나 해보니 재미가 있습니다.

요즘, 웹플에 대한 흥미가 떨어져서... 
안드로이드나 자바 그래픽쪽 공부를 해볼까 고민중입니다.
웹플 7년차이지만 안드로이드나 자바 그래픽은 초짜가 되어야하는데,
아시다시피... 무림에서는 초짜를 구하지 않죠 ㅠ.ㅠ
많은 노력을 하면 되겠지만.. 인간이 또 그러지는 않죠!!
갑에겐 미안하지만... 실무에서 부딪히며 익히는게 짱!!


추신 : 역시 영어가 문제야!!






[인공지능 언어 JESS와 자바로 구현한 | 인공지능 퀘스트]

  제가 처음 프로그램이란 것에 관심을 가진것은 대학을 다닐때 놈팽이처럼 한게임 고스톱게임을 하다가였습니다.  게임을 하다 우연히 특허에 관심을 가지게 되었죠. 인터넷게임 + 스폰서에 관한 BM이었는데 혼자 열심히 준비해서 출원을 했지만... 당연히 거절됐습니다. ^^

  그것이 이상하게 발전해서 학원을 1년이나 다니면서 프로그램을 공부하는 계기가 되었습니다. HTML부터 시작해서 ASP, PHP, JAVA, JSP, SQL, LINUX 등 하루에 8시간씩 참 많은 공부를 했는데 저는 자바와 리눅스쪽으로 관심을 가졌답니다. 고개를 오른쪽으로 돌려보면 개발관련 책들이 책장 한면을 다 채우고 있네요.

  취업을 해서 웹프로그램을 하면서 C/S 프로그램에 대한 환상 비슷한 것을 가지고 있었기에 이클립스RCP, SWT/JFace에 대해 잠깐 공부를 했는데 초보자를 뽑는 곳이 거의 전무하다는 것을 알게되어 곧 포기를 하고 말았답니다. 미국같은 경우 자바로 3D 온라인 게임도 만드는 곳이 있던데 ㅡㅡ^ 우리나라에서는 요원한 일인듯 합니다.

  검색엔진은 어떨까?라는 생각에 루씬도 공부를 했지만... 너무 어려워 책을 1독도 못한체 포기를 했구요. 그러다 다시 스킬 확장 및 식어가는 프로그래밍에 대한 열정에 불을 지피기위해 구입한 책이 Jess에 관한 책입니다.

  "인공지능(AI)", 단어자체로도 많은 사람을 설레이게 만드는 단어라 생각합니다. 근데 Jess가 왜 인공지능 언어일까요? Jess로 개발하는 그 패턴대로 자바로 개발을 하면 안되는걸까요? 그리고 어차피 Jess에서도 자바를 그대로 사용한다는데... 이해가 쉽지않군요. 이상은 언어에 대한 기본적인 지식이 부족한 웹개발자의 무식한 의문사항입니다. ㅠ.ㅠ

  이 책의 목차는 다음과 같습니다.
제1장 인공지능(Artificial Intelligence,AI)이란?
제2장 Jess(Java Expert System Shell)프로그래밍
제3장 탐색 방법(Search Methods)
제4장 지능형 에이전트(Intelligent Agent)
제5장 신경망(Neural Networks)
제6장 자연어 처리(Natural Language Processing)
제7장 퍼지 시스템(Fuzzy Systems)



  현재의 각오는 이 책을 이해하기위해 필요하다면 다른 책도 볼 생각을 하고 있습니다. 필요하다면 수학책도 볼거구요. 책 분량은 450P로 그다지 부담스럽지는 않은 분량이네요. 올해가 가기까지 자바와 관련된 XML, I/O, 네트워크, 병렬프로그램정도까지 공부해볼 생각입니다. 부디 자~알 되야~ 할텐데!! Jess에 대한 내용은 공부를 하면서 꾸준히 기록을 남기도록 하겠습니다. (인터넷에 Jess관련 자료가 정말 없더라구요 ^^)


  1. BlogIcon 아루카쿄 2008.08.30 20:12

    와~ 정말 많은 언어를 공부하셨네요^^

    종종와서 jess등 다른지식들 얻어갈게요

    사진또한 일품이네요^^

    • BlogIcon 알통 2008.08.31 21:42 신고

      오늘 Jess를 좀 봤는데요, 어렵네요 ㅡㅡ;;
      Java 객체를 이용한다지만 너무 낯설어요 ㅠ.ㅠ
      소화가 가능할지 의문입니다.
      근데 잘한번 해보고 싶네요 ^^ 지식을 습득하는대로 기록하겠습니다~