주간 베스트 월간 베스트 3개월 베스트 베스트 게시물
연길시 신화서점 조선말 도서

04-1 . Eclipse

SOLIDH | 2009.09.16 15:31:43 댓글: 0 조회: 5864 추천: 0
분류웹 프로그래밍 https://life.moyiza.kr/itstudy/1760208

Eclipse

Eclipse 는 오픈소스로 개발되는 통합 개발 환경 입니다. 위키백과를 보면 대충 IDE (Intergrated Development Environment) 라고 되어있는데 뭐 이런게 중요한게 아니니깐…;;;

대충의 소개는 위키백과의 이클립스 소개를 참고하시면 될 것 같습니다.

뭐 복잡한 이야기 해봤자 머리만 아프고, 그냥… 전 이거 하나로 개발 다 합니다. 이래저래 플러그인들 깔아서 ActionScript 부터 시작해서 Java, PHP, DB, SVN, Trac, FTP Web publishing… 뭐 기본적인 개발을 모두 Eclipse 를 중심으로 진행하죠. 최근에는 XMind 라는 마인드맵 플러그인이 등장하면서 컨셉 작업 조차도 Eclipse 로 통합 시키고 있는 편입니다. “통합” 개발 환경 (IDE) 라는게 뭔 소린지 대충 아시겠죠…

그리고, 주요한 특징 중 한가지로 Java 를 기반으로 만들어졌기 때문에 리눅스, 맥, 윈도우를 가리지 않고 돌아가긴 합니다만… 문제는 플러그인들이 돌아가지 않는 경우가 있다는건데…;;; 뭐 대충 윈도우와 맥을 사용하는 제 경험상 지금까지 뭐가 안되었던적은 없는것 같습니다.

아… 이 강좌는 Eclipse 를 중심으로 진행되기 때문에 Eclipse 에 대한 적응이 안되면 진행이 아예 안될 수 있습니다.

각 종 플러그인들

Eclipse 가 이것도, 저것도 되는 이유는 Eclipse 라는 틀이 되는 프로그램을 중심으로 여러가지 플러그인들을 설치해서 확장해나가기 때문입니다.

그 플러그인 중 하나로 우리가 ActionScript 를 개발하는데 사용하는 Flash Builder 나 FDT 같은 것들이 있는거죠.

플러그인들은 크게 나눠서

  • Java, ActionScript, PHP, Ruby, Javascript, HTML,XML, Perl 등 어떤 언어를 코딩하거나 디버깅 하는데 있어서 도움을 주는 에디터 플러그인들과
  • SVN, Mylyn 과 같이 프로젝트 리소스에 대해서 관리를 해주거나 여러가지 편의를 제공해주는 플러그인들
  • Ant 와 같은 빌드 도구, XMind 와 같은 컨셉도구 등 여러가지가 있지만…

우리가 다루게 될 것들은 주로 ActionScript 에디터 도구와 SVN, Mylyn, Ant 와 같은 관리 및 빌드 도구에 국한될 예정입니다. 어디까지나 액션스크립트 개발 환경을 개선하자는 거니깐요.

Eclipse 의 버그들

Eclipse 는 안정적이라고 보기엔 버그가 상당히 많은 프로그램입니다. 가끔씩 욕나올때가 있을정도죠.

더군다나 Java 처럼 애초에 기본적인 구성품으로 포함되는 녀석들은 모르겠지만, 우리가 사용하게 될 수많은 플러그인들과의 호환성이 확실하지 않기 때문에 에러는 더더욱 심해집니다.

물론 사용을 하지 말아야 할 정도로 문제가 있는것은 아니지만, 인터넷 검색이나 여러가지 방법들을 통해서 트러블을 해결할 수 있는 능력이 필요하긴 합니다. 이건 어디 카페 같은데다가 “안돼요 ㅜ ㅁ ㅜ” 하면서 징징거려도 누가 해결해주기 어려운 문제이기 때문이죠. 문제해결을 위해서 영어권 사이트들까지 샅샅히 검색해야 할때가 많습니다.

