101010

プログラミング備忘録とともに、ポエムってます。

これってSoundPoolのバグ? | Android Kotlin

プールで競争、かきふりゃとえびふりゃ SoundPoolを鳴らしていると、そのうち鳴らなくなったりするバグ。その時コンソールには次のようなエラーが。 E/AudioTrack: AudioFlinger could not create track, status: -12 E/SoundPool: Error creating AudioTrac…

消化不良

今年買ったプログラミングの本を積み上げてみた。 これだけ読んでるんだ、などと自慢したいわけではなく、短期間に大量に買った割にはほとんど読めていないということ。衝動買い、無駄撃ちが多い気がする。 正直、この中でちゃんと吸収できている本といえば…

和洋折衷

当たり前な日本を感じていたが、見返してみると何か違和感。どこか東ヨーロッパというか、オリエンタルと言うか。今週撮った写真だが見返してみるとそんなことが気になった。

mitmproxyとスペック

左はMac(クライアント&開発マシン)、右はsurface pro(linuxホストマシン)、真ん中はRaspberry Pi zero(linuxホストマシン) Macのテープはvim訓練のため。(一週間程度ではあるがだいぶ慣れた) 遊びがてらはてなブログのAPIを使ってみようとした。だ…

私のスマホ

左から、Nexus5x、iPhone7、Huawei p20だ。 半年ほど前からHuaweiのp20 liteをメインとして使っている。アプリユーザーの端末を調査すると、日本人限定とはなるが、このHuaweiのp20 liteユーザーが圧倒的に多いのだ。アプリ開発者として市場調査的にもこの端…

私のMacBook

このMac Bookを使ってプログラミングしている。2、3年に一度は買い替えているMacBookだ。 vimの操作訓練のために、養生テープを貼って矢印キーを使えない状態にしている。状態と言うより変態なのかも知れない。 下に見える汚い手あては、百均で売っていた靴…

デスソース雑記

歩いた。秋葉、銀座、芝浦、新橋あたり。竹芝桟橋、昼間っからサラリーマンがあるれる中のビールは格別だ。(ハンチョウ第一巻の蕎麦屋な感じ) いろいろ歩いて、芝公園。 ところで自分のwhileループは自分では抜けられない問題。抜けるには第三者の助けが必…

やはりIntelliJ!VSCodeではKotlin開発の限界を感じる | Android Kotlin

VSCodeが快速軽量でとても好きだ。それに比べIntelliJやAndroid Studioを立ち上げるときのもさっとした感じ。毎回よっこらしょって感じでコードを書き始めるまでの気軽さはないかもしれない。 VSCodeでKotlinも書ける。インテリセンスを導入すればメソッドや…

キーストアとアップロード証明書でリリースできない | Android

アップロード証明書でリリースできない状態をなんとかこうとか解決したときの備忘録。 キーストアの場所を探す ~/Library/Logs/AndroidStudio3.3 にログが残っているのでこれをヒントに以前リリースしたときに使ったキーストアの場所を探す。日付を参考にide…

Androidプロジェクトで大きなファイルを調べるコマンド | Mac Shell

例えばあるAndroidプロジェクトのファイル容量を調べてみよう。下記コマンドは1Mより大きいサイズのみを表示するようにフィルターをかけている。 $ du -m * | awk '$1 > 1{print}' [master] 2 app/build/generated/not_namespaced_r_class_sources/debug/pro…

Go言語でラズパイ用にクロスコンパイル!⚡ | Raspberry Pi

ラズパイでの開発やクロスコンパイルのことを調べていたら、以前から気になっていたGo言語が良さそうな気がしてきた。そこでGo言語を使ってMac上でクロスコンパイルして、ラズパイでハローワールドを実行させてみた。 MacでGO言語をつかえるようにする ハロ…

ラズパイのプロジェクトをGitで管理する | Raspberry Pi

ラズパイで開発したプロジェクトソースをGitHubへプッシュ出来るようにしようと思ってラズパイにGitを入れてみた。GitHubへプッシュするところまで行った。 まずはラズパイにGitをインストールする。 sudo apt-get install -y git GitHubのウェブで新規レポ…

sshfsを使ってラズパイをMacにマウントする | Raspberry Pi

ラズパイのディレクトリをMacにマウントできてしまうsshfsという存在を知ったので早速使ってみることにした。 sshfsのインストール sshfsの使い方 C言語でハローワールド 参考 sshfsのインストール $ brew cask install osxfuse sshfs をインストールするた…

Raspberry Pi Zeroをホスト名でSSHアクセス可能にする | Raspberry Pi

前回の記事からラズパイの設定の続きを行う。 www.101010.fun 今回はラズパイをホスト名でSSHアクセス出来るようにしてみた。最終的な解決方法は最下部のまとめに記してあるので急ぎの方はそちらを参考にしてほしい。 ホスト解決の格闘 ssh pi@192.168.100.1…

Raspberry Pi Zero をモニター、キーボード使わずにインストールする

Raspberry Pi Zero WH(以下ラズパイと略す)を初めて購入しOSのインストールまで行ったときの手順をメモしておく。なおモニターやキーボードは装着せず、SSHを使ったリモート操作となる。 OSイメージのダウンロード SDカードの場所を確認する OSを焼く SSH…

