たれぱんのびぼーろく

わたしの備忘録、生物学とプログラミングが多いかも

パワポのテンプレート機能

powerpointにはテンプレート機能がある。しかし意外と知られていない.

PowerPoint テンプレートについて
PowerPoint テンプレートとはスライドまたはスライド グループのパターン (設計図) であり、.potx ファイルとして保存します。テンプレートには、レイアウト、色、フォント、効果、背景スタイル、さらにはコンテンツを含めることができます。
プレゼンテーションにテンプレートを適用する - PowerPoint

ファイル形式: PowerPoint テンプレート (.potx) ファイル

統一されたスライドタイトルをつける

各スライドの表題 (タイトル) に下線が引いてあったりして統一感のあるやつ、あれはテンプレートで作れる (こんなの).
テンプレート機能を使い、テンプレートに棒線で下線を引いておくと、すべてのスライドに反映される.

システムトレード作成で身につけた技術

非同期とエラー処理

エラーを起こしうる、複数の非同期処理を扱うのがツラミだとよく分かった.
非同期処理の完了タイミングはネットワークによって前後し、エラーで仕切り直す処理が必須になる.
うまく処理するための技術として

  • Async/await
  • try-catch (with async/await)

を覚えた。Promiseの理解が無かったとしたら、数倍は理解にかかったと思う、ありがとうPromise.

websocket

データ取得のためにリクエストを多数送るとすぐ拒否されがち
だいたい拒否してくるところはwebsocketを用意してくれてる
ブラウザ・Nodeともに対応がしっかりしてるので、コールバックで情報を受け取るだけ
仕組みを覚えてサーバー側として使えるようになってなりたいね

データベース・可視化

Elasticsearch/Kibanaによるデータ管理/可視化を覚えた
AWS上にホストすると外部からKibanaへアクセスできて尚良し
凝った可視化はD3で手書きするのがいいけど、王道の可視化をサクッとして当てをつけるためにはとてもよい。

ストリーム処理

Aamazon Kinesis (firehose)を覚えた。
あれは安いしいい物。基本的には、EC2インスタンスをデータ取得マシン(データ取得とFirehoseAPI叩き)にして、流し込むイメージ.
のちのちの処理を考えると、ndjson(改行デリミタJSON)との相性がとても良い

為替

とても勉強になった。

freeRTOSとAmazonの関係

ESP32でも採用してるfreeRTOS、気づいたらAmazon freeRTOSなるものが出てきてたのです。はて、こやつは…

monoist.atmarkit.co.jp

FreeRTOS、Amazonに買われてた

Amazonが買収して、open source projectとやらとして飼ってるみたい

The FreeRTOS kernel is an Amazon Web Services owned and managed open source project.
RTOS contact and support details

そしてFreeRTOSの創始者、Richard BarryがAmazonにジョインしてた、なんと.

FreeRTOS was created in 2003 by Richard Barry..., last year Richard joined Amazon.
Announcing FreeRTOS Kernel Version 10 | AWS Open Source Blog

Amazon FreeRTOSはセキュリティ等をマシマシにしたFreeRTOS

AWS IoTに即つなげるFreeRTOSスタックみたいな感じだと認識した

async入門 in Javascript

Javascriptには、非同期処理をより簡潔に書くためのasync functionが導入されつつあります。 このasync functionとは何ぞや、を解決します!

わかる人向け要約

async functionとは、Promiseを暗示的に返す関数.
このPromiseはasync function内のreturn値でresolveされ、throwなどでrejectされる。

Node.jsでHTTPリクエスト

意外と難しい、けど理化すると簡単。

方法

  1. Node.js謹製、HTTP.request()
  2. requestライブラリ

1. HTTP.request()

Node.jsに付随するモジュール.
仕様書通り使えば簡単に使える.
HTTP | Node.js v9.3.0 Documentation

2. requestライブラリ

npmで配布されてるライブラリ.
HTTP.requestより抽象度が高く、手軽に使える.
mofumofu3n.hatenablog.jp
Promise対応版もあるのがgood!
github.com

凝ったリクエス

暗号化

シークレットキーを使ってクエリを暗号化せよ、な場合がたまにある。
クエリをURIパースするのは簡単、javascript標準の"encodeURI" JavaScriptでURIエンコード(URLエンコード)を行う|プログラムメモ
クエリをオブジェクトから作成するのはNode.jsモジュールの"querystring"で。 Query String | Node.js v9.3.0 Documentation
暗号化はありがたいことにNode.jsのモジュール"crypto"にある。

水槽の温度をESP32で監視しよう

水温計

温度計: DS18b20.
www.maximintegrated.com
これにステンレスキャップをつけて防水加工したものが売ってる. わたしはAliexpressで¥100くらいで買った
駆動電圧が3Vなのが難点、電圧落ちたあとに動くかどうか…。
どうも動かなそう、
Improving Emontx battery life and supply voltage | Archived Forum

というかこいつ、もはやICじゃないか?
なんか、温度を電圧値として垂れ流してるだけじゃないよなこれ?
でもよくよく考えたら当然なのか。ESP32と違って、RPiとかArduinoとか他のマイコンってデジタル入力しか受け付けないもんな

電源関係

ESP32 電圧レギュレータなし 乾電池駆動
ESP-WROOM-32 (ESP32) 電池 - ブログ/こばさんの wakwak 山歩き

Wi-Fiの節電
rabbit-note.com
240Hz駆動が推奨されているが、
はて電池の使い切りとどちらを優先すべきか
ESP32 電池(NiMH×2)で動かすときは 40MHz でコンパイルせよ - ブログ/こばさんの wakwak 山歩き

現在の構成案

  • レギュレータあり乾電池駆動
  • Deep sleepからの定時計測、データ送信

ERC20とはなんなのか ー 使いやすいトークンへの話し合い

ERC20 Token Standard: 提案書のこと
ethereum上のトークンが実装すべきインターフェース(関数・イベント)を提案している
とっても短い.
制定後、EIPに正式採用された

ethereum.stackexchange.com

ERC20 Token Standard
ERC20 Token Standard - The Ethereum Wiki

EIP.
EIPs/eip-20-token-standard.md at master · ethereum/EIPs · GitHub

EIP20.
github.com

ERCは”Ethereum Request for Comment”.
RFCみたいなもん
ethereum.stackexchange.com