본문 바로가기

쓰기

아래에 쓰여있는게 Memory Context이긴 한데,
그냥 훅 포인트 한정으로 한개씩 주는게 아니라
제한없이 필터에서도 저 아래 '별명'을 추가할 수 있었으면 좋겠네요.



그렇게하면, 단일 코드로 모든 내용이 다 지나가는 경우더라도
필터로 걸러서 따로따로 처리할 수 있을것 같아서요
분류 :
Talk
조회 수 :
11941
등록일 :
2009.12.14
13:19:01
엮인글 :
https://arallab.hided.net/29915/afa/trackback
게시글 주소 :
https://arallab.hided.net/board_devtalk/29915

아랄

2009.12.14
20:44:56
네 컨테이너 DLL에서 익스포트 하고있는 CreateTransCtx 함수를 써서 충분히 가능합니다.
물론 플러그인 언로드 될 땐 DeleteTransCtx 를 호출해서 자신이 만든 컨텍스트를 지우시고요.
모든 Algorithm 타입의 플러그인이 현재 위의 방식을 사용합니다.

Algorithm 타입이라도 특별한건 없고 컨텍스트를 하나 이상 생성하고 그것을 소비(?)하는 종류의 모듈입니다.
오히려 번역 객체의 인터페이스들을 구현해야하는  필터나 번역 플러그인보다 간단한 구조입니다.

요약하자면 구현상 복잡성은
Algorithm Plugin < Filter Plugin = Translator Plugin
이렇게 됩니다.
필터 / 번역기의 구분은 플러그인의 성격을 직관적으로 나타내기 위한 것일 뿐 구조는 완전 같습니다.

Hide_D

2009.12.14
21:43:44
CreateTransCtx와 DeleteTransCtx를 컨테이너가 [모두] 담당하고, 알고리즘 류에서 단지
대상을 지정만 하는 구조였으면 어땠을까 하는 생각도 해봅니다.

기존 0.2에서 보듯이 대부분의 문자열에 동일한 처리를 해줘도 상관 없는 경우가 대부분이었으니까요

ex : Main이라는 Context를 만들어서 세팅을 한뒤
ATCode의 모든 훅 지점을 Main으로 연결한다.

아랄

2009.12.14
22:18:20
네, 히데님도 같은 생각을 하셨군요 ^^
사실 두 방식을 두고 꽤나 고민을 했는데..
나름 장단점이 있습니다.
말씀하신 것처럼 컨텍스트를 사용자가 임의로 생성시켜서 링크하려면
모든 알고리즘 류의 플러그인은 현재 컨텍스트를 열거하는 기능을 가져야 하고, 컨테이너 또한 나름의 구조체를 정의해서 이를 넘겨줘야합니다.
또한 사용자가 삭제하려는 컨텍스트가 현재 어떤 알고리즘에서 사용중이라면 삭제하기 전에 이를 또 통보해줘야 하니 인터페이스가 좀 복잡해 지겠죠.

물론 이 방식은 더 논리적입니다. 말씀하신대로 번역하는 통로가 하나만 있으면 되는 경우 Main 하나만 설정하면 되니까요 ^^
논리성과 단순성 사이에서 저울질하다 현재 채택한 방식이 이겁니다. ㅜㅜ
더 좋은 아이디어가 생각나면 한번 논의해보죠.
List of Articles
번호 제목 글쓴이 조회 수sort 추천 수 날짜 최근 수정일
공지 Talk [필독] 테스트필터 사용시 주의사항 라파에 155439   2008-08-03 2008-12-16 00:03
289 Talk [질문]번역플러그인에서 필터후처리로 넘어갈때.. [1] 호기 13282   2009-12-19 2009-12-19 03:08
우선 0.3 출시 축하드리고요...^^마침 전국란스 깔려 있어서 테스트 해보았는데... 음 실행 파일 해시가 안맞는다고 나오네요.. 머 이거야 제가 호환되는 버전의 전국란스를 다시 설치하거나 혹은... 이 실행파일 버전을... 추가등록시켜주시던가 하면 될거 같...  
288 Talk [아랄0.3] 후킹주소 추가하고 번역인자 선택시 오류인지 [3] 암흑마제 13263   2009-12-21 2009-12-21 23:22
아랄// 아랄님 ^^ 0.3 실행하여 0.2에서 찾은 코드로 적용을 할려고 하니 문제가 있는 듯 하네요 뭐냐면 후킹주소 넣고 번역인자 추가했을때 한 후킹주소에 번역인자가 2개가 있는 경우가 더러 있잖아요 그때 처음 인자 말고 두번째 인자는 무조건 아무것도 ...  
287 Talk QuickTrans2 자료 백업 file Hide_D 13246   2009-08-26 2009-08-26 02:53
 
