728x90
반응형

얼마전에... 얼마전이더라?

 

잠깐 언급한적 있다. 원래 나란 놈이 오픈소스라는 거 좋아라 한다고...

 

삽질 중독 재활 센터를 쓰면서 고민한게 한가지 있다.

 

정규식이라는 걸 곧 소개할텐데...

 

"이걸 어디서 쓰라는거냐?"

 

요게 제일 문제였다. 아주 오래전에 쓴 정규식 이야기에서는 UltraEdit란 놈을 소개했다.

 

지금도 그 생각엔 변함이 없다. 조금 빡센 작업을 하려면 UltraEdit에 심어져 있는 정규식 모듈을 쓰는게 좋다고...

 

근데...

 

욕심이 한가지 생겼다. UltraEdit와 다르게 그냥 편하게 쓸 수 있는 정규식 편집기를 하나쯤 내 이름 달고 만들어 '주고' 싶다고...

 

그래서 3일전에 시작했다.

 

'대두족장 정규식 편집기 프로젝트'

 

뭐, 공짜다...

 

오픈소스 개념 이해 못하는 사람은 '왜 공짜일까?' 식의 생각을 할지 모르지만...

 

걍 공짜니까 맘대로 갖다 쓰라는 말로 이해하면 된다. 물론, 오픈소스(Open Source)니 만큼 소스도 공개된다. 뒤집어서 다른 뭔가 만들고 싶으면 그래도 된다. 아직, 초기 단계라 언제 베타~틱한 놈이라도 공개될지 모르지만... 조만간 블로그에 소스와 함께 공개될 예정이다. 삽질 중독 재활 센터 원고에서 패턴 인식 나가기 전에 공개할 예정이니까 아마 '곧' 대충 쓸만한 놈으로는 나올 거다.

 

글타고 너무 기대는 하지 마시고... 나란 놈이 원래 user-unfriendly 한 소프트웨어 만들기로 오픈소스계에서도 유명(?)하다.

 

'니가 배워서 쓸 생각 없으면 관두라'는 식의 게김성 개발 마인드를 가진놈이기 땀시^^

 

네오 때도 썼던 '네오보드'란 게시판의 새 버전을 외넘들한테 공개했을 때다. (이 버전은 아쉽게도 네오퀘스트 사이트에 적용되지 못했다ㅡ.ㅡ)

 

역시 오픈소스였는데... 어떤 외넘이 메일을 띄웠다. 문서가 부실해서 설치하기 어렵다고... 아주 쉬운말로 '한 마디'로 설명해줄 수 없겠냐고 물어봤다...

 

딱 한마디 했다.

 

"Nope."

 

나 그런 놈이니까^^ Support는 크게 기대하지 마시고... 스스로 공부해서 써볼 생각이 있는 분만 '기대'해도 좋을 듯 하다.

 

'대두족장 정규식 편집기'가 할 수 있는 일은 다음과 같다.

 

현재 틀만 잡아놓은 상태기 때문에 무쟈게 허접한 모습으로 보이지만...

 

완성돼도 저 모습 어디 안간다 ㅋㅋ

 

나 원래 프로그램 뽀다구보다 기능에만 신경 많이 쓰는 놈이라 그렇다.

 

뽀다구가 마음에 안드시면... 어쩔 수 없다 :-)

 

 


 

 
 
