2011年9月30日金曜日

Google Developer Day 2011 Japan アジェンダ

(メモ)
アジェンダ:
http://www.google.com/events/developerday/2011/tokyo/agenda.html

興味のあるセッション:
[クラウド上でイケてるゲームを構築しよう]
[Google+ と +1 ボタン]
[今までにないサイトを作る:HTML5 による最新ウェブアプリ]
Google公式 Androidアプリ:Google Developer Day 2011スケジュール
https://market.android.com/details?id=gdd11.app&feature=search_result

※当初 Androidアプリ優先枠で応募してましたが、当確せず。3,000ダウンロードぐらいのアプリではだめってことかな。>< 仕方がないのでDev Quizをやることに。
さすがに、ウォームアップクイズと、分野別クイズ計100点ではまずいだろうと思って、チャレンジクイズのスライドパズルをちょっとだけ挑戦、3x3,4x4を解答してボーダーライン上で合格。
(11/1には横浜に行きます。楽しみです。)

2011年9月29日木曜日

KCN 3カ月待ち。

奥さんの実家でNTTフレッツ光はやめて、KCNに変更中。
コストダウンのため、KCNに変更なのですが、3カ月待ちとのこと。
(私のところと、実家はK-optiです。)

そういえば、会社のクライアントでもKCNで手こずったことが。
普通WANの接続は、どこの通信キャリアもPPPoEなのですが(と自分は思ってたのですが。)
KCNはDHCPです。ですのでルータを自前で用意する場合は、MACアドレスをKCNに
連絡して登録してもらう必要があります。

今、使用しているルータは古くて、WAN側をDHCPで設定できず、
新たにルータを購入する必要がありそうです
(PC1台しか接続しない場合は、KCNで用意されたもので十分なのですが。)
http://www.kcn.jp/internet/nagare/koji/setsuzoku/

CPU温度35℃ 秋ですね~

自宅キャプチャーサーバ、Fit-pc2ですが、CPU温度35℃,HDD温度37℃。



夏場は、いつも40℃オーバーしていました。ヒートシンク代わりのアルミブロックがないとさらに温度が上昇します。

このFit-PC2は、消費電力が8W/hしかない低消費電力 サーバです。Fit-PC3 は1月に発表があったのですが、その後音沙汰なしでリリースはまだ先のようです。

追記:Fit-PC3 11月15日から受注を開始。 (10/5)

openssl 64ビット版 / smail 64ビット版

smailの64ビット版作成の前にopenssl の64ビット版のライブラリーを作成しないといけないということで、openssl の64ビット版のライブラリーを作成。(自分用メモ)

http://www.openssl.org/source/から、最新ソースコードopenssl-1.0.0e.tar.gzをダウンロードして、
C:\work\vc\free\openssl-1.0.0e-64に展開

1)コンパイル環境の設定
C:\work\vc\free\openssl-1.0.0e-64>"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\x86_amd64\vcvarsx86_amd64.bat"
Setting environment for using Microsoft Visual Studio 2010 x64 cross tools.

※32bitを作成する場合は、C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\vcvars32.bat"
を実行する。

2)Configure (要ActivePerl,要make)
C:\work\vc\free\openssl-1.0.0e-64>perl Configure VC-WIN64A no-asm --prefix=C:\work\vc\free\openssl-1.0.0e-64

※アセンブラ(MASM)があれば、no-asmを外すと、SHA等の計算はアセンブラーコードを使用され速度が速くなります。
まあ、そんなに高速を必要としないので、私はいつも、no-asmを指定。

