델파이 한글 문서화 위키 프로젝트

그동안 작업했던 델파이 한글 문서화 위키 프로젝트를 공개합니다.
기본적으로 엠바카데로 위키와 유사한 점이 많습니다.
궁극적인 목적은 델파이 뿐만 아니라 프로그래밍에 관련된 모든 내용을 다루는 위키가 되었으면 하는 바램입니다.
혼자 작업하다 보니 아직은 문서의 양이 그리 많지는 않습니다. 참여하시는 분이 많아져서 점차 알찬 위키가 되었으면 좋겠습니다.
위키 주소는 아래와 같습니다.

델파이 위키 (http://wiki.devsearch.co.kr)


by 미노 | 2010/05/05 20:33 | 델파이 | 트랙백 | 덧글(0)

델파이에서 한글 변수, 프로시저 사용하기

언제부터인가 모르지만 델파이에서 한글 변수,프로시저,클래스를 사용할 수 있도록
지원하고 있다. 그래서 한번 한글로 변수 및 메서드, 클래스를 만들어서 테스트해 봤다.
예를들면 아래와 같다.

  번역기 = class
  public
    procedure 어절분리(const 문장: string; var List: TStringList);
    procedure 문장분리(const 텍스트: string; var List: TStringList);
    function 최적번역어(const 단어:string; List: TStringList): string;
    function 번역(const 텍스트: string): string;
    function 문장번역(const 문장: string): string;
  end;

테스트해 본 결과 몇가지 불편한 점이 눈에 띄인다.
1) 한영 전환이 불편하다.
2) 마우스+클릭으로 한글 메서드의 정의로 이동하는 기능이 잘 동작하지 않는다.
3) 한글로 된 메서드는 DUnit에서 단위 테스트가 안된다.

한영 전환 문제는 아래아 한글처럼 한영 자동 전환 애드온이 있으면 많이 해소될 것 같다.
한글 메서드에 대해 Find Declaration이 동작하는 않는 것은 IDE에서 수정해야 할 부분인 것 같다.
그리고 DUnit는 다국어를 제대로 지원하지 못하는 것 같다.

결론적으로 델파이에서 한글을 사용하는 것은 아직은 무리인 것 같다.


by 미노 | 2010/02/20 13:57 | 미분류 | 트랙백 | 덧글(0)

Delphi Prism 필드 테스트

얼마 전 엠바카데로에서 Delphi Prism 필드 테스터로 선정되었다는 메일을 받았다.
Delphi .NET이 단종되고 나서 기존에 개발했던 Delphi .NET 프로그램을 어떻게 해야
할지 고민되었는데, 이번에 Delphi Prism을 테스트해 보면서 Delphi Prism으로 옮겨갈
만한 장점이 있는지 점검해봐야겠다.

Delphi Prism 컴파일러가 Delphi와는 완전히 호환되지 않고 VCL을 지원하지도 않기
때문에 기존의 델파이 소스를 Delphi Prism으로 포팅하는 데에는 많은 수고가 필요할지도
모르겠다. 한가지 다행스러운 것은 이러한 점을 의식한 듯 RemObjects사에서 기존 델파이
소스를 Delphi Prism으로 포팅하기 위한 툴을 제공한다는 점이다.
Oxidizer 라는 툴이 그 녀석인데 아직 어느정도까지 포팅을 해주는지 확인해 보지 않았다.
기존 소스를 손싑게 포팅할 수 있고 VCL도 사용할 수 있다면 Delphi Prism도 사용해 볼만
할지 모르겠다.

(VCL 지원을 위한 ShineOn이라는 라이브러리를 따로 제공해 주기도 한다.)


by 미노 | 2010/02/15 13:54 | 미분류 | 트랙백 | 덧글(0)

올해 계획...

올해에는 델파이 관련 한글 위키 프로젝트를 완성하고자 한다.
델파이 관련 위키를 이미 몇달 전부터 작업하고 있지만 올해에 가시적인
성과가 나오도록 틈나는대로 계속 작업을 할 예정이다.

그리고 신경망과 유전자 프로그래밍에 대한 공부도 해볼까 한다.
재미있는 주제이고 잘하면 유용하게 써먹을수 있을 것도 같다...

by 미노 | 2010/01/01 13:40 | 트랙백 | 덧글(2)

BDS 2006에 Install Component 메뉴가 사라졌네...

델파이 7 버전 이후 컴퍼넌트 설치는 패키지를 기준으로 했기 때문에 잘 몰랐는데,
오늘 unit 단위로 컴퍼넌트를 설치할려고 보니 Install Component 메뉴가 보이지 않는 것이였다.
알아보니 Install Component메뉴가 없어져서 패키지 생성해서 설치해야 한다고 한다.
왜 있던 기능을 없애야 할만큼 절실한 이유가 있었을까?

한순간 당황해서 헤매고 나니 괜시리 기분이 나빠진다.

by 미노 | 2009/11/30 22:08 | 델파이 | 트랙백 | 덧글(0)

자바에 대한 공부를 시작하다.

Delphi .Net의 단종으로 인해 앞으로 검색서비스를 자바를 이용해 구축해 볼까 하고
자바를 공부하기 시작했다. 루씬과 관련된 다른 프로젝트(slor,hadoop)도 자바로 되어 있어서
자바를 한번 공부해 볼 필요성은 느끼고 있던 차였다.
90년대 자바의 초창기 때 자바로 데스크탑 어플리케이션을 만들어 볼까하고 잠시 자바를 들여다
본 이후 처음으로 자바를 다시 보게 되었다.
[Head First Java]라는 책이 편집 스타일이 아주 참신해서 구입했는데 나하고는 안맞는 것 같다.
내게는 기술 문서 매뉴얼 스타일이 더 어울리는 듯 :)
자바랑 C#이랑 비슷한 점이 많아서 배우는 데 시간은 많이 절약될 것 같다.

