いわたんち

いわたんちは概念となりました

2020-01-01から1年間の記事一覧

2020年振り返り

時系列で振り返り 雑に月ごとに 1月 熱海とか行きながら岐阜で年越し コストコでオラフのぬいぐるみを買う 2月 大阪へ家族旅行で行く 今思えばコロナに心配しなくていい最後の旅行だった 会社統合の話を聞く 初めはもっと別の会社かと予想してたけど結果とし…

mockkのverifyでメソッドの引数の中身をチェックする

下のようなコードでUseCaseSaveのテストでrepo.saveに意図した値が入っているかを確認したいようなケース data class Data( val target: Int val timestamp: Date = Date() ) class UseCaseSave(val repo: Repo) { fun execute(num: Int) { repo.save(Data(n…

CircleCIでprivateなリポジトリをgit submoduleでアクセス出来るようにする

Projectのページ開いて右の方にある Project Settings を開く 左のメニューから SSH Keys を選ぶ User Key で Add User Key を押す こんな感じに追加されたらアクセス出来る状態になる あとはCircleCIのymlでこんな感じのを追加して呼び出せばOK init_git_su…

SpekでgetMainLooperをMockする必要がある場合の対応方法

LiveData使ってるクラスのテストをSpekで書こうとするとよく出てくるエラー。 エラー内容 Method getMainLooper in android.os.Looper not mocked. See http://g.co/androidstudio/not-mocked for details. テスト用のTaskExecutorを用意する class TestArch…

JUnit5でコルーチンの例外発生のテストを書く

@Test fun test_exception() { assertThrows(IllegalArgumentException::class.java) { runBlocking { testMethod() } } } assertThrowsにラムダを渡すことで例外発生のテストを書くことが出来る

aarに含まれるsoが見つからない

これが正しい artifacts.add("default", file('libname.aar')) こんな感じに拡張子名を忘れるとライブラリが見つからないとエラーになる artifacts.add("default", file('libname'))

pandasでステップ状のグラフを書く

import pandas as pd df = pd.DataFrame([1, 3 , 5]) df.plot(marker='.') df.plot(marker='x', drawstyle='steps-post') # drawstyleで指定 drawstyleで steps-post を指定するとステップ状になる 指定なしの場合 指定ありの場合

格安HDMIキャプチャでRX100M3をWebカメラ化する

こいつを使ってMacとRX100M3をHDMIケーブルで接続することで簡単にWEBカメラ化できた。 ケーブルは携帯用のディスプレイについてきたマイクロHDMIで接続してるけども、下に紹介してるようなケーブルでよさそう あとはモニタアームにジェネリックなゴリラポッ…

mockkでメソッド呼び出しが行われていないことを確認する

mockkのMockには wasNot Called が用意されているのでメソッドにも使えるかと思ってたけども実は違っていたのでメモ // これは間違い verify { mock.method() wasNot Called } // コレが正しい verify(exactly = 0) { mock.method() } じゃあ wasNot Called …

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 で挙動が違っていて、 …

NotionでOKRと日頃のタスクをいい感じに結びつける

notionでOKRと日頃のタスクをいい感じに結びつけてちゃんと成果出していこうとするためのページを作ったのでメモ 仕事用ページの作成 まずサイドバーで仕事用ページとかを作る 日頃のタスクのメモページの作成 次に↓のテンプレートを追加する。これでデイリ…

iPad proでThinkPadのワイヤレスキーボードを使う時の設定

iPad Proでマジックキーボードに対応したけども、重くなってMacBookクラスの重量になってしまうので個人的にはあまり魅力を感じなかった。 Apple Magic Keyboard (12.9インチiPad Pro - 第3世代と第4世代) - 英語(US) 発売日: 2020/04/20 メディア: Personal…

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の型もちゃ</status>…

Slackのreacji-channeler が便利すぎた

Reacji Channeler がめちゃくちゃ便利だった。 具体的な使い方として、 絵文字ジェネレーター - Slack 向け絵文字を無料で簡単生成 で「〇〇チームへ伝言」みたいなEmojiをSlackに登録しておきreacji-channelerでチームのチャンネルへ伝言するようにしておく…