3)makeファイル作成
C:\work\vc\free\openssl-1.0.0e-64>ms\do_win64a
C:\work\vc\free\openssl-1.0.0e-64>perl util\mkfiles.pl 1>MINFO
C:\work\vc\free\openssl-1.0.0e-64>perl ms\uplink.pl win64a 1>ms\uptable.asm
C:\work\vc\free\openssl-1.0.0e-64>ml64 -c -Foms\uptable.obj ms\uptable.asm
Microsoft (R) Macro Assembler (x64) Version 10.00.30319.01
Copyright (C) Microsoft Corporation. All rights reserved.
Assembling: ms\uptable.asm
C:\work\vc\free\openssl-1.0.0e-64>perl util\mk1mf.pl no-asm VC-WIN64A 1>ms\nt.mak
C:\work\vc\free\openssl-1.0.0e-64>perl util\mk1mf.pl dll no-asm VC-WIN64A 1>ms\ntdll.mak
C:\work\vc\free\openssl-1.0.0e-64>perl util\mkdef.pl 32 libeay 1>ms\libeay32.def
C:\work\vc\free\openssl-1.0.0e-64>perl util\mkdef.pl 32 ssleay 1>ms\ssleay32.def
C:\work\vc\free\openssl-1.0.0e-64>

3)make
C:\work\vc\free\openssl-1.0.0e-64>nmake -f ms\nt.mak

※smailにSSLを静的リンクライブラリで実装するので、ms\nt.makを実行する。
DLLを作成したい方は、nmake -f ms\ntdll.makの方を実行する。

4)オブジェクト

C:\work\vc\free\openssl-1.0.0e-64\out32にssleay32.lib,libeay32.libが生成される。
C:\work\vc\free\openssl-1.0.0e-64\inc32にopenssl用のインクルードファイルが生成される。

※テストコマンド等も生成される。必要なのは、ssleay32.lib,libeay32.libだけですが、本当に64bitで動作しているのか、openssl.exeを起動して、タスクマネージャで見てみる。



以上で、openssl 64bit版のライブラリーの出来上がりです。

5)SMAILを64bit化する。(64ビットアプリは未公開です。)

・64bit化のため、一部ソースコード修正
・4)で作成した、includeファイル、ライブラリーを指定。

・コンパイル
64bit版のsmail.exe完成、64bitで動作しているか確認。



※正常にSSLでメール送信。
opensslを使ってSSL通信するプログラムは至って簡単で、sslの初期化をしてしまえば、後はソケットディスクリプタをSSLに通すだけです。

2011年9月24日土曜日

Windows 8 / Vmware palyer 4.0 でのインストール

Vmware palyer 4.0が出たらしいのですが、本家サイトを見ても見つからず、ネットで探したら、http://goo.gl/azxjl に4.0.0がUPされていました。
windows版は、http://goo.gl/zG9mB にあります。で、早速Windows 8の64bit版の
WindowsDeveloperPreview-64bit-English-Developer.isoをインストール。
・OSを他の64ビットでインストール

・ゲストOSをWindows 7 x64に変更(Vmware toolsをインストールするため。)
・Vmware toolsのインストール
注)http://blog.livedoor.jp/blackwingcat/archives/1544432.htmlにあるように、
そのままインストールすると画面が真っ黒になります。
カスタムインストールでビデオドライバーをインストールしないようにします。

2011年9月23日金曜日

Osgrid Aska III に東京スカイツリー (その2)

Osgrid Aska III に東京スカイツリーは、巨大すぎて256mx256m x 4つのSIMにはやっぱり合わないので作成中止としました。(そのうちdeleteします。)


左の五重の塔は25m高、下の灯台は20mです。

2011年9月17日土曜日

Windows 8 / Vmware fusion 4 (mac) でのインストール

Crenahtml2jpgがWindows 8で動作するか確かめるべく、Vmware fusion 4 (mac) にインストールしました。
(MAC - bootcampでwindows7 64BITを使っていますが、これ上のVmware player,Virtual boxとかだとインストールできず。mac上のVmware fusion 4 でなぜか上手くインストールできました。)

メトロ画面から、Desktopのタイルアイコンをクリックすると従来のデスクトップ画面が表示されます。この画面で、Crenahtml2jpgを動かしてみる。

問題なく動作しました。またFlashサイトが動くか確認。

Flashサイトも正しくキャプチャーできています。
(ただし、Flashのバックグランド時の2FPSの回避のため、http://www.picolix.jp/blog/general/555/
を適応させました。)

