요즘 나오는 대부분의 컴퓨터 언어가 그렇지만 패키지 관리자가 있어서 굉장히 쉽게 라이브러리를 설치하거나 삭제할 수 있습니다. 요즘 뜨고 있는 Julia 역시 마찬가지로 패키지 관리자가 있고~ Pkg.add(), Pkg.init(), Pkg.build() 와 같은 명령어를 제공해 줍니다.

julia 설치와 관련해서는 아래 포스팅을 참조하시기 바랍니다.

https://iamaman.tistory.com/2655

최근에 julia 의 그래프 기능을 사용해 보기 위해서 Plots 를 설치하려고 Pkg.add(“Plots”) 을 타이핑 해보니 뭐라 뭐라 에러가 나오더군요. 위 포스팅에서 소개한대로 최신의 JuliaPro 를 설치했는데…. 뭔가 시작부터 안 되는 느낌이라서 조금 짜증이 났습니다. 그래도 궁금한 건 못 참는 성격이기에 검색을 조금 해 보니 업데이트가 안 돼서 그런 것이더군요. 줄리아를 처음 설치했다면 아래 명령어로 일단 업데이트부터 해주는게 좋을 것 같습니다.

Pkg.update()

위 명령으로 패키지를 업데이트 해주고 나니 이후에는 plots package 를 설치할 수 있었습니다.

plots package 를 설치하고 아래 주소에 있는 plots 예제를 실행해 봤습니다.

https://julialang.org/downloads/plotting.html

using Plots

plotly() # Choose the Plotly.jl backend for web interactivity

plot(rand(5,5), linewidth=2, title="My Plot")

처음에는 package 를 로드하는데 시간이 걸리더군요.

pyplot 을 사용하는 예제들은 아직도 동작이 안되는 경우가 있었는데~ 위 코드는 정상적으로 동작을 하더군요~

아래와 같이 브라우저에서 그래프가 나오는 것을 확인할 수 있었습니다.

추가적으로 아직은 julia 초심자이다보니 cheatsheet 가 필요했는데 아래 링크에서 cheatsheet 를 찾을 수 있었습니다.

http://math.mit.edu/~stevenj/Julia-cheatsheet.pdf

아래 포스팅에서 소개했던 Launchy 등에 cheatsheet 를 등록해 놓고 사용한다면 필요할 때마다 편리하게 이용할 수 있을 것 같네요.

https://iamaman.tistory.com/911



최근에 Julia 언어의 발전이 눈부신것 같습니다. 기존에는 버전이 0 점대 버전이었는데 최근에 Julia 홈페이지를 들어가보니 1.0.1.1 버전이더군요. 아시겠지만 최근에 줄리아는 Deep learning, Machine learning, AI 등과 함께 굉장히 뜨고 있는 언어로 알고 있는데

아래 기사를 통해 확인해 보니 AI를 프로그래밍하는 데 도움이 되는 프로그래밍 언어로도 소개가 되더군요.

http://www.ciokorea.com/news/39956

어떤 언어든 좋은 툴이 있어야 개발하기가 쉬운 법인데 julia 는 atom 에디터에 줄리가 개발환경이 결합된 JuliaPro 라는 것이 있더군요. 아래 주소에서 다운로드 받아서 쉽게 설치 할 수 있고~

https://juliacomputing.com/products/juliapro.html

실행해 보면 다음과 같은 통합 개발환경이 나오는 것을 확인 할 수 있습니다.

이전 포스팅에서도 소개를 한적이 있지만 저는 요즘 julia 언어에 계속 해서 관심을 가지고 있고~

http://iamaman.tistory.com/1479

http://iamaman.tistory.com/1892

http://iamaman.tistory.com/2266

앞으로도 꾸준히 관심을 가지고 공부해 보려 합니다.



최근에 시간이 조금 있어서 julia 언어를 공부하고 있습니다. Julia 를 공부하면서 드는 생각은 문법적으로 MATLAB 과 Python을 섞어 놓은 거 같다는 것입니다.