by 미노 | 2009/11/04 12:25 | 트랙백 | 덧글(0)

아~~ Delphi .Net 단종...

델파이 2009부터 Delphi .Net를 지원하지 않는다는 걸 얼마전에야 알았다.
그동안 RAD2006의 Delphi .Net를 이용해 색인과  검색 기능을 만들었는데
이제 어쩌란 말이냐...
Delphi .Net이 지원되는 마지막 버전이 2007이니 2007버전을 사용하든가 아니면
최신 버전에서 지원되는 Delphi Prism를 사용하는 두방법이 있지만 두 방법 모두
좋은 방법은 아닌 것 같다. Delphi Prism은 델파이와는 다른 언어이고 잎으로의 미래도
불투명하기 때문에 Delphi .Net의 대안은 되기 어려울 것 같다.

아마도 이제는 델파이을 버리고 자바를 해야할 것 같다.
루씬이 원래 자바로 되어 있고 관련 프로젝트도 자바이기 때문에 자바로 하면 여러 잇점이
있다. 그리고 서버도 윈도우즈를 사용하지 않고 리눅스를 사용할 수 있기 때문에 서버 유지
비용도 줄일 수 있을 것이다.


by 미노 | 2009/10/14 13:13 | 델파이 | 트랙백 | 덧글(0)

min hash를 이용한 유사 문서 판별 프로그램

이전에는 유사문서 판별 알고리즘으로 I-Match를 사용했는데, 이번에 shingling과 min hash를 이용해서
유사 문서 판별 프로그램을 만들었다.


위의 그림에서 알 수 있듯이 약 5500여개의 소스 파일을 대상으로 유사 문서 판별을 하는데 16분 정도 소요가 되었다.
위 결과는 메모리 해시 테이블을 이용했을 경우인데, 만일 디스크 기반 해시 방법으로 했을 때는 40분 이상 걸렸다.
대용량 문서를 고려하면 디스크 기반으로 갈 수 밖에 없는데 , 그럴 경우 디스크 I/O로 인해 시간이 훨씬 더 걸릴 수
밖에 없을 것이다. 디스크 기반 해시 알고리즘을 최적화해서 시간을 단축시켜봐야겠다.
min hash가 확률을 바탕으로 한 것이라 반복 실행시 결과가 다르게나온다는 단점이 있지만, 유사 문서 판별 결과는
무난한 편이다.



by 미노 | 2009/10/11 13:45 | 검색엔진 | 트랙백 | 덧글(1)

StandardAnalyzer에서 아쉬운 점들

Lucene에서 분석기로 가장 많이 사용하는 것이 StandardAnalyzer일 것이다.
그런데 StandardTokenizer에서 토큰으로 사용되는 기호가 몇가지 안되기 때문에
C++, C# 모두 C로 토큰처리한다. 그리고 http://www.example.com과 같은
url도 토큰으로 인식하지 못한다.
그래서 예전에 만들었던 StandardTokenizer 을 가지고 위의 요구를 만족시키는
토큰나이저를 만들었다. 그리고 기호를 시작하는 몇몇 토큰도 인식하도록 했다.
대신에 StandardTokenizer에서 인식하는 NUM형 중의 몇가지 유형은 구현의
복잡성 때문에 지원하지 않도록 했다.

이걸 색인에 적용하기 위해서는 그동안 색인된 걸 재색인을 해야하니 색인에
시간이 많이 소요될 것 같다.




by 미노 | 2009/09/08 14:40 | 검색엔진 | 트랙백 | 덧글(0)

OpenSearch를 이용해 브라우저에 검색사이트 등록

파이어폭스 주소창 오른쪽에 검색을 할 수 있는 검색 입력창이 있는데,
여기에 자신의 검색사이트를 등록할 수 있는 OpenSearch라는 표준이 있다.
먼저 OpenSearch 형식에 맞는 xml 파일을 작성한다.
예를들어 내가 운영하고 검색사이트의 경우 아래와 같이 작성하였다.

<?xml version="1.0" encoding="UTF-8" ?>
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
<ShortName>DevSearch</ShortName>
<Description>개발자를 위한 검색엔진</Description>
<InputEncoding>UTF-8</InputEncoding>
<Image width="16" height="16">http://www.devsearch.co.kr/images/favicon.ico</Image>
<Url type="text/html" method="GET" template="http://www.devsearch.co.kr/SearchCategory.aspx">
  <Param name="query" value="{searchTerms}"/>
</Url>
<SearchForm>http://www.devsearch.co.kr/</SearchForm>
</OpenSearchDescription>

그 다음에 메인페이지의 head 태그 밑에 아래와 같은 link 태그를 추가한다.
(위의 xml를 OpenSearch.xml으로 저장한 경우)

<link rel="search" type="application/opensearchdescription+xml" title="DevSearch" href="OpenSearch.xml" />

그러면 해당 사이트에 접속했을 때 브라우저의 검색사이트 드롭다운 메뉴에 해당 사이트 추가 메뉴가 나타나고
추가를 누르면 해당 사이트를 이용해 브라우저에서 검색을 할 수 있게 된다.


OpenSearch는 파이어폭스 뿐만아니라 IE도 역시 지원한다. 파이어폭스는 OpenSearch말고 MozSearch라는
자체의 표준이 있는데 , 이것은 IE에서 지원하지 않으므로 OpenSearch형식으로 만드는 게 더 좋을 것이다.


by 미노 | 2009/09/01 15:26 | 트랙백 | 덧글(0)

◀ 이전 페이지다음 페이지 ▶