※メトロ版のIE10は、プラグイン非対応でFLASHとか動かなくなるようです。
デスクトップ版IE10はFLASHは動作します。
http://itpro.nikkeibp.co.jp/article/NEWS/20110916/368794/
試そうと思ったのですが、メトロ版のIE10がどこにあるのか不明><
メトロ画面にIEのタイルアイコンがあるのですが、起動せず。

※しかしなんだかメトロ版&デスクトップ版両方で使いづらいというか
まあ、デスクトップ版は使ってはだめなんですねきっと。タッチパネルがないとメトロ版使う意味ないか・・。なかったらただのボタンですし。

2011年9月12日月曜日

Osgrid Aska III に東京スカイツリー



Osgrid AskaIIIに東京スカイツリーを建造中ですが、プリムをリンクしてもサイズが大きすぎて編集で単一プリムを選択できず、プリムをリンクしては解除の繰り返しです。底面は三角形ですが、地上320mで円となります。※まあ、ぼちぼち作りますが、高さ634mだと、viewerの最大表示が512mなので全貌が表示できず、最終全部作り上げても美しくなく途中でやめるかも。

2011年9月10日土曜日

wordpress 静的html生成プラグイン その2

前回、WordPress静的HTML生成プラグイン [forWEB屋]
http://www.4web8.com/wordpress%E9%9D%99%E7%9A%84html%E7%94%9F%E6%88%90%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3
を使い、全ページを静的ファイルに落としましたが、それでも各ページ0.7秒かかっています。
そこで、
make-cache/make-cache.phpの
add_action('init', 'initialize' );
=>
add_action('plugins_loaded', 'initialize' );
に修正したところ、0.4秒になり早くなった。どうも多種のphpファイルのロードとDBへのアクセスに時間がかかっているようです。

せっかく、make-cacheで全ページを静的ファイルに落としているので、他のphpファイルのロードとかDBへのアクセスはまったく必要ないので、一層のこと、トップのindex.phpに強引にmake-cache.phpのinitialize()の内容を追記した。
尚、wordpress関連のphpローディング前なので、wordpress関連の関数は使えません。DBにアクセスしたい場合は自力でアクセスする必要があります。
index.php
---------
if( !preg_match("/nocache/",$_SERVER['QUERY_STRING']) ){
$url = "http://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];
$url = preg_replace("/\/$/","",$url);
if( !preg_match("/\.html/",$url) ){ $url .= "/index.html"; }
//$rooturl = get_option('home');
$rooturl = "http://www.picolix.jp/blog";
$url = preg_replace("#$rooturl#","",$url);
if( file_exists("xxxxxxxxxxxxxxxxxx/wp-content/plugins/make-cache/cache$url")){
$fp = @fopen("xxxxxxxxxxxxxxxxx/wp-content/plugins/make-cache/cache$url","r");
if($fp){
while(!feof($fp)){
$buf = fgets($fp);
echo $buf;
ob_flush();
flush();
}
fclose($fp);
}
}
}

これで、計測すると、0.04秒となり。phpからの静的ファイルread,write時間だけとなり、ものすごく速くなりました。(というか静的ファイルとほぼ同等な速さです。)
ついでに、このページナビゲータ部分のpage_navigation()も修正してmake-cache
も正しく出力してくれるようになりました。
ん~。MT3.2からwordpress3.2.1より、MT3.2から素直に、MT5への移行で良かったような気がしてきた。まあ、wordpressを使うってところに意義があるか・・

2011年9月9日金曜日

google+ 入れたら IE6で「インターネットサイトを開けません 操作は中断され ました」

http://www.picolix.jp/にgoogle+ ボタン設置してたのですが、ふとIE6でアクセスしてみると、
「インターネットサイトを開けません 操作は中断されました」
となり表示できません。で調べてみると、

これだとだめで、

<html><head>
<base target="_top">
<script type="text/javascript" src="https://apis.google.com/js/plusone.js">
{lang: 'ja'} </script>
</head><body></body></html>