아래 포스팅에서 매트랩을 사용한 연립방정식 계산 방식에 대해서 소개 한 적이 있습니다.

http://iamaman.tistory.com/246

오늘은 위 포스팅에서 사용했던 예제에 대해 julia 를 사용하여 똑같이 계산해 보려고 합니다.

줄리아 역시 MATLAB과 마찬가지로 매트릭스 연산이 기본입니다. 인자간의 계산을 하기 위해서는 .(점) 을 붙여야 하는 것이죠.

MATLAB 에서 연립방정식의 해를 구하기 위해 \ 또는 / 를 사용했는데 Julia 에서도 완벽하게 똑같습니다.

위 코드를 실행해 보면 다음과 같은 결과를 확인할 수 있습니다.

Julia 홈페이지의 벤치마크 결과를 보면 MATLAB 이나 Python 보다 속도가 월등히 빠른것을 볼 수가 있는데… 앞으로 계속해서 사용을 해 봐야 될 거 같습니다.

https://julialang.org/

일단 조금만 접해봐도 MATLAB 이나 Python 을 다루어본 사람에게는 그냥 알고 있던 언어 같다는 느낌을 주고 배열 인덱스가 1부터 시작한다는 것과 slicing, for, if 등의 문법, 그리고 수치 연산과 관련된 것들은 MATLAB 과 유사한데 …. filter(), map() 등과 같은 함수나 리스트 내장 등과 같은 것들은 마치 Python 을 다루고 있는 듯한 느낌을 많이 받습니다. 참~~ 재미 있는 언어네요.



  1. 프로그래머 2019.04.14 15:17

    안녕하세요!
    저는 독일 금융회사에서 줄리아 프로그래머로 일하고있어요
    줄리아는 신생언어인제 한국 포스팅을 본 반갑내요!

    종종 좋은 글 돌려주시기 기대합니다 ^^

    • 남성 2019.04.14 15:48 신고

      아 독일금융회사에서는 벌써 줄리아를 도입해서 사용 중이군요~ 줄리아가 신생 언어라 아직 실무에서는 적용이 많이 안 됐을 거라 생각했는데 이렇게 적용이 된다는 걸 보니 반갑네요 ^^ MATLAB 을 주로 사용하는 사람이라 julia 가 참 매력 있는 언어라는 생각이 들더라구요~ 공부 좀 많이 해봐야 겠네요!!

최근에 Windows 7 에서 julia 를 다시 설치하고 패키지 관련 명령어들을 사용을 해보니 다음과 같은 에러가 발생을 했습니다. 위 제목에도 표시를 했지만 발생한 에러는 다음과 같습니다.

ERROR: GitError(Code:ECERTIFICATE, Class:OS, user cancelled certificate check: )

이렇게 에러가 날 때는 구글링 하면 되죠 뭐… 검색을 해보니 해결 방법으로 아래 페이지가 나왔습니다.

https://support.microsoft.com/en-us/help/3140245/update-to-enable-tls-1-1-and-tls-1-2-as-a-default-secure-protocols-in

위 페이지에서 페이지를 조금만 내려 보시면 ~ 다음과 같이 Easy fix 라는 글자를 볼 수가 있습니다. Download 버튼을 눌러서 MicrosoftEasyFix51044.msi 파일을 다운로드 받아서 실행합니다. 이제 다 해결 됐습니다.

줄리아를 다시 실행하고 Pkg.update() 를 해 보니 정상적으로 동작을 하더군요.



Python 사용시 jupyter 를 많이 사용하곤 하는데~

jupyter 를 사용하여 R, Julia 도 코딩 할 수 있더군요.

그래서 오늘은 Julia 를 jupyter notebook 에서 사용하기 위한 방법에 대해 알아보려 합니다.

일단 저 컴퓨터는 Windows 7 64 비트 이고 현재 anaconda 가 설치된 상태 입니다.

anaconda 를 설치하면 Python 과 함께 jupyter 가 설치 됩니다.

