Androidアプリテスト用のエミュレータ設定メモ

なんかPC買い替えるたびに同じようなこと調べてるのでメモ。 アプリ仕様 minSdk=21, targetSdk=29. orientation は Portrait で固定。 横サイズは 320dp-411dp で正常表示されること。 エミュレータ設定 Name Device System Image -------------------------…

小山市災害情報まとめ

1時間天気 Yahoo 天気・災害 停電情報(栃木県) 避難情報 洪水ハザードマップ 河川水位情報 思川 姿川 鬼怒川

RxJava の subscribe の例外ハンドリングが適用されない例外への対応メモ

RxJava の subscribe メソッドの例外ハンドリングを記述していてもアプリが落ちるケースがあるのでとりあえずメモ。source: git@github.com:beyondseeker/chrono3_rx_grobal_error_handling.git subscribe() による例外ハンドリングをすり抜ける例 下記のよ…

SnapHelper のサンプルを作成してみた

先頭もしくは末尾の item をキリの良い位置で IDLE にするための SnapHelper を Horizontal と Vertical 用に作成してみました。StartSnapHelper を Horizontal/Vertical の RecyclerView で扱うサンプル画面SnapHelperの本家ドキュメントはこちら StartSnap…

module を追加して Program type already present が出た場合

複数の AndroidManifest.xml にて同一の package name を設定したことにより Program type already present エラーになった時のメモ。 重複クラスを確認する。 gradle の build 表示 から Program type already present <FQCN> 文字列を確認。 IntelliJ Idea(or An</fqcn>…

Android Studio 上の IDEA Vim でエスケープキーが効かなくなった際のメモ

Android Studio(IntelliJ IDEA) で IDEA Vim が突然エスケープ(escape) キーが効かなくなってしまった場合のメモ。Insert mode から抜けられなくなったと思いIDEの再起動やPCの再起動をしてみたが状況は変わらず、、、。結論としては単なる勘違いで、CTRL+AL…

Microsoft Office 2010 が動かなくなった(KB4461627)

2019-01-05にPCを再起動したところ、Excel を起動すると、起動後スプレッドシート自体が表示されるがしばらく Excel が操作不能という状態が続き、その後 Excel が突然落ちるという、再現可能な現象が発生した。windows update が問題だったらしく、Excel 20…

Firebase Cloud Messaging(FCM)のHTTP legacy protocolでsendするメモ

fcm_regacy_http.kt import okhttp3.* private const val URL = "https://fcm.googleapis.com/fcm/send" private val MEDIA_TYPE_JSON = MediaType.parse("application/json; charset=utf-8") private val CLIENT = OkHttpClient() fun send(serverKey: Stri…

Autosizing TextViews

TextView のフォントサイズの自動調整機能は Android 8.0 (API level 26) から導入され、Support Library 26.0 以降でも採用されています。 XML

Data BindingでDelegates.observableを使う際に非nullの初期値を強制されたくない件

Data Binding Library で notifyPropertyChanged を利用する際、普通にやると下記のように非 null の初期値が強制されてしまう。 class MyModel : BaseObservable() { @get:Bindable var myText: String by Delegates.observable("") { _, _, _ -> notifyPro…

kotlinで値がprimitive wrapperのためにlateinitできない場合

'lateinit' modifier is not allowed on properties of primitive types とか怒られるので by Delegates.notNull() で凌ぎましょう。例: import kotlin.properties.Delegates var i: Int by Delegates.notNull() fun main(args: Array<String>) { i = 10 println("i</string>…

Data Binding Library と Google Analytics for Firebase の依存関係の件

Data Binding Library と Google Analytics for Firebase が古いライブラリを参照してるのでメモ。手元にある support library の version として "27.0.2" を採用しているプロジェクトで、普通にビルドすると lint で下記のように怒られる。 Incompatible G…

RxJava2のnullの扱いとOptional

RxJava 2.0 で Observable による null の emission が非サポートになったので、その点に関してのメモ。 Javaでnullをemitしてみる JavaでOptionalを使ってみる kotlinで普通にSequencesを使った場合 Javaでnullをemitしてみる Observable<String> source = Observab</string>…

ThinkPad Compact Bluetooth Keyboard with TrackPointの接続が切れるようになった時のメモ

Windows 10 で ThinkPad Compact Bluetooth Keyboard with TrackPoint(ThinkPad Bluetooth ワイヤレストラックポイントキーボード)の接続が切れるようになった時のメモ。 結論 ThinkPad 側のアップデートで Intel の Bluetooth ドライバをアップデートしたら…

java や kotlin でもポインタを扱いたい件

多角的に検証してないけどとりあえず思い付きをメモしてみた。状態を持つ Session オブジェクトを UI から操作する場合を考えてみる。Session が単一の interface を持つ場合は、特定状態では実行不可能なメソッドを叩くと実行時例外がスローされるように作…

Database Answers

Database Answers というサイトがあった。50以上の業界と1500以上のデータモデルが含まれているらしい。特定業界向けのシステム開発をする際のデータ構造や命名の参考になるかもですね。

interface 仕様をコードで記述する

とりあえず絵の餅を描いてみるwinterface 上に定義されている関数について、document に仕様を記述し、実装クラスに実装するというのは結構普通に行われるが、その仕様がほぼ純粋に複雑なロジックだった場合、以下のような問題がある。 ドキュメント中に書…

疑似コード(pseudocode)について

ふと思ったのでメモ。疑似コードをプロジェクトで正式に採用したことはないんだけど、要求開発のツールとしてドメインモデリングを採用する際に、インタフェース設計の後に一段階入れても面白いかも。予想されるメリットは以下: インタフェース設計のみより…

英語勉強法について

思ったことをとりあえずメモするプレイスホルダー。思い付きやネイティブのESL教師に聞いた方法など。 あらゆる学習法に共通する学習効果の法則。 最も効果が高いのは、学習前にできなかったことが学習後にできるようなるという学習。*1 感覚的に腑に落ちて…

validation と sanitization

ふと思ったのでメモ。validation/sanitization 済みであることを示す interface が結構便利。*11か所でも validation/sanitization を行う個所があるならオブジェクトとして扱う方向を考えたほうがいいかも。なぜなら validation/sanitization のロジックを…

robustness と correctness

robustness は要件として検討されるもので、robustness を要件に含めるという文脈でのみ correctness を検討する必要が出てくるんじゃないかと思う。また、基本的には robustness を要件に含めると複雑さや保守コストがかなり増す*1ので、よほど特殊な事情で…

The Wise Developers’ Guide to Static Code Analysis featuring FindBugs, Checkstyle, PMD, Coverity and SonarQube

zeroturnaround.com ちょっと古い記事だけどよくまとまっているのと彼ら自身の経験談でもあるのでメモしておくw ZeroTurnaround uses SonarQube for our Java projects JRebel and LiveRebel, as we find that it gives us the best combination of usefuln…

kotlin における例外について

ふと思ったのでメモ。 例外なくアーキテクチャレベルでの扱いとなり、アーキテクチャ設計書で解説されるべきとか。 java で言うところの検査例外は sealed class の戻り値で扱うとか。 検査例外のバケツリレーが発生するような場所はアーキテクチャレベルで…

kotlin における検査例外的なものについて

ふと思ったのでメモ。おいらは java では検査例外を結構気に入って使っていたが、kotlin では実行時例外しかないので微妙に困った。しかし、そもそも検査例外に満足していたわけでもない。基本的にはインタフェースメソッドの仕様はユースケースに近い考え方…

preconditions, postconditions and assertions

とりあえず思い付きをメモ。前提として、ゲームやツールアプリ開発にて、バグが発生しても動き続けるよりバグの発生自体を防ぐという方向性を想定。事前条件と事後条件チェックの面倒な点は、条件が満たせなかった場合に理想的には全部実行時エラーで落とせ…

AssertJ

近いうちに使ってみよう(`・ω・´) AssertJ / Fluent assertions for java

引数について

ふと思ったのでメモ。要約:インタフェースメソッドの引数はインタフェース設計の視点で決定されるべきであり実装の都合を持ち込んではいけないかもしれないしそうでないかもしれないがおいらはそう思うw。※サンプルを見やすくするため getter/setter は使…

package private についてふと思ったこと。

ふと思ったので自分用にメモしておく。思い付きなので深く考えずにとりあえず殴り書きするだけっす。あるオブジェクト内部の情報を外部に開示したくない場合に、情報隠蔽は有効な方法だと思われる。しかし、特定の相手には開示したいという場合もあり、その…

小規模システム開発の最終成果物とプロセス

小規模システム開発の最終成果物は、以下の2つだけ*1でいい気がするという妄想をメモしてみた。 チェックリスト形式の Prerequisites(Problem Definition, Requirements, Architecture) リリース直前にチェックリストを全てチェックすることにより、ソースコ…

Some programmers do know how to perform upstream activities, but they don't prepare because they can't resist the urge to begin coding as soon as possible. Code Complete: A Practical Handbook of Software Construction, Second Edition: Steve…