SQLの窓 イラストAC フリー素材

2014年06月28日

DAZ3D : Anwyn の微笑み

Anwyn Warrior

Anwyn と言っても、Google でもなにも特別なものはヒットしません。固有名詞だと思われますが、DAZ3D での製品名なので、それくらいしかありません。 でも、アルファベットの並びとかは女性名詞らしく、画像検索ではそんな感じです。 そこで、日本語で『とは検索』とかあるので、『what is Anwyn』で探してみると、どうやらやはり女性名詞で、『very fair』という意味があるそうです。これは『マイ フェア レディ』系で、『とても美しい』という意味のようです(但しかなり古い表現の可能性があります)。 おっと。Wikipedia に(近いものが)ありました。
一説に拠れば、アヴァロンという言葉は妖精の世界、または冥界を指すブリタニック語の「アンヌン(Annwyn)」が英語化したもの
やはり、妖精の世界が関係してました。(万歳)
posted by at 2014-06-28 15:50 | Comment(0) | DAZ3D DAZStudio イラスト 2014 | このブログの読者になる | 更新情報をチェックする

がう。



最近とてもとても自分が気が小さいのが気になります。

だれかに頼りたいです。



posted by at 2014-06-28 15:15 | Comment(0) | 手書きブログ | このブログの読者になる | 更新情報をチェックする

Google Chrome デベロッパーツールの JavaScript の整形

Pretty Print JavaScript

ソースを表示しているウインドウの左下の {} ボタンをクリックします。戻す時は、左側の現在選択されているソース名をクリックします。

▼ 実行前



▼ 実行後





posted by at 2014-06-28 14:38 | Comment(0) | Google Chrome | このブログの読者になる | 更新情報をチェックする

2014年06月26日

複数の YouTube の動画を JavaScript Player API を使って連続再生する( 一般プレーヤー )

YouTube JavaScript Player API リファレンス には、一般プレーヤーと、クロムレス プレーヤーがあります、ドキュメントの説明は特にその差を気にしないで読むといいと思います。

※ クロムレス プレーヤーはコントロールを全て自分で作る必要があります。
※ 厳密にはプレイヤー内でたまにエラーが発生する事があります

1) onYouTubePlayerReady というコールバック関数を実装する必要があります。
2) プレーヤーの読み込みが完了し、API で呼び出しを受け取ることができるようになると、
  API はこの関数を呼び出します。
3) function onYouTubePlayerReady(playerid) と定義する事によって、URL
  引数で playerapiid がプレーヤーに渡されている場合、この関数にも
  渡されます。

4) onStateChange は、プレーヤーの状態が変わると起動します。値には、
  未開始(-1)
  終了(0)
  再生中(1)
  一時停止中(2)
  バッファリング中(3)
  頭出し済み(5)
  があります。SWF を初めて読み込んだときは、未開始(-1)イベントが
  ブロードキャストされます。動画の頭出しをして再生の準備が整ったら、
  頭出し済みイベント(5)がブロードキャストされます。

8秒と9秒の繰り返しです

ローディング中です

クロムレス プレーヤーのソースコードは logcalerror まで。

jQuery+通常プレーヤー
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/swfobject/2.2/swfobject.js"></script>

<!--埋め込み場所-->
<span id="mess">ローディング中です</span>
<div style='width:425px;height:356px;background-color:#E0E0E0;'>
<div id="ytapiplayer"></div>
</div>

<script type="text/javascript">
// JavaScript から SWF へアクセスする為に必要
var params = { allowScriptAccess: "always" };
// OBJECT 用の ID
var atts = { id: "object_id" };
// 埋め込み
// enablejsapi=1 で、JavaScript からアクセス
// playerapiid=ytplayer は、onYouTubePlayerReady イベントで
// オブジェクトを区別する為の文字列
swfobject.embedSWF(
	"http://www.youtube.com/v/_Hb_PPGDBLc?enablejsapi=1&playerapiid=ytplayer", 
	"ytapiplayer", "425", "356", "8", null, null, params, atts
);

