コンピュータ

...now browsing by category

 

画像から10桁の数値を抜き出す

土曜日, 7月 17th, 2021

画像に書かれている10桁の数値を抜き出す必要があったのでやってみました。

macOS 11.4 上で行いました。

まずは、OSSのOCRエンジンとコマンドラインプロンプトである tesseract-ocr をインストールします。

インストール方法は、https://rooter.jp/ml/tesseract-with-mac/ を参考にしました。

続いて、OCRの結果から10桁の数値を抜き出すシェルスクリプトを作成し、 pickup というファイル名で保存します。

#!/bin/sh

if [ $# -lt 1 ]; then
    echo "Usage: pickup file [...]"
    exit 1
fi

for arg in "$@"; do
    tesseract ${arg} - 2>/dev/null | grep -E "\b[0-9]{10}\b" | sed -r "s/^.*([0-9]{10}).*$/${arg}: \1/g"
done

実行権限も付与しておきます。

$ chmode +x pickup

 ターミナルにて、対象となる画像ファイルを引数に指定して実行すると、画像を読み込んで、10桁の数値が見つかれば、それを表示します。

$ ./pickup IMG*
IMG_1385.png: 4386015112
IMG_1387.PNG: 4386015112
IMG_1388.PNG: 8267761977

iOS 14 で追加された「プライベート Wi-Fi アドレス」とは

水曜日, 9月 23rd, 2020

iOS 14 から「プライベート Wi-Fi アドレス」機能が追加されたそうです。これは Wi-Fi ネットワークごとに、ランダムな MAC アドレスを割り振る機能です。

以前は Wi-Fi 利用時に常に同じ MAC アドレスを使用していたため、街中の Wi-Fi を利用していると「一昨日サイゼリアにいた人と、昨日スタバにいた人と、今日ソフトバンクショップに来た人は同一人物だ」みたいな追跡が可能でした。今回の「プライベート Wi-Fi アドレス」を ON にすることで、これを防ぐ事ができます。

ただ、会社などで、Wi-Fi 接続時に MAC アドレスで認証している場合、Wi-Fi につながらなくなってしまいます。対処方法としては、(1) プライベート Wi-Fi アドレスを OFF にするか、(2) 職場の Wi-Fi に新しく割り振られた MAC アドレスで接続できるように管理部門に変更してもらう必要があります。

NAS QNAP TS-231P + UPS APC ES 500 で停電時に自動シャットダウン

水曜日, 7月 17th, 2019

Mac の Time Machine バックアップ先として、NAS の QNAP TS-231P を使っているのですが、UPS の APC ES 500 に付属の USB ケーブルで接続したところ、あっさりと NAS から UPS が認識されました。

ES 500 は 2003年に発売されたかなり古い UPS なのですが、QNAP はちゃんと認識してくれるんですね。

これで停電時に NAS を自動的にシャットダウンすることが出来ます。

なお、NAS のファームウェアバージョンは 4.3.6.0993 でした。

[shell][iOS] クローンからシミュレーターでの実行までやってくれるスクリプト

金曜日, 10月 5th, 2018

大きめの iOS アプリの開発をやっていると、クローンもライブラリのダウンロードもビルドも全てにおいて時間がかかるようになります。
それぞれを個別に人間が実行すると面倒なので、Git のクローンからシミュレーターでの実行まで、連続してやってくれるシェルスクリプトを作りました。

#!/bin/sh -e

if [ $# -ne 1 ]; then
    echo "Usage:runMyProject branch" 1>&2
    exit 1
fi

Repository="https://github.com/UserName/MyProject"
ProjectFile="MyProject.xcodeproj"

echo "===== git clone ====="
git clone -b $1 ${Repository} .

echo "===== carthage bootstrap ====="
carthage bootstrap --platform ios --no-use-binaries --cache-builds

echo "===== open Xcode ====="
open ${ProjectFile}
sleep 20

echo "===== Xcode run ====="
osascript -e 'tell application "Xcode"
    activate
    run active workspace document
end tell'
  • ファイル名やシェル変数の Repository および ProjectFile は、各自の環境に合わせて変えてください。
  • 最後に iOS Simulator での実行までやってますが、ビルドで止めたいときは、run の部分を build に変えてください。

実行時は、まずディレクトリを作って、その中に入り、第一パラメーターにクローンしたいブランチ名を指定して起動します。
$ mkdir hoge
$ cd hoge
$ runMyProject develop

改良したい点としては、

  • Xcode を起動後、20秒待つのではなく、立ち上がり完了を検知するようにしたい。
  • iOS シミュレーターの種類を指定できるようにしたい。

iPhone 5S フロントパネル交換

月曜日, 9月 17th, 2018

iPhone 5S のフロントパネルをホームボタンごと交換しました。
しばらく前にバッテリーを交換したのですが、フロントパネルと液晶パネルの接着剤が剥がれていました。
そのまま取り付け取り外しをしていたら、ホームボタンまで効かなくなったのて、丸ごと交換しました。

開けて見たところ、ホームボタンのリボンケーブルが千切れていました。

新しいタッチパネルはちょっと動きが悪いのと、ボタンの押し込みが純正よりも重いのですが、概ね好調です。