SQL Server 実行されたSQL履歴確認

SQL Server DBで実行されたSQLを確認する
メモする

SELECT TOP 1000   
--作成時間  
QS.creation_time,   
--SQL文   
SUBSTRING(ST.text,(QS.statement_start_offset/2)+1,   
((CASE QS.statement_end_offset WHEN -1 THEN DATALENGTH(st.text)   
ELSE QS.statement_end_offset END - QS.statement_start_offset)/2) + 1   
) AS statement_text,   
--実行SQL文   
ST.text,   
--実行計画  
QS.total_worker_time,   
QS.last_worker_time,   
QS.max_worker_time,   
QS.min_worker_time   
FROM   
sys.dm_exec_query_stats QS   
--キーワード 
CROSS APPLY   
sys.dm_exec_sql_text(QS.sql_handle) ST   
ORDER BY   
QS.creation_time DESC 

仕事効率アップ!膨大なメールの中から目当てのメールを素早く見つける!Gmailの検索コマンド10選

Googleのフリーメール「Gmail」を使っています。
無料で簡単に取得出来ますし、容量も大きいですね。
僕の場合、複数Gmailアカウントと他ドメインのメールを纏めて、一つGmailアカウントに表示する事にしています。
数十万通の膨大なメールの中から目当てのメールを探すのは大変のことです。
Gmailはメール検索用のコマンドを用意しています。さすがGoogle!
今回はそんなGmailをもっと便利に使う為の、10個の検索コマンドをご紹介します。
iPhone、AndroidのGmailアプリにも使えます。

検索方法はGmailの検索ボックスにコマンドを入力します。
検索方法はGmailの検索ボックスにコマンドを入力します。
  • 未読メールのみ検索
    is:unreadと入力すると、未読メールを検索する。未読メールのみ表示されます。
  • 添付ファイル名を指定して検索
    filename:pngと入力すると、pngファイルが添付されているメールを検索する事が出来ます
    png部分を任意のキーワードに変更する事も可能です。(例:jpg、docやファイル名等)
  • 指定日付までのメールを検索
    before:YYYY/MM/DD形式で日付を入力すると、受信時間が指定した日付までのメールを検索する事が出来ます。
  • 指定日付後のメールを検索
    after:YYYY/NN/DD形式で日付を入力すると、受信時間が指定した日付後のメールを検索する事が出来ます。
  • 添付ファイルがあるメールのみ検索する
    has:attachmentと入力すると、添付ファイルがあるメールのみ検索する事が出来ます。
  • 送信者のメールアドレスに指定した文字列が含まれているメールを検索する
    from:abcと入力すると、送信者のメールアドレスに「abc」が含まれるメールを検索する事が出来ます。
    abc部分をgoogle.co.jpにすると、googleユーザーから送信のメールのみ検索する事も可能です。
  • OR検索
    2つの検索コマンドの間に「OR」を入力すると、「〜もしくは〜」という意味で、とちらの条件が成立しても検索されます。
  • AND検索
    2つの検索コマンドの間に半角スペースもしくは、「AND」を入力と、「〜且つ〜」という意味で全部条件を満たしたメールのみ検索されます。
  • NOT検索
    2つの検索コマンドの間に「」(マイナス)、若しくは「NOT」を含めると、「〜但し、〜を除いて」という意味で、前条件の検索結果から後条件のデータを除いて検索することです。
  • 完全一致検索
    検索コマンドを「」で囲うと、完全に一致したメールのみ検索する事が出来ます。”lunch meeting”と検索した場合、メールに「lunch meeting」が完全に含まれているメールのみ抽出する事が可能です。
    「lunch」と「meeting」の単語が混ざったメールは検索結果として表示されません。

phpファイルアップロードサーバー保存

この前「Jqueryを使ってHTML5ドラッグ&ドロップファイルアップロード」を紹介しました。
http://www.it-view.net/drag-and-drop-file-upload-jquery-178.html

質問に対してクライアントからアップロードされたファイルをサーバーに保存する方法を紹介します。
今回はphpでサーバーにファイル保存方法を説明します。

クライアントのソースは「Jqueryを使ってHTML5ドラッグ&ドロップファイルアップロード」のままで利用できます。

使用する関数の説明

