Julia Language

[Julia] JuliaPro/Juno IDE의 기초적인 사용방법

공부하는백수 2021. 4. 16. 17:46

※ 다음 링크에서 줄리아 프로그래밍과 관련한 글 목록을 확인하실 수 있습니다.

Julia 프로그래밍 관련 글 목록


본 포스트는 지속적으로 업데이트 됩니다.
부족한 부분이 있으면 댓글에 남겨주세요.

처음 실행하기

줄리아프로를 처음 실행하면 아래와 같은 창이 보일 것이다. (아마도??)

만약 REPL에서 코드를 테스트해보고 싶다면 REPL에서 enter를 눌러 줄리아 머신을 활성화 한 후 코딩을 하면 된다.

여기서는 바로 프로젝트를 생성하고 파일을 저장하여 실행하는 방법을 다루기로 한다.

파이썬 실행을 위해 .py 파일이 필요하 듯 줄리아 실행을 위해서는 .jl파일이 필요하다.

.jl파일을 어느 디렉토리에 만들지 선택하기 위해 Add folders라는 파란색 버튼을 눌러준다.

 

  본인이 원하는 폴더를 선택하면 줄리아프로는 해당 폴더를 프로젝트 폴더로 인식한다.

  이제 프로젝트폴더에 .jl파일을 만들어주기 위해 아래 그림과 같이 좌측의 Julia Toolbar에서 맨 위에 위치한 아이콘을 클릭하자. (혹은 File->New File, Ctrl+N)

 

새 파일을 생성하면 아래의 상측 그림과 같이 untitled라는 파일이 생기는데 기존에 있던 Workspace, Documentation, Plots 탭과 같은 패널에 위치에 있다.

  코딩을 하면서 Workspace를 통해 변수 값을 확인하고 Plots을 통해 그림을 확인하여야 한다.

그리고 종종 Documentation을 통해 함수에 대한 도움말을 찾아보아야 한다. (MATLAB과 RStudio에서 제공하는 도움말과 같은 기능, 그러나 좀 부실하다.)

  따라서 다른 IDE와 마찬가지로 edit window를 별도 패널로 관리하기 위해 아래 그림과 같이 untitled 탭을 좌측 하단으로(혹은 원하는 위치로) 드래그앤드롭하면 edit window가 다른 tab들과 분리되는 것을 확인할 수 있다. 

자, 이제 코딩을 시작할 준비가 완료된 것 같다.


코드 작성, 저장, 실행

  자, 이제 편집창에 간단한 코드를 작성해보자. 나는 아래와 같은 코드를 작성하였다.

a = 5
b = 3

println(a+b)
println(a-b)
println(a*b)
println(a/b) # 보통의 나누기 연산과 같다.
println(a÷b) # integer part만 반환 (나누기 연산자는 \div+tab)
println(a%b) # C와 마찬가지로 나머지 값 반환
println(a^b) # MATLAB과 마찬가지로 a의 b승을 반환

 

  코드를 작성하였으면 실행 전에 파일을 저장하여야 한다. (물론 블록단위 실행 등 다른 방법도 많지만 여기서는 파일 저장을 기본으로 가정한다.) 파일 저장 시 주의하여야 할 점은 아래 그림과 같이 .jl확장자를 컴퓨터가 자동으로 붙여주지 않기 때문에 수동으로 반드시 확장자 .jl을 붙여주도록 하자.

  확장자를 내가 붙여주어야만 아래 그림처럼 저장된 파일이 Julia icon과 함께 보인다. 그렇지 않으면 'icon 없음' 상태로 파일이 저장된다. 사실 확장자를 붙여주지 않아도 아무 문제 없이 코드는 정상적으로 실행된다. 나중에 배우겠지만 custom module을 include하는 경우에도 확장자를 붙이지 않더라도 동작은 잘 된다. 그렇지만 나는 확장자를 붙이는 습관을 반드시 가지라고 말하고 싶다. 여기에는 다음과 같은 두 가지 정도의 이유가 있다.

  • 줄리아프로가 업데이트되면 언제 동작이 안될지 모름. (과거의 전력을 보면 가능성이 없는 것이 아님)
  • include할 때 남들은 확장자를 붙여서 코딩하는데 나만 붙이지 않는 것은 좋지 않은 습관 (개발자들 간의 코딩 규칙을 지키는 습관을 갖자)

 

  파일이 저장되었다면 실행을 해보자. 실행 방법은 편집창에서 Ctrl+Shift+Enter 버튼을 누르면 된다. 이 방법이 가장 간단하다. 물론 메뉴를 클릭하여 실행하는 방법도 있고 좌측의 Julia Toolbar에서 실행하는 방법도 있다. 이런 방법들은 각자 직접해보기로 한다.

  만약 나와 같은 코드를 이상없이 실행하였다면 REPL에 아래와 같이 출력되었을 것이고, Workspace에 변수, 모듈, 함수 등이 테이블 형태로 나열되어 있음을 확인할 수 있다. 당연히 Workspace에서 변수들의 값도 확인이 가능하다. 아래 결과에 대한 궁금증이 있다면, 연산 결과와 코드의 주석을 함께 다시 확인하여 산술연산자의 의미를 다시 꼽씹어보자.


