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
夏休みの(最後の)宿題 for JuliaTokyo #12
Search
GOTOH Shunsuke
August 31, 2024
Technology
1
160
夏休みの(最後の)宿題 for JuliaTokyo #12
夏休みの(最後の)宿題
JuliaTokyo #12 LT資料
GOTOH Shunsuke
August 31, 2024
Tweet
Share
More Decks by GOTOH Shunsuke
See All by GOTOH Shunsuke
Julia クイズ ~API編~ for JuliaTokai #19
antimon2
1
120
Julia でどうしても super().hoge みたいなことしたい人へ for JuliaTokai #18
antimon2
1
310
『実践Julia入門』 で 割愛したネタ for JuliaTokyo #11
antimon2
2
530
勉強会を主催したら 本を出して技術顧問になった話 for NGK2024S
antimon2
0
250
Julia本を書いたら技術顧問になった話 for JuliaTokai #17
antimon2
0
530
Juliaってどんなことができるの? for JuliaTokai #16
antimon2
1
590
型と多重ディスパッチ for 数学と物理におけるJuliaの活用 2023-07-10
antimon2
0
680
スレッド並列の基礎 for 数学と物理におけるJuliaの活用 2023-07-10
antimon2
0
1.4k
Pythonのじゃないけれど 本を書いた話
antimon2
0
360
Other Decks in Technology
See All in Technology
エンジニア向け会社紹介資料
caddi_eng
14
270k
OPENLOGI Company Profile for engineer
hr01
1
12k
YAPC::Hakodateの映像記録を支える技術
godan
4
230
ADRを運用して3年経った僕らの現在地
onk
PRO
13
5.3k
【完全版】Dify - LINE Bot連携 考え方と実用テクニック
uezo
1
370
kube-vipとkube-proxy置き換えCiliumを積んだ究極のK3sクラスタを建てる
logica0419
4
210
プロダクト価値を考えるための情報透明化とチーム文化づくり
nyo_taro
1
130
【shownet.conf_】ローカル5Gを活用したウォーキングツアーの体感向上
shownet
PRO
0
350
今こそ変化対応力を向上させるとき 〜ログラスが FAST に挑戦する理由〜 / Why Loglass is Talking on the Challenge of Agile Framework FAST
shioyang
0
110
O'Reilly Superstream: Building a RAG App to Chat with Your Data
pamelafox
0
120
Slackbot × RAG で実現する社内情報検索の最適化
howdy39
2
330
OPENLOGI Company Profile
hr01
0
54k
Featured
See All Featured
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.5k
The World Runs on Bad Software
bkeepers
PRO
65
11k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
25
1.7k
RailsConf 2023
tenderlove
28
840
Large-scale JavaScript Application Architecture
addyosmani
510
110k
Building Adaptive Systems
keathley
38
2.2k
How GitHub Uses GitHub to Build GitHub
holman
473
290k
Producing Creativity
orderedlist
PRO
341
39k
Git: the NoSQL Database
bkeepers
PRO
425
64k
The Art of Programming - Codeland 2020
erikaheidi
51
13k
WebSockets: Embracing the real-time Web
robhawkes
59
7.3k
Testing 201, or: Great Expectations
jmmastey
38
7k
Transcript
夏休みの(最後の)宿題 2024/08/31 JuliaTokyo #12 antimon2(後藤 俊介)
お品書き • お前誰よ? • 簡単な Julia の紹介 • JuliaTokai の紹介
• 近況報告 • 宿題!
お前誰よ?
自己紹介 • 名前:後藤 俊介 • 所属:有限会社 来栖川電算 • コミュニティ:🌟JuliaTokai, 🌟機械学習名古屋,
⭐JuliaLangJa, Ruby東海, Python東海, … • 言語: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 の東海地方ユーザグループ(2019~) • 2020/05 から完全オンライン開催 • 2024/03 JuliaLangJa
サブセクションに • 現在に至る
勉強会の内容 • オンライン開催 ◦ 地方・所属関係なくどなたでも参加OK! ◦ (会場:JuliaLangJa Discord サーバ内ボイスチャンネル) •
Julia について語り合える場 (定期開催) ◦ 発表 + もくもく会 (相談OK!) ◦ JuliaLangJa の 行動規範 を逸脱しなければ基本なんでも OK!
次回勉強会 • 9/下旬~10/上旬 に予定(約1ヶ月後) ◦ Discord の #general チャンネルをチェック!
近況報告
• JuliaTokyo #11 で Julia コンサ ル のお仕事 報告 前回のあらすじ
『実践Julia入門』 で 割愛したネタ for JuliaTokyo #11 👆
2024/06 ~ 2024/09 • Julia コンサル (続き) ◦ Julia コードレビュー
(引き続き) ◦ コードコンサルティング(アドバイス) (引き続き) ◦ 一部機能実装 ◦ 不具合調査・解決 • ※2024/10~ 続行予定
https://github.com/hros/XXhash.jl/pull/9
宿題提出w • ライブラリの不具合発見(お盆前) • 原因調査(お盆休み中) • 修正・PR(お盆明け)
皆さんは 夏休みの宿題、終わりましたか?
宿題を出します!!w
出題:infiniteproduct() 関数 • 直積集合を列挙するイテレータ を作ってください! ◦ 引数に複数のイテレータを受け取 る ◦ 無限列を渡してもすべての組合せ
を列挙できる(理論上) iterator = infiniteproduct( Iterators.countfrom(1), Iterators.countfrom(1) ) for vals in iterator println(vals) end ## (1, 1) ## (1, 2) ## (2, 1) ## (1, 3) ## (2, 2) ## (3, 1) ## :《以下略》
参考:Iterators.product() 関数 • これも 直積集合を列挙するイテレータ を返す関数 • 無限列を引数に与えると、 後者のイテ レータがいつまで経っても処理されな
い… iterator = Iterators.product( Iterators.countfrom(1), Iterators.countfrom(1) ) for vals in iterator println(vals) end ## (1, 1) ## (2, 1) ## (3, 1) ## (4, 1) ## (5, 1) ## (6, 1) ## :《以下略、、 (1, 2) は永遠に出てこな
infiniteproduct() 関数(仕様) • 最初の要素からの距離(L1)が近いものから列挙する! ◦ イメージ: 👉 ◦ もちろん3D以上でも 同様 (1,
1) (2, 1) (3, 1) (4, 1) (5, 1) ⋯ (1, 2) (2, 2) (3, 2) (4, 2) ⋯ ⋯ (1, 3) (2, 3) (3, 3) ⋯ ⋯ ⋯ (1, 4) (2, 4) ⋮ ⋱ (1, 5) ⋮ ⋮ ⋱ ⋮ ⋮ ⋮ ⋱
解答方法 (1) • InfiniteProductQuiz.jl というリポジトリを用意 • これを clone/実装 してください! ◦
Base.iterate(::InfiniteProduct[, state]) を 実装すればOK ◦ 実装方法(概要)は、例えば以下を参考に: ▪ 拙著 実践Julia入門 第6章「イテレーション」 ▪ 公式ドキュメント: Iteration
解答方法 (2) • テストコードの例 👉 • const SKIP = true を
const SKIP = false に 変更して、テストが通るよう にする
解答方法 (3) • テストが全部 Pass すればOK!
ヒント? • 10年前に CodeIQ 出題経験 • その時の問題を Julia に翻訳したもの •
ヒント・解説記事を 書いているので それを探せば 👉
補足・その他 • 解答例・解説は次回 JuliaTokai #20 でする予定 ◦ 手元では一応動くものはできてる • (それまでに)実装出来たらぜひプルリクください!
◦ Discord 内でURL教えてくれるだけでもOK • 皆さまの挑戦、お待ちしております!
ご清聴ありがとうございます。