저도 개인적으로 Eclipse 의 버그들 (특히 업데이트 이후에 나타나는 버그들) 때문에 상당히 많은 고통을 겪었습니다. 몇 일 전에도 Eclipse 가 아예 작동이 안되어 버리는 버그가 나타나서 정말 돌아버리는 줄 알았었는데, 다행히도 OSX 의 타임머신 복구를 통해서 롤백할 수 있었죠.

OSX 사용자 들이라면 타임머신을 통해, 윈도우라면 고스트의 정기백업 기능을 통해 자주 백업해놓고 문제가 생겼을때 해결이 안된다면 즉각 복구하는 것이 좋습니다. 특히 업데이트 전에는요…

어떤 이클립스를 사용할 것인가?

이클립스는 어지간한 언어들은 죄다 지원하기 때문에 플러그인이 굉장히 많습니다. 그렇게 플러그인 들이 많은 덕분에 기본 배포 패키지만 해도 굉장히 여러가지이고, 아예 특정 목적에 맞게 여러가지 플러그인들을 끌어모아서 전용 패키지화 시킨 Aptana, FDT, XMind 같은 것들이 존재할 정도이죠.

앞으로 강좌를 진행해나가면서 여러분이 Eclipse 를 설치하고, 플러그인들을 셋팅하는데 문제가 많이 생긴다면 그런 설치는 천천히 해나가시고, 일단 독립실행되는 패키지 버전의 FDT 를 설치하시면 됩니다. Ant, SVN, Mylyn, FDT 등 이 강좌가 사용할 왠만한 플러그인들은 다 깔려있으니깐요.

하지만, 그건 강좌를 공부해나가는 동안 임시로 쓸 툴을 이야기 하는거고… 일단은 Eclipse IDE for Java EE Developer 버전을 받아서 설치하시면 됩니다. 기본적으로 XML, HTML, CSS, Javascript 를 편집할 수 있는 웹도구들이 설치되어 있어서 편리합니다. 뭐… 전 설치해본적이 없어서 모르겠지만 for PHP Developer 를 설치해도 되지 않을까 싶네요.

기본 패키지만 이만큼… 자기 목적과 OS 에 맞는 것을 다운로드 받으면 됩니다.

Eclipse 는 특별히 설치가 필요없습니다.

그냥 다운로드 받으면 위와 같이 압축파일이 오는데,

압축파일을 풀어서 안에 있는 위에 보이는 실행파일을 실행시키면 땡이지요. 그리고, 다른 컴퓨터에서 사용하고자 할때도 해당 폴더만 들고 가면 번거로운 재설치 없이 바로 똑같은 환경의 Eclipse 를 사용할 수 있습니다.

Project, Workspace

Eclipse 를 맨처음 실행하면

위와 같이 기본적인 workspace 를 지정하라는 메세지가 나옵니다.

작업들을 하드디스크 여기저기에 흩어놓던 분들이라면 이런 메세지가 낯설텐데요. 구지 저항하지 말고 하드디스크의 접근하기 좋은 위치에 폴더를 생성해서 workspace 로 지정해줍니다.

제 경우에는 이렇게 data 라는 하드디스크의 바로 아래에 eclipse workspace 라고 폴더를 만들어주었습니다.

접근하기 쉬운 위치를 가져야 하는것은 가끔 Eclipse 이외의 외부 프로그램으로 프로젝트 리소스에 접근하려고 할때 좀 더 빠르게 들어가기 위해서죠. 제 경우에는 psd 와 같은 아트웍 리소스들 역시도 Eclipse 에서 관리하는 편이기 때문에 workspace 를 굉장히 짧은 경로로 빠르게 들어갈 수 있게 북마크까지 해놓았습니다.

뭐 맨처음 접속하면 위와 같은 Welcome 페이지가 나오는데 여지껏 한번도 제대로 읽어본적이 없습니다. 심심하시다면 천천히 읽어보는 것도 나쁘지 않을것 같네요.

