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
『推し』で仕事をする
Search
pojiro
May 18, 2022
Technology
1
140
『推し』で仕事をする
pojiro
May 18, 2022
Tweet
Share
More Decks by pojiro
See All by pojiro
Elixir で IoT 開発、 Nerves なら簡単にできる!?
pojiro
1
160
分野に潜むツールの紹介
pojiro
1
600
Raspberry Pi Mouse を Nerves で動かしてみた
pojiro
0
1.2k
Raspberry Pi で試す 組み込みLinux⼊⾨ Nerves の場合
pojiro
2
400
おいでよ! Nerves JP!
pojiro
1
260
描画ライブラリScenic紹介
pojiro
0
140
Circuits.GPIOはいかにテストされているか
pojiro
0
110
Nerves tips, /bin/sh & nerves_heart
pojiro
0
41
Elixir/NervesでどこまでできるのIoT?
pojiro
1
340
Other Decks in Technology
See All in Technology
製造業からパッケージ製品まで、あらゆる領域をカバー!生成AIを利用したテストシナリオ生成 / 20250627 Suguru Ishii
shift_evolve
PRO
1
160
Node-REDのFunctionノードでMCPサーバーの実装を試してみた / Node-RED × MCP 勉強会 vol.1
you
PRO
0
130
Fabric + Databricks 2025.6 の最新情報ピックアップ
ryomaru0825
1
160
「良さそう」と「とても良い」の間には 「良さそうだがホンマか」がたくさんある / 2025.07.01 LLM品質Night
smiyawaki0820
1
430
2025-06-26_Lightning_Talk_for_Lightning_Talks
_hashimo2
2
110
KubeCon + CloudNativeCon Japan 2025 Recap Opening & Choose Your Own Adventureシリーズまとめ
mmmatsuda
0
230
無意味な開発生産性の議論から抜け出すための予兆検知とお金とAI
i35_267
0
1.2k
強化されたAmazon Location Serviceによる新機能と開発者体験
dayjournal
3
260
Geminiとv0による高速プロトタイピング
shinya337
0
200
Core Audio tapを使ったリアルタイム音声処理のお話
yuta0306
0
160
Tech-Verse 2025 Keynote
lycorptech_jp
PRO
0
1.3k
Connect 100+を支える技術
kanyamaguc
0
150
Featured
See All Featured
The Pragmatic Product Professional
lauravandoore
35
6.7k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
Designing for Performance
lara
609
69k
A Tale of Four Properties
chriscoyier
160
23k
Visualization
eitanlees
146
16k
Building a Modern Day E-commerce SEO Strategy
aleyda
42
7.4k
Git: the NoSQL Database
bkeepers
PRO
430
65k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
48
2.9k
We Have a Design System, Now What?
morganepeng
53
7.7k
Raft: Consensus for Rubyists
vanstee
140
7k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Side Projects
sachag
455
42k
Transcript
『推し』で仕事をする ElixirImp#20Elixir生誕10周年で新装!Elixirお仕事2022春 2022/05/18
自己紹介 • twitter: pojiro3 • web: https://www.tombo-works.com
経歴 エンジンベンチSE 出向 シャシダイ開発管理 A社 埼玉県 2010/04 - 2014/03 T社
豊田市 2014/04 - 2017/03 http://www.orientec.co.jp/products/ S社 名古屋市 2017/03 - 2019/10 組み込みLinux屋さん プログラマー Tombo Works 岡崎市 2020/06-現在 エンジニア
『推し』is Elixir & Nerves !!
『推し』, Elixir & Nerves, で仕事する 2019年後半から Elixir/Nerves を学び始め、 • 2021年後半から
Phoenix での SaaS開発 ◦ 株式会社DigiDock Consulting • 2022年前半に Nerves のポーティング・ライブラリ(の土台)開発 ◦ さくらインターネット株式会社 として, 『推し』, Elixir & Nerves, で仕事する ことができました!感謝!
今日話すこと • どうやってElixir, Phoenix, Nervesを学習したか • どんな活動が仕事につながったか 私個人のケースになりますが、紹介してみようと思います。
『推し』で仕事するまでにやってきたこと 2022 2021 2020 Pocket LANcher の開発, 20/7-21/7 Nervesポーティング, 21/5
Phoenix本, 20/9 技術書典 9 Phoenix開発 Nerves開発 プログラミングElixir 19/7 Programming Phoenix 19/11 Qiita 学習output 19/11-20/3 NervesJP に参加開始 19/12 fukuoka.ex に参加開始 19/10 TomboWorks 20/6-
2年の学習期間, 19/8 - 21/8 2022 2021 2020 Pocket LANcher の開発,
20/7-21/7 Nervesポーティング, 21/5 Phoenix本, 20/9 技術書典 9 Phoenix開発, 21/9開始 Nerves開発 プログラミングElixir 19/7/28 Programming Phoenix 19/11 Qiita 学習output 19/11-20/3 NervesJP に参加開始 19/12 fukuoka.ex に参加開始 19/10
Enumを通してElixirの基礎を学ぶ • map/reduce に慣れることが最初の課題 ◦ Enumモジュールを自分なりに実装するというトレーニング https://github.com/pojiro/oreore_implementation_of _myenum ◦ ※実際のEnumモジュールは、マクロやErlangを使ってい
ますが、Elixirだけで組んでいます
Phoenixを学ぶ • WebフレームワークのPhoenixを学ぶのがダイブ辛かった ◦ 分かってしまえば、リクエストからレスポンスまでをconn を通して扱うデータフローのフレームワーク ◦ ですが、、Webフレームワークをちゃんと学ぶのははじめ てで、Phoenixのルールを、一人かつ英語で学ぶのはだ いぶ辛かった💦
• その学習した内容をまとめて書いたのが 「データフローで学ぶPhoenix」 本としては拙い部分が多いのですが、Phoenixのデータの流れ を学ぶことができます。 ◦ いまでもたまに売れます。700円、お買い得!!
Nervesを学ぶ 組み込みLinux を Elixir でできるフレームワーク • 作って学ぶNerves、BBBでCO2計測 ◦ 最初は懐疑的だったが、さわるほどに一推しに! ◦
Linuxのカスタマイズをしない限り、組み込みLinux であることを意識せずに Elixir の Application 開 発ができるのが超良いです • コミュニティ, Nerves JP, に参加して継続的に学びました
2年の学習期間, 19/8 - 21/8 2022 2021 2020 Pocket LANcher の開発,
20/7-21/7 Nervesポーティング, 21/5 Phoenix本, 20/9 技術書典 9 Phoenix開発, 21/9開始 Nerves開発 プログラミングElixir 19/7/28 Programming Phoenix 19/11 Qiita 学習output 19/11-20/3 NervesJP に参加開始 19/12 fukuoka.ex に参加開始 19/10
装置例) PLC HTTP(S)/SSH サーバー TCPアプリ 内蔵の機器 装置 LAN ケーブル モバイル
WiFi 192.168.1.1 192.168.1.10 PC What’s Pocket LANcher 社内 現場 装置はPCでもPLCでも、 LANケーブルでつなぐことができれば 同一LANにいるものとして扱えます つまり 社内PCと現場装置をつなげられます! OSSに支えられる特徴 • レイヤー2のVPNを張ることができるので、 Ethernetのパケット転送ができる • ファームウェアの配信機能があり、 PLBのバージョンアップができる
Pocket LANcherのシステム構成 装置 LAN ケーブル モバイル WiFi 192.168.1.1 192.168.1.10 PC
社内 現場 Nerves Hub Web VPN Server
継続と運で点と点がつながって仕事へ 2022 2021 2020 Pocket LANcher の開発, 20/7-21/7 Nervesポーティング, 21/5
Phoenix本, 20/9 技術書典 9 Phoenix開発, 21/9開始 Nerves開発 プログラミングElixir 19/7/28 Programming Phoenix 19/11 Qiita 学習output 19/11-20/3 NervesJP に参加開始 19/12 fukuoka.ex に参加開始 19/10 NervesJPで myasu と知り合い 可能に!! 20/6頃のノートに piacereさんと mokichiさんから チーム開発を学ぶ という希望を書い てる
『推し』で仕事する、につながるポイントは何であったか? • 身も蓋もないけど、今回は運の要素がすごく大きい! ◦ Phoenix開発:仕事の募集がタイミングよくかかり、応募できた ◦ Nerves開発:声をかけてもらえた 共通点は • 人とのつながりが仕事につながった
◦ コミュニティに参加する ◦ 自分が何者であるか何が提供できるかを分かりやすくする ▪ 学んだこと・作ったものを記事にする/発表する • 継続的に時間を集中投下し、下地を作っていた
Nerves in Production • ExiBee & PLB in 小水力発電所 発電所でのNerves,
ExiBeeの活用 は、5/20(fri) NervesJP #25 #kochiex がなんかええもんつくったらしい回 で 紹介されるのでぜひご参加あれ!
他言語の仕事でも、Elixirを絡ませる(無理なく 装置実機 Windows Desktop App PC シミュレータ Windows Desktop App
PC Application Supervisor circuits_uart GenServer シリアル通信 シリアル通信 C#で開発 パターンマッチを使うことで、受信電 文に対する応答を生成するサー バーを楽に作ることができた!! ソフトウェアのリプレースが仕事