くうと徒然なるままに

モバイルアプリを作りながらバックエンドも作っています。

Gitを領収書の管理で使いたいので税務署に電話してみた

Git で 領収書を管理したいので法律の観点から大丈夫なのか税務署に電話で聞いてみました。 コンテキスト Amazon や Alibaba などの EC サイトで日々の買い物をしてる 領収書を紙で保管するのは面倒 概要 Git で領収書の訂正削除を管理で大丈夫そう 税務署に…

Jetpack compose for Desktop でLocal に存在する画像を表示する

前置き Jetpack Compose for Desktop version 0.2.0 での話です。 Jetpack Compose for Desktop での画像表示の現状 Jetpack compose for Desktop のSDK では 画像を表示する関数 Image() が定義されています。 Image() 関数では、 ImageBitmap, Painter, Im…

COVID-19&新卒社会人な2020年を振り返る。

2020年の概要 4月に上京・就職するまで 研究とSecHack365 な 1,2 月 2月の時点で発生していたCOVID-19 4月から社会人になり12月現在まで 4月から株式会社メルカリで働き始めました。 新居@東京で在宅勤務に向けた準備を 在宅勤務&英語&新卒が重なるとそれ…

在宅勤務&新卒な人が2020 年に購入してよかったもの

家具家電は実利重視で積極投資、単価を安くするため大量購入などコスパを狙った。 家具家電の導入戦略と結果 デザインより機能性重視、型落ちでも受け入れる。 この戦略上手くいったと思う。 洗濯乾燥機 台湾企業シャープの縦型洗濯乾燥機を購入。プラズマク…

Bitmap を ByteArray に変換する拡張関数を書いた

fun Bitmap.toByteArray(): ByteArray { val buffer = ByteBuffer.allocate(this.byteCount) this.copyPixelsToBuffer(buffer) return buffer.array() }

Apple Watch で時計マウント・見下しから逃れられるので最高というお話。

最近言語化する機会があったのでメモっておく。 社会人の中ではたまに時計マウントに遭遇することがある。明示的ではないものの実質的に存在していることもある。 Apple Watch をつけることでそういう時計マウントから逃れられるって話だ。 ここでの時計マウ…

Android の Layout XML の <merge> タグについて

Android の layout ファイルでは <merge></merge> というタグを使うことができます。 この記事ではそのタグの使い方について書いていきたいと思います。 どのように使うのか レイアウトファイルのルートタグとして <merge></merge> を設置します。 そのタグの中に任意のタグを配置して使い…

mac で linux 互換の time コマンドを使う

mac で time コマンドを利用しようとしましたが、微妙にLinuxで使っていたものとは別のようでしたので同じものが使えないか調べてみました。 解決方法 gnu-time を brew install すれば良さそうでした。 具体的には以下のコマンドを実行してインストールしま…

Mac で Fish なユーザーが adb へのパスを設定する

以下の一文を ~/.config/fish/config.fish に追記するだけです。 いつも忘れるので書いた。 set PATH /Users/{ユーザー名}/Library/Android/sdk/platform-tools $PATH

Android での Wireless Debugging のやり方について

導入 Android 11 から Wireless Debugging が導入されました。 Android 11 以前のAndroid 端末でもできてはいたようですが Android 11 からは専用のUIが Developer option に実装され、かつ adb からも使いやすいコマンドが使えるようになったという認識をし…

特定のフォルダ以下にある特定の拡張子のファイルを列挙する

以下のコマンドを使えば良さそう find -E . -type f -regex ".*.hoge" kotin ファイルの場合 find -E . -type f -regex ".*.kt" java ファイルの場合 find -E . -type f -regex ".*.java"

WindowInsets を利用してキーボードを表示・非表示にしたり表示状態を取得したり

前提条件 Android 11 以降 何をするのか WindowInsets に追加された機能を組み合わせることでキーボードを表示・非表示にしたり現在の表示状態をコントロールして遊べそうだったので検証してみた記事です。 ソースコード 今回遊んだコードはこんな感じです。…

Android 11 でカスタムToast が非推奨になるようです。

Android 11 から カスタムToast が非推奨になるようです。 カスタムToast とは 一般的な Toast はテキストが画面の下部に一定時間表示されてユーザーに通知を送ることができる機能です。 by https://developer.android.com/guide/topics/ui/notifiers/toasts…

ContextThemeWrapper について

ContextThemeWrapperとは 任意のContextのThemeを上書きしたContextを作成することができるものです。 何ができるのか Viewの作成などを行う場合にContextThemeWrapper を使い作成したContextを渡すことで作成時点に指定した任意のThemeを利用してViewを作る…

