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
310
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
MySQL Indexes and Histograms – How they really speed up your queries
lefred
0
130
Goの組織でバックエンドTypeScriptを採用してどうだったか / How was adopting backend TypeScript in a Golang company
kaminashi
12
9k
読んで学ぶ Amplify Gen2 / Amplify と CDK の関係を紐解く #jawsug_tokyo
tacck
PRO
1
280
Cross Data Platforms Meetup LT 20250422
tarotaro0129
1
840
GraphQLを活用したリアーキテクチャに対応するSLI/Oの再設計
coconala_engineer
0
160
日経電子版 for Android の技術的課題と取り組み(令和最新版)/android-20250423
nikkei_engineer_recruiting
1
580
QA/SDETの現在と、これからの挑戦
imtnd
0
160
Computer Use〜OpenAIとAnthropicの比較と将来の展望〜
pharma_x_tech
6
750
AIにおけるソフトウェアテスト_ver1.00
fumisuke
1
300
Twelve-Factor-Appから学ぶECS設計プラクティス/ECS practice for Twelve-Factor-App
ozawa
3
140
PagerDuty×ポストモーテムで築く障害対応文化/Building a culture of incident response with PagerDuty and postmortems
aeonpeople
3
500
Microsoft Fabric vs Databricks vs (Snowflake) -若手エンジニアがそれぞれの強みと違いを比較してみた- "A Young Engineer's Comparison of Their Strengths and Differences"
reireireijinjin6
1
110
Featured
See All Featured
Typedesign – Prime Four
hannesfritz
41
2.6k
Raft: Consensus for Rubyists
vanstee
137
6.9k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
5
550
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Code Reviewing Like a Champion
maltzj
523
40k
Bash Introduction
62gerente
611
210k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
KATA
mclloyd
29
14k
Building Applications with DynamoDB
mza
94
6.4k
A designer walks into a library…
pauljervisheath
205
24k
How GitHub (no longer) Works
holman
314
140k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
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に取り組んで みたい」という⽅は、懇親会でお気軽に声をかけてくださ いな