生存報告所

日記だよ!

12/25 グラフ調べ

12/25(水) 睡眠時間7時間半 2,766歩

クリスマスプレゼントはお賃金かなぁ。

ハッ( ゚Д゚) 誰か友人に送っておけば、来年のプレゼントが期待できたかもしれないのか。

やったこと

仕事

 増えた仕様にどうしよっかなぁ~と悩みながら、午前中は作業の手を動かしていた。家の机で仕事のベストアイデアが降りてくるとは思わないため、今日は作業の日とする。

 ひと眠りして午後にやることをリストアップ。いろいろと気になる細かい仕事はあるが、年内に作業したいなぁ…と思っていた仕事の時間をしっかり確保して取り組むことにした。

 

 作業記録をGoogleカレンダーにつけるようになって数週間、私は細かい仕事を先に全て片付けしようとしがちな癖があることに気づいた。

これは細かいTodoが脳のリソースを食い続けているのが鬱陶しいからという理由はあるのだが、細かい仕事は蟻のごとく無限に出てくるため、仕事が終わるころには1日が終わっていることもあるのが難点。キュアサマーの言葉を借りると「いま一番大事なことをやろう!」の精神も大事なのである。

 

 対策としてはたぶん簡単。今日はこれを終わらせる! と決めて、1時間半などの時間をカレンダーに入れる。あとはその時間のSlackはミュート(できるなら起動しない)して全ての通知が飛んでこないようにすること。

こうすれば飛んできた細かいことを放置することによる脳のリソース占拠は無くなる。メインに疲れた時にまとめて返信すればいい。

 

 「あいつはチャットをBotで返事しているんじゃないか」と噂された即レス・リアクションを捨てるのは惜しいが、それよか自分のメインの仕事を終える方が大事。明日はこの方法で行く。

口頭での質問? それは笑顔で対応で。

 

グラフ書いて遊ぶ

 年末に時間を作り、今年の日記文字数などのデータ集計ページを作りたいなぁ…とこの数日考え続けていた。

データは揃っているため、次はどうやってグラフをはてなブログに描画させようかという話。

 

案1. Spreadシートで作ったグラフを埋め込む。

 メリット:一番手軽。グラフをスプシで作成し、公開して張るだけで良い。

 デメリット:外部のファイルに依存する。スプシを消したときに表示されなくなる。データがあるファイルを消さなければいいだけの話なのだが、私の脳みそなら数ヶ月で忘れるという実績があるため、出来るだけ外部ファイルと連携した設定にしたくない*1

 

案2. グラフのスクショを撮って貼る。

 メリット:これも手軽。写真データのみのため、はてなブログ内で完結する。

 デメリット:グラフの設定が変えられない。触って楽しめない。

 

案3. グラフをHTML編集で埋め込む。

 メリット:プログラムでグラフを作ることが出来る。触れる。

 デメリット:書き方を調べる必要がある。依存しているライブラリが無くなれば表示されなくなる。

依存しているライブラリが無くなった場合はどうしようもないが、調べて書くのが面倒なのを除けば一番良さそうな方法。

 

というわけで作ってみた*2

 これだと、この月はこの値か~と見ることが出来るから、画像より面白いんじゃないかな?

 

 とまぁこのように、どうグラフを書くのが適しているかと調べて1時間が過ぎた。

 フロントエンドは、作ったものの結果が即座に目に見える変化で現れるのがやっぱり面白いところだな。

 

なっとく!関数型(flatMap)

 今日もなっとく!を進める。今日はScalaのコードで道の電柱の如くよく見かけるflatMapの話。

 

 何故mapよりも頻繁に使われるのかと思っていたが、例題を通して使ってみると構造化している要素が平らにされてとても便利だと知る。これはflatMap使いますわー、明日から使えるScala豆知識講座のナンバーワン確定ですわ! という便利さ。

そして次に学んだfor内包表記はこれをさらに便利にしたもの。flatMapを入れ子構造で使っていたのが、縦列に揃えて使うことが出来るのである。

 

flatMapの入れ子

books.flatMap(book =>
  book.author.flatMap(author =>
    searchMovie(author).map(movie =>
      s"$movie の原作者は ${book.author} です"
    )
  )
)

for内包表記

上よりも縦が並んで綺麗だね*3

for {
  book <- Books 
  author <- book
  movie <- searchMovie(author)
} yield s"$movie の原作者は ${book.author} です"

謎の暗号だった記述の役割が分かる! Scalaすごい言語だ! と今日も楽しく進めた。

 

 12月頭ほどから始めて、(サボったとはいえ)今1/3。友人が始めたら3ヶ月ほどかかったらしいけど、確かにそれぐらいかかりそうだなぁ…。

 

ごはん

 朝食:ネギ塩鍋(鶏肉入り)

 昼食:ネギ塩鍋(スープのみ)

 夕食:お好み焼き1.8枚

 

 昼までは残り物で耐えていたが、17時半にお腹が鳴って夜はしっかりとお好み焼き。

 最近は残り物野菜を入れただけのお好み焼きだったが、買い出し直後の今日は違う! キャベツ1/4玉と長芋をいれて、チーズも投入。ごま油を多めに引いて焼くと、もちのように伸びて食べ応えもあるお好み焼きが完成だ!

今日はほぼ外に出てないから1枚で済ませようと思っていたのに、気づけばさらに0.8枚ほどつまみ食いをしてしまった。美味い美味い!

*1:今回の仕様の前提だが、一度作ったらよっぽどのことが無い限りデータの更新が無いものとする。

*2:Chart.jsとPlotly.jsがあったが、Chart.jsの方がシンプルな見た目で出力されるため採用。見た目のシンプルさは大事。

*3:上下ともにコンパイラは通してないので、文法ミスがあれば申し訳ない。