Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
『実践Julia入門』 で 割愛したネタ for JuliaTokyo #11
Search
GOTOH Shunsuke
February 03, 2024
Technology
2
680
『実践Julia入門』 で 割愛したネタ for JuliaTokyo #11
『実践Julia入門』 で 割愛したネタ for JuliaTokyo #11
GOTOH Shunsuke
February 03, 2024
Tweet
Share
More Decks by GOTOH Shunsuke
See All by GOTOH Shunsuke
FP in Julia « SIDE: J » for JuliaTokai #21
antimon2
0
96
JuliaTokaiとJuliaLangJaの紹介 for NGK2025S
antimon2
1
230
あなたの知らない(概ね知らなくても良い)Juliaの世界 for JuliaLangJa 年末 LT 大会 2024
antimon2
0
96
Julia 新 LTS v1.10 解説 for JuliaTokai #20
antimon2
1
240
夏休みの(最後の)宿題 for JuliaTokyo #12
antimon2
1
210
Julia クイズ ~API編~ for JuliaTokai #19
antimon2
1
190
Julia でどうしても super().hoge みたいなことしたい人へ for JuliaTokai #18
antimon2
1
390
勉強会を主催したら 本を出して技術顧問になった話 for NGK2024S
antimon2
0
340
Julia本を書いたら技術顧問になった話 for JuliaTokai #17
antimon2
0
610
Other Decks in Technology
See All in Technology
DuckDB MCPサーバーを使ってAWSコストを分析させてみた / AWS cost analysis with DuckDB MCP server
masahirokawahara
0
1.3k
AIと開発者の共創: エージェント時代におけるAIフレンドリーなDevOpsの実践
bicstone
1
320
ドキュメント管理の理想と現実
kazuhe
1
200
Amazon CloudWatch Application Signals ではじめるバーンレートアラーム / Burn rate alarm with Amazon CloudWatch Application Signals
ymotongpoo
5
530
AIエージェント開発手法と業務導入のプラクティス
ykosaka
2
1.4k
CodePipelineのアクション統合から学ぶAWS CDKの抽象化技術 / codepipeline-actions-cdk-abstraction
gotok365
5
200
Porting PicoRuby to Another Microcontroller: ESP32
yuuu
4
440
【Λ(らむだ)】最近のアプデ情報 / RPALT20250422
lambda
0
110
“パスワードレス認証への道" ユーザー認証の変遷とパスキーの関係
ritou
1
600
C++26アップデート 2025-03
faithandbrave
0
480
Running JavaScript within Ruby
hmsk
3
330
AWSLambdaMCPServerを使ってツールとMCPサーバを分離する
tkikuchi
1
3k
Featured
See All Featured
Designing Experiences People Love
moore
141
24k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.1k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2k
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.3k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
21k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.3k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.7k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
129
19k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
5
550
Code Reviewing Like a Champion
maltzj
522
40k
It's Worth the Effort
3n
184
28k
Transcript
『実践Julia入門』 で 割愛したネタ 2024/02/03 JuliaTokyo #11 antimon2(後藤 俊介)
お品書き • お前誰よ? • 簡単な Julia の紹介 • JuliaTokai の紹介(と現状報告)
• 『実践Julia入門』 の紹介 • 『実践Julia入門』 で割愛したネタ
お前誰よ?
自己紹介 • 名前:後藤 俊介 • 所属:有限会社 来栖川電算 • コミュニティ:🌟JuliaTokai, 🌟機械学習名古屋,
Ruby東海, Python東海, jl.dev, … • 言語:Julia, Python, Ruby, … • SNS等: (@antimon2) • SNS等(2): (@antimon2.jl) • 著書:実践Julia入門
https://www.kurusugawa.jp
プレスリリース → https://www.hatch-tech-nagoya.jp/pr-escalator-ai https://www.kurusugawa.jp/htn-2023-11-17
JuliaTokai の紹介
https://juliatokai.connpass.com/
コミュニティの紹介 • Julia の東海地方ユーザグループ • 2018年に立ち上げ(3人) ◦ Python東海+Unagi.py 合同勉強会 の懇親会がきっかけ
• 2019/02 に第1回勉強会開催 • 2020/05 から完全オンライン開催 • 2023/02 拠点を Discord サーバ に移行 • 現在に至る
勉強会の内容 • オンライン開催 ◦ 誰でもOK! どこからでも参加OK! ◦ (ほぼ)定期的に開催! • 発表+もくもく会(質問雑談OK!)
◦ Julia について 語り合える場の提供! ◦ 『Julia に関すること』以外特にテーマは決めません! • コミュニティ規範 (Julia 公式) ◦ …を逸脱しなければ基本なんでもOK!
現状報告 • 年4回ペースでだいたい定期的に開催(回復) ◦ コロナ禍(あんど主催者多忙)で一時期頻度が年2回に減少 • 主催陣入替 ◦ antimon2(引き続き) ◦
Hyrodium(2023/05~) ◦ Kgm1500(2023/05~) • 次回 ◦ 2024/03 あたりに開催予定
『実践Julia入門』 の紹介
4年前
2020/07/10 Twitter DM (要約) Julia の入門書を書いてくれる人探してるんだ けど、 興味ある? めっっちゃ興味あります! 2020年7月10日
午後3:28 2020年7月10日 午後4:16 リクエストを許可しました
2020/09 ~ 2023/01 • 書く (write) • 書き直す (fix) •
書き直す (rewrite) • 書き直す (update)
https://twitter.com/antimon2/status/1635765451220459520
おまけ:約4ヶ月後
2023/07/26 社内チャット (※イメージ) Julia本を見て 『仕事依頼したいんだけど』 って問い合わせが来たよ マ!? しゃちょー 2023年7月26日 14:10 ぼく 2023年7月26日
14:11
2023/07 ~ 2023/09 先方とのやりとり(概要) 大規模データをスレッド並列で処理する内製アプリ を Julia で開発中なのですが共同開発者もしくは 技術顧問 (アドバイスをくれる人)
を探しておりましt やらせてください!!
2023/10 ~ 2023/12 お仕事(技術顧問) • Julia コンサル ◦ Julia における
効率の悪いコード・良いコード (指摘および提案) ◦ 特に マルチスレッド 関連の各種アドバイス (先方があまり経験がない) ◦ あと プロファイリング や @code_warntype 等 の実行結果の標示と 改善提案 👉 Julia本を書いたら技術顧問になった話 for JuliaTokai #17
話を戻して 『実践Julia入門』
発刊から約11ヶ月
https://www.amazon.co.jp/o/ASIN/4297133504
https://www.amazon.co.jp/product-reviews/4297133504/ref=c m_cr_dp_d_show_all_btm?ie=UTF8&reviewerType=all_reviews
モチベーション
なんで書いたのか? 1. 日本語でまとまった情報が(少)ない⇒選択肢の1つに ◦ 書くからには『入門書』として 『Julia を使うならまずこれ読め!』 な内容を目指したい! 2. Julia
を Julia らしく ◦ 他言語の真似ではなく、Juliaのキモチ を理解してほしい!
何を 書いた のか? • Julia を書くにあたって知っておいてほしい 最低限の知識 ◦ 基本概念・仕様・文法(⇒書けたつもり) ◦
標準API群の 詳解(>紹介)(⇒全部は無理) • Julia らしい書き方 ◦ いくつかの「Julia あるある」は紹介できた ◦ 効率的・実践的な書き方 ◦ (他言語の常識に引っ張られない) Julia のコンセプトを理解した上 でのコード設計への誘導(⇒書けた?)
何を 書かなかった (書けなかった) のか? • 他言語との比較(書かなかった) • 誤解を解く知識(他言語の常識から引っ張られたバッドノウハウ⇒不要!) ◦ 一部アドベントカレンダーネタとして昇華(→
Julia の(による)新常識) • 割愛した(書きたかったけれど書けなかった)ネタ(一例): ◦ repeat() の使い方(for Array) ◦ 部分型多相のエミュレート ◦ イテレータを加工するイテレータの実装例 ◦ Broadcasting の細かいカスタマイズ • 割愛したけれど救済したネタ: ◦ (一部の)破壊的関数(→ 細かすぎてたぶん伝わらないJuliaのTips2023 ) ◦ あと JuliaTokai 勉強会でどんどん紹介(していく予定)
何を 書きたかった のか? • 「それこの本に書いてあるよ」 と言う言葉で、Julia で プログラムを書くにあたって必要な基礎知識を共有で きるもの •
(他の先入観や偏見なしに)書いてあることを理解して コードを書けば、自然と Julia らしい書き方 になって 好パフォーマンスとなるような、指針となる入門書(≠ リファレンス書)
書いてみて • Julia 情報源(入門書)としての一石は投じた • それだけじゃ不足 • 補完する なにか が必要
◦ 割愛したネタは勉強会や技術記事で少しずつ補完している ◦ それ以外に、Julia ユーザ全体を巻き込んで何かやりたい! • Julia は 書かないと普及しない! ◦ 自然言語(母語以外)も使わないと忘れる
次は何を目指すのか? • Julian 人口増やしたい! • みんな Julia でお仕事しましょう! ◦ てか
Julia のお仕事ください! ◦ 共同開発・コンサル等 お待ちしてます • あと 新しい 本(≒リファレンス本) とか書き たい!
結論
結論 • Julia 楽しいよ! • みんな Julia 書こう! • みんな
Julia でお仕事しよう! • JuliaTokai で Julia の話しよう!
参考
参考文献・リンク等 • 実践Julia入門(拙著) • JuliaTokai(connpass)(Discord へは conpass 経由で) • julialang.org(Julia
本家サイト) • 最近書いた記事: ◦ Julia の(による)新常識 (Qiita) ◦ 細かすぎてたぶん伝わらないJuliaのTips2023 (Zenn)
ご清聴ありがとうございます。