こちらだとOK

<html><head>
<script type="text/javascript" src="https://apis.google.com/js/plusone.js">
{lang: 'ja'} </script>
<base target="_top">
</head><body></body></html>

base targetタグが影響しているようです。(なぜだか不明)
base targetタグは外しました。

wordpress 静的html生成プラグイン

wordpressは、アクセスの度にコンテンツ動的生成し、phpファイルが多数インクルードされます。

ましてプラグインをいっぱい入れていると尚更です。
また、固定ページといえども、DBからデータを取得するので結構、アクセスの多いサイトは、負荷がかかります。
当サイトは普段はそんなにアクセスはありませんが、窓の杜でのバージョンアップリリース記載時には、アクセス過多となり相当な負荷となります。

このサーバは、ブログ以外にOsgrid opensimとかWEBキャプチャーシステム、その他のサービスが普段動いています。ブログアクセスだけで過負荷になるのは悲しい。

そこで、キャッシュプラグインの登場ですが、通常 wp-super-cache を使うと思いますが、これはアクセスがあった時に、キャッシュします。

アクセスの頻度が少なくなるとキャッシュから消えるのですが、MTを使ってた私としては、やっぱり全部静的ページに落としたいところです。

探していたところ、
WordPress静的HTML生成プラグイン [forWEB屋]
http://www.4web8.com/wordpress%E9%9D%99%E7%9A%84html%E7%94%9F%E6%88%90%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3
を見つけました。
cacheフォルダーに全部静的ファイルを生成してくれます。(30分かかりましたが。)
静的ファイルができますがこのファイルは、phpから読み込まれて表示されます。
まあ、これで十分だと思います。

※独自改造やプラグインの種類によっては、変換が上手くいかないことがあります。
例)
http://design-plus1.com/2010/10/page-navigation.html
こちらのpage_navigation()を使っていたのですが、このページナビゲータ部分が
正しく生成できなかったので、page_navigation()は使わず。
デフォルトのprevious,nextを使うようにしました。

2011年9月5日月曜日

MT3.2からwordpress3.2.1にブログ変更しました。

自専用サーバなので、あんまり負荷をかけたくなく、MTの静的ページ生成方式の方が好きなのですが、WordPress の方が今はトレンディ―なので、今回MT 3.2からWordPress 3.2.1 にブログ変更しました。ついでにcenazumina.picolix.jpからwww.picolix.jp/blog/に変更。

WordPress 3.2.1 は、phpが5.2.4以上でないとだめで、当専用サーバCentOS5.6のPHPは5.1.6でインストールできず。しかたがないので、PHP5.3にUPDATEすることに。

1) PHP5.3へのUPDATEはこちらを参考にしました。
http://okiraku-server.net/server/2011/05/27178.html

※yum remove php php-*で以前のPHPをアンインストールした場合、PHP5.3には、pearが入っていません。ですので、pear,peclがなくなってしまします。

2) PHP5.3 pearのインストール
http://akabanessa.blog73.fc2.com/blog-entry-129.html

pear,peclが使えるようになります。

3) PHP  imagickの再インストール

PHP5.1.6で使っていたimagick.soがロードエラーしていたので、peclで再インストール。
#pecl uninstall imagick
#pecl install imagick
これで再コンパイルされてモジュールが生成されインストールされる。

4) MTのデータをエクスポートしてwordpressにインポート

必要プラグイン:Movable Type and TypePad Importer
http://wordpress.org/extend/plugins/movabletype-importer/

5) twitterへ自動投稿

必要プラグイン:Simple Tweet
http://wppluginsj.sourceforge.jp/simple-tweet/

MTの時は、自作プログラムで投稿していましたが、今は便利なプラグインがたくさんあり、今回は、Simple Tweetを利用。MTの時は、短縮URLは、goo.glを使っていたのですが、
Simple Tweetには、bit.ly,j.mp,TinyURL,is.gdの4種類あるのですが、goo.glがないので改造。