줄리아(Julia)는 고성능의 수치 해석 및 계산과학의 필요 사항을 만족시키면서 일반 목적 프로그래밍에도 효과적으로 사용될 수 있도록 설계된 고급 동적 프로그래밍 언어입니다. - 출처: 위키백과
조금 더 자세한 한국어 정보는 나무위키(https://namu.wiki/w/Julia)에서 볼수있고,
자세한 영문 정보는 (https://en.wikipedia.org/wiki/Julia_(programming_language)) 여기에서 볼 수 있습니다.

2025년 현재 TIOBE에서 줄리아의 순위는 30위 이며, 2022년 보다는 순위가 낮아졌습니다.

간단하게는 MIT에서 만든 언어이며, 현재 아래의 대학들에서 가르치고 있다고 합니다.
| 대학명 | 과목명 혹은 분야 | 비고 |
| AGH University of Science and Technology (폴란드) | Medical Signal Processing | 공학 분야 |
| Arizona State University (미국) | Numerical Analysis | 수치해석 |
| Azad University (이란) | Modeling and Evaluation | 공학 |
| Brown University (미국) | Computational Molecular Biology | 생명정보학 |
| Czech Technical University (체코) | Engineering Mathematics | 공학 |
| EPFL (스위스) | Decision-Aid Methodologies in Transportation | 교통 및 산업공학 |
| City University of New York (미국) | Calculus Computer Laboratory | 수학 교육 |
Julia를 배우기 위해서 많은 교재들이 있지만, 이 중에 독일에 있는 TU Berlin(베를린 공대)의 튜토리얼을 추천합니다.
https://juml-tub.github.io/julia-ml-course/
4주만에 줄리아 프로그래밍을 배울 수 있도록 설계되어 있습니다.
저의 경우에는 주말동안 1주차씩 공부 해서, 한달 걸렸습니다.
| 주 | 강의 | 콘텐츠 |
| 1 | 0 | 일반 정보, 설치 및 도움말 받기 |
| 1 | 기본 1: 유형, 제어 흐름 및 다중 디스패치 | |
| 2 | 2 | 기본 2: 배열, 선형대수 |
| 3 | 플로팅 및 데이터 프레임 | |
| 3 | 4 | 기본 3: 데이터 구조 및 사용자 정의 유형 |
| 5 | 고전적인 머신 러닝 | |
| 4 | 6 | 자동 미분 |
| 7 | 딥러닝 | |
| 5 | 프로젝트 | 워크플로: 스크립트, 실험 및 패키지 |
| 프로젝트 | 프로파일링 및 디버깅 |
처음 3주는 Julia 프로그래밍 언어의 기본을 가르치는 데 중점을 둡니다. 이 기간 동안 긴 강의가 이어지고, 이어서 플로팅, 데이터 프레임, 고전적인 머신러닝 알고리즘을 포함한 Julia 생태계에 대한 짧은 "가이드 투어"가 진행됩니다.
4주차는 딥 러닝에 관한 내용입니다. 자동 미분(AD)에 대한 포괄적인 강의를 통해 Julia의 다양한 AD 패키지 간의 차이점을 살펴본 후, Flux의 딥 러닝 생태계에 대한 간략한 개요를 제공합니다.
마지막으로, 5주차에는 Julia 프로젝트를 직접 시작하고, Julia 패키지의 구조와 재현 가능한 머신 러닝 연구를 위한 다양한 워크플로를 살펴보는 시간을 갖습니다. 이어서 Julia의 디버깅 및 프로파일링 유틸리티를 시연합니다.
| 패키지 | 강의 | 설명 | 파이썬 동등물 |
| LinearAlgebra.jl | 2 | 선형대수학(표준 라이브러리) | numpy |
| Plots.jl | 3 | 플로팅 및 시각화 | matplotlib |
| DataFrames.jl | 3 | 표 형식 데이터 작업 및 처리 | pandas |
| MLJ.jl | 5 | 고전적인 머신 러닝 방법 | scikit-learn |
| ChainRules.jl | 6 | 자동 미분을 위한 정방향 및 역방향 규칙 | |
| Zygote.jl | 6 | 역모드 자동 미분 | JAX, PyTorch |
| Enzyme.jl | 6 | 정방향 및 역방향 모드 자동 미분 | JAX |
| ForwardDiff.jl | 6 | 순방향 모드 자동 미분 | |
| FiniteDiff.jl | 6 | 유한차분 | |
| FiniteDifferences.jl | 6 | 유한차분 | |
| Flux.jl | 7 | 딥러닝 추상화 | PyTorch, Keras |
| MLDatasets.jl | 7 | 데이터셋 로더 | |
| PkgTemplates.jl | 프로젝트 | 패키지 템플릿 | |
| DrWatson.jl | 프로젝트 | 과학 프로젝트를 위한 워크플로 | |
| Debugger.jl | 프로젝트 | 디버거 | |
| Infiltrator.jl | 프로젝트 | 디버거 | |
| ProfileView.jl | 프로젝트 | 프로파일러 | |
| Cthulhu.jl | 프로젝트 | 유형 추론 디버거 |
0강
[AI 인공지능 머신러닝 딥러닝/Julia] - Julia 프로그래밍 - Julia 설치
Julia 프로그래밍 - Julia 설치
이전 글[AI 인공지능 머신러닝 딥러닝/Julia] - Julia 프로그래밍 - 언어 및 강의 소개 Julia 프로그래밍 - 언어 및 강의 소개Julia 프로그래밍 언어줄리아(Julia)는 고성능의 수치 해석 및 계산과학의 필
inner-game.tistory.com
1강
[AI 인공지능 머신러닝 딥러닝/Julia] - Julia 프로그래밍 - 유형, 제어 흐름, 함수 및 다중 디스패치
Julia 프로그래밍 - 유형, 제어 흐름, 함수 및 다중 디스패치
[AI 인공지능 머신러닝 딥러닝/Julia] - Julia 프로그래밍 - 언어 및 강의 소개 Julia 프로그래밍 - 언어 및 강의 소개Julia 프로그래밍 언어줄리아(Julia)는 고성능의 수치 해석 및 계산과학의 필요 사항
inner-game.tistory.com
2강
[AI 인공지능 머신러닝 딥러닝/Julia] - Julia 프로그래밍 - 배열 및 선형 대수
Julia 프로그래밍 - 배열 및 선형 대수
[AI 인공지능 머신러닝 딥러닝/Julia] - Julia 프로그래밍 - 언어 및 강의 소개 Julia 프로그래밍 - 언어 및 강의 소개Julia 프로그래밍 언어줄리아(Julia)는 고성능의 수치 해석 및 계산과학의 필요 사항
inner-game.tistory.com
3강
[AI 인공지능 머신러닝 딥러닝/Julia] - Julia 프로그래밍 - 플롯과 데이터 프레임
Julia 프로그래밍 - 플롯과 데이터 프레임
[AI 인공지능 머신러닝 딥러닝/Julia] - Julia 프로그래밍 - 언어 및 강의 소개 Julia 프로그래밍 - 언어 및 강의 소개Julia 프로그래밍 언어줄리아(Julia)는 고성능의 수치 해석 및 계산과학의 필요 사항
inner-game.tistory.com
4강
[AI 인공지능 머신러닝 딥러닝/Julia] - Julia 프로그래밍 - 사전, 세트 및 사용자 정의 유형
Julia 프로그래밍 - 사전, 세트 및 사용자 정의 유형
[AI 인공지능 머신러닝 딥러닝/Julia] - Julia 프로그래밍 - 언어 및 강의 소개 Julia 프로그래밍 - 언어 및 강의 소개Julia 프로그래밍 언어줄리아(Julia)는 고성능의 수치 해석 및 계산과학의 필요 사항
inner-game.tistory.com
5강
[AI 인공지능 머신러닝 딥러닝/머신러닝] - Julia 프로그래밍 - 머신 러닝을 위한 Julia
Julia 프로그래밍 - 머신 러닝을 위한 Julia
[AI 인공지능 머신러닝 딥러닝/Julia] - Julia 프로그래밍 - 언어 및 강의 소개 Julia 프로그래밍 - 언어 및 강의 소개Julia 프로그래밍 언어줄리아(Julia)는 고성능의 수치 해석 및 계산과학의 필요 사항
inner-game.tistory.com
6강
[AI 인공지능 머신러닝 딥러닝/Julia] - 줄리아 프로그래밍 - 자동 미분 Automatic differentiation | Forward- & Reverse-Mode AD
줄리아 프로그래밍 - 자동 미분 Automatic differentiation | Forward- & Reverse-Mode AD
첫 강의: [AI 인공지능 머신러닝 딥러닝/Julia] - Julia 프로그래밍 - 언어 및 강의 소개 Julia 프로그래밍 - 언어 및 강의 소개Julia 프로그래밍 언어줄리아(Julia)는 고성능의 수치 해석 및 계산과학의 필
inner-game.tistory.com
7강
[AI 인공지능 머신러닝 딥러닝/Julia] - 줄리아 프로그래밍 - 딥러닝, Deep Learning
줄리아 프로그래밍 - 딥러닝, Deep Learning
첫 강의: [AI 인공지능 머신러닝 딥러닝/Julia] - Julia 프로그래밍 - 언어 및 강의 소개 Julia 프로그래밍 - 언어 및 강의 소개Julia 프로그래밍 언어줄리아(Julia)는 고성능의 수치 해석 및 계산과학의 필
inner-game.tistory.com
왜 줄리아를 배워야 하나요?
Julia는 공식 웹사이트의 내용을 다음과 같이 요약했습니다 .
- 빠름: 고성능 컴퓨팅을 위해 설계되었으며 LLVM으로 컴파일됩니다.
- 동적: 동적으로 입력되는 대화형 REPL
- 재현 가능: 뛰어난 패키지 관리자, 재현 가능한 환경 및 사전 빌드된 바이너리
- 구성 가능: 여러 디스패치를 사용합니다.
- 일반: 비동기 I/O, 메타프로그래밍 등을 허용합니다.
- 오픈 소스: 개방형 개발, 관대한 MIT 라이선스 사용
만약 이러한 특징들이 당신에게 매력적으로 들린다면, 줄리아를 배워보세요!
노트북을 어떻게 실행할 수 있나요?
실행 노트북은 설치 노트북 의 "개강 및 숙제" 섹션에 설명되어 있습니다 .
또는 "이 노트북 편집 또는 실행"을 클릭하여 Binder에서 노트북을 열 수 있습니다 . 하지만 Binder는 로딩 시간이 매우 오래 걸릴 수 있습니다. Pluto 노트북은 "Binder에서 실행" 버튼 위에 예상 로딩 시간을 표시합니다 .
Git에 익숙하시다면 이 강의의 GitHub 저장소를 복제하실 수도 있습니다 . 그런 다음 Pluto에서 강의 및 과제의 로컬 복사본을 열 수 있습니다. 강의 복사본을 최신 상태로 유지하려면 정기적으로 가져오기를 수행하세요.
⁽⁺⁾일부 슬라이드 제목에 있는 기호는 무엇을 의미합니까?
이 기호는 건너뛸 수 있는 선택 사항(대개 더 고급) 콘텐츠를 나타냅니다.
이 웹사이트의 형식과 이 과정의 내용은 다음 강의의 영향을 받았습니다.
많은 감사합니다
[AI 인공지능 머신러닝 딥러닝/Julia] - Julia 프로그래밍 무료 강의 추천 - Datacamp
Julia 프로그래밍 무료 강의 추천 - Datacamp
데이터캠프 datacamp.com 라는 사이트를 추천드립니다. Coursera나 edX 처럼 무료 교육으로 아주 유명한 사이트입니다. 사이트주소 : datacamp.com 간단히 구글계정으로 로그인 하시면 됩니다. 지원되는 언
inner-game.tistory.com
[AI 인공지능 머신러닝 딥러닝/Julia] - Julia 프로그래밍 - Julia 설치
Julia 프로그래밍 - Julia 설치
이전 글[AI 인공지능 머신러닝 딥러닝/Julia] - Julia 프로그래밍 - 언어 및 강의 소개 Julia 프로그래밍 - 언어 및 강의 소개Julia 프로그래밍 언어줄리아(Julia)는 고성능의 수치 해석 및 계산과학의 필
inner-game.tistory.com
[AI 인공지능 머신러닝 딥러닝/Julia] - Julia 프로그래밍 - 유형, 제어 흐름, 함수 및 다중 디스패치
Julia 프로그래밍 - 유형, 제어 흐름, 함수 및 다중 디스패치
목차 - 머신 러닝을 위한 Julia 줄리아 소개안녕하세요 세상변수기본 연산자산술 연산자숫자 비교부울 연산자비트 연산자 ⁽⁺⁾운영자 업데이트유형 시스템유형기타 일반적인 숫자 유형--무리
inner-game.tistory.com