Androidアプリをコマンドラインからビルドする | Android

AndroidアプリをMacのターミナル上でコマンドからビルド実行してみたのでメモしておく。 シェルにパスを通す エミュレータの名前を確認する エミュレータ起動 ビルド実行 参考 シェルにパスを通す emulatorやadbコマンドを使えるようにするため以下のパスを…

Pythonで簡単にHTTPリクエストを行う

メモ書き。アプリ開発と違ってUIスレッドとか意識しなくて済むから恐ろしくラク。 import urllib.request def fetchJojoApi(): url = 'https://apppppp.com/jojo.json' params = { 'foo': 123, } req = urllib.request.Request('{}?{}'.format( url, urllib.…

HttpsURLConnectionを使ったHTTPリクエスト | Android Kotlin

HTTPリクエストはOkHttpで行うようにしていこうと思うが、せっかく作ったHttpsURLConnectionを捨ててしまうのももったいないのでこのページにプログラムコードを載せておくことにしよう。 PostParamsのようなクラスもわざわざ作ったが、OkHttpにはFormBody.B…

非同期処理でCoroutine(コルーチン)を使ってみる | Android Kotlin

いよいよ非同期処理もコルーチンへ移行しようと思っているので理解できている範囲で使い方をまとめておく。 ライブラリのインストール ScopedAppActivityクラスの作成 launchを使う コルーチンで非同期処理を書く suspend関数 asyncを使わずwithContextを使…

Mockitoを使ったはじめてのテスト | Android Kotlin

Mockitoの使い方を学ぶために行ったサンプルテストを記述していく。 Mockitoを使えるようにGradleでインストール 簡単なプログラムでテストする whenとthenReturnを理解する whenとthenReturnを理解する2 spyを理解する verifyでメソッドが何回呼ばれたか確…

Kotlinでオブジェクト(object)の動作確認 | Kotlin Android

objectを使っていくつか遊びがてら実験してみた。オブジェクトに関してもやもやしていたが少しだけつかめてきた気がする。 companion object でシングルトンの動作確認 メソッドの関数オブジェクト インタフェースとオブジェクトの組み合わせ companion obje…

Let's Encrypt自動更新ができなかったときの解決法 | CentOS 6.x SSL

以前に こちらの記事 で設定したLet's Encryptの自動更新がうまくできず、またもや次のようなメールが届いてしまった。 Hello, Your certificate (or certificates) for the names listed below will expire in 19 days (on 31 Mar 19 18:05 +0000). Please …

デバッグに役立つ例外処理のメモ

Android x Kotlinにおけるデバッグに役立つ例外処理のメソッドを紹介する。 どちらとも例外を投げてプログラムを強制終了させることが出来る。またクラッシュした際にメッセージを投げることが可能だ。 requireNotNull var nullableHoge: Hoge? ... requireN…

Adapter内でのリソースファイル操作のメモ | Android Kotlin

リストビューやリサイクラービューのAdapter内においてViewの操作をするときのメモ書き。 ビューを表示制御する リソースファイルにアクセスする ビューを表示制御する 次のようにしてViewの表示、非表示を操作できる。 holder.imageView.visibility = View.…

AndroidManifest.xmlの細かな設定 | Android Kotlin

AndroidManifest.xmlでよく使いそうな設定をまとめておく。 applicationタグがWarningで覆われてしまう 画面を縦のみに固定する インターネットの利用を許可する ボタン連打によるActivityの二重起動を防ぎたい 参考 applicationタグがWarningで覆われてしま…

MOVファイルからGIFアニメーションをキレイに作る | ffmpeg

この記事はQuickTimeで録画したmovファイルを、GIFアニメーションに変換する方法を記したメモ書きである。 予めbrewでffmpegがインストールされたMac上で行うものとする。 ffmpegを使って一番手っ取り早くGIFアニメーションを作る方法は次のようになるだろう…

SoundPoolを使ってゲームの効果音を再生する | Android Kotlin

今回はSoundPoolを使ってサウンド再生を行ってみた。 図のように2つのボタンを設置してクリックしたときに効果音が鳴るようなプログラムである。 サウンドファイルはres/rawへ配置する SoundPoolをシングルトンで管理する LOLLIPOP以降はBuilderで生成する …

偶発性とフィルムカメラ

数年前にNiconのフィルムカメラで撮影したものだ。 シャッターを切ったときのイメージと同じようには焼き上がらないから難しのだが、それゆえに出来上がったときは楽しいものだ。 スマホで撮った写真は捨てられるのに、フィルムの画像はどうしても捨てられな…

ドラゴンボールを模写してみた

最近ドラゴンボールを模写することが楽しい。息抜きにと思って遊んでみたのだが、これが大変な集中力を要する。25分(1ポモドーロ)でタイマーをセットし時間内に描けるところまで描写する。ボールペンを使って描いているので間違わないようにと、かなりの神…

つまり、fetchとrequestはどう違うのか?(2/27追記)

サーバーからデータを取得したい場合、世の中のプログラムサンプルをみるとfetchというメソッド名が多く使われている。 自分の中でfetchとrequestはどう違うのか曖昧だったのだが、この機会に調べていくうちにイメージが掴めてきたのでメモしておく。 意味 f…