본문 바로가기

쓰기

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



그렇게하면, 단일 코드로 모든 내용이 다 지나가는 경우더라도
필터로 걸러서 따로따로 처리할 수 있을것 같아서요
분류 :
Talk
조회 수 :
11941
등록일 :
2009.12.14
13:19:01
엮인글 :
https://arallab.hided.net/29915/6b9/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 [필독] 테스트필터 사용시 주의사항 라파에 155437   2008-08-03 2008-12-16 00:03
269 Talk 번역기(eztransXP)가 만드는 몇가지 문제들 - 1 [1] Hide_D 13437   2009-12-16 2009-12-16 21:32
이지트랜스가 만드는 몇가지 문제에 대해서 다뤄보려고 합니다. 우선 첫번째로 일본어의 히라가나, 또는 가타카나 한글자가 번역기로 입력될경우 결과물이 공백(length = 0)이라는 문제입니다. 이 문제는 대개 게임 엔진에서 '강제로 한글자씩 출력하는 경우'(...  
» Talk 필터도 아래에 Context를 추가할 수 있나요? [3] Hide_D 11941   2009-12-14 2009-12-14 22:18
아래에 쓰여있는게 Memory Context이긴 한데, 그냥 훅 포인트 한정으로 한개씩 주는게 아니라 제한없이 필터에서도 저 아래 '별명'을 추가할 수 있었으면 좋겠네요. 그렇게하면, 단일 코드로 모든 내용이 다 지나가는 경우더라도 필터로 걸러서 따로따로 처리...  
267 Talk 0.3에서 전국란스의 경우 [1] Hide_D 15179   2009-12-13 2009-12-14 02:10
ats파일을 만들어서 동작할경우 문제가 산넘어 산입니다. 1. 주소 문제 2. Rance7으로 바꾸었을때 AppLocale의 미묘한 작동 ㄹㅋ  
266 Talk INNODB 테스트 Hide_D 12769   2009-12-09 2009-12-09 17:01
속도 향상을 위해 INNODB로 바꿔봅니다. 테스트 개시  
265 Talk Windows7에서 0.3 현재시점으로 안돌아갑니다.ㅜ [6] Hide_D 14656   2009-12-04 2009-12-09 23:27
이유가 뭘까요  
264 Talk 고칠거? [10] Hide_D 13651   2009-11-28 2009-12-17 18:13
아랄 처음 켰을때 프로세스 먼져 보이는거 아랄만 아랄로 프로세스에 안뜬다는거. by 피시 제 덧[..] 이지트랜스 경로 지정하면 앞으론 고정해봅시다 ㅇㅇ  
263 Talk 튕기는 문제에 대해서 [6] Hide_D 13286   2009-11-26 2009-12-15 02:55
뭐 다들 아시다시피(?) 대부분의 문제는 보안툴이나 백신에 대해선 충돌하기 때문인데, 여태까지는 소극적으로 대응해왔는데 이젠 좀 적극적으로 뭐가 문제인지를 찾아봐야겠습니다. 해서 다음을 조사해서 보고서를 작성하는 프로그램을 만들어볼 예정입니다~ ...  
262 Talk [질문] Http POST전송에 대한 이것저것 [3] 호기 24751   2009-09-22 2009-09-23 08:00
에고 Hide_D님과 HaruKaze님덕에 어찌어찌 POST전송을 할수 있게 되었네요 . 다시한번 두분께 너무 감사드리고요.. 전송해서 결과는 받는것은 되지만... 내용에 궁금한것이 두가지 있어서요 이렇게 다시 질문 올립니다. 우선 POST로 Header를 전송할때 말이에...  
261 OtherFiles 0.3 설정 xml 파일 예제 [4] file 아랄 15532   2009-09-20 2009-09-21 00:12
 
260 OtherFiles [소스, 실행파일]MeCab을 독음 변환기로 사용한 예제 file Hide_D 22691   2009-09-09 2011-06-28 01:25
 
259 Archive ATPluginFrame 프레임워크 20090901 테스트 버전.. file whoami 12897   2009-09-01 2009-09-01 22:49
 
258 Talk QuickTrans2 자료 백업 file Hide_D 13246   2009-08-26 2009-08-26 02:53
 
257 Talk [소스] ConsoleTrans + 질문 [1] file Hide_D 13001   2009-08-11 2009-08-12 23:34
 
256 Archive [플러그인,소스] KiriKiri 테스트 버전 20090729 [11] file whoami 21238   2009-07-29 2009-09-13 14:57
 
255 Talk FixLine v2 길이제한 '원문 길이' 버그 Hide_D 12853   2009-07-27 2009-07-27 23:05
긴경우는 잘 동작합니다만, 원문 보다 짧은경우에는 그냥 짧은 상태로 유지가 되어서 덮어쓰기 사용시 몇가지 문제가 발생했습니다. 이건은 조만간 빈칸을 채우던가 해서 해결해야겠습니다. + 이 기능은 CmdFilter의 '원문 덮어쓰기'와 같은 기능입니다.  
254 Archive [플러그인, 소스] KiriKiri 테스트 버전 20090726 [10] file whoami 24511   2009-07-26 2009-07-28 23:52
 
253 Archive [플러그인, 소스] KiriKiri 테스트 버전 20090723 [1] file whoami 17854   2009-07-23 2009-07-23 23:38
 
252 Archive [플러그인, 소스] NonCached 테스트 버전 20090717 [1] file whoami 17949   2009-07-17 2009-07-23 23:37
 
251 Talk 정식 아랄 플러그인으로 요청하시고 싶다면 Hide_D 14234   2009-07-10 2009-07-10 18:29
원칙적으로는 관리자님께 요청하는 것이 맞지만 관리자님은 유니크 몹이시기 때문에[...] 절 부르시면 소환해 드립니다. 원클릭 서비스도 가능할지도[..]  
250 Archive [플러그인, 소스] NonCached 테스트 버전 20090709 [3] file whoami 27839   2009-07-09 2009-07-11 01:51