안녕하세요! 다된밥통입니다~!!

오늘은 Sublime text 3 의 기본적인 사용법에 대해 정리해보려합니다!



서브라임텍스트는 굉장히 편해서 저도 꾸준히 사용하고 있어요!



기본적으로 크로스 플랫폼이구요, 다른 에디터들을 많이 사용해보지 않아 저는 모르지만...

OS 별로 GUI 툴킷이 따로 있어 크로스 플랫폼 때문에 생기는 성능저하가 적은 편이라고 합니다!

대부분의 기본 언어들을 지원하고 있으며, 자동완성 기능이 아주 훌륭한거 같아요!!



위의 그림처럼 코딩을 하는 부분과 우측에 전체 코드의 미리보기가 있어 쉽게 작성중인 코드를 확인할 수 있습니다!



설치는 https://www.sublimetext.com 에서의 download 아이콘을 클릭하시면, 쉽게 설치까지 가능하답니다! (아마 다들 잘 하실거라 믿...)



제가 서브라임텍스트를 쓰는 가장 큰 이유는 서버 컴퓨터에서의 작업을 이전에는 vim으로 해왔는데요!

이를 좀더 편하게 코딩하고파서 사용하게 되었답니다!

그래서!!! 우리는 파일 전송 프로토콜, SFTP 를 설정해줄 필요가 있는데요!


위의 그림처럼, Ctrl + Shift + p 를 눌러 "Package Control: install Package" 을 찾아 enter 해준 후! 설치가 완료되면,

다시 Ctrl + Shift + p 를 눌러 "Package Control: install Package" 에서 SFTP 를 찾아 enter를 누르시면 끝!



이제 진짜 우리가 원하는 서버 컴퓨터와 연동하는 작업이 필요한데요!

단축키로는 Ctrl + Alt + R, S 를 모두 누르면 설정 페이지가 나오게 됩니다!



위에서 자신에게 필요한 환경으로 맞추어준 후 save ( Ctrl + s ) 를 하면, 아주 쉽게 모든 과정이 끝이 납니다!


일반적으로는, 서브라임텍스트 사용 시 Ctrl + Shift + R,B (remote browse) 를 다다닥! 눌러서

뜨는 list에서 접속하고자하는 서버로 접속하셔서 해당 파일을 여시면 되겠습니다!



오늘은 서브라임텍스트에 대하여 기초적인 설치, SFTP 설정 방법에 대해 알아보았습니다!


좋은 하루 되세요~!!


블로그 이미지

사용자 다된밥통

댓글을 달아 주세요


블로그 이미지

사용자 다된밥통

댓글을 달아 주세요


블로그 이미지

사용자 다된밥통

댓글을 달아 주세요

블로그 이미지

사용자 다된밥통

댓글을 달아 주세요


블로그 이미지

사용자 다된밥통

댓글을 달아 주세요


블로그 이미지

사용자 다된밥통

댓글을 달아 주세요


블로그 이미지

사용자 다된밥통

댓글을 달아 주세요

안녕하세요! 다된밥통입니다!!

오늘은 다중 커널에 대해 얘기해볼까 합니다!

Jupyter 는 2014년 Project Jupyter 로 만들어진 웹 기반 서비스인데요! 기존의 IPython 의 발전된 형태라고 생각하시면 편할 것 같아요!

그 이름은 줄리아 (Julia) 와 파이썬 (Python) 에서 가져왔으며, 목성 (Jupiter) 에서 그 이름을 빌려왔답니다.

이름뿐만 아니라 그 특징도 목성을 많이 닮아 있는데요!

다양한 위성 (여러 언어를 지원)을 보유하고 있다는 점과, 모두가 목성을 볼 수 있듯이 "재현성"에 그 목적을 두고 있습니다!

또한, 도커 (Docker) 는 가상환경을 만드는 차세대 플랫폼이며, 최근 굉장히 인기를 받고 있습니다.

특징으로는, 가볍고 빠르며 "이미지"라는 것을 가져와 서버에 "컨테이너"를 띄우는 방식입니다.