프로젝트에 폴더 추가/삭제하기

  현재 프로젝트에 다른 폴더를 추가하고 싶으면 아래 좌측 그림과 같이 프로젝트 폴더 위(혹은 프로젝트 패널)에서 마우스 오른쪽 버튼을 클릭하여 "Add Project Folder"를 선택해한다. 그 후, 자신이 원하는 폴더를 선택하여 프로젝트에 폴더를 추가하면 아래 우측 그림과 같이 프로젝트에 폴더가 더 추가된다. 재밌는건 프로젝트에 추가되지 않은 파일을 바로 줄리아프로에서 오픈하여 실행하더라도 해당 파일이 실행된다는 것이다.(참고로 드래그앤드롭으로도 열린다.) 그러나 이것은 해당 파일이 standalone으로 동작하는 경우에 국한된다. include를 사용하여 프로젝트 내 다른 파일을 읽어올 경우 프로젝트로 열려있지 않으면 오류가 발생한다.

  프로젝트 내 폴더를 삭제하는 것은 매우 간단하다 위 그림에서 "Add Project Folder" 밑에 "Remove Project Folder"라고 보일 것이다. 이 메뉴를 선택하여 폴더를 제거하면 된다. 여기서 주의할 점은 폴더를 아예 삭제할 경우가 아니라면 Delete를 선택하면 안된다. Delete는 해당 폴더나 파일을 줄리아프로의 프로젝트 목록에서만 제외하는 것이 아니라 폴더나 파일 자체를 컴퓨터에서 삭제한다.


유용한 단축키들 (내가 자주쓰는거 위주로만 정리)

  • Ctrl+Shift+P: 커맨드 윈도우 열기
  • Ctrl+K: 현재 세션 닫기 (Kill the Julia Process)
  • Ctrl+P: Plots 패널 열기 

Edit Window

  • Ctrl+Shift+Enter: 선택된 파일 실행 (MATLAT과는 다르게 실행은 되지만 수정 사항이 자동 저장되지는 않음)
  • Ctrl+Enter: 현재 커서가 위치한 라인의 코드를 실행
  • Shift+Enter: 현재 커서가 위치한 라인의 코드를 실행하고 커서가 다음 라인으로 이동. Shift+Enter를 반복해서 누르면 코드를 line별로 차례차례 실행할 수 있다.
  • Alt+↑/↓: 커서를 파일의 시작/끝으로 이동
  • Ctrl+↑/↓현재 라인에 있는 코드와 윗줄/아랫줄에 있는 코드의 위치를 바꿈(Move line up/down)
  • Ctrl+/: 선택된 모든 라인을 주석처리 
  • Ctrl+Alt+↑/↓:여러 줄에 걸쳐 커서 삽입하기 (여러 줄에 동일한 수정을 가할 때 편리, VSCode에도 있음.)
  • F9: 브레이크 포인트 삽입/제거
  • Ctrl+F: 현재 파일에서 찾기
  • Ctrl+Shift+F: 프로젝트 내에서 찾기

REPL

  • Ctrl+L: REPL을 클리어
  • Ctrl+D or exit(): Exit REPL (Exit Julia)
  • Enter:  Exit 상태에서 REPL에서 Enter를 치면 new session 실행
  • ?: Help 모드 진입
  • ]: 패키지 관리 모드 진입
  • Ctrl+C: 코드 실행시에는 코드 실행 중단, 패키지 관리 모드에서는 패키지 관리 모드에서 exit

Debugger

  • 디버그 모드에서의 실행은 File -> Debug: Run File (혹은 Run XX), 아직 단축키가 뭔지 모르겠음ㅜㅜ
  • F8: Debug Continue (다음 breakpoint까지 실행)
  • F10: Next Expression (다음 줄 실행)
  • F11: Step Into (현재 라인에서 호출하는 함수로 들어가기)
  • Shift+F11: Step Out (현재 함수를 호출한 곳으로 나가기)
  • Shift+F5: Stop Debugging

 

VSCode보다 현저히 editing 편의 기능이 떨어지는 것은 아쉽게 느껴진다.

그냥 VSCode로 갈아탈까도 고민된다.ㅜ

 

자, 이 정도면 Juno IDE(혹은 JuliaPro)에서 Julia를 즐길 준비가 어느 정도 된 것 같다.

이제 본격적으로 줄리아를 즐겨보자^^