SubVersionEdge 란?




SubversionEdge란?


아파치 재단에서 만든 버전관리툴인 서브버전(http://subversion.apache.org/)을 이용하여 만든 3-Party 도구로서, Collab(http://www.collab.net) 이라는 회사에서 이 서브버전을 이용하여 만들어낸 제품명입니다. 


대중적으로 사용하는 거북이 아이콘의 Tortoise SVN(http://tortoisesvn.net/) 서버군에 설치하여 사용되는 SVN 등과 기본적인 기능은 크게 다르지 않습니다. 다만 GUI적으로 사용자 및 저장소 등을 쉽게 관리할 수 있다는 점이 매력적인 기능으로 느껴집니다. 


본 카테고리에서는 이러한 SubversionEdge 제품의 설치와 시작, 각 기능등을 살펴볼 계획입니다. 

많은 응원바랍니다. 

'기술참고자료 > SubversionEdge' 카테고리의 다른 글

SubversionEdge 실행하기 II  (0) 2013.07.24
SubversionEdge 실행하기 I  (0) 2013.07.24
SubversionEdge 설치하기  (0) 2013.07.24

Part 1. Overview




Part 1. Overview

Chapter 1. 소개

Chapter 2. 왜 줌라인가?

Chapter 3. 줌라 요구사항


Chapter 1. 소개

본 매뉴얼은 www.BuildAJoomlaWebsite.com 사이트에 있는 The Basic 이라 불리우는 줌라 비디오 튜토리얼을 기반으로 만들어졌습니다. 이 소개글은 당신에게 기본적인 줌라 웹사이트의 생성과 함께 빠르게 수행할 수 있는 방법을 제시합니다. 제품에 대한 모든 교육과정은 모두가 행복할 정도의 수준으로 전달하고 있으며, 어떠한 사용자들은 웹사이트를 구축해본적이 없어도 줌라가 아닌 다른 소프트웨어를 사용하여 웹사이트를 구축하는데에 매우 능숙할 수도 있습니다. 본 매뉴얼은 기본 수준으로 사용법은 안내하고 있으니, 고급 사용자의 경우 본 과정을 건너뛰어도 무방합니다. 본 문서는 보고있는 사용자라면 적어도 긱 웹사이트를 방문하는 경우 각종 소프트웨어들과 파일들에 대한 다운로드에 필요한 컴퓨터와 인터넷에 대한 기본적인 이해를 갖추어야 각 단계별 매뉴얼들을 이해하는데에 어려움이 없을 것 입니다. 

본 시리즈는 줌라의 2.5 버전을 기준으로 작성되었으며, 총 세 가지 코스로 구성되어 있습니다. Part 1은 줌라에 대한 기본적인 컨셉과 웹사이트를 구축할 수 있는 다른 솔루션들과 줌라에 대한 비교, 그리고 앞으로 사용하게 될 각 소프트웨어들을 설명할 예정입니다. 만일 웹사이트 구축에 대한 경험이 있는 사용자라면 Part 1은 건너뛰어 곧장 Part 2로 이동하셔도 되겠습니다. 이 섹션에서는 웹호스트에 줌라를 설치하는 다양한 방법들을 배우게 될 것입니다. 이미 설치가 완료된 사용자라면, 가벼운 마음으로 줌라의 스토리지 시스템과 페이지 생성, 기능추가 등의 내용이 설명되어 있는 part 3으로 이동해 주시면 되겠습니다. 

이 전체 과정은 무료이며 앞으로 줌라기반의 웹사이트를 구축하는데에 필요한 모든 기본지식을 배우게 될 것입니다.  자 그럼 줌라에 대해 간단히 살펴보는 시간을 가져보겠습니다. 

이 장에서 다루는 주제들은 다음과 같습니다. 

  • 줌라는 무엇인가?
  • 줌라로 무엇을 할 수 있는가?
  • Content Managing System(CMS)를 이용함으로서 얻을 수 있는 장점은 무엇인가?


줌라는 무엇인가?

줌라는 웹사이트를 생성하고 유지보수 할 수 있는 웹사이트 컨텐트 관리시스템입니다. 오픈소스이며 이것은 무료라는 것을 의미하죠. 당신은 무료로 소프트웨어를 다운로드 받을 수 있으며 당신이 원하는대로 다양한 웹사이트를 구축하여 사용할 수 있습니다.  줌라의 핵심은 코어(Core) 모듈이며, 이것은 완벽히 동작가능한 웹사이트를 구축하는 기능을 제공합니다. 코어 그 이상의 버전을 얻기위해 비용을 지불할 필요가 없죠. 무료니까요. 그렇다고 다른 웹사이트들처럼 특정 브랜드를 포함시킬 필요도 없습니다. 또한 사용자의 피드백을 받을 수 있는 폼(Form)이나 쇼핑목(E-Commerce), 사진갤러리, 회원관리 모듈, 지도모듈, 달력기능, 배너 등의 부가적인 기능들을 수행하는 수천가지의 3rd-party 확장모듈(Extenstion)이 존재하죠. 이러한 다양한 확장모듈 또한 무료로 제공되지만 일부모듈에 대해서는 상용으로 배포되어 구매를 통해 이용되기도 합니다. 

줌라 웹사이트를 구축하기 위해서는 다음의 네 가지 요소가 필요합니다. 

  1. 웹사이트의 동작에 대한 기본적인 이해 - 예를들자면 이런것이죠. 웹사이트는 각 웹페이지들로 구성된다는 것과 각 웹페이지들은 텍스트, 이미지, 하이퍼텍스트, 오디오 및 비디오 등 다양한 요소들로 포함되어 있으며 그것들이 연결되어 네비게이션 메뉴 등으로 보여지는 것 말입니다. 
  2. 줌라가 어떻게 동작하는지에 대한 이해 - 물론 본 튜토리얼을 통해 배우게 되겠죠.
  3. 줌라 소프트웨어 - 그리고 각 소프트웨어들을 다운로드 및 설치하는 방법이 본 과정의 일부입니다. 
  4. 웹호스트와 계정 - 당신의 웹사이트를 저장하고 인터넷을 통해 다른 사람들이 접근가능하도록 구성하는 과정이 되겠습니다. 

줌라는 크게 두가지 파트로 나누어 집니다. 
"프론트엔드(FrontEnd)"라 불리우는 웹페이지들로 구성된 모듈과 "백엔드(BackEnd)"라 불리우는 각 페이지 컨텐츠와 기타 기능적인 것들을 생성 및 유지보수 할 수 있는 모듈로 구성됩니다. 줌라의 "백엔드(BackEnd)"는 일반적으로 "관리모듈(Administrator)"라 불리우며, 본 매뉴얼에서 일반적으로 사용되어지는 용어입니다. 


줌라로 무엇을 할 수 있는가?

줌라를 이용하면 어떠한 웹사이트들을 구축할 수 있는지 눈여겨 보십시오. 

간단한 웹사이트
줌라를 이용하여 텍스트와 이미지등을 이용하여 간단한 웹사이트를 구축하는데 적합합니다. 

복잠한 웹사이트
줌라의 가장 큰 장점으로는 다양한 3rd-party 추가모듈입니다.  

특별한 웹사이트
일부 확장모듈들을 이용하여 매거진 사이트나 쇼핑몰, 커뮤니티 사이트와 포럼 등의 특별한 웹사이트를 구축할 수 있습니다. 

커스텀 어플리케이션
줌라의 기본기능 이외에 일부 특별한 기능을 개발해야 하거나 필요한 기능이 3rd-party 확장모듈에 없을 경우에는 커스텀 어플리케이션을 직접 만들수 있습니다. 줌라 프레임워크는 오픈소스이므로 웹프로그래머들이 기존에 존재하는 기능을 수정하거나 새로운 기능을 추가하는 것이 가능합니다. 

디자인 옵션
아마도 기능 이외에도 고민스러운 것이 바로 웹사이트의 보여지는 모습일 것입니다. 줌라의 페이지들은 템플릿이라 불리우는 파일을 이용해 화면에 출력됩니다. 이러한 템플릿들은 무료 또는 상용제품의 템플릿  또는 자신이 만든 템플릿들입니다. 줌라를 이용해 웹사이트를 개발하는 것은 유명한 디자인이나 레이아웃으로 한정된 방법을 이야기 하는것이 아닙니다. 당신이 원하는 대로 적용할 수 있고, 또 그것을 줌라의 구조에 알맞게 적용시킬 수 있습니다. 다음의 예제는 줌라기반의 웹사이트들이며 이 예제를 눈여겨 보시면서 줌라를 이용하여 무엇을 할 수 있는지에 대해 맛보시면 되겠습니다.  


Hight Court of Austrailia


The Shore


Guggenheim


Savour


My Throttle


Kamuk


JungleWalla


Byron Bay


Eco Giggle


Bacchus Wine & Spirits


Susan Reddick Design


Everything Peru


Nook Developer

당신이 보셨듯이 줌라 기반의 웹사이트는 개인적인 용도, 비영리 사이트, 기업전용 사이트 및 엔터프라이즈 웹사이트까지 매우 다양한 형태로 완벽히 구현가능합니다. 


Content Managing System(CMS)를 이용함으로서 얻을 수 있는 장점은 무엇인가?

위에서 언급했듯이 줌라는 컨텐츠 관리시스템(CMS)로 분류됩니다. 전통적인 웹사이트의 구축 행태를 살펴보면 로컬 컴퓨터, 즉 웹프로그래머의 PC에서 작업된 이후 웹호스트(서버)측으로 이동되는 반면에 줌라와 같은 CMS들은 웹호스트(서버)측에 직접 웹사이트를 구축하고 유지보수 한다는 차이점이 있지요. 이러한 경우에 얻을 수 있는 장점으로는 아래와 같은 항목들이 있습니다. 

웹사이트의 업데이트가 쉬워집니다. 
더 이상 새로운 툴에 대해 공부할 필요없이 단순히 웹브라우저를 이용하여 웹사이트의 관리섹션에 연결할 수 있기 때문이죠. 

세상 어느곳에서든 웹사이트의 유지보수가 가능합니다. (별도의 소프트웨어가 필요없다는 이야기죠)
전통적인 웹사이트의 경우에는 당신이 사용하는 컴퓨터에 특정 소프트웨어를 설치하여 업데이트 작업을 수행해야 했습니다. 별도의 에디터 같은 것들이 필요하기 때문이죠. 하지만 CMS 기반의 웹사이트들의 업데이트는 어느 곳에서든 인터넷으로 연결만 되어 있다면 업데이트 작업을 할 수 있습니다. 

웹사이트의 업데이트를 위해 별도의 관리자가 필요하지 않습니다. 
전통적인 웹사이트 구축도구들은 다양한 관리자를 위한 기능이 제공되어야 하지만, CMS를 이용하여 사용자들에게 개별적인 권한만을 부여하여 유지보수 하는 편이 훨씬 쉽고 일반적인 방법입니다. 

디자인의 변경이 쉬워집니다. 
이것은 CMS를 이용함으로써 얻을 수 있는 가장 대표적인 장점입니다. 만약 웹사이트 내 각 페이지들에 대한 디자인을 모두 변경하고자 하는 경우, 단순히 템플릿만을 변경하면 되는게 전부이고 변경된 내용은 웹사이트 전체에 적용할 수 있기 때문이지요. 

유지보수 비용을 누군가에게 지불해야 할 필요가 없습니다. 
보통 웹사이트의 유지보수를 위해서는 웹프로그래머에게 비용을 지불해야 하지만, 줌라와 같은 CMS의 경우에는 별도의 비용이 필요하지 않습니다. 

업데이트의 시점은 당신이 결정합니다. 
웹사이트가 업데이트 될 모든 결정과 시점에 대해서는 당신이 결정하게 되므로 웹프로그래머들의 작업이 완료되는 것을 굳이 기다릴 필요가 없게 되겠지요. 


이번 장에서 거론된 내용을 되새겨 보겠습니다.  

  • 줌라는 무엇인가?
  • 줌라로 무엇을 할 수 있는가?
  • Content Managing System(CMS)를 이용함으로서 얻을 수 있는 장점은 무엇인가?

 줌라에 빠져들 준비가 되셨습니까?

 줌라의 모든 기능에 대해 마스터 함으로서 줌라기반의 웹사이트를 구축하는 방법을 배워보십시오. 
 줌라 프로가 되는 과정은 아래와 같습니다. 

  • 줌라의 기능에 대한 모든 것을 설명합니다. 
  • 줌라 엑세스 컨트롤 리스트의 신비를 밝혀봅니다. 
  • 웹사이트 보안에 대한 내용을 배워봅니다. 
  • 훌륭한 블로그를 만드는 방법을 안내합니다. 
  • 쇼핑몰 웹사이트의 구축방법에 대해 설명합니다. 
  • 커뮤니티 웹사이트의 구축방법에 대해 설명합니다. 
  • 줌라가 검색엔진에 최적화 되는 방안에 대해 설명합니다. 
  • 당신의 로컬 컴퓨터에 줌라를 설치하는 방법을 설명합니다.
  • 지속적인 업데이트에 대해 설명합니다. 
  • 포럼을 통한 우선지원에 대해 설명합니다. 
http://www.buildajoomlawebsite.com/joomla-pro 에서 위 정보들을 얻을 수 있습니다. 


Chapter 2. 왜 줌라인가?

줌라를 선택하기 전까지 나는 웹솔루션으 구축을 굉장히 큰 숙제로 생각하고 있었습니다. 이 글을 읽고있는 당신도 아마 줌라가 당신을 위한 최상의 솔루션이라고 생각하고 있을지 모릅니다. 이번 장에서는 내가 줌라와 함께 수백가지 이상의 옵션을 선택했던 이유에 대해 설명드리려고 합니다. 줌라를 선택하는 것이 옳다는 확신이 드신다면 본 챕터를 넘어가셔도 무방합니다. 

내가 줌라에 매력을 느꼈던 주요항목은 아래와 같습니다. 

무료
저비용으로 웹사이트를 구축하고자 한다면 당연히 저비용 CMS가 필요할 것입니다. 줌라는 웹사이트로서의 기본기능에 충실한 무료 솔루션입니다. 

크로스 플랫폼
이 소프트웨어는 당신의 로컬 운영체제에 국한되지 않습니다. 맥이나 일반PC, 리눅스 등 어떠한 운영체제를 사용하여도 문제될 것이 없습니다. 웹사이트를 웹호스트, 즉 서버에 올리는 경우에도 당신은 아파치(리눅스 운영체제 기반의 서버에서 일반적으로 사용하는 웹서버) 웹서버에 올릴것인지 또는 윈도우즈 IIS 서버에 올릴것인지의 간단한 선택만을 하면 됩니다. 뭐 참고적으로는 대부분의 줌라 웹사이트는 리눅스 기반의 서버에서 호스팅되고 있긴하죠. 호스팅에 대해서는 이후 챕터에서 논의하기로  하고, 일단은 반드시 알아야 하는 아래의 내용들을 잠시 정리하고 가도록 하겠습니다. 

지원
오픈소스 어플리케이션들의 가장 큰 약점은 바로 지원이 부족하다는 점입니다. 줌라는 당신이 어떠한 문제로 골머리를 앓고 있을때에 줌라포럼을 통해 당신에게 도움을 줄 수 있는 매우 많은 사용자를 기반으로  합니다. 우리도 자체적인 포럼이 존재합니다. (역자코멘트 : 본 매뉴얼을 작성한 BuildAJoomlaWebsite.com 사이트를 자체적인 포럼이라 지칭하는 것으로 보입니다.

오랜역사
현재 수많은 CMS 솔루션들이 존재하지만, 이 중에는 세상빛을 본지 얼마 되지 않는 몇몇 제품들도 있습니다. 이렇게 다양한 솔루션 중에서 잠깐의 실수로 잘못된 솔루션을 선택하는 날에는 지원불가능한 상황이나 더이상의 추가개발이 일어나지 않는 당황스러운 일을 겪으실 수도  있습니다. 줌라의 역사는 2000년까지도 거슬러 올라갈 정도로 오랜시간동안 사용되어지고 있습니다. 

수천가지의 확장모듈
위에서도 잠시 설명했듯이 확장모듈이란 줌라에 어떠한 부가기능을 할수 있도록 3rd-party 개발자(사)에 의해 만들어진 프로그램을 말합니다. 잠시 예를들면 쇼핑카트, 사진갤러리 그리고 커뮤니티 웹사이트 등이 있을 수 있겠네요. 줌라에는 수천가지의 확장모듈이 있고, 당신이 필요한 시점에 당신의 웹사이트에 쉽게 추가할 수 있다는 것이죠. 이것이 바로 줌라가 현재까지도 많은 사용자들에게 사랑받는 이유입니다. 

보안
줌라는 자체적으로 매우 보안에 강합니다. 그렇지만 보안을 유지하려면 각 소프트웨어의 업데이트를 늦추지 않아야 겠습니다. 

인기
당신이 웹개발자라면 줌라의 인기를 이용하여 당신의 서비스에 대한 매출액을 높일수도 있습니다. 수많은 개발자들이 만들어내는 수천가지의 확장모듈이 지원되는 세계적으로 가장 인기있는 CMS 솔루션을 사용하고 있다고 당신의 고객들에게 이야기 해보세요. 아마도 당신의 고객들이 조금 더 쉽게 당신에게 호감을 가질 것입니다. 그것은 즉 고객들이 웹개발자를 변경하고자 하는 경우에도 보다 쉽게 인수인계 받을 수 있는 적임자를 찾기가 쉽다는 것을 의미하니까요. 물론 당신이 당장 비지니스를 잃게 하려는 뜻이 아닙니다. 고객들이 줌라를 사용함으로서 얻을 수 있는 이점이 바로 클라이언트 자신들이 직접 웹사이트를 관리할 수 있다는 것이 키포인트가 되는 것이며 이러한 이점이 바로 당신의 비지니스를 성공으로 이끌어줄 수 있는 도움이 될 것 입니다. 그리고 당신의 웹사이트를 직접 구축하고 유지보수 하고자 하는 경우에는 안심하고 업무에 열중 하십시오. 줌라가 바로 해결책이니까요. 줌라의 인기는 곧 커스텀 어플리케이션의 구축 등에서 발생할 수 있는 당신의 해결하지 못해 도움의 손길을 구할때에 도움을 줄 수 있는 수천명의 개발자들이 존재한다는것을 의미하기 때문이죠. 


대안으로 생각되는 CMS소프트웨어들

위에서 언급했던 줌라의 이점의 볼때에 줌라는 좋은 솔루션으로 생각됩니다. 그런데 다른 인기있는 CMS는 어떨까요? 대안으로 두개의 CMS를 떠올릴 수 있는데, 하나는 워드프레스이고 다른 하나는 드루팔입니다. 드루팔은 줌라와함께 솔루션이 만들어진 성격이 같지만, 워드프레스의 경우에는 블로깅 용도로 사용되어질 목적으로 만들어졌습니다. 하지만 최근에는 단순 블로깅을 벗어나 보다 다양한 기능을 할 수 있게 된 것이죠. 지금은 각 CMS를 비교함으로서 줌라가 최선의 선택이라는 의견을 표출하는 것이 아니며 보다 객관적인 입장이 되고자 하는 것입니다. 줌라가 아닌 다른 솔루션들에도 굉장히 좋은 기능이 존재합니다. 일단 워드프레스를 살펴볼까요?


줌라 VS 워드프레스

워드프레스는 태생적으로 블로깅을 위한 플랫폼으로 만들어졌습니다. 블로깅이라는 용어가 익숙하지 않으시다면 간단히 보다 짧은 성격의 웹로그 정도로 생각하셔도 무방하겠습니다. 워드프레스로 만들어진 웹사이트에서는 한사람 또는 주제별 작성자들에 의해 시리즈와 기사 등을 만들어냅니다. 현 시점에서 워드프레스는 그동안 많은 발전을 거듭하여 단순히 블로깅 용도가 아닌, 다른 기능을 이용하여 보다 파워풀한 웹사이트를 구축하는데에 사용되어지고 있습니다. 자 그럼 워드프레스의 인터페이스를 살펴볼까요?


워드프레스의 FrontEnd


위의 이미지는 기본적으로 워드프레스를 설치했을 경우의 모습입니다. 가장 최근에 작성된 게시물이 작성된 날짜와 함께 상단에 출력되며 이와함께 카테고리명, 저자명 등이 보여집니다. 또한 이렇게 작성된 내용으로 페이지를 구성하는 방법이 아닌 고정된 웹페이지로 구성할 수도 있습니다. 블로그 페이지나 고정적인 페이지 모두 글을 읽는 사람으로부터의 피드백을 코멘트 형식으로 전달받을 수 있습니다. 


워드프레스의 BackEnd

위 이미지는 관리자 화면의 모습을 보여주는 이미지입니다. 게시물의 제목과 내용을 담고 있는 모습입니다. 전반적으로 워드프레스는 사용하기 편리하게 잘 만들어진 훌륭한 제품입니다. 하지만 여기에서 몇가지 짚고 넘어가야 할 내용이 있습니다. 

첫째로 줌라의 기사, 즉 포스팅된 내용들은 블로그 형식으로 쉽게 정렬이 가능합니다. 뭐 현재는 약간의 주석기능이 부족하다는 점이 있지만, 몇몇의 훌륭한 확장모듈이 존재하기도 합니다. 줌라는 사용하는 사람들은 워드프레스에 대한 몇가지 성가신 문제들을 알아차리곤 합니다. 그 첫번째 문제로는 블로그 페이지에 포스팅된 내용의 날짜와 카테고리 및 저자명을 보여주기 싫은 경우에도 기본적인 방법이 없다는 것이죠. 어쩌면 당신도 이러한 내용을 매번 보여주긴 싫을지도 모릅니다. 이와는 다르게 줌라는 간편한 관리자 기능을 이용하여 이러한 것들을 쉽게 처리할 수 있다는 것이죠. 또한 화면의 우측면에는 워드프레스 내에서 위젝이라 불리어지는 모든 카테고리에 대한 내용이 보여지게 됩니다. 줌라는 이러한 컨텐츠 모듈에 대한 이러한 타입을 가져와 고정적인 페이지를 포함한 모든 페이지에 위치시킬 수 있습니다. 위치를 재정의 하기가 보다 쉽다는 내용이죠. 

또 다른 차이점을 살펴보자면 정렬기능을 들 수 있습니다. 워드프레스는 페이지 내에 출력될 포스트 내용들에 대해서 가장 최근에 작성된 순서대로 정렬하려는 경향이 있습니다. 하지만 늘 최근 순서대로 글을 보여지게 하고 싶진 않을 것 입니다. 경우에 따라 다르겠지만 작성순, 알파벳순 등 여러가지 경우가 있을수도 있으니까요. 줌라는 기본적으로 작성날짜, 작성자명, 알파벳순 또는 임의의 순서대로 내용을 정렬하여 출력할 수 있습니다. 분명 지금은 워드프레스와 줌라의 세세한 기능들을 비교하고 있지만, 사실 플러그인을 사용하거나 일부 코드를 수정한다면 워드프레스도 이러한 기능을 사용할 수도 있습니다. 이따금씩 줌라가 지나치게 복잡하다는 비판섞인 목소리가 나오기도 하죠. 물론 때때로 이러한 많은 기능들 덕분에 줌라에 대해 배워가는 시간이 길어지기도 하는 것이지만 이 과정은 줌라를 보다 신속하게 배울 수 있도록  설계 되었으니까 걱정마십시오. 게다가 줌라는 추후 당신이 줌라를 사용하면서 좋아할만큼의 다양한 컨트롤을 제공하기도 하니까요. 

그래서 


숑알숑알...


(계속)


'CMS > Joomla' 카테고리의 다른 글

Build a Joomla Website  (0) 2013.05.20

Build a Joomla Website

Build a Joomla Website



Joomla_2-5.pdf

본 게시물에 첨부된 'Build a Joomla Website'라는 PDF 문서를 기준으로 줌라(Joomla) CMS에 대한 이해를 돕고자  포스팅을 시작하려고 합니다. 개인적인 학습 용도로 남겨두는 게시물로서 다른 분들에게도 도움이 되었으면 좋겠습니다. 파트 하나하나씩 나름 정성들여 번역을 할 예정이니, 관심있는 분들은 지켜봐주시기 바랍니다. 

Part 1. Overview (작업중)

Part 2. ...(예정)...

'CMS > Joomla' 카테고리의 다른 글

Part 1. Overview  (0) 2013.05.20

Android Studio (Early Access Preview)에 대한 개요

Android Studio


인텔리J는 무엇인가?

안드로이드 스튜디오는 인텔리J(inteliJ) IDEA 기반의 새로운 IDE 입니다. 
인텔리J IDEA에서 IDE가 아닌, IDEA가 붙여진 이유를 찾고 싶었으나 아직 찾지 못했습니다. 이유가 뭘까요?

아무튼 이야기는 거슬러 올라가 2000년대 초반으로 가야겠습니다. 
EJB 기술이 한창 인기를 끌었던 시절에는 자칭 고급개발자들이라는 부류들이 IDE를 사용하는 것을 그리 썩 좋아하지 않았다고 합니다. '훗. 적어도 개발자라면 VI나 이막스(Emacs) 정도는 사용해줘야지!' 라는 생각이였을까요? 그래서 당시에는 기능이 좋았던 IDE 도구가 발전하기가 힘들었다고 하네요. 

이러한 시기에는 현재 이클립스 IDE와 같이 오픈된 도구도 없었으니, 돈내고 써야하는 IDE들은 매우 고가였습니다. 아무래도 저 같이 형편이 어려운 개발자들은 사용하기 어려웠겠죠? 이 당시 등장한 인텔리J IDEA는 매우 혁신적이고 가격 또한 매력적이였다고 합니다. 그렇게 인텔리J가 한창 인기를 얻고 있을 무렵...

이클립스 IDE의 등장...

IBM의 주도로 이클립스라는 오픈소스 기반의 IDE가 등장하게 되었습니다. 물론 초기버전은 미약했겠죠? 시간이 지나고 지나 3.0 버전이 되어서는 여타 상용 IDE와 어깨를 나란히 할 수 있을만큼의 성장을 했다고 합니다. 이클립스가 인기를 얻고 성장하면서 기존에 인기가 있었던 상용 IDE 제품군들의 인기는 반대로 시들시들 했었던거죠. 그 중에서도 인텔리J 사용자들은 현재의 애플 마니아들처럼 인텔리J의 사용을 고수했다고 합니다. 그들은 인텔리J IDEA를 져버리지 않았던거죠. 

이러한 인텔리J IDEA를 개발해오던 JetBrains에서는 아주 중대한 결정을 내립니다. 
인텔리J를 오픈소스화 하자는 내용이였죠. 

인텔리J의 주요 기능을 담은 커뮤니티 에디션을 아파치2 라이센스로 공개하여 무료로 사용할 수 있도록 하자는 내용이였습니다. JavaEE와 고급 프레임워크 지원기능 등 일부기능에 대해서는 상용버전인 얼티밋 에디션에서만 제공하자는 내용이였습니다. 

이렇게 오픈소스로 재조명 받게된 인텔리J의 대표적인 장점은 3rd-party 툴에 대한 지원이 강력하다는 것입니다. 
물론 이클립스 IDE에서도 됩니다. 메이븐, 하이버네이트, git 등등등 각종 플러그인을 이용하면 이클립스 IDE에서도 가능하지만 인텔리J에서는 조금 더 편리하고 강력하게 지원가능하다는 이야기죠. 개발자들이 주로 사용하는 플러그인 등을 기본적으로 내장되어있으며, 메이븐과 같이 계층형 구조의 프로젝트에 대해서도 깔끔하고 어색하지 않게 지원이 가능하다는 것입니다. 또한 사용기반의 IDE이기에 각종 지원이 빠르다고 합니다. 

인텔리J에 대한 이야기는 이쯤에서 그만...


안드로이드 스튜디오로 시작하기

자. 그러면 이러한 인텔리J IDEA를 기반으로 한 안드로이드 스튜디오라는 도구에 대해서 알아보겠습니다.
구글 문서 내용으로 살펴보겠습니다. 

안드로이드 스튜디오는 인텔리J IDEA를 기반으로한 새로운 안드로이드 개발환경입니다. ADT 플러그인을 이용하여 사용하는 이클립스와 유사하며 안드로이드 스튜디오는 개발과 디버깅을 위한 통합 안드로이드 개발도구를 제공합니다. 인텔리J를 이용하여 당신이 기대하는 것 이외에도 인텔리J는 다음과 같은 기능을 제공합니다. 

  • Gradle 기반의 빌드 지원
  • 안드로이드에 특화된 리팩토링과 빠른 수정
  • 퍼포먼스, 유용성, 버전 호환성 그리고 기타 문제들을 해결하기 위한 Lint 툴
  • 프로가드 및 어플리케이션 사이닝(app signing) 기능
  • 일반적인 안드로이드 디자인 및 컴포넌트를 생성하기 위한 템플릿 기반의 위자드
  • 드래그 앤 드랍이 가능한 UI 컴포넌트를 가능케 하는 풍부한 레이아웃 에디터 및 다양한 화면 설정상에서의 레이아웃 미리보기 기능 등등등...

주의: 안드로이드 스튜디오는 현재 초기버전으로서만 사용가능합니다. 몇몇 기능은 완전하기 않거나 구현되지 않았을 수 있으며 많은 버그가 발견될 수 있습니다. 미완료 제품의 사용성에 만족하지 못하신다면, 대신 ADT Bundle(ADT 플러그인이 포함된 이클립스)을 다운로드(또는 계속 사용) 하시는 편이 좋을지도 모르겠습니다. 


참고 : 

http://developer.android.com/sdk/installing/studio.html
http://www.imaso.co.kr/?doc=bbs/gnuboard.php&bo_table=article&wr_id=35484
http://tools.android.com/tech-docs/new-build-system/
http://aroundck.tistory.com/791

안드로이드 프로세스별 Heap Memory 상태 확인하기

1. 이클립스 내 퍼스펙티브 중, 아래와 같이 DDMS 항목을 선택합니다.


2. Devices 탭을 선택하여, 아래와 같은 화면이 출력되는 것을 확인합니다.


3. 상단 아이콘 중, Update Heap’ 항목을 선택하여 토글처리 합니다
   해당 기능의 세부내용은 하단에 기재합니다.

  Update Heap

    - 해당 프로세스의 Heap Memory 정보를 확인할 수 있도록 설정

    - 프로세스 목록에서 위의 버튼을 클릭하면 Heap 탭에 Heap Memory 사용에 대한 통계 수치가 나타남

    - Cause CG 버튼을 통한 가비지 컬렉션 수행으로 전후의 메모리 누수 여부에 대한 파악 가능


 

 

 

 

 

4. 체크를 원하는 항목,  프로세스 항목의 우측에 ‘Update Heap’ 아이콘이 출력되는지 확인합니다.


5. 아래와 같이 ‘Heap’ 탭에 데이터가 출력되는지 확인합니다.


6. Heap’ 탭에 데이터가 출력되지 않는다면, 우측의 ‘Cause GC’ 버튼을 눌러줍니다.

  Cause GC

    - 해당 프로세스에게 가비지콜랙션 요청

    - 이때 메모리가 해제되거나 증가되는 상황을 통해 메모리 누수 시점을 추측 가능


7. Heap’ 탭의 상단영역에는 현재 프로세스에 할단된 Heap 정보가 출력됩니다.


8. 하단영역에는 각 Type별 내역을 확인하실 수 있습니다.