忍者ブログ
[PR]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。



2024/05/03 18:59 |
買ったものリスト 2014/09/28
遺産相続したので高級寿司を食べてみた2 かるふぉるにあろ~る
☆☆☆☆☆

http://blog.livedoor.jp/geek/archives/51451616.html
https://twitter.com/cal_roll

早々と続編登場。
どんだけ高級寿司通い詰めてるんだよ。
1が売れたのかなんなのか、なんと全編ほぼフルカラーで紙質もアップしています。
しかしその分ページ数が減り、紹介店舗数も減っています。残念。
今回も下ですら二人で4万弱、そして上は10万超という高級寿司屋全8店飲み食い珍道中が描かれています。
どの店も本当に楽しそうに紹介されるので行ってみたくなるのですが、一回で食費一ヶ月分の店はさすがに行ききれない。
しかしわずか3ヶ月で遺産が半減してるのだが大丈夫か。

それにしてもナチュラルに遺産をごちそうになっている田中さんが何者なのかが気になります。


野村24時1 板倉 梓
野村24時2
野村24時3
☆☆☆☆

何一つ取り柄のないくたびれたおっさん、野村35歳。
父が作った借金をどうにかするため、節約のため3姉妹の家に番犬として居候する。
とか書くとハーレムものっぽいですが、そんなかんじの展開は全くありません。
概ねだめだめな、そして時々ほのぼのな日常が描かれます。
途中まではまあ普通でしたが、後半の展開が素晴らしかった。
懐かしいタイプのほのぼの4コマでした。


父とヒゲゴリラと私1 小池 定路
☆☆☆

なんというかまあ、特にどうでもいい。
PR


2014/09/28 21:01 | Comments(0) | 買ったもの
デッドアイランド リップタイド 5日目
前回の続き。

ボートを手に入れたので、ジャングルを色々見て回ります。
ピーター・スパイサーのあばら家の北にオリビエ・ウェンジの隠れ家を発見。
オリビエ"デスボーン"ウェンジが襲いかかってきました。
こいつ、これまでの"キラー"や"アンデッド"と違い、なんとインフェクテッドの変異体です。
ブッチャー以上の耐久力に攻撃力、なおかつノックバックもしないというとてつもなく厄介なボスです。
ここでついに初の死亡を喫することになりました。
正直どうしようもないかんじですが、フレアガンやグレネードを連発してどうにか撃退に成功です。

島の一番北東に行くと、そこからヘンダーソンに通じる唯一の道が倒木によって破壊されていました。
対岸にヘンダーソンが見えているのに、道がありません。
なんてことだ。
なお、一番北東は車で行けるのでボートの出番はありません。
なんだったんだボート。

仕方なくハライに戻り、ジャクソンに再度聞き込みです。
マリーナは片付けたからボートを使っていいぞ、という手土産を元にマーカス・ヴィラという宣教師の話を聞き出します。
なんでも絶望に埋まりかけたハライの意志を救った英雄だとか。
しかし食糧が尽きて、近くの店に出かけた後消息不明だそうです。
店まで行くと、マーカスはまだ生きていました。
大量のゾンビに囲まれて身動きができなかっただけのようです。
ゾンビの群れに火炎瓶を投げ込み、扉を閉めて安全を確保しつつ焼き殺します。
ジョー"オウガ"ソマレという固有名詞持ちブッチャーが居たみたいですが、いつのまにか焼死していたので気付きませんでした。
さてマーカス、プランBは何だ?
少し離れたところに食料庫があるので、そこから"食料"を取ってきてほしいとのことでした。

マーカスは微妙に挙動不審で、イメージする宣教師とはちがい、どちらかというと狂信者みたいなかんじです。
まあ現実なんてこんなものか。
とはいえ皆を助けようという意志はさすがにきちんと持っているようです。

