Rust Tokyo 2019 に行ってきました

大変興味深い発表が盛り沢山でした。

ありがたいことに、講演資料の多くは公開されています。

Fuzzing Rust Text Editor - Speaker Deck

Making an opinionated Web framework - Speaker Deck

Secure Coding Practice in Rust - Speaker Deck

Rusty CPython Iterator

Web-based Data Visualization with Rust and WebAssembly - Speaker Deck

Rustによる数値計算の現状と課題 - Google スライド

エッジMLシステムを C/C++からRustへ移行した事例 (@_tkato_ at DeNA, Rust.Tokyo 2019) - Google スライド

rust の trait

C++ の concept は、Rust の trait, Haskell の型クラス制約に対応する。

なので、同様の処理をそれぞれの言語で書いてみる。

 

rust 版。trait だけ異なる関数のオーバーロード(多重定義)に失敗した。

書き方が悪いだけ?それとも仕様で禁じられている?

https://wandbox.org/permlink/2mHo97nD7GyGjHqX

 

Haskell 版。こちらもオーバーロードに失敗する。

https://wandbox.org/permlink/LswpEklyk5rFU73v

 

まだ試行錯誤が必要だ。

 

 

 

体重計と活動量計

電池切れで動かなくなった体重計。ぐぐってみると、販売元の企業は NOKIA に買収されたらしい。その上、NOKIAが方針転換をして、ユーザの計測データをホスティングしていたのをサービス停止したらしい。日本のユーザはNOKIAの代理店であるソフトバンクに問い合わせをしたところ、全くの泣き寝入りになったらしい。

バッテリーはリチウムイオン電池で、ユーザが自分で交換することはできない。

購入したのは2年半前。高い勉強料だった。次は、自分で電池交換できるものを選ぼう。

で、ググった結果、タニタの体重計が良さそうだった。

www.tanita.co.jp

スマホアプリと bluetooth で連携できる。ただし、アプリの出来は悪いらしい(苦笑

 

一方で、良いニュースもある。アプリのAPIが公開されていて、データをexport することができる。

ヘルスプラネット

タニタHealthPlanet(体組成計RD-907)のデータをFitbitとGoogle Fitに同期する - Qiita

Apple のヘルスケアアプリとの連携もできるらしい。

 

あとは、APIを利用してデータを取り出し、クラウド上にバックアップする。そんなアプリケーションを作成しよう。

また、最近の活動量計は、心拍数・脈拍だけでなく、血圧まで測れるものがあるらしい。

 

。。。ちょっとぐぐってみたら、違うみたい。活動量計で血圧まで測れる、といっているのは、3000円から5000円ぐらいの知らないメーカー製。おそらく中華製でパチモンの気配がする。ちゃんとした血圧は測れないのだろう。血圧の計測方法を考えると、ライフログは難しそう。

 

無線でログを取れる血圧計を調べた。

www.healthcare.omron.co.jp

bluetoothスマホと連携できる。オムロンのサーバに記録できる。

さて、APIは公開されているのか?

 

・・・うん、OMRON connect は アップルヘルスケアと連携できる。

問題なし。

モータフランジカップリング

モータシャフトに直接つけるパーツの名前が分からなかった。サーボモータの場合は、サーボホーンと呼ばれる部品だが、DCモータだと呼び方が違うらしい。

 

双葉電子工業 ホビーサイト ホームページ | フライトアシスタントデバイス / パーツ | サーボホーン

jp.banggood.com

イモネジが付いてくるので、モータシャフトに固定できる。

ちなみに、RS-380PHのシャフト径は2.3mm、RS-540SHのシャフト径は3.17mm。

 

マブチの工作用モーター | Let's Motorize!

www.banggood.com

aliexpress だとたくさん見つかった。

https://ja.aliexpress.com/w/wholesale-%25E3%2583%2595%25E3%2583%25A9%25E3%2583%25B3%25E3%2582%25B8%25E3%2582%25AB%25E3%2583%2583%25E3%2583%2597%25E3%2583%25AA%25E3%2583%25B3%25E3%2582%25B0.html?spm=a2g0o.productlist.0.0.7a254591HYprwH&CatId=146901&switch_new_app=y