XFが遅すぎる(その後)

実機があるのでエミュレータは放置していたのですが、真面目にエミュレータ作ることにしました。ネットで調べてゴニョゴニョすること小一時間、なんとかエミュレータが出来ましたよ。

 

結論:エミュレータのほうが、めっちゃ速いwww

 

単純に実機の処理性能が低いようです。そんなに遅いのかな・・・。もう3年ぐらい前に買ったヤツなんで、古くてダメですかね? 新しいの買えと? (泣ける)

エクスプローラーでドライブを右クリックすると応答なしになる

うちの環境では、Spybot のインストール版が悪さしている。

アンインストールすると直ることを確認。

 

同じような現象が出る人は、インストールすると右クリックメニューをいじるソフトを疑ってみて。右クリックメニューがなにかの原因で壊れると、エクスプローラーが落ちるようになる。

 

あやしいソフトの当たりをつけるには、[プログラムと機能]でインストール日でソート表示すると、最近インストールしたソフトが簡単にわかるので、1つずつアンインストールしたりして調査に活用すると良いよ。

 

Spybot は、Portable 版を使えば問題なし。

ただし、アップデートするとインストール版を入れるので注意。

以前もこの現象になった事があったのを運良く思い出したのですぐ解決した。

 

XFが遅すぎる

普通に実行して 30~40 ms で終わる処理が XF だと何分かかるの!ってぐらい遅い。

手持ちの Android 実機にデプロイしているのでエミュレータは関係ないはず。

というかエミュレータが遅いとか以前に処理が半端なく遅い。

Android 実機が遅いのか? XF がダメすぎるのか?

チケットナンバー問題の回答の最適化 バグ修正のバグ修正

2018.6.7 掲載分のプログラムがバグってました。C# に移植していて気が付いた。
除算のときの divisor の値はカッコ付き式(リスト)の場合もあるので、ゼロチェックの前に数値チェックが要ります。
バグっていた analyze-rpn のみ再掲載します。

(define (analyze-rpn rpn)
  (define (iter r)
    (if (null? r)
        (pop)
        (let ((e (car r)))
          (cond ((eq? e '+) (let ((addend (pop)))
                              (push (sort-rpn (pop) e addend))))
                ((eq? e '-) (let ((subtrahend (pop)))
                              (push (list (pop) e subtrahend))))
                ((eq? e '*) (let ((multiplier (pop)))
                              (push (sort-rpn (pop) e multiplier))))
                ((eq? e '/) (let ((divisor (pop)))
                              (if (and (number? divisor) (= divisor 0))
                                  (error "attempt to calculate a division by zero")
                                  (push (list (pop) e divisor)))))
                (else (push e)))
          (iter (cdr r)))))
  (init-stack)
  (guard (e ((<error> e) nil))
         (iter rpn)))

windows update が壊れてた件

お盆休みで暇なので、「Xamarin.Forms でアンドロイドアプリでも作ってみっか!」と思って、いろいろいじくっていたところ、.NET Framework のパッチがあったら当てとくかなと思い、久々に Windows Update を開いたら、なんかバグって止まってました。そういや最近、しばらく Windows Update 当たってないような気がしてたんだよね。

 

(null)のソフトウェアについての詳細を確認します。

 

なんて出てるし、[更新プログラムの確認]ボタンを押しても、サービスが起動してないから出来ない、とか言ってくる。「(null)」とか出てる時点で明らかに変!

 

でもググったら解決方法がすぐ見つかって直りました。

Windows Update は、うちだけじゃなくて、あっちこっちでもバグってるらしい。

 

 

.NET Framework を最新にしたら、Xamarin.Forms プロジェクトでビルドエラーが出なくなった。気になってた問題が解決して良かった。しかし、今は Visual Studio を使って C# だけで iPhoneAndroid 両方アプリ作れてしまうとは、便利な時代になりましたなー。

VS2017 ユニットテストがうんともすんとも動かない時の対処法

メニューから

[テスト]→[テスト設定]→[既定のプロセッサ アーキテクチャ]

と選ぶ。

 

これがテストするプロジェクトの「プラット フォームターゲット」

と合ってないせい。これを合わせればテストが動く。

 

VS2017 はテストが実行出来てないのにメッセージを何も出さず、

しれっとテストの実行を諦めるので、原因特定が難しいというワケ。

 

どうしてテストが実行できなかったのかメッセージぐらい出しなさい。

 

まったくタチが悪い。