株式会社メルカリに新卒入社しました。

試用期間が終わるらしいので書きます。 株式会社メルカリに新卒のAndroid アプリエンジニアとして入社します。日本版メルカリ(通称JP)を作ってます。 ちなみに、座席表に自分の名前は書いてありませんでした。(誰も更新してないっぽい と言った感じで言い…

株式会社はてなに入社しました

株式会社はてなに入社しました 株式会社はてなに入社しました - hitode909の日記

Github のプルリクエストの Load Diff を一気に読み込む

巨大なdiff をレビューするときに複数の Load Diff をまとめて読み込みたいことがあると思います. そのときに使えるテクニックです. やり方 読み込みたいプリクエストのページを開き Google Chrome 等の開発者ツールのConsole のところで以下のスクリプト…

Spek 2.0 で Data-Driven test はサポートされてないらしい

github.com 普通のKotlin のコードで表現してねって感じらしい.

ViewGroup で ダブルタップを検知するには

導入 ViewGroup 全体でダブルタップを検知したいときありますよね?そんな時の解決方法です。 前提条件 Android アプリ ViewGroup 内でダブルタップされたら検知したい 提案手法 対象となるViewGroup に GestureDelector をセットして監視する。 手順 検知し…

mac に sox をインストールする。

波形編集ソフトウェアの sox をmacにインストールする方法です。 Homebrew からインストールすることができるため、以下のコマンドを使うことでインストールすることができます。 brew install sox

ViewPager2 を使っているときにスワイプを一時的に向こうにしたい。

ViewPager2 を使って開発をしているときにスワイプされたくない時があると思います。 ただ、xmlから向こうにすると任意のタイミングでスワイプできるかの管理をできなくなります。 そのため、今回のような記事のことが必要になります。 結論 ViewPage2に生え…

大学生二人の弾丸韓国旅行をNotion を使ってスケジュール組んだお話

この記事で書くのは、旅行の計画〜実際に行ったとの割り勘精算までを Notion で管理したお話です。 Notion とは 少し前から情報感度の高い人の間で使われているドキュメント共有ツールです。 Markdown ぽく書いたり、DB を追加でき、Kanban, Calender, Excel…

7人ぐらいのチーム開発のミーティングで試してること。

最近、sechack365 というものでチーム開発をする必要に迫られたので以前から試してみたかったミーティングをこなす時の工夫について書いてく チームのコンテキスト 7人チーム 最終学年な人が多く卒研などでフルタイムで時間を取れる人はいない 5人がDev, 1…

TypeScript で Console.log() を呼び出そうとするとエラーになるので直した。 Cannot find name 'console'. Do you need to change your target library?

現状 TypeScript を書いているときに以下のようなエラーが発生しました。 Cannot find name 'console'. Do you need to change your target library? Try changing the `lib` compiler option to include 'dom' 解決方法 node の 型情報ファイルが存在してな…

Windows 10 Mobile がサポート終了したので私とWindows Phone のこれまでを振り返ってみる。

Windows 10 のサポートが切れた。 Windows 10 mobile のサポートが終了したようです。 Windows Phone 8 のころからのユーザーなのですこし思い出してみようと思います。(Windows 10 mobileのことを以下では Windows Phone と表記します。 security.srad.jp W…

Tensorflow の Android Sample をビルドしようとするFill class が見つからないエラーを解消する

tensorflow に付属しているサンプルを実行しようとすると以下のようなエラーが発生することがあります。 今回は、それを解決したいと思います。 クラス Zerosで宣言されているTはObjectを拡張します /Users/kuxu/.ghq/github.com/tensorflow/tensorflow/tens…

Go 言語なプロジェクトで Github Actions を使ってみる

Go 言語を最近は書いています。サーバーサイドエンジニアになるのかもしれません。 そこで、当然のようにCIを設定していくのですが、最近出たばかりの Github Actions を使っていこうと考えています。 (Public repo の場合実質ある程度の規模までは無料で制…

fish で git のステージされているファイルを一覧を表示する関数を追加した

git で git add したファイルのリストを表示する機会が多かったので fish の関数にしてみました。 いい感じに使ってみてください。 function gsf git diff --name-only --cached end

fish & peco で Git の変更されたファイルを表示して git add するワンライナー

git add (git diff --name-only HEAD^ | peco)

setting.gradle に追記することで特定のフォルダに入っているmoduleを一括でターゲットにする様にした

Gradle 芸でモジュール数が増えても記述が多くならない様にして見ました。 feature/data の名前でモジュールをフォルダ分けしてたりするので複数のフォルダを見たいときでもいい感じになる様にしてみました。 ['feature', "data"] .asList() .each { folderN…