2015/09/10 本日のビットコイン クラウドマイニング採掘記録
今のところ1日40円ちょっとですね。
といってもBitcoinの換金レートによっては下がるかも。。。
ちなみに初期投資費用は、九千円ぐらい。
今のレートのままならば、1年後にはROI達成ですね。
Hashflare.io(100GH) | Mining Sweden(10GH) | Scryptsy(200GH) | |
---|---|---|---|
2015/09/10 | 0.00829946btc | 0.00181475btc | 0.01232955btc |
総合計 | 前日比収益 | 日本円換算 | 前日比収益 |
---|---|---|---|
0.02244376btc | 0.00153649btc | ¥646.65 | ¥44.27 |
2015/09/09 本日のビットコイン クラウドマイニング採掘記録
さて先ほどの記事に書いたとおり、本日からBitcoinの採掘記録を当ブログにて報告し続けようと思います。
スタートは9/8の記録からです。
Hashflare.io(100GH) | Mining Sweden(10GH) | Scryptsy(200GH) | |
---|---|---|---|
2015/09/08 | 0.00725642btc | 0.00159375btc | 0.01056367btc |
2015/09/09 | 0.00776491btc | 0.00169575btc | 0.01144661btc |
総合計 | 前日比収益 | 日本円換算 | 前日比収益 |
---|---|---|---|
0.01941384btc | ¥570.10 | ||
0.02090727btc | 0.00149343btc | ¥613.95 | ¥43.86 |
Bitcoin採掘始めました
お久しぶりです、zuzuです。
最近、仕事がドタバタする中でなんとなく思い立ってBitcoinの採掘を始めました。
自身のパソコンで採掘するのではなく、代理業者にお願いする方法「クラウドマイニング」で行っています。
どれだけ収益が出るのか実験みたいなものですね。
これから毎日、採掘の記録を当ブログにて報告しようと思います。
なおクラウドマイニングに関しては下記サイトを参考にして頂ければと思います。inheritthestars.hateblo.jp
cryptoinvest.hatenablog.com
adb pullでもMAX_PATH問題で処理が止まる。
adb pullを利用してスマホの内蔵ストレージをバックアップしていた時の話。
adb pull /storage/sdcard0 ./sdcard_20150820bk
といったコマンドを利用してバックアップを行っていたのだが、何回やっても中途半端にエラーが起きて止まる。
「cannot create」といったエラーがなので、ファイルかディレクトリが作れないエラーであるとはすぐ分かった。
どうやら「adb pull」コマンドでもWindowsのMAX_PATH問題は起きるようで、260文字を超えるファイルパスのファイルを作ろうとしていたのが原因だった。
問題の箇所は「Pocket」だった。こいつのオフラインキャッシュのファイル名がハッシュ文字列であり長すぎたのが問題だった。
アプリの設定でオフラインキャッシュを作らないように設定することで、無事内蔵ストレージを全てバックアップすることの成功しました。
このWindowsのMAX_PATH問題どうにかならないですかねorz
Wijmo5のFlexgridで選択範囲を変える方法
前々回に引き続きWijmo5のモジュールのお話。
Wijmo5における高機能な表を表示するためのモジュールであるFlexgridにおいて、選択範囲を変える方法が分かったのでメモしておきます。
// 選択範囲を解除 grid.selection = new wijmo.grid.CellRange(-1,-1,-1,-1) // 選択範囲を設定 grid.selection = new wijmo.grid.CellRange(0,0,0,0)
このようにFlexgirdのオブジェクトが持つselectionオブジェクトに新しい選択範囲を導入すればよい。
選択を解除したければ四隅に-1を設定することで実現が出来る。
実装コードはjsfiddleに上げました。
以下、参考ページ
http://wijmo.c1.grapecity.com/5/docs/topic/wijmo.grid.CellRange.Class.html
サーブレット・フィルタは上から順に適用されるという話
フィルタは上から順に適用されるという話。
ちゃんとサーブレットを学んだ方々にとっては当然の話だと思います。
ちなみにJava1.7+Spring MVCでの開発を前提とした話です。
社内で開発中のWebアプリにおいて、ファイルアップロード時に文字化けが発生するというトラブルが起きた。
どうやらFormタグのenctype属性を「multipart/form-data」にした際にサーブレットが勘違いをして文字コードをISO-8859-1と思ってしまうのが、
問題のようだった。
このトラブルが起きたのは数か月前、その際は場当たり的に、
new String(formData.getComment().getBytes("iso-8859-1"), "utf-8")
という風に1フィールドずつUTF-8に戻していた。
つい最近、個人的な開発でこのトラブルに遭遇した際に調べなおしたら、web.xmlに「characterEncodingFilter」フィルタを追加すると解決するという記述*1があったため、試してみたら文字化けは解決しなかった。
最初、私はネットに書いてあった記述をそのままweb.xmlの下部に追記する形で利用していた。
ふと思い立ってフィルタの中でもっとも最上部に移動させてみたら、あら不思議文字化けは解消したという話。
サーブレット・フィルタの仕組みを考えれば至極当然のことだった。
ファイルアップロードを担うMultipartFilterの下でcharacterEncodingFilterを記述していても、
MultipartFilterを通って文字化けしたコードに対いて文字コード変換が行われるだけで、
まったくもって意味がなかったのだった。
こういうのは根っこの技術を学んでおらず、業務の一環で技術を学ぶSE・プログラマーが遭遇するトラブルかなと思います。
特にSpringフレームワークのような色々な部分が外部ファイルで設定できるものでは、
設定の記述順序が重要になるというのは考えれば当然ですが、遭遇してみないと気づきませんでした。
SpreadJSにおけるデータバインド機能備忘録
現在、今年5月に発売されたばかりの次世代JavascriptコンポーネントWijmo5とSpreadJSを活用したWebアプリケーションを作成している。 最新のJavascriptを触れるのは刺激的であるが、中々に大変だ。
さて、その開発中にWijmoやSpreadJSが持つオブジェクトとのデータバインド機能を利用した際に配列をうまくセルごとにバインドさせる方法が見つからなかったので、ここに備忘録として記述していく。 今後、備忘録その2が出るかもしれない。
SpreadJS.Sheet setBindingPathで配列にアクセスする方法
function setBindingPath( row : number, col : number, path : string ) : any;
setBindingPathは行列と対象のオブジェクトを指定することで、その行列とオブジェクトを紐づけることが出来る。
ただし厄介なのは、setBindingPathの第3引数では、DataSourceに指定されたオブジェクトが持つフィールド名を指定する仕様となっている。
以下が例文となる。
var person = {name: "Wang feng", age: 25, address: {postcode: "710075"}}; var source = new $.wijmo.wijspread.CellBindingSource(person); activeSheet.setBindingPath(0, 0, "name"); activeSheet.setBindingPath(1, 1, "age"); activeSheet.setBindingPath(3, 3, "address.postcode"); activeSheet.setDataSource(source);
では、DataSourceが連想配列ではなく配列だった場合はどうするのか?
以下が例となる。
var persons = [ {name: "Wang feng", age: 25, address: {postcode: "710075"}}. {name: "August dog", age: 20, address: {postcode: "610075"}} ]; var source = new $.wijmo.wijspread.CellBindingSource(person); activeSheet.setBindingPath(0, 0, "0.name"); activeSheet.setBindingPath(1, 1, "0.age"); activeSheet.setBindingPath(3, 3, "0.address.postcode"); activeSheet.setBindingPath(0, 1, "1.name"); activeSheet.setBindingPath(1, 2, "1.age"); activeSheet.setBindingPath(3, 4, "1.address.postcode"); activeSheet.setDataSource(source);
このように要素番号をまるでフィールドのように記述することでアクセスが可能となる。
これは下記に示す、BindingPathによるプロパティへのアクセス処理の実装を見れば納得できるだろう。
BindingPathをドットで区切り、区切ったものを対象のオブジェクトの要素名としてアクセスしているのだ。
※obj = 対象のオブジェクト。 p = ドットで区切ったアクセサ。
_BindingHelper.getValueByPath = function(obj, path) { if (!obj || !path) { return keyword_null } var subpaths = path.split("."), subpathCount = subpaths.length; var i = 0; do { var p = subpaths[i]; if (typeof(obj[p]) === 'function') { obj = obj[p]() } else { obj = obj[p] } if (obj === keyword_null || typeof(obj) === const_undefined) { return keyword_null } } while (++i < subpathCount); return obj }; return _BindingHelper