Vim では ]] や [[ 入力で関数(セクション)単位にカーソル移動できるコマンドがあります。[[ だと一つ前の関数に移動、]] だと一つ後ろの関数に移動、といった具合です。 自分は日記を ChangeLog 形式で書いていて、ChangeLog でもこの動作ができたら良い…
今回は、Kotlin Serialization を使って JSON をパースする方法を解説します。
今回は、Moshi を使って JSON をパースする方法を解説します。
今回は、Activity Result API で他の Activity の結果を取得する方法を解説します。
今回は、Kotlin Coroutines について解説します。
今回は、Retrofit を使って HTTP 通信を行う方法を解説します。
今回は、map や switchMap で LiveData を変換する方法を解説します。
今回は、MediatorLiveData で他の LiveData を監視する方法を解説します。
今回は、Androidでアプリのインストールを検知する方法を解説します。
今回は、WebView の JavaScript からネイティブコードを呼び出す方法を解説します。
今回は、AndroidのLiveDataで値を監視する方法を解説します。
今回は、Pythonのf文字列にて文字列を補完する方法を解説します。
今回は、venvを用いたPythonのパッケージ管理方法を解説します。
今回は、AndroidのSavedStateHandleを解説します。
今回は、Pythonでのプロパティの実装方法を解説します。 プロパティとは? ここで取り扱うプロパティとは、クラス利用者がそのメンバ変数にアクセスするときにgetterやsetterを意識することなくアクセス出来るようにする仕組みです。 通常、クラスを実装する…
はじめに Markdown で執筆中、サイトのリンクを貼り付けたいときありますよね、きっと。そんなときは、chrome の拡張 Markdown Linker が便利です。 chrome ウェブストアより: ※chrome 拡張なので chrome 限定のお話です。ごめんなさい
はじめに テストに用いるデータなど、サーバ上にあるイメージ(画像)を確認したいときないですか?このファイルなんだっけ?みたいな。そんなとき、jp2a を使えば画像を ASCII 表示できます。テキストで表示されるので、手軽にコンソールからも確認できるっ…
今回は、Pythonで読み取り専用コレクションのメンバ変数を実装する方法を解説します。 概要 通常、読み取り専用のメンバ変数を実装するときは、メンバ変数をプライベートにしつつ、getterのみ宣言して、setterを宣言しないようにします。 class Name: def __…
今回は、Pythonで抽象クラスを実装する方法を解説します。 抽象クラスとは? プログラミング言語によりある程度違いはありますが、抽象クラスとは、以下の特徴を持ったクラスになります。 継承されることを前提としています。 空実装のメソッドが定義されて…
AndroidでViewModelを使用するとき、以下のようなコンストラクタに独自の引数があるViewModelを使用したいときがあります。今回は、その方法を解説します。 class MainViewModel(id: Int) : ViewModel() 独自Factoryの定義 ViewModelインスタンスの生成はVie…
はじめに 前回の記事「git worktree と peco」の実演(gif アニメ)にて、キー入力を表示するために [screenkey] というソフトウェアを使いました。使用するにあたり、少しコツ(バグフィックス?)が必要だったので、備忘のためここに記します。 [screenkey…
今回は、AndroidのWorkManagerでバックグラウンド処理を行う方法を解説します。 概要 WorkManager を使用すると、処理をバックグラウンドで実行できます。WorkManager を使用すると、以下のメリットがあります。 完了に時間がかかる処理でもアプリが止まらな…
はじめに その昔、[git-worktree] を使いやすくするためのスクリプトを紹介しましたが、[peco] に対応するために少し修正してみたのでご紹介します。 前の記事: git worktree list を少しだけ使いやすく - Smile Engineering Blog ※前回と同じく、zsh 用です
DSP(Digital Signal Processor)のファームウェアを実装する時、いつも悩むことは、自分が実装した信号処理のプログラムが正しいか(?)、どのように検証するかで、 WindowsやLinuxでその期待の動作を十分に検証し(期待値を作り)、組み込んだファームウェア…
ソフトウェアの要件として、性能をMCPSでオーダーされたケースがありました。 前記事の「MIPSとMCPS(?)、100MIPSは100MHzで動くか?」では、 ソフトウェアのベンチマークとして、MIPS【Million Instructions Per Second 】と、MCPS【Million Cycles Per Seco…
誰しもコマンドを定期実行したいがために以下のようなスクリプトを書いたことがあると思います。 #!/bin/sh while : do clear date '+%s' netstat -anpt sleep 1 done
はじめに テストなんかで急に Date ヘッダ を用意しなきゃダメな場面はよくあると思います。今までは Epoch Converter からコピーペなどして使っていたんですが、ローカルで求める方法があったのでご紹介します。
「PCMにWAVヘッダを付ける」では、WAVヘッダを紹介しました。 WAVフォーマット(*.wav)は、 ファイルコンテナの一種で音源データを格納するファイル形式ですが、手っ取り早く リニアPCMにWAVヘッダを付けるだけでもWAVファイルとして扱うことが出来ます。 W…
Ubuntu21.04リリース!・・・の裏でこの季節が来てしまった 先日 別の方のブログ記事 で、Ubuntu 21.04がリリースについて触れられていました。 筆者は別の人間なのでまだ触っていませんが、それと同時に気になることが山のように出てきまして。。。 それは…
はじめに Ubuntu 21.04 がリリースされました。この版からデフォルトのウィンドウプロトコル(ディスプレイサーバプロトコル、ウィンドウシステム)として、Xorg に変わり Wayland が採用されています。 今までは xrandr コマンドを用いたスクリプトで解像度…