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
How Community Opened Global Doors
hiroramos4
PRO
1
130
WordPressから ヘッドレスCMSへ! Storyblokへの移行プロセス
nyata
0
350
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
3
940
整頓のジレンマとの戦い〜Tidy First?で振り返る事業とキャリアの歩み〜/Fighting the tidiness dilemma〜Business and Career Milestones Reflected on in Tidy First?〜
bitkey
0
660
LangChain Interrupt & LangChain Ambassadors meetingレポート
os1ma
2
230
タイミーのデータモデリング事例と今後のチャレンジ
ttccddtoki
4
1.7k
使いたいMCPサーバーはWeb APIをラップして自分で作る #QiitaBash
bengo4com
0
1.4k
Understanding_Thread_Tuning_for_Inference_Servers_of_Deep_Models.pdf
lycorptech_jp
PRO
0
150
生成AI時代 文字コードを学ぶ意義を見出せるか?
hrsued
1
740
2025-06-26_Lightning_Talk_for_Lightning_Talks
_hashimo2
2
110
生まれ変わった AWS Security Hub (Preview) を紹介 #reInforce_osaka / reInforce New Security Hub
masahirokawahara
0
370
製造業からパッケージ製品まで、あらゆる領域をカバー!生成AIを利用したテストシナリオ生成 / 20250627 Suguru Ishii
shift_evolve
PRO
1
160
Featured
See All Featured
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
35
2.4k
Automating Front-end Workflow
addyosmani
1370
200k
The Cult of Friendly URLs
andyhume
79
6.5k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
5
230
GitHub's CSS Performance
jonrohan
1031
460k
Bash Introduction
62gerente
614
210k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
22k
Code Reviewing Like a Champion
maltzj
524
40k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
2.9k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
5.9k
Stop Working from a Prison Cell
hatefulcrawdad
270
20k
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#で開発 パターンマッチを使うことで、受信電 文に対する応答を生成するサー バーを楽に作ることができた!! ソフトウェアのリプレースが仕事