Welcome 페이지를 닫으면 맨 처음 위와 같은 Java 개발 화면이 뜹니다. 뭐 처음 보면 회색에 뭔가 알 수 없는 창들이 잔뜩 떠서 “어어… 뭐… 뭐…” 할텐데… 당황하지 마세요. 아래에서 천천히 설명할테니깐…

좌측에 보이는 익스플로러에서 Project 들을 위처럼 만들어보면

workspace 로 지정해놓았던 폴더에 위와 같은 식으로 폴더들이 생기는 것을 볼 수 있습니다.

뭐 대충 Workspace 와 Project 가 어떤식으로 구성되는건지 아시겠죠?

이렇게 폴더 형식으로 작업이 구성되기 때문에 이 작업 폴더를 그대로 다른 컴퓨터에 들고가서 사용한다고 해도 멀쩡히 돌아가게 됩니다. (심지어는 다른 OS 에 가서도 멀쩡히 동작하죠…) 그렇기 때문에 위에서 이야기했던 eclipse 의 프로그램 폴더와 workspace 폴더를 들고 다른 컴퓨터에 가서 지정을 해주면 동일하게 작동이 되게 되죠. 이런 특징은 컴퓨터를 새로 깐다거나 아니면 잠시 외부에서 작업할 일이 생긴다 했을때 큰 어려움 없이 동일한 작업환경에서 작업할 수 있게 해줍니다.

Perspective

위에서도 이야기했듯 Eclipse 는 플러그인들을 통해서 굉장히 폭넓게 확장이 되는 통합 개발 환경 입니다.

하지만, PHP 가 요구하는 작업환경이 틀릴테고, Java 가 요구하는 작업환경이나 ActionScript 가 요구하는 작업환경은 다 다를 것입니다. 그런 각각의 작업들의 특징에 맞게 작업환경을 다르게 제공해주는 것이 Perspective 입니다.

Perspective 는 우측 상단에 보면 나오는데요. 저기 보이는 것들이나 Other… 를 눌러 나오는 기타 다른 것들을 선택해서 Perspective 를 선택할 수 있습니다.

각각 선택을 해보면

Java Perspective

Debug Perspective

FDT Perspective

등… 각각 작업에 맞는 형태로 패널들이나 메뉴들이 구성되어 있는 것을 확인 할 수 있습니다. 더불어 이런 Perspective 의 변화는

이런식으로 프로젝트의 특성에까지 여러 영향을 미치게 됩니다.

그러므로, Java Perspective 를 열어놓고 ActionScript 를 편집한다거나 하는 일은 어지간하면 하지 않는게 좋겠죠…

Outline

Outline 은 코드들의 구성을 대충 훓어볼 수 있도록 해주는 기능입니다.

FDT ActionScript 의 경우이고

XML 의 경우

Java 의 경우입니다.

뭐 코드량이 적을때는 별로 신경쓰이지 않는 녀석이긴 한데, 코드량이 상당히 증가할때는 상당히 많은 도움이 되죠.

Search

Eclipse 의 검색 기능은 정말 우수합니다.

여러분에게 “Flash 를 중심으로 하는 개발은 버려라!” 라고 강요하는 이유 중 한가지로 바로 이 검색 문제 입니다.

코드의 검색은 유지보수에 상당히 밀접한 연관을 가지고 있습니다. 자기가 만들었던 남이 만든것이던 어쨌든 코드들을 다 기억할 수는 없는게 당연한 상황에서 유지보수를 하다보면 필연적으로 코드를 찾고, 그 찾은 코드를 힌트 삼아 다시 코드를 찾는 검색의 무한궤도를 반드시 거치게 됩니다.

그런 상황에서 전체 검색 기능이라곤 빈약하기 그지없는 Movie Explorer 로 코드를 찾다보면 정말 사람이 돌아버리게 되는거죠.

Eclipse 의 검색 기능은 대충 두가지 정도가 있습니다.

Ctrl + F (OSX : Cmd + F) 를 통한 Search/Replace




