본문 바로가기

쓰기

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



그렇게하면, 단일 코드로 모든 내용이 다 지나가는 경우더라도
필터로 걸러서 따로따로 처리할 수 있을것 같아서요
분류 :
Talk
조회 수 :
11941
등록일 :
2009.12.14
13:19:01
엮인글 :
https://arallab.hided.net/29915/22f/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
189 Archive [플러그인] CustomDic 0.3 20081125 [오류 =ㅅ=] [2] file Hide_D 11748   2008-11-25 2008-11-26 15:19
 
188 Talk Fixline용 텍스트 파일.... [3] file 처음처럼만 11753   2008-12-29 2008-12-30 09:02
 
187 Archive [플러그인] DenyWord 테스트 버전 20081204 [1] file Hide_D 11814   2008-12-04 2008-12-05 00:52
 
186 Archive TextFile Open/Save Library [5] file Hide_D 11830   2009-02-01 2009-02-09 00:37
 
185 Archive [소스] ATPluginFrame 프레임워크 20091220 테스트 버전 [2] file whoami 11847   2009-12-20 2009-12-22 15:56
 
184 Archive [플러그인, 소스] CmdFilter 테스트 버전 20080714 [1] file whoami 11896   2008-07-14 2009-01-06 01:36
 
183 Archive [번역툴]QuickTrans 0.0.10 RC4 [10] file HaruKaze 11899   2009-02-09 2009-03-07 20:49
 
182 OtherFiles 10MB 파일 여는데 걸리는 시간을 테스트해봤습니다. [4] file Hide_D 11922   2008-08-25 2009-01-06 01:05
 
181 Talk 히데님께 문의 해요! [2] file 라파에 11922   2008-09-21 2009-01-06 01:25
 
180 Talk 기리기리 스크립트. 원본, 작업물. file 나는누구인감? 11933   2008-10-07 2008-10-07 22:53
 
» Talk 필터도 아래에 Context를 추가할 수 있나요? [3] Hide_D 11941   2009-12-14 2009-12-14 22:18
아래에 쓰여있는게 Memory Context이긴 한데, 그냥 훅 포인트 한정으로 한개씩 주는게 아니라 제한없이 필터에서도 저 아래 '별명'을 추가할 수 있었으면 좋겠네요. 그렇게하면, 단일 코드로 모든 내용이 다 지나가는 경우더라도 필터로 걸러서 따로따로 처리...  
178 Talk ...? [3] file 북극 12001   2008-09-28 2008-12-30 08:55
 
177 Archive SimpleDLL [2] file Hide_D 12021   2009-01-07 2009-01-07 15:55
 
176 Archive [플러그인] ATCode 테스트 버전 20081203 (log 버전) [1] file whoami 12050   2008-12-03 2009-01-06 00:59
 
175 Talk 일단 필터들 수리(...) 해야겠군요 Hide_D 12115   2008-11-21 2009-01-06 01:09
CustomDic도 크진 않지만 버그가 보고된 상황이고 (진짜 버그인진 모름) DumpText도 고쳐야되고(Thread 추가) CustomScript(-_-+)도 버그가 몇군데 보이는군요. FixLine 잠시 미룹니다.  
174 Talk Small Talk + StrongRoom = New Small Talk! Hide_D 12177   2008-12-16 2008-12-16 00:06
다시 통합 완료했습니다. 카테고리는 3개로 돌아갑니다. Talk : 내용 무 Archive : 플러그인 관련 파일들이 올라갑니다. OtherFiles : 플러그인 관련은 아니지만 파일인 경우! 카테고리 작업도 완료했습니다.  
173 Archive [플러그인, 소스] Caption 테스트 버전 20081128 [11] file whoami 12253   2008-11-28 2009-01-31 23:34
 
172 OtherFiles 디코더자료. file ATlove 12323   2008-07-14 2009-01-06 01:00
 
171 Talk 아아아아앍 cmd /u !!!!!!!!!!!!!!!!!! [1] Hide_D 12323   2008-12-22 2009-01-06 00:47
cmd /? 해서 살펴보고 있는데 /u 플래그가 있었군요 /U 파이프 또는 파일로의 내부 명령어의 출력을 Unicode로 설정합니다. dir /s /b > UniDir.txt 로 했더니 UTF16-LE BOM없음으로 저장되는군요. 옴마야. 왜 모르고있었지  
170 Archive [플러그인,소스] FixLine 테스트버전 081216 file Hide_D 12340   2008-12-16 2008-12-16 13:20