이전

리뷰 (8)

한줄평
평점 분포
  • 리뷰 총점10 62%
  • 리뷰 총점8 38%
  • 리뷰 총점6 0%
  • 리뷰 총점4 0%
  • 리뷰 총점2 0%
연령대별 평균 점수
  • 10대 0.0
  • 20대 10.0
  • 30대 9.0
  • 40대 10.0
  • 50대 8.0

포토/동영상 (2)

리뷰 총점 종이책
파이썬이나 R이 답답하다면...
"파이썬이나 R이 답답하다면..." 내용보기
줄리아는 파이썬, R과 함께 데이터과학분야에서 근래들어 자주 비교되기 시작하는 언어로 고급 동적 언어이면서 C언어에 근접하는 성능으로 주목받고 있다. 책은 마치 초심자에게 설명하듯 프로그래밍 용어에 대해서도 친절하게 설명하고 있으며 매 장 마다 사용된 용어집과 연습 문제를 제공하는데, 프로그래밍에 대한 경험 특히 파이썬이나 자바스크립트를 사용해 봤다면 짧은 시간에
"파이썬이나 R이 답답하다면..." 내용보기

줄리아는 파이썬, R과 함께 데이터과학분야에서 근래들어 자주 비교되기 시작하는 언어로 고급 동적 언어이면서 C언어에 근접하는 성능으로 주목받고 있다.

책은 마치 초심자에게 설명하듯 프로그래밍 용어에 대해서도 친절하게 설명하고 있으며 매 장 마다 사용된 용어집과 연습 문제를 제공하는데, 프로그래밍에 대한 경험 특히 파이썬이나 자바스크립트를 사용해 봤다면 짧은 시간에 학습이 가능하다. (줄리아 자체가 Matlab, 파이썬, R등을 염두에 두고 만들어졌기 때문에 비슷한 학습 곡선을 보이는 것 같다. 물론 좀더 효율적인 코드를 위한 심화학습과 고민은 필요하지만…)