뭐 간단하게 코딩을 진행하는 상황에서 Ctrl + F 를 누르면 위와 같이 간략한 검색창이 뜨게 됩니다. 이 검색창은 현재의 텍스트 코드들을 검색해주는 기능을 합니다.

  • Find 는 검색어를 지정하게 됩니다.
  • Replace with 은 검색된 단어를 교체할 단어 이구요.
  • 그리고, 우선 아랫쪽의 버튼들을 살펴보면 Find 는 검색, Replace 는 Find –> Replace with 으로 교체해주는 교체, Replace/Find 는 교체와 다음 단어에 대한 검색을 연속으로 해주는 기능이고 (다량의 단어들을 검토하면서 교체할 때 편리합니다.) Replace All 은 코드 상에 존재하는 모든 검색어들을 싸그리 교체해주게 됩니다.
  • Direction 은 위에서 아래로 검색 할 것이지를 선택하는 것이고
  • Scope 는 모든 코드들을 대상으로 검색 할 것인지, 아니면 선택한 텍스트들에 대해서만 검색할 것인지를 선택합니다. 보통 셀렉션 한 텍스트 라인들이 없는 상태에서 Ctrl + F 를 누르면 All 이 기본으로 되어있고, 셀렉션 한 라인들이 있는 상태에서 Ctrl + F 를 누르면 Selected lines 가 기본으로 되어있습니다. 딱 어떤 영역에서만 검색/교체를 해야할 경우 매우 편리합니다.
  • Options 는 뭐… Case sensitive 는 대소문자 구분 같은 것들이고, Regular expressions 는 검색어와 교체어를 정규식으로 입력할 수 있게 해주는 옵션입니다. 이 옵션은 엄청나게 강력한 코드검색 능력을 부여해주는데요. 이것만 해서 강좌 3편 분량은 나올 것 같으니깐 그만두도록 하겠습니다.
  • 뭐 이렇게 width 가 많이 존재하는 코드 상에서 특정한 라인을 선택하고 Ctrl + F 를 눌러서

검색을 진행하면 다른 코드들은 무시하고 선택한 라인들에 대해서만 검색을 하게 됩니다.

그리고, 이런식으로 Regular expressions 를 체크한 다음 검색어를 정규식으로 입력해서 검색을 할 수도 있죠.

Eclipse 의 Search 기능

위와 같은 단순한 검색 기능 이외에 Eclipse 는 보다 강력한 검색 기능들을 지원합니다.



상단에 보이는 검색 버튼을 눌러보면 그림과 같이 여러가지 검색 옵션들이 나오는데요. 검색 옵션들은 각 언어의 플러그인들을 설치하다보면 추가가 되곤 합니다. 일단 기본적인 File Search 를 눌러보면

이렇게 검색 기능이 나타나게 되는데요.

대충 상단의 탭 부분들은 방금전 보았던 검색기들의 종류를 뜻하고,

Containing text 는 검색어 입력 (옆쪽으로 대소문자 구분과 정규식 입력 옵션이 보이네요.)

File name patterns 은 검색을 할 대상들 입니다. * 로 하면 모든 파일들을 대상으로 하고, 위처럼 *.as 로 하면 as 파일들을 대상으로 검색하게 되죠.

Scope 가 중요한데 이렇게 리소스 전체에 대한 검색을 진행할 경우에 검색 속도에 문제가 있을수 있기 때문에 적절히 선택을 해주는 것이 중요합니다.

  • Workspace 는 Workspace 에 등록되어 있는 모든 Project 를 대상으로 합니다.
  • Selected resources 는 선택한 리소스들만을 대상으로 합니다.
  • Enclosing projects 는 검색을 시작한 리소스가 속해있는 Project 만을 대상으로 합니다.


Selected resources 는 위와 같이 선택된 리소스들만을 대상으로 검색하게 되기 때문에 검색범위를 좁히는데 상당히 유용합니다.

하단에 보이는 Customize… 버튼을 누르면 위와 같이 사용할 검색기들을 선택하게 되는데요. 자주 사용하지 않는 검색기들은 꺼두는 것이 보기에 편합니다.

뭐 검색을 해보면