☆is_uploaded_file&move_uploaded_file☆
サーバーには、主にphpのis_uploaded_file関数とmove_uploaded_file関数を使用してファイルをサーバーに保存します。
・is_uploaded_file関数はHTTP POST でアップロードされたファイルかどうかを調べる。
・move_uploaded_file関数はアップロードされたファイルを新しい位置に移動する。

関数の詳細使い方と説明を下記phpオフィシャルページを参考してください。
is_uploaded_file:http://php.net/manual/ja/function.is-uploaded-file.php
move_uploaded_file:http://php.net/manual/ja/function.move-uploaded-file.php

move_uploaded_fileにはファイル保存場所の指定が必要ですので、phpファイルと同じ場所にfilesフォルダを作成し、書き込み権限を与えて置きましょう。

☆$_FILES☆
クライアントから送信されたファイル情報は$_FILESというグローバル配列に格納されます。
phpが自動的に値をセットしてくれます。
クライアントのjavascriptより”file”をキーとして$_FILESに保存されます。

fd.append('file', files[i]);

$_FILES[“file”][“tmp_name”]はPHPによって一時的に作成されたアップロードファイルの名前です。
$_FILES[“file”][“name”]はアップロードされたファイルのオリジナルのファイル名です。オリジナル名をfilesフォルダに保存します。

プログラム作成

クライアントから送信されたデータを受け取るphpプログラムを作成します。

<?php

if (is_uploaded_file($_FILES["file"]["tmp_name"])) {
  if (move_uploaded_file($_FILES["file"]["tmp_name"], "files/" . $_FILES["file"]["name"])) {
    echo $_FILES["file"]["name"] . "をアップロードしました。";
  } else {
    echo "ファイルをアップロードできません。";
  }
} else {
  echo "ファイルが選択されていません。";
}

?>

また、chmod関数を使って、サーバーに保存されたファイルの権限を修正できます。

chmod("files/" . $_FILES["file"]["name"], 0644);

以上、phpでサーバーにファイルを保存する方法でした。
–EVERY LITTLE MAKES–

DataTableとリストの互換、パフォーマンス計測

DataTableからリスト(List)に変換する時のパフォーマンスを比較して見ました。
比較したのはJsonConvertクラスのSerializeとDeserializeメソッドでリストにコンバート、
とリフレクションでリストにコンバートです。

先ずは100列、5000行があるDataTableを作りましょう。

var dt = new DataTable();
for (var i = 1; i <= 100; i++)
{
    dt.Columns.Add("Column" + i.ToString());
}

for (var j = 0; j < 5000; j++)
{
    var dr = dt.NewRow();
    for (var i = 1; i <= 100; i++)
    {
        dr["Column" + i.ToString()] = "abcdefghijklmnopqrstuvwxyz";
    }
    dt.Rows.Add(dr);
}

DataTableのColumns.Addを使ってカラムを追加、NewRow()メソッドで行を作成します。

JsonConvertを利用してリストにコンバートして見ましょう。
JsonConvert.DeserializeObject>(JsonConvert.SerializeObject(dt));
5000件だと約1.8秒がかかりますね。

では、リフレクションで変換します。

private List<T> ConvertToList<T>(DataTable dt)
{
    var columnNames = dt.Columns.Cast<DataColumn>()
        .Select(c => c.ColumnName)
        .ToList();

    var properties = typeof(T).GetProperties();

    return dt.AsEnumerable().Select(row =>
        {
            var objT = Activator.CreateInstance<T>();

            foreach (var pro in properties)
            {
                if (columnNames.Contains(pro.Name))
                    pro.SetValue(objT, row[pro.Name]);
            }

            return objT;
        }).ToList();

}

結果は約1.1秒です。
CPUよりスピードがかわると思いますが、まあ、リフレクションのほうが速いことが分かりました。
大体2倍弱速いですね。

リストからDataTableに変換する

リストからデータテーブルに変換する方法です。
上記メソッドの逆バージョンですね。

private DataTable CreateDataTable<T>(IEnumerable<T> list)
{
    Type type = typeof(T);
    var properties = type.GetProperties();      

    DataTable dataTable = new DataTable();
    foreach (PropertyInfo info in properties)
    {
        dataTable.Columns.Add(new DataColumn(info.Name, info.PropertyType));
    }

    foreach (T entity in list)
    {
        object[] values = new object[properties.Length];
        for (int i = 0; i < properties.Length; i++)
        {
            values[i] = properties[i].GetValue(entity);
        }

        dataTable.Rows.Add(values);
    }

    return dataTable;
}

