忍者ブログ
[PR]
×

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



2025/11/28 23:33 |
買ったものリスト 2011/01/16
FLAPPY DX300問の201面~300面をクリアしました。

何故か101~200面より先にクリアしてしまったぜ。
というか100面代後半マジムズイ。
残りは180,181,190,194,196,200の6面なんだけどどうにも解法を見つけられない。


文学少女と恋する挿話集4 野村 美月
☆☆☆☆☆

相変わらずレベル高すぎる文章だ。
現存のラノベ作家中でもトップクラスの一人だと思う。
しかしそれだけに、それだけに電車の中で読むのが非常に危険な一冊でもある。
本を読んでて突然嗚咽して泣き崩れるおっさんとか公害極まりないぜ!

さて、そろそろ捏造エピソードで引っ張り続けるのも限界じゃなかろうか、と思えば次巻で完結するらしい。
終わってしまうかと思うとそれはそれで寂しいものがあるな。
まあ野村美月は今後作者買い決定しているが。


やおよろっ!3 なつみん
☆☆☆☆

日本には八百万の神がいるわけですが、その全キャラクターを紹介するという希有壮大遠大迂遠な一大プロジェクト、やおよろ。
ようやく100人くらい紹介できたようなないような、そのペースではFSSを越えてしまうぞ!さあ!早く続きを!

しかし蚊ちゃんは無駄に可愛すぎる。


角刈りすずめ1 KICHIJo
☆☆☆☆

角刈りのおっさんが毎回特殊な麻雀を繰り広げる、そんな話。
「特殊なルールの麻雀」ではなく「特殊な麻雀」
どんな風に特殊かというと、
・牌が一枚100Kg
・牌が球形
・牌が自動車
・牌がハムスター

特殊にも程があるわ。
毎回馬鹿馬鹿しい発想でしょうもないんだけど次を読みたくなってしまいます。
ちなみに麻雀漫画としての価値は0なので参考には全くなりません。


聖☆おにいさん5
聖☆おにいさん6 中村 光
☆☆☆

イエスとブッダが下町生活という出オチ100%な作品。
こんなに続くとは思っていなかったが特につまらないというわけでもなく、くるくる日常ものとして定番になりつつあるようなそうでもないような。
この手のものって特に感想書きたいこととか出てこないんだよな。
PR


2011/01/16 20:43 | Comments(0) | TrackBack() | 買ったもの
今週の実績 2011/01/16
2011/01/15の実績

FINAL FANTASY XIII

ドルガンの賜杯 30
冥碑より示された高難易度のミッションをすべて達成した証です。

草色の征伐者 30
おなじみの緑のアイツと、その親玉をこらしめた証です。

2011/01/11の実績

DanceEvolution

OLD SCHOOLフィーバー 20
3曲連続で“OLD SCHOOL”ジャンルの曲をプレーする。

CLUBフィーバー 20
3曲連続で“CLUB”ジャンルの曲をプレーする。

FINAL FANTASY XIII

ギサールの勲章 15
チョコボに乗って、埋もれたお宝をゲットした証です。

2011/01/09の実績

FINAL FANTASY XIII

淘汰の勝利者 30
魔境の巨人に示された試練を勝ち抜いた証です。


