さわらブログ

さわら(@xhiroga)の技術ブログ

データ基盤を立ち上げるので データマネジメントが30分でわかる本 を読んだ #DMBOK30min

TwitterSum (@nepinepimate3) | Twitter さんに勧めてもらったのと、社内でデータ基盤を立ち上げようとして悩みが多かったので読みました。

SREらしく(?) システム構築のことばかり心配していましたが、データ分析基盤はもっと多くの人と関わる仕事だと気づかされました。

ちなみに同人誌としても特筆すべきポイントが多々あるのですが割愛(宣伝手法・表紙デザイン・協賛・ターゲティング...)

感想サマリー

特に勘違いしていたこと・知らなかったこと

データウェアハウスに関する知識について、アプリケーションのためのデータの話と勘違いしていたことに気づけた。
特にスタースキーマ、データモデルなど。

CIF(コーポレートインフォメーションファクトリー)についても初めて知った、DWH, Data Mart... と分けるやつ。アレ名前知りたかったんだ。本書ではサラッと触れてた、別途以下のブログが参考になりそう。
gotouma.hatenablog.com

アクションが間違ってたこと・想定が甘かったこと

具体的な話はむしろ著者のデブサミ資料に詳しい。
speakerdeck.com

  • 広告と購買データを結びつけて分析したいのはそうだと思う、ビジネス側が満足な分析をできていない可能性もっと知りたい
  • 問い合わせの分析はたしかにアプリケーションDBの中身と組み合わせて分析したいだろうと思う
  • 必要なデータモデルごとにチケットが切られる未来を知れてよかった(著者の会社はそうっぽい)

しっくり来てないこと...

  • データ分析基盤になんでも入れるのか?会社KPIや開発チケットに関するメトリクスなどは違和感あるが、やれば慣れる/便利?
  • 社内のドキュメント管理についても触れているが、これは情シスの守備範囲のような気も?
  • DWH時点で個人情報をすべて削ぎ落とすのは攻めてる印象、DM送ったり代理店に情報連携したりで必要にならないか
  • 個人情報のクレンジングについてもっと知りたい。半匿名化(社内で紐付けはできるが、外部に流出しても分からない)のような考えとかないのか

まとめ

偶然知った本だがこのタイミングで読めて本当に良かった、具体的なデータ活用のユースケースについては(この方だけでは限界があると思うので、色んな人から)もっと知りたい。私の所属している会社も未活用のデータがあるはずだ。

brew cask 夏の小掃除

Macが散らかってきたので、過去にbrew cask install した、今では使っていないアプリケーションを掃除しました。

brew cask list でインストールしているアプリがわかります。

掃除したもの

brew uninstall airdroid

airdroid はMacAndroidiPhoneのプラットフォーム間でBluetoothを使ったファイル転送ができるアプリ。
しかし、Androidエンジニアの皆さんは開発者モードを使ってファイルを転送していると知ったので、インストールしておくモチベーションがなくなってしまった。

brew cask uninstall flotato

Webサイトをアプリ化できる。
私の場合、ブラウザにピン留めすれば事足りることに気づいた。

brew cask uninstall sourcetree

forkのほうが好き。

brew cask uninstall kitematic

docker本体のDashboardIntelliJの拡張、VSCodeの拡張、lazydocker、と代わりの選択肢が無数にある。

brew cask uninstall robo-3t

mongodb-compass で事足りている。

brew cask uninstall soundflower

ゲーム画面・音声を友達と共有して遊びたかったので試してみた、気がする。

brew cask uninstall tandem

結局会社で採用されることのなかったビデオ通話アプリ。

brew cask uninstall webcamoid

とりあえず入れて、使わなかった。

brew cask uninstall zoom

みなさんが使っているのは brew cask install zoomus です。

brew update したら mongodump/ mongorestore/ etc...が消えた? → brew install mongodb-database-tools しましょう。

TL;DR

mongoDB4.4 では、DB本体とDB周辺ツールを別々にリリースするようになりました。

https://docs.mongodb.com/database-tools/mongorestore/

というわけで、今後 mongorestore したい方は以下の通りにインストールが必要です。

brew tap "mongodb/brew"
brew install mongodb-database-tools

詳細

DB本体と周辺ツールを分けるPR自体は2020年2月に出てるんですね。

github.com