286 Archive [플러그인] FixLine 테스트버전 081230 [4] file Hide_D 13238   2008-12-30 2008-12-31 00:39
 
285 Talk [소스] ConsoleTrans + 질문 [1] file Hide_D 13001   2009-08-11 2009-08-12 23:34
 
284 Archive [플러그인,소스] KoFilter 테스트 버전 20081119 file whoami 12902   2008-11-19 2009-01-06 01:10
 
283 Talk 정음 글로벌 2005에 내장된 번역기 [5] Hide_D 12901   2008-11-09 2008-11-09 15:24
ezTransXP보다 좀더 좋아보이네요. 특히 구어표현이 훨씬 낫네요 단순 후커사전 제보 문장들 중에 절반은 수정이 필요없을정도  
282 Archive ATPluginFrame 프레임워크 20090901 테스트 버전.. file whoami 12897   2009-09-01 2009-09-01 22:49
 
281 Talk 아나 ㅅㅂ VS2008 안쓸랍니다. [5] Hide_D 12867   2009-04-02 2009-04-03 21:16
제컴이 ㅄ인지 설치할때 ㅄ이 된건진 잘 모르겠는데, 쓰기 갑갑해 미치겠습니다ㅣ -_-; Visual Studio 2008 SP1입니다. 자주 발생하는 현상이 예를 들어 int j=0; for(int i=0;i<28;i++) { j+=i; } for(int i=0;i<28;i++) { j+=i; } _wsprintf(L"%d",j); 요런 ...  
280 Talk FixLine v2 길이제한 '원문 길이' 버그 Hide_D 12853   2009-07-27 2009-07-27 23:05
긴경우는 잘 동작합니다만, 원문 보다 짧은경우에는 그냥 짧은 상태로 유지가 되어서 덮어쓰기 사용시 몇가지 문제가 발생했습니다. 이건은 조만간 빈칸을 채우던가 해서 해결해야겠습니다. + 이 기능은 CmdFilter의 '원문 덮어쓰기'와 같은 기능입니다.  
279 Talk 아무나 rc 파일 좀 만들어 주실분 안계세요? [2] Hide_D 12831   2008-07-19 2008-07-19 22:41
대충 이렇게 생겨먹었습니다. ┌──────────────────────┐│                      ││ □사용자사전사용             ││  경로 - ○ 게임폴더ATDataCustomDic.txt ││      ○ 사용자정의 |       |...|││    ...  
278 Talk [오류보고]ATcode 버퍼크기 무시 버그 [1] file HaruKaze 12813   2008-12-18 2009-01-06 00:56
 
277 Talk 한글 조사 처리 [1] Hide_D 12783   2009-05-23 2009-07-08 22:03
기본적으로 맨 마지막 글자를 보고 받침이 붙느냐 안붙느냐를 처리하게 되는데, 일단 쓰여있는 방법은 http://winp.egloos.com/1917711 http://ttongfly.net/zbxe/?document_srl=45333 걍 맨 뒷글자를 일일히 확인하는 방법이다. 그런데 뒤에 있는 문서의 글자...  
276 Talk INNODB 테스트 Hide_D 12769   2009-12-09 2009-12-09 17:01
속도 향상을 위해 INNODB로 바꿔봅니다. 테스트 개시  
275 Talk 프로그램 종료시 OnObjectClose, OnPluginClose 가 불리지 않나요? [2] whoami 12736   2009-12-23 2009-12-23 22:27
ATPluginFrame 을 테스트중에 발견한건데, 후킹된 프로그램을 그냥 종료할 때 OnObjectClose 및 OnPluginClose 가 불리지 않는 것 같은 인상이 있군요? MessageBox 도 뜨지 않고 file 로 log 를 뽑아봐도 나오지 않는데.. 실제로 불리지만 프로그램이 종료되면...  
274 Archive [플러그인] ATCode 테스트 버전 20081203 (log 없는 버전) file whoami 12734   2008-12-05 2008-12-05 23:06
 
273 Talk [질문] 번역플러그인에 관해... [2] 호기심맨 12729   2009-01-06 2009-01-06 09:12
Aral을 하다보면 한번 번역된 문장은 다시 번역하지 않고 예전에 번역된 결과값을 다시 쓰잖아요.... 궁금한건 이부분을 Aral본체가 하는것인지.... 아니면... 번역플러그인이 해주는 것인지이거든요.. 그러니까 번역플러그인을 만들려면.... 저 처리를 번역플...  
272 OtherFiles vs2008 - Remote Debugging file 아랄 12710   2008-10-13 2008-10-13 23:55
 
271 Archive [플러그인, 소스] CmdFilter 테스트 버전 20080807_2 file whoami 12660   2008-08-07 2009-01-06 01:26
 
270 Archive [플러그인, 소스] CmdFilter 테스트 버전 20080715 file whoami 12650   2008-07-15 2009-01-06 01:00