為替レートを定期的に読み上げるサービスが欲しいんだけど見つからなかった。ないものはしかたがないので自作してみる。
node.jsで作るのが個人的に一番楽だろうけど、今後のWEBサービスにつながるかもしれないからHTMLベースで作ってみる。
為替レートを定期的に読み上げるサービスが欲しいんだけど見つからなかった。ないものはしかたがないので自作してみる。
node.jsで作るのが個人的に一番楽だろうけど、今後のWEBサービスにつながるかもしれないからHTMLベースで作ってみる。
2016年7月1日が最終出社日だったので今日はニート3ヶ月記念日です。
サラリーマンだったときも1ヶ月は早いなぁとか言ってたけどニートになっても体感速度はほとんど変わらない。もう3ヶ月かー。
今年中は特に何も考えず過ごそうと思っていたけど、謎の焦燥感がでてきた。
マイルーレットが短期間で5000ダウンロード超えたのがびびったけど基本的には鳴かず飛ばず。
この辺の趣味で作ってるもので生活できればなーと思う。
9月に入ってからはFXに集中しすぎであんまり創作してないのでスキルダウンしないためになんか作っていきたい。
1年間の生活費+税金とかを抜いてギャンブルしてる。
小額なのでリスクはできるだけ小さくしてるつもり。
会社辞めてから安定して勝ててるのは社会復帰を妨害するための罠かなんかだと思う。
せっかく作った損益可視化があるのでこれを使って見てみる。
すごい安定感。
為替を7年やってきてこんなに安定してたことはなかったと思う。
Brexitとかトルコクーデターとかドイツ銀行とか結構イベントあったのに大きくへこまなかったのは運としか言いようがない。
基本的にはドル円は100円近くで買い、ポンドルはBrexit以降はレンジという前提でドル円・ポン円のエントリーしてる感じ。
今後も同じ見方だけどABCDショックとかで明確に割り込んだら仕切りなおしかなー。
学生だった頃からFX(外国為替証拠金取引)をずっとやってます。
現在はメイン口座としてヒロセ通商のLION FXを使っています。
毎月、取引量にあわせて食料を送ってくれる変な会社です。
損益の可視化をしたいけど、現状サービスがないので作ってみました。
現在表示できるのは以下です。
最初は履歴検索からダウンロードできるCSVファイルを入力にするつもりだったけど、100件ごとしかダウンロードできないのに気づいてPDF入力に方向転換。
どうすればいいか困ったけど pdf.js というライブラリのおかげで簡単に実装できた。
本当にJS界隈はなんでもあるな。
気が向いたら複数PDFをまとめてドロップして表示できるようにしたい。
あと可視化する情報を増やしたい。
日本では販売許可がない薬品・サプリでも一定数量以内を自分で使用する場合には個人輸入が可能です。
メラトニンとかは個人的にその辺の睡眠薬よりも安全だと思いますが、日本国内での販売は許可されていないため個人輸入する必要があります。
個人輸入は外国語のやり取りが必須ですし、詐欺や偽者を買ってしまうリスクもあるため個人輸入代行を利用するのが安全。
今回はオオサカ堂で購入しました。
URLがなんとなく怪しい以外に欠点のない良い店でした。
買ったものに関して簡単に紹介。
定期的に更新される情報。
数字だけで小難しかったり、単体で見てもわかりにくかったり。
そういうのをDBにスタックしてわかりやすく表示する機能を作ってみたい。
次の要素があると作りやすい。
今回は練習作としてFXのスワップ金利を対象に作ってみた。
※スワップ金利とは2国間の金利差を日割りにして付与するものです。
基本的にAWSで収まる設計にする。
概要 : CloudWatch -> Lambda -> DynamoDB <- Lambda <- API <- S3
次に持ってきたJSONをグラフ化する。
グラフ作成系のJavascriptは結構あるけど、どれも面倒な感じ。
今回は比較的簡単そうでデザインと名前が好みのChart.jsを使ってみる。
これは基本機能は簡単ではあったけど、ちょっと変えようとすると難しい。
頻繁に仕様が変わっているのか、ブログや紹介記事なんかはまったく当てにならなかったので公式ドキュメント以外は信用しない方がいい(Update関連は公式通りではうまくいかなかったけど)。
出来上がったチャートはこんな感じ。アニメーションが心地良い。
さて何をつくろうかな。
htmlで通信なしにGIFアニメを作成したい。
そこで jsgif というライブラリがあったので使ってみた。
ダウンロード&解凍したらhtmlにリンクを追加。
1 2 3 4 |
<script src="js/b64.js"></script> <script src="js/LZWEncoder.js"></script> <script src="js/NeuQuant.js"></script> <script src="js/GIFEncoder.js"></script> |
読み込み終わったら次のようなスクリプト記述でGIFアニメが作れる。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
var cvs = document.getElementById('canvas'); var ctx = cvs.getContext("2d"); var encoder = new GIFEncoder(); encoder.setRepeat(0); //auto-loop encoder.setDelay(800);//interval(ms) encoder.start(); //doSomething encoder.addFrame(ctx); //doSomething encoder.addFrame(ctx); //doSomething encoder.addFrame(ctx); encoder.finish(); document.getElementById('outImg').src = 'data:image/gif;base64,'+encode64(encoder.stream().getData()); |
addFrameでcontext要素を変えながら追加していくとGIFアニメになる。
オプションの1つで指定した色を透明として扱うこともできる。
encoder.setTransparent(0x0000FF);
しかしコレはそのままでは使えなかった。
GIFEncoder.js の以下部分を変更。
1 2 3 4 5 |
//Before var index = i / 3; //After var index = Math.floor(i / 3) ; |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
//Before if (transparent !== null) { transIndex = findClosest(transparent); } //After if (transparent !== null) { transIndex = findClosest(transparent); var r = colorTab[transIndex*3]; var g = colorTab[transIndex*3+1]; var b = colorTab[transIndex*3+2]; var trans_indices = []; for (var i=0; i<colorTab.length; i+=3) { var index = i / 3; if (!usedEntry[index]) continue; if (colorTab[i] == r && colorTab[i+1] == g && colorTab[i+2] == b) trans_indices.push(index); } for (var i=0; i<indexedPixels.length; i++) if (trans_indices.indexOf(indexedPixels[i]) >= 0) indexedPixels[i] = transIndex; } |
これで指定した色が透明になる。
位置を変えながらfillTextすると次のようなGIFアニメが作れた。
これを使ってまたなんか作ってみよう。
激辛グルメ祭り2016は3ラウンドに分かれます。
今日は9/2-9/11の2nd ROUNDになります。
新宿を東口で降りて、線路沿いを北上しながら歌舞伎町一番街を抜けると大久保公園の入り口があります。
平日の14時にもかかわらず結構人が多かったです。
店には並んでないけど、中央テーブルの7割ぐらい埋まってました。
あと大体グループでした。1人で来てる人少ない。。
立ち食い席は誰も居ません。
飲み物は持ち込み禁止なので、ここの自販機か奥のドリンク販売で買う必要がある。
最初は餃子にしました。
平日18時まではアルコールが半額なのでビール300円でした。
激辛&超辛餃子はピリ辛の餃子で美味しかったです。
手羽餃子は手羽先の中に餃子の餡が詰まっていて、コレだけ追加で欲しいくらい美味しかったのですが単品では売ってなかったので諦めました。
味が濃くてビールによく合うので最高です。
辛さは0、3、20、70倍から選べました。
もちろん70倍にしたけどあんまり辛くはなかったです。
フルーティで餃子と同じくらいのの辛さ。付属のチキンはただの美味しいチキン。
けど食べてると滝のように汗が出てくる不思議なカレーでした。
今回のラウンドで一番ヤバイと噂の麻婆豆腐。
中辛、激辛、地獄辛から選べます。
恐る恐る地獄辛を選択。
味のほうは正直よくわかんなかったです。
とにかく痛い。
旨みのようなものを感じることもあったけど、口の中がハッカでも飲んだかのようにスースーするし噛むたびに何か痛い。
途中でヨーグリーナの力も借りつつ完食したけど、食べ終わるころには体調が悪かった。
あかんやつやこれ。
ひたすら辛いものしかないのかと思いきや、そんなに辛くなくて美味しいものも食べれて良かった。特に餃子は感動した。
1品1品が量多めで1回で試せる店が少ないので、HPで予習してから行くことをオススメします。新宿はちょっと遠いので値段と量を減らして欲しいなー。
3rd ROUNDはいけたら行く。
ドクロうどん食べたい。
先月からニートをしてますが、今月はまるまる働いていません。
趣味のアプリとか作って公開するくらいの生産性です。
ある程度貯金があるとはいえ、お金の問題は現在唯一の問題です。
そこで今月の収支を見てみたいと思います。
家賃 | -70,000 |
健康保険 | -27,000 |
国民年金 | -16,000 |
食費 | -30,000 |
電気ガス水道 | -8,000 |
ネット(固定+モバイル) | -6,000 |
衝動買いとか交遊費 | -60,000 |
支出計 | -217,000 |
為替 | +265,000 |
その他 | +5,000 |
収入計 | +270,000 |
収支 | +53,000 |
まさかの収支プラス。
ギャンブルで勝っただけみたいな感じですが。
食費は米がタダ+ほとんど自炊+為替業者が大量にインスタントを送ってくるのでまぁまぁ安く済む。
支出は固定で15万も飛んでいくので、変動費はなるべく抑える必要がある。
それなのに6万円はちょっと使いすぎ。
贅沢は収入が安定してから…。
2年ほど使ったNexus 7 (2013)が文鎮化したので新しいタブレット購入しました。
Nexus7はSDカードが使えないのを除けば最高のタブレットだったので残念です。
用途はKindle、為替、Twitterくらいでスペックはそこまでいらないので、コスパ高そうなのを探すとコレに行き着きました。
25000円という低価格でスペックもほどほど、特にベゼルの細さがすごい。
インチ数は同じでも本体のサイズが結構違います。
以前にHuawei P9 liteを買いましたが、それがそのまま大きくなったような感じです。
並べると親子みたい。
テキストを投げるとWAVが帰ってくるAPIを作りたい。
サービスとしてはいくつかあってDocomoは使いやすかった。
こういうのは制限もあるので自分で作ってみたい。
慣れてるし、他にいいのも思いつかないのでAWSを使う。
LambdaでテキストからWAVを作る処理を書いてトリガーでAPIを指定する。
Lambdaで実行ファイルを起動したいときは次みたいな処理をはさむ。
1 |
cp -r /var/task/aquestalkpi /tmp/; chmod -R 755 /tmp/aquestalkpi/AquesTalkPi; |
ためしにAquesTalkPiがLambdaで動かないかなと思ったけど無理だった。
1 |
sh: /tmp/aquestalkpi/AquesTalkPi: cannot execute binary file |
次に音声合成ソフトを色々調べてみた。
実行ファイルは基本Winbdows向けだし、いろいろ自由に使うためにOpenJTalk使って自分で実行ファイル作ることにする。
他にもnodejsのモジュールが2つ見つかったけど、やりたいことと微妙に違ったのとEC2でインストールできなかったのでこれらはいったん保留。
とりあえずWindowsにインストールしてみる。
ここを参考にした。
Visual Studio 2015にVcvarsall.batがなかったので2013を追加インストール。
2015のときも思ったけど西暦よりバージョンが1少ないのは紛らわしい。
(今回はMicrosoft Visual Studio 12.0に配置された。)
これでWindows上で動作するようになりました。
今日はとりあえずここまで。
ここから先が果てしなく長そう…。