Diary

Diary

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

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

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

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

AWK で約分をやってみた

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

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

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

ターミナル上で文字の順番を入れ替える

[目次] 行の中で最初と最後を入れ替える 回文判定 行を入れ替える rs コマンド おわりに 行の中で最初と最後を入れ替える rev (=reverse) を使います $ echo hoge | rev egoh $ echo "123 456" | rev 654 321 回文判定 これを用いると、回文判定もできそうで…

sed 豆知識

最近知った sed の便利な機能を紹介していきます! [目次] sed -n '/正規表現/p' sed -n '/正規表現1/,/正規表現2/p' 続けて条件を指定できる グループ化 拡張正規表現 sed オリジナル (おまけ)+ は基本正規表現では使えない おわりに sed -n '/正規表現/p…

xargs で並列処理

xargs では -P オプションを使うことで並列処理させることが可能です。 # -P2 の 2 の数は何個並列で走らせるかを表す $ ... | xargs -P2 [目次] 最大実行数の確認 実験 並列処理されてること 論理 CPU を超えた場合 おわりに 最大実行数の確認 論理 CPU の…

Android 実機の画面を PC 上に表示させたい

Android でデバッグしているときに、その画面をPC 上に表示させ、共有や配信を行いたいことがあると思います。 その際に便利な scrcpy というコマンドを見つけたのでメモしておこうと思います。 インストール方法 Mac の方は brew でインストールできます $ …

navController でクラスインスタンスを扱う(Jetpack Compose)

こんにちは、kokoichi です。 前回の記事では Navigation を使った簡単な composable の構成方法について紹介しました。 その際データオブジェクトを引数として渡す方法について苦しめられたので、今回はその方法についてまとめます。 [目次] Navigation 内…

Jetpack Compose で Navigation を利用した View の切り替え

Jetpack Compose で Navigation を利用した View の切り替え こんにちは、kokoichi です。 最近は Android 開発において Jetpack Compose を真面目に学んでいます。 今回は Navigation を利用した View の切り替え方法を学んだので、その方法についてまとめ…

FizzBuzz をワンライナーで倒す

FizzBuzz 問題とは、条件分岐の式をかくための例題としてプログラマーの間では有名な問題です(wiki)。 今回は初心に帰って FizzBuzz を、ワンライナーで解いてみたいと思います! 自分が思いついた解法は次の3つです awk sed (おまけ)python を使う 前提…

最速で python の docker 環境を立ち上げる

今日は、楽に最速で python を docker で動かせるようになるまでの方法について紹介しようとおもいます。 docker について調べると色々と設定ファイルが出てくると思うのですが、今回記述するファイルはありません! その代わりに以下の2つを使うので、イン…

appium で socket hang up のエラー

Android + appium で自動テストを行なっています。 appium のセッションを開始しようとした際、socket hang up のエラーが起こり、その解決方法を見つけるのに手こずったのでメモしておきます。 解決方法 Android の中の、appium に関連するものを全て削除し…

Hellow Deno

Web

今回は deno という言語について軽く触れた後、世界と挨拶すること(hellow world)を目指して頑張ります。 deno とは何か install VSCode で使えるようにする Getting Started Hellow World パーミッション制御 Hellow World on server おわりに deno とは…

Wireless debugging 接続(adb)で「Failed: Unable to start pairing client.」と表示される

Android の開発には、端末の開発者モードで debug を ON にする必要があるのですが、wifi で Wireless に接続できることを学びました。(Android 11 以上) (接続の仕方は公式が詳しいです) developer.android.com その際、adb コマンドを使って再接続しよ…

Github のリポジトリ一覧取得

Github のリポジトリ一覧取得 Github は GraphQL のAPIも提供していますが、今回は Github RestAPI を使用して、public リポジトリ一覧を取得してみようと思います。 public なリポジトリを持ってくるだけなら https://api.github.com/users/<username>/repos にアクセ</username>…

python で接線を書く

[目次] 接線とは 微分の定義 接線の定義 python で実装する おまけ おわりに 接線とは 実際に接線を描画する前に、正確に定義をしておきましょう。 微分の定義 ここでは PC により数値的に計算するために、極限による微分の定義を用います。 以下にx=aにおけ…

ワンライナーでid のかぶりがないかチェック

ワンライナーでid のかぶりがないかチェック id というのはユニークである必要がありますが、自分で命名してると下手し被ってしまうことがあると思います。 そこで今回は、HTML をユースケースとして、id に被りがないかをチェックするワンライナーを書いて…

