Diary

Diary

日々学んだことをアウトプットする場として初めてみました

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

Android のパッケージ名を変更してみた

みなさん、一度作ったプロジェクトのパッケージ名を途中で変えたくなったことはありますか? 私はパッケージ名についての意識が低い頃に作ったプロジェクトの中に sample などと入っていたので、今回はこれを変更してみました! (注: ストアで公開済のアプ…

mac と Linux の違い [sed command]

手元の mac で動作確認をし、リモートマシン(GitHub Actions)で実行したところ、上手くいかないことがありました。 過去にも同じこと調べたな〜と思ったので、メモしておきます。 やりたいこと ファイルの中の <link href="https://your.domain/style.css?20220720-1408"> という文字列から、style.css?20220720-1408</link>…

HTML の更新を検知する action を作りました [GitHub Actions]

URL を監視し、HTML の内容に更新を検知する Github action を作成しました。Github のリポジトリに最新の情報を保存し、実行時にはそのファイルと比較を行うことで更新を検知する仕組みです。 Marketplace にも公開してますので、よろしければご覧ください…

IFS を変えてセミコロンで文字列を分割する

IFS とは IFS とは Internal Filed Separator の略語であり、シェルの環境変数で設定されています。 現在の値確認 では実際に、現在設定されている IFS を確認してみます。 # ubuntu: # bash: version 5.0.17(1)-release (aarch64-unknown-linux-gnu) $ echo…

IntelliJ IDEA での便利な設定

IntelliJ IDEA は JetBrains 社が開発する JVM 向け IDE です。 デフォルト状態でも十分便利な IntelliJ IDEA を、今回は自分用にアレンジしてみたいと思います。 チームのコーディングスタイル等に合わせて拡張してみてください。 以下で紹介する設定の Tip…

Jetpack Compose で縦方向のスタック(SwiftUI の ZStack)

Jetpack Compose を触っていて画像の上に画像を重ねたいケースが出てきました。 そこで今回は、SwiftUI での ZStack, CSS での z-index のようなものを実現する方法を紹介します。 実装例 Modifier に zIndex が用意されているので、そちらを使用します。 CS…

SwiftPM を使用中にテストコードで missing required module 'xxx'

iOS

Swift Package Manager(SwiftPM)を使ってパッケージ管理をしており、firebase 関連のインストールを行なっていました。 そんな中、swiftUI の UITest を記載しようとした時 missing required module 'FirebaseFirestore' のエラーに悩まされたので、その解…

Bash スクリプトでよく使うテクニックまとめ

コマンド単位の使い方ではなく、作業効率化のためのスクリプトを書く際などに使えるテクニックをまとめてみました。 便利なものがあれば随時追加していきます。 [目次] エラー対策 set -e 指定時にエラーでも止めないようにする ファイル内容のコメント 複数…

iphone の画面を mac 上に表示する方法

iOS

開発中などに iphone の画面を mac 上に表示させたいことがあるかと思います。 android には scrcpy という優秀なツールがあるのですが、iphone ではどうやら QuickTime Player を使えばできるらしいので、今回はその紹介をしたいと思います 起動方法 0. mac…

bash でコマンドの実行結果をファイルとして扱う

プロセス置換(Process Substitution)を用います。使い方と一緒に、ぜひ名前も覚えましょう。 使い方 # 通常のファイル入力の場合 $ cat test.txt # コマンドの実行結果をファイルとして扱う場合 $ cat <(echo "hoge from echo command") hoge from echo co…

ラズパイサーバーに100万アクセスし温度を計測してみた

自作ラズパイサーバーに高負荷?(40分100万アクセス)をかけ、その際の温度変化を計測してみました。 結果 [目次] 環境 ラズパイに高負荷をかける bash で行う golang を使った方法 ラズパイの温度を計測する ラズパイの温度 定期的に測定する gnuplot でグ…

awk 1 とは何か

awk 1という表現についてメモしておきます。 awk 大前提として、awkの基本パターンは『(マッチ)パターン+アクション』です。 そして awk では以下のように記述します # awk 'pattern {action}' $ echo 'hoge fuga pien' | awk '/fuga/ {print $0}' hoge f…

Android アプリ内で使用 OSS を表示させる

今回は、必要な OSS の一覧を Google Play services を使って簡単に表示させてみたいと思います。 注意点としては、表示のために新たに Activity を立ち上げる必要があることです。 見た目 環境 - Android Studio: Arctic Fox | 2020.3.1 - gradle: build:gr…

Jetpack Compose で横画面に対応する!

『Jetpack Compose で横画面を検知しレイアウトを変更する』ことをやってみたいと思います。 環境 - build:gradle:7.0.4 - compose_version = '1.0.1' レイアウト 次のように、横画面か縦画面かを判断しレイアウトを変更できるようにことがこの記事のゴール…

Jetpack Compose で3点ボタンのドロップダウンメニュー

成果物 今回は、Jetpack Compose で以下のようなものを作りたいと思います。 縦に3つ点の並んだアイコンを表示 MoreVert と言うらしいです More read, vertical ?? クリック時にそこからメニューを表示させる 写真 クリック時の挙動 環境 - build:gradle:7.…

android でメモリーリークを調べてみた

メモリーリークとは Java のランタイムの文脈においてメモリーリークとは、ガベージコレクション (GC) と強く関連しています。具体的には、必要無くなったオブジェクトの参照を持ち続け、GC が削除をいつまでも行わないことを指します。 すぐにバグを引き起…

android studio のメソッドが真っ赤になった!

android studio のメソッドが真っ赤になった! テストメソッドのほとんどのファイルで、多くのメソッドが真っ赤になる現象が発生しました。 import 文を見て、赤文字の対象となっていたものには以下のようなものがありました。 androidx.test.xxx org.junit.…

Jetpack Compose でタイマー処理を実装する

タイマーを Android で作りたいことがあり、その際 Jetpack Compose で定期ループみたいなもの実装しました。 Kotlin で実装を行うには Timer や Runnable を用いることが多いそうですが、Jetpack compose では以下のようにLaunchedEffect と delay を用いて…

androidTest が表示されなくなった!

android でリリースに向けて色々といじってた際、左上のタブでAndroidを選択している状態で androidTest が表示されなくなりました。 Android Studio の再起動や、『File > Invalidate Cache / Restart』をやってみても解決しませんでした。 最終的にはこち…

GitHub 上でコミットを確認する2つの方法

GitHub でコミットの確認をしようと思った際、「独立した Commits 確認ボタン」がなかったので探すのに少し時間がかかりました。 URL に打ち込む 特定のコミットを確認する https://github.com/<name>/<repository-name>/commit/<commit-hash> https://github.com/<name>/<repository-name>までは、いわゆるリポジトリま</repository-name></name></commit-hash></repository-name></name>…

GitHub Actions 内で diff コマンドのエラー

エラー詳細 GitHub の Actions のなかで、次のようなステップを実行しました。 - name: Build run: | ... diff_license=`diff "${fileA}" "${fileB}"` ... ところが次のようなエラーが発生し、次に進めませんでした。 Error: Process completed with exit co…

連続する文字を tr で削除する

trの-sオプションを利用すると、「連続するN文字を1文字にすること」が可能です 例を見てみます 基本的な使い方 $ echo pieeeeeen pieeeeeen # tr -s "変換を行いたい文字" $ echo pieeeeeen | tr -s e pien 無駄に多い改行を削除 また次の例では、入れすぎ…

Github Actions から PR 上にコメントを残す

Github Actions から PR 上にコメントを残す際、actions/github-script を使うのがはやいです。 コメントを残す用途としては、次のようなケースが考えられるかと思います。 初めて PR 等をする人にメッセージを送る(Welcome a first-time contributor) PR …

Android における Process Death

Process Death とは アプリがバックグラウンドで動いている場合などに、リソースの都合で Android システムがアプリを停止させること。 Android Studio で Process Death 実行 Android Studio で Process Death と同等のことをするには、Logcat 画面の端に存…

Jetpack Glance で遊んでみた

前回の記事では Jetpack Glance を使って Widget を実際に表示させるところまで行いました。 今回はGlanceAppWidgetを継承させたクラスをいじって、色々と表示を変えて遊んでみようと思います! [目次] 環境 サイズによって内容を変更する exact Responsive …

Jetpack で Widget を作成

「Jetpack Glance が α 版になったらしい」という記事を見て早速遊んでみました。 予想以上に文章が長くなってしまったので、色々といじってみるのは次回にし、今回は『widget を表示させるところまで』をゴールにします。 [目次] 環境 Widget 作成手順 1. …

m1 mac で Execution failed for task ':app:kaptDebugKotlin'.

m1 mac で、今まで通ってたビルドが通らない現象が発生しました。 その際のエラーメッセージと解決策をメモしておきます。 エラー内容 Execution failed for task ':app:kaptDebugKotlin'. > A failure occurred while executing org.jetbrains.kotlin.gradl…

ubuntu に ssh 接続した際に Permission denied (publickey)

ラズパイ(ubuntu)に新規の SSH アクセスを行おうとした際に、Permission denied (publickey)が出ました。 そんな時にチェックすることと、その解決策についてメモしておきます。 環境 - クライアント側は mac を使用 - 他の端末からは SSH 接続できている …

活性化関数に ReLU が使われる理由

ニューラルネットワークにおける各層の線形変換の直後には、必ず活性化関数が挟まれています。 今回は、「なぜ ReLU が好まれるのか」についてまとめておきます。 [目次] 活性化関数 中間層における活性化関数 出力層における活性化関数 中間層で ReLU がよ…

よく使う Windows ショートカット一覧

windows のショートカット、いろいろとあって覚えにくいと思います。 個人的に、これだけは覚えてほしいショートカットを上げました! Windows shortcut 基本的にはアプリなど入れずに、windows の標準の機能で動作するようになっています(windows 10)。そ…