이름에서 볼 수 있듯이, Dock (항구)에서 일하는 사람 (-er) 의 의미를 가지고 있습니다.

도커는 위와 같이 사용할 수 있는데요! 설치 방법은 아래 순서를 따르면 쉽게 설치할 수 있습니다! (Ubuntu 16.10 기준)

또한, Jupyter 에는 많은 커널을 설치할 수 있는데요! python2, 3 의 독립된 버전, R language, Matlab, C 등등 다양한 커널을 설치할 수 있답니다!

위의 내용처럼 여러 커널을 설치할 수 있습니다! Jupyter 위에서 여러 환경을 설정해보는건 어떨까요?

커널 설정이 완료되면, 위와 같이 Jupyter에서 그 커널들이 표시됩니다!

"Hello, World!" 를 출력할 수 있으면 코드는 다 배운거겠죠!!?

물론 단축키를 알고 있다면 더 편하게 빠르게 사용할 수 있답니다! (Chrome 기준!)

이번 글에서는 Jupyter 와 다중커널 설정방법에 대해 알아보았는데요!

많은 도움이 되었길 바랍니다!

감사합니다!!


블로그 이미지

사용자 다된밥통

댓글을 달아 주세요

안녕하세요! 다된밥통입니다!

오늘은 JupyterHub 에 대해 알아볼까 합니다! 시작해볼까요?

이번 글의 목표는! "Linux 에 설치된 Python 을 Jupyter or JupyterHub 를 통해 웹에서 사용해보기!" 입니다.

여기서 보이는 Linux 라는 운영체제, Python 프로그램 언어, 그리고 웹 기반 환경에 대해 먼저 살펴볼까요?

운영체제는 소프트웨어와 하드웨어를 사이에서 둘을 이어주는 중재 역할을 하고 있는데요! 우리가 흔히 알고 있는 OS 로는 윈도우10, 맥 OS, 등이 있을 수 있겠네요! 그중 오늘은 Linux 라는 환경을 기준으로 해보려합니다!

좀더 들어가기에 앞서 몇가지 용어를 살펴볼게요! (경고. 위 내용은 제가 생각하는 내용이니.. 전적으로 믿으시면 안됩니다!!)

예를 들면 위와 같이 쓸 수 있겠네요! 특히 포트는 알려진 포트를 이용하게되면 서로 통신에 문제가 생기게 되겠지요? (참고. TCP/UDP의 포트 목록)

Linux 는 다양한 장점들이 있는데요! 누구나 소스를 수정하고 할 수 있는 프리웨어이고 GUI 환경을 사용할 수도 있기 때문에 많은 분들이 사용하고 있답니다.

Python 은 최근 인기가 좋은데요! 일화로는 귀도 반 로섬과 그 친구들이 크리스마스 이브에 불편한 프로그래밍 언어를 해결하기 위한 새로운 언어를 개발했다... 라는 말이... 역시 천재는 달라달라...

무튼, 특징은 객체지향언어이기 때문에 처음 코딩을 접하는 분들께도 비교적 쉽게 하실 수 있다는 것이지요!

또한, 그 이름은 그들이 좋아하는 코미디 쇼 이름에서 따왔다고 하네요! 사실 python은 보아뱀?이라는 뜻을 가진 영어인데요, python의 로고에서도 확인할 수 있어요! (잘 보시면, 뱀 두마리가 똬리를 틀고 있지요!?)

파이썬에 대해 좀더 설명 드리면, 인터프리터라는 점인데요! 쉽게 (경고. 제 생각입니다) 설명하자면, 위 그림처럼 이해할 수 있을 거 같아요!

기존의 프로그램 언어들은 컴파일러 (코드를 컴퓨터가 알아들을 수 있는 언어로 변환하는 친구, 번역가)가 있어 전문을 읽고 번역 후 컴푸터에게 전달하는 방식인데요!

파이썬은 인터프리터 (코드 작성을 바로바로 변환하는 친구, 통역사)가 있어 바로바로 컴퓨터와 대화하는 느낌의 언어로 생각될 수 있어요.

