Slide 1

Slide 1 text

『実践Julia入門』 で 割愛したネタ 2024/02/03 JuliaTokyo #11 antimon2(後藤 俊介)

Slide 2

Slide 2 text

お品書き ● お前誰よ? ● 簡単な Julia の紹介 ● JuliaTokai の紹介(と現状報告) ● 『実践Julia入門』 の紹介 ● 『実践Julia入門』 で割愛したネタ

Slide 3

Slide 3 text

お前誰よ?

Slide 4

Slide 4 text

自己紹介 ● 名前:後藤 俊介 ● 所属:有限会社 来栖川電算 ● コミュニティ:🌟JuliaTokai, 🌟機械学習名古屋, Ruby東海, Python東海, jl.dev, … ● 言語:Julia, Python, Ruby, … ● SNS等:                  (@antimon2) ● SNS等(2):      (@antimon2.jl) ● 著書:実践Julia入門

Slide 5

Slide 5 text

https://www.kurusugawa.jp

Slide 6

Slide 6 text

プレスリリース → https://www.hatch-tech-nagoya.jp/pr-escalator-ai https://www.kurusugawa.jp/htn-2023-11-17

Slide 7

Slide 7 text

JuliaTokai の紹介

Slide 8

Slide 8 text

https://juliatokai.connpass.com/

Slide 9

Slide 9 text

コミュニティの紹介 ● Julia の東海地方ユーザグループ ● 2018年に立ち上げ(3人) ○ Python東海+Unagi.py 合同勉強会 の懇親会がきっかけ ● 2019/02 に第1回勉強会開催 ● 2020/05 から完全オンライン開催 ● 2023/02 拠点を Discord サーバ に移行 ● 現在に至る

Slide 10

Slide 10 text

勉強会の内容 ● オンライン開催 ○ 誰でもOK! どこからでも参加OK! ○ (ほぼ)定期的に開催! ● 発表+もくもく会(質問雑談OK!) ○ Julia について 語り合える場の提供! ○ 『Julia に関すること』以外特にテーマは決めません! ● コミュニティ規範 (Julia 公式) ○ …を逸脱しなければ基本なんでもOK!

Slide 11

Slide 11 text

現状報告 ● 年4回ペースでだいたい定期的に開催(回復) ○ コロナ禍(あんど主催者多忙)で一時期頻度が年2回に減少 ● 主催陣入替 ○ antimon2(引き続き) ○ Hyrodium(2023/05~) ○ Kgm1500(2023/05~) ● 次回 ○ 2024/03 あたりに開催予定

Slide 12

Slide 12 text

『実践Julia入門』 の紹介

Slide 13

Slide 13 text

4年前

Slide 14

Slide 14 text

2020/07/10 Twitter DM (要約) Julia の入門書を書いてくれる人探してるんだ けど、 興味ある? めっっちゃ興味あります! 2020年7月10日 午後3:28 2020年7月10日 午後4:16 リクエストを許可しました

Slide 15

Slide 15 text

2020/09 ~ 2023/01 ● 書く (write) ● 書き直す (fix) ● 書き直す (rewrite) ● 書き直す (update)

Slide 16

Slide 16 text

https://twitter.com/antimon2/status/1635765451220459520

Slide 17

Slide 17 text

おまけ:約4ヶ月後

Slide 18

Slide 18 text

2023/07/26 社内チャット (※イメージ) Julia本を見て 『仕事依頼したいんだけど』 って問い合わせが来たよ マ!? しゃちょー 2023年7月26日 14:10 ぼく 2023年7月26日 14:11

Slide 19

Slide 19 text

2023/07 ~ 2023/09 先方とのやりとり(概要) 大規模データをスレッド並列で処理する内製アプリ を Julia で開発中なのですが共同開発者もしくは 技術顧問 (アドバイスをくれる人) を探しておりましt やらせてください!!

Slide 20

Slide 20 text

2023/10 ~ 2023/12 お仕事(技術顧問) ● Julia コンサル ○ Julia における 効率の悪いコード・良いコード (指摘および提案) ○ 特に マルチスレッド 関連の各種アドバイス (先方があまり経験がない) ○ あと プロファイリング や @code_warntype 等 の実行結果の標示と 改善提案 👉 Julia本を書いたら技術顧問になった話 for JuliaTokai #17