wordpressの投稿記事内に直接JavaScriptを使用

wordpressの投稿記事内で直接JavaScriptを記述したところ、動作できないことを分かりました。

いろいろ調べました。
プラグインを利用すれば、JavaScriptを使えるが、プラグインをたくさんインストールするとページのロード時間が落ちます。

プラグイン以外、直接JavaScriptを使用の方法もあります。
divタグを使って、scriptを囲む
サンプル:

<div>
<script type="text/javascript">;
function hello(){
    alert("Hello world!");
}
</script>
</div>

一つ注意点があります。
scriptタグ内にJavascriptのソースは空行を含めないことです

以上、WordPressの記事に直接JavaScriptを書いて動作させる方法です。
お役に立てたら嬉しいです。

wordpressで個人ウェブページを始めよう!レンタルサーバーを使って簡単にウェブページを作る

今ウェブページを作る、最も人気なツールの一つとして、WordPress (ワードプレス)を使って、だれでも簡単に個人のウェブページを作ることが出来ます。

WordPress (ワードプレス)とは、オープンソースのブログ/CMS プラットフォームです。セマンティック Web、コードやデザインの美しさ、Web 標準、ユーザビリティなどを意識して開発されており、無料でダウンロードして使うことができます。

wordpressは無料で使える、無料のテンプレートもたくさんあります。
HTML、CSS、PHPなど知識が完全に分からない初心者でも、綺麗なウェブページを作れます。

今日はレンタルサーバーでwordpressをインストール手順を説明します。
レンタルサーバーをgoogleで検索するとたくさん出てくると思います、その中、人気があるさくらレンタルサーバーにインストールします。
先ず、さくらレンタルサーバー利用を申し込みします。今は2週間の無料試用キャンペンがやっています。
ライト版なら、wordpressをサポートしないが、標準版で十分と思います。(500円/月)

申請が終わりましたら、ユーザー名とパスワードで下記ページでログインします。
https://secure.sakura.ad.jp/rscontrol
このホームページが表示されます。
1

wordpressはMySQLとPHP環境で作動するので、データベースの新規作成とPHPバージョン確認など、ステップBYステップでインストール手順を説明します。

1.データベース新規作成

左のメニューバーに[アプリケーションの設定]>[データベースの設定]を選択して、【データベースの新規作成】をクリックします。
2

データベース名とパースワードを設定します。
文字化け対応するため、文字コードのところに「UTF-8」を選択します。
3

データベース情報入力後、「データベースを作成」して下記作成したデータベース表示されます。
4

2.PHPのバージョン確認

左のメニューバーに[アプリケーションの設定]>[PHPのバージョン選択]をクリックして、PHPのバージョンを確認します。ここは変える必要はありません。
6

以上は動作環境の準備が完了しました。ここからwordpressのインストールを行います。

3.wordpressインストール

左のメニューバーに[運用に便利なツール]>[クイックインストール]を選択します。
8

「ブログ」をクリックします。
9

「WordPress」をクリックします。
10

先新規したデータベースを選択し、パースワードを入力して、「インストール」をクリックします。
11-1

インストール完了後下記の画面が表示されます。
wordpressの設定へ行きます。
12

4.wordpress設定

ウェブページのタイトルやユーザー名などを設定して、「WordPressをインストール」をクリックします。
設定したパースワードを覚えてください。
14

おめでとう!WordPressのインストールは成功しました!
15

早速自分のページに入ってみましょう。
16

デフォルトページが表示されましたね、管理画面でテーマを含め、いろいろ設定もできます。
管理画面にアクセスするため、下記のようなブログURL+[wp-admin]をブラウザで開けます。
http://www.○○.sakura.ne.jp/blog/wp-admin
17

ログインしたら、管理画面に入ります。
18

5.管理運用

テーマを変えてみます。
19
ウェブページに戻って、画面が変わりました。
20

以上、wordpress + sakuraレンタルサーバーのインストールでした。
簡単でしょ、やってみませんか?