Ram肉

忘れないために

AWSボタンを使ってGitHub Contributions風の草を生やしてみた

はじめに

GitHubに草を生やしていくとやっている感があっていい。
自分のGitHubページにアクセスして進捗草が生い茂っていたら「今日も頑張るぞい」ってなるに違いない。
何かをやったということが視覚的にわかるので、自己肯定感もアゲアゲなはず。

こんなふうに、毎日たくさんの進捗草に囲まれていたら、きっと人生楽しくなっちゃいますね。

というわけで、AWS進捗ボタンを利用してGitHub風の芝生を作ってみました。

実際に生えてくるのは青い草です。
青臭いという自戒と、草青むという希望を込めて

動機

  • APIサーバという概念を仕入れたからなんか作ってみたい
  • そういえばAWS進捗ボタン使ってない…そや、再利用しよう
  • GitHubの芝生が枯れてる…人生の進捗はコードだけじゃないはず
  • AWS進捗ボタンはPythonでデータ処理しているからAPIサーバはflaskで作る
  • heroku使ってみよ

こんな動機で出来上がったアーキテクチャ図(作ってみたかっただけ)

f:id:csnagu:20190629150942p:plain
なんちゃってアーキテクチャ図 icon by https://icons8.jp

  1. GitHub Pagesで運用している https://naguu.info へアクセス
  2. herokuで動かしているflask製のapiサーバへGETリクエストを飛ばす
  3. apiサーバが S3 から記録データを取得
  4. apiサーバ内でデータ処理してjson形式でreturn
  5. jsでヒートマップカレンダーとして出力

どんなもの

実際に使っているのがこんな感じ。

f:id:csnagu:20190629145716p:plain
青い芝のdemo

ヒートマップカレンダーはDKirwan氏のcalendar-heatmapをほぼそのまま利用しています。
便利。

github.com

なんちゃってapiサーバの実装はgistを参照。

現状の課題や未来の自分へのTodo

  • naguu.info/ へのリクエストごとにAWS S3からcsvファイルをダウンロードしているから表示が遅い
  • flask製のAPIサーバではGETのたびにデータに前処理を施しているから遅い
  • AWS進捗ボタン側のデータを使ってcontributions毎の時間をグラフで出したら面白いかも
  • ヒートマップカレンダーの実装が人に頼り切り

良い感じの実装方法などあればコメント等で教えてください!

TodoistとTrello、2つのタスク管理ツールの使い分け

はじめに

個人的なタスク管理ツールは主にTodoistとTrelloを使っている。
「シンプルでタスク完了とともにリストからタスクが消えるTodoist」

「タスクをtodo/doing/doneと分けられるTrello」
とでそれぞれ使う方針がだいたい固まってきたため、現在の使い分けをできるだけ具体的にメモしておく。
他にもこんなツールあるぜ!こんな使い方いいぜ!っていうのは教えてほしい。

Trelloではタスクのことをカードって呼んでるので、ここではタスクに統一する。

Todoist

良かったところ

  • UIがシンプルでスッキリして見やすい
  • PC・スマホタブレットどれから閲覧してもほぼ同じように操作できる
  • こなしたタスクはリストから消えていく(実際にはログに残っている)
  • 毎日/明日/3日毎 などで同じ内容のタスクを勝手に作ってくれる機能がある
  • Amazon Echoと連携できる

イマイチなところ

  • タスクに日付を指定しないとインボックスやプロジェクトの中で埋まる恐れがある
  • コメント機能がプレミアムユーザのみ
    • しかもそんな使い勝手がよくない

こんな理由からTodoistは「ぱっと見て理解できる」「時間がかからない軽いもの」「ある日付のみ実行する」タスクを登録するようにしている。
例えば週末の掃除は「毎週日曜日 シンクの掃除」として登録する。すると掃除のリストが出来上がる。実行した掃除項目から手軽に消せるため、残りの掃除箇所がどこかも把握しやすい。
他には「5/23 サイクリング」といった、ある日付のみ実行するものを登録する。
また、Amazon Echoと連携できるので思いつきのメモをとりあえず残しておけるのも◎。

逆に相性が悪いな〜と感じたのは、課題やレポート提出のような「ある日付までに継続的に取り組む必要があるもの」。
それとタスクを分解して小タスクに分けていくのも個人的には使いにくいな〜と感じている。
複雑であったり、重ためなタスクはTrelloのほうが管理しやすい。

Trello

良かったところ

  • リストやボードを使い分けれるので自由度が高い
  • doneリストが増えていくと嬉しい
  • タスクごとに説明やコメントなどの詳細を記述できる
  • Hello Epics(プラグインのようなもの、有料)がタスクの親子関係や全体の進捗を明確にする

イマイチなところ

  • Chromeエクステンションがないと使い勝手が悪い
  • タスクの登録と完了が若干煩雑
  • タスクをソートできない

Trelloは「複雑な内容」「継続的に取り組む」タスクを登録するようにしている。
複雑な内容のタスクはより細かい作業に分割するのが定石である。Hello Epicsを使おう。
次に、継続的に取り組むタスクとして最近はじめた積読の消化がある。Hello Epicsを使おう。
画像で伝われTrello(Hello Epics)の力。

f:id:csnagu:20190511211005p:plain
trello + hello epics

Trelloの各タスクには説明欄とコメント欄があるため、本を読み始めた動機やモチベ、読書メモ等を書き込むのもいいだろう。
長い間doingリストに所属するタスクは理由をメモして、更に小タスクへ分割することもできる。

Trelloは以下記事にあるChromeエクステンション入れると使い勝手が異次元になる。
そのかわりスマホタブレットから閲覧したときは残念な気持ちになる。

qiita.com