Slide 21

Slide 21 text

話を戻して 『実践Julia入門』

Slide 22

Slide 22 text

発刊から約11ヶ月

Slide 23

Slide 23 text

https://www.amazon.co.jp/o/ASIN/4297133504

Slide 24

Slide 24 text

https://www.amazon.co.jp/product-reviews/4297133504/ref=c m_cr_dp_d_show_all_btm?ie=UTF8&reviewerType=all_reviews

Slide 25

Slide 25 text

モチベーション

Slide 26

Slide 26 text

なんで書いたのか? 1. 日本語でまとまった情報が(少)ない⇒選択肢の1つに ○ 書くからには『入門書』として 『Julia を使うならまずこれ読め!』 な内容を目指したい! 2. Julia を Julia らしく ○ 他言語の真似ではなく、Juliaのキモチ を理解してほしい!

Slide 27

Slide 27 text

何を 書いた のか? ● Julia を書くにあたって知っておいてほしい 最低限の知識 ○ 基本概念・仕様・文法(⇒書けたつもり) ○ 標準API群の 詳解(>紹介)(⇒全部は無理) ● Julia らしい書き方 ○ いくつかの「Julia あるある」は紹介できた ○ 効率的・実践的な書き方 ○ (他言語の常識に引っ張られない) Julia のコンセプトを理解した上 でのコード設計への誘導(⇒書けた?)

Slide 28

Slide 28 text

何を 書かなかった (書けなかった) のか? ● 他言語との比較(書かなかった) ● 誤解を解く知識(他言語の常識から引っ張られたバッドノウハウ⇒不要!) ○ 一部アドベントカレンダーネタとして昇華(→ Julia の(による)新常識) ● 割愛した(書きたかったけれど書けなかった)ネタ(一例): ○ repeat() の使い方(for Array) ○ 部分型多相のエミュレート ○ イテレータを加工するイテレータの実装例 ○ Broadcasting の細かいカスタマイズ ● 割愛したけれど救済したネタ: ○ (一部の)破壊的関数(→ 細かすぎてたぶん伝わらないJuliaのTips2023 ) ○ あと JuliaTokai 勉強会でどんどん紹介(していく予定)

Slide 29

Slide 29 text

何を 書きたかった のか? ● 「それこの本に書いてあるよ」 と言う言葉で、Julia で プログラムを書くにあたって必要な基礎知識を共有で きるもの ● (他の先入観や偏見なしに)書いてあることを理解して コードを書けば、自然と Julia らしい書き方 になって 好パフォーマンスとなるような、指針となる入門書(≠ リファレンス書)

Slide 30

Slide 30 text

書いてみて ● Julia 情報源(入門書)としての一石は投じた ● それだけじゃ不足 ● 補完する なにか が必要 ○ 割愛したネタは勉強会や技術記事で少しずつ補完している ○ それ以外に、Julia ユーザ全体を巻き込んで何かやりたい! ● Julia は 書かないと普及しない! ○ 自然言語(母語以外)も使わないと忘れる

Slide 31

Slide 31 text

次は何を目指すのか? ● Julian 人口増やしたい! ● みんな Julia でお仕事しましょう! ○ てか Julia のお仕事ください! ○ 共同開発・コンサル等 お待ちしてます ● あと 新しい 本(≒リファレンス本) とか書き たい!

Slide 32

Slide 32 text

結論

Slide 33

Slide 33 text

結論 ● Julia 楽しいよ! ● みんな Julia 書こう! ● みんな Julia でお仕事しよう! ● JuliaTokai で Julia の話しよう!

Slide 34

Slide 34 text

参考

Slide 35

Slide 35 text

参考文献・リンク等 ● 実践Julia入門(拙著) ● JuliaTokai(connpass)(Discord へは conpass 経由で) ● julialang.org(Julia 本家サイト) ● 最近書いた記事: ○ Julia の(による)新常識 (Qiita) ○ 細かすぎてたぶん伝わらないJuliaのTips2023 (Zenn)

Slide 36

Slide 36 text

ご清聴ありがとうございます。