메모장 수준의 텍스트 편집기능 제공한다.
아직 텍스트 편집기에는 정규식 찾고 바꾸기 기능이 들어가 있지 않다.
1차적으로 텍스트 편집기에도 메모장이나 워드패드의
단순한 찾고 바꾸기가 아닌 정규식을 쓸 수 있는 찾고 바꾸기 대화상자를 제공할 생각이다.
2차는... 갈지 안갈지 모른다. 나이가 워낙 많이 먹다보니 귀차니즘의 압박 장난 아니다.
게다가 아내가 '귀차니스트'다보니 전염성인지...
우좌지간에... 2차까지 안갈지도 모르지만 간다면...
UltraEdit처럼 디렉토리->하위디렉토리를 돌며 원하는 파일을
통째로 정규식 찾고 바꾸기 할 수 있는 batch 기능을 삽입할까 한다.
 


 

 
에.. 요건 정규식에서 활용할 수 있는 기본 도움말 화면 되겠다.
욕심같아선... 매크로 기능까지 넣어서 자주 쓰는 정규식을 저장해놓고
원할때 불러다 쓸 수 있게 하고 싶은 마음도 있다.
또, 정규식 편집기를 넘어 기본 정규식을 공부할 수 있는 툴로도 쓸 수 있도록
기본 tutorial set을 집어넣어 테스트할 수 있게 하고 싶은 욕심도 있다.
근데... 귀찮다... 지금은^^
그래서 어디까지 도움말을 확장할지는 나도 모르겠다.


 

 
요건 완성된 기능이다. 얼마전 소개했던 cwkBatchFileRenamer란 프로그램의
모듈을 그대로 옮겨온거라 지금도 쓸 수 있다.
정규식이란 거로 뭘 할 수 있는 지 '삘'을 느낄 수 있을 거다.
파일 이름을 수십개, 수백개 불러 들여 한꺼번에 바꿀 수 있는 모듈이다.


 

 
예를 들어, 24라는 드라마의 시즌 4, 24개 에피소드 영어 자막을 구했다 치자.
근데 자막 파일의 이름이 마음에 안든다. 윈도우 탐색기에서 바꾸려니 24개를 언제 다 바꾸냐 싶다.
그럴때 쓰면 된다. Open Files 버튼 눌러서 이름 바꾸고 싶은 파일을 통째로 불러온다.
그리고 Find/Replace 창에 정규식 찾고 바꾸기를 한다.
4x01 부분을 -> ' - Season 4 - Episode 01 - ' 로 바꾸는 정규식을 적용중이다.
저 정규식 보고 시껍하지 마시라. 앞으로 '패턴 인식'에서 배울 내용이다.
그거 배우고 나면 별거 아니다.
 


 

 
해당 정규식 적용하고 나면 24개 에피소드가 자동빵으로 위 그림처럼 바뀐다.
저거 손으로 하려면... '파일 갯수 x 삽질 횟수'의 공식이 적용된다.
요 상태에서는 아직 파일 이름을 바꾸지 않는다. Go 버튼 눌러야 바뀐다.
 
 
패턴 인식 부분의 원고는 앞에서도 말했듯이 UltraEdit 또는 지금 소개한 '대두족장 정규식 편집기'를 통해 테스트해볼 수 있다. '대두족장 정규식 편집기'는 원고가 아니더라도 걍 당분간 개인적으로도 쓸 요량으로... pet project로 취미삼아 진행할 예정이다.
 
오픈소스라는 게 늘 그렇듯...
 
아무것도 더 이상 약속은 못한다.
 
어느 순간 하기 싫어지거나 여의치 않으면 중단할 수도 있다.
 
근데...
 
최소한 원고를 테스트해볼 수 있는 단계까지는 만들어 '드릴' 생각이다.
 
뭐, 오랫동안 프로그래밍을 쉬어서 요 부분에서 녹을 털어내야 할 것도 같고...
 
개발 귀차니즘을 몰아내기 위한 한가지 방편으로 블로그에 소개한다.
 
그래야 책임감이 찔끔이라도 생기니까 :-)
 
ps. 혹시라도...
 
소스에 관심갖는 분이 있을까봐...
 
소스는 Python 이고, 공개는 소스/윈도우 독립 executable + Python 라이브러리 모듈로 할거다. 뭔소리랴... 하시는 분은 소스 공개는 신경 꺼도 된다^^
 
ps2. 프로그램은 블로그의 Regex Editor Prj. 라는 카테고리에 공개되고 버전업도 이 카테고리를 통해서만 진행된다.
728x90
반응형
블로그 이미지

nineDeveloper

안녕하세요 현직 개발자 입니다 ~ 빠르게 변화하는 세상에 뒤쳐지지 않도록 우리모두 열심히 공부합시다 ~! 개발공부는 넘나 재미있는 것~!

,