// プレイヤーが使えるようになると呼び出される
function onYouTubePlayerReady(playerId) {
	this_player = $("#object_id")[0];
	// 初回サムネイル
	this_player.cueVideoById("ci5tOkmr-xo");
	// 終了イベントを知る為のイベント登録
	this_player.addEventListener("onStateChange", "onytplayerStateChange");

	$("#start_btn")
		.attr("type","button")
		.val("複数動画ループ開始")
		.click(function(){
			$("#object_id")[0].loadVideoById("_Hb_PPGDBLc", 0);
		})
		.show();

	$("#end_btn")
		.attr("type","button")
		.val("複数動画ループ終了")
		.click(function(){
			$("#object_id")[0].stopVideo();
		})
		.show();


	$("#mess").hide();
}
var flg = 0;
function onytplayerStateChange(newState) {
	if ( newState == 0 ) {
		// 次のムービー
		if ( flg % 2 == 0 ) {
			$("#object_id")[0].loadVideoById("TFwr7egMyu8", 0);
		}
		if ( flg % 2 == 1 ) {
			$("#object_id")[0].loadVideoById("_Hb_PPGDBLc", 0);
		}
		flg++;
	}
}
</script>
<br>
<input id="start_btn" style='display:none'>
<input id="end_btn" style='display:none'>




posted by at 2014-06-26 14:16 | Comment(0) | JavaScript | このブログの読者になる | 更新情報をチェックする

2014年06月25日

【VBS】WshShell.Runによる外部プログラムの実行のバリエーションと注意事項

VBScript を何の為に使うかという場合、最も一般的に利用価値の高いのは、やはりプログラムの実行です。

わりと簡単に使えるのですが、プログラム(言語)でもあるので、専門知識が無ければ、なかなか難しい部分もあります。しかし、実行だけで言えば、2行で書けるので、その場合に「できること」を知っておくと絶対に得をします。

同期処理(コマンドプロンプトウインドウを開かない)
Set WshShell = WScript.CreateObject("WScript.Shell")
Call WshShell.Run( "zip.exe -r homepage D:\nifty\homepage", 0, True )


同期処理(コマンドプロンプトウインドウを開く)
Set WshShell = WScript.CreateObject("WScript.Shell")
Call WshShell.Run( "zip.exe -r homepage D:\nifty\homepage", , True )


非同期処理
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run( "zip.exe -r homepage D:\nifty\homepage" )

関連するページ

WshShell.Run による外部プログラムの実行 :外部プログラムの実行



posted by at 2014-06-25 20:43 | VBScript | このブログの読者になる | 更新情報をチェックする

2014年06月23日

jQuery/JavaScript : 新しく開かれたウインドウのウインドウコントロール

新しいウインドウを開く方法としては、アンカーから開く場合と window.open から開く場合に大きく分かれますが、前者のほうは開かれたほうから親ウインドウを参照可能(window.opener)ですが、親ウインドウから子ウインドウの参照ができないので、子ウインドウ側で、親ウインドウにウインドウを引き渡す必要があります。

※ Window を閉じる場合、IE だけ確認ダイアログが出るのでそれを回避するコードを実装しています

▼ 親ウインドウ
<!DOCTYPE html>
<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>リンクから開いたウインドウのアクセス(親)</title>

<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<link rel="stylesheet" href="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.1/themes/base/jquery-ui.css">
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.1/jquery-ui.min.js"></script>

<script type="text/javascript">
// ▼ この変数に、開いたウインドウから値をセットします
var childWindow = null;
var userAgent = window.navigator.userAgent.toLowerCase();
// ***********************************************
// 画面初期化後のイベント( jQuery )
// ***********************************************
$(function() {

	$("#closeButton")
		.attr("type","button")
		.val("閉じる")
		.click(function(){
			if (userAgent.indexOf("msie") > -1 || userAgent.indexOf("trident/7.0") > -1 ) {
				(childWindow.open("","_self")).close();
			}
			else {
				childWindow.close();
			}
		});

});
</script>

</head>
<body>

<input id="closeButton">
<br><br>

<a href="link2winChild.php?id=childWindow" target="_blank">新しいウインドウを開く</a>

</body>
</html>


▼ 子ウインドウ( php です )
<!DOCTYPE html>
<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>リンクから開いたウインドウのアクセス(子)</title>

<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<link rel="stylesheet" href="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.1/themes/base/jquery-ui.css">
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.1/jquery-ui.min.js"></script>

<script type="text/javascript">
// ***********************************************
// 画面初期化後のイベント( jQuery )
// ***********************************************
$(function() {

	window.opener.<?= $_GET['id'] ?> = window;

	$("#closeButton")
		.attr("type","button")
		.val("閉じる")
		.click(function(){
			if (window.opener.userAgent.indexOf("msie") > -1 || window.opener.userAgent.indexOf("trident/7.0") > -1 ) {
				(window.open("","_self")).close();
			}
			else {
				window.close();
			}
		});

});
</script>

