일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- Frida
- frida-server
- 3utools
- 메모리취약점
- 무결성검증
- m5stack
- reverse shell
- goorm
- 위변조탐지
- 동적분석
- fridump
- IDE
- 중요정보검색
- ios
- 모바일해킹
- frida설정
- android
- irunit
- 무료웹ide
- fowarding
- frida서버설정
- checkrain
- 프록시
- 웹ide
- frida-client
- 안드로이드동적분석
- 모바일보안
- m5go
- goormide
- checkra1n
- Today
- Total
WhiteHat Security
구름 IDE - 웹 개발, 실시간 협업 본문
지인과 협업할 일이 생겨서 어떻게 할지 많은 고민을 하다가 구름 IDE를 선택하게 되었습니다.
구름 IDE는 웹상에서 다양한 언어의 프로그래밍을 할 수 있고, 결과를 실시간 확인 할 수 있습니다.
또한 바로 URL을 통해 개발한 결과물에 접근 할 수 있으며 SSH, 포트 포워딩등을 지원합니다.
이 모든것들을 현재 무료로 사용할 수 있으며, 유료 결재시 더 높은 컴퓨팅 파워와 저장공간을 제공합니다.
그리고 더욱 놀라운건 문의 사항이 있을때 거의 실시간으로 채팅을 통해 어려움을 해결할 수 있었습니다.
그럼 하나씩 살펴보도록 하겠습니다.
회원가입
저는 회원가입이 복잡한 서비스를 아주 싫어합니다. (다들 그렇겠지만...)
역시 개발 도구 답게 다양한 종류의 SNS로그인을 지원합니다. 따라서 회원가입이 아주 쉽습니다.
(한가지 놀라운점은 PAYCO 로그인도 지원한다는 점입니다 ㅎㅎ 이런거 보신적 있으신가요?)
사실 많은 서비스들을 사용하다 보면 각종 서비스들에서 날라오는 광고성 메일들이 짜증날때도 많지만
제가 써본 구름은 거의 쓸데 없는 메일을 보내지 않습니다.
이런기조 잘 유지 되었으면 좋겠습니다.
개발언어
구름은 다양한 개발언어를 지원합니다.
이런것들이 웹상에서 가능한 이유는 도커의 역할이 크지 않았나 생각이 됩니다.
많은 개발언어를 세팅해놓은 도커를 준비해놓고 사용자가 필요한 환경을 제공해주기 때문에,
다양한 개발언어를 지원할 수 있는것 같습니다.
구름 서비스의 초창기에는 C, 자바, 파이썬 등 몇가지 언어만 지원됬었지만
현재는 텐서플로우, Go, R, 아두이노 등 정말 다양한 개발 환경을 제공합니다.
현재까지 저는 React, Node.js, express, Python을 사용해 봤지만 모두 원할하게 사용할 수 있었습니다.
앞으로도 다양한 언어를 지원하기를 기대해 봅니다.
가격정책
앞서 말씀드린바와 같이 구름IDE는 클라우드 서비스위에 도커기반으로 운영되고 있습니다.
서두에 말씀드린 바와같이 무료로 1GB 메모리 저장공간 10GB 컨테이너를 5개까지 생성할 수 있습니다.
이런 환경으로도 기본적인 웹 개발, 간단한 실습, 개인 프로젝트 등을 별 무리 없이 진행 할 수 있습니다.
만약 좀 더 높은 컴퓨팅 파워와 저장공간, 다양한 환경을 동시에 실행하고 싶으시면 유료결제를 통해 해결 할 수 있습니다.
그 중에 눈에 띄는 기능은 항상 켜두기 기능입니다.
협업을 할때 컨테이너를 협업자와 공유해서 동시에 개발을 진행할 수 있습니다.
무료 기능으로는 컨테이너를 항상 켜둘수가 없어, 웹 개발시 서버를 켰다 껏다 해야하는 번거러움이 있습니다.
하지만 항상 켜두기 기능을 켜놓으면 항상 웹서버를 띄워 놓을 수 있고,
언제든지 결과물을 구름에서 제공하는 도메인을 이용해서 접속하여 확인 할 수 있습니다.
학생들은 좀 더 저렴한 가격에 사용할 수 있도록 가격정책을 갖고 있는 점도 눈에 띕니다.
개발환경
사용자는 최대 5개까지의 컨테이너를 생성 할 수 있습니다.
컨테이너 생성시에는
개발언어를 선택하여 본인이 사용하고자 하는 개발언어를 선택하여 컨테이너를 생성할 수 있습니다.
C언어를 선택했을때 기본적으로 Ubuntu 가 설정되는것을 확인 할수 있고, 컴파일러 버전, 디버거 버전정보 등을 확인 할 수 있습니다.
생성된 컨테이너에 접속 된 화면입니다.
우리가 많이 봐오던 IDE와 화면 구성이 유사합니다.
이렇게 웹을 통해서 개발하고 바로 빌드와 실행을 할 수 있으며 터미널을 통해 결과를 확인 할 수 있습니다.
사용자는 컨테이너의 root 권한을 갖고 있으며, 컨테이너 안에서 자유롭게 다른 프로그램을 설치 실행 할 수 있으므로,
원하는 환경구성 및 프로젝트를 진행해 나갈 수 있습니다.
SSH 설정
웹에서 터미널을 사용 할 수 있겠지만, 웹이라는 공간의 한계가 존재할 수 있으므로
SSH 설정을 하여 외부에서 컨테이너로 접속도 가능합니다.
비밀번호 발급버튼을 누르면 랜덤한 비밀번호가 발급이 되고,
사용자는 해당 비밀번호로 접속하여 SSH를 사용할 수 있습니다.
포트 포워딩
웹 개발시 DB를 필수적으로 사용하게 됩니다. 이때 우리는 컨테이너에 원하는 DB를 설치할 수 있습니다.
로컬에서 개발할때는 그냥 localhost에 DB포트로 접속을 하면 되지만
우리의 컨테이너는 구름 서버에 존재하기 때문에 포트포워딩 설정을 통해 접속할 수 있습니다.
도메인 설정
웹프로젝트 진행시에는 원하는 포트에 구름에서 제공하는 도메인을 연결하여,
손쉽게 웹프로젝트의 결과물을 확인 할 수 있습니다.
예를 들어 React프로젝트를 진행할 경우, react-hot-loader를 통해 실시간으로 변경되는 결과물을
설정한 URL을 통해 확인 할 수 있습니다.
이러한 기능을 제공함으로써 사용자는 로컬에서 개발하는 것과 거의 똑같은 환경을 제공합니다.
저도 처음에는 웹에서 뭔가 개발하는게 불편하지 않을까? 로컬에서 ide로 개발하는게 속도가 빠르지 않을까?
라고 생각했었습니다.
하지만 실제 프로젝트를 진행해보면서 빌드 및 실행 속도에 대한 우려는 기우였다는것을 알게 되었습니다.
또한 터미널 접속과 root 권한을 제공함으로써, 로컬에서 가상머신을 띄워 개발하는 환경 수준으로
개발이 가능하였으며, 오히려 로컬개발에서는 할 수 없는 협업까지 가능하게 되었습니다.
협업하기
제가 가장 사랑하는 기능중 하나인 협업하기 기능입니다.
우리는 컨테이너를 동료와 공유하여 Google Docs 처럼 실시간으로 동시에 편집이 가능하며,
작업에 문제가 생겼을시에 작업내역을 확인 할 수 있고 특정 시점으로 복원하는 기능까지 갖추었습니다.
또한 채팅창을 통해 대화하면서 작업을 진행해나갈 수 있으며,
동료가 현재 작업하고 있는 위치 확인이 가능하고
채팅창으로 파일링크를 전송하여 동료가 손쉽게 해당위치로 이동하도록 할 수 도 있습니다.
이러한 점은 별도의 메신저 없이 구름IDE만으로 협업을 가능하게 합니다.
구름IDE의 고객대응
제가 또 한가지 놀라웠던 점은 아주 빠른 이슈 대응이었습니다.
구름IDE의 문제가 아니라 제 설정 미숙이었음에도 불구하고, 고객센터 상담기능을 통해 실시간으로 이슈를 해결 할 수 있었으며,
버그리포팅시에도 거의 몇시간안으로 대응을 하는 모습을 볼 수 있었습니다.
이러한 점이 저에게 서비스의 신뢰성을 더욱 높여주었습니다.
기타 기능들
이 외에도 코드 컨테이너로 파일 업로드 다운로드 기능, 코드 포맷팅, 테스트기능, 소스코드 관리, 테마 설정 등 다양한 기능들이 있습니다.
이러한 기능들은 사용자의 기호에 따라 다양하게 설정할 수 있으므로,
로컬에서 개발하는 듯한 느낌을 받게 해줍니다.
마치며,,
구름 IDE를 본격적으로 사용한지 4개월이 좀 지난것 같습니다.
길지도 짧지도 않은 시간이지만, 사용하면서 구름IDE가 아주 빠르게 변화하며 발전한다는 느낌을 받았습니다.
해외에도 많은 IDE서비스들이 있지만, 국내 사용자에게 좀 더 다가가기 쉬운 인터페이스로
제공되고 있는 서비스인것 같습니다.
이렇게 좋은 국산 서비스들이 더욱 성장할 수 있도록 바라며 이 글을 마칩니다.