이렇게 Search 패널을 통해서 검색 결과들이 보여지게 됩니다. 위와 같이 검색의 내용들을 보여주기도 하고, 라인을 더블클릭 하면 해당 소스의 라인을 바로 보여주므로 굉장히 편리합니다.

유지보수의 반은 바로 이 검색을 통해서 이루어진다고 할 수 있죠. 특히 떡판이 된 소스들을 관리할 수록 이 검색 기능의 도움이 절대적으로 필요해지게 됩니다. 절망에 가까운 소스코드를 Flash 의 Movie Explorer 로 검색해서 고친다고 하는건 정말 상상하기도 싫습니다. (글로 쓰는것 뿐인데도 오한이…)

Help




상단 메뉴를 보면 위와 같이 Help Contents 가 있습니다. 뭐 눌러보면



이렇게 레퍼런스들이 등장하게 되는데요.

보통 에디터 플러그인들을 설치할때 Help 도 추가적으로 설치가 되므로, 각 기능들을 모른다고 검색하는 것보다 여기서 검색을 하는게 더 우선되는게 좋습니다.

깔려있는 플러그인들과 각 언어에 대한 어지간한 내용들은 다 들어있기 때문에 시간내서 한번쯤 읽어보는 것을 추천해보고 싶네요.

Local History

Eclipse 가 기본적으로 제공하는 기능중에 상당히 우수한 기능이 바로 이 Local History 입니다. 뭐 대충 백업 이라고 보면 되는데요. 코딩을 하는 동안 저장을 할때마다 히스토리를 하나씩 만들어줘서 코딩 중 잘못되어서 롤백해야 하는 사항들이 있을때 과거의 코드들을 손쉽게 재복구 할 수 있게 해줍니다.

위와 같이 Team > Show Local History 를 선택하거나, 아래의 Compare With > Local History 나, Replace With > Local History 를 선택하면

이렇게 History Panel 이 열리게 되는데요. 저장된 히스토리를 더블클릭 하면

Team > Local History 의 경우에는 이렇게 단순히 과거의 코드들을 보여주는 역활을 하고

Compare With > Local History 의 경우에는 이렇게 현재의 코드와 과거의 코드를 놓고 Compare (비교) 하면서 현재의 코드를 수정할 수 있도록 해줍니다.

그리고, Replace With > Local History 의 경우엔 이렇게 코드 수정 같은 기능이 없는 비교창이 뜨게 되는데요. 비교를 해보고 Replace 를 누르면 바로 과거 히스토리의 코드를 복구하게 됩니다.

개인적으로는 Compare 라는 소스코드를 비교하면서 보수해나가는 기능에 익숙해지면 좋겠다고 생각합니다. 이 기능은 이 Local History 에서야 (자기가 짠 코드이기에 뒤로 롤백할 일이 없어서) 큰 역활을 하지 못하지만, 다수의 작업자들이 작업을 진행하는 SVN 과 같은 기능에서 여러개의 소스들을 비교하면서 취합해 나가는 과정을 이 Compare 와 같은 방식으로 진행하게 되거든요. 결국 실력이 늘어나다보면 개인이 작업하면서 자잘거리는것 보다는 대형 작업물에 대한 다수 작업자들이 만든 작업물들을 취합하는 일이 늘어나게 되는데, 이 Compare 에디팅에 익숙하다면 그런 작업을 보다 수월하게 진행할 수 있습니다.

다음 시간에 계속…

아… Eclipse 를 한시간에 끝내고 바로 FDT 에 들어가려고 했는데, Eclipse 에 대한 내용이 쓰다보니 생각보다 드럽게 많네요… 사실, 지금까지 소개한 기능 하나, 하나를 한 강좌에 써도 될 정도로 모두 그 활용도가 넓은 것들이라서…

앞서도 이야기했듯 이 강좌, 그리고, 진행할 스터디그룹은 모두 Eclipse 를 기본 도구로 해서 진행이 됩니다. FDT 고 나발이고도 좋지만, 일단 Eclipse 의 기본 기능들을 꼼꼼하게 아는 것도 매우 중요합니다.

