2017年10月20日金曜日

Visual Studio Code(VS Code) 便利機能 ~ Part.1 ~

どうも、もりもりです。

最近 VS Code が便利すぎてよく使ってます。

7月末には64bit版もリリースされました。
またファイルサイズの制限が50MBから無制限となったので
デカいログファイルも読み込めるようになりました。

アップデート情報は下記で確認できます。
https://code.visualstudio.com/updates/v1_16

あとは印刷できるようになればよいのですが。。。

よく使うショートカット


<全般>
キー 動作
Ctrl + , ユーザー設定を開く
Ctrl + F ファイル内検索
Ctrl + H ファイル内置換
Ctrl + Shift + F フォルダを指定して検索
Ctrl + K, M 言語の選択 ※IMEが半角モードになっていること
Ctrl + Shift + P コマンドパレットを表示
Ctrl + R 履歴からファイルを開く
Ctrl + Space サジェストを表示
Shift + Alt + 選択 矩形選択

<SQL Server 関連>
キー 動作
Ctrl + Shift + C DB接続先の表示 ※表示中ファイルの言語モードが「sql」の場合
Ctrl + Shift + E SQL実行

よく使う拡張機能


mssql
  ・SQL Serverに接続できる

Excel Viewer
  ・CSVを表形式で表示できる
  ・並び替え可能
  ・フィルタリング可能

EvilInspector
  ・全角スペースを強調してくれる

mssql


<DBの接続設定を保存する>

1.「Ctrl + N」で新規ファイル作成
2.「Ctrl + K, M」で「sql」と入力し「SQL」を選択
3.「Ctrl + Shift + C」で「Create Connection Profile」を選択
4.指示通りにサーバ名、DB名、認証方式、ユーザ名、パスワード等を順に入力してEnter


<接続設定保存済みのDBにアクセスする>

1.「Ctrl + N」で新規ファイル作成
2.「Ctrl + K, M」で「sql」と入力し「SQL」を選択
3.「Ctrl + Shift + C」で保存済みの接続設定を選択


<テーブルからデータを取得>

1.上記の各手順1で作成したファイルにSELECT文を記述
2.「Ctrl + Shift + E」でSQLを実行


Excel Viewer


1.CSVをVS Codeで開く
2.「Ctrl + Shift + P」でコマンドパレットを開く
3.「csv」と入力
4.「CSV: Open Preview」を選択


設定(settings.json)


VS Codeの設定の一部ですが、こんな感じで使ってます。

{ "editor.minimap.enabled": true, "editor.fontSize": 12, "editor.renderWhitespace": "boundary", "files.defaultLanguage": "csharp", "files.associations": { "*.txt": "csharp", "*.log": "csharp" }, "terminal.integrated.shell.windows": "C:\\Program Files\\Git\\bin\\bash.exe", "mssql.connections": [ { "server": "xxxx", "database": "xxxx", "authenticationType": "SqlLogin", "user": "xxxx", "password": "", "emptyPasswordInput": false, "savePassword": true }, { "server": "xxxx", "database": "xxxx", "authenticationType": "SqlLogin", "user": "xxxx", "password": "", "emptyPasswordInput": false, "savePassword": true } ] }


便利な拡張機能などがあれば随時アップしていきます。

それではまた。

2017年10月12日木曜日

iPhone8 Plusを買いました!

こんにちは!


前回に引き続き、C#7.0の記事を書く予定だったのですが、ちょっと別のネタです。


タイトルの通り、数年ぶりにiPhoneを買い替えました!
新しいスマホになったので、嬉しくて、色々試しています。

ちなみに、弊社のアプリもiOS11で動くことが確認できました。

早速、アプリをいくつかダウンロードしてみたのですが、おもしろいなと思ったのが、
拡張現実(AR)を体験できるアプリです。
iOS11向けの拡張現実(AR)アプリ開発キットが公開されたので、このようなアプリが、
開発できるようになりました。
ゲームからお天気がわかるものまで、本当にたくさんの種類のアプリがありますよ!

例えば、メジャーとして使えるアプリですが、こんな感じで、カメラで撮影しながら長さを測定することができます。





















弊社でも、ARを使った面白いアプリがリリースできたらなと思います。

2017年10月7日土曜日

組合せテストケースを自動生成してみよう!(PictMasterの紹介)

こんにちは。ひっくです。
今日は、組合せテストケースを作成するのに役立つ 「PictMaster」というツールについて、紹介したいと思います。

PictMasterとの出会い


以前、複数の検索条件を指定できる検索機能について、テストをすることがありました。
その際、検索条件の組合せについて、全てのパターンを網羅するテストケースを作成すると
3000件を超えるテストパターンが存在したため、テストにかなり時間がかかってしまう
という経験をしたことがあります。