참고로 책에는 줄리아 설치 없이 Juliabox.com에서 REPL과 노트북 인터페이스를 사용할 수 있다고 하는데 변경된 Juliahub.com에서는 가입 후 약간의 무료 크레딧을 제공하는 것으로 변경되었다. 개인적으로는 Julia와 nteract(https://nteract.io) 또는 vscode 플러그인을 설치해서 사용해보길 권한다.

비록 파이썬의 생태계에 견줄 정도는 아직 아니지만, 데이터과학, 머신러닝, 다양한 과학 도메인에서 활용범위를 가지고 있다. 데이터 과학자가 아니더라도 연관된 분야에 관심이 있는 개발자라면 빠른 속도로 줄리아의 매력을 확인 할 수 있으니 추천한다.

한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성한 서평입니다.

m*****0 2021.07.25. 신고 공감 0 댓글 0
리뷰 총점 종이책
줄리아를 생각하다
"줄리아를 생각하다" 내용보기
이 책은  줄리아라는 수치 연산에 최적화된 고성능 언어를 소개한다.  줄리아의 특징을 요약하자면  1. 줄리아는 고성능 언어이다. 2. 다중 디스패치를 사용하며 어플리케이션에 적합한 프로그래밍 패턴을 선택할 수 있다.  3. 대화형이고, 동적 타입언어이다.    - 정적 타입언어로 지원한다.  4. 매우 깔끔한 고수준의 문법을 가지고 있다.  5. 써드 파티 패키지를 사용할 수 있다.
"줄리아를 생각하다" 내용보기

이 책은  줄리아라는 수치 연산에 최적화된 고성능 언어를 소개한다. 

줄리아의 특징을 요약하자면 

1. 줄리아는 고성능 언어이다.
2. 다중 디스패치를 사용하며 어플리케이션에 적합한 프로그래밍 패턴을 선택할 수 있다. 
3. 대화형이고, 동적 타입언어이다. 
  - 정적 타입언어로 지원한다. 
4. 매우 깔끔한 고수준의 문법을 가지고 있다. 
5. 써드 파티 패키지를 사용할 수 있다. 

 기초 문법부터 시작하여 체계적으로 줄리아의 문법 체계를 설명한다. 

 주요 내용은 다음과 같다. 
 - 변수 ,표현식 ,문장 
 - 함수 정의 
 - 조건과 재귀 
 - 반복문 , 문자열 , 배열, 딕셔너리 , 튜플 
 - 파일, 구조체와 객체, 구조체와 함수, 
 - 다중 디스패치, 하위 유형 ,
 - 구문 규칙  
 - Base 및 표준 라이브러리 

 Github에 저자의 소스코드가  업로드되어 있다. 
 https://github.com/BenLauwens/ThinkJulia.jl 

 이 책을 통해 ,  데이터 분석에 적합한 줄리아 언어의 문법을 배우고,  분석 패키지 개발에  적극적으로 활용하기를 바랍니다. 

  "한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다." 

p****l 2021.07.25. 신고 공감 0 댓글 0
리뷰 총점 종이책
데이터 과학자를 위한 최적의 프로그래밍 언어, 줄리아를 잘 알려주는 입문서
"데이터 과학자를 위한 최적의 프로그래밍 언어, 줄리아를 잘 알려주는 입문서" 내용보기
데이터 과학을 공부하면서 파이썬이나 R을 배웠지만 두 언어의 단점 때문에 종종 힘들기도 했었다. 파이썬의 경우에는 프로그래밍 하기가 쉽고, 유동성이 좋다고 느꼈지만, 코드가 길어질때면 속도가 느려진다는 느낌을 많이 받았다. 반면 R은 속도면에선 간혹 파이썬 보다 나을때도 있었지만, 한글 자료를 활용할때 깨지는 경우도 있었고, 내가 능숙하게 못 다뤄서인지 자료를 전처리 하
"데이터 과학자를 위한 최적의 프로그래밍 언어, 줄리아를 잘 알려주는 입문서" 내용보기

데이터 과학을 공부하면서 파이썬이나 R을 배웠지만 두 언어의 단점 때문에 종종 힘들기도 했었다. 파이썬의 경우에는 프로그래밍 하기가 쉽고, 유동성이 좋다고 느꼈지만, 코드가 길어질때면 속도가 느려진다는 느낌을 많이 받았다. 반면 R은 속도면에선 간혹 파이썬 보다 나을때도 있었지만, 한글 자료를 활용할때 깨지는 경우도 있었고, 내가 능숙하게 못 다뤄서인지 자료를 전처리 하는 과정에서 제대로 안되어 애먹는 경우도 많았었다. 


요새들어 차세대 언어로 줄리아가 좋다는 얘기가 간혹 들려오곤 했었는데, 줄리아는 이 둘보단 좀 더 나을까 싶은 궁금점이 생기긴 했었다. 하지만 그런 얘기를 들어만 봤지 실제론 체험한 적은 없어서 대수롭지 않게 넘겼는데, 이번에 우연히 이 책을 얻게 되었다. 마침 줄리아가 어떤지 한번 보고 싶었던 차라 더욱 반갑게 느껴졌다.


책 뒤에 줄리아를 소개하는 내용을 보니 파이썬 상위호환 고성능 범용 프로그래밍 언어라고 적혀있었다. 파이썬도 꽤나 괜찮았는데, 그보다 상위호환이면 어느정도일까. 살짝 의문이 들었지만 일단 책을 펼쳐 보기로 했다.


얇은 책의 내용에 비해서 줄리아를 배우는 진도는 생각보다 많이 나가고 있다. 이미 이 언어를 배우는 사람은 기본적인 알고리즘은 아는 사람들이라는 전제를 깔아서 그런지 책의 처음엔 간단한 프로그래밍 단어를 소개하더니 뒷부분에 보면 다양한 자료구조와 기법들을 소개해주는 모습까지 보여주고 있다. 얇은 책이지만 입문에서 심화까지 전반적으로 훑는다는 느낌인 것이다.


책에 나온 전체적인 구문을 본 내 평가는 줄리아는 기존 프로그래밍 언어와 문법적인 구조상에 큰 차이는 없다는 것이다. 개인적으로 C를 한 2년간 학부공부용으로 배운뒤 그 다음학기에 자바로 넘어갈때 둘의 차이가 상당해서 이 차이로 인한 어려움을 매꾸기 위한 노력을 하는게 무척이나 힘들었는데, 줄리아의 경우에는 개인적 채감으로 파이썬과 큰 차이가 없다는 것이 정말로 다행이란 생각이 들었다. 조건문 반복문 같은 기본 구문부터 튜플,딕셔너리 같은 자료구조형도 파이썬과 거의 유사하다는 점이 무척이나 맘에 들었고, 덕분에 술술 넘어갈 수 있었다.


줄리아가 어떤 언어인지 궁금한 사람이라면 이 책이 아주 좋은 입문서라는 생각이 든다. 다만 아주 초보자가 보기에는 조금의 시간이 더 걸릴 수 있다는 단점이 있다고 생각한다. 하지만 최소 파이썬의 자료구조까지 어느정도 볼 줄 알고 만들수 있는 사람이라면 줄리아를 확실히 마스터 할 수 있다고 생각한다. 이런 줄리아의 모든것을 담은 이 책을 줄리아를 공부하고 싶어하는 사람에게 적극적으로 추천해주고 싶다.

YES마니아 : 로얄 h*****5 2020.05.17. 신고 공감 0 댓글 0
리뷰 총점 종이책
줄리아를 생각하다(Think Julia)
"줄리아를 생각하다(Think Julia)" 내용보기
한빛미디어 출판사의 "줄리아를 생각하다(벤 로언스,앨런 다우니 저 / 송한별 역)"을 읽고 작성한 리뷰입니다.줄리아(Julia)는 수치해석 및 계산과학용으로 개발된 속도가 빠르고 문법도 우아한 언어이다. 사실 Julia를 처음 알게 된것은 쥬피터 노트북 이름의 어원에서였다. 왜 쥬피터인지 궁금하였는데 Ju(Julia)+py(Python)+te+r(R) 즉, 데이터 분석의 대표적인 3가지 언어의 약자 합
"줄리아를 생각하다(Think Julia)" 내용보기


한빛미디어 출판사의 "줄리아를 생각하다(벤 로언스,앨런 다우니 저 / 송한별 역)"을 읽고 작성한 리뷰입니다.

표지


줄리아(Julia)는 수치해석 및 계산과학용으로 개발된 속도가 빠르고 문법도 우아한 언어이다. 사실 Julia를 처음 알게 된것은 쥬피터 노트북 이름의 어원에서였다. 왜 쥬피터인지 궁금하였는데 Ju(Julia)+py(Python)+te+r(R) 즉, 데이터 분석의 대표적인 3가지 언어의 약자 합성어라는 것을 알게되었다.Jupyter와 Julia

R, Python은 자주 접했지만 Julia는 대체 뭐길래 제법 유명세도 있고 데이터 사이언스 도구로서 점유율도 높은것일까? 궁금하여 일단 페이스북 그룹 Julia Korea에 가입하여 살펴보니 특히 성능 측면에서 큰 인기를 끌고 있음을 알 수 있었다. 쉽게 말하면 속도는 C언어인데 난이도는 Python인 셈이다.

조금 더 깊이 파보고 싶었지만 레퍼런스도 많지 않았고 대부분의 레퍼런스가 원어로 쓰여져있어 피곤함을 느끼곤 했다. 한글로 된 도서는 거의 전무하다시피 했는데 마침 본 도서가 등장하게 되어 매우 반가웠다.

아마 국내에서 한글로 된 줄리아 서적은 2번째인 것으로 알고 있다. 본 도서를 읽고 정리한 줄리아의 특징을 간단히 요약하면 다음과 같다.

  • C, 포트란 언어 수준으로 속도가 빠르다.
  • 다중 디스패치(Multiple Dispatch)
    • Python과 같은 동적언어는 컴파일 과정이 없어 자료형을 미리 알 수 없어 속도가 느려진다.
    • Java 등의 언어를 다룬 사람들은 익숙하겠지만 생김새가 마치 제네릭 프로그래밍과 유사하다.
    • 이 기능을 활용하여 동적언어임에도 속도를 보장하며, 여러 프로그래밍 패턴을 골라 쓸 수 있다.
  • 모든 패키지의 저장소가 Github이기에 서드파티가 탄탄하다.
  • 수학적 표현을 (마치 노트에 수학공식을 쓰듯이) 거의 그대로 사용할 수 있다.
    • 예를 들면, 원주율(파이)를 쓰고 싶으면 \pi라고 입력 후 TAB을 누르면 파이 수학기호가 등장한다.
    • 레이텍(Latex) 노가다를 생각하면 ㅜㅜ..
  • LISP 수준의 메타 프로그래밍이 가능하며 고수준 언어의 편리성을 제공한다.

이번에는 책을 완독하며 인상깊었던 점을 간추려본다.

  • Think라 불리는 독특한 구성
    • 저자는 본 도서를 Think Python의 책에서 Python을 Julia로 바꾼 책이라 표현한다.
    • Think Python은 이미 Python의 초급 교재로 선풍적인 인기를 끌었던 도서이다.
    • Think 방식이 개인적으로 굉장히 마음에 드는데 그 이유는 2가지이다.
      • 언어의 문법만 가르치는 것이 아니라 프로그래밍 언어론에 1:1 대응하듯이 설명한다.
      • 즉, Python만 배운 사람이 C언어를 접할때 얼마나 좌절하는지 종종 보게된다. 이런 문제에 좋은 솔루션이 될 수 있다.
      • 다상량(多商量)을 유도한다. 그냥 문법을 외우는 것이 아니라 왜 이런식의 표현을 하는지 생각하게 되는데 이를 통해 문법의 장기적인 기억에 도움이 될 뿐 아니라 처음 접하는 문법에 응용력이 생긴다. 예를 들면 아래 그림을 참고하시기 바란다.함수작성의 접근법스택 도식
  • 프로그래밍을 처음 배우는 사람에게는 최고의 책
    • 앞서 언급한 Think 구성덕분에 이미 다른 언어를 알고 있는 사람은 더욱 쉽게 익힐 수 있을뿐더러 Julia만의 특징을 입체적으로 느낄 수 있다.
    • 프로그램의 개념부터 변수, 함수, 문자열 등의 기초적인 설명을 각각 한 챕터 분량으로 설명한다. (이해가 안될수가 없다.)
  • 연습문제의 수준이 훌륭한데 난이도는 크게 높지않아 능동적인 학습이 가능하다.
  • 단원 마지막에 용어집이 등장하여 배운 내용을 복습할 수 있게 해준다.

Julia 입문자 및 초보자라면 이 책을 첫 단추로 삼으면 절대 후회하지 않을 듯 하다. R, Python과의 기능 차이가 명확히 보여 혼동할 일이 줄어들고 Julia에 빠르게 적응할 수 있도록 도와주기 때문이다.


n********g 2020.05.13. 신고 공감 0 댓글 0
리뷰 총점 종이책
Think Julia : 줄리아를 생각하다
"Think Julia : 줄리아를 생각하다" 내용보기
그림 1. Think Julia 내가 처음 Julia를 알게 된 것은 MOOC 수업을 들을 때 Julia로 문제를 해결하는게 있어서였다. 그 때 했던 과제가 Linear Optimization을 하는 것이었는데, JuliaBox상에서 Julia로 구현된 Linear Solver를 사용하면 Optimal Value를 구할 수 있었다. 그때 잠깐 다뤘던 내용이지만, Python만큼이나 문법도 간결하고, 구현하고자 한 공식이 있으면 그대로 표현도 가능
"Think Julia : 줄리아를 생각하다" 내용보기
그림 1. Think Julia

 내가 처음 Julia를 알게 된 것은 MOOC 수업을 들을 때 Julia로 문제를 해결하는게 있어서였다. 그 때 했던 과제가 Linear Optimization을 하는 것이었는데, JuliaBox상에서 Julia로 구현된 Linear Solver를 사용하면 Optimal Value를 구할 수 있었다. 그때 잠깐 다뤘던 내용이지만, Python만큼이나 문법도 간결하고, 구현하고자 한 공식이 있으면 그대로 표현도 가능했고, 이해하기 쉬웠던 것으로 느꼈었다.

 사실 Julia는 내가 느낀 것 이외로도 장점이 많다. 책에 기술된 대로 따라가자면,

  • High-Performance Language
  • 대화형 언어
  • Multiple dispatch를 통한 meta-programming
  • 동적이면서 정적 타입 언어
  • 표준 라이브러리 + third-party package

등이 있다. 한마디로 배우기 쉬우면서 성능은 성능대로 이점을 가져올 수 있다는 것이다. 특히 Julia는 Optimization에서 강점을 가지고 있어, 딥러닝 학습시 필요한 Hyperparameter optimization에도 활용할 수 있다. 나도 회사에서 일하는 부분이 제어쪽 분야다 보니, 새로운 기술이 뭐가 없나 하다가 Julia로 구현된 ControlSystem 패키지가 워낙 정리도 잘되어 있고, 원리 이해도 쉬워 많이 살펴보고 있다. 특히 PID 제어 같은 경우에는 각 제어기의 Magnitude를 결정하는 계수값 선정이 중요한데, 해당 패키지로도 그런 것을 해볼 수 있다. 이렇게 잠깐 살펴보던 와중에, Julia 관련 번역서가 출간되어 읽어보게 되었다. 국내엔 julia 관련 번역서가 거의 없어서, 참고하기 좋을 듯 했다.

 기본적으로 이 책의 전개는 일반 입문 도서와 비슷하다. 기본적으로 다루는 언어의 문법부터 시작해서 자료구조, 파일 핸들링, 더 나아가 Julia를 활용한 예제를 통해서 처음 입문하는 사람부터, Julia를 응용해 적용해보려는 개발자를 포괄할 수 있는 내용을 담고 있다. 더불어 프로그래밍 언어 이외에 Unit test나 debugging 방법 등 개발시 참고할 수 있는 부분도 담고 있다. 

 물론 다른 책에 소개되어 있지 않은 뭔가 쌈빡한 비기같은 것이 담겨 있지는 않지만, 일반 입문 서적과 전개가 비슷한 만큼, 처음부터 책을 읽으면서 직접 실습해보며 배울 수 있도록 내용이 진행된다. 각 파트별로 설명이 필요한 용어와 연습 문제들은 조금더 심화로 배우고자 하는 사람에게는 도움이 많이 될 듯하다. 나같은 경우도 MOOC에서 살짝 다뤘긴 하지만, 초반에 나온 부분은 문제와 설명을 통해서 쉽게 넘어갈 수 있었다. (책을 읽다보면서 느끼는 것이지만, Julia 문법도 어떻게 보면 Python이랑 비슷한 것 같다.)

 참고로 이 책은 아마 O`reilly 책을 많이 본 사람이라면 알고 있을, Think 시리즈 중 하나이다.

그림 2. Think 시리즈

 그리고 Think 시리즈의 저자인 allen downey는 자신이 작성한 책들을 홈페이지를 통해서 무료로 배포하고 있다. 이번 서적은 비교적 최근작이어서 안 올라와있지만, 아마 근 시일내에 올리지 않을까 싶다. 아니면 책 내용이 어떤가 궁금한 사람은 영문판은 또다른 저자인 Ben Lauwens가 따로 공개해놨다. 참고하면 좋을듯하다.



출처: https://talkingaboutme.tistory.com/entry/Book-Think-Julia [자신에 대한 고찰]

k********y 2020.05.29. 신고 공감 0 댓글 0
리뷰 총점 종이책
줄리아를 생각하다: 데이터 과학자를 위한 최적의 프로그래밍 언어
"줄리아를 생각하다: 데이터 과학자를 위한 최적의 프로그래밍 언어" 내용보기
미국 출판사 O'REILLY에서 펴내는 Think~ 시리즈 중 줄리아 편이다. 줄리아(Julia)는 2012년에 릴리스된 프로그래밍 언어이며, 대화형으로 사용할 수 있는 동적 타입 언어에 속한다. 속도가 매우 빠르고, 이른바 GitHub 연동이라서 안정적이며, 챗 지피티 시대에 친화적이러 앞으로 더 널리 쓰일 전망이다. 특히 이 책에서는 아키텍처 구축이나, 데이터 과학자들을 염두에 두고 실무에서
"줄리아를 생각하다: 데이터 과학자를 위한 최적의 프로그래밍 언어" 내용보기
미국 출판사 O'REILLY에서 펴내는 Think~ 시리즈 중 줄리아 편이다. 줄리아(Julia)는 2012년에 릴리스된 프로그래밍 언어이며, 대화형으로 사용할 수 있는 동적 타입 언어에 속한다. 속도가 매우 빠르고, 이른바 GitHub 연동이라서 안정적이며, 챗 지피티 시대에 친화적이러 앞으로 더 널리 쓰일 전망이다. 특히 이 책에서는 아키텍처 구축이나, 데이터 과학자들을 염두에 두고 실무에서 바로 쓸 수 있는 실용성에 중점을 두었다고 한다. 편안한 구어체 말투로 독자에게 이야기하듯 화제를 이어가기에 부담없이 읽어 가며 공부할 수 있다. 오라일리에서 내는 많은 교재들은 한국에서 한빛미디어가 번역 출판한다.
61쪽을 보면 이 책에서 사용하는 용어들이 사전처럼 정리되었는데, 함수, 함수 호출, 합성(composition) 등이, 어렵지 않게 해설된다. 까다롭고 추상적인 서술이 아니라, 지금 공부하게 될 Julia 안의 맥락에서, 어떤 뜻을 갖고 쓰이는지에만 치중했다. 책 전체도 보다시피 슬림하지만, 어떤 서술도 군더더기없이, 오로지 독자의 쉬운 학습에만 관심을 둔 게 최고의 장점이다. 합성의 정의를 예로 들면, '어떤 표현식을, 더 큰 표현식의 일부분으로 사용하는 방법, 또는 어떤 문장을 더 큰 문장의 일부분으로 사용하는 방법'이라고 풀어 준다. 결국 Julia에서 표현식과 문장은 그 수행하는 기능이 겹침도 알 수 있다.
이 책의 가장 큰 장점은, 독자들이 평소 자주 접할 만한 고충 지점을 미리 예측하여 그에 대해 답을 준비한다는 데 있다, 예릂 들어 126쪽을 보면, 등호(=)는 Julia에서 할당의 뜻으로 쓰는데, 이는 둘 사이가 반드시 동치라는 뜻이 결코 아님을 저자는 분명히 강조한다. 또, 이 할당은 잠정적이어서 앞으로 어떻게 둘 사이의 관계가 바뀔지, 다른 할당은 발생하지 않을지에 대해 아무런 보장이 없다는 뜻도 된다. 다음 페이지에서는 재할당에 대한 설명이 이어진다.

순열은 수학에서 경우의 수를 구하는, 즉 서로 중복을 허용하지 않고, 순서도 엄밀하게 따지는 문제에서 쓰는 기법, permutation이다. 그러나 Julia 등 프로그래밍 언어에서는 다른 뜻인데, 영어로는 sequence라고 한다. Juia에서 문자열은 일종의 이 순열이며, 책에서는 먼저 문자와 유니코드 표준에 대해 설명을 이어간다. 또 문자열은 곧 순열이라며 인덱스의 기능을 풀어 주며, 값과 연산자를 포함하는 표현식을 인덱스 안에 쓸 수 있다며 그 가장 큰 기능을 짚어 말한다.
앞에서 문자열은 바꿀 수 없지만, 배열(array)은 가변이라고 설명한다. 문자열도 배열도 모두 순열(sequence)이지만, 이런 점에서 둘은 크게 다르다고 할 수 있다. 171쪽에서는 예제를 통해 예약어 end의 기능이라든가, BoundsError가 어느 때 발생하는지도 가르친다. 이 챕터에서 가장 유익했던 배움은 p180에 나오는 원소의 삭제(또는 추가)를 설명하는 대목에서였다. 이때 주로 사용되는 함수는 splice!이며, 배열의 마지막 원소를 삭제하고 그것을 결과로 반환하는 pop! 함수와 나란히 설명하여 각각의 내용이 선명히 눈에 들어오게 한 대목이 좋았다. 

서문에서 이 책이 주로 데이터과학자들을 염두에 두고 저술되었다고 했는데, 257쪽에서 책의 그런 성격이 여지없이 드러난다. 특히 이 페이지에서 주의깊게 봐야 할 대목이 GDBM에 대한 설명인데, 바로 그 앞에서 지속성과 일시성에 대해 저자가 미리 짚은 바 있었다. 언제나 사람을 난처하게 하는 문제가 디버깅인데, 263쪽에서는 이른바 화이트스페이스에 대해 설명하고 이를 어떻게 회피할지를 자세히 가르쳐 준다. 이 책에서 또 학습자에게 큰 도움을 주는 게 각 챕터 뒤마다 딸린 연습문제들인데, 꼭 문제를 내고 답을 내게 하는 게 아니라 이런 상황에서 이렇게 하라는 별개 팁 제시에 가깝다.
저자의 내공이 유감없이 발휘되는 파트는 구조체와 객체, 다중 디스패치, 하위 유형화 등에 대한 직관적이고도 시원시원한 설명이다. 또 실수뿐 아니라 허수도 포함하는 복소수로까지 지원 범위를 넓힌 Julia의 특징을 분명하게 짚어서, 예를 들어 349쪽에 나오듯 삼각함수 코사인의 자연상수를 이용한 표현식도 Julia에서 무리 없이 다룰 수 있다. 캐주얼한 듯하면서도 정작 빠진 것 별로 없이 필요한 모든 이야기를 터치하고 독자를 이끄는 저자의 솜씨가 일품이다.
s****o 2024.05.03. 신고 공감 0 댓글 0
리뷰 총점 종이책
'줄리아를 생각하다'에 대한 나의 생각
"'줄리아를 생각하다'에 대한 나의 생각" 내용보기
저는 현재 데이터사이언스를 공부하는 대학원생이고, 약 1년 전 미국에서 활동 중인 친척으로부터 Julia라는 언어를 처음 소개받았었습니다. 당시에는 Julia가 떠오른다는 느낌을 직접 체감할 수 없어 자세히 살펴보지 않았는데, 몇 달 후 데이터사이언스를 공부하면서 Python의 속도 측면에서 답답함을 느낄 수 밖에 없는 부분들이 생겨, Julia는 어떨 지 비교해보고 싶어 해당 도서를
"'줄리아를 생각하다'에 대한 나의 생각" 내용보기

 저는 현재 데이터사이언스를 공부하는 대학원생이고, 약 1년 전 미국에서 활동 중인 친척으로부터 Julia라는 언어를 처음 소개받았었습니다. 당시에는 Julia가 떠오른다는 느낌을 직접 체감할 수 없어 자세히 살펴보지 않았는데, 몇 달 후 데이터사이언스를 공부하면서 Python의 속도 측면에서 답답함을 느낄 수 밖에 없는 부분들이 생겨, Julia는 어떨 지 비교해보고 싶어 해당 도서를 읽었습니다.

 

 책의 내용은 굉장히 친절합니다. 기본적인 설명부터 시작해서 엄청 쉽지만은 않은 연습문제를 각 챕터 마다 포함하고 있습니다.또한 한 개념을 딱 하나의 예시로만 설명하는 경우는 많지 않아, 초보사용자가 이해하는 데에 신경을 많이 써줬음을 알 수 있었습니다. 종종 일상 생활에서 있는 사물을 꺼내 개념 이해및 활용에 적용하는 모습 (ex. Chapter 18)이 인상깊었습니다. 다만, 컴퓨터 언어를 처음 접하는 사람이 정말 쉽게 이해할 수 있을 지는 잘 모르겠습니다. 물론, 새로운 용어가 나올 때 대부분 잘 설명해주지만, 아예 컴퓨터 관련 용어를 모르는 사람들이 어떻게 이를 받아 드릴 지 저 또한 궁금합니다. (저는 파이썬을 포함한 몇몇의 프로그래밍 언어를 다뤄봤기에, 해당 책의 내용이 정말 좋다고 생각했습니다!)

 

 저 같은 경우, 랩실 출근을 평소에 하다보니, 해당 책을 읽는 데에 약 한 달정도 걸렸고, 매일 공부할 때마다 한 챕터씩(짧은 챕터는 2개씩 가능) 직접 notebook에서 구문 작성을 하며 공부했습니다.  특히 연습문제는 꼭 직접 코드를 쳐봤고, 이를 통해 많이 배운 것 같습니다. Julia언어를 배우기에는 정말 좋은 책이라는 생각이 중간 중간 들을 정도로 친절한 책이었습니다. 다만, 표지에서 나온 것과 같이 데이터 과학을 공부하는 사람들이 Julia의 성능을 느끼기에는 너무 Basic한 책이지는 않나 생각이 듭니다. Julia 언어의 기본적인 매서드를 중심으로 다뤘기에, 머신러닝 패키지 및 다양한 외부 모듈에 대한 설명은 부족하지 않았나 싶습니다.  


 아직까지 한국에는 줄리아 언어를 배울 수 있는 매체가 거의 없다고 생각합니다. (Youtube, 커뮤니티 포함) 이러한 상황에서 '줄리아를 생각하다'라는 책은 줄리아 언에 대한 궁금증을 풀어주기에 적합하다고 생각합니다. 해당 서적을 통해 많은  분들이 Julia 언어를 접해보셨으면 하는 바람입니다.

  

k*****1 2020.07.21. 신고 공감 0 댓글 0
리뷰 총점 종이책
줄리아를 생각하며
"줄리아를 생각하며" 내용보기
한빛 출판사의 2020년 5월  리뷰 이벤트 안내에 나온 Think Julia 를 보고서는 “이건 무조건 신청해야돼, 선정이 안되면 사서라도 볼거야” 라는 생각을 하면서 이 Think Julia를 선택한 후 어쩔 수 없이 2권의 책을 더 신청했습니다. 곁다리로 신청한 다른 책이 오면 어쩌나 하는 불안감이 없어지지 않는군요.. ㅠㅠ... 줄리아를 알게 된 것이 대략 2년 전, https://blog.naver.com/a
"줄리아를 생각하며" 내용보기

한빛 출판사의 2020년 5월  리뷰 이벤트 안내에 나온 Think Julia 를 보고서는 “이건 무조건 신청해야돼, 선정이 안되면 사서라도 볼거야” 라는 생각을 하면서 이 Think Julia를 선택한 후 어쩔 수 없이 2권의 책을 더 신청했습니다.


곁다리로 신청한 다른 책이 오면 어쩌나 하는 불안감이 없어지지 않는군요.. ㅠㅠ...


줄리아를 알게 된 것이 대략 2년 전,

https://blog.naver.com/alfee0/221186190355 


공학/수학을 위한 언어라는 점과 속도가 빠르다는 것 때문에 언젠가는 한번 써 봐야지...라는 생각을 가지고는 있었는데 기회가 없었습니다. 이번에는 꼭 한 번 써보고 싶어집니다. ..


리뷰어에 선정이 되었다는 메일을 받았고,  다음날 보고 싶었던 Julia 에 대한 책이 도착했습니다. 퇴근해서 집에 도착한 것이 8시, 동네 마트 까지 갔다 와서 피곤하지만 그래도 책을 펼쳐 보기 시작합니다

 


흥미롭네요..  


예전이라면 새로운 언어가 만들어졌다는 이야기를 들었을 때 “뭐 쓸데 없이 자꾸 나와” 라고 했을 지도 모르겠지만 이제는 이런 말을 하지 않습니다.  분명히 경쟁력이 없거나 발전하지 못하는 언어는 도태되어 사라질 것이니까요.  그리고 사라진 것 처럼 보여도  어디선가 관심이 있는 사람들은 계속 쓰고 있을 것이니 말입니다. 

그냥 두면 될 것에 대해서 잘난척 이야기 할 필요는 없으니 말입니다  


어쨌거나…. 

Julia 에 대한 책을 보니  기존의 언어의 습관들을 계승하는 것 같지만 완전히 새로운 개념의 변수 체계를  도입한 것 같습니다.  파이썬에서 한글로도  변수명을 만들어 사용할 수 있다는 것을 보긴 했는데,  라텍의 기호 입력 방식인 \ 로 시작하는 특수 문자 입력 기능까지 있군요.  이 기능을 이용하면 코드 상에서 원주율을 나타내는 기호 π 를   사용할 수 있을 뿐 아니라 수학 기호까지 그대로 사용해서 코딩을 할 수 있다는 것이 놀랍습니다. 


수학의 연산자를  코딩에 사용한다. 


라는 발상도 예전에는 불가능했을 지 모르겠지만 unicde 를 채용해서 모든 언어를 다 나타낼 수 있는 지금에는 충분히 가능하고 사용하는 언어나 코드 페이지(code page)에 따라서 생길 수 있는 문제도 생기지 않을 것 같습니다. 


또한 세계적으로 같은 기호를 사용하는 수학의 연산자를 코딩에서 사용할 수 있게 되니  좀더 간단하면서도 명확하게 원하는 바를 나타낼 수 있으며, 또한 이  Julia 가 공학/수학/과학을 위한 언어라고 말할 수 있는 근거가 되기도 할 것 같습니다.  


 

물론 이로 인한 단점들이 없는 건 아닙니다.  좀 더 많은 연산자를 외워야만 합니다.  ^^;;;;;

수학기호 연산자, 그리고  Julia 의 연산자인  isa 와 같은 연산자 까지도 외어야 하니.   


이런 단점은 이 언어를 배우고자 하는 독자들이 조금 더 부지런해 지는 수 밖에는 없을 것 같네요. 수학책에서나 보던 ÷  기호가 나왔을 때 Julia에서는 나눗셈의 몫을 구하는 용도로 사용되는 것을 모르면  곤란해지니 말입니다.  


 

이 책의 구성은 저자가 밝혔듯이 Think Python 저자의 허락하에 Think python 포맷을 그대로 이용했기 때문에 Julia 의 기본 사항들을 소개하는데 는 부족함이 없는 것 같습니다. 


1장은 헬로 월드로 부터 시작해서 산술 연산자, 자료형.. 

2장은 변수, 연산자의 우선순위.. . 

3장은 함수 .. .


각 장의 마지막의 용어 정리라던가 각 장에서 잠깐 잠깐 설명하는 디버깅에 관련된 팁들, 그리고 21장에서 이야기 하는 오류 메시지와 디버깅 방법은 처음 접하는 Julia 언어를 사용해서 처음  프로그램을 작성할 때 생길 수 있는 버그나 이 후 발생할 좀 더 복잡한 버그들을 찾아내는데 도움이 될 것 같습니다.   


또한 Julia 가 공학/수학용이라서 그런지 예제도 바빌로니안 방법(Babylonian Method) 를 사용하는 제곱근 구하기 라던가(131페이지), 라마누잔의 1/pi 의 근사값을 구하는 무한 급수를 구하는 예를 보이기도합니다(137페이지).


그리고 이 책을 번역한 역자분의 친절한 주석들은 본문의 예제의 내용들을 이해하는데 많은 도움이 됩니다. 


하지만 이 책의 구성에 대해서는 몇몇 아쉬운 점들이 보입니다. 


  1. 원래의 저자가 서문에서도 밝혔듯이 Think Python 을 기본으로 책을 만들었기 때문인지 이 책의 구성이 Julia 를 위한 책이라기 보다 파이썬으로 할 수 있는 것을 Julia 로 하는 방법을 보이는 것 같다는 것입니다.  그리고 이 책은 줄리아의 기본을 이해하는 것을 목표로 하고 있어서 이 책만으로는  책의 표지의 문구처럼 데이터 과학자가 뭔가를 해보기엔 조금 힘들 수도 있습니다. 아무래도 이런 것들은 이 책에서 나온 내용들을 익힌 사용자가 수학/공학에 적용하는 법을 배우는 책이 나와야 가능할 것 같습니다. 예를 들어  Julia 홈페이지에 있는 다음과 같은 것들을 할 수 있는 책이 있어야 할 것 같다는 거죠 . 



   

실제로도 대학생들/대학원생들하고 이야기를 해보면 이런 것을 하는 과정을 알고 싶어하는 경우가 많더군요. 


  1. 조금은 상세한 설명이 부족한 느낌입니다. (이건 뭐 여태껏 이 오라일리의 책들이 좀 불친절한 느낌도 있었으니… 라고 할 수도 있겠습니다만 최근 워낙 상세한 혼공파/혼공씨/혼공자  등을 보다 보니 더 눈에띄는 듯 합니다. 


불친절함의 예를 하나 들어 보겠습니다.  


책에서 사용된 줄리아 버전과 사용환경상의 문제인지  저는 Windows 10 에서 Julia 를 설치하고 실행한 상태에서 이 책의 4장의 4.1 을 따라하기 위해서  Pkg REPL  모드에서 패키지를 설치 한 후 다시 julia 프롬프트로 돌아오는 방법의 설명이 빠져 있어 결국 검색을 통해서  백스페이스키 를 눌러야 원래대로 돌아 올 수 있었네요. 


이전으로 돌아오는 방법을 검색해서 찾은 링크 입니다. 

https://docs.julialang.org/en/v1/stdlib/Pkg/index.html 


Pkg REPL 모드에서 프롬프트로 돌아올 떄 어떤 키를 눌러야 하는지 한 줄만 적어  놓았더라면 이렇게 번거롭게 검색하지 않았어도 될 건데 말입니다.  


또한 ThinkJulia 를 사용하기 위해서 처음으로 using ThinkJulia 를 실행하고 나면 컴파일을 하는데도 시간이 좀 걸리는데 아무런 이야기가 없으니.. . 


사족이지만 이 4장의 내용을 보다 보니 대략 30~40년 전에 본 Logo 라는 언어가 생각이 납니다. ^^;


 

  1. 그리고 초보자가 이 책에서 필요한 내용들이나 이전에 봤던 부분들을 좀 더 빨리 찾아 보기 위해서 필수적인 index 가 많이 부족합니다. 그래서 이전에 본 내용을 다시 찾아 보거나,  @ 라던가  $ 등의 용법에 대한 설명을 찾아 보기가 힘드네요. 


예를 들어 show 라는 함수에 대해서 찾아 보기 위해서는 목차를 참고해서 17.5절을 보거나, 107페이지, 109페이지에 있는 역자의 주석을 참고해야하는데 show 함수가 색인(INDEX)에 없으니...



 

물론 책의 구성과 내용에 대한 불만은 오롯이 이  책 한권으로 위의 그림과 같은 것을 할수 있었으면 하는 바람을 가진 저의 욕심 때문일 수도 있습니다.  제대로 걷지도 못하면서 파쿠르(Parkour)를 하고싶어하는 것 같네요. ^^:; 


 

하지만  이 책은 Julia 라는 소녀와의 첫 만남의 자리를 좀 더 편하게 해줄 것 같습니다.


알게 되면알게 될 수록, 시간이 갈수록 멋진 아가씨가 될 것이 분명한 Julia 와의 첫 인연을 이 책으로 시작해 보는 것도 좋을 것 같습니다. 


앞으로 이 책이 계속 새로워지고 더불어서 Julia 에 대한 책들이 더욱 더 많이 나왔으면 하면서 이 리뷰를 마칩니다.



이 리뷰는 한빛 출판사의 ‘나는 리뷰어다’ 이벤트로 받은 책을 보고 쓴 솔직한 감상을 적은 글입니다. 

a***e 2020.05.31. 신고 공감 0 댓글 0