2019의 게시물 표시

AWS Lightsail에서 Ubuntu 인스턴스 생성하기

이미지
AWS에서 제공하는 클라우드 호스팅 서비스 중에 Lightsail이라는 서비스가 있다. 기존 AWS의 EC2 인스턴스와 비교하면 보다 저렴하고 보다 쉽고 간단히 이용할 수 있는 장점이 있다. 물론 단점이 있는데 쉽고 간단한 대신 상세한 설정이 불가능하고, 현재까진 사용중인 인스턴스의 스펙을 조정하는 기능도 없다. 서버를 돌리다가 보다 좋은 성능이 필요할 시 새롭게 서버 인스턴스를 생성해서 직접 마이그레이션 해야 한다. 어쨌든 클라우드 호스팅을 처음 시도하려는 개발자라면 충분히 매력적인 서비스라고 단언할 수 있겠다. 1.인스턴스 생성 준비 본인은 이미 운영 중인 인스턴스가 있어서 독일과 서울에 존재하는 인스턴스의 정보가 표시된다. 인스턴스 생성 버튼을 클릭하여 새로운 인스턴스 생성을 시작한다. 2. 인스턴스 생성 인스턴스 위치 생성할 인스턴스의 위치를 결정한다. 당연히 서울을 선택하는 것이 퍼포먼스가 제일 좋다. 본인은 필요에 의해 독일로 선택하였다.  인스턴스 이미지 선택 인스턴스에 설치할 이미지를 결정한다. 필요한 앱들을 직접 설치할 것 예정이므로 OS 전용 을 선택하고 실제로 설치할 운영체제( Ubuntu )를 선택한다. SSH 키 페어 관리자 인스턴스가 설치되고 나면 인스턴스에 접속할 때 SSH 프로토콜을 사용하게 되는데 이때 사용할 SSH 키 페어가 필요하다. 조금 더 알아보면, 기존에 일반 우분투를 원격지에 설치한 후 해당 머신으로 SSH 접속을 할때 해당 머신의 ID와 Password를 통해 접속을 하게 되는데 클라우드 서비스로 설치되는 인스턴스의 경우 온갖 해킹공격의 먹이감이 된다. 설치한 후 10분만 지나도 22번 포트로 수많은 SSH 접속 시도가 발생하는 것을 알수 있다. 그래서 AWS는 SSH 접속시 SSH 키 페어라는 일종의 인증서 문서를 생성하고 이 문서를 통해서만 SSH 접속을 허용해 준다. 처음 인스턴스를 생성하는 경우에는 새로 생성 을 선택하여 SSH 키 페어를 ...

Cloud9 IDE 설치 및 이용 (Ubuntu 기반)

이미지
본인은 최근 2년간 Cloud9을 주력 IDE로 사용하고 있다. Cloud9을 이용해서 다음과 같은 언어들을 개발하고 있다. Front-End: HTML5(bootstrap) + Javascript + Ajax Back-End: Node.js + MongoDB 2년간 사용 소감을 말하자면... 최고다. 더 이상의 IDE가 필요 없었다. 적어도 본인이 하는 영역에서는 말이다. Cloud9을 사용하는 방법이 몇가지 있는데, 우선  c9.io 와  AWS Cloud9 와 같이 온라인 서비스에 가입해서 사용하는 방법이 있다. AWS Cloud9의 경우 아직 한국 리전에서는 지원되지 않는다. c9.io의 경우 초기 Node.js를 개발할 때 사용했었다. DNS에 HTTPS까지 지원되어서 아주 편했으나 사이즈가 있는 호스팅 서비스를 하기에는 무리가 있어 개발한 소스 코드를 Vultr에 올려서 서비스를 시작했다. 본 포스팅에서는 보인이 사용하는 머신(로컬 머신 or 호스팅 머신)에 Cloud9을 설치하고 실행하는 방법에 대해서 기술한다. 환경은 Ubuntu를 이용한다. 1. Cloud9 소스 클론 git을 이용해서 Cloud9의 소스를 clone한다. c9sdk 디렉토리로 소스코드가 다운로드 된다. 1 git clone https: / / github.com / c9 / core.git c9sdk cs 2. 다운로드한 디렉토리로 이동 및 디렉토리 내용 확인 1 2 cd  c9sdk / ls cs 3. Cloud9 빌드 script 디렉토리로 이동한 후 내용을 확인 1 2 cd  scripts / ls cs 빌드를 위해 install-sdk.sh 스크립트를 실행한다. 1 . / install - sdk.sh cs ...

