エオルゼア日記(週記?)はじめました

PS4版の発売日から初めて3ヶ月。

なんだかんだとあっという間にエンドコンテンツまで到着してしまい淡々とタスクをこなす日々。

いずれは飽きちゃうんだろうけど、折角時間使ってゲームしてるんだしマイメモリーwくらいは残してもいいんじゃないかと思い周一で何やったかをメモることにしました。

で、初回。しょっぱななので結構盛り盛り。

【スタート】
種族:ミスラ(じゃなくてミコッテ)
職業:剣術士

容姿はアイドル好きのヨメが2時間かけて作ったムーンキーパーのミコッテ。
頬のハートがヒソカっぽくて好き。
毎日何時間も時間を取れないと思ったので、なんとなく手間のかからなそうな剣術士を選んでウルダハスタート。
10780_447091508756946_1774189851_n

剣術士LV23。ずっとピンク色装備。
1972443_467725340026896_752274562176489104_n

【クリアまで】
初心者タンクなので当然ダンジョンで色々やらかす。
一番はコンテンツルーレットで突入したカルン。未だにトラウマw
最後の2ダンジョン前で心が折れて、白をLv50に上げてメインクエ終了(2014/06)。
この間、セコセコ採掘で小銭を稼いだものの、何故最初に選んだのか意味不明の甲冑師で散財。

【クリア後】
知り合い3人で始めたのでフリーカンパニーをサクっと設立(2014/06)。
FC:Bossneko <Neko>

[2014年6月]クラフター本格始動。甲冑>鍛冶>彫金の順でカンストも、殆どがギルドリーヴの納品頼りだったので未だにHQ作るのが苦手。

[2014年6月]神話・戦記がどういうものか知り、一番簡単な真イフリートをひたすら巡回。
なんとか装備レベル70台に。

[2014年7月]戦記が900貯まりウェザード・ノクトロリカを貰うもあまりのダサさに愕然。ミラージュプリズムでセーラー投影。脚は種族。服+甲冑萌えなので以後ずっとこのビジュアル。

と7月上旬でこんな感じ。
平日はあんまりプレイできないので土日でちょいちょい進める感じかしら?

[FREEing]レーシングミク セパンVer 1/8



2013セパンは16番手スタート→6位入賞。予選がもう少しよかったらとも思うけど大健闘だった(みたいです)

で、そのセパンVerのミクが1年越しでフィギュア化。
相変わらずすさまじいクオリティのグッスマ・・・とおもったらFREEingからだった(制作はHEAVY GAUGE)
完成品でどこまで再現されるかすごい楽しみ(-ω-*)

そういえばHEAVY GAUGEのフィギュアってあんまり注目してなかったかも。と思って調べてみたら1つだけ買ってるのがあった。




閃乱カグラ -少女達の真影- 葛城 1/7

1/7で価格もそこそこ。脚フェチ魂に火がついて即ポチしたやつ。
こっちも早く届かないかなぁ(-ω-*)

amazonの商品IDを取得するブックマークレット(というかPHP)

amazonの商品が持つ固有のID拾うのが面倒なので超簡単なブックマークレットを作ってみました。
と言ってもURLから特定のセグメントを抜いているだけ。

最初はJavaScriptだけで完結するつもりだったのですが、

javascript:(function(){
	var url = document.location.href;
	var spliturl = url.split("/");
	window.alert(spliturl[5]);
})()

上の様にwindow.alert()で開いたアラートメッセージはChromeだとコピペが出来なかったので、window.openで別ページで表示するようにしました。

ブックマークレット

javascript:(function(){
window.open('http://sunadokei.chu.jp/test/getAmazonId/getAmazonid.php?mode=json&url='+escape(document.location.href));
})()

※上のスクリプトをブックマークに登録してAmazonの商品ページで実行。

PHP側

<?php
	$url = (isSet($_GET["url"]))?$_GET["url"]:"";
	$mode = (isSet($_GET["mode"]))?$_GET["mode"]:"id";

	$view = "";
	switch($mode){
		case "id" :
			$az = extractionAmazon($url);
			$az["amazon"]["id"];
			$view = ($az["amazon"]["param"]) ? $az["amazon"]["id"] : "IDを取得できませんでした";
			echo '<meta charset="UTF-8">';
			echo $view;
			break;
		case "json" :
			$view = json_encode(extractionAmazon($url),true);
			header("Content-Type: application/json; charset=utf-8");
			echo $view;
			break;
		default:
			break;
	}

	function extractionAmazon($url){

		//extract
		$TARGET_SEGMENT = 3;
		$parseurl = parse_url($url);
		$path = preg_split("/\//",$parseurl["path"]);

		//set variable
		$return["amazon"] = array();
		if (isSet($path[$TARGET_SEGMENT])){
			$return["amazon"]["id"] = $path[$TARGET_SEGMENT];
			$return["amazon"]["param"] = (preg_match("/^[A-Z0-9]/",$path[$TARGET_SEGMENT]))?true:false;
		}else{
			$return["amazon"]["id"] = "";
			$return["amazon"]["param"] = false;
		}
		return $return;
	}

※json_encodeのoptionを利用するのでPHP5.3以上必要。

やってることはURLばらしてJSONかただのIDだけにしてるだけ。
ロリポ設置で沢山アクセスがあると怒られそうなので自前で設置してもらえると良いかもです(・ω・`)
自前でPHPを設置する場合、ブックマークレットのパスを変更してください。

一応フォームからPHP呼び出し
http://keycreate.jp/test/getAmazonId/

JSONPの使い道>JSONをキレイに読み込むのに良かった

JavaScriptからJSONを取得する場合普通こうしますよね(jQuery)

var jsondata; //global
$.ajax({
  type: 'GET',
  url: 'hoge.json',
  dataType: 'json',
  success: function(json){
    jsondata = json;
  }
});

もちろん正解なのですが、なんというか長ったらしくてずっとイヤだなと思ってたんです。
ajax部分を関数にしたとしても利用するすべてのページにその関数を埋め込むのもカッコ悪いし、設定ファイルなんかを1回読むだけのケースだと関数が必要な事自体が馬鹿らしくて・・・。
自分の理想としてはこんな感じを思い描いてました。

var jsondata = [URL指定だけの何か]; //global

で、よくよく考えたら上に近い記述ができるのがJSONPでした。
(ちゃんと理解してないからすぐ思いつけない><)

1行にはなりませんでしたが2行です。どうでしょ?

読み込む側(HTML)

<script type="text/javascript">var callback = function(data){ console.log(data); }</script>
<script src="hoge.php?callback=callback"></script>

読み込まれる側(JSON)

callback({"hoge":"fuga"})

「ファッ!?JSONの拡張子がPHPになってんじゃねーか!」というご指摘…わかります。

一通りのブラウザで試してOKだったので不要な対応かもですが「Content-Type が text/javascriptじゃないとエラーになるよ」と見かけたのでPHPでheaderを指定して出力しています。

拡張子がPHPといっても中身はこんな感じでheaderを付けただけ。

header( 'Content-Type: text/javascript; charset=utf-8' );
echo 'callback({"hoge":"fuga"})';

PHP許可された環境じゃないんじゃゴルァ!という方は拡張子は.jsonのままでも良いかと思います。
(せめて.jsに変えたほうが安全かも?)

また、JSONファイルにJSONPでアクセスするためにはcallbackを記述をしなければならず、JSONファイル自体が汚れてしまうので「元データはJSON、callbackはPHP経由で」というほうが運用的にも良いような気がします。

読み込まれる元(hoge.json)

{"hoge":"fuga"}

JSONPで呼び出されるコード(callback.php)

$json = file_get_contents(hoge.json);
header( 'Content-Type: text/javascript; charset=utf-8' );
echo 'callback('.$json.')';

※JSONPは理解しないで使うと危ないです。しっかり理解して実装しましょう。
[気になる]JSONPの守り方 (1/3)

そもそもJSONPってどうやって使うの?な人はこちらがわかりやすいです。
JSONPで悩むある程度の人々へ