最近、同様のテストをする機会があり、何か良い方法はないかと探していたところ
「PictMaster」と出会いました。


PictMasterとは


冒頭で軽く触れましたが、組合せテストケースを作成するのに役立つツールです。
なんとこれ、自動でテストケースを生成してくれるんです。(ただしExcel2007以降のExcelが必要)
どうやってテストケースを作るか、実際にやってみましょう。

まず、Pictをインストールします。(以下はインストーラーのURL)
http://download.microsoft.com/download/f/5/5/f55484df-8494-48fa-8dbd-8c6f76cc014b/pict33.msi

次にPictMasterをダウンロードします。
https://ja.osdn.net/projects/pictmaster/

ダウンロードしたら解凍して、展開フォルダ内から以下のファイルを、Pictをインストールしたフォルダ内にコピーします。
 ・cit.jar
 ・nkf.exe
 ・oalib
 ・oalibmix

続いて、展開フォルダ内の「PictMaster64.xlsm」をダブルクリックします。
すると、次のような表が表示されます。

右上の「環境設定」ボタンをクリックしたら、「自動整形を実行」にチェックを入れます。
「OK」をクリックして表に戻り、次のように入力します。

今回は「名前」、「性別」、「年齢」を検索条件として、検索結果を表示する機能をテストするとしましょう。
上記の通り、「パラメータ」に検索条件の項目として「名前」「性別」「年齢」を、
「値の並び」に各検索項目(「名前」「性別」「年齢」)の選択肢を入力します。

さて、「実行」ボタンをクリックしてみましょう。

組合せテストケース(全部で15件)の表が作成されたと思います。
楽に組合せテストケースを作成することができました。

※なお、全ての検索条件の組合せは「3×2×6」の30通り存在します。
 今回の結果は15件なので、全てを網羅する場合に比べると15件のテストケース削減となります。

制約表を使用してみよう


先ほどの検索結果を表示する機能において、例えば以下の制約があると仮定します。
 ・田中さんは「男性」
 ・鈴木さんは「40代」以外

この時、上記の制約を満たすテストケースを作成する必要があります。
このような場合は制約表を使用します。

まず、「環境設定」ボタンをクリックしたら、「制約表を使用」にチェックを入れます。
「OK」をクリックして表に戻ると制約表が表示されています。
次のように入力します。
(なお、入力したいセル上で右クリックするとツールチップが表示されるので、選択することでも入力可能です。)

※上記で使用している入力ルールについて補足説明
 ・制約条件(「田中さん」や「鈴木さん」)は白色以外の任意の色で塗りつぶす必要がある
 ・入力値の先頭につける「#」は否定を表し、「入力値以外」という意味になる

さて、「実行」ボタンをクリックしてみましょう。

組合せテストケース(全部で14件)の表が作成されたと思います。
このテストケースを確認すると、いずれも制約を満たしていることが分かります。

制約が存在する場合も、楽に組合せテストケースを作成することができました。

PictMasterを使うことのメリット・デメリット


最後に、メリットとデメリットについても簡単にお話しします。

<<メリット>>
今までに見た通り、テストケースを簡単に自動生成できることが最大のメリットです。
特に、組み合わせる条件が増えれば増えるほど、条件を組み合わせる際の制約があればあるほど
PictMasterを使用しない場合は、テストケースの作成により多くの時間をかけなければなりません。
また、組合せテストのメリットであるテストケース削減の恩恵も受けることができます。

<<デメリット>>
今までに紹介した内容以外にも、PictMasterには様々な設定項目が存在します。
(PictMasterの「環境設定」ボタンをクリックした際、表示される画面に設定項目が表示されています。)
数が多いので、どのようなことができるかを把握するのに時間はかかります。
また、PictMasterで自動生成されたテストケースは、全ての組合せを網羅したテストケースに比べると
テストケースの数が減るため、テスト漏れのリスクは存在します。(これは組合せテストのデメリットです。)

<<その他補足>>
組合せテストの詳細については、分かりやすくまとめられているものがありました。
参考になったURLを紹介しておきます。
http://www.jasst.jp/symposium/jasst13tokyo/pdf/E3-2.pdf
また、PictMasterのマニュアルについても一度目を通しておいた方が良いと思います。
(PictMasterダウンロード後の展開フォルダ内に存在します。)


まだPictMasterを使ったことがないという方は、試しに使ってみてはいかがでしょうか。
ではまた!

2017年9月29日金曜日

Open Data Kobeのアプリマーケットに避難ナビが掲載されました!

こんにちは。ありかわです。

弊社がリリースしているiOSアプリの「こうべ避難ナビ」は神戸市の
オープンデータを使用しているのですが、
この度神戸市のオープデータ活用事例として神戸市のサイトに掲載されました!