その上で、4.4 の GA に伴ってbrewのインストールするバイナリに mongodb-database-tools が含まれなくなった、ということのようです。

github.com

いやあ、いきなりパスから消えるんだもん。焦った焦った。

Wakatimeでプログラミング言語の内訳が見られない!→使用言語が15を超えると見られません。

Wakatimeが大好きです。

f:id:hiroga_cc:20200723093217p:plain
Wakatime dashboard

特にダッシュボードのプログラミング言語の内訳を見るのが好きです。
ところでこの内訳、見えるときと見られないときがありますよね?

f:id:hiroga_cc:20200723095132j:plain

理由がわからなかったのでWakatimeチームに質問しました。

見えるときと見えない時の違い

Wakatimeチームにご回答いただきました。

The requirement for breakdown legend to be displayed is:
1. Less than 15 editors used in the given time range
2. Less than 15 languages used in the given time range
When both the above are true, the language breakdown legend is displayed. Otherwise, there are too many languages to fit in the available space.

意訳

グラフの横に内訳が表示されるための条件は2つあります。
1. 指定した集計期間に利用したエディタが15未満であること
2. 指定した集計期間に利用した言語が15未満であること
上記の両方を満たす必要があります。そうでないと、グラフの横のスペースでは表示しきれないですからね(なので表示していない)

Wakatimeチーム、ありがとうございました!

2020年前半、マンガ大人買い→PDF化の決算表

外出自粛期間に15万円投じてマンガ300冊購入しPDF化しました。

こちらがその決算表です。 f:id:hiroga_cc:20200719012430p:plain

生データはこちら。
2020-07-18 - マンガ収支 - Google スプレッドシート

購入と電子化について

基本的に中古で全巻セットを購入しています。
メルカリとAmazonで相見積もりして安い方で買ってました。

(鬼滅やチェンソーマンはリアタイで追ってるのでKindleで買ってます。2020年前半のトータル書籍代は20万円を超えそう...)

スキャンは有償の業者を利用しています。
費用は1冊辺り160円+送料って感じでしょうか(当初不要なオプションを付けていたので4月のスキャン単価は高めです)
依頼から電子ファイル納品まで1ヶ月〜2ヶ月かかります。

送料についてはスキャン業者に直接送ることでカットできます。
しかし、メルカリみたいに素人が発送するものを直接スキャン業者に送るのは、届いた・届かないの問題が起きるので(起きたので)オススメしません。

所感

ぶっちゃけKindleの方が楽ですが、若干割安かつPDFが手に入る安心感を重視しているので今後も続けます。

「これもオススメだよ!」というマンガがあれば教えてください〜!

最近GmailのInboxにメールが届かなくなった! → Mailing Listに対するフィルター作成時にGmailが誤ったフィルターを作っているかも?

TL;DR

Mailing Listの名前にハイフンが入っていると、Gmailが自動で作成するフィルターはネガティブ検索として解釈されてしまう。

f:id:hiroga_cc:20200527070856p:plain
メーリングリストの名前にハイフンが入っている。

経緯

2020年の1月頃からなぜか GmailのInboxにメールが届かなくなりました。

面倒でしばらく放置していたのですが、一念発起して調査することに。
まずはGmailでフィルターを全てexportし、メールが受信できるかを確認しました。すると正常にInboxに振り分けられます。

次に、フィルターを全てImportしなおし、下から順番に削除→メール送信を繰り返してみました。するとメールが受信できるように!

悪さをしていたフィルターはコレでした。

f:id:hiroga_cc:20200527071306p:plain
マッチしないもの全てをフィルタリングする

それにしても、こんなフィルターいつ作られたんだ?
調べてみると、Adobe XDのMailing Listから送信されているメールの送信元アドレスに問題があるっぽい。

f:id:hiroga_cc:20200527070856p:plain
メーリングリストの名前にハイフンが入っている。

この neolaneというのは、2013年にAdobeに買収されて Adobe Campaginになった企業ですね。
このメールに対して Filter messages from this mailing list を実行すると、以下のようにネガティブ検索を含むフィルターが作成されてしまう、というわけ。

f:id:hiroga_cc:20200527071219p:plain
ネガティブ検索として解釈されるフィルター

まとめ

Gmailのフィルター作成機能は便利だけど、どんなフィルターが作られるかは目検でチェックしよう。
もしおかしいと思ったら、exportでバックアップして新しいのから順番に消してみる。