Mac에서 Host 파일 수정하기

호스트 파일을 변경하는 것은 다양한 용도로 이용된다. 보통은 테스트 서버를 구축한 후에 접속하기 위해서 사용되는데, 특정 URL을 정해진 IP와 매칭하기 위해 사용한다.

 

맥에서 호스트 파일을 수정하기 위해서는 터미널(terminal)을 열고, 아래와 같이 명령한다.

$ sudo nano /private/etc/hosts

 

패스워드를 입력하고 나면, 호스트 파일이 열리고 커서를 움직여 추가할 내용을 입력한다. 그 후에 control + x 를 누르고 저장한 후 종료하면 된다.

52.78.110.26    dev.admin.xxxxxxxxx.kr

Day2 : 파이썬이란?

파이썬이란?

파이썬이라는 언어에 대해 이해하고 싶다면, 위키 문서를 한번 읽어보는게 좋다. 누가, 언제 만들었는지, 파이썬이 가진 특징과 장점들은 무엇인지 아주 친절하게 설명하고 있다. 만약 이 글을 몇 개의 키워드로 요약해보자면 ‘쉽다’, ‘간편하다’, ‘활용도가 높다’ 정도이겠다. 즉, 프로그래밍 입문자들이 접하기에 좋은 언어임과 동시에 구글 같은 거대한 서비스를 구축하는데에도 활용할 수 있다는 얘기가 되겠다. (결국 뭔가 멋진걸 만들고 싶어서 배우는거니…)

 

파이썬 시작하기

맥 사용자라면 Terminal을 이용해서, 이미 설치되어 있는 2.x 버젼을 사용할 수 있다. Terminal을 열고, $ python을 입력하면, >>> 라는 프롬프트가 구동되면서, 파이썬을 시작할 수 있다. 아래의 스크린샷은 파이썬을 구동한 후 간단한 계산을 해본 화면이다. (계산기로도 사용할 수 있다!)

Screen Shot 2016-08-24 at 10.46.38 AM

 

하지만 우리가 앞으로 배우게될 파이썬은 최신 버젼인 3.x 버젼을 기준으로 한다. 특이하게도 3.x 버젼이 출시되고 지속적으로 업데이트되고 있지만, 여전히 2.x 버젼 사용율이 높고, 이 역시 업데이트되고 있다. 그만큼 3.x 버젼이 2.x을 모두 대체할만큼 강력하지 않다는 의미일 수 있고, 다른 측면에서는 2.x 파이썬이 범용적으로 많이 사용되고 있다는 의미가 된다. 일단 파이썬 공식 사이트에 들어가보자.

Screen Shot 2016-08-24 at 10.50.47 AM

이 화면 아래에 있는 Download 메뉴에서 3.x 버젼을 선택하고 (현재는 3.5.2 버젼임) 들어간 후, 자신의 개발 환경에 맞는 파이썬을 다운로드 받아서 설치하면 된다. 설치하고 나면 IDLE라는 파이썬 기본 개발 도구를 연다. 우리는 앞으로 이걸 통해서 개발할 계획이다.

Screen Shot 2016-08-24 at 10.53.30 AM

좌측에 보이는 화면이 기본 IDLE이다. 1+1을 쳐보자. 2라는 결과를 보여준다. 즉, 한 줄 한 줄 ‘enter’를 치면서 결과를 바로 확인할 수 있다고해서 ‘인터프리터’라고 부른다. 파이썬의 IDLE의 L이 Learning을 의미하는게 이런 의미라고 본다. 여기서 새 창 열기 (맥 기준으로 command + n)를 하면 우측 화면 처럼 비 창이 보여진다. 동일하게 코드를 작성하면 ‘저장’ 후 ‘실행’해볼 수 있다. 참고로 파이썬은 .py 형태로 저장된다.

Screen Shot 2016-08-24 at 10.57.23 AM

보통은 f5가 실행키이다. 눌러보면 파일을 저장하라고 안내하고, 저장을 완료하면 해당 코드가 구현되어 좌측 ‘인터프리터’ 화면에서 보여진다. RESTART : …. 밑으로 hello world가 리턴된 화면을 확인할 수 있다.

 

오늘의 요약

  • 파이썬은 쉽고, 빠르고, 강력하다고 ‘다들 얘기’ 하더라
  • python.org에 가서 IDLE를 다운받아 설치하고, hello world를 찍는다.
  • 다음 시간에는 ‘파이썬을 시작하기전 좀 더 알아야할 것들’에 대해 공부하자.

 

 

/

 

Day1 : 무엇을, 어떻게

