リード開発メモ

大阪のソフトウェア会社です。 技術的な事柄についてのメモとしてブログを始めます。

2013年07月

VMware Player の仮想マシンから Hyper-V の仮想マシンへの変換(その1)

会社のサーバ上に、VMware Player で2台の仮想マシンを動かしている。それぞれにアプリケーションが入っており、Web でサービスを提供している。仮想マシンが VMware Player なのは開発環境をそのままコピーしたかったからで、パフォーマンスがあまり良くないのは承知の上だった。

このままでも特に運用上問題はなかったのだが、会社のサーバを Windows Server 2012 に入れ替えるのに合わせて、Hyper-V の仮想マシンにしてみることにした。パフォーマンスがどの程度あがるのか期待したい。

VMware Player の仮想マシンから、Hyper-V の仮想マシンへの変換は、とりあえず Microsoft が出しているMicrosoft Virtual Machine Converter (MVMC)  を試してみることにした。

以下からインストーラをダウンロードし、インストールする。
http://www.microsoft.com/en-us/download/details.aspx?id=34591

MVMC を起動すると、どうも ESX 上にある VMware 仮想マシンを指定しなければいけない模様。

ただし、MVMCがインストールされているフォルダにある MVDC.exe を使うことで、VMDK(VMware の仮想ディスク)から VHD(Hyper-V の仮想ディスク)へ変換できるらしい。

コマンドラインから
MVDC.exe "c:\vmware_vm\winxpsp3.vmdk" "c:\hyperv_vm\winxpsp3.vhd"
で実行する。

しかし、実行中にふと出力先のフォルダを見ると、500GB のファイルができている。あわてて処理を停止する。

実は変換元 VMware 仮想マシンのハードディスクは実際は 30GB くらいなのだが、設定では事前割り当てなしで最大500GB となっていたためのようだ。どうやら、変換元の仮想マシンで最大サイズを縮小する必要がありそうだ。

以上。

livedoorブログでサブドメイン指定

livedoorブログに登録したところ、URLは
http://blog.livedoor.jp/freed411/
となった。

ただ、このままだとアクセス解析がやりにくい。

たとえば Google のセーフブラウジングでチェックしてみると、ホスト名 blog.livedoor.jp で判定が行われてしまう。

http://www.google.com/safebrowsing/diagnostic?site=http://blog.livedoor.jp/freed411/


safebrowsing_1


livedoorブログでサブドメインを指定するには、管理者ページから
[ブログ設定] → [ブログURL]
で設定を行う必要があるようだ。

そういうわけで、さっそく
http://freed411.doorblog.jp/
に変更する。

以上。

FC2ブログからlivedoorブログへ引っ越し

FC2ブログがgoogle八分にあってるようだが、いつ回復するのか分からないし、FC2ブログではたびたび起こっているようなので、別のブログサービスに引っ越しすることにした。

livedoor ブログにしたのは引っ越しが楽そうだったから。
http://blog.livedoor.com/guide/move.html

実際、
1. livedoor ブログのアカウント作成
2. FC2側でバックアップを取る
3. livedoor ブログにインポートする
だけだった。

FC2側のバックアップは、管理者画面の「ツール」→「データバックアップ」を選び、「エクスポート」の「すべての記事」の「ダウンロード」で、テキストファイルに保存するだけ。

画像などは別に保存する必要はなく、 livedoor ブログにインポートするときに、自動的にFC2側から取り込まれるようだった。ただし、画像のURL自体は取り込まれた画像のものになっているのだが、画像を囲むAタグがFC2ブログの画像を指していた。。。とりあえずは問題ないが、そのうち手で修正するしかなさそうだ。

それから、もちろん SyntaxHighlighter や解析タグなどは別途設定する必要がある。ソースコードの部分は pre タグで囲っているのだが、たまたま選んだテンプレートがそうなのか、preタグで囲んだ部分が自動的にグレーになってくれており、しばらくは放置してもよさそう。

FC2ブログでアクセス激減

昨日(7/22)から、このブログのアクセス数が激減している。今日になっても戻らない。
アクセス数が5分の1くらいになった感じだ。

