728x90
실버라이트 2 의 한글판 비주얼 스튜디오 2008 SP1 버전용 공개가 미루어 지는 것에 대한
불만을 성토한 것이 불과 24시간도 되지 않았는데,
상당히 민망하게도 조금전에 한글버전이 공개가 된 것 같습니다. ;;;

지금 마이크로소프트 다운로드 사이트를 직접 방문하시거나,
silverlight.net 사이트를 통해서 다운로드 사이트로 연결하실 수 있습니다.


728x90
728x90
엊그제 실버라이트 2 정식버전이 발매되면서 RIA 관련 개발자, 디자이너들 사이에 많은 포스팅들이 새롭게 올라오고있습니다. 그만큼 오래 기다렸고 기대가 되는 정식버전 발표이기 때문이겠지요. NoPD도 최근 추세(?)에 발맞추어 회사에서 진행되는 많은 프로젝트에 AJAX 를 넘어서 플랫폼 으로써의 RIA 의 역할에 대한 고민을 많이 하고 있는터라 테스트를 해보려고 부랴부랴 서둘렀습니다만...


실버라이트 2 개발도구를 설치하기 위한 기본조건이 Visual Studio 2008 에 서비스 팩 1이 설치된 개발 환경이라야 하는데, NoPD의 개발도구가 SP1이 미처 설치되지 않은터라 부랴부랴 느린 인터넷 속도를 감내해가며 (인도 출장중입니다 ;;) 다운로드 받아서 설치했습니다. 그런데, NoPD가 설치한 SP1 은 한글판! 반면 실버라이트 2 개발도구는 영문과 일본어로만 발매된 상태! 꽥! 실버라이트 2 개발도구의 언어와 맞지 않아서 설치를 진행하지 못하는 문제가 발생한 것입니다 ;;;;;;;;;


여기저기 수소문 해보니 VS2K8 SP1 한글버전 사용자들은 조금 더 기다려야 할 것 같다고 합니다. 다시 베타2를 설치하고 실버라이트 2 를 살펴봐야 하는게 맞는지 한글 버전 출시를 기다렸다가 하는게 더 나은건지 고민이 되는군요. 정식 발표를 하면서 한글 버전을 발표하지 않다니, 조금 실망입니다! 마이크로소프트!

- NoPD -
728x90
728x90
마이크로소프트가 의욕적으로 사업은 전개하고 있는 RIA (Rich Internet Application) 분야의 도구인 실버라이트(SilverLight)의 버전 2.0 이 오늘 공개되었다. 그동안 SilverLight 2 Beta 를 통해서 알려졌던 대부분의 기능들이 그대로 구현되어 출시되었다. 이미 많은 SilverLight 2 Beta 에 대한 소개에서 이번 버전의 특징과 강력해진 기능들이 소개되었지만 정식출시를 즈음하여 한번더 이러한 특징들을 살펴보고 RIA 어플리케이션 개발에 어떻게 응용할 수 있을지 생각해 보는 것도 나쁘지 않을 것 같다.

WPF UI FrameWork의 지원

베타 버전에서부터 누누히 강조되어온 특징인데, 닷넷 프레임웍 3.0 에서 WPF 를 개발했던 경험이 있는 사람이라면 어렵지 않게 실버라이트 2로 RIA 어플리케이션을 만들 수 있는 환경이 제공되는 것이다. 즉, WPF 기술이든 실버라이트 2 기술에 대한 한번의 기술 습득만으로 서로의 기술을 응용할 수 있는 잇점이 생기는 것이다.

Rich 컨트롤의 제공

기존 실버라이트 1.x 에서 가장 많은 사용자들의 고민이 바로 충분하지 못한 기본 컨트롤에 대한 것이었다. 실버라이트 2 에서는 기본적으로 제공되는 많은 Rich 컨트롤들로 어렵지 않게 RIA 어플리케이션을 개발할 수 있다. 체크박스, 라디오 버튼 같은 간단한 컨트롤 부터 데이터 그리드에 이르는 많은 유용한 컨트롤들이 기본적으로 제공된다.

다양한 네트워킹 방법의 제공

일반적인 웹 어플리케이션 제작에도 많이 사용되는 REST, WS*/SOAP, RSS, 표준 HTTP 뿐만 아니라 독특하게도 Socket 으로 통신할 수 있는 방법이 실버라이트 2 에서 제공이 된다. 표준 웹 통신 방법들은 당연히 크로스 도메인에 대한 지원이 되고 있으며 Socket 통신의 제공으로 보다 다양한 응용기술의 구현이 가능할 것으로 예측되고 있다.

