SQLの窓

2012年04月29日

Super Hitomi Victoria with har Dragon

今日は Fate/Zero の日です。
こういうノリが大切な日です。



タグ:DAZ3D
posted by at 2012-04-29 00:30 | Comment(0) | DAZ3D | このブログの読者になる | 更新情報をチェックする

2012年04月28日

Seesaa のブログ設定の『最新の情報に更新』を実行する Ruby のコード

以前からずっと運用してたんですが( 定期的に呼び出し )、Seesaa のページの仕様が
変わったので少し書きなおしました。実行部分は関数にすべきなんですが、ruby はあまり
詳しくも無いので書き足して使っています。countup3.php は、DB 読んでカウントアップ
した連番を返す処理が書いてあります( もちろん更新 )
#!/usr/local/bin/ruby
print "Content-type: text/html\n\n"

# 標準エラー出力の出力先を標準出力に変更
$stderr = $stdout

require "cgi"
cgi = CGI.new

ENV['GEM_HOME']="/home/lightbox/gems"
$LOAD_PATH.push('/home/lightbox/lib')

require 'rubygems'
require 'mechanize'

agent = WWW::Mechanize.new
#seesaa にログイン
page = agent.get("https://ssl.seesaa.jp/www/pages/welcome/login/input")
form = page.forms.first
form["member__email"] = "メール"
form["member__password"] = "パスワード"
form.submit


page = agent.get("http://winofsql.jp/ruby/countup3.php")
$cnt = (page.body).to_i
$cnt_t = 3

if ($cnt % $cnt_t) == 0 then

	# 対象ブログのページ
	page = agent.get('http://blog.seesaa.jp/cms/home/switch?blog_id=2107032')

	# 設定ページ
	page = agent.get('http://blog.seesaa.jp/cms/settings/basics/edit/input')
	page.parser.encoding = 'utf-8'

	form = page.forms[1]
	form["force_reload"] = "1"
	page = form.click_button(form.buttons[0])

	print "seesaa : logicalerror : update : completed<br>"


	# 対象ブログのページ
	page = agent.get('http://blog.seesaa.jp/cms/home/switch?blog_id=2094199')
	page = agent.get('http://blog.seesaa.jp/cms/settings/basics/edit/input')
	page.parser.encoding = 'utf-8'

	form = page.forms[1]
	form["force_reload"] = "1"
	page = form.click_button(form.buttons[0])

	print "seesaa : kinsen : update : completed<br>"

end


if ($cnt % $cnt_t) == 1 then

	page = agent.get('http://blog.seesaa.jp/cms/home/switch?blog_id=2086898')
	page = agent.get('http://blog.seesaa.jp/cms/settings/basics/edit/input')
	page.parser.encoding = 'utf-8'

	form = page.forms[1]
	form["force_reload"] = "1"
	page = form.click_button(form.buttons[0])


	print "seesaa : GIMPRO : update : completed<br>"

	page = agent.get('http://blog.seesaa.jp/cms/home/switch?blog_id=2136480')
	page = agent.get('http://blog.seesaa.jp/cms/settings/basics/edit/input')
	page.parser.encoding = 'utf-8'

	form = page.forms[1]
	form["force_reload"] = "1"
	page = form.click_button(form.buttons[0])

	print "seesaa : instany : update : completed<br>"

end

if ($cnt % $cnt_t) == 2 then

	page = agent.get('http://blog.seesaa.jp/cms/home/switch?blog_id=2181378')
	page = agent.get('http://blog.seesaa.jp/cms/settings/basics/edit/input')
	page.parser.encoding = 'utf-8'

	form = page.forms[1]
	form["force_reload"] = "1"
	page = form.click_button(form.buttons[0])

	print "seesaa : webcraft : update : completed<br>"


end

関連する記事

Seesaa のアクセス解析ページからアクセス数と訪問者数を取得する : Ruby+Mechanize


posted by at 2012-04-28 23:21 | Comment(0) | ブログツール | このブログの読者になる | 更新情報をチェックする

2012年04月27日

PHP で、文字列中の &#nnnn; を元に戻してみたコード