どうやら6月半ばから、FC2ブログ全体で同様のことが起こっているらしい。
原因は、FC2ブログが Google にペナルティを課されていることというのがもっぱらの噂。
Google によるペナルティは1ヶ月単位で、7月半ばに回復しなかったことから、
7月半ばからは、さらに重いペナルティが課されている模様。

ペナルティとはGoogle にインデックスされなくなることのようだ。
つまりは、一生懸命新しい記事を書いても検索結果に出てこなくなる。

このブログは7月半ばまでは特に異状はないと思っていたのだが、実は気づかなかっただけのようだ。。。
確かに検索しても古い記事しか出てこない。

あるサイトが Google にインデックスされているかは、Google の検索窓に

site:xxxx.com


と打ち込む(xxxx.com の部分を調べたいサイトに変える)。

また、あるサイトが Googole に不正なサイト扱いされていないかを調べるには

http://www.google.com/safebrowsing/diagnostic?site=xxxx.com


にアクセスする(xxxx.com の部分を調べたいサイトに変える)。

以上。

PHP セッション管理

PHP でのセッション変数の使い方を調べた。

セッション変数を使うには、session_start を各ページの先頭で呼び出す。
マニュアルには「session_start()は、セッションを作成します。 もしくは、リクエスト上で GET, POST またはクッキーにより渡されたセッション ID に基づき現在のセッションを復帰します。」とあり、基本的には session_start を各ページの先頭で呼び出すだけでいい。
<?php
// page1.php
 
//session_name("sessid");
//session_id('abc123');
session_start();
 
echo 'Welcome to page #1';
 
$_SESSION['favcolor'] = 'green';
$_SESSION['animal']   = 'cat';
$_SESSION['time']     = time();
 
echo '<br /><a href="page2.php">page 2</a>';
echo '<br /><a href="page3.html">page 3</a>';
?>
上のような php を表示したときのレスポンスヘッダーを確認すると、以下のように「Set-Cookie: PHPSESSID=e6rbiboadpl6i8isuhcsgslne6; path=/」という行が含まれている。これでクライアント側のクッキーにセッションIDを保持するようになる。
クッキー名の「PHPSESSID」はPHPのデフォルトだが、php.ini で設定することができる。また実行時にも session_name 関数で設定できる。上のコードサンプルではコメントにしている。
セッションIDの「e6rbiboadpl6i8isuhcsgslne6」の部分は PHP が適当に生成する値だが、実行時に session_id 関数で好きな値を設定することもできる。同じく上のコードサンプルではコメントにしている。

session_test_page1.jpg

page2.php のリンクをクリックする。
<?php
// page2.php
 
session_start();
 
echo 'Welcome to page #2<br />';
 
echo $_SESSION['favcolor']; // green
echo $_SESSION['animal'];   // cat
echo date('Y m d H:i:s', $_SESSION['time']);
 
?>
page2.php を表示したときのリクエストヘッダーを確認すると、次のように「Cookie:PHPSESSID=e6rbiboadpl6i8isuhcsgslne6」という行が含まれている。つまりセッションIDをサーバーに渡している。
また、page2.php の先頭で session_start の関数を呼び出しており、ここで セッションIDに基づいてセッション変数を復帰している。

session_test_page2.jpg

ajax での GET のときはどうかというと。。。
次に page1.php の page3.html のリンクをクリックする。
<!-- page3.html -->
<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
<script type="text/javascript">
    $(document).ready(function (){
        $.ajax({  
            type:"GET",
            url:"page3.php",
            data: "a=" + 12,
            timeout: 3000, 
            success: function(data) {
                $("#content").append(data);
            },
            error: function(request, status, err) {
                if(status == "timeout") {
                    $("#content").html("timeout error.");
                }
            }
        });
    });
</script>

Welcome to page #3<br />
<div id="content">
page3.html は中身を ajax で取得している。
<?php
// page3.php
 
session_start();
 
echo $_SESSION['favcolor']; // green
echo $_SESSION['animal'];   // cat
echo date('Y m d H:i:s', $_SESSION['time']);
 
?>
page3.php を呼び出すときのリクエストヘッダーを確認すると、やはり「Cookie:PHPSESSID=e6rbiboadpl6i8isuhcsgslne6」という行が含まれている。

session_test_page3.jpg

以上。

アクセスカウンター
  • 今日:
  • 昨日:
  • 累計:

livedoor 天気