どうしても python をワンライナーで使いたい

ここでいうワンライナーとは、 python ファイルを作ることなく、ターミナルの上でちゃちゃっと python のいいところを使っちゃおうよ って話です。 -c コマンド 使い方 Tips 引数の渡し方 for 文について おわりに -c コマンド どうやら調べてみると、-c オ…

strace コマンドでシステムコールをトレースする

straceコマンドが使えるようになると、システムコールをトレースすることが可能になり、低レイヤーにおけるプログラムのデバッグに大変役に立ちます。 用語説明 システムコール トレース strace インストール strace とは strace の使い方 use-case strace …

awk で四捨五入を行う

AWK は非常に強力な言語なのですが、残念なことに標準の関数として四捨五入を行うことができません。 そこで今回、任意の桁に対して四捨五入を行う方法をメモしておこうと思います。 小数点以下で四捨五入する 任意の桁で四捨五入する おわりに 小数点以下で…

ワンライナーで九九の表を生成する

「ワンライナーで九九の表を生成する」というシェル芸の問題は、多くの解法が存在し非常にいい問題なのではないかと感じました。 そこで、自分が今思いつく答えをいくつかメモしておこうと思います(今回は細かいコマンドの使い方は紹介しておりません) ぜ…

よく使う adb コマンド

adb(Android Debug Bridge)コマンドとは、その名の通り Android 開発をする際に色々とお世話になるコマンドです。 その中でも個人的によく使うコマンドをまとめておこうと思います。 [目次] adb devices adb install adb uninstall adb shell pm list pack…

awk で for 文を書く

ワンライナーで awk 内で for 文を回したくなることが多々あるのですが、いつも方法を忘れるのでこれを機にまとめておきたいと思います。 基本的な使い方 各行の和を求める (おまけ)九九表を作る おわりに 基本的な使い方 基本は、 for( i=<start>; i<=<end>; <increment> ){ acti</increment></end></start>…

awk で小数点以下を含む計算するときの注意

awk で小数点以下を含む計算するときの注意 少数を含む計算の注意点 小数点以下が有限の桁で記述できないような少数は、ある程度の桁数で近似を行うしかないため、以下のような(一見)不思議な現象が起きます。 $ awk 'BEGIN {print int(70.21 * 100)}' 702…

awk で uniq を実行する

awk の連想配列の機能を使って、(シンプルな)uniqコマンドと同様の機能を実装できることが分かったので紹介したいと思います。 uniq コマンドとは awk による uniq の実装 連想配列? 使い方 おわりに uniq コマンドとは awk の前にまず、uniqコマンドの復…

Terminal からプロセスを終了させる

今回はkillコマンドを用いてシグナルを飛ばし、プロセスを終了させてみようと思います。 kill コマンド signal とは kill のシグナル一覧 使い方 基本パターン 1回止めて一定時間後に再開する 覚えた方が良いシグナル KILL コマンドは最終手段 実は普段から…

ターミナルを使って、特定のファイルを見つける

ファイル検索をする方法として、今回はlocateとfindのコマンドを整理しておきます。 ファイル名はわかっている時はlocate、更新日時やサイズなどで詳細な検索をかけたいときはfind、と使い分けたらいいのかなと思っています。 locate 使い方 find オプション…

awk 入門

awk 入門 awk の使い方を簡単に紹介し、「awk 何それ?」っていう状態から「awk 使ったことあるよ」っていう状態になることを目指します。 awk 入門 awk オプション 基本パターン 各フィールドへのアクセス方法 pattern の記述方法 特殊な pattern 省略形 変…

POSIX 組み込みシェル変数まとめ

POSIX 組み込みシェル変数まとめ POSIX 組み込みシェル変数まとめ 一覧紹介 (すこし)詳細説明 $ ? PIPESTATUS 0 ! ENV PATH PPID PS1, PS2, PS4 おわりに 一覧紹介 以下のまとめの中から興味あるものが見つかったら、是非説明の方も見て試していただきたい…

js で綺麗なグラフを書く

Web

js で綺麗なグラフを書く 今回は Apexcharts を利用して、簡単にグラフを書いてみました。 下は体重を範囲指定可能にして描画したものです。普通に書こうと思ったら結構しんどそうな見た目ですが、Apexchartsのテンプレを利用させてもらってます。 範囲指定…