[eclipse] Aptana Support for Jindo
얼마전 네이버에서 공개한 자바스크립트 프레임워크인 Jindo의 Aptana 스튜디오 플러그인을 공개한다.
설치하기
이번 플러그인은 별도의 업데이트 사이트를 제공하지 않을 생각이다. 아래 플러그인을 다운로드 받아서 "Aptana 설치경로/plugins" 폴더에 복사해서 설치를 완료한다.
- 플러그인 다운로드: com.naver.jindo.1.2_1.2.1.00001.jar
- 참고: 최신 버전의 eclipse에 Aptana 플러그인을 설치한 환경에서는 설치되지 않는다고 함 (아직 확인하지 않았음). Aptana 스튜디오를 이용하자.
사용하기
정상적으로 설치가 끝났다면 프로젝트 생성 단계에 아래와 같이 Jindo가 추가됐음을 볼 수 있다.
<그림1> 프로젝트 생성 - 라이브러리에 Jindo가 추가되었다.
프로젝트가 생성되면 기본 샘플 파일과 함께 Jindo 라이브러리가 추가되었다. sample.html 파일을 통해 기본 샘플을 실행해볼 수 있다.
<그림2> 생성된 프로젝트 - 추가된 라이브러리와 샘플 파일
이제 Jindo 라이브러리에 대해서 자동완성이 지원된다. 이때 jsdoc도 함께 보여준다.
<그림 3> Jindo에 대한 자동완성과 jsdoc 표시
문제점/개선사항
-
jsdoc 한글 깨짐: Aptana 스튜디오의 오류가 명백한데 jindo.all.js 파일을 열어둔 상태에서는 jsdoc의 한글이 제대로 표시되지만 파일을 열지 않은 상태에서는 한글이 깨진다. 불편하더라도 jindo.all.js 파일을 열어두고 작업해야 한다. 역시 외국애들이 만든 프로그램은 인코딩 때문에 애먹게 되어있다.
<그림 4> jsdoc의 한글 깨짐 문제
- 명령어 체인 자동완성 오류: 마찬가지로 Aptana 스튜디오의 지원 문제로 보인다. 명령어를 길게 체인으로 늘여놓으면 엉뚱한 자동완성 목록을 제공한다.
- 불친절한 샘플 제공: Samples 뷰를 통해서 다양한 샘플을 제공할 수 있다. 내가 샘플을 만들고 있을 수도 없는 노릇이고, 나중에 Jindo 프로젝트에서 풍부한 샘플을 제공한다면 추가 가능하다.
<그림 5> 다양한 라이브러리의 샘플을 제공하는 Samples 뷰
마치며
자바스크립트(JavaScript) 개발환경 확장하기에서 소개한 방식 중 지금 시점에서는 가장 타당한 방법으로 판단되기에 Aptana 스튜디오를 확장했다. 엄청 기대하고 작업했는데 생각보다 구조가 간단해서 자바 코드 한 줄 없이 추가할 수 있었다. 플러그인 이름과 버전 형식은 이클립스 플러그인의 규칙을 어긴 방식이지만, 기존 Aptana의 자바스크립트 라이브러리 플러그인의 규칙을 따랐다.
『프로그래밍 jQuery』서평 정리
2008년 가장 기억에 남는 일은 프로그래밍 jQuery의 번역이다. 그래서 남들은 이 책에 어떤 평가를 내렸을지 궁금하기도 하고 검색해봤다. 구글 검색해서 10페이지 정도 뒤져봤는데 악플보다 무서운 건 무플이라고 구입관련 내용 등은 많지만 책에 대해 평가한 글을 별로 찾지 못했다. 그래도 검색해서 나온 서평들을 보면 선방한 것 같아서 다행이다. 보통 자신이 한 일에 대해서 잘한 점 보다는 부족한 점을 보게되기 때문에 개인적으로는 아쉬운 점이 더 많지만 개인적인 평가는 논외로 둔다.
서평1: Monaca 블로그
참고로 MonaC님께는 내가 책을 보내드렸으니 공정한 서평인지 여부는 알아서 판단하자.
읽을만하게 번역한 것만으로도 번역은 좋다고 할 수 있지만, 문장을 읽어도 왠지 머리속에 잘 안들어오는 부분도 군데군데 있다는 건 흠이라면 흠.
서평2: Extremely Agile 블로그
마찬가지로 프로그래밍 jQuery가 나온 인사이트 출판사에서 "불확실성과 화해하는 프로젝트 추청과 계획"을 번역한 분의 블로그이니 공정성 여부는 알아서 판단하자.
jQuery가 오랫만에 만나는 잘 짜인 라이브러리라고 한다면, 이 책은 그야말로 오랫만에 읽어보는, 모든 면에서 균형이 잘 잡힌 책입니다. 번역까지도요.
서평3: 권남님 블로그
책도 좋고, 번역자들이 얼마나 고생했는지도 눈에 보인다.
서평4: YES24 도서 서평
이 분은 번역 상태에 대한 언급은 없지만 적어도 못 읽겠다라는 소리는 없다.
이번에 jQuery를 공부하면서 이 책과 비슷한 시점에 다른 출판사에서 나온 2책을 모두 사봤는데...
이 책이 정리가 좀 더 체계적이고 설명이 잘 되어있습니다.
다만 예제가 좀 부족하다는 생각이 듭니다.
반면 다른 출판사에서 나온 책은 정리는 좀 부족하지만, 예제는 좀 더 풍부한 편입니다.
만약 여유가 된다면 이 책을 먼저보고 다른 책도 같이보면 jQuery를 활용하는데 도움이 될듯 싶네요.
서평5: 알라딘 한 줄 서평
역시 번역에 대한 언급은 없다.
jQuery에 대해 핵심적인 부분만 잘 집어낸 유용한 책이었다.
자바스크립트(JavaScript) 개발환경 확장하기
얼마전 지인으로부터 질문을 받기도 했고, 마침 이런 저런 호기심에 조사 중이었던지라 eclipse의 자바스크립트(JavaScript) 개발환경을 확장할 수 있는 몇 가지 가능성에 대해서 정리한다. 자신만의 자바스크립트 개발환경으로 확장하고자 하는데 시작점이 될 수 있으면 좋겠다. 개인적인 호기심이 커져서 실제 개발환경 확장까지 이어진다면 "확장방법"에 대해서 다루겠다. 개발의 흥미로 본다면 "방법2"를, 완성도로 본다면 "방법1"을 취하는 것이 현재로서는 좋아보인다. 여기서는 자신만의 라이브러리를 지원하는데 가장 기본이 되는 "자동완성"에 대해서만 고려했다.
방법1: Aptana 스튜디오 확장하기
가장 먼저 찾아본 방법은 이미 풍부한 자바스크립트 개발환경을 갖추고 있는 Aptana 스튜디오를 확장하는 방법이다. "스튜디오 확장하기(Extending Studio)" 포럼에 가면 소스코드를 내려받는 방법부터, 확장에 관한 다양한 주제로 논의가 이뤄지고 있다.
장점
- 기존의 풍부한 Aptana 개발환경에 숟가락만 올리면 된다. Aptana가 기존 다른 라이브러리를 지원하기 위해서 하는 코드 패턴을 흉내낼 수 있다.
단점
- eclipse 3.2 기반이다. eclipse 3.4에 설치하는 방법이 있기는 하지만 불안전하다. 윈도 버전은 그나마 낫지만 맥용 버전에서 도는 부채는 어떻게 하야할런지.
- 정적인 목록의 자동완성. 컨텍스트를 인지하지 못한체 정적인 함수 목록만을 지원한다.
방법2: JSDT 확장하기
eclipse 3.4 Ganymede와 함께 배포된 WTP 3.0에는 자바스크립트 개발 환경(JavaScript Development Environment, JSDT)이 포함되어 있다. 자바 개발환경의 인프라를 최대한 흉내내겠다는 목표를 가지고 있다. 마찬가지로 이미 다른 라이브러리를 위한 확장점을 정의하고 있다.
장점
- JSDT의 최대 장점은 컨텍스트를 인지한다는 점이다. 즉, 현재 사용되고 있는 상황에 맞는 함수목록을 제공할 수 있다.
- eclipse 공식 프로젝트이다. 앞으로도 계속 개발되고 안정화 될 것이다.
단점
- 성숙되지 않은 환경. JSDT 환경 자체에 대한 문서도 거의 없고, 확장에 대한 설명은 더욱 없다. 아직 성숙되지 않은 환경인 탓에 알 수 없는 문제가 발생할 가능성이 크다.
방법3: WTP에 정적인 목록 추가 삽입하기
jQueryWTP 프로젝트에서 이용하는 방법으로 기존 WTP의 자동완성 목록에 자신의 라이브러리용 자동완성 목록을 삽입한다. 별도의 이클립스 플러그인이 아니라 기존 WTP 플러그인에서 자동완성 목록만 대체하는 방법을 취한다. 세 가지 방식 중에서 가장 형편없는 방법이겠지만 당장 자신의 라이브러리는 지원해야겠고, eclipse를 확장하기에는 부담스럽다면 선택할 수 있는 방식일거다.
장점
- 별다른 어려움 없이 정적 목록만 추가하면 되는 간단한 작업일 것이다.
단점
- 플러그인이 아니라 WTP를 수정하기 때문에 WTP 버전업 등에 매운 민감한 영향을 받는다.
- 자동완성 지원 이외에 아무런 확장 여지가 없다.
자바 역컴파일러(Java Decompiler) - JD GUI
자바 역컴파일러(Java Decompiler)인 JD-GUI이다. 윈도, 리눅스, 맥용 배포판이 제공된다. 빠른 속도를 위해서 코어 부분은 C++로 작성되었다고 한다. 역컴파일러라고는 JAD 밖에 몰랐는데 이게 Java 1.4 이후 버전에 대한 지원 소식도 없고, 더 이상 최신버전도 나오지 않는다. 그래서 구글 검색한 결과 당당하게 JAD 다음순서를 차지하고 있더라.
SVN 저장소에서 내려받은 소스 코드가 일부 누락되어 전체 빌드가 깨지기에 이 문제를 해결하기 위해서 역컴파일러를 찾아봤다. 근데 이게 Annotation을 포함한 코드 역컴파일을 기가 막히게 지원한다. 아직 복잡한 코드에 대해서 테스트해보지 않았지만 현재로선 덕분에 빌드에러도 잡았다. 이런 기술의 발전과 함께 생각해볼 문제로 정말 외부에 알려져서는 안될 중요한 내용을 담고 있다면 코드 난독화(Code Obfuscation)는 필수이다.
JD-Core와 JD-GUI로 구분되어 있는 것 같은데, 둘간의 결합도가 높지만 않다면 이클립스 플러그인으로 통합해도 괜찮겠다는 생각이다. 근데 JAD지원 플러그인인 jadclipse 처럼 이미 지원되고 있지 않을까? 검색 후 내용을 추가한다. 역시나 비슷한 생각을 하는 사람이 많은지 JD-Core를 공개해서 커맨드라인 등에서 동작하게 해달라는 요청이 쇄도하고 있다.
2009년 신년 계획
이제 20대의 마지막 해이다. 서른이라는 단어가 그리 거북하게 다가오지는 않지만 그래도 이제 즉흥적이기보다는 계획적이어야 겠다는 생각이 든다. 기술적인 목표치도 있겠지만 이번에는 그런것들 말고 기본적인 자세 같은 것들을 몇 가지 정리하고 고쳐야할 문제들은 고치려고 한다. 사실 신년 계획이라기보다는 자기 반성에 가깝다.
근태 악순환 끊기
2008년에는 최악의 근태를 기록했다. 지각하지 않은 날은 자랑이라도 하곤하니 말 다했다. "다른 회사보다 30분 먼저 그리고 30분 늦게"가 도전하는 벤처로서 회사의 긍지라고 생각하는 듯 하다. 전혀 동의하지는 않지만 적어도 미리 알고 있던 내용이고 서로 합의했다는 점에서 지각의 핑계가 되지는 않을 것이다.
사실 사업부 체제로 변경되면서 회사에서 맡은 일에 매우 만족하지 못하고 있고, 항상 정체되고 무언가에 쫓기는 느낌속에 살고 있다.
이미지 출처: http://www.flickr.com/photos/vincepal/2996132444/
덕분에 집에오면 무언가 학습하고 자기 계발해야 한다는 암시속에 늦은 시간까지 무리하는 경우가 잦고 (이렇게 무언가 해봐야 잘 되지도 않는 걸 알면서 ...), 덕분에 아침에 간신히 일어나 출근하고 오전시간을 멍하니 보내기 일쑤다.
2009년에는 충분히 자고 지각하지 않으며 오전에 맑은 정신으로 업무를 보고 덕분에 야근하지 않고 정시퇴근하는 생활을 하려고 한다. 쫓기는 기분이 내게 도움을 주는 건 하나도 없음을 상기해야겠다. 이런 악순환의 고리만 끊는다면 시간은 저녁에도 충분히 있다. 몰입(flow) 상태에 빠져버리는 경우에는 시간을 잊고 무언가에 열중해버리는데, 이런 경우는 많지 않기 때문에 그리 문제가 되지는 않는다. 사실 이런 피곤함이라면 오전에 몽롱해도 기분은 최고이기 때문에 긍정적인 면이 더 많다.
까칠해지지 않기
언제부터인가 내게 "까칠하다"라는 수식어가 붙기 시작했다. 주도적으로 내 일을 찾아서 하고, 귀찮은 일은 먼저 나서서하며, 야근도 불사하던 시절에는 이렇게 불리지 않았는데 ... 어느 순간 니일 내일 편가르기에 바뻐지고, 야근을 강요하는 일정에 싸우고 하다보니 "까칠하다"라는 수식어가 붙어있더라.
이미지 출처: http://www.flickr.com/photos/jazzistan/3088417431/
"재미"라는 양념이 없다면 다시 주도적으로 변하기는 쉽지 않을 것이다. 다만 적어도 서로 얼굴 붉힐정도의 행동을 하지 않고 목소리를 높이지 않아야 겠다는 생각이다. 불합리적이라는 생각이 든다고해서 매번 소리 높이고 싸우는건 주변 사람들도 불쾌하겠지만 나에게도 남는 것이 없는 미련한 행동이다.
투덜이 스머프는 이제 그만
사실 투덜이 스머프처럼 조금이라도 싫은일이 있으면 불평불만을 늘어놓는 버릇은 어제 오늘일이 아니다. 매번 그러지 말아야지라고 마음먹지만 항상 투덜거리고 있다. 다만 이해당사자들과 뒤섞여 있는 곳에서 직접적으로 불평하는 습관 만큼은 고쳐야겠다는 생각이다. 올해 목표중에 가장 지키기 어렵겠지만 조금이라도 개선하고 싶다.
앤애는?
20대 후반쯤 되니 연애와 결혼이라는 주제는 어느 자리에서나 빠지지 않는다. 크리스마스 시즌즈음에는 정말 외롭기도 하고, 매콤한 떡볶이를 같이 먹으로 다니고 싶기도 하다.
이미지 출처: http://www.flickr.com/photos/estebandid/2807078915/
결론은 적어도 2009년에는 (그냥 솔로로 지내겠다라는 소리와 같겠지만) 인위적인 만남은 지양하겠다는 생각이다. 농담으로라도 "외롭다", "소개팅해줘라"를 외치고 다녔더니 진지하게 알아봐 주는 사람들도 생겨서 미안하고, 소개팅 나가서는 서로 시간만 낭비하고 오니 미안하다. 확실히 "생각없음"을 외치고 다녀야 겠다. 아무래도 아직은 하고 싶은 일이 더 많기도 하고, 아직은 마음을 정리하지 못해 갈피를 못잡기도 하고, 아직은 덜 외로운가보다. 그렇다고 인연을 거부하지는 않는다!