사실 Eclipse 의 기능 지원이 없는 FDT 는 좀 과장되게 말해서 무료인 Flash Develop 과 별반 다르지 않다고 할 정도거든요.

Eclipse 는 “통합 개발 환경” 이라는 말이 절로 고개가 끄덕여질 정도로 폭넓은 확장성을 기반으로 한 기능들이 끝도 없을 정도로 많습니다. 더군다나 Eclipse 의 기본적인 내장 기능들 조차도 엄청나게 많죠… Flex2 부터 시작해서 Eclipse 를 기반으로 개발한지도 상당히 많은 시간이 흘러가고 있는데 아직까지도 “어? 이런것도 되네?” 할때가 많습니다. 강좌에서 보여드리는건 쓰면 아주 좋을만한 대표적인 것들일 뿐이고, Eclipse 를 보다 가치있게 활용하기 위해 알면 좋을 것들은 직접 하나, 하나 찾아서 경험해보셔야 할 것 입니다.

다음 시간엔 Run, Debug, External Tools, 플러그인 설치법, 업데이트, 설정창 등에 대해서 알아보겠습니다.


출처: ssen님레시피


추천 (0) 선물 (0명)
첨부파일 다운로드 ( 34 )
1.jpg | 205.7KB / 0 Download
2.jpg | 58.6KB / 0 Download
3.jpg | 96.9KB / 0 Download
4.jpg | 35.0KB / 0 Download
5.jpg | 159.3KB / 0 Download
6.jpg | 113.4KB / 0 Download
7.jpg | 55.4KB / 0 Download
8.jpg | 25.1KB / 0 Download
9.jpg | 48.0KB / 0 Download
10.jpg | 25.2KB / 0 Download
11.jpg | 103.9KB / 0 Download
12.jpg | 49.8KB / 0 Download
13.jpg | 62.6KB / 0 Download
14.jpg | 136.9KB / 0 Download
15.jpg | 122.3KB / 0 Download
16.jpg | 103.8KB / 0 Download
17.jpg | 81.0KB / 0 Download
18.jpg | 75.1KB / 0 Download
19.jpg | 49.8KB / 0 Download
20.jpg | 125.7KB / 0 Download
21.jpg | 173.9KB / 0 Download
22.jpg | 81.2KB / 0 Download
23.jpg | 34.2KB / 0 Download
24.jpg | 83.4KB / 0 Download
25.jpg | 83.4KB / 0 Download
26.jpg | 57.3KB / 0 Download
27.jpg | 84.5KB / 0 Download
28.jpg | 88.7KB / 0 Download
29.jpg | 148.5KB / 0 Download
30.jpg | 183.9KB / 0 Download
31.jpg | 90.7KB / 0 Download
32.jpg | 112.6KB / 0 Download
33.jpg | 125.4KB / 0 Download
34.jpg | 92.6KB / 0 Download
IP: ♡.113.♡.55
3,006 개의 글이 있습니다.
제목 글쓴이 날짜 조회
관리자
2003-09-20
11946
관리자
2003-09-20
11498
관리자
2003-09-20
20630
지구인
2010-08-27
19422
지구인
2009-09-07
13741
SOLIDH
2010-01-29
15699
엔죠라이프
2004-10-07
16791
지구인
2009-10-28
2372
지구인
2009-10-25
5427
지구인
2009-10-25
2855
지구인
2009-10-25
3892
지구인
2009-10-25
3361
SOLIDH
2009-10-23
3489
지구인
2009-10-22
1731
막걸리아씨
2009-10-15
1377
지구인
2009-10-14
1523
지구인
2009-10-12
1743
이쥔선생
2009-10-09
2426
이쥔선생
2009-10-09
2493
771025
2009-10-06
1640
비천협객
2009-09-27
1774
지구인
2009-09-22
2455
티백
2009-09-18
4921
SOLIDH
2009-09-16
5864
지구인
2009-09-16
1779
엔죠라이프
2009-09-14
3529
엔죠라이프
2009-09-13
6095
SOLIDH
2009-09-11
4842
모이자 모바일