satymale’s diary

日々の忘備録

SeleniumでFirefoxのテストができない時

Selenium.WebDriver(v3.0.0)でテストを行っていると、いつの段階か以下のエラーがでてテストが出来なくなりました。

型 'OpenQA.Selenium.DriverServiceNotFoundException' の例外が WebDriver.dll で発生しましたが、ユーザー コード内ではハンドルされませんでした

追加情報:The geckodriver.exe file does not exist in the current directory or in a directory on the PATH environment variable. The driver can be downloaded at https://github.com/mozilla/geckodriver/releases.

エラーの解消

エラーメッセージに従って、「https://github.com/mozilla/geckodriver/releases」からgeckodriverをダウンロードします。私の環境はWindows 64bitなので、 geckodriver-v0.11.1-win64.zipをダウンロードしました。

zipを解凍すると、geckodriver.exeが出てきます。
geckodriver.exeを任意のフォルダに配置し、環境変数のPATHに配置したフォルダのパスを追加します。

環境変数にパスを追加後、Visual Studioを再度立ち上げ直してテストを実行すると問題なくFirefoxを使ったテストが行えるようになります。

IIJMioに乗り換えました。

10年近くdocomoを利用していましたが、最近の格安SIMの環境が充実してきた事と、2年の契約更新月になったこと、大手キャリアの不親切な月々のプランに嫌気が指して、初めてIIJMioに乗り換えました。

まずは月に3GB(900円)と、通話(700円)の1600円で様子見です。

MNP転出すると、すぐに通信ができなくなると思っていたので、新しいSIMが来るまでスマホが使えないのを覚悟していたのですが、MNP転入した時に使えなくなるのを初めて知りました。
あと身分証明で運転免許証の写真をアップロードする必要があったのですが、表面だけしかアップロードしてなくて再アップロードが必要になったので、裏面も忘れずに。

次はSIMフリースマホEXPANSYSで買ってみたいなと思います。

Install the correct version of SQL Server Compact. Refer to KB article 974247 for more details.

AzureでSQLServerCEを使おうとしたら、サーバーエラーで動かなかったので忘備録がてらメモ。

プロジェクトの構成

プロジェクトの構成は以下の通り。

Mainプロジェクト(ControllerやViewが含まれている)
    ↓参照
Domainプロジェクト(RepositoryやEntity、SQLServerCEのパッケージが含まれている)

エラーの調査

f:id:satymale:20160709224157p:plain

デバッガーのアタッチで、Azureにデプロイしたアプリケーションをデバッグ

以下のようなエラーメッセージが出ていた。

Unable to load the native components of SQL Server Compact corresponding to the ADO.NET provider of version 8876. 
Install the correct version of SQL Server Compact. Refer to KB article 974247 for more details.

NativeBinariesが読み込めていない

packagesのMicrosoft.SqlServer.Compact内にあるNativeBinariesのx86フォルダ内にあるdllが、デプロイに含まれていないと、上記のエラーが出る。
NativeBinariesのx86フォルダをAzureに発行すると、上記のエラーは出なくなり問題なく実行できる。

Multi Selectsの初期選択

FormのMulti Selectsの初期選択は以下の記載を元にselectedにて指定していたのですが、初期選択表示されませんでした。

$('#enum').w2field('enum', { 
    items: people,
    openOnFocus: true,
    selected: [{ id: 0, text: 'John Adams' }, { id: 0, text: 'Thomas Jefferson' }]
});

ソースを読んでみると、recordの値でselectedが上書きされていました。
なので次のように設定するとデフォルト値として表示されます。

 $('#form').w2form({ 
    name     : 'form',
    url      : 'server/post',
    header   : 'Field Types',
    formURL  : 'data/form.html', 
    fields: [
        { field: 'field_enum', type: 'enum', openOnFocus: true, options: { items: [{ id: 0, text: 'Adams' }, { id: 1, text: 'Johnson' }] } },
    ],
    record : {
        field_enum : [{ id: 0, text: 'Adams' }]
    }
});

Gridの編集制御

例えば、権限を持っていないユーザには行の編集をさせたくないという事がある。
そういう場合は、onEditFieldを使う。

$('#grid').w2grid({
    name : 'grid',
    columns: [                
        { field: 'recid', caption: 'ID', size: '50px' },
        { field: 'lname', caption: 'Last Name', size: '30%' },
        { field: 'fname', caption: 'First Name', size: '30%' }
    ],
    onEditField: function (event) {
        if (権限がない場合) {
            // 編集イベントをキャンセル
            event.preventDefault();
        }
    }
});

生活不活発病のセミナーに行ってきた

妻の付き添いで大川弥生Drの生活不活発病のセミナーに行ってきました。

妻は先生の書籍を読んでいたそうですが私は完全に興味がなく、付き添いで参加するだけの予定で、事前の予習もせずノートも持って行きませんでした。 セミナーを聞いている中でノートを持って来なかった事を後悔しましたが、そういう素人に向けてのセミナーという事で生活不活発病とはどういうものなのかという事を知識として知っておくだけでも、このセミナーに来て頂いた意味があるとのことで、忘れないうちにメモを残そうと思います。

将来、両親の介護など考える必要があるので、知っておいて損はない知識だと思います。

生活不活発病とは

様々な要因によって、社会参加が疎遠になり、それによって日常的な活動が減り、その結果身体的な機能に支障をきたしてしまう事を生活不活発病と呼んでいるそうです。

作られた寝たきり

実際の家庭でありがちな生活不活発病が、作られた寝たきりです。

子供と同居したことにより、

  • 参加:今まで住み慣れていた土地から移ることによってコミュニティから遠ざかる。
  • 活動:コミュニティから遠ざかった事によって知り合いや友達が居らず、家からあまりでなくなる。
  • 身体機能:徐々に歩けなくなっていく。

また、家の中でも家事等を子供夫婦が行うことにより、

  • 参加:家庭内の役割分担から離れる。
  • 活動:家事をする必要がなくなったので、座ったり横になってばかり。
  • 身体機能:体が硬くなっていく。

と、段々と身体機能が低下していってしまいます。

生活不活発病というものがあるということを知らないために、この身体機能の低下の原因を歳を取ったからと勘違いして、改善する機会を失ってしまうという事が多いそうです。

補完的な介護より、良くする介護

上記のように何かを行う時に、代わりにやって負担を軽くする介護では、身体機能の低下を招くので、より良く行えるやり方を教えて極力自分で行えるようにするという新しい介護のレベルに入ってきているそうです。

最後に

1時間30分という短い時間の中でのセミナーということで、詳しいことは書籍を参照してくださいという形でした。 幸いにも妻が書籍を持っているので借りて読んでみようと思います。