マーカスを見つけた時点で、これまで封鎖されていたハライの安全区域に入ることができるようになります。
それまでここに来る手段が徒歩しか無くて大変だったのですが、ようやくマップ移動が使えるようになりました。
サブシナリオ。
マギーから、安全な場所を探しにいったが連絡のない友達を捜してくれ。
ヒューストンから無限クエスト、鎮痛剤を持ってきてくれ。

友達を捜しにジャングルに行くと、助けを求めているアルフレッドがいたので救助。
特に友達とは関係ない通りすがりでした。
さらに北に行くと、墜落したヘリとたくさんの死体が転がっていました。
ヘリねえ?
心当たりはセルポくらいしかないのですが特にイベントもないみたいでした。

さらに北に行くと隠れ家のようなところにミヤという女性が居ました。
声は可愛いのですが顔がいや、うんその。
軍が落としていった補給物資の食料を取ってきてくれ。

食料を探していると、ジミー・オニールの洞窟を発見。
中からジミー"デストラップ"オニールが襲いかかってこようとしました。
が、離れて火炎瓶を投げ込んできたらうっかりそれで死んでしまい、図鑑に登録されないままになってしまいました。なんてこった。

本作には"CASEBOOK"というモンスター図鑑があり、倒したモンスターはそれに記載されます。
ユニークなボスも記載されるのですが、出会う前に倒してしまうと登録されないという不具合が。
全ボス撃破実績もあるのですが、これは取れるのだろうか?


デッドアイランド ZOTY脱出記


2014/09/22 23:48 | Comments(0) | ゲーム
買ったものリスト 2014/09/21

パパロバ2 胡桃 ちの
パパロバ3
パパロバ4
☆☆☆☆

なんか2巻の最後のコマだけ見た記憶があるのだが他を読んだ覚えがない。
どういうことだ。
人間関係が複雑怪奇な割に進展があまりないので先が気になる。
最後まで続いてくれるならいいけど伏線放り投げにはならないでください。
まあこの作者なら大丈夫、かな?

小杉センセイはコドモ好き1 やまもとまも
☆☆☆

幼稚園の先生、小杉先生は子供好き。
子供好き(LikeじゃなくてLove)
これで男だったら即座に鉄格子付きの牢に一生幽閉だろうに、女だからという一点で何となく許されてしまう男女差別。
別につまらないと言うほどではないのだが、ただ話が何もないので一巻でもうもいいや。


無彩限のファントムワールド 秦野 宗一郎
☆☆

筆力は素晴らしいと言うほどではないがそこまで悪いというほどではない。
厨二キーワード満載のストーリーも悪くない。
しかし、いろいろな要素を詰め合わせ、まとめ上げたこの作品が、何故か異様につまらない。
なんなんだろう、このつまらなさ。



2014/09/21 23:55 | Comments(0) | 買ったもの
Unityをインストール
※自分用の実行メモ・備忘録です。
超詳しい記事が既にあるのでそっち見た方がいいです。

私はずっとWebでぺちぱーやってて、動きがあるものといえばせいぜいMinecraftのMOD作ってる程度なので専門外甚だしいのですが、今時のIT土方ならポリゴンくらい操れないとね、ということでUnityに手を出してみる。
せっかくGeForceGTX770買ったことだし。

まずUnityとはなにか、一回書けばWindows以外にもAndroidやiPhone、家庭用ゲーム機でも動かせるゲームを作れるゲームエンジンらしい。
昔Write onceなんとかいう言葉を聞いたことがあるような気がしますが気のせいでしょう。

まずはUnity Web Playerのインストール。
これは作ったアプリをブラウザ上で動かせるというFlashみたいなプラグインです。
アプリを公開してる人もたくさんいるので、遊んでみるだけでも入れておくといいかも。

次に本体をダウンロード。
https://store.unity3d.com/
http://unity3d.com/unity/download
本格的に仕事でフル機能を使う場合は1500ドルですが、機能制限版はフリーです。
個人レベルならそっちでも十分でしょう。
バージョンは4.5.2f1でした。
インストールオプションは全てデフォルトのまま。
インストールサイズはなんと4.4ギガバイト。
初回起動時にアカウント作成が必要ですが、適当に進める。
プロジェクトが開始されたら開発スタート!
とても簡単にインストール終了。