이 파이썬 언어를 편리하게 쓸 수 있는 편집기로는, 아나콘다(Anaconda), 스파이더(Spyder), 파이참(PyCharm), 등등이 있습니다. 특히 IPython 은 In 과 Out 이라는 입력창과 출력창을 보여줌으로써 더더욱 대화형 언어 형태를 띄고 있습니다.

마지막으로 JupyterHub 에 대해 알아볼까요?

세상이 발전하면서 물론 컴퓨터의 발전도 눈부시게 나아겠는데요!

많은 프로그래머들은 더 좋은 컴퓨터를 어느곳에서나 사용하고프다는 생각을 하게 되었고, 이는 Project Jupyter 로 이어졌습니다.

앞서 말한 IPython 의 특징을 잘 살려 2014년에는 Jupyter 로 발전했는데요, 이름에서 보이듯이 줄리아(Julia) 와 파이썬(Python) 의 이름을 따왔습니다.

특히, 발음이 비슷한 목성 (Jupiter) 과는 많은 특징을 공유하고 있는데요!

많은 위성 (다양한 언어 지원)을 가지고 있고, 재현성 (누구나 똑같은 결과를 얻을 수 있게끔!)에 그 중심을 두고 있습니다!

이렇게 하면, 성능이 뛰어난 엄청 큰 서버컴퓨터를 두고 여러분들은 Jupyter를 이용해 휴대폰이든 노트북을 이용해 그 성능을 외부에서 쉽게 이용할 수 있게 되는 것이지요!

그렇다면, 우리에겐 이러한 환경이 필요할까요? 만약 실습을 하게 된다면, 위의 학생 1,2,3,4처럼 시작도 전에 다양한 난관에 봉착하게 되는데요!

웹 환경에 잘 세팅하고 모두 그곳으로 접속하게 된다면 아주 순조롭게 실습을 진행할 수 있겠지요!? 뿐만 아니라 공동작업에도 쓰일 수 있겠네요!

이러한 환경구축이 힘들 수 있기 때문에 다양한 기업에서 주피터 환경 서비스를 제공하고 있는데요! 우리나라의 국가수리과학연구소에서도 지원하고 있답니다.

지원되는 스펙은 다음과 같구요! 인텔의 i5 6세대와 비교했을땐 CPU 성능에서는 3배정도 차이가 나네요!

NIMS 에서 지원하는 Jupyter 서비스는 사실 JupyterHub 인데요! 차이는 JupyterHub는 허브를 통해 각 접속자, 계정별로 새로운 가상환경을 띄워 독립적인 주피터 환경을 제공해 줍니다. 이 때, NIMS 는 Docker를 이용하여 가상환경을 구축했는데요!

Docker 는 기존의 VM (virtual machine)에 비해 굉장히 가볍고 성능도 뛰어나답니다. (이유는, 공통된 OS 내용은 공유하고 다른부분만 기록해두기 때문이지요!)

이 두 차이를 좀 더 쉽게 설명하면 아래처럼 생각해볼 수 있어요!

VM 은 한 몸에 여러 인격이 들어있는 느낌이지요.

각각의 공간을 가지고 있어야만 하기 때문에 전체적으로 성능이 떨어질 수 밖에 없겠죠?

하지만 도커는 공통된 부분 (나!)라는 것은 유지하고, 다른 부분만 가지고 가는데요!

마치 우리가 여러 직책? 역할들을 하는 것과 비슷하게 생각할 수 있습니다. 물론 그렇기 때문에 공통된 부분이 적은, 다른 기반의 OS 를 가상환경으로 구축하게되면 빠른 속도를 보장받을 순 없는 거 같아요!

Jupyter 또는 JupyterHub 를 잘 활용하면 멋진 조교가 될 수 있겠죠!!?

이번 글에선 여러 내용들을 살펴봤는데요! 도움이 되길 바랍니다!

감사합니다~!


블로그 이미지

사용자 다된밥통

댓글을 달아 주세요