</head>
<body>

<input id="closeButton">

</body>
</html>


これに対して、window.open の場合は、相互に参照する事ができます。

▼ 親ウインドウ
<!DOCTYPE html>
<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>window.open から開いたウインドウのアクセス(親)</title>

<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<link rel="stylesheet" href="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.1/themes/base/jquery-ui.css">
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.1/jquery-ui.min.js"></script>

<script type="text/javascript">
// ▼ この変数に、window.open の戻り値をセットします
var childWindow = null;
// ***********************************************
// 画面初期化後のイベント( jQuery )
// ***********************************************
$(function() {

	$("#closeButton")
		.attr("type","button")
		.val("閉じる")
		.click(function(){
			childWindow.close();
		});

	$("#openContent")
		.attr("href","#")
		.click(function( event ) {
			// メソッドでウインドウを開く
			// status 以降はブラウザによって違います
			childWindow = window.open(
				"open2winChild.php",
				null,
				"height=400"+
				",width=400"+
				",top=0"+
				",left="+(screen.width-400-20)+
				",status=yes"+
				",toolbar=no"+
				",menubar=no"+
				",location=no"
			);
			event.preventDefault();
		});

});
</script>

</head>
<body>

<input id="closeButton">
<br><br>

<a id="openContent">新しいウインドウを開く</a>

</body>
</html>


▼ 子ウインドウ
<!DOCTYPE html>
<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>window.open から開いたウインドウのアクセス(子)</title>

<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<link rel="stylesheet" href="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.1/themes/base/jquery-ui.css">
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.1/jquery-ui.min.js"></script>

<script type="text/javascript">
// ***********************************************
// 画面初期化後のイベント( jQuery )
// ***********************************************
$(function() {

	$("#closeButton")
		.attr("type","button")
		.val("閉じる")
		.click(function(){
			window.close();
		});

});
</script>

</head>
<body>

<input id="closeButton">

</body>
</html>

また、window.open の拡張形として showModalDialog というメソッドに関していろいろ情報がありますが、結論として WEB ではいろいろ無理があるようです。今後は jQuert UI のメソッドを使うのが一番簡単な代替だと思いますが、ダイアログ内を別ウインドウとして管理したい場合は、IFRAME を使う事になると思います
<!DOCTYPE html>
<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>jQuery ダイアログ</title>

<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<link rel="stylesheet" href="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.1/themes/base/jquery-ui.css">
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.1/jquery-ui.min.js"></script>

<script type="text/javascript">
// ***********************************************
// 画面初期化後のイベント( jQuery )
// ***********************************************
$(function() {


	$("#dialog1")
		.attr("type","button")
		.val("モーダルダイアログ")
		.click(function(){

			$( "#text-message" ).text("ダイアログ内部のメッセージです");
			$( "#dialog-message" ).dialog({
				modal: true,
				title: "ダイアログのタイトルです",
				close: function() {
					console.log("x ボタンがクリックされました");
				},
				buttons: [
					{ 
						text: "確認",
						click: function() {
							$( this ).dialog( "close" );
							console.log("確認 ボタンがクリックされました");
						}
					},
					{
						text: "キャンセル",
						click: function() {
							$( this ).dialog( "close" );
							console.log("キャンセル ボタンがクリックされました");
						}
					}
				]
			});

		});

	$("#dialog2")
		.attr("type","button")
		.val("モーダルダイアログ(IFRAME 利用)")
		.click(function(){

			$( "#dialog-iframe" ).dialog({
				modal: true,
				title: "ダイアログのタイトルです",
				width: 720,
				close: function() {
					console.log("x ボタンがクリックされました");
				},
				buttons: [
					{ 
						text: "確認",
						click: function() {
							$( this ).dialog( "close" );
							console.log("確認 ボタンがクリックされました");
						}
					},
					{
						text: "キャンセル",
						click: function() {
							$( this ).dialog( "close" );
							console.log("キャンセル ボタンがクリックされました");
						}
					}
				]
			});

		});


});
</script>


</head>
<body>

<input id="dialog1">
<br><br>
<input id="dialog2">