IT 관련 사업을 시작한지 4년이 넘었고, 훌륭한 개발자, 디자이너, 기획자와 함께 일하고 있다. 일을 하기 위해서, 그리고 대화하기 위해서 간단한 내용들은 직접 찾아보기도 하고, ‘정말 간단한 작업’이라면 포토샵을 열고, 코드를 수정하고, 웹사이트를 만든다. 하지만 프로그래밍이라는 영역이 언제까지나 ‘듣고 말할 수 있는’ 영역이 아니라, ‘코드를 작성하고 동작하게 만들 수 있는’ 영역이 될 수 있다면 내가 하는 일이 더 즐거울 것은 명확하다.

 

무엇을 먼저 배울까?

처음 머리속에 떠올랐던 언어는 Swift였다. Xcode라는 아름다운 IDE를 사용할 수 있고, iOS앱과 Mac 프로그램을 만들 수 있다. 또한 가장 ‘최신’의 언어라는 점과 앞으로의 확장 가능성도 매력적이다. 그래서 한 달 정도 게으르게 온라인 강의를 듣고, Xcode를 실행시키는 호사를 누렸으나 꾸준하지 못했다. 정확히는 시작한지 몇 주 되지도 않았지만 앱이라는 눈에 보이는 (그러면서도 어느 정도는 내가 충분히 예상할 수 있는) 결과물을 기대하다보니 마음이 앞섰다.

그래서 좀 더 기초적인 프로그래밍을 경험해보기로 했다. 주변의 개발자들에게 물었다. 다양한 답변이 왔지만, 공통적인 언어는 Python이었다. 일단 이름이 멋지다. ‘파이썬’이라니. 일단 첫 인상이 좋다. 그리고 Django라는 더 멋진 이름의 도구가 Python에서 나왔다는걸 안다. 갈수록 마음에 든다. 그래도 너무 덥썩 물면 맘상할 수 있으니, 몇 가지만 확인해보기로 했다.

  • 파이썬 공식 사이트는 얼마나 멋진가. 이 곳은 너무 트렌디하지도, 개발개발스럽지도 않다.
  • 누가 만들었나. 일단 위키를 보자. 귀도 반 로섬이라는 이름도 멋진 개발자가 무려 91년도에 만들었다. 구글에서 일하다, 현재 드랍박스에서 일한다. 일단 오리진이 멋지다.
  • 누가 쓰나. 우리 모두가 감사해하며 사용하는 토렌트와 구글이 파이썬으로 만들어졌다. 이 정도면 충분하지 않은가. 내가 매일 사용하는 서비스가 파이썬으로 만들어졌다.
  • 뭐가 좋은가. 일단 공부를 한 후에 얘기해보자. 하지만 구글링을 조금만 해보면 파이썬은 쉽고, 빠르게 구현할 수 있다고 누구나 말한다. 일상 생활에 필요한 간단한 프로그램을 직접 만들고 활용할 수 있다는 얘기다. 남들이 하는 얘기를 듣기로 했다.

Screen Shot 2016-08-05 at 2.33.08 PM

<올라가는 추세가 아름답다. 출처 : PYPL>

 

어떻게 배울까?

두 가지 방법이 있다. 동영상을 보거나, 책을 본다. 또는 동영상을 보면서 책을 본다. 아니면 구글링하면서 내가 만들고 싶은 프로그램을 직접 작성한다. 일단 (나중에 아니더라도) 나름의 방법을 생각해봤다.

  • 사무실에 굴러다니는 책을 기본으로 한다.
  • 간혹 시간이 날때마다 ‘재미삼아’ 동영상을 본다.
  • 책을 한 권 다 읽고나면 그 때부터는 구글링을 하면서 내가 원하는 프로그램을 만들어본다.

이 정도의 순서로 진행하기로 했다. 그러면서 한 가지 과도한 목표를 하나 설정했다. 내가 하루라도 파이썬을 학습한다면, 그 내용을 블로그와 동영상으로 만들어보려고 한다. 당연히 개발자들이 참고할만큼 의미있는 정보를 담기는 어렵겠지만, 나처럼 개발의 기본이 없는 사람에게는 도움이 될 것 같다. 다시 정리하면 다음과 같다.

  • 사무실에 굴러다니는 책을 기본으로 한다.
  • 책이 지겨우니, 세상에서 가장 유명하다는 Python 동영상 강좌를 하나 찾아서 본다.
  • 내가 배운 내용을 주 단위로 블로그, 동영상으로 공유한다.

자. 오늘을 Day1으로 하자. 계획을 세우고, 책을 정하고, 배우기로 시작한 날이니. 매일 할 수는 없겠지만 Day 10까지만 가보는걸 첫 번째 목표로 잡았다. 기대하시라.

필요한 자료들 (계속 업데이트 중)

파이썬 공식 사이트 : 버젼별 다운로드, 웹 기반 IDLE 제공

 

 

 

 

 

QR Reader

국내에서 QR Code는 매우 제한적으로 사용되고 있다. 특정 공간에서 특수한 목적으로 사용되는 경우들은 있어왔지만, 광범위하게 일상 생활 속으로 들어오지 못한 기술이다. 우연한 기회에 QR Reader를 적용한 모바일 서비스를 개발하였고, 추가적인 요구사항으로 이를 Mobile Web으로 만들자고 한다.

 

1.모바일 앱을 통한 QR 스캔

가장 범용적으로 사용하는 방법은 scan.me라는 회사에서 제공하는 QR Code Reader를 사용하는 것이다.  그 외에도 Zxing에서 제공하는 Barcode Scanner가 있다. 일반적으로 모바일 앱에 QR Code 리더를 삽입한다면 보통 Zxing에서 제공하는 라이브러리를 사용한다. QR/Barcode 카메라를 통해 정보를 해석하고, 이를 브라우징할 수 있는 간단한 앱이다.

 

2.웹을 통한 사진 업로드 방식의 QR 스캔

위의 방법에 대해서는 누구나 쉽게 알 수 있는 방법이었고, 이제는 모바일 웹을 통한 QR 스캔이 어떻게 이루어지는지 확인해보았다. 우선 가장 먼저, stackoverflow에서 ‘QR Reader HTML5’라고 검색해보았다. 나와 거의 동일한 질문을 던진 개발자들이 역시나 많았다. 눈에 띄는 답변은 아래와 같다.

Screenshot 2016-05-11 14.42.23

설명에 기반한다면 WebQR(회사는 LazarSoft)이라는 웹사이트를 통해 QR 코드를 생성하고, 이를 업로드했을 때 QR을 인지하는 방식이다. 기반이 되는 라이브러리는 ZXing을 사용한 것으로 보이고,  QR 파일을 직접 업로드했을 때와, 카메라로 찍어서 업로드했을 때 모두 인식률은 만족스러운 편이었다.

 

3.웹을 통한 비디오 방식의 QR 스캔

앞선 방식이 사진을 찍고 난 후에 업로드하고, 이를 서버에 설치된 QR Decoder를 이용하였다면 모바일 앱에서 동작하는 방식과 동일하게 카메라를 열고 있는 상황에서 QR을 스캔할 수 있는 방법을 찾아보았다. 이유는 QR을 찍는 환경이 사무실이 아니라 작업 현장이기 때문에 어두울 가능성이 높고, QR 자체가 훼손되었을 가능성이 높기 때문이다. 비디오 방식 (정확한 용어는 아니지만) 처럼 QR이 인식될 때까지 카메라를 열고 있는 방식이라면 100%에 가깝게 인식할 수 있을것으로 추정했다.

WebCodeCam 라는 Jquery Plugin을 사용해 보았다. 사이트에 들어가면 하단부에 Live Demo가 돌아가고, 우측 상단에 있는 Play 버튼을 누르면 카메라가 돈다. 맥북+크롬 조합으로 동작시켰다.

Screenshot 2016-05-11 15.25.54

역시 인식률은 좋았다. 하지만 Mobile Chrome에서는 플러그인을 지원하지 않기 때문에 사용할 수 있을지 의문이 들었고, 이는 다양한 브라우저 환경을 사용하는 모바일에는 적합하지 않다는 생각이 든다.

Screenshot 2016-05-11 15.26.13

 

모바일 QR 앱과 함께 사용하는 경우

아직 확인해보지는 않았지만, 웹 페이지에서 특정 QR 앱을 열고 (이 경우, 전용 안드로이드 앱을 만들어서 사용한다는 전제) 사진을 찍어 Decoding을 한 후에 해석된 정보를 웹 페이지로 던지는 형태도 가능할 것으로 생각한다. (물론 iOS는 홈 버튼을 눌러서 이동해야될 것 같지만)

 

결론

  • QR 리더기를 모바일에서 사용하는 방식으로는 네이티브 앱을 사용하는게 맞다.
  • 웹 기반으로 만드는 경우, 사진을 찍은 후 업로드하는 방식을 사용하는게 맞다.
  • 라이브 카메라를 통하는 경우 해당 플러그인이 모바일 브라우저와 호환되는지 확인해야 한다.