このレポジトリでは、『Juliaプログラミングクックブック』で使用するサンプルコードをダウンロードすることができます。
『Juliaプログラミングクックブック』の原書はPackt Publishingから発刊されたJulia 1.0 Programming Cookbook : Over 100 numerical and distributed computing recipes for your daily data science workflowです。
原書のサンプルコードは https://github.com/PacktPublishing/Julia-1.0-Programming-Cookbook からダウンロード可能です。本サンプルコードは、日本語翻訳版の内容に合わせ、Julia 1.2で動くように原書のサンプルコードを修正しました。
サンプルコードは、レシピごとにそれぞれのディレクトリに格納されています。それぞれのレシピには読者が入力するべきテキストを収めたcommands.txtファイルが用意されています。commands.txtファイルの個々のエントリにはプロンプト($やjulia>)が付けられており、どの環境で入力するべきコマンドなのか(OSシェルなのかJuliaのインタラクティブモード(REPL)なのか)がわかるようになっています。ほとんどのレシピには、Juliaプログラムのソースコードを収めたファイルも用意されています。また、可能なレシピについては、Jupyter Notebookも用意しました。ファイルのリストと、その内容は、本文の各レシピの 「準備しよう」 の節に示してあります。
- macOS Mojave 10.14.6
- Linux Ubuntu 18.04
- Windows 10 Pro
- Julia 1.2.0
本書の翻訳時に使用したパッケージのバージョンを次に挙げます。本レポジトリの
cookbookconf.jlファイルのスクリプトを用いると、本書のレシピで用いるすべてパッケージをインストールしてバージョンを固定することができます。パッケージの管理については1章の 「レシピ1.10 パッケージの管理」 を参考にしてください。
| パッケージ名 | バージョン | 外部依存 |
|---|---|---|
| BSON | v0.2.3 | 依存なし |
| BenchmarkTools | v0.4.2 | 依存なし |
| CSV | v0.5.9 | 依存なし |
| Cascadia | v0.4.0 | 依存なし |
| Cbc | v0.6.2 | 依存なし |
| Clp | v0.6.2 | 依存なし |
| CodecZib | v0.6.0 | 依存なし |
| Conda | v1.3.0 | 外部のPython Anacondaに依存してもよい |
| DataFrames | v0.19.2 | 依存なし |
| DataFramesMeta | v0.5.0 | 依存なし |
| Distributions | v0.21.0 | 依存なし |
| Feather | v0.5.3 | 依存なし |
| FileIO | v1.0.7 | 依存なし |
| ForwardDiff | v0.10.3 | 依存なし |
| FreqTables | v0.3.1 | 依存なし |
| Gumbo | v0.5.1 | 依存なし |
| Gurobi | v0.6.0 | Gurobi Solver |
| HTTP | v0.8.5 | 依存なし |
| JDBC | v0.4.1 | Java実行環境 |
| JLD2 | v0.1.2 | 依存なし |
| JSON | v0.21.0 | 依存なし |
| JuMP | v0.19.2 | 依存なし |
| JuliaWebAPI | v0.6.0 | 依存なし |
| LibPQ | v0.11.0 | PostgreSQL libpqライブラリ |
| MySQL | v0.7.0 | 依存なし |
| OnlineStats | v0.27.0 | 依存なし |
| Optim | v0.19.1 | 依存なし |
| Plots | v0.26.0 | 外部のPython Anacondaに依存してもよい (PyPlot描画バックエンド) |
| ParallelDataTransfer | v0.5.0 | 依存なし |
| ProfileView | v0.4.1 | 依存なし |
| PyCall | v1.91.2 | 外部のPython Anacondaに依存してもよい |
| PyPlot | v2.8.1 | 外部のPython Anacondaに依存してもよい |
| RCall | v0.13.3 | GNU R |
| Revise | v2.1.8 | 依存なし |
| ScikitLearn | 最新バージョン | 外部のPython Anacondaに依存してもよい + Anaconda scikit-learnライブラリ |
| StatsPlots | v0.10.2 | 外部のPython Anacondaに依存してもよい (PyPlot描画バックエンド) |
| StaticArrays | v0.11.0 | 依存なし |
| StatsBase | v0.31.0 | 依存なし |
| StringEncodings | v0.3.1 | 依存なし |
| TimeZones | v0.9.2 | 依存なし |
| UnicodePlots | v1.1.0 | 依存なし |
| XLSX | v0.5.4 | 依存なし |
| ZMQ | v1.0.0 | 依存なし |
パッケージを固定しなくてもレシピは動くかもしれませんが、APIが互換性のない形で変更されている場合にはうまく動かない場合もあります。そのような場合にはレシピの方を少し修正しなければならないかもしれません。