JSON에 대한 이해

JSON은 JavaScript Object Notation의 약어로 직역하면 Javascript용 객체를 표기하는 방법을 의미한다. 컴퓨팅 노드에서 데이터를 사용할때 혹은 노드간에 데이터 주고 받을 때 그 데이터는 구조를 가질 수 있는데 그 구조를 정의하는 방법 중 하나이다. 데이터 기술 방식으로 예전부터 사용되는 방식 중 하나로 XML(Extensible markup Language)이 있다. XML을 이용하면 데이터의 구조를 원하는 형식으로 정의하고 그 형식에 맞게 데이터를 기술할 수 있는데 문제는 XML도 일종의 markup 랭귀지이기 때문에 <tag></tag> 방식으로 기술을 해야하고 이걸 매번 코드로 작성하기가 여간 귀찮은게 아니다. JSON 표기법을 이용하면 이 지독한 <tag></tag> 방식에서 해당될 수 있기 때문에 보다 쉽고 직관적으로 데이터를 기술할 수 있다. 예를 들어 Tommy가 Alice에게 메시지를 전달하고자 한다고 가정하자. Message라는 구조 안에 From, To, Title, Body라는 서브 항목이 필요하다. * XML 표기 방식 1 2 3 4 5 6 7 8 9 < ?xml   version = "1.0" ? > < Message >      < from > Tommy < / from >      < To > Alice < / To >      < Title > Hello Alice < / Title >      < Body >         Do you have some money? ...

Color Scripter를 이용해서 블로그에 소스코드 포스팅하기

이미지
블로그에 소스코드를 넣고 싶을때 사용할만한 괜찮은 하이라이트 서비스를 발견했다. Color Scripter 국내 젊은 개발자가 6년째 운영중인 서비스인데 지금까지 사용해본 기능 중에 가장 괜찮은 퀄리티를 제공하고 있었다. 개발자의 노고에 경외를 표한다. 사용법도 간단하다. 언어: 하이라이팅할 언어를 선택한다. 상당수는 자동으로 감지된다. 스타일패키지: 하이라이팅할 코드의 스타일을 정하는데 서브라인 블랙이 맘에든다. 스타일이 적용된 코드를 블로그에 포스팅하려면 세부설정이 필요하다. 우선 기본적으로 글꼴과 줄간격, 줄번호 등을 삽입할 수 있는 설정이 존재한다. 스타일이 적용된 코드를 포스팅하려면 아무래도 HTML코드화 된 소스 코드를 블로그에서 HTML 형태로 삽입하는게 좋다. 이 기능은 세부설정의 HTML태그 자체 복사 부분을 선택한다. 추가로 삽일할 코드의 특정 라인의 길이가 길 경우 가로 크기 제한 을 걸어주는 것이 좋다. 저장 후 페이지 우측하단에 클립보드에 복사를 클릭하면 스타일이 적용된 코드가 HTML 형태로 클립보드에 저장 된다. 우선 포스팅을 시도해 보자 글 쓰기 메뉴에서 HTML로 선택한 후 소스코드를 복사한다. * 만약 하이라이팅하고자 했던 원본 소스자체가 복사된 경우 세부설정에서 HTML태그 자체 복사를 선택하지 않은 것이니 재시도 하자. 다음과 같이 소스코드가 삽입되는 것을 확인할 수 있다. 그런데 생각보다 코드의 폰트가 너무 크다. 소스코드의 폰트 사이즈를 조정하기 위해서는 아쉽게도 HTML 코드를 직접 수정할 수 밖에 없다. 글 쓰기 매뉴로 돌아가서 HTML 항목 중 첫번째 줄의 style 항목에 원하는 font-size를 직접 입력한다. 첫번째 줄 코드에 아래와 같이 font-size: 12px; 를 추가한다. (원하는 사이즈로 설정) 1 < div   class = "colorscripter-code"  ...