イメージマジックはWindowsだとあまり使うことのないソフトですがlinuxなら確実に使う機会のあるソフトです。
脆弱性が多くあるので外部とのやり取りはさせたくないですが、コマンドから容易に使えるためちょっとした画像処理ボットなんかに使いやすいです。
イメージマジックはWindowsだとあまり使うことのないソフトですがlinuxなら確実に使う機会のあるソフトです。
脆弱性が多くあるので外部とのやり取りはさせたくないですが、コマンドから容易に使えるためちょっとした画像処理ボットなんかに使いやすいです。
今日(2018/10/30)の14時に新しいクリエイター支援サービスが開始されました。
このサービスでは、仮想通貨EXCを使った投げ銭でクリエイターを応援することができます。色々機能があり追加もされるので興味のある人はここも見てみてください。
https://fantasfic.excaliburcoin.net/
画像を見て文字を入力するのが面倒だったので作りました。
方法1
「画像選択」ボタンを押してファイルを選択する
方法2
「DROP/PASTE HERE」にローカルファイルやWEB上の画像をドラックドロップする
方法3
「DROP/PASTE HERE」にCtrl+Vでクリップボードの画像をペーストする
※windows標準ソフトの「Snipping Tool」を使うと簡単に画面コピペができます
画像に文字以外が入っている場合に文字部分だけを切り抜きます。
下に表示される画像は左クリックしたままカーソルを動かすと部分選択できます。
切り抜きたい部分を囲ったら「トリミング」ボタンで切り抜けます。
「リセット」ボタンを押すとトリミング前に戻せます。
認識したい文字が「English」か「日本語」か選択して「OCR」ボタンを押します。
灰色背景部分に認識した文字が表示されます。
※日本語読み取り時は多少時間がかかるかもしれません
手書き風フォントは難しそうです。
日本語はだいぶ怪しい。
文字のサイズがもう少し大きいと格段に認識は良くなります。
文字認識部分はこのパッケージを使わせてもらいました。
数行追加するだけで使えるようになるのはすごくいい。
英語でないと少し認識ミスが目立ちますが調整すればもっと精度良くなるのかな。
うずらウォレットはツイッター連携で作れる仮想通貨のマルチウォレットです。
導入が簡単でリツイートなどで仮想通貨を貰える蛇口という機能が使えます。
最近WEB蛇口という機能が付いたため、使ってみることにしました。
ベターディスコードのおかげで快適にディスコードを使えています。
久々にディスコードの再起動したときにアップデート通知が出ました。
アップデートしないと使えないため、以下から新しいものをインストールする。
スクリプトの方はこのバージョン3で使い方が変わるというのを見かけたので作ってなかったが、アップデートされたのでちょっと作ってみたい。
久しぶりにディスコードBOTの作り方メモ。
導入までは以前書いた方法でいけるはずです。
仮想通貨のマイニングのうちPoW(Proof of Works)はPCへの負担が大きく、報酬もよく変わります。
難易度が低い時だけ掘りたかったので、Node.js で Child process を使って自動で切り替えるようにしました。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
/* 色付きログ */ function mylog(str,color='\u001b[32m'){ console.log(color+str+'\u001b[0m'); } /* TEST */ mylog("black", '\u001b[30m'); mylog("red", '\u001b[31m'); mylog("green", '\u001b[32m'); mylog("yelleo", '\u001b[33m'); mylog("blue", '\u001b[34m'); mylog("magenta",'\u001b[35m'); mylog("cyan", '\u001b[36m'); mylog("white", '\u001b[37m'); |
green, cyanあたりが見やすい。
APIなど(無ければWebページでもなんでも)でPoW難易度やハッシュレートを取ってきて、必要に応じて処理を追加します。以下はサンプル。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
function getDiff(){ https.get("https://xxxxx/api/getdifficulty", function(res) { mylog(new Date(),'\u001b[36m'); var x=""; res.setEncoding('utf8'); res.on("data", function(chunk) {x+=chunk;}).on("end",function(){ let o = parseFloat(JSON.parse(x)["proof-of-work"]); mylog(o,'\u001b[35m'); /* 条件に応じてバッチファイルを起動する */ }); }); } getDiff(); setInterval(function(){ getDiff(); }, 20*1000);//20秒ごとに取得 |
複数の難易度をみて判断するなら Promise.all を使えば楽です。
child processのkillなどが効かないのでそこはタスクキルを使います。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
function cmdRun(batname) { cp = child_process.spawn('cmd.exe', ['/c', batname]); //必要な出力をとってくる cp.stdin.on('data', (data) => { console.log(data.toString()); }); cp.stdout.on('data', (data) => { console.log(data.toString()); }); cp.stderr.on('data', (data) => { console.log(data.toString()); }); cp.on('close', (code) => { mylog(`child close : code ${code}`); }); } function cmdKill() { let kp = child_process.exec('taskkill /pid ' + cp.pid + ' /T /F'); kp.stdout.on('data', (data) => { console.log(data.toString()); }); kp.on('close', (code) => { console.log(`kill close : code ${code}`); }); } |
/T
は子プロセスを含めた終了、/F
は強制終了のオプションです。
普段使わないからやらなかったけど、単純なものならbatだけでかける気がする。
色々と処理や判定を付け足したりするときに慣れた node.js が使えるのは利点だけど、Windowsだと色々とドキュメント通りに動かないのがつらい。
仮想通貨の価値を複数取引所にわたって一覧表示する機能を作りました。
CoinExchange, Stocks.Exchange, CREX24の一覧に対応。
TOPBTC(vips), BITKOP(exc), Bitmart(che)も追加表示します。
これまで使ったことのある仮想通貨のAPIメモ。
主にドキュメントを見るとき用。
例:https://www.coinexchange.io/api/v1/getmarkets
v2が来そうで来ない。痒い所に手が届かず使いにくい。
例:https://app.stocks.exchange/api2/markets
簡単で使いやすい。
例:https://api.crex24.com/CryptoExchangeService/BotPublic/ReturnTicker
機能充実。
例:https://api.bitflyer.com/v1/ticker
取れるデータは少ないけど安定している。
例:https://api.kraken.com/0/public/Ticker?pair=XBTUSD
ドル建て、円建てで取れるのはいいけど円建てはスプレットが大きく安定しない。
例:http://topbtc.com/market/market.php
VIPS用。POSTで情報をとるのが少し使いにくい。
例:https://apiv2.bitkop.com/Market/ticker?symbol=eth_btc
EXC用。最近システムアップデートと同時にAPIもv2になった。
例:https://openapi.bitmart.com/v2/ticker?symbol=CHE_ETH
CHE用。珍しくWebSocketが用意されている。
https://ethgasstation.info/json/ethgasAPI.json
json形式で取得できる。CORSも気にしなくていいので便利。
前回の続きです。
基本的な作り方とサーバーを一覧で見やすくするテーマのメモです。
このようにサーバーを2列、3列表示させます。