다음으로 아래 주소에서 julia 를 설치 합니다. 개발 OS 에 맞게 설치하시면 됩니다.


다음으로 jupyter 에서 julia 를 사용하기 위한 모듈인 IJulia 를 설치합니다. IJulia 설치 방법은 아래 주소 있더군요.


위 조수의 설치 방법 대로 julia 를 실행하고 아래 명령어를 타이핑 합니다.

Pkg.add("IJulia")

IJulia package 가 설치 완료 되면 아래 명령을 통해 IJulia 를 실행 할 수 있습니다.

using IJulia
notebook()

그런데 우리는 jupyter 를 사용할 것이므로 Windows Command Line 에서 jupyter notebook 이라는 명령어를 써 줍니다.


그럼 이렇게 브라우저가 뜨면서 jupyter가 실행 되고 Julia 를 선택 할 수 있습니다.


이런 설치가 부담 스러운 분들은 julia 홈페이지에서 소개하는대로 juliabox 를 사용 할 수도 있으니 참고하시기 바랍니다.


이제 간단하게 사용해 보죠~ 아래 주소에 julia 를 사용하여 그래프 그리는 예제들이 나와 있습니다.


아래 명령어를 통해 PyPlot package 를 설치하고~

Pkg.add("PyPlot") # Install a different backend

다음과 같이 코딩하고 Shift + Enter 를 눌러서 실행하면~

using Plots
plot(rand(5,5),linewidth=2,title="My Plot") # The same plotting command works

이런 결과가 나옵니다.



아래 주소의 글을 읽다가 줄리아란 이름의 컴퓨터 언어를 알게 되었다.

 

http://www.wikitree.co.kr/main/news_view.php?id=160061

 

뭐 Tiobe 만 들여다 봐도 무지하게 많은 언어들이 있어서 다 알 수는 없지만 요즘은 그냥 새로운 언어들이 나오면 관심은 갖곤 하는 편이다.

 

Julia 는 MIT 에서 만들었다고 하는데 아래 주소에서 다운로드 가능하다. 첨에는 윈도우에서는 설치가 안됐던 것 같은데~ 지금은 된다.

 

http://julialang.org/

 

나는 현재 윈도우 64 비트라 윈도우 64 비트 버전을 설치 했고~ 아래 그림과 같은 콘솔이 떴다~

 

 

일단 줄리아에 관심이 좀 생긴 건 MATLAB 과 유사한 문법을 갖는다는 이유에서 인데~

 

MATLAB 과 마찬가지로 Technical Computing 용도의 언어인 듯 하다~

 

그렇다는 건 뭐 웬만한 수학식들은 다~ 사용할 수 있다는 뜻일 터 ……

 

일단 사용 방법을 알아야 하니~ 아래 주소에서 문서를 쓱~~ 살펴 본다.

 

http://docs.julialang.org/

 

대충 일단 Getting Started 한번 쓱 보고 아래 주소의 기본 수학 연산 방법들을 보니. MATLAB 에 있는 함수들과 굉장히 유사하다는 생각이 많이 든다.

 

http://docs.julialang.org/en/release-0.3/manual/mathematical-operations/

 

Special functions 들을 보면 erf(), efrc() 등과 같은 함수부터 gamma(), besseli() 등등 무지하게 많은 함수들이 다 정의가 되어 있다

 

아래 주소에서 함수 사용 방법을 보면 함수의 형태도 거의 MATLAB 과 흡사하다.

 

http://docs.julialang.org/en/release-0.3/manual/functions/

 

파이썬을 비롯한 요즘 언어들은 자체 Package Manager 들을 갖추고 있는데~ Julia 역시 마찬가지로 자체 Package Manager 를 갖추고 있다.

 

좀더 봐야겠지만 아래 주소를 보니 간단하게 Pkg.add()라는 함수를 사용해서 추가로 package 들을 설치 할 수 있는 듯 하다.

 

http://docs.julialang.org/en/release-0.3/manual/packages/

 

앞으로 조금씩 공부해 봐야겠다는 생각이……


+ Recent posts