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
HaskellでIoTやってます/iot_cases_with_haskell
Search
CycloneT
November 09, 2019
Technology
0
290
HaskellでIoTやってます/iot_cases_with_haskell
Haskell JP 2019のLTで話した内容です。
HaskellをWebAPIのバックエンドとしてIT/IoT向けに活用している事例の紹介です
CycloneT
November 09, 2019
Tweet
Share
Other Decks in Technology
See All in Technology
SREの組織類型に応じた リーダシップの考察
kenta_hi
PRO
1
620
なぜ今 AI Agent なのか _近藤憲児
kenjikondobai
0
150
20241108_CS_LLMMT
shigashiyama
0
250
データの信頼性を支える仕組みと技術
chanyou0311
6
1.6k
AI機能の開発運用のリアルと今後のリアル
akiroom
0
250
What to do after `laravel new`
mattstauffer
0
140
Lambdaと地方とコミュニティ
miu_crescent
2
250
freeeのモバイルエンジニアについて
freee
1
100
AWS⼊社という選択肢、⾒えていますか
iwamot
2
1.1k
dev 補講: プロダクトセキュリティ / Product security overview
wa6sn
0
1.6k
形式手法の 10 メートル手前 #kernelvm / Kernel VM Study Hokuriku Part 7
ytaka23
5
750
透過型SMTPプロキシによる送信メールの可観測性向上: Update Edition / Improved observability of outgoing emails with transparent smtp proxy: Update edition
linyows
2
190
Featured
See All Featured
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
329
21k
[RailsConf 2023] Rails as a piece of cake
palkan
51
4.9k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
25
1.8k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.1k
Why Our Code Smells
bkeepers
PRO
334
57k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
The Power of CSS Pseudo Elements
geoffreycrofte
73
5.3k
Mobile First: as difficult as doing things right
swwweet
222
8.9k
Writing Fast Ruby
sferik
627
61k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
159
15k
BBQ
matthewcrist
85
9.3k
Transcript
© Upside LLC. HaskellでIoTやってます 2019/11/9 CycloneT (twitter: @cyclone_tr) 1
© Upside LLC. Haskellで仕事をしたい︕ 2 ¤ Twitterで「Haskellで仕事をしたい」というのをたまに (︖)⾒ます ¤ テーマ「Haskellを仕事で使ってるケース」の紹介
¤ もしかしたら参考になるかも︖(ならないかも)
© Upside LLC. ⾃⼰紹介&会社紹介 ¤ ⾃⼰紹介 ¤ 藤原 淳(CycloneT :
@cyclone_tr) ¤ 元々は無線技術が専⾨ ¤ 去年からIoTコンサル会社でIoT⽀援をやってます ¤ Haskell歴は短いです。「型操作完全に理解した」 ¤ 会社紹介 ¤ Upside合同会社 ¤ 社員4⼈(代表+エンジニア2⼈+アシスタント) ¤ IT / IoT⽀援に関することならなんでも
© Upside LLC. Haskellとの出会い ¤ 前の会社(MVNO︓いわゆる「格安SIM」会社)にて、 B2C販売システムをPHPで開発(委託) → バグ対応に苦労した ¤
B2B開発の技術選定中にHaskellを知った → 「コンパイルが通る=ちゃんと動く」 の世界にびっくり ¤ 今の会社でのメイン内製ツールに 「Haskell使わないとスケジュール的にミートしない」
© Upside LLC. プロジェクト⼀覧(2018/5〜2019/11) プロジェクト名 実施場所 ステータス サーバ / フロント
/ エッジ 養殖業⽀援 バリ島(インドネシ ア) 実証実験 Haskell / Elm (⼀部PHP) 浮⿂礁漁⽀援 ⽯垣島(沖縄県) 実装実験 Haskell (Reflex) / GPS受信 機 延縄漁⽀援 ⽯垣島(沖縄県) 実証実験 Haskell (Reflex) ⾷事予約管理 ⼩⾕村(⻑野県) 本運⽤ Haskell / Elm 安否確認 ⼩⾕村(⻑野県) 実証実験 Haslell / Elm / 環境セン サー(Sigfox) インフラの障害検知 ⾸都圏にて検証中 開発 Haskell / Elm / 障害検知セ ンサー(LTE) PCパーツ販売 オンラインサービス 本運⽤ PHP (Laravel) 技術資料ダウンロー ド管理 オンラインサービス 本運⽤ Haskell / Elm
© Upside LLC. Haskellの利⽤パターン ¤ WebAPI(バックエンド) ¤ Servant ¤ Persistent/Esqueleto(他のORMにおきかえるかもし
んない…) ¤ Elm-export(他のものに置き換えしたいが時間が) ¤ Xlsx(エクスポート機能は⼈気) ¤ フロントエンド+バックエンド ¤ Reflex(すいません、まだ何も語れません)
© Upside LLC. 中⼩企業・⾃治体向けのIoT案件 ¤ 実装としては、ある意味「Webアプリ」のような感じ ¤ ユーザは「何が欲しいか」がわからない ¤ 本当に欲しいものを掘り出せるかどうかが勝負
¤ そうなると…. ¤ 機能追加、修正はあたりまえ ¤ リファクタリングをがつがつできないと厳しい ¤ (開き直って)「要求仕様を固めるために実装する」 スタイル ¤ 設計と実装を密結合にしちゃえ〜
© Upside LLC. Haskellを使うメリット ¤ ビジネス的に ¤ 開発速度と品質が両⽴する ¤ 規模が⼤きくなってもしんどくならない
¤ エンジニアリング的に ¤ 皆さんご存じですよね ¤ 個⼈的に ¤ やっぱり楽しい
© Upside LLC. まだいい答えはないですが ¤ Haskellerの採⽤ ¤ 会社の現状としては「実装以外に求められる要素が多 すぎる」 ¤
Haskellを扱う会社を増やす ¤ 今後の活動の⼀環としたい 採⽤とかはともかくとして、「HaskellでIoTに取り組んで みたい」という⽅は、懇親会でお気軽に声をかけてくださ いな