格安HDMIキャプチャでRX100M3をWebカメラ化する
mockkでメソッド呼び出しが行われていないことを確認する
mockkのMockには wasNot Called
が用意されているのでメソッドにも使えるかと思ってたけども実は違っていたのでメモ
// これは間違い verify { mock.method() wasNot Called } // コレが正しい verify(exactly = 0) { mock.method() }
じゃあ wasNot Called
はいつ使うのかというと以下のようにMock全体に対して呼び出しが行われていないことを確認する時に使う。
verify { mock wasNot Called }
参考: Cannot verify a mocked class's method was not called. · Issue #349 · mockk/mockk · GitHub
mockkのreturnsとanswersの違い
every { mock.time } returns System.currentTimeMillis() val a1 = mock.time // なんか処理 val b1 = mock.time
every { mock.time } answers { System.currentTimeMillis() } val a2 = mock.time // なんか処理 val b2 = mock.time
で挙動が違っていて、 returns
だと宣言時の時刻で固定されて、 answers
の場合は呼び出しのたびに評価される。
なので、a1 = b1となり、 a2 != b2 となる。
NotionでOKRと日頃のタスクをいい感じに結びつける
notionでOKRと日頃のタスクをいい感じに結びつけてちゃんと成果出していこうとするためのページを作ったのでメモ
仕事用ページの作成
まずサイドバーで仕事用ページとかを作る
日頃のタスクのメモページの作成
次に↓のテンプレートを追加する。これでデイリーのタスクのメモを残す。 コピーを作ったら仕事用ページ配下に移動する。
フィルタの設定を追加する
Daily用のテーブルを表示するためのViewを追加
Filterから
Add Filterを選んで
これでDailyのViewを選べば今日の日付のタスクが見れるようになる
OKR用ページの作成
次にOKR用のページ作り。 サイドバーでページの追加を選ぶ
タイトルは OKR
で種類をDATABASEのTableにする
TABLEの列はこんな感じにしとく。 ObjectはSelect、自信度はNumberを設定、TaskはRelationを選ぶ。
このRelationがミソで、Relationを選ぶと↓のように接続するDatabaseを選べる。 そこで先程作成した日頃のタスク用のページを選択する
そうすると日頃のタスク用ページの方が以下のようになる
ここでRelated to OKRをクリックすると、KRを選ぶことが出来るようになる。1個選択すると項目が消えるので、複数設定したい場合は再度Search for...の部分をクリックすると選べるようになる
紐付けした結果はこんな感じ
もちろんOKR側からも紐付けがされている
ここで日頃のタスクがOKRと全然結びつけが出来ていなければ何か間違った状態になっていることが見えてくるので、対策した方が良さそうな状態。
仕事用ページで一覧化
仕事用ページを開いて、↓のようにinline化することで1つのページでOKRと今日のタスクが見えるように出来る。
これも結構重要でひと目見てOKRとタスクがわかる状態になってたほうがOKRを普段から見ることになるので意識して行動が出来るようになる。 他にもToDoリストもInline化できるのでカンバンやカレンダーなども一緒に見れるようにすることでよりOKRを普段から見るものにできる。
効果
こうすることで普段のタスクがOKRに明確に紐付けが出来るようになり、OKRを達成しようとするモチベーションを上げることができそう
iPad proでThinkPadのワイヤレスキーボードを使う時の設定
iPad Proでマジックキーボードに対応したけども、重くなってMacBookクラスの重量になってしまうので個人的にはあまり魅力を感じなかった。
Apple Magic Keyboard (12.9インチiPad Pro - 第3世代と第4世代) - 英語(US)
- 発売日: 2020/04/20
- メディア: Personal Computers
Macのキーボードもあまり好きでは無いのでThinkPadのワイヤレスーボードをつなぐことにした。
この記事もiPad ProとThinkPadのワイヤレスキーボードで書いている。
ThinkPadのワイヤレスキーボードをiPadに接続する際の修飾キーの設定を変えた。
「設定」から「一般」→「キーボード」→「ハードウェアキーボード」→「修飾キー」で画像みたいに設定
これで純正キーボードと同じような挙動になるはず
LiveDataの中身までmockkでテストする
sealed class Status { object InProgress : Status() object Success : Status() data class Failure(val e: Throwable) : Status() } class Data { val status: LiveData<Status> }
↑みたいな構造のコードで、DataクラスのstatusがFailureになった際のeの型もちゃんとテストしたいみたいな場合、
val observer = mockk<Observer<Status>>(relaxed = true) val data = Data() data.observeForever(observer) // 何かしらのテストするためのAction verify { data.onChanged(match { it is Status.Failure && it.e is RuntimeException }) }
と match
を使えば良い
Slackのreacji-channeler が便利すぎた
Reacji Channeler がめちゃくちゃ便利だった。
具体的な使い方として、 絵文字ジェネレーター - Slack 向け絵文字を無料で簡単生成 で「〇〇チームへ伝言」みたいなEmojiをSlackに登録しておきreacji-channelerでチームのチャンネルへ伝言するようにしておくと、 色々なチャンネルで投稿された内容を瞬時に共有しておくことができる。
よくあるのが問い合わせ用チャンネルからチームへの伝言とか他の開発チームの進捗共有とかを伝言とかが一発でできるし、どこのチームが興味持っているかがEmojiで一発で分かる。
便利。