とりあえずうまくいっているようです。特殊な文字をブラウザで送信すると勝手に変換
する事になっているようなので、PHP に届いたらそのままでは、PDF 中の文字列として使
え無いので作成しました。

※ 非常にベタな内容なので、効率は悪いと思います
$_POST['text'] = mb_convert_encoding( $_POST['text'], "UTF-8", "SHIFT_JIS" );
$len = strlen($_POST['text']);
$buf = "";
$wk = "";
for( $i = 0; $i < $len; $i++ ) {
	$ch = substr( $_POST['text'], $i, 1 );
	if ( $ch == '&' ) {
		$i++;
		$ch = substr( $_POST['text'], $i, 1 );
		if ( $ch == '#' ) {
			$wk = "&#";
			$i++;
			for( $j = $i; $j < $len; $j++ ) {
				$ch = substr( $_POST['text'], $j, 1 );
				$wk .= $ch;
				if ( $ch == ';' ) {
					$wk = mb_convert_encoding( $wk, 'UTF-8', 'HTML-ENTITIES' );
					$buf .= $wk;
					$i = $j;
					break;
				}
			}
		}
		else {
			$wk = '&' . $ch;
			$buf .= $wk;
		}
	}
	else {
		$buf .= $ch;
	}
} 
$_POST['text'] = $buf;



posted by at 2012-04-27 01:30 | Comment(0) | LOG | このブログの読者になる | 更新情報をチェックする

2012年04月22日

IE9 以降で動作する JavaScript 配列 の indexOf メソッド

indexOf メソッド (配列) (JavaScript)

Three.js のソースを読んでいて存在を知りました。上記リンクは正式ドキュメントですが、
以下のように書かれています。

Supported in the following document modes: Internet Explorer 9 
standards and Internet Explorer 10 standards. Also supported in
Metro style apps. 

IE9 と IE10 の標準モードと Metro( Windows8 VS11 )

Quirks、Internet Explorer 6 標準、Internet Explorer 7 標準、
Internet Explorer 8 標準の各ドキュメント モードでサポートされてい
ません。
つまり、IE8 では Three.js で シーンからオブジェクトを削除できない 事になるようですが・・・後で試してみます
タグ:javascript
posted by at 2012-04-22 01:52 | Comment(0) | Three.js : その他 | このブログの読者になる | 更新情報をチェックする

2012年04月13日

アプリケーションバーを追加する : Win8 Metro(JS)

サンプルID

JavaScript and HTML5 touch game sample

オプションの意味についてはこちらのリファレンスを参考にします

<body>
    <!-- App bar -->
    <div id="appbar" data-win-control="WinJS.UI.AppBar" aria-label="Command Bar" data-win-options="{
        commands:[
            {id:'home', label:'Menu', icon:'&#xE10F;', section: 'global', onclick: GameManager.navigateHome},
            {id:'play', label:'Game', icon:'&#xE102;', section: 'global', onclick: GameManager.navigateGame},
            {id:'rules', label:'Rules', icon:'&#xE104;', section: 'global', onclick: GameManager.navigateRules},
            {id:'scores', label:'Scores', icon:'&#xE113;', section: 'global', onclick: GameManager.navigateScores},
            {id:'credits', label:'Credits', icon:'&#xE10C;', section: 'global', onclick: GameManager.navigateCredits},
            {id:'newgame', label:'New', icon:'&#xE10E;', section: 'selection', onclick: GameManager.game.newGame},
            {id:'pause', label:'Pause', icon:'&#xE103;', section: 'selection', onclick: GameManager.game.togglePause}
        ]}"></div>
</body>

"selection"は、選択したオブジェクトのコンテキスト内で表示するように意図されているコマンド
のためのものです。"global"は、常に特定のページに表示するコマンドです。

関連する Microsoft の暫定ドキュメント

メトロスタイルのアプリ用ナビゲーションの設計

GameManager はオブジェクトでは無く、このアプリで定義されている名前空間です
( メソッドは、default.js 内で定義されているユーザーメソッドです )

    WinJS.Namespace.define("GameManager", {
        navigateHome: navigateHome,
        navigateGame: navigateGame,
        navigateRules: navigateRules,
        navigateScores: navigateScores,
        navigateCredits: navigateCredits,
        showPreferences: showPreferences,
        onBeforeShow: onBeforeShow,
        onAfterHide: onAfterHide,
        game: game,
        state: state,
        assetManager: assetManager,
        scoreHelper: scoreHelper,
        gameId: gameId,
        touchPanel: touchPanel
    });



posted by at 2012-04-13 22:19 | Comment(0) | Windows8 Metro style | このブログの読者になる | 更新情報をチェックする

2012年04月09日

Win2K、WinXP、Win7 3世代同時運用のはじまり。

この記事は 2012/4/29 当時の古い記事です。この 1 年後には、Windows8 が追加されて、さすがに Windows2000 は現場から去り、2014/11/26 現在では WindowsXP もサポート外になったので、インターネットから外して、めったに電源が入る事はありません。

先月やっと i5-2500 の PC を買って揃いました。

そもそも、WinXP の乗っている PC では全く IE が使い物にならなくなったので、こうなりましたが、i5-2500 でも IE は遅いですね・・・。

まあ、ブラウザはそれぞれに良いところがあるので、平たく愛でる必要がありますが、メインは Google Chrome です。速さが作業量の命ですし。まだ、Firefox はインストールしていませんが、IE9、Chrome、Firefox の3つは避けては通れないのが実際です。

Win2K はあまり利用価値は無いのですが、ハードディスクが生きている以上いろいろ資料が詰まってはいます。しかし、モニタ切り替えは2台までなので、Win2K には、UltraVNC を入れて Win7 から参照にしました。これが思いの外快適で、動画でも表示しないかぎり、直接動かしてるのと殆ど変らないです。まあ、もともと遅いとは言え、Win2K そのものが XP から比べると軽いですし。



WinXP と Win7 のモニタ切り替えで、Win7 が 1024x768 に勝手に戻る問題もなぜか解決しちゃったし、ずっとインストールしたかった、DAZ3D の Genesis も使い始めたし、あとは『ボカロ』買って『光』にすれば・・・・・


やっと平凡になれそうです。





posted by at 2012-04-09 23:55 | Comment(0) | Windows | このブログの読者になる | 更新情報をチェックする
Seesaa の各ページの表示について
Seesaa の 記事がたまに全く表示されない場合があります。その場合は、設定> 詳細設定> ブログ設定 で 最新の情報に更新の『実行ボタン』で記事やアーカイブが最新にビルドされます。

Seesaa のページで、アーカイブとタグページは要注意です。タグページはコンテンツが全く無い状態になりますし、アーカイブページも歯抜けページはコンテンツが存在しないのにページが表示されてしまいます。

また、カテゴリページもそういう意味では完全ではありません。『カテゴリID-番号』というフォーマットで表示されるページですが、実際存在するより大きな番号でも表示されてしまいます。

※ インデックスページのみ、実際の記事数を超えたページを指定しても最後のページが表示されるようです

対処としては、このようなヘルプ的な情報を固定でページの最後に表示するようにするといいでしょう。具体的には、メインの記事コンテンツの下に『自由形式』を追加し、アーカイブとカテゴリページでのみ表示するように設定し、コンテンツを用意するといいと思います。


※ エキスパートモードで表示しています

アーカイブとカテゴリページはこのように簡単に設定できますが、タグページは HTML 設定を直接変更して、以下の『タグページでのみ表示される内容』の記述方法で設定する必要があります

<% if:page_name eq 'archive' -%>
アーカイブページでのみ表示される内容
<% /if %>

<% if:page_name eq 'category' -%>
カテゴリページでのみ表示される内容
<% /if %>

<% if:page_name eq 'tag' -%>
タグページでのみ表示される内容
<% /if %>
この記述は、以下の場所で使用します


Android SDK ポケットリファレンス
改訂版 Webデザイナーのための jQuery入門
今すぐ使えるかんたん ホームページ HTML&CSS入門
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX