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
Elixir/Nerves衛星を打ち上げる日
Search
Susumu Yamazaki (ZACKY)
September 01, 2022
Technology
380
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Elixir/Nerves衛星を打ち上げる日
Susumu Yamazaki (ZACKY)
September 01, 2022
More Decks by Susumu Yamazaki (ZACKY)
See All by Susumu Yamazaki (ZACKY)
新規のC言語処理系を実装することによる 組込みシステム研究にもたらす価値 についての考察
zacky1972
1
580
Pelemay Backend: A memory-saving, fault-tolerant and distributed collection of Nx compilers and backends for embedded systems
zacky1972
2
290
ザキ研Elixir研究動向2023
zacky1972
0
450
Robust, Distributed, and Parallel Processing for Enormous Images Using Supervisor, Node, Flow, Nx, and Evision
zacky1972
0
450
人工衛星高速画像処理で 社会問題を解決しよう
zacky1972
0
430
長い機械学習/画像処理でも メモリ不足を起こさないElixir新技術
zacky1972
0
340
Future Possibilities and Effectiveness of JIT from Elixir Code of Image Processing and Machine Learning into Native Code with SIMD Instructions
zacky1972
0
400
世界は意外と近い!? 「遠くへ行くならみんなで行こう」 次は貴方が発表する番だ
zacky1972
0
130
スーパーコンピュータが組込みシステムに降りてくる! 〜新時代の高性能組込みシステムの SIMD/ベクトル処理の要点を押さえる
zacky1972
0
400
Other Decks in Technology
See All in Technology
「重なり」は迎える側がつくる ― 人もAIエージェントも歓迎するプロダクトエンジニアリング ―
go0517go
PRO
0
260
データエンジニアリングワークショップ:Auto LoaderとSparkで学ぶデータパイプライン構築
databricksjapan
PRO
0
210
Benchmarking Vector Databases: pgvector vs. LanceDB
tsho
0
150
AI活用の現在地、 ちゃんと見えてますか?/XPfest-2026
visional_engineering_and_design
0
160
作り直せるコードは迅速に 作り直せないDBは慎重に - AI時代のプロダクトエンジニアが「判断の不可逆性」で開発速度を変える話
kinosuke01
0
270
例外の正しい扱い方 そのエラー try-catchして大丈夫?
jinwatanabe
2
170
Jetpack Compose で挑む新聞紙面UI ─ 複合ジェスチャー・ポリゴン記事領域・適応的ページ構成という3つの壁/droidkaigi2026
nikkei_engineer_recruiting
0
240
多摩川(.dev)ランニング入門 / Tamagawa.dev#3
fujiwara3
3
400
Redmine 7.0で私が開発した新機能の狙いと背景
vividtone
1
110
Guerilla InnerSource in enterprises, during the AI hype
onenashev
PRO
0
150
ペアプロの価値はコードを書くことだけじゃない
codmoninc
PRO
0
140
ブラウザアプリの継続的パフォーマンスモニタリング (序) / Continuous Browser Application Performance Monitoring; Act 1
moznion
0
110
Featured
See All Featured
How to train your dragon (web standard)
notwaldorf
97
6.8k
Facilitating Awesome Meetings
lara
57
7.1k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.8k
The World Runs on Bad Software
bkeepers
PRO
72
12k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.6k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.7k
Producing Creativity
orderedlist
PRO
348
41k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.2k
Faster Mobile Websites
deanohume
310
32k
How to Talk to Developers About Accessibility
jct
2
540
Code Review Best Practice
trishagee
74
20k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
Transcript
Elixir/NervesӴΛଧ্ͪ͛Δ भࢢཱେֶ ࢁ࡚ ਐ 1 © 2022 Susumu Yamazaki
ࣗݾհ • ࢁ࡚ ਐ (ZACKY) • भࢢཱେֶ ࠃࡍڥֶ෦ ।ڭत •
ओͳݚڀςʔϚ • Elixir, Phoenix, Nerves, NxΛͬͨγεςϜ࣮ ɾࣾձ࣮ • ElixirϕʔεͷਓӴը૾ॲཧγεςϜ • ຊԬݝभࢢΑΓΦϯϥΠϯͰൃද ͍ͯ͠·͢ 2 © 2022 Susumu Yamazaki
ҎԼɼࢁ࡚ਐͷಉλΠτϧͷϙδγϣϯ ϖʔύʔΛࢀর͠ͳ͕Β͝ཡ͍ͩ͘͞ 3 © 2022 Susumu Yamazaki
ͷલఏ 4 © 2022 Susumu Yamazaki
Elixir(ΤϦΫαʔ)ͱʁ 5 © 2022 Susumu Yamazaki
ฒྻϓϩάϥϛϯάݴޠElixir(ΤϦΫαʔ) • 2012ʹJosé Valim(δϣθɾϰΝϦϜ)ʹΑͬͯ։ൃ͞Εͨϓϩάϥϛϯάݴޠ • ࠓ202210पʂ • JoséɼҎલRuby on RailsͷίϛολʔͰͨ͠
• Joséͷҙࣝͱͯ͠ɼRubyͷ͔ΘΓʹɼͬͱߴʹಈ࡞͢Δϓϩάϥϛϯάݴ ޠ͕ඞཁͰ͋Δͱߟ͍͑ͯ·ͨ͠ • ͍Ζ͍Ζ୳ڀͯ͠Erlang(Ξʔϥϯ)ͱ͍͏ؔܕݴޠʹग़⁊͍·͢ • ErlangނJoe Armstrong(δϣʔɾΞʔϜετϩϯά)Λத৺ʹΤϦΫιϯͰ1986 ͔Β։ൃ͕ਐΊΒΕ͍ͯ·ͨ͠ • ErlangΤϦΫιϯͷࣄۀͷ1ͭͰ͋ͬͨిަػ͚ʹઃܭ͞Ε͓ͯΓɼి ަػ༻్ʹ͑ΒΕΔΑ͏ɼݎ࿚͔ͭฒߦॲཧΛٻ͍ͯ͠·ͨ͠ • ిަػ༝དྷͱɼTRON OSͷ1ͭͷCTRONͱ͍ۙϞνϕʔγϣϯͰ͢Ͷ • ͨͩ͠ɼErlangͷจ๏ͱ͖ͬͭʹ͍͘ͷ͕ܽͰͨ͠ • ͦ͜ͰɼJoséRubyͱಉҎ্ͷϓϩάϥϜίʔυͷॻ͖͢͞Λٻ͠ɼErlangΛ ϕʔεͱͯ͠ฒߦॲཧج൫Λඋͨ͠৽͍͠ϓϩάϥϛϯάݴޠ Elixir Λ։ൃ͠·͢ • Elixir ࿉ۚज़ࢣ͕͍ٻΊͨෆෆࢮͷྶༀͷ໊લͰ͢ • José͍Θ໋໊͘ཧ༝ɼErlangͱಉ͡EͰ࢝·Δ͔͍͍ͬ͜୯ޠͱ͍͏Ҏ্ͷ͜ ͱ͍֮͑ͯͳ͍ͦ͏Ͱ͢ • Ұ࣌ظݴΘΕ͍ͯͨɼJosé͕ϑΝΠφϧϑΝϯλδʔʹڵ໋໊͍ͯͯͨ͡͠ͱ͍ ͏આɼJoséࣗʹΑͬͯ൱ఆ͞Ε·ͨ͠ • ElixirύΠϓϥΠϯԋࢉࢠ|>͕ಛతͰɼ͜ΕΛͬͯॻ͍ͨϓϩάϥϜίʔυɼ ࠨ͔Βӈɼ͋Δ্͍͔ΒԼɼσʔλΛม͍༷ͯ͘͠ΛྲྀΕΔΑ͏ʹಡΈԼ͢ ͜ͱ͕Ͱ͖·͢ 1..1_000_000 # 1͔Β1,000,000·ͰͷϦετΛ |> Enum.map(& &1 * 2) # ֤ཁૉ2ഒͯ͠ |> Enum.map(& &1 + 1) # ͞Βʹ֤ཁૉʹ1ͨ͠ϦετΛฦ͢ • Elixirɼ͜ͷΑ͏ͳίʔυΛ؆୯ʹฒྻԽ͢Δ͜ͱ͕Ͱ͖·͢ 6 © 2022 Susumu Yamazaki © Elixir Team
Nerves(φʔϰε)ͱʁ 7 © 2022 Susumu Yamazaki
͍͍͢IoTج൫Nerves(φʔϰε) • 2015͔ΒNerves Project developersʹΑͬͯ ։ൃ͕ਐΊΒΕ͖ͯͨɼElixirϕʔεͷIoTج൫ • Tombo Worksͷࢿྉࢀর 8
© 2022 Susumu Yamazaki Copyright (C) 2015- by the Nerves Project developers https://swest.toppers.jp/SWEST24/proceedings/interactive/SWEST24-IS-004.pdf
ͱ͜ΖͰ 9 © 2022 Susumu Yamazaki
༻ͷਓӴʹmruby͕ ࡌͬͨͦ͏Ͱ͢Ͷ 10 © 2022 Susumu Yamazaki
༻ͷਓӴʹmruby͕ࡌͬͨͦ͏Ͱ͢Ͷ • Ruby Business Users Conference 2021 Online • 20212݄26(ۚ)ɹ15:35ʙ16:15
• খܕϨʔμʔӴ։ൃʹ͓͚Δmrubyͷద༻ • QPSݚڀॴCEO େढ़ี 11 © 2022 Susumu Yamazaki https://i-qps.net/news/438
ͦΕʹର߅͢ΔΘ͚Ͱ ͳ͍Ͱ͕͢ 12 © 2022 Susumu Yamazaki
Elixir/NervesΛࡌͨ͠ ਓӴΛଧ্͍ͪ͛ͨͰ͢ 13 © 2022 Susumu Yamazaki
JAXAͷ ֵ৽తӴ࣮ূϓϩάϥϜ 14 © 2022 Susumu Yamazaki
KOSEN-1 15 © 2022 Susumu Yamazaki
Elixir/NervesࡌਓӴΛJAXAͷֵ৽త Ӵٕज़࣮ূϓϩάϥϜͰଧ্ͪ͛Δʂ 16 © 2022 Susumu Yamazaki
ͲΜͳӴΛ ଧ্ͪ͛Δʁ 17 © 2022 Susumu Yamazaki
Elixirͱ͍͑ࢄฒྻॲཧ ࠷৽ͷػցֶशج൫Nxࡌͯ͠ σʔλॲཧӴΛ࣮ݱ 18 © 2022 Susumu Yamazaki
σʔλॲཧӴ 19 © 2022 Susumu Yamazaki
QPSݚڀॴJAXAͱΜͰSARӴ͔ΒσʔλॲཧӴ ͱӴؒ௨৴ΛߦͳͬͯӉ্ۭؒͰඞཁͳσʔλॲཧΛ ͔ͯ͠Β্ʹॲཧࡁΈͷσʔλΛૹΔͱ͍͏ߏΛൃද 20 © 2022 Susumu Yamazaki
SARӴ 21 © 2022 Susumu Yamazaki
Nx 22 © 2022 Susumu Yamazaki
Elixirͱ͍͑ࢄฒྻॲཧ ࠷৽ͷػցֶशج൫Nxࡌͯ͠ σʔλॲཧӴΛ࣮ݱ 23 © 2022 Susumu Yamazaki
جૅݚڀΛ͢ΔͨΊͷݚڀඅΛ֬อࡁ ԼɼݚڀΛਐΊ͍ͯΔͱ͜Ζ 24 © 2022 Susumu Yamazaki