https://data.city.kobe.lg.jp/app/

 まだインストールされていない方は是非みてみてください!


それじゃまた。

2017年9月22日金曜日

無効なホスト@Teraterm

こんにちは。ふじかーです。
PC入れ替え時によくあるトラブル対処、ついでにもう一件残しときます。

つかってますか、Teraterm。

私の現場では、パソコンを
組み込み実機 / サーバ / VMware などに接続・操作するため、よく使っています。

また Teraterm にはマクロ機能があり、
アクセス先IPアドレスやユーザ名・パスワードなどを記載した
拡張子「.ttl」のファイルを実行することで、接続時の入力を省略できます。


さて、PC入れ替えの際に Teraterm もインストールし、
以前から使っている「.ttl」ファイルを実行すると

「無効なホスト」

というウィンドウが出て、強制終了してしまいます。



これは接続先が見えていないのではなく、
 拡張子「.ttl」に関連付けられている実行ファイル(*.exe)が正しくない
事が原因のようです。

×:ttermpro.exe(TeraTermを起動する時の実行ファイル)
○:ttpmacro.exe(TeraTermマクロ用の実行ファイル)


デフォルト設定が何故か ×の方 に関連付けられているので
再インストールのたびに注意が必要なようです。
初めから「*.ttl → ttpmacro.exe」に関連付けてくれればいいのに・・・


対処方法としては
*.ttlの実行ファイルを「ttpmacro.exe」へ変更するだけでOK。


赤丸印が「Tera Term」表示だと間違い。「TTPMACRO」表示が正解。
右の [変更] ボタンから実行プログラムを変更し、


「ttpmacro.exe」を選べばOK。

次からは「*.ttl」ファイルを実行するだけで、スムーズに端末接続できるようになります。
やれやれ、PC入れ替え時には色々あるもんですネ。

ネットワークパスワードを記憶してくれない

こんにちは。ふじかーです。

年一回くらい、作業PC(Windouw7)が不調になって入れ替えるんですが
毎回この問題で手を止められるので、備忘録として記載します。


ユーザ管理しているサーバのフォルダを開こうとすると
こんな「Windows セキュリティ」ウィンドウが出るじゃないですか。



毎回入力するのは面倒なので、赤丸印の
「資格情報を記憶する」にチェックを入れてOKを押します。

が、なぜか覚えてくれず
次回のアクセス時にまた上記ウィンドウが出てきます。
昔(XPの頃?)はチェックを入れるだけで記憶してくれたのに・・・

これを回避するため、資格情報の記憶は
上記のチェックではなく「資格情報マネージャを使います。

まずエクスプローラで
コントロール パネル\ユーザー アカウントと家族のための安全設定\資格情報マネージャー
を開き

赤丸印の「Windows 資格情報の追加」から



サーバアドレスとユーザ情報を入力してOK。
これで次回から聞いてこなくなります。


なんなんでしょうね、この格好悪い不具合。記憶できないならチェックさせなきゃいいのに。
今までPCを入れ替えるたびググって対処してたけど、次からこのページを見ようっと。

2017年9月15日金曜日

「obj\Release\xxxxx.pdb を "..\bin\Release\xxxxx.pdb" にコピーできませんでした。10 回の再試行回数を超えたため、失敗しました。」エラー

こんばんは。ざわです。

Visual Studio(いま使っているのは2013)で開発していると
たまに、ビルドした際に
「obj\Release\xxxxx.pdb を "..\bin\Release\xxxxx.pdb" にコピーできませんでした。10 回の再試行回数を超えたため、失敗しました。」
「ファイル "obj\Release\xxxxx.pdb" を "..\bin\Release\xxxxx.pdb" にコピーできません。別のプロセスで使用されているため、プロセスはファイル '..\bin\Release\xxxxx.pdb' にアクセスできません。」
というエラーがでることがあります。

一旦このエラーがでるとソリューションのクリーン→ビルドを行っても解決しません。。。
なので、ソリューションを再起動することでやりすごしています。

なんでこのエラーがでるんだろ?と思ったので
原因、対処策をしらべてみました。

[原因]
  devenv.exe(すなわちVisual Studioそのもの)が対象のファイルをロックしているらしい??

[対処策]
  [ビルド前に実行するコマンド ライン](プロジェクト > プロパティ > ビルドイベント)に
  下記コードを追加する。

  if exist "$(TargetPath).locked" del "$(TargetPath).locked"
  if not exist "$(TargetPath).locked" move "$(TargetPath)" "$(TargetPath).locked"

いまのところ、このエラーは頻発していないので試していませんが
せっかく調べたので備忘録的に残しておきたいと思います。

ではでは。