닷넷 기반의 Rich 클래스 라이브러리 제공

닷넷에서 제공되던 제네릭스(Generics), 링크(Linq)와 같은 다양한 클래스 라이브러리들이 실버라이트 2 에서도 사용할 수 있게 되었다. 닷넷 기반이라고 이름 붙이긴 했지만, 실제로 닷넷 프레임워크가 필요한 것은 아니며 각 크라이언트 운영체제에 맞는 런타임 모듈만 설치가 되어 있으면 이 모든 기능들의 사용이 가능하다.

그 외에, 미디어 부문에서도 많은 변화가 있는 것으로 알려져 있는데 보다 자세한 내용은 마이크로소프트 기술 담당 부사장 스캇 구슬리의 블로그, RIA 분야 MVP 들의 웹사이트에 공개된 글을 참고하는 것이 더 좋을 것 같다. 바야흐로 실버라이트 2 가 RIA 세상에 본격적으로 발을 내딛기 시작한 것이 아닌가 싶다. 다만, 같이 공개될 것으로 알려졌던 RIA 저작도구 블렌드 2.5 는 공개되지 않았다.

p.s. 재미있는 것은 실버라이트 2 개발을 위한 이클립스 플러그인이 나온다는 것인데, 자세한 건 스캇의 로그를 참고하기 바란다.

- 스캇 구슬리의 Silver Light 2 발매(?) 소식
- 팀 하우어의 실버라이트 2 새로운 컨트롤들 소개
- 스캇 한셀먼의 실버라이트 2 발매 소식

  * 이 포스트는 blogkorea [블코채널 : 웹, 컴퓨터, it에 관련된 유용한 정보 및 소식] 에 링크 되어있습니다.   

- NoPD -
728x90
728x90
 
 
 

728x90
728x90
윈도우 모바일 6 부터 기본적으로 SQL Server 2005 Compact Edition (이하 SQL CE)가 기본적으로 OS 이미지에 올라가 있습니다. 배포하는 과정 없이 쉽게 사용할 수 있다보니 이전보다 개발자들이 SQL CE를 자주 쓰는 듯한 요즈음입니다. 하지만 몇가지 이유들로 인하여 데이터 엑세스시에 Not Enough Storage 에러를 발생하는 경우가 있는 것 같습니다.

윈도우 모바일 6 의 DLL 메모리 적재 방식

