본문 바로가기

쓰기

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



그렇게하면, 단일 코드로 모든 내용이 다 지나가는 경우더라도
필터로 걸러서 따로따로 처리할 수 있을것 같아서요
분류 :
Talk
조회 수 :
11941
등록일 :
2009.12.14
13:19:01
엮인글 :
https://arallab.hided.net/29915/a24/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 [필독] 테스트필터 사용시 주의사항 라파에 155441   2008-08-03 2008-12-16 00:03
169 Talk 필터 3개 커밋 완료했습니다. [2] Hide_D 9263   2008-08-11 2009-01-06 01:06
HK2FK KoFilter TextDump whoami님이 안하셨길래 대신; RLCMD는 해도 괜찮을 것 같긴 한데, 이건 안하나요?  
168 Talk RLCmd, KoFilter 의 디버그 로그 기능에 대해.. whoami 9246   2008-07-26 2009-01-06 01:26
슬슬 RLCmd와 KoFilter 의 테스트버전 딱지를 떼어줘야겠는데요, 디버그 로그 기능을 뺄까 그냥 놔둘까 생각중입니다. 어떻게 하면 좋을까요? 1. 필요하므로 그냥 놔둔다. 2. 없애고 로그기능만 넣은 디버그용 로그 필터를 하나 새로 만든다.. (단 디버그용 로...  
167 Talk ATCode 버전업에 대해 - 관리자님 봐주세요.. [1] whoami 9241   2008-07-26 2008-07-27 02:35
오랫동안의 (.. 그리 오랫동안은 아닌 것 같은 기분도 들지만) ATCode 테스트 버전의 테스트로 SOW 모드가 어느정도 안정이 되었다고 생각됩니다. 그래서 기존 ATCode 에 융합해서 버전업을 하고 싶은데 어떻게 했으면 좋겠습니까? 그냥 SVN 내에서 커밋만 하...  
166 Archive [플러그인, 소스] ATCode 테스트 버전 20080911 [3] file whoami 9210   2008-09-11 2009-01-06 01:01
 
165 Archive [플러그인] OutRuby 테스트 버전 20081012 file Hide_D 9206   2008-10-12 2008-10-12 11:30
 
164 Talk Windows 7, UAC, 64bit Hide_D 9107   2011-04-24 2011-06-28 01:25
사실상 요새 구입하는 '최신형' 컴퓨터들이 갖는 세팅이 Windows 7 64bit에다가 UAC를 기본값으로 두고 사용하는 방식인데, 기존 아랄트랜스가 여기에 대응하지 못하는 부분이 많습니다. Windows 7 - 사실 이게 제일 속편합니다. 이거 자체로는 문제되는 부분...  
163 Talk whoami님 [3] Hide_D 9072   2008-07-18 2008-07-18 21:25
아래에 만든 플러그인이 에러가 납니다. 맨 처음에 만들었던 개발모드가 풀유니코드로 작성되어있고, 이녀석이 그냥 돌릴땐 잘 돌아가길래 그냥 Ctrl+C, Ctrl+V 해주고, 위 아래에 Ansi -> Unicode Unicode -> Ansi만 붙여넣은 거라 아무래도 변환부에 문제가 ...  
162 Archive [플러그인, 소스] FixControlCharactor 20080817_2(테스트버전) file Hide_D 9034   2008-08-17 2009-01-06 01:01
 
161 Talk 비주얼베이직에서의 Hash값 생성 코드 작업 file HaruKaze 9022   2009-01-05 2009-02-14 11:04
 
160 Archive [플러그인,소스] EzTransXP with 사용자사전플러그인(테스트 버전) 20080721_2(추가수정) file Hide_D 9014   2008-07-21 2008-07-21 16:47
 
159 Archive [플러그인, 소스] ATCode 테스트 버전 20080724_2 [1] file whoami 8960   2008-07-24 2009-01-06 01:27
 
158 Talk http svn을 운용하는건 어떨까요? [3] 아랄 8950   2008-07-20 2009-01-06 01:35
몇몇 개발자 분들께서 열악한 버전관리 환경 속에서도 플러그인을 개발하시는데 조금이나마 도움이 되고싶네요 소스는 svn상으로 함께 공유하며 자발적으로 개선해 나갔으면 하는데요 현재 기존의 플러그인에서 분기되거나 또는 아랄트랜스 기본 기능에 넣고 ...  
157 Archive [플러그인, 소스] FixControlCharactor 20080817_3(테스트버전) file Hide_D 8928   2008-08-17 2009-01-06 01:01
 
156 Archive [플러그인, 소스] RLCmd 20080728 file whoami 8913   2008-07-28 2009-01-06 01:26
 
155 Archive [플러그인, 소스] ATCode 테스트 버전 20080722 [2] file whoami 8908   2008-07-22 2009-01-06 01:27
 
154 Talk 전에 쓸모 있는 기능의 2번 관련 Hide_D 8860   2008-07-31 2009-01-06 01:00
whoami님이 생각하시는 것 처럼 정규식도 생각은 해봤는데, 이건 저로서는 무리고 =ㅅ=; 저거 비스무~리 하게 와일드 카드만 사용 할 수 있는 모델을 게획해 봤는데, '이걸 만들어야 할지 말아야 할지' Hide_D는 연습장에 적힌 내용을 소환했다. > 문장의 시작...  
153 OtherFiles 히데님께! 디카포2의 헥스코드 모음 입니다. [2] file 라파에 8846   2008-08-17 2008-08-17 16:10
 
152 Archive [플러그인, 소스] FixControlCharactor 20080816_2(테스트버전) file Hide_D 8836   2008-08-16 2009-01-06 01:01
 
151 Talk SOW 방식 지원 ATCode 플러그인 소스 커밋하였습니다.. [2] whoami 8829   2008-07-27 2008-07-27 21:12
빠진 파일은 없을겁니다; 버전 정보는 손대지 않았습니다. 버전 정보 업데이트 해주시고.. 혹시라도 문제가 있으면 알려주시기 바랍니다. (개인적으로는 아랄님 자주 보고 싶은데 덧글 하나 없이 대화방에도 없이 스리슬쩍 사라져 버리셔서 아쉽.. ㅡ.ㅡ)  
150 Archive [플러그인, 소스] RLCmd 20080802 [1] file whoami 8818   2008-08-02 2009-01-06 01:00