疲れからか、不幸にも電信柱に追突してさせてしまったドアミラー君
ディーラーでカバー上下とレンズの割れてしまったランプを注文
お客様感謝デイが近かったのでお願いして10%引きに
自分で交換すると言ったので技術料は無し
つらい
疲れからか、不幸にも電信柱に追突してさせてしまったドアミラー君
ディーラーでカバー上下とレンズの割れてしまったランプを注文
お客様感謝デイが近かったのでお願いして10%引きに
自分で交換すると言ったので技術料は無し
つらい
使ってる無線LANルータ(WN-AC1167DGR)が,定期的に再起動しないとスループットがどんどん落ちる(200Mbps→20Mbpsみたいな感じ)ので外から再起動させられるように書いた.
無線LANルータ(WN-AC1167DGR)を再起動させるやつ
Html Agility Packと,管理ページにログインするためのIDとPassを設定に追加する必要あり.
あとurlのホストを各自の管理ページに向ける.
最初だけ手動で起動してIDとPassを入力すれば,あとはタスクスケジューラとかに登録して好きな間隔で呼べばおk.
関係ないけどHtml Agility Pack,なんでデフォルトだとformがエレメントになるんだろう.
Smali基本语法 - lee0oo0 - 博客园
が分かりやすかったのでそのまま訳しただけ
.field private isFlag:z 変数定義
.method メソッド
.parameter メソッドパラメータ
.prologue メソッドの始まり
.line 12 ソースコードだと12行目
invoke-super 親クラスのメソッド呼び出し
const/high16 v0, 0x7fo3 v0に0x7fo3を割り当て
invoke-direct メソッド呼び出し
return-void voidを返す
.end method メソッドの終わり
new-instance インスタンスの生成
iput-object オブジェクトの割り当て
iget-object オブジェクトの取得
invoke-static スタティックメソッドの呼び出し
条件分岐命令:
"if-eq vA, vB, :cond_**" vAがvBと等しければ:cond_**に飛ぶ "if-ne vA, vB, :cond_**" vAがvBと等しくなければ:cond_**に飛ぶ "if-lt vA, vB, :cond_**" vAがvBより小さければ:cond_**に飛ぶ "if-ge vA, vB, :cond_**" vAがvB以上ならば:cond_**に飛ぶ "if-gt vA, vB, :cond_**" vAがvBより大きければ:cond_**に飛ぶ "if-le vA, vB, :cond_**" vAがvB以下ならば:cond_**に飛ぶ "if-eqz vA, :cond_**" vAが0ならば:cond_**に飛ぶ "if-nez vA, :cond_**" vAが0でないならば:cond_**に飛ぶ "if-ltz vA, :cond_**" vAが0より小さければ:cond_**に飛ぶ "if-gez vA, :cond_**" vAが0以上ならば:cond_**に飛ぶ "if-gtz vA, :cond_**" vAが0より大きければ:cond_**に飛ぶ "if-lez vA, :cond_**" vAが0以下ならば:cond_**に飛ぶ
========================================
javaでのif文:
private boolean ifSense(){ boolean tempFlag = ((3-2)==1)? true : false; if (tempFlag) { return true; }else{ return false; } }
Smaliでのif文:
.method private ifSense()Z .locals 2 .prologue .line 22 const/4 v0, 0x1 //v0に1を入れる .line 24 .local v0, tempFlag:Z if-eqz v0, :cond_0 //v0が0に等しいか判断する,等しければcond_0に飛ぶ .line 25 const/4 v1, 0x1 //v0が0と等しくない場合 .line 27 :goto_0 return v1 :cond_0 const/4 v1, 0x0 //v0が0と等しい場合 goto :goto_0 .end method ###メモ:if文の条件を満たす場合は,そのまま下に行きreturnされる.満たさない場合は:cond_0に飛んだ後に,goto命令でgoto_0に飛び,returnされる.
========================================
javaでのfor文:
private void forSense(){ listStr = new ArrayList<String>(COUNT); for (int i = 0; i < COUNT; i++) { listStr.add("现在轮到我上场乐"); } }
Smaliでのfor文:
.line 40 const/4 v0, 0x0 .local v0, i:I :goto_0 if-lt v0, v3, :cond_0 //if-ltでv0とv3を比較,v0<v3ならcond_0に飛ぶ .line 43 return-void .line 41 :cond_0 //ラベル iget-object v1, p0, Lcom/example/smalidemo/MainActivity;->listStr:Ljava/util/List; //オブジェクトの取得 const-string v2, "\u73b0\u5728\u8f6e\u5230\u6211\u4e0a\u573a\u4e50" invoke-interface {v1, v2}, Ljava/util/List;->add(Ljava/lang/Object;)Z //Listはインターフェースなので,インターフェースメソッドaddを実行する .line 40 add-int/lit8 v0, v0, 0x1 //第二オペランドのv0レジスタに0x1を加え,第一オペランドのv0レジスタに代入する goto :goto_0 //goto_0に飛ぶ ###メモ:v0<v3を判断する部分に,ラベルgoto_0をセットする.条件を満たせばcond_0に飛び,その後またgoto_0に戻り条件を判断する.
Divisionのオープンベータとか遊んでると,さすがに今まで使ってたGTX580では厳しそうな感じがしたので,思い切ってグラボを新調しました.
購入したのはGTX970のこちら.
どうもこのグラボ,三連ファンのおかげかとても長いことで有名らしく,ミドルタワーケースだと入ったり入らなかったりするみたいです.
今使ってるケースはCM 690 II Plus rev2というミドルタワーケースで,グラボ取り付けスペースは304mm.
それに対してGV-N970WF3OC-4GDの長さは…
とサイトによって微妙に違う.普通なら公式サイトのスペック表記を信じるべきですが,ネット上の書き込みを調べたところ「入る」という書き込みもあれば「無理」という書き込みも…
まぁ,入らなかったらその時はその時だ,と考えつつポチる.
結果はタイトルの通りでちゃんと入りました.
こんな感じでちょうどピッタリサイズ
やはり公式サイトの297mmが正解のようです.
さて,せっかくの新しいグラボなのでとりあえずベンチを取りますよね.
結果はこんな感じで,GTX580と比べて2倍以上スコアが伸びています!
これで最新のゲームでもそこそこの設定なら快適に遊べそうです.
また,現在GTX9xxシリーズを購入するとDivisionが無料で付いてくるキャンペーンをNDIVIAがやってるのでDivisionも入手出来てちょうど良かったです. www.nvidia.co.jp
先日,Amazonがプライム会員を対象に写真データを無制限に保存できるサービスを始めましたね.
なんでもRAWなども含めて再圧縮なしでいくらでも保存できるとのこと.
とするとJPEGなんかにファイルを埋め込めば好きなデータを保存できるのでは…という気がしてきます.
そんなことを思いつつ対応ファイル形式を眺めていたら…
なんとBMPに対応しているではありませんか!
確かBMPはファイル構造が単純だった気がするので,任意のデータをBMPに変換することができればAmazonプライムフォトを容量無制限のクラウドストレージとして使えるような気がします.
というわけで早速試してみましょう.
WikipediaでBMPのファイル構造を調べて…
それをもとに適当にファイルをBMPに変換するコードを書いて,適当なファイルを放り投げてみると…
出来ました!
19676×19675ピクセルで1.44GBという狂気のBMPファイルです.
ちゃんとWin10の標準ビューアで開けます.
あとはアップロードするだけですが,ここで自分がAmazonプライム会員じゃないことに気が付きました.まぁ,せっかくなのでこれをいい機会にとAmazon Studentに登録.
さて,いざアップロード...
Amazon強い
やりました!ちゃんと画像として認識されています.その後試しに10GBぐらいのBMPもアップロードしてみましたが,同様に画像として認識されてます.どうやら画像として認識されるファイルサイズに上限はないみたいです.
あとはこの一連のBMP化→アップロード,ダウンロード→元ファイルに復元する処理を裏でやってくれるようなファイルシステムをDokanあたりで作ればかなり面白そうな気がしたのですが,残念ながら日本のAmazon Cloud DriveのAPIはまだ提供されてないそうです.
@YDKKK API自体は.comと同じのがあるんだけど、キーを提供してくれないので使えない。
— れい(太陽系外) (@rei_software) 2016年1月23日
というわけで,とりあえず今回はここまで.
追記:
と言われたので一部表現を変更しました.内容はほぼ変わりません.誤った使い方でドヤ顔してる。AmazonもMicrosoftも悲しいでしょ。ブログ、表現の仕方次第でこんなにも印象が変わるっていう例。 https://t.co/2aFnuFSdT6
— シンジ☁Shinji (@sudachikawaii) 2016年1月29日
こんなのを見かけたのでC#で書いてみました。
なるべく短く書こうとしたけど2回Parseしたりしてて無駄があるなーと。
どうにかなりませんかね。
using System; using System.Linq; static bool ValidateMyNumber(string input) { //入力チェック if (input.Length != 12) return false; var checkDigit = 0; if (input.Any(n => !int.TryParse($"{n}", out checkDigit))) return false; var remainder = input.Take(11).Reverse().Select((v, i) => new { v, i }).Sum(n => (n.v-'0') * (n.i <= 5 ? n.i + 2 : n.i - 4)) % 11; return checkDigit == (remainder <= 1 ? 0 : 11 - remainder); }
追記 Parseやめたらちょっとだけ短くなった