{%hackmd _6gkK4EVRrijGnUnS71_YA %}
`juliaup` が便利だよって話
===
<!-- .element: style="font-size: 300%" -->
<!-- .slide: data-background-color="rgba(102,130,223,0.3)" -->
2022/05/28 Python東海/JuliaTokaiミニ合同勉強会
@ OSC2022 Online/Nagoya
antimon2(後藤 俊介)
Note:
`juliaup` の紹介っ!
---
<!-- .slide: data-background-color="rgba(102,130,223,0.3)" -->
# お前誰y?(ry
Note:
コミュニティ紹介で自己紹介もしたのでこちらでは省略っ
---
<!-- .slide: data-background-color="rgba(102,130,223,0.3)" -->
まずはこちらをご覧ください。
---
<!-- .slide: data-background-color="rgba(102,130,223,0.3)" -->
[![Get Julia - Microsoft Store](https://hackmd.io/_uploads/HyH2T7O3K.png)
https://www.microsoft.com/store/apps/9NJNWW8PVKMN](https://www.microsoft.com/store/apps/9NJNWW8PVKMN)
<!-- .element: style="font-size:60%" -->
Note:
Windows をお使いの方はおなじみだと思うんですが…
---
<!-- .slide: data-background-color="rgba(102,130,223,0.3)" -->
+ Microsoft Store に Julia が登録されている!
+ Julia の最新安定版と `juliaup` コマンドがインストールされる!
<!-- .element: style="font-size:180%" -->
Note:
MSStore に Julia が登録されていますっ!
(まぁ Python も登録されているのですが)
インストールすると、Julia の最新安定版と `juliaup` というコマンドがインストールされます!
`juliaup` って何なのかって言うと…
---
<!-- .slide: data-background-color="rgba(102,130,223,0.3)" -->
[![JuliaLang/juliaup: An experimental Julia version manager](https://hackmd.io/_uploads/H1WChjhP5.png)
https://github.com/JuliaLang/juliaup](https://github.com/JuliaLang/juliaup)
<!-- .element: style="font-size:60%" -->
Note:
`juliaup` は Github で開発管理されていまして…
---
<!-- .slide: data-background-color="rgba(102,130,223,0.3)" -->
[![README - Julialang/juliaup](https://hackmd.io/_uploads/BkNCO03Pc.png)
https://github.com/JuliaLang/juliaup/blob/master/README.md](https://github.com/JuliaLang/juliaup/blob/master/README.md)
<!-- .element: style="font-size:60%" -->
Note:
「Juliaup - Julia version manager」なのですっ。
---
<!-- .slide: data-background-color="rgba(102,130,223,0.3)" -->
## Juliaup - Julia version manager
<!-- .element: style="font-size:260%" -->
---
<!-- .slide: data-background-color="rgba(102,130,223,0.3)" -->
[![Installation - README - Julialang/juliaup](https://hackmd.io/_uploads/Byj8Ri3Dq.png)
https://github.com/JuliaLang/juliaup/blob/master/README.md#installation](https://github.com/JuliaLang/juliaup/blob/master/README.md#installation)
<!-- .element: style="font-size:60%" -->
Note:
README にも記載されてます通り…
---
<!-- .slide: data-background-color="rgba(102,130,223,0.3)" -->
+ winget でインストールできる!
+ `winget install julia -s msstore`
+ Mac/Linux にも対応!(prerelease)
+ `curl -fsSL https://install.julialang.org | sh`
+ `brew install juliaup`
<!-- + ArchLinux!, OpenSUSE! -->
<!-- .element: style="font-size:120%" -->
Note:
Windows なら winget でコマンドラインからでもインストールできますっ!(まぁこれは MSStore 登録されていれば当たり前なんですけれど)
Mac/Linux にも対応していますっ!(そもそもRust製のコマンドラインアプリなのでビルドさえできればどこでもOKな訳です、まだexperimentalではありますが)
あと Arch Linux とか OpenSUSE とかもあるっぽいです(略)っ!
---
<!-- .slide: data-background-color="rgba(102,130,223,0.3)" -->
```shell
PS> juliaup st
Default Channel Version Update
---------------------------------------
* release 1.7.2+0~x64
PS> julia
_
_ _ _(_)_ | Documentation: https://docs.julialang.org
(_) | (_) (_) |
_ _ _| |_ __ _ | Type "?" for help, "]?" for Pkg help.
| | | | | | |/ _` | |
| | |_| | | | (_| | | Version 1.7.2 (2022-02-06)
_/ |\__'_|_|_|\__'_| | Official https://julialang.org/ release
|__/ |
julia>
```
<!-- .element: style="font-size:50%" -->
Note:
PowerShell での動作例
---
<!-- .slide: data-background-color="rgba(102,130,223,0.3)" -->
### `juliaup` の利点(1)
+ パス通してくれる!
<span>(Windowsだと地味に便利)<!-- .element: style="font-size:60%" --></span>
<!-- .element: style="font-size:220%" -->
Note:
っす
---
<!-- .slide: data-background-color="rgba(102,130,223,0.3)" -->
```shell
PS> juliaup add lts
Installing Julia 1.6.6+0 (x64).
PS> juliaup add beta
Installing Julia 1.8.0-beta3+0 (x64).
PS> juliaup st
Default Channel Version Update
---------------------------------------------
beta 1.8.0-beta3+0~x64
lts 1.6.6+0~x64
* release 1.7.2+0~x64
```
Note:
こんな感じでチャネルを追加出来て…
そのチャネルの最新のJuliaを自動でインストールしてくれますっ!
---
<!-- .slide: data-background-color="rgba(102,130,223,0.3)" -->
```shell
PS> julia +lts
_
_ _ _(_)_ | Documentation: https://docs.julialang.org
(_) | (_) (_) |
_ _ _| |_ __ _ | Type "?" for help, "]?" for Pkg help.
| | | | | | |/ _` | |
| | |_| | | | (_| | | Version 1.6.6 (2022-03-28)
_/ |\__'_|_|_|\__'_| | Official https://julialang.org/ release
|__/ |
julia>
```
<!-- .element: style="font-size:50%" -->
Note:
`julia` コマンドの最初に `+lts` とかすると指定したチャネルの Julia を起動してくれる!
---
<!-- .slide: data-background-color="rgba(102,130,223,0.3)" -->
### `juliaup` の利点(2)
+ チャネルごとにバージョン切り替え!
<!-- .element: style="font-size:120%" -->
Note:
っす
さらにっ
---
<!-- .slide: data-background-color="rgba(102,130,223,0.3)" -->
```shell
PS> juliaup st
Default Channel Version Update
--------------------------------------------------------
beta 1.8.0-beta1+0~x64 1.8.0-beta3+0~x64
lts 1.6.5+0~x64 1.6.6+0~x64
* release 1.7.2+0~x64 1.7.3+0~x64
PS> juliaup up
# 《中略》
PS> juliaup st
Default Channel Version Update
---------------------------------------------
beta 1.8.0-beta3+0~x64
lts 1.6.6+0~x64
* release 1.7.3+0~x64
```
<!-- .element: style="font-size:50%" -->
Note:
チャネルごとにバージョンアップっ!
---
<!-- .slide: data-background-color="rgba(102,130,223,0.3)" -->
### `juliaup` の利点(3)
+ チャネルごとにバージョンアップ!
<!-- .element: style="font-size:120%" -->
Note:
っす
さらにっ
---
<!-- .slide: data-background-color="rgba(102,130,223,0.3)" -->
## 補足:Julia の安定版とLTS
+ 最新安定版:v1.7.3(2022/05/06)
+ LTS:v1.6.6(2022/03/28)
↓
----
<!-- .slide: data-background-color="rgba(102,130,223,0.3)" -->
### 安定版
+ 機能追加・不具合修正(+パフォ改善)ごとにリリース!
+ バージョンアップによる「破壊的な仕様変更」なし!
+ キーワード:セマンティックバージョニング
Note:
安定版はまぁ安定版なんですが、ポイントはJuliaは文法がもうほぼ固まっていて、某他言語みたいに破壊的な仕様変更はないんですね、
ちなみにセマンティックバージョニングって言うんですけれど、その話してると5分じゃ全然足りないので省略しますが、…
----
<!-- .slide: data-background-color="rgba(102,130,223,0.3)" -->
### LTS
+ API仕様を保証する最低バージョン!
+ アプリ・パッケージ開発者は気にする必要あり
Note:
他にLTSチャネルというのがありまして、要するにAPI仕様を保証する最低バージョンということです。
みんなに使ってもらうパッケージを開発する場合は保証すべき最低バージョンとして動作確認する必要はありますが、
---
<!-- .slide: data-background-color="rgba(102,130,223,0.3)" -->
## 要するに
<!-- .element: style="font-size:300%" -->
+ 普段使いは常に最新安定版!
+ 仕様ベースはLTS!
+ `juliaup` はそれを分かってて
チャネルごとに切替・更新!<!-- .element: style="font-size:80%" -->
<!-- .element: style="font-size:140%" -->
Note:
要するにこれだけ覚えておけばOKですっ:
普段使い・研究開発等なら常に最新安定版を使えばOK!
---
# まとめ
<!-- .slide: data-background-color="rgba(102,130,223,0.3)" -->
----
<!-- .slide: data-background-color="rgba(102,130,223,0.3)" -->
+ Julia 楽しい!
+ `juliaup` 便利!
+ JuliaTokai 楽しい!
<!-- .element: style="font-size:200%" -->
Note:
っ
---
<!-- .slide: data-background-color="rgba(102,130,223,0.3)" -->
ご清聴ありがとうございます。
Note:
ご清聴ありがとうございますっ!
{"metaMigratedAt":"2023-06-17T01:40:47.411Z","metaMigratedFrom":"YAML","title":"`juliaup` が便利だよって話","breaks":true,"slideOptions":"{\"transition\":\"slide\",\"theme\":\"league\"}","contributors":"[{\"id\":\"80062a4b-8dad-49ac-95bf-848ce0686e9e\",\"add\":9005,\"del\":1741}]"}