모든 문제점들의 원인이라고 단정지을 수는 없지만 기본적으로 윈도우 모바일 6가 DLL을 메모리에 적재하는 방식에 대하여 한번 집고 넘어갈 필요가 있습니다. SQL CE 팀블로그에 올라온 포스팅(http://blogs.msdn.com/sqlservercompact/archive/2007/10/26/troubleshooting-can-t-load-sqlce-dll.aspx) 에서 해당 내용을 발췌해 봤습니다.

When a DLL is loaded in one process, Windows CE reserves that address space in every process address space. Multiple processes that use the same DLL share it at the same relative address in every process. If your application does not use the same DLL, it cannot use the memory that is reserved for that DLL. In other words, Windows CE does not map a RAM-based DLL at an address where another process maps another DLL. For example, if Process A loads DLL X at address 0x00970000, Windows CE does not map DLL Y in the Process B address space at 0x00970000. Instead, Windows CE seeks the next lower address that is available, depending on the size of DLL Y. So if DLL Y is in the size range of 128 KB, Windows CE selects 0x00950000 if that address is available for Process B. Because of the way that Windows CE allows processes to share a common DLL, Windows CE does not permit two different processes to load two different DLLs at the same relative address of each process.

당연할 이야기일지 모르지만 서로 다른 DLL 에게 동일한 메모리 어드레스를 할당하지 않는 다는게 요입니다. 당연한 이야기도 한정된 메모리 영역을 가지고 있는 스마트 디바이스로 넘어오면 치명적인 문제가 될 수 있습니다. 여러개의 분산된 DLL 을 동적으로 로딩하는 어플리케이션이 있다고 가정하면, 모든 DLL 들은 자신의 용량과 관계없이 최소한의 메모리 이격을 둔채 (본문에서 128KB) 메모리를 할당받게 될 것입니다. 이는 곳, 메모리 영역이 금방 소진될 수 있다는 의미가 됩니다.

닷넷 컴팩트 프레임워크와 메모리 적재 방식의 상관관계

컴팩트 프레임워크를 포함한 모든 닷넷 프레임워크는 관리코드 (Managed) 사용시에 자동으로 GC (Garbage Collector)가 사용하지 않는 메모리 영역의 객체 인스턴스를 해제하고 자원을 해제시킵니다. 그런데 컴팩트 프레임워크에서 사용되는 SQL CE 관련 객체들에 자원 해제와 관련한 내부적인 문제가 있는 것으로 보입니다.  (참고 : http://support.microsoft.com/kb/824462, SqlCeCommand objects are not automatically disposed if you use a SqlCeDataAdapter object)

If you use the SqlCeDataAdapter object to populate a DataSet object, and you do not explicitly call the Dispose method for all the associated SqlCeCommand instances, you may receive the following error message:
Error Code: 8007000E
Message: Not enough storage is available to complete this operation.
Note The type of SqlCeCommand instances may be select, insert, update, or delete.

쿼리문 할당을 위해 사용한 SqlCeAdapter.SelectCommand, SqlCeAdapter.InsertCommand, SqlCeAdapter.UpdateCommand, SqlCeAdapter.DeleteCommand 객체가 할당된 SqlCeCommand 객체를 명시적으로 소멸(Dispose) 시켜줄 것을 권고 하고 있습니다. 추측컨데, 데이터 Row가 많은 자료의 경우 데이터를 Insert 하면서 객체를 소멸시키지 않고 반복적으로 루프문에서 사용할 가능성이 높은데 이 과정에서 메모리에 계속 새로운 영역들이 Reserve 되는 것이 아닌가 싶습니다.

다만 의아한 것은 이러한 에러가 발생한 시점에 메모리 용량을 점검해보면 수십메가 이상이 남아있는 경우가 많습니다. 이는 아마도 실제 메모리가 소모되어 발생했다기 보다 메모리 주소를 더이상 Reserve 할 수 없어서 발생하는 것이지 싶습니다.

참고자료

- INFO: Understanding Windows CE DLL Load Failures (http://support.microsoft.com/kb/326163)
- Methods to dispose of SQL Server CE, SQL Server 2005 Compact Edition, or SQL Server 2005 Mobile Edition managed objects from memory (링크)
- SQL Mobile 2005 - Error : Not Enough Storage is Available (링크)
728x90
728x90

터미널 서버의 설치를 마치고 서버를 재부팅 하고 나면 잠시 변경된 내용이 적용되고 다시 서버 환경으로 로그인을 할 수 있다. 서버 관리자를 실행하고 설치한 터미널 서버 역할이 잘 정의가 되었는지 확인해 볼 수 있다. 이전에 항목이 0개였던 역할 노드에 터미널 서버가 추가된 것을 확인할 수 있고 우측의 Detail 팬에서도 해당 내용을 같이 확인할 수 있다.

그런데 왼쪽의 노드 트리를 유심히 보면 처음 보는 용어가 위치해 있는 것을 알 수 있는데, 이름하여 "TS RemoteApp"이다. TS RemoteApp 은 윈도우 서버 2008 에서 터미널 서버가 갖고 있는 기본 기능이다. Citrix의 Presentation 서버 (MetaFrame) 를 들어본 적이 있다면 익숙할 Seamless 환경을 지원하던 Presentation 서버의 Publish 기능을 알고 있을 것이다. 퍼블리싱 된 소프트웨어는 사용자 클라이언트 PC 에서 마치 로컬 실행되는 어플리케이션처럼 구동되는 모습에 많이들 감탄했을 것이다.

TS RemoteApp 은 Citrix와 같은 솔루션의 도움 없이 윈도우 서버 2008과 터미널 서버 역할 만으로 이러한 기능을 제공해 준다. 강력한 컴퓨팅 파워를 필요로 하는 어플리케이션이나 공통 어플리케이션을 서버에 설치하고 RemoteApp 으로 제공하면 일종의 SaaS (Software as a service) 개념이 가미된 사용자 컴퓨팅 환경을 구성할 수 있게 된 것이다.

RemoteApp 프로그램 추가

서버 관리자에서 터미널 서버 노드를 선택하면 제일 오른쪽에 위치한 작업팬에 사용자가 할 수 있는 몇가지 액션에 대한 기능들이 보인다. 그 중 맨위에 위치한 "RemoteApp 프로그램 추가" 기능을 통해서 서버에 설치된 프로그램을 터미널 서버 RemoteApp 으로 사용자들에게 제공할 수 있도록 설정할 수 있다. 프로그램을 추가하기 전에 배포할 어플리케이션이 서버에 설치가 되었는지 확인하도록 하자.

기능을 실행하면 무척 간단한 마법사가 어플리케이션 배포를 도와준다. 특별한 설정이 필요 없다면 무조건 "다음"만 선택해도 되지만 처음 RemoteApp 으로 어플리케이션을 배포한다면 어떤 설정들을 할 수 있는지 간단하게 살펴보는 것도 좋다.

마법사의 두번째 화면은 정상적인(?) 방법으로 설치되어 윈도우의 프로그램 관리자가 설치 / 제거를 지원할 수 있는 모든 어플리케이션이 목록에 출력된다. 만약 특별한 설치과정이 제공되지 않고 Stand-Alone 으로 설치된 프로그램을 배포하고자 한다면 "찾아보기" 기능을 이용해서 직접 실행파일을 배포해도 상관없다. 이쯤에서 아이디어가 떠오른 사람도 있겠지만, PDF 와 같은 문서파일을 RemoteApp 으로 배포하는 것도 물론 가능하다. 정책이라던가 일정 처럼 공유되어야만 하는 정보를 넘길수도 있을 것이다.

마법사를 통한  간단한 설치 절차가 끝나고 나면 중앙의 팬 하단에 RemoteApp 프로그램 목록에 설정한 프로그램이 등록된다. 등록한 이름과 경로, TS 웹 액세스, 인수 등의 항목이 보이는데 TS 웹 액세스에 관해서는 다음 아티클에서 상세히 설명하도록 하겠다.

등록된 어플리케이션 목록에서 마우스 오른쪽 버튼을 누르면 RemoteApp 프로그램에 대하여 관리자가 할 수 있는 작업 목록이 팝업된다. 등록된 어플리케이션을 사용자들이 액세스 할 수 있도록 하기 위한 방법은 여러가지가 있는데 다음 아티클에서 소개할 TS 웹 액세스가 가장 진보된 형태의 배포 및 액세스 방법이다. 아직 웹 액세스는 설치하지 않았으므로 RDP 파일과 MSI 파일로 배포하는 방법을 볼 까 한다.

RDP 파일은 일반적으로 터미널 서버 액세스를 위해 RDP 설정 파일을 만들어 주는 것과 동일하다. MSI 파일형태로 만들게 되면 사용자 PC 에 프로그램을 설치하는 것과 동일한 (즉, 프로그램 추가 제거에서 RemoteApp 어플리케이션을 제거할 수 있는 형태) 방식으로 설치가 된다. 다만, 이 두가지 방법의 단점은 사용자에게 RDP 파일 혹은 MSI 파일을 배포해야 하기 때문에 1) 공유폴더를 통한 배포, 혹은 2) 액티브 디렉토리 정책을 통한 배포를 해야만 한다. 테스트 환경은 AD가 설치되어 있지 않아 공유폴더를 통해서 MSI 파일을 배포해 보았다.

 

배포된 MSI 파일을 설치하고 나면 사용자의 클라이언트 PC 에 "원격 프로그램" 이라는 프로그램 그룹이 생성되고 그 하단에 배포되는 모든 RemoteApp 프로그램이 설치된 모습이 보인다. 물론, 마법사를 통해 MSI 패키징을 하는 과정에 다른 경로나 이름을 지정했다면 그 설치 위치는 달라졌을 것이다. RDP 파일을 배포하는 경우는 이러한 절차나 모습없이 RDP 파일을 직접 더블클릭해서 RemoteApp 을 구동시키게 된다.

설치된 RemoteApp 구글 어스를 실행하면 위의 사진처럼 마치 로컬 어플리케이션이 실행되는 것과 같은 모습을 보여준다. Seamless 방식으로 어플리케이션이 구동되고 있기 때문이며 사용자의 높은 데스크탑 사용자 경험을 느낄 수 있는 방식이다. RemoteApp 은 Citrix의 Presentation 서버가 제공하는 다양한 기능 (예>로드밸런싱, 어플리케이션 격리화 환경 등) 을 제공하지는 않지만 중소규모의 엔터프라이즈 환경에서라면 얼마든지 다양한 아이디어를 통해서 업무에 응용해서 사용할만한 매력적인 기능임에는 틀림이 없다.

- NoPD -

728x90
728x90

윈도우 서버 2008 (이하 WS2008 혹은 W2K8) 이 등장하면서 터미널 서버 및 터미널 서버 클라이언트에 다양한 변화가 생겼다. 윈도우 비스타가 등장하면서 알려진 내용들도 많지만 터미널 서버 측면에서 변화된 내용도 많기 때문에 꼼꼼히 살펴보지 않으면 멋진 기능들과 강력해진 기능들을 제대로 활용하기 힘들 수도 있다. 터미널 서버의 설치부터 다양한 옵션, 각 옵션이 가지는 의미들을 하나씩 살펴보면서 강력해진 터미널 서버의 진면목을 하나씩 알아보려고 한다.

터미널 서버는 하나의 "역할"

WS2008이 등장하면서 새롭게 등장한 용어가 "역할" 이다. 영문 버전에서 Role 로 되어 있는 용어인데, 많은 기능들이 컴포넌트화 되어 레고 블럭처럼 조립할 수 있는 형태로 WS2008에서 제공된다. 터미널 서버 역시 이러한 컴포넌트로 분류되어 기본적으로 설치 가능한 16개의 역할중 하나로 구분된다. 서버관리자의 역할 노드를 선택하면 우측에 역할 추가 버튼이 보이게 된다.

WS2008 에서 제공되는 16개의 항목들을 자세히 살펴보면 이전에 윈도우 기능 추가/제거에서 선택할 수 있었던 항목이라는 점이 눈에 띈다. 우리는 터미널 서버에 관한 역할을 설치할 것이므로 밑에서 세번쨰의 터미널 서비스 항목을 선택하고 다음 화면으로 넘어가도록 하자.

이전까지 터미널 서버에 대해서 우리가 선택할 수 있는 옵션은 거의 없다고 해도 과언이 아니었다. 그러나 WS2008 부터 새롭게 제공되는 터미널 서버 관련 기능들이 무척이나 많다. 새로운 터미널 서버에 대해서 먼저 알아보고 나머지 TS의 서비스들에 대해서 차근차근 살펴보도록 하자. 일단 터미널 서버만 선택하고 계속 진행하자.

응용 프로그램 호환성과 관련한 경고 메세지를 읽을 수 있는데, 이전 버전의 터미널 서버에서도 역시 비슷한 유의 사항이 있었다. 다만 이렇게 안내가 되었던 것은 아니고 암암리에 그래야만 한다고 널리 알려져 있었다. 경고 문을 가볍게 읽고 넘어가면 더 많은 글자가 화면에 등장하며 우리를 압박한다. 윈도우 비스타, WS2008 등 최신 운영체제에만 해당되는 내용인데 네트워크 수준 인증 (NAP, Network Authentication Protection) 을 쓸 것인지에 관한 설명이다. 보안적인 측면에서 고려해 볼때 사용하는 것이 좋지만 모든 클라이언트가 윈도우 Vista 이상의 최신 OS가 아니면 필요 없음을 선택해야 터미널 서비스에 모든 사용자들이 접속할 수 있으므로 조심해서 선택하도록 하자.

너무나 익숙한 내용의 라이선스 모드 선택 화면이다. 장치 단위의 라이선스 모든는 터미널 서비스 라이센스 (TS Client Access License) 가 하드웨어 단위로 발급되는 모드이고 사용자 단위 라이센스는 로그인하는 사용자에 따라 라이센스가 발급되는 모드이다. 우리는 일단 라이센스도 가지고 있지 않고 ^^; WS2008 을 학습하는 과정이므로 "나중에 구성"을 선택하도록 하자. 라이센스 서버 없이 장치, 사용자 단위 모드를 선택한 경우 끊임없는 경고 팝업에 시달릴 수 있으니 조심하자.

윈도우 서버 2003 이후부터는 Remote Desktop Users 라는 터미널 서비스 사용자 전용 유저그룹이 사전에 정의가 되어 있다. 즉, 사용자를 해당 그룹에 포함시키는 것만으로 터미널 서비스에 접속할 수 있는 권한을 줄 수 있게 되었다. 이미 정의된 사용자 그룹이나 사용자가 있다면 이 단계에서 추가해줘도 되지만, 나중에 별도로 Remote Desktop Users 그룹에 넣어줘도 상관 없으므로 무시하도록 하자. 여기까지 설정이 끝나면 마지막으로 선택한 옵션들에 대한 요약 정보를 확인하고 터미널 서비스 설치를 시작할 수 있다.

터미널 서버의 설치는 윈도우의 로그인 체계에 변화가 생기는 부분이기 때문에 서버를 재부팅 해야만 한다. 복잡해 보이지만 Next 버튼만으로도 충분히 정복이 가능한 설치 과정이다. Next 를 무작정 누르기 보다는 각 화면에서 WS2008 이 묻고 있는 선택 항목들이 어떤 영향을 줄 수 있고 무엇을 고민해야만 하는 것인지를 잘 생각하고 진행한다면 번거로운 설치/제거 작업 없이 한번에 훌륭하게 설치를 마칠 수 있을 것이다.

- NoPD -

728x90
728x90

IDC 에서 근무하는 사람이거나 수많은 서버로 구성된 Farm 을 관리하는 사람들이 이야기하는 많은 고충중 하나는 개별 서버들의 접속 정보를 관리하고 데스크탑에서 가장 손쉽고 편리하게 연결하고 관리하는 방법이 없을까 하는 것이다. NoPD는 IDC 에서 근무하지는 않지만 3년동안 글로벌 프로젝트에 참여하고 진행하다 보니 IP 주소조차 변화무쌍한 많은 서버들을 관리하는데 어려움을 느끼고 적당한 프로그램이 없을까 하고 고민의 나날을 보내고 있었다.

NT 서버 운영자들이 자주 들르는 ServerInfo 사이트 (http://www.serverinfo.pe.kr) 에 게시물들을 검색해보니 아니나 다를까 운영자님의 친절한 안내로 여러가지 프로그램들이 소개되어 있었다. 다양한 OS와 프로토콜을 아우를 수 있는 도구를 찾아보니 가장 적당한 것이 바로 "mRemote" 라는 프로그램이었다. 이 프로그램을 적절하게 사용하기 위한 몇가지 조건이 있는데,

- Windows XP 이상의 Windows 계열 OS
- .NET Framework 2.0 이상 버전의 풀 패키지 혹은 Runtime 모듈 설치
- RDP 접속이 필요한 경우, Remote Desktop Connection Client 6.0 이상 버전 설치
- SSH 등의 보안된 텔넷 접속이 필요한 경우 PuTTY 설치 필수
- Citrix Presentation Server 접속을 위한 ICA Client 설치

...정도로 요약할 수 있을 것 같다. 위의 조건중 프로토콜이 관련된 항목들은 개인의 필요에 따라서 취사선택하여 설치하면 되는 부분이다. 이쯤되면 이 프로그램이 어떻게 동작하는지 대충 감이 오지 않을까 싶다. 그렇다, 이 프로그램은 흩어져 있는 다양한 원격 서버 접속 프로그램 및 방법들을 하나의 Form 안에서 통합 관리하고 탭을 이용하여 여러 윈도우 창을 열 필요없이 관리할 수 있도록 도와주는 프로그램인 것이다.

 

왼쪽 편에 위치한 Connections 팬에 우선 서버의 접속 정보 노드를 등록하는 것으로 설정 작업이 시작된다. 편리하게도 Connections 팬의 폴더 단위로 XML 형태의 접속정보 백업이 가능하다. 물론 패스워드는 MD5 암호화가 되기 때문에 mRemote 에서만 사용할 수 있다. Connections 노드를 만들면 하단의 Config 팬에서 IP, 계정, 비밀번호, 도메인 등의 필요한 정보 설정이 가능하다. 각 서버에 접속하는 방법은 간단하게 Connections 탭의 노드를 더블클릭하면 된다. 개별 서버 및 프로토콜 별로 오른쪽 메인 스크린에 탭 형태로 접속된 화면이 보여지게 된다.

개발자라면 최소한 웹서버 여러대와 DB 서버등을 접속해서 작업을 하게 되는데 하나의 어플리케이션에서 아름답게 탭 단위 관리가 되는 모습이 기쁘다 못해 진한 감동으로 다가온다. 프로그램도 여러번의 버전업을 거치면서 꽤나 안정된 모습이고 오픈소스 프로젝트이기 때문에 소스코드를 참조하여 나만의 원격 서버 접속 통합 관리도구를 만들어 볼 수 있는 기회도 제공된다. 관련된 자료를 보기 위해서는 공식 웹사이트 (http://www.mremote.org/)를 방문하거나 SourceForge 에서 mRemote 를 검색해보면 된다.

- NoPD -

728x90

+ Recent posts