2011/01/16 18:19 | Comments(0) | TrackBack() | 実績
くらのすけ「岩田って社長は何もわかってねーなー(キリッ」
http://mixi.jp/show_friend.pl?id=596597
http://twitter.com/LouiceCyphre
http://twitpic.com/photos/LouiceCyphre
http://picasaweb.google.com/Lui.Cyfer

http://twitter.com/LouiceCyphre/status/23634753706008576
任天堂はすごいと思うが(敵だから嫌いだが)、この岩田って社長は何もわかってねーなー。
ブーメラン投げ過ぎ。技術の何もわかってねーなー。

ブーメランの例

http://twitter.com/LouiceCyphre/status/8838465445695488
GT5のネガキャンの人たち ほんと、この人たち、誰と戦っているんだろうなー?
買う人は買うし、楽しむ人は楽しむんだから、お互いに好きなもので幸せになってればいいのに。
他ハードで欲しいゲームが出たときの羨望感はわかるがw
http://twitter.com/LouiceCyphre/status/7015926729801728
だいたい、キネクトは要求環境が欧米を基準にし過ぎだってば。
広い部屋が必要なんでしょ? 日本は狭いんだってば。
仕事から帰ってきて深夜に体を動かしたくないし、周囲に迷惑だっつーの。まあ、欧米では売れるかもね。
http://twitter.com/LouiceCyphre/status/7015155317612544
キネクト、残念な結果らしいですね。
ゲームで体を動かしたいとまったく思わないので、私には当然なんですが。
いや、でもMOVEはMOVE自体はどうでも良いが、会社に頑張ってもらわないと困るので買いますけどね。
ゲームは現実の動きをコントローラーに抽象化してるから面白いわけで。
http://twitter.com/LouiceCyphre/status/2381109727858690
まあ、嬉しいっちゃ嬉しいんだけど、
Wiiが下火なのは割と購入層に行き渡っているっていうこともあると思うけど。
ハードを2台買う理由はないからねー。
あ、箱は知らん。別に日本メーカーじゃねえし、どうでも良い。
消えちゃっても良い、正直。
http://twitter.com/LouiceCyphre/status/29029133220
だって、Wiiも売れてないし、誰も棒振りゲームを今欲していないってことでしょ。
私はもともと欲しいと思ってなかったし。なんとなく目新しさに飛びついただけだと思うんだ。
いまさら、その二番煎じをだしてもさ。
あ、でも、私は買いますよw
http://twitter.com/LouiceCyphre/status/15047407347695616
あんまり何かのアンチとか言いたくはないが(宗教上の理由で任天堂は触れませんがw)、
アンチDeNAだけは明言しておこう。 ヤクザじゃねえか。まあ、うちも排除勧告されているみたいだが。
ちと、個人的には毛色が違う気もするが


http://twitter.com/LouiceCyphre/status/10369711564918784
人の真剣さを笑う人間にはなりたくねーなー。まあ、真剣な犯罪とかは困りますが。
http://twitter.com/LouiceCyphre/status/23634753706008576
任天堂はすごいと思うが(敵だから嫌いだが)、この岩田って社長は何もわかってねーなー。
ブーメラン投げ過ぎ。技術の何もわかってねーなー。
ttp://twitter.com/LouiceCyphre/status/23898918753
カプコンの稲船って人、なんであんなに日本の企業を目の敵にしてるの? アメリカ人なの? MSに金もらってるの?


http://twitter.com/LouiceCyphre/status/28916641372
これの24の書き込み、激しく同意。
趣味が合う合わないは、もちろんあるだろうけど、趣味に金や時間をかけることをケチってる人とは仲良くなれん。
だから、美味しい店とかバー教えてよって安易に聞いてくる奴も好きじゃない。自分で探せ。
ハード論争ってどうなんですかね? って言ってる人が出すハードを選り好みしてるような気がするが……。
ラストストーリーは面白そうだけど、Wiiだし買いません。ごめんなさい。いくつもハードもてるほどお金持ちじゃないのだ。
http://twitter.com/LouiceCyphre/status/22542730922
たとえ、サガシリーズだろうとFFシリーズだろうと、このハードでるなら買わない。残念だ。
ハードの垣根をオレに越えさせるのは、松野さんが作ったオウガバトルサーがシリーズか、Xenogearsの正史のみ。


http://twitter.com/LouiceCyphre/status/7739186685677568
しかし、にんしんさんも甘いよね、にんしんとしてw
私は任天堂・MSのハードに触ったことすらないというのにw
とか言ってみるw まあ、オウガがその辺のハードで出ていたら
買っちゃったけどさw オウガじゃしょうがない。うん。
http://twitter.com/LouiceCyphre/status/4115507863101440
運命の輪で、初めてタクティクスオウガをやるヒトには、バルマムッサの選択は打算抜き(今後の展開を考えたりせず)で悩んで欲しいなー。
当時、私も高校生のガキな頭で、1時間ぐらい悩みましたw翌日、登校して友達間で意見が割れて非常に面白かった。

正体

http://twitter.com/LouiceCyphre/status/22805554866950144
おお、開発していた機種がいくつか正式発表されたみたいだ。さてさて、評判やいかに。
http://twitter.com/LouiceCyphre/status/22827863019360256
正式名称は、arcになったのかwww
http://twitter.com/LouiceCyphre/status/22827544424222720
しかし、コードネームがそのまま発表されているのかしらん?
やたらとコードネームのままで書かれているけど……。
http://twitter.com/LouiceCyphre/status/24618690574024704
おおおお、arc、2位かよ。すばらしい。

arcとは

http://plusd.itmedia.co.jp/mobile/articles/1101/07/news014.html
http://www.sonyericsson.com/cws/products/mobilephones/overview/xperiaarc?cc=gb&lc=en


最も共感したコメント。
787 名前:名無しさん必死だな 本日のレス 投稿日:2011/01/15(土) 03:02:31 mMVZ2T5s0 http://twitter.com/LouiceCyphre/status/24991606947975168
ほんと、基本的な知識のない消費者が増えてきているよなー。
なんでも人任せにしすぎなんだよね。
まず自分で何が出来るかを考えたり試したりしてみろよ、と。
これをしたが、駄目だったので、どうにか出来ますか? だろ?

これが一番どうかと思う、エンジニアとしては


ソニーエリクソンのエンジニアが任天堂社長を批判
http://kamome.2ch.net/test/read.cgi/ghard/1295016487/


2011/01/15 02:54 | Comments(6) | TrackBack() | 戯言
ノムリッシュ VS EOE
ノムリッシュ
主人公のライトニングはパルスのファルシに選ばれたルシ。
ファルシの中心、力の源にはクリスタルがあり、機能に合わせて周囲を形作る物体がファルシにあたる。
ファルシはクリスタルを内包した神の機械と呼べる存在。
ファルシを作ったさらに大きな神がファブラの神話におり、その神が残した機械がファルシであり、人間からすればファルシは神に等しい存在。
神の機械であるファルシがいろいろなものを生み出し、人間の生活を豊かにしている。

ファルシがルシになる者へ使命を伝える方法がビジョン。
ファルシに選ばれたルシはビジョンを見て烙印を押されルシとなる。
ビジョンは映像のようなものだが具体的に使命がわかるものではなく、ルシによる解釈によってビジョンから得るものが変わる。
ファルシはパルスにもコクーンにもあり複数存在する。
しかし、コクーンでパルスのファルシが発見されることは異常事態であり珍しいこと。
普通ならばコクーンのファルシはコクーンだけ、パルスのファルシはパルスだけに存在するからだ。

パルスのルシはコクーンに出現することがなかったため、人々はパージの発生まで現実に存在するとは思っていなかった。
コクーンは閉鎖空間だが完結しておらず、コクーンの外側にパルスの世界が存在する。
日本語訳
主人公のライトニングは、下界の召喚獣に選ばれた召喚士。
召喚獣の中心、力の源にはクリスタルがあり、クリスタルが機能にあわせた肉体を纏った姿が召喚獣にあたる。
召喚獣はクリスタルを内包した、神の使者と呼べる存在。
召喚獣を作ったさらに大きな神がファブラの神話に居るのだが、人間からすれば召喚獣の時点で神にも等しい存在なのだ。
神の使者である召喚獣が色々なものを生みだし、人間の生活を豊かにしている。

召喚獣が召喚士になる者へ与える使命は、啓示と呼ばれる。
召喚獣に選ばれた者は、啓示を与えられ、烙印を押されて召喚士となる。
啓示は映像のようなものだが、具体的ではなく抽象的なもので、召喚士の解釈によって、啓示から得るものが変わってくる。

召喚獣は、下界にも天界にもおり、複数存在する。
しかし、天界で下界の召喚獣が発見されることは異常事態である。
普通ならば、天界の召喚獣は天界に、下界の召喚獣は下界にのみ存在するからだ。

EOE
マシンガンでスクラッチダメージを与えてハンドガンでスクラッチダメージをダイレクトダメージにしてください。
マシンガンは威力が大きいですが時間と共に回復してしまうスクラッチダメージしか与えられません。
ハンドガンは威力が小さいですがマシンガンで与えたスクラッチダメージを実際のダメージ、ダイレクトダメージに確定できます。
グレネードは威力が大きいダイレクトダメージを与えられますがコストが高くて個数が少ないので使いどころを厳選しましょう。

主人公達のパーティーには『I.Sべゼル』の値があります。
I.Sべゼルを1消費することで移動しながらの攻撃『インビンシブルアクション』が出来ます。
インビンシブルアクションする時に味方二人の間を横切ると敵を撹乱したことにより『レゾナンス・カウント』が溜まり『レゾナンスアタック』が使えるようになります。
レゾナンス・カウントが多ければ多い程より長くレゾナンスアタックができるようになります。
日本語訳
マシンガンで仮ダメージを与えてハンドガンで仮ダメージを実ダメージにしてください。
マシンガンは威力が大きいですが時間と共に回復してしまう仮ダメージしか与えられません。
ハンドガンは威力が小さいですがマシンガンで与えた仮ダメージを実際のダメージ、実ダメージに確定できます。
グレネードは威力が大きい実ダメージを与えられますが、コストが高くて個数が少ないので使いどころを厳選しましょう。

主人公達のパーティーには『移動力』の値があります。
移動力を1消費することで移動しながらの攻撃『移動攻撃』が出来ます。
移動攻撃する時に味方二人の間を横切ると敵を撹乱したことにより『撹乱値』が溜まり『三人同時攻撃』が使えるようになります。
撹乱値が多ければ多い程より長く三人同時攻撃できるようになります。

FF13のノムリッシュっぷりは相当叩かれていましたが、EOEもひどいもんです。
どっちにしろプレイヤーのことを考えてないという点では一致していますが。


2011/01/12 21:51 | Comments(0) | TrackBack() | ゲーム
Symfony1.4 11日目その4
前回の続き

さて、ブラウザから投稿してみると、投稿後は編集画面に移動します。
この時点ではまだjobeet_job.is_activated=0なので、フロントには表示されていません。
Publishリンクを踏んで公開するようにしてみましょう。

/test/functional/frontend/jobActionsTest.php
1
2
3
4
5
6
7
8
9
10
11
<?php
$browser->info('  3.3 - On the preview page, you can publish the job')->
  createJob(array('position' => 'FOO1'))->
  click('Publish', array(), array('method' => 'put', '_with_csrf' => true))->
  with('doctrine')->begin()->
    check('JobeetJob', array(
      'position'     => 'FOO1',
      'is_activated' => true,
    ))->
  end()
;

>php test/functional/frontend/jobActionsTest.php
>   3.3 - On the preview page, you can publish the job
# get /job/new
# post /job
# put /job/e83769f22dcaf47b37b3b1c22b8e2d4586f6e6d8/publish
ok 1 - JobeetJob objects that matches the criteria have been found

click()の第三引数にはクリックする際の付加情報を記述します。
この場合はメソッドをPUTに、CSRFプロテクションを有効にしています。
ということらしいのですが意味がわかりません。
該当のリンクをブラウザで見てみましょう。

1
2
3
4
5
6
7
8
9
10
11
12
13
<a onclick="var f = document.createElement('form'); 
  f.style.display = 'none'; this.parentNode.appendChild(f); 
  f.method = 'post';
  f.action = this.href;
  var m = document.createElement('input');
  m.setAttribute('type', 'hidden');
  m.setAttribute('name', 'sf_method');
  m.setAttribute('value', 'put');
  f.appendChild(m);
  f.submit();
  return false;"
  href="/frontend_dev.php/job/
  151bef1f9cf92b7b561752e4ad35cfe932a92f4b/publish"&gt;Publish&lt;/a>

なんだこれ。

実はルーティングによって投稿記事の編集はPUTメソッドを使えということになっています。
勿論対応ブラウザやサーバなんて無いのでSymfonyではPOSTで擬似的に実現しています。
その疑似PUTを指定するのが'method' => 'put'です。
これを外してしまうとデフォルトのメソッド(GETかPOSTか不明)で送信されてしまい、エラーになります。

>php test/functional/frontend/jobActionsTest.php
# get /job/new
# post /job
# get /job/700cf9ac61d7abdd35e88720cf13be6b9d3584d2/publish
not ok 1 - JobeetJob objects that matches the criteria have been found
#     Failed test (symfony/plugins/sfDoctrinePlugin/lib/test/sfTesterDoctrine.class.php at line 90)

次の_with_csrfについては全く意味がわかりません。
CSRFがどうこうと言ってますが別に外しても普通に動くし一体何の意味があるんだ。
リクエストのクエリを見るメソッドとか無いのかね?

PublishのかわりにDeleteリンクを押せば削除できますが、その流れもPublishとほぼ一緒です。
DeleteリンクはDELETEメソッドを使用することになっていますが、こちらも無論擬似的実現です。

/test/functional/frontend/jobActionsTest.php
1
2
3
4
5
6
7
8
9
10
<?php
$browser->info('  3.3 - On the preview page, you can publish the job')->
  createJob(array('position' => 'FOO2'))->
  click('Delete', array(), array('method' => 'delete', '_with_csrf' => true))->
  with('doctrine')->begin()->
    check('JobeetJob', array(
      'position'     => 'FOO2',
    ), false)->
  end()
;

Deleteリンクを踏むと投稿が削除され、position='F002'の投稿が見つからないよ、という状態になることを確認できます。

>php test/functional/frontend/jobActionsTest.php
>   3.3 - On the preview page, you can publish the job
# get /job/new
# post /job
# delete /job/34b28d5f5d5f3a7bc32c8b91ff61ea3e6ee8123f
ok 1 - no JobeetJob object that matches the criteria has been found


2011/01/10 21:15 | Comments(0) | TrackBack() | PHP
買ったものリスト 2011/01/09
インディーズのVorpal
http://marketplace.xbox.com/ja-JP/Product/Vorpal/66acd000-77fe-1000-9115-d80258550758
一言で言うと東方弾幕風。

+
なんかCGが白黒で格好いい
弾幕も白黒赤でモノトーン
しょーもない掛け合い(褒め言葉)が入ってる
低速ボタンがある
安い(80ゲイツ)

-
オンラインランキングがない
大弾の判定が見た目通りなので避けたつもりが当たってる
ってか自機の当たり判定が見た目より大きいっぽい
演出が淡々としてるのでちょっと寂しい
難易度がNORMAL・HARDのみ、ルナシューターには物足りないかも
これは美しい、って弾幕が少ない(これは主観)

まあ80ゲイツなのでちょっと缶コーヒー買うかわりに買ってみる程度の価値は十分にあるかと


忘却の船に流れは光 田中 啓文
☆☆☆☆

最後のページを読んで、その場に崩れ落ちた。
田中啓文…あんたがそんな人だったなんて…昔からわかってました。

最初はあまりに異様な世界観になんか入りにくいのですが、気がついたらいつのまにかすっかり読み進めてしまいます。
中盤まで世界の中だけで話が進んでいきますが、後半怒濤の勢いでその世界の秘密が明かされていく展開は圧巻。
想像をかなり超越する話自体も十分期待以上の出来だったのですが、それをある意味台無しにする相変わらずのお約束もそのままでした。
オチだけのためにこんな話をでっち上げてしまうとはやはりただ者ではないぜ。

ちょっといくつか気になったことが。
グラン・ジョーはヘーゲルに味方してもらったとか言っていたがなぜ気がつかないんだ?
あと、溶かされた彼は結局誰だったんだ?
そこらへんよくわからんかった。


ガーデン・ロスト 紅玉 いづき
☆☆☆

チョコレートのように甘く、狂おしいほど切なく、そしてめんどくさい生き方してるなこいつら。
いや、12歳からずっと親元離れて生活している私としては彼女たちに共感できる部分が全く見つからなかったんだよ。
残念ながら、誠に残念ながら私とは光年の隔たりがある世界の話でした。
ちなみに共感できるか以外の部分が神であることに疑いの余地はない。


文学少女と死にたがりの道化3 野村 美月,高坂 りと
☆☆☆☆

コミカライズというと大体ゴミになるのがこの手の本ですが、本作は原作の透明感のかなりの部分を持ってくるのに成功しています。
小説一巻分を3巻でとか大丈夫かと思ったのですがわりと大丈夫でした。
原作好きが買っても損はしないでしょう。
アニメは見てないので知らん。


RPG W(・∀・)RLD6
RPG W(・∀・)RLD7 吉村 夜
☆☆☆☆

うっかりゲームの世界に入り込んでしまったら、という仮想現実もの。
キャラクターのレベルでそのまま始まったため最初から超レベルである主人公たちでしたが、組織の力でそれを越えたりするような敵とかも現れ始めそろそろ個人技では対抗しきれなくなってきます。
7巻がずいぶんえらいところで終わってしまったのですが果たしてどうなる。

最近キネクトとMMDが融合してそれっぽい世界がかなり近くなってきている気がします。
早く実用的なレベルにならないかしら。
http://www.nicovideo.jp/watch/sm13083588
http://www.nicovideo.jp/watch/sm13217519
http://www.nicovideo.jp/watch/sm13221497


2011/01/09 20:34 | Comments(0) | TrackBack() | 買ったもの
今週の実績 2011/01/09
2011/01/08の実績

FINAL FANTASY XIII

限界の突破者 30
敵に100000以上のダメージを与えた証です。

2011/01/03の実績

FINAL FANTASY XIII

守護のトパーズ 15
ロール「ディフェンダー」を極めた証です。

呪禁のジェット 15
ロール「ジャマー」を極めた証です。

鼓舞のアメジスト 15
ロール「エンハンサー」を極めた証です。

治癒のエメラルド 15
ロール「ヒーラー」を極めた証です。

突撃のルビー 15
ロール「アタッカー」を極めた証です。

撃滅のサファイア 15
ロール「ブラスター」を極めた証です。

ゼザの玉杯 15
冥碑より示された中難易度のミッションをすべて達成した証です。

2011/01/02の実績

FINAL FANTASY XIII

未来への希望 95
犠牲を乗り越え、未来へと歩き始める証です。

Kinect アドベンチャー!

冒険好き 50
中級アドベンチャーの報酬をすべて受け取った

DanceEvolution

POPフィーバー 20
3曲連続で“POP”ジャンルの曲をプレーする。

Aゲッター(STANDARD) 20
STANDARDをAクリアを達成

AAAゲッター(LIGHT) 30
LIGHTをAAAクリアを達成

AAゲッター(LIGHT) 20
LIGHTをAAクリアを達成

PARA PARAフィーバー 20
3曲連続で“PARA PARA”ジャンルの曲をプレーする。


2011/01/09 19:01 | Comments(0) | TrackBack() | 実績
Symfony1.4 11日目その3
http://www.symfony-project.org/jobeet/1_4/Doctrine/ja/11
Doctrineテスターとは、まあ要するにDBの中を覗いてくれるテスターです。
1
2
3
4
5
6
7
<?php
$browser->setTester('doctrine', 'sfTesterDoctrine');
$browser->with('doctrine')->begin()->
  check('JobeetJob', array(
    'id' => '1',
  ))->
  end();

ってやったらJobeetJob.id=1のレコードが存在するかチェックしてくれます。
ちなみに全くどうでもいいですが、テスター名は別の値にもできます。

/test/functional/frontend/jobActionsTest.php
1
2
3
4
5
6
7
<?php
$browser->setTester('hoge', 'sfTesterDoctrine');
$browser->with('hoge')->begin()->
  check('JobeetJob', array(
    'id' => '1',
  ))->
  end();

これを使って登録が実際になされているかのテストを行ってみましょう。

/test/functional/frontend/jobActionsTest.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<?php
 //記事新規作成
 $browser->info('3 - Post a Job page')->
  info('  3.1 - Submit a Job')->
 
  get('/job/new')->
  with('request')->begin()->
    isParameter('module', 'job')->
    isParameter('action', 'new')->
  end()->
 
  click('Preview your job', array('job' => array(
    'company'      => 'Sensio Labs',
    'url'          => 'http://www.sensio.com/',
    'logo'         => sfConfig::get('sf_upload_dir').'/jobs/sensio-labs.jpg',
    'position'     => 'Developer',
    'location'     => 'Atlanta, USA',
    'description'  => 'You will work with symfony ',
    'how_to_apply' => 'Send me an email',
    'email'        => 'for.a.job@example.com',
    'is_public'    => false,
    'type'         => 'freelance',
  )))->
  
  with('request')->begin()->
    isParameter('module', 'job')->
    isParameter('action', 'create')->
  end()->
  
  with('response')->isRedirected()->
    followRedirect()->
 
  with('request')->begin()->
    isParameter('module', 'job')->
    isParameter('action', 'show')->
  end()->
  
  with('doctrine')->begin()->
  check('JobeetJob', array(
    'company'      => 'Sensio Labs',
    'email'        => 'for.a.job@example.com',
    'is_public'    => false,
  ))->
  end()
;
>php test/functional/frontend/jobActionsTest.php
> 3 - Post a Job page
>   3.1 - Submit a Job
# get /job/new
ok 1 - request parameter module is job
ok 2 - request parameter action is new
# post /job
ok 3 - request parameter module is job
ok 4 - request parameter action is create
ok 5 - page redirected to /index.php/job/edecd17758c04b467ff2cadfc4c5a2c82685efbf
ok 6 - request parameter module is job
ok 7 - request parameter action is show
ok 8 - JobeetJob objects that matches the criteria have been found

click()で新たな投稿を保存した後、データベースにcompany='Sensio Labs'、email='for.a.job@example.com'、is_public=falseの値が入っているレコードが存在するかを調べています。
投稿に成功していたら当然その値が該当するのでテストには成功します。
ちなみにis_publicが0でも""でも成功したので==による比較のようです。
SQLを発行してるんじゃないのか?


今回データベースに値を登録するテストを何回も作りましたが、これをメソッドを分けて簡単に呼び出せるようにしましょう。
/lib/test/JobeetTestFunctional.class.phpにメソッドを追加します。

/lib/test/JobeetTestFunctional.class.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
  public function createJob($values = array()){
    return $this->
      get('/job/new')->
      click('Preview your job', array('job' => array_merge(array(
        'company'      => 'Sensio Labs',
        'url'          => 'http://www.sensio.com/',
        'position'     => 'Developer',
        'location'     => 'Atlanta, USA',
        'description'  => 'You will work with symfony',
        'how_to_apply' => 'Send me an email',
        'email'        => 'for.a.job@example.com',
        'is_public'    => false,
        'type'         => 'freelance',
      ), $values)))->
      followRedirect()
    ;
  }

以後はこのメソッドを呼び出すだけで新規記事を投稿→リダイレクト後のページへの移動を行ってくれます。
試してみましょう。

/test/functional/frontend/jobActionsTest.php
1
2
3
4
5
6
7
8
9
<?php
$browser->info('  3.25 - JobeetTestFunctional::createJob')->
  createJob(array('location'=>'hoge'))->
    with('doctrine')->begin()->
    check('JobeetJob', array(
      'location' => 'hoge',
    ))->
  end()
;

>php test/functional/frontend/jobActionsTest.php
>   3.25 - JobeetTestFunctional::createJob
# get /job/new
# post /job
ok 1 - JobeetJob objects that matches the criteria have been found


'location'が'hoge'のエントリが作成されました。
もちろん引数無しで呼び出せばデフォルト値のデータが作成されます。
今後新エントリがほしくなれば$browser->createJob()と書くだけでいいようになりました。


2011/01/07 23:14 | Comments(0) | TrackBack() | PHP
iPhoneOS4.1 チェックボックスを作りたい
<input type="checkbox">っぽいものを作ってみる。

入力に関わるクラスは基本的にUIControlを継承しているようです。
中でも特にスイッチっぽいのを探してみます。

UISwitch
  UISwitch *hoge=[[UISwitch alloc] initWithFrame:CGRectMake(0, 0, 100, 50)];
  20110103_ss_UISwitch.png

UISegmentedControl
  NSArray *arr = [NSArray arrayWithObjects:@"オン", @"オフ", nil];
  UISegmentedControl *hoge = [[UISegmentedControl alloc] initWithItems:arr];
  hoge.frame = CGRectMake(0, 0, 100, 50);
  20110103_ss_UISegmentedControl.png

UIButton
  UIButton *hoge = [UIButton buttonWithType:UIButtonTypeRoundedRect];
  hoge.frame = CGRectMake(0, 0, 100, 50);
  [hoge setTitle:@"オフ" forState:UIControlStateNormal];
  [hoge setTitle:@"オン" forState:UIControlStateSelected];
  [hoge addTarget:self action:@selector(hogehoge:) forControlEvents:UIControlEventTouchDown];

-(void)hogehoge:(UIButton*)button{
  if (button.selected == YES) {
    button.selected = NO;
  }else {
    button.selected = YES;
  }
}
  20110103_ss_UIButton.png


UISwitchが一番楽ですが、まともな方法ではテキストを変えられないという致命的欠陥があるので本当にオンオフを行いたい場合以外は使えません。


UISegmentedControlはそのまま簡単に3つ以上の選択肢にも拡張できるという点が便利です。
配列を増やすだけでcheckboxだけではなくradioにも対応可能です。
で、そのnilって何よ。

UIButtonはもっとも<input type="checkbox">に近いものを作成できますが、何故か自分でメソッドを実装しないと動きません。
あと背景色が変えられないので、背景色を付けるためには画像を用意してsetBackgroundImageしないといけません。
setBackgroundColorすると何故かボタンの周りの色が変わってしまいます。
  20110103_ss_UIButtonBackground.png

なんでこんなに面倒なのでしょうか。


結論としては、必要に応じて使い分けるということでよいでしょう。
結論かそれ?


さて個人的に、initWithFrameでインスタンスを作れたり作れなかったりするのが非常に気持ち悪い。
上記クラスは何れもUIControlを継承しており、UIControlUIViewを継承しており、initWithFrameUIViewで実装されているのでUISegmentedControlにもUIButtonにも存在します。
実際に
  UIButton *hoge=[[UIButton alloc] initWithFrame:CGRectMake(0, 0, 100, 50)];
とインスタンスの作成を行うことはできます。

ところが、アイテムを突っ込むことができないのでせっかくインスタンスを作成しても全くの無駄になります。
なんでこんな美しくない設計なの?
[UISegmentedControl setItems:arr]くらいできてもいいだろ。


2011/01/03 20:28 | Comments(0) | TrackBack() | その他
買ったものリスト 2011/01/02
FF13クリア。
結局最後たまたま崩壊が途中で止まった以外はバルトアンデルスの思惑通りってことだよな。
さんざっぱら彷徨ったのは全部無駄足だったと。
いや、主張したいことがそれだったらそれで別にいいんだけど。

あとグランパルスからコクーンに帰ってきたところさ、一般人にとってはどう考えてもパルスのルシがモンスターを連れて襲ってきてコクーンを滅ぼした以外に解釈のしようがない展開なんだが、なんでなんのフォローもなく終わってんの?

あと召還獣が戦慄するほどダサいな。
とか色々文句を言いつつ何気にこの一週間FF13しか実績解除していないことは秘密だ。


こえでおしごと! 5巻 紺野 あずれ
☆☆☆☆☆

着エロの極北、こえでおしごと最新刊。
思春期クレイジーズそのまんまなんだが大丈夫か?出版コード的に。

今巻では柑奈がどんどんアブない娘に。
それは大変けっこうなんだが、でも脱いじゃ駄目だ。
脱いだ着エロはただのエロや!

だがまあBPだったことだし今回だけは許そう。
BPだしな。
BPなら仕方ない。


Sweet Home 2 やまぶき 綾
☆☆☆☆☆

ラブラブオーラを振りまきながらもあくまでゆったりとしたペースで少しづつ縮まっていく二人の距離が、すっかり汚れてしまった私の何処か片隅に残っていた甘酸っぱいハートをきゅんきゅんさせる傑作四コマ。
なのに終盤いきなり急展開になったかと思ったら打ち切りかよガッデム!
こんな傑作を打ち切りとかどんな判断だ!

\\やべえ//

はるみねーしょん1 大沖
☆☆☆

ひらめきはつめちゃんが気に入ったので購入。
謎の女子高生が宇宙人だが空を飛べるだけという投げっぱなし不条理ギャグ。
どこがどうしてと言われると困るんだが、なんか何故か私の感性にはどうにもいまいち合わなかった。
あと時々目が丸くなるとなんか怖い。


ここがウィネトカなら、きみはジュディ 時間SF傑作選
☆☆☆

タイムトラベル、ループなど時間もののSF短編傑作編。
といっても基本的に初出が古いのが多く、古いのはどうしてもひねりがなくて今から見ると古臭いというイメージになってしまう。
特に「いまひとたびの」とかは現在であれば序章終わり、さあこれからどんな展開が、ってところで終わりという、あれオチは?という終わり方。
といっても古いはずなのに奇想天外すぎる「昨日は月曜日だった」「旅人の憩い」なんてのもあるので一口に纏められはしません。
「商人と錬金術師の門」は千夜一夜物語の翻案に見えてハードSFだったり、「夕方、はやく」はどうしてこうなったのか理解に苦しむ制作動機だったりと、時間SFという括りながらバラエティに富んでいて楽しい作品集でした。
しかしなんでこうロマンスもの多いかね?あまり好きくない。


ファミ通Xbox360 2011年2月号

科学アドベンチャー第三弾、Robotics;Notesのインタビュー目的で購入。
でも気になったのが次のページのスプラッターハウスの記事で、ゲーム自体は残念なかんじになってたのが残念だが、何気にオリジナル版も入ってるようなのでそっちだけちょっとほしい。

相変わらず字がとんでもなく小さくて読み応えはありすぎて困るくらいです。

おまけ冊子はモンハンFなんだがモンハンは全くやってないのでいらないんだがなあ。
前体験版をプレイしたがあまりに奇怪な操作方法に即投げ出した。
あとSKEのチームキネクトのポスターが入ってたんだがどうしたもんかね。


2011/01/02 18:49 | Comments(0) | TrackBack() | 買ったもの

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