読者です 読者をやめる 読者になる 読者になる

RCO Study Nightで発表してきました

2017/05/18に行われたRCO Study Night #6というイベントで発表してきました。 発表タイトルは「データ分析基盤チームにおけるDevOps」です。

内容としては、自分が入社してから約2年間で培われてきた開発運用フローをまとめたものになります。 こういった内容のことは、半年に1回くらい社内の勉強会で話してはいたのですが、社外で発表するのは今回が初めてでした。

タイトルからはDevOpsを目指して整えた感じがしますが、どちらかと言うと他のメンバーとのやり取りの中で自然とDevOpsの方向になっていったという方が正しいかなと思います。

スライドに記載した自動化の仕組みを整えることで開発・運用フロー自体は楽になったと感じますが、新規メンバーが入ってきたときの学習コストが高くなってしまっているのが課題感としてあります。

なかなか難しい問題だなーと感じつつも、発表を聞いたチームメンバーから良いまとめだったというコメントをもらったので、こういうまとめを定期的に作るのは1つの解決策なのかなと思った次第でした。

mbed Device Connectorへデータを送ってみる

mbed FRDM-K64Fを使ってmbed Device Connectorを試しました。

f:id:mia_0032:20170221111232p:plain

今回は公式で公開されているサンプルを動かしてみました。

github.com

ビルド手順

1. import します。

$ mbed import mbed-os-example-client
$ cd mbed-os-example-client

2. Ethernetをつかってネットワークに接続するように設定します。

$ cat << EOS > configs/mbed_app.json
"network-interface": {
    "help": "options are ETHERNET,WIFI,MESH_LOWPAN_ND,MESH_THREAD.",
    "value": "ETHERNET"
}
EOS

3. 認証情報の設定

https://connector.mbed.com/#credentials から取得した認証情報で security.h を上書きします。

4. mbedへ書き込み

$ mbed compile --toolchain GCC_ARM --target K64F
$ cp .build/K64F/GCC_ARM/mbed-os-example-client.bin /Volumes/MBED

書き込みが終わったらresetボタンを押して、プログラムを実行します。

動作の確認

バイスが認識されているかの確認

https://connector.mbed.com/#homeで確認すると、デバイスが1つぶら下がっていることとデータが送られていることがわかります。

f:id:mia_0032:20170221105728p:plain

https://connector.mbed.com/#endpointsからはデバイスのendpointに使われる名前(secure.hに記載されているMBED_ENDPOINT_NAMEの値)を確認することができます。

f:id:mia_0032:20170221105350p:plain

データの確認

https://connector.mbed.com/#consoleから送られているデータのサンプルを見ることができます。

SW2を押した回数が3200/0/5501へ送られているようなので以下のように設定します。

f:id:mia_0032:20170221111944p:plain

TEST API ボタンを押すと以下のような結果が返ってきます。

f:id:mia_0032:20170221112238p:plain

payloadというキーに送信されたデータがBase64エンコードされた状態で入っています。 その下にBase64 decoded payloadというのが表示されており、これがデコードされた結果です。 ここでは35という値がスイッチを押した回数になります。

『科学の経済学』『レッドチーム思考』を読んだ

科学の経済学

科学の経済学

科学の経済学

科学者の知識は、論文という形で誰もが利用できる公共財として提供されます。 競争市場においては、そのような公共財を生産するインセンティブは乏しい、というのが一般的な考え方です。 この矛盾を説明するために本書で挙げられているインセンティブは「先取権の存在(最初に見つけた人がすべてを得る)」「金銭的報酬」「謎解きへの悦び」の3つとしています。

他には

  • 研究のチーム体制が変わってきていること
    • 明らかな共著者数の増加
  • 加齢が研究業績に与える影響
    • あまり見られない。
    • 新しい知識を学んでいる若い世代のほうが生産性が高いとは言えない。
  • 大学による新技術の開発研究の「社会的」収益率は28%という推定値がある。

といったことが印象に残っています。

レッドチーム思考

レッドチーム思考 組織の中に「最後の反対者」を飼う

レッドチーム思考 組織の中に「最後の反対者」を飼う

組織の中で反対意見を述べる専門のチーム「レッドチーム」について具体的な事例を用いて説明している本です。 全体的には事例が多く、その代わりに理論的な裏付けが乏しいように感じました。

レッドチームを組織で取り入れる際のベストプラクティスとして挙げられているのは以下の6つのことです。

  • 上司の賛同を得る
    • 組織のトップが反対意見を支援・承認しなければ意味がない。
  • 外側から客観的に評価し、内側から気遣いを持って実施する
    • 適切な評価はもちろん必要だが、レッドチーム自体も実施や結果を伝える際に気遣いが要求される。
  • 健全で大胆かな懐疑心を持つ
    • 人と違うように考え行動できるメンバーを集める。
  • 隠し玉を備えておく
    • 何度も同じ手法を使わない。
  • 悪い知らせを快く聞き入れ、行動する
    • レッドチームの発見を取り入れる。
  • ほどよい頻度で行う
    • 多すぎると組織の士気が下がるが、少なすぎるとレッドチームは衰退してしまう。

本書には、それぞれについて、欠けていたためにレッドチームが機能していなかった失敗事例が書かれています。