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
560
Pelemay Backend: A memory-saving, fault-tolerant and distributed collection of Nx compilers and backends for embedded systems
zacky1972
2
280
ザキ研Elixir研究動向2023
zacky1972
0
440
Robust, Distributed, and Parallel Processing for Enormous Images Using Supervisor, Node, Flow, Nx, and Evision
zacky1972
0
440
人工衛星高速画像処理で 社会問題を解決しよう
zacky1972
0
420
長い機械学習/画像処理でも メモリ不足を起こさないElixir新技術
zacky1972
0
330
Future Possibilities and Effectiveness of JIT from Elixir Code of Image Processing and Machine Learning into Native Code with SIMD Instructions
zacky1972
0
390
世界は意外と近い!? 「遠くへ行くならみんなで行こう」 次は貴方が発表する番だ
zacky1972
0
130
スーパーコンピュータが組込みシステムに降りてくる! 〜新時代の高性能組込みシステムの SIMD/ベクトル処理の要点を押さえる
zacky1972
0
390
Other Decks in Technology
See All in Technology
QAタスクをスキル化したいときに考えること
aomoriringo
0
130
システム監視を 「システムを監視するだけ」で 終わらせないために
seiud
0
160
データ活用研修 問いの発見と仮説構築【MIXI 26新卒技術研修】
mixi_engineers
PRO
1
690
AIエージェントの知識表現と推論に なぜグラフが使われるのか - 記号的AIの復権とニューラルAIとの統合
yohei1126
1
230
テックカンファレンス三大ステークホルダーの文化人類学 ─ 違いを認め合う関係性作り
bash0c7
5
1.3k
人手不足への挑戦:車両保全を支えるIoTとクラウド内製化の道【SORACOM Discovery 2026】
soracom
PRO
0
170
害獣害虫を自動判別! ペストコントロール支援ビジネス成功のヒント【SORACOM Discovery 2026】
soracom
PRO
0
130
ガバメントクラウドでのランサムウェア対策
techniczna
0
200
コンポーネント名には何を含めるべきなのか? / what-should-be-included-in-component-names
airrnot1106
0
200
toio・myCobotでフィジカルAIっぽいことを行うための検討(とりあえず調査) / フィジカルAI LT(IoTLTによる開催)
you
PRO
0
150
reFACToring
moznion
1
1k
13年運用タイトルのサーバーサイドが辿り着いた現在地 ― モンスターストライクにおける技術・組織・AI活用から得た知見
mixi_engineers
PRO
1
350
Featured
See All Featured
It's Worth the Effort
3n
188
29k
A Modern Web Designer's Workflow
chriscoyier
698
190k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
920
Darren the Foodie - Storyboard
khoart
PRO
3
3.5k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.3k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
340
Why Our Code Smells
bkeepers
PRO
340
58k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.1k
Believing is Seeing
oripsolob
1
170
Typedesign – Prime Four
hannesfritz
42
3.1k
Prompt Engineering for Job Search
mfonobong
0
390
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3k
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