<div id="dialog-message" title="" style='display:none;'>
<p id="text-message" style="font-weight:bold;color:#CB3232;">
</p>
</div>

<div id="dialog-iframe" title="" style='display:none;'>
<iframe
	src="range.php"
	name="iframe_win"
	id="iframe_win"
	frameborder="0"
	scrolling="no"
	width="680"
	height="380"
	style=''
></iframe>
</div>



</body>
</html>

一つ目のダイアログは、単純に DIV を使用したものです。



二つ目は、その DIV の中に IFRAME で別のウインドウの情報を表示しています。





posted by at 2014-06-23 14:34 | jQuery | このブログの読者になる | 更新情報をチェックする

2014年06月22日

DAZ3D : Night Hawk 上段三日月蹴り (new=>) Young Night Hawk

古い絵をリニューアルしました。キャラクタのチューニングを細かくやって、いろいろなカメラ角度とポーズを試してみました。

▼ 背景透過(png)

▼ 背景透過(png)
▼ 背景あり(jpg)
Young Night Hawk : フリーダウンロードギャラリーへ移動 上段三日月蹴り : フリーダウンロードギャラリーへ移動 やはり、しょせんフィギュアなのでおもいっきりの上段廻し蹴りは無理だったので、余裕のある位置で三日月蹴りです。三日月蹴りは、横から廻すのでは無く、ねじり込むような前蹴りのような廻し蹴りを想定しています。 ですから、上体にも余裕があります。
posted by at 2014-06-22 21:42 | Comment(0) | DAZ3D DAZStudio イラスト 2014 | このブログの読者になる | 更新情報をチェックする

2014年06月20日

Windows レンタルサーバー(共用サーバー)

Windows レンタルサーバー(共用サーバー)の比較

昔仕事で使っていた、Windows サーバーのホスティング会社のドメインが、コスメのサイトになっていました。
この記事には、元々のホスティング会社の事が書いてあったのですが、仕方なく関連するリンクを貼っています。

Windows サーバのメリットははっきり言ってあまりあるとは思えません。無いとも言えませんが、とても限定的です。社内サーバーならば当然リモートアクセスもできたりしますし、SQLExpress で十分DBもまかなえるのでいろいろいい事もあるでしょうが、一般の人がアクセスするサーバとして Windows( Microsoft )がはたして我々を正しく守ってくれるかどうかというと、かなり不安です。

結局、ASP.NET という資産を持っている組織限定のメリットになるんだろうなぁ・・・と思います。


マーケットの変遷と競争の中で改めて認められるUNIXの存在意義

LinuxのUNIXやWindowsとの違い



posted by at 2014-06-20 02:45 | その他 | このブログの読者になる | 更新情報をチェックする

2014年06月19日

複数行のグループデータを1行にまとめるSQL

縦のデータを



case で行毎の表示列を作成する

select 
	コード
	,case 行 
	when 1 then 内容
	else null
	end as 内容1
	,case 行 
	when 2 then 内容
	else null
	end as 内容2
	,case 行 
	when 3 then 内容
	else null
	end as 内容3
 from data
後は、group と max で一つの行に
select 
	コード
	,max(case 行 
	when 1 then 内容
	else null
	end) as 内容1
	,max(case 行 
	when 2 then 内容
	else null
	end) as 内容2
	,max(case 行 
	when 3 then 内容
	else null
	end) as 内容3
 from data
 group by コード
MySQL でのサンプルですが、SQLServer、PostgreSQL、Oracle でも可能です。 各構文のサンプルはこちらから ※ 分解には、UNION を使います。
posted by at 2014-06-19 14:09 | DB関連 | このブログの読者になる | 更新情報をチェックする

Three.js : Vector3 オブジェクトのコンストラクタ / result = x || 0; という書き方

var x;
var result = x || 0;
で、result に入るのは、x と 0 の論理和では無く、最初に 真になった結果または、最後に false になった結果です。undefined も "" も 0 も false 扱いですが、この書き方だと、x に false や "" が入っている時は result は 0 になるという書き方です。 ですから、var obj = new THREE.Vector3(); は、obj.xとobj.yとobj.z は全 て0になっています。
THREE.Vector3 = function ( x, y, z ) {

	this.x = x || 0;
	this.y = y || 0;
	this.z = z || 0;

};




タグ:javascript
posted by at 2014-06-19 00:03 | Comment(0) | Three.js | このブログの読者になる | 更新情報をチェックする
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