Diary

Diary

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

2021-10-01から1ヶ月間の記事一覧

remember の import 時にエラーになる (Jetpack compose)

経緯 Jetpack compose の中で、以下のように remember を使おうとしてました。 var isDisplayed by remember { mutableStateOf(false) } 最初は remember の文字が赤くなっていたので、Alt + Enter を押し自動インポートさせました。 無事 androidx.compose.…

ターミナルでゼロ埋めを行う方法

ターミナル上でゼロ埋め(ゼロパディング)を行いたいことがあったので、その方法についてまとめてみたいと思います。 [目次] ゼロ埋めを行う方法 printf seq seq + awk (おまけ)ゼロ埋めされた値を計算に使う おわりに ゼロ埋めを行う方法 printf format …

Android Studio でディレクトリが重なって表示される

Android Studio のデフォルトでは以下のように、可能な限りディレクトリを重ねて表示されていると思います。 ところがこの表示の仕方では、重なっている中間層にクラスなどを作ることができず、今までもどかしい思いをしてきました。 そこで今回は、表示方法…

API キーを安全に Android プロジェクトで管理する方法

API キーを(多少)安全に Android プロジェクトで管理する方法についてまとめておこうと思います。 前提 Git でプロジェクトを管理していること Android Studio を使用していること 手順 1. gradle.properties(Project Properties)に API キーを記述キーを…

特定のサイトからスクレイピングできない

Go

症状 golang で http リクエストを投げてスクレイピングしたい時、特定のサイトでは全く情報が取れない時がありました。 解決策 Header 情報に Agent の情報を入れてあげると解決しました。 req.Header.Add("User-Agent", "Mozilla/5.0 (iPhone; CPU iPhone …

gpio のアップデート手順で the package is missing, has been obsoleted のエラー

gpio のバージョンをアップデートしようとした際に次のようなエラーで詰まったので、解決策についてメモしておこうと思います。 環境 ubuntu 20.0.4 Raspberry Pi 4 Model B エラー内容 $ sudo apt install libc6:armhf libgcc1:armhf Reading package lists…

ubuntu で wget がインストールできない

ubuntu で wget がインストールできない 環境 ubuntu 20.0.4 Raspberry Pi 4 Model B $ cat /etc/os-release NAME="Ubuntu" VERSION="20.04.2 LTS (Focal Fossa)" ID=ubuntu ... $ uname -a Linux ubuntu 5.4.0-1038-raspi #41-Ubuntu SMP PREEMPT Thu Jun 1…

【sed】文頭と文末に文字挿入

(目次) 文頭に挿入 文末に挿入 両方のオプションを指定 おわりに 注)今回の記事の内容は mac(zsh)では動作確認ができませんでした。 文頭に挿入 1i(文字列) という形にして、シングルクォーテーションでかこんであげます。 「insert オプションを 1 行…

【ターミナル】直前のコマンドを引数を変えて実行

直前のコマンドを引数を変えて実行 例えば以下のように、1-10 までの素数を求めるワンライナーがあります。 $ seq 10 | factor | awk 'NF == 2' 動作を確かめた後で様々な数値で試したいとき、そのまま 10 を書き換えてもよいですが以下の方法があります。 $…

Keynote を利用して動画から gif ファイルを作成する

検索して出てくる gif 生成ツールでは、長目の動画では上手くいかない。 そこで、Mac の機能(Keynote)を使って gif を生成する。 gif ファイルを作る 動画を Keynote にはる Keynote のノートのサイズを動画の縦横に合わせる 動画の貼られたページを書き出…

Kotlin で Cloud Firestore にアクセスする際の注意

Kotlin を使って Firebase の Cloud Firestore からデータを取得する際、データクラスのバインドでエラーが出たのでその解決策をメモしておきます。 [目次] クエリで取得したデータをクラスにバインドさせる MemberPayload のデータクラスの定義 データクラ…

Linux コマンドで文字コードを変換する

今回は、Shift_JIS と utf-8 の変換などについて扱います。 [目次] 文字コード xxd で実験してみる 元に戻す 1バイトずつチェック 2進数から文字列を復元 nkf Shift_JIS のファイルを UTF-8 に変換する UTF-8 のファイルを Shift_JIS に変換する おまけ ま…

分数の足し算引き算を AWK で

前回の記事で、AWK を使ってどのように分数の約分ができるのか、ということをやりました。 今回は、引き続き足し算と引き算をさせてみようと思います。 前回のまとめ 以下のようにして約分を行いました。詳しい方針は過去記事をご覧ください $ echo 6/8 | tr…

navigation-compose のパラメータの受け渡し方でハマった話

今回は Compose を使用したナビゲーションを使用した際に、ルーティングのパラメータの渡し方でハマった話をしようと思います。 [目次] navigation-compose の使い方 設定 ルートの登録 ルートの呼び出し 今回ハマったところ! パラメータの渡し方 URL など…

AWK で約分をやってみた

[目次] AWK で約分 (おまけ)ruby, python なら一瞬 おわりに AWK で約分 方針: 素因数分解して、分子の素因数は +1, 分母は -1 とカウントして、AWK の連想配列に突っ込む 最終結果として、a[] の値がプラスのものはその数だけ分子に、マイナスのものは分…

ターミナル上で分数計算を行う(ruby ワンライナー)

1/3 + 1/2といった分数計算を、ruby を使ってターミナル上で実行してみたいと思います。 ruby ワンライナーの簡単な使い方の説明と、実際に適応させるところまで紹介いたします。 [目次] ruby ワンライナー 基本的なオプション ruby の分数クラスを使う 標準…