よく考えたらC++もC#も素人だった。


2014/09/19 23:30 | Comments(0) | その他
Vagrant上のCentOSにNode.jsをインストール
http://nodejs.jp/
http://nodejs.org/

Node.jsっていまいち意味がわからないんですよね。
ESとかv8ってなんだよ。

http://nodejs.jp/nodejs.org_ja/
> Node.jsは高速でスケーラブルなネットワークアプリケーションを 簡単に構築するためにChrome の JavaScript 実行環境 上に構築されたプラットフォームです。

http://ja.wikipedia.org/wiki/Node.js
> Node.js はイベント化された入出力を扱うUnix系プラットフォーム上のサーバーサイドJavaScript環境である

日本語でおk

とりあえずVagrantを起動。

nodebrewをインストール

https://github.com/hokaccha/nodebrew
nodebrewはNode.js専用のバージョン管理ツールらしい。
ヘルプに従ってインストール。
$ cd .
$ curl -L git.io/nodebrew | perl - setup
> Bareword found where operator expected at - line 3, near "400 Bad" (Missing operator before Bad?)
> Bareword found where operator expected at - line 6, near "<p>Your" (Missing operator before Your?)
> syntax error at - line 2, near "html>"
> Execution of - aborted due to compilation errors.

あれ?
何故かワンライナーが使えないので手動でゲット
$ wget git.io/nodebrew
$ perl nodebrew setup
> install nodebrew in $HOME/.nodebrew
> Add path: export PATH=$HOME/.nodebrew/current/bin:$PATH

インストールされたバージョンは0.7.4だった。

nodebrewパスの追加

インストールの最後にexportしろやと言われたので実行。
$ export PATH=$HOME/.nodebrew/current/bin:$PATH
ついでに.bashrcにも入れとく。
$ vi .bashrc
`export PATH=$HOME/.nodebrew/current/bin:$PATH`を追加。
$ source ~/.bashrc
$ nodebrew help
コマンドが見つかりませんと言われなくなったら成功。

Node.jsをインストール

全てnodebrewにお任せ。
# nodebrew自身を更新
$ nodebrew selfupdate
# 全バージョンを確認
$ nodebrew ls-remote
# 最新安定版をインストールする。コンパイルが遅い。
$ nodebrew install stable
# 最新安定版のコンパイル済のを入れてくれるらしい。早い。
$ nodebrew install-binary stable
# 使用するバージョンを選択
$ nodebrew use v0.10.29
# インストールされているバージョンを確認。currentが現在有効なバージョン。
$ nodebrew ls
install-binary stableした。
実行時点での最新安定版はv0.10.29。

動作確認。
$ node -v
> v0.10.29
インストールできた。
ここまで管理者権限を一切使ってないのが不思議。

JavaScriptファイルを作成

適当な場所にexample.jsを作成。
特にDocumentRoot以下とかでなくてもいい。
というかNode.jsはApacheやnginxと同等のWebサーバ的なものだったようだ。
ここまで進めてきて初めて知る真実。

中身は基礎から学ぶNode.jsパクリ流用。
var http = require('http');
http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.end('Hello World\n');
}).listen(1337, "192.168.33.10");
console.log('Server running');
極普通のJavaScriptである。
起動。
$ node path/to/example.js
> Server running
Node.jsが起動して192.168.33.10:1337を待ち受けるようになった。
簡単。
何故1337かは不明。

VirtualBox内のゲストOSのブラウザから192.168.33.10:1337にアクセス。

> Hello World

正常に動作した。

ホストOSのWindowsから192.168.33.10:1337にアクセス。

> このウェブページにアクセスできません

あれ?

iptables編集
# service iptables stop
Windowsから192.168.33.10:1337にアクセス。

> Hello World

行けた。
iptablesで1337番ポートが塞がれていたせいだった。
単にオフにするとセキュリティ的に困るので、必要なポートだけ空ける。
# iptables -I INPUT 7 -p tcp --dport 1337 -j ACCEPT
# service iptables save
# service iptables restart
"7"は環境によって違う可能性があり、REJECTと書いてある行を指定する。
REJECTの直前にACCEPT行が挿入され、ポート1337が使えるようになった。

これでサーバサイドJavaScriptが書けるようになった。
が、特段JavaScriptが得意ってわけでもないし特にやりたいこともなかったので何をやったらいいのかわからない。


2014/09/15 20:55 | Comments(1) | JavaScript
買ったものリスト 2014/09/14

魔法少女プリティ☆ベル10 KAKERU
魔法少女プリティ☆ベル11
魔法少女プリティ☆ベル12
魔法少女プリティ☆ベル13
魔法少女プリティ☆ベル14

いやあ、絶対に嘘をついてはいけない場面でまで嘘をつくその根性最高です。
最高に最低で胸糞悪ぃ。
最悪のラスボスとしてはケストラーにも並ぶのではなかろうか。

12巻P43の台詞にかなり違和感がある。
こんなチンピラみたいなことを言う人では無かろう?
まあ前巻のことがあって我慢できないほど腹に据えかねていたのかもしれませんが、それでも行動で示す人だったと思う。

なんか非常に思わせぶりな登場しておきながら何の活躍もしないまま終了するキャラが多々居るのですが、やはり今後また出てくるのだろうか。
そして魔界の言うアレと天界の言うあれはどうなるのか。

そして14感の最後のアイデアに嫌な予感しかしない。
ルルイエは果たしてどうなる。


2014/09/14 22:33 | Comments(0) | 買ったもの
デッドアイランド リップタイド 4日目
前回の続き。

リップタイドでは、クエストの一部として、チームクエストという要素が増えています。
拠点防衛クエストなどでは味方も戦ってくれますが、彼らのクエストをクリアすることで彼らの装備を強化することができます。
また、商品を売ってくれる味方は、クエストをクリアするとより強力なアイテムを売ってくれるようになります。
まあ、やることは普段のクエスト同様、指定されたアイテムを持っていくだけですが。
クエストを受注可能になり次第どんどん受けてしまってかまわないようです。

ハライ村に出かける途中、ジマカニの休憩所という展望台がありました。
付近には敵がおらず、わりと安全っぽい場所に見えます。
しかし近くでムガンビが襲われていたのでゾンビを撃退。
まあ車で轢いただけですが。
前作の車は不当にダメージが低く、全力で轢いてもゾンビが死なないことがあるくらいだったのですが、今回は逆にダメージがとても高く、徐行運転でもわりと死にます。
まあ車に当たったら普通そんなものですが。

休憩所のすぐ側に、クロスロード・バンガローという怪しい建物がありました。
壁には"DEAD ZONE"。
また中ボスか?と思いきや、雑魚がいっぱいいるだけで特に何もありませんでした。

さらに先に行くと彫りの深いルークが居たので救出。
こいつも通りすがりのモブです。
このモブを助けるイベント、今後の展開に何か影響があればいいんですけど実質全く意味がないのが残念。

ハライ村のジャクソンと話すも、既にボートは全て残っていないとのこと。
ジャクソンたちも好きで残っているわけではない、内陸のマリーナなら残ってるかもしれない、そこからヘンダーソンに行けるだろう、とのことでした。
ということでこんどはそちらに向かいます。

ハライ村のブルースから、密売人から白い粉を持ってきてくれ。
ブルース、いかにも挙動不審です。
密売人を捜しにジャングルの奥に行くと、非常に怪しい謎の像を発見しました。
マップに絵が出るくらいでゾンビがやたらひしめいていたのですが、奥にはベノムの改造書があるくらいでした。
その後密売人の家を発見。
奥で白い粉を発見するも、「自滅させてたまるか、ブドウ糖でも渡しておこう」
おお、サム・B意外と良識人。
ブルースに粉を渡すと、なんと彼と取引ができるようになりました。
大丈夫かお前。

近くにピーター・スパイサーのあばら家を発見。
ピーター"アンデッド"W・スパイサーとの激闘。
まあ離れてフレアガン撃ちまくるだけですけどね。

ボートを探してマリーナに辿り着くも、そこもすっかりゾンビの巣窟。
ここにも胡散臭い洞窟と像がありましたが、中には何もありませんでした。
ほとんどのボートは壊れていますが、一艘だけどうにか無事なボートを発見しました。
これまで踏破が困難だった水没ジャングルも、ボートに乗って水上を走り抜けることができるようになります。
また、ゲーム的な都合で、いちどボートを発見するとマップ中の至る所にボートが出現するようになります。
歩かなくていいのはいいのですが、これまでどこにもなかったはずのボートがそこらじゅうに溢れるってのはどうなんだ。
これまでの冒険はなんだったんだという感じが。

デッドアイランド ZOTY脱出記



2014/09/12 23:27 | Comments(0) | ゲーム
PHP5.6.0 「第24回オフラインリアルタイムどう書くの問題」をPHPで解く
http://qiita.com/Nabetani/items/1c83005a854d2c6cbb69
http://nabetani.sakura.ne.jp/hena/ord24eliseq/
多段階選抜

PHPには無限リストとか無いので、とりあえず大きな配列を作っておいて順に消していくという方針にするしかなさそうです。
イテレータやジェネレータを使うのも、このややこしい選抜条件では難しそうです。
うまく使える方法があれば誰か教えてください。
<?php
	class ELISEQ{
	
		/**
		* 多段階選抜
		* @param String 「ss6cc24S」みたいな文字列
		* @return String 「1,9,21,30,33,37,42,44,49,56」みたいな文字列
		*/
		public function get($input){
			// 1スタートの配列
			$this->list = range(0, 1100);
			unset($this->list[0]);
			
			// 各文字でくるくる
			$length = strlen($input);
			for($i=0;$i<$length;$i++){
				// 適切なメソッドを実行
				if((string)(int)$input[$i] === $input[$i] ){
					$this->_removeI((int)$input[$i]);
				}elseif($input[$i] === 'h'){
					$this->_removeH();
				}elseif(strtolower($input[$i]) === $input[$i]){
					$this->{'_removeB'.$input[$i]}();
				}else{
					$this->{'_removeA'.$input[$i]}();
				}
			}
			
			return implode(',', array_slice($this->list, 0, 10));
		}
		
		/**
		* 引数の倍数番目の値を削除。1スタート
		* @param int 2-9
		*/
		private function _removeI($int){
			$i=1;
			foreach($this->list as $val){
				if($i++===$int){
					unset($this->list[$val]);
					$i=1;
				}
			}
		}
		/**
		* 累乗数の次を削除
		* @param int n乗根
		*/
		private function _removeAS($n = 2){
			$delFlg = false;
			foreach($this->list as $val){
				if($delFlg){
					unset($this->list[$val]);
					$delFlg = false;
				}
				if(gmp_intval(gmp_rootrem($val, $n)[1]) === 0){
					$delFlg = true;
				}
			}
		}
		/**
		* 累乗数の前を削除
		* @param int n乗根
		*/
		private function _removeBs($n = 2){
			$before = reset($this->list);
			foreach($this->list as $val){
				if(gmp_intval(gmp_rootrem($val, $n)[1]) === 0 && $val !==1 ){
					unset($this->list[$before]);
				}
				$before = $val;
			}
		}
		/**
		* 立法数の次を削除
		*/
		private function _removeAC(){
			$this->_removeAS(3);
		}
		/**
		* 立法数の前を削除
		*/
		private function _removeBc(){
			$this->_removeBs(3);
		}
		/**
		* 先頭100件を削除
		*/
		private function _removeH(){
			$this->list = array_slice($this->list, 100, NULL, true);
		}
		
	}
	
	// 以下はテスト
	$test = [
		['ss6cc24S', '1,9,21,30,33,37,42,44,49,56'],
		['h', '101,102,103,104,105,106,107,108,109,110'],
		['hh', '201,202,203,204,205,206,207,208,209,210'],
		['hhh', '301,302,303,304,305,306,307,308,309,310'],
		['2', '1,3,5,7,9,11,13,15,17,19'],
		['22', '1,5,9,13,17,21,25,29,33,37'],
		['222', '1,9,17,25,33,41,49,57,65,73'],
		['3', '1,2,4,5,7,8,10,11,13,14'],
		['33', '1,2,5,7,10,11,14,16,19,20'],
		['333', '1,2,7,10,14,16,20,23,28,29'],
		['s', '1,2,4,5,6,7,9,10,11,12'],
		['ss', '1,4,5,6,9,10,11,12,13,16'],
		['sss', '4,5,9,10,11,12,16,17,18,19'],
		['S', '1,3,4,6,7,8,9,11,12,13'],
		['SS', '1,4,7,8,9,12,13,14,15,16'],
		['SSS', '1,8,9,13,14,15,16,20,21,22'],
		['c', '1,2,3,4,5,6,8,9,10,11'],
		['cc', '1,2,3,4,5,8,9,10,11,12'],
		['ccc', '1,2,3,4,8,9,10,11,12,13'],
		['C', '1,3,4,5,6,7,8,10,11,12'],
		['CC', '1,4,5,6,7,8,11,12,13,14'],
		['CCC', '1,5,6,7,8,12,13,14,15,16'],
		['23', '1,3,7,9,13,15,19,21,25,27'],
		['32', '1,4,7,10,13,16,19,22,25,28'],
		['2h', '201,203,205,207,209,211,213,215,217,219'],
		['h2', '101,103,105,107,109,111,113,115,117,119'],
		['sC', '1,4,5,6,7,9,10,11,12,13'],
		['Cs', '1,4,5,6,7,8,10,11,12,13'],
		['s468', '1,2,4,6,7,11,12,16,17,20'],
		['S468', '1,3,4,7,8,12,13,16,18,21'],
		['cc579', '1,2,3,4,8,9,11,13,15,16'],
		['CC579', '1,4,5,6,8,11,13,15,17,18'],
		['85', '1,2,3,4,6,7,9,10,12,13'],
		['sh', '110,111,112,113,114,115,116,117,118,119'],
		['94h', '150,151,154,155,156,158,159,160,163,164'],
		['h9c8', '101,102,103,104,105,106,107,110,111,112'],
		['Cc3s', '1,3,5,6,10,11,13,16,17,19'],
		['cs4h6', '149,150,152,153,154,157,158,160,161,162'],
		['84523c', '1,3,11,15,23,26,34,38,46,49'],
		['54C78hS', '228,231,232,233,236,241,242,243,246,247'],
		['65h7ccs', '151,152,153,154,157,158,160,163,164,165'],
		['c95hSc2C', '145,147,151,153,156,159,162,164,168,171'],
		['c5h3Ss794', '130,131,133,137,138,142,148,150,152,157'],
		['7ShscC846', '129,130,131,134,135,139,141,142,146,148'],
		['cshSCCS7ch', '253,254,256,259,260,261,263,264,265,266'],
		['hhC7849Ss6C', '201,202,203,205,206,211,212,216,220,225'],
		['hhsc3C987Ccs', '201,202,204,205,207,208,214,217,218,220'],
		['SC7S8hc59ss2', '162,169,174,178,182,185,188,194,199,203'],
		['s7S6c35C9CShc', '367,371,377,379,380,385,387,388,392,395'],
		['4scC3hh982Cc5s', '422,426,430,434,447,451,459,463,471,479'],
		['23h465Ssc9CchC', '1027,1033,1045,1047,1057,1069,1071,1075,1081,1093'],
	];

	$eriseq = new ELISEQ();
	foreach($test as $key=>$data){
		$answer = $eriseq->get($data[0]);
		if($answer !== $data[1]){
			print('えらー');
		}
	}
かかった時間はたぶん2時間くらい。

PHPはfunction hoge()とfunction HOGE()が区別されないのでメソッド呼び出しが残念な感じに。

foreachで回しつつ、ひとつ手前や次を取り出す綺麗な手段がいまいち無いんですよね。
前回の値を持っておくというなんだかな方法に。



2014/09/08 21:51 | Comments(0) | PHP
買ったものリスト 2014/09/07

魔法少女プリティ☆ベル6 KAKERU
魔法少女プリティ☆ベル7
魔法少女プリティ☆ベル8
魔法少女プリティ☆ベル9
☆☆☆☆☆

夢を見るのは悪いことなのか。

本作はこの問いに、明白な答えを出してくれます。

曰く、車を運転するときに見るべきは道とメーターと状況である。
夢を見たら居眠り運転である。

なんたる正解。


Xbox One + Kinect (Day One エディション)

発売日の時点ではまだイラネとか言ってたのに、店頭で見たForza5がすごすぎてうっかり衝動買い
でもForzaは買ってないとかいう。

とにかくデカい、そして静か。
やたら五月蠅かった360とは実に対照的で、うっかり起動してることに気付かないことがあるくらいです。
あとキネクトのQRコード認識力がものすごい。
これまでもあったコードの入力がQRコードでも可能になっているのですが、ぱっと見せるだけで確実に認識してくれます。
すごい。
でも音声には全然反応してくれません。何故だ。

なんかクリムゾンドラゴンが無料で付いてきたんだけど画面が回りすぎてよくわからん。
Forza5が週末だけフリープレイというサービスがあったのでやってみたが、やはりすごかった。
とりあえずTopgearのコースを撮影してみた。
http://www.nicovideo.jp/watch/sm24410840
他についてきたタイタンフォールとキネクトスポーツはまだ全然やってません。



2014/09/07 20:26 | Comments(0) | 買ったもの
PECL High resolution timing 高性能な時計
High resolution timingは、高性能な時計を提供します。
<?php
	$c = new HRTime\StopWatch;
	$c->start();
	$c->stop();
	
	var_dump($c->getLastElapsedTime(HRTime\Unit::NANOSECOND));
start()からstop()の間に何もしていませんが、手元のXAMPPではだいたい1000程度のfloat値が帰ってきます。
start()とstop()の間に1000ナノ秒程度の時間がかかっているようです。

http://www.php.net/manual/ja/intro.hrtime.php
> It uses the best possible APIs on different platforms which brings resolution up to nanoseconds.

最も性能の良いAPIを利用して時間を取得しているとのことです。
<?php
	$c = new HRTime\StopWatch;
	$c->start();
	time_nanosleep(0, 1);
	$c->stop();

	var_dump($c->getLastElapsedTime(HRTime\Unit::NANOSECOND));
time_nanosleep()で1ナノ秒スリープしているので、理論上は1ナノ秒だけプラスされるはずなのですが、実際は10000いくらかの値が返ってきます。
time_nanosleep(0, 0)でも同じような値になるので、関数呼び出しのオーバーヘッドが10000ナノ秒くらいあるようです。
time_nanosleep(0, 100)までは10000程度のまま値が変わらないのですがtime_nanosleep(0, 1000)あたりで急に500000くらいに値が増えてしまいます。
なぜだ。

実はWindowsのタイマはナノ秒の精度を持っていないので、そもそもtime_nanosleep(0, 1)のような設定をしても意味がないのであった。
いったい何に使えばいいんだHRTime。


2014/09/05 22:46 | Comments(0) | PHP

<<前のページ | HOME | 次のページ>>
忍者ブログ[PR]