2011年12月13日

あろえの誕生日

どうも、塩内藤です。

12月10日は、あろえ4回目の誕生日

いつものようにケーキ待てからの写メ
DSC_0113.jpg

あろえだけじゃかわいそうなので、つくしのケーキ(ちょい小さめ)も購入

つくしはケーキ待てが出来なくてジワジワ近寄ってくるwww
というか、ふせすらできてない、、、
DSC_01141.JPG

DSC_0116.jpg
posted by しお at 13:18| Comment(0) | TrackBack(0) | あろえとつくし

2011年12月02日

closure

どうも塩内藤です。

昨日の続き

現場の人にパターン2でクロージャー作成でどうとでもって書いたら、「具体的にどんやんの?」って聞かれたのでその方法

クロージャーとは?って言われると自分もちょっと、、、
きっと、ある関数(無名関数とか)を他の関数の内部で宣言して、内部の関数から外側の関数のローカル変数を参照する。とかそんな感じw

んでは、実際のソースを以下に書いてみます。

UIUtil.js (クロージャー生成用のutilファンクションを別scriptに定義)

var UIUtil = function () {
};

UIUtil.prototype.createClosure = function (instance, callBackFunction) {
return function () {
callBackFunction.apply(instance, arguments);
};
};



昨日のパターン2をちょい変更してアラート出すだけのファンクションを作成
アラート表示のファンクションを呼び出すために、クリックイベントのハンドラー設定時にクロージャーを生成
※onHogeClick内のthisをPageControlにする

var PageControl = function () {
this.initialize();
}

PageControl.prototype.initialize = function () {
this.bindEventListener();
};

PageControl.prototype.bindEventListener = function () {
$("#hoge").click(UIUtil.prototype.createClosure(this, this.onHogeClick));
};

PageControl.prototype.onHogeClick = function (e) {
this.doAlert($(e.currentTarget).val() + "がクリックされたよー");
};

PageControl.prototype.doAlert = function (msg) {
alert(msg);
};

$(function (){
$.extend({controller : new PageControl()});
});


これでOK
言葉では説明できないけどとにかくこんな感じ!
posted by しお at 14:42| Comment(0) | TrackBack(0) | JavaScript

2011年12月01日

どっちがいいかと思ったが、、、

どうも、塩内藤です。

昔はHTMLでWEBページを作成する時に、DOMの制御をHTMLのhead部に直接書くというのが結構普通だった気がするんですが
ここ最近ではjQuery等のjs用ライブラリを使用することも多くなり、HTMLと対になるscriptファイルを用意し、その中に処理をまとめるのが一般的みたいです。

で、その処理をまとめたscriptの書き方に最近ちょっと悩んでいます。

個人的には下の2パターンのどちらかと思うのですが、、、
※jQuery使用が前提

パターン1:無名関数

(function ($) {

$(document).ready(initialize);

function initialize() {
bindEventListener();
};

function bindEventListener() {
$("#hoge").click(onHogeClick);
}

function onHogeClick(e) {
alert($(e.currentTarget).val() + "がクリックされたよー");
}

})(jQuery);



パターン2:制御用のファンクション作成

var PageControl = function () {
this.initialize();
}

PageControl.prototype.initialize = function () {
this.bindEventListener();
};

PageControl.prototype.bindEventListener = function () {
$("#hoge").click(this.onHogeClick);
};

PageControl.prototype.onHogeClick = function () {
alert($(e.currentTarget).val() + "がクリックされたよー");
};

$(function (){
$.extend({controller : new PageControl()});
});


パターン1
・処理が無名関数内にあるので他scriptを読み込んだ時に衝突しない。
・どうしてもHTMLから処理script内のファンクションを呼び出したい時に困る

パターン2
・衝突の可能性があるが、ファンクション名だけなのでなんとかなりそうな気がする。
・$.controllerとして制御用のファンクションオブジェクトを保持しているので外部から呼び出し可能

と、違いを書いてる途中なんですが、やっぱりパターン1かなと思いはじめました。

パターン2だとイベントハンドラ内から別のファンクション呼び出したい時にちょっとめんどくさい
※ハンドラでのthisがイベント送信元エレメントになってるから、、、
まぁこれに関してはクロージャー作成すればどうとでもなりますが、イベントバインド時に毎回クロージャー作成とかちょっと、、、みたいになりそう

あと、パターン1は外部から呼び出しに困るとか書いたけど、そもそも呼び出す事ないと思うし衝突しないのはやっぱりデカイ


ということで、パターン1に決めました。
もしくは、他にいい記述方があったら誰か教えてください。

posted by しお at 14:25| Comment(3) | TrackBack(0) | JavaScript

2011年11月10日

SpringJUnit4ClassRunner

どうも、塩内藤です。

Spring配下にあるBeanのテスト

JUnit使ってユニットテストする際にApplicationContextをアノテーションで設定できるということを最近知った。。。
どういう事かというとSpringが単体テスト用の部品も持っていて
SpringJUnit4ClassRunnerっていうのを使うと自分でApplicationContextを作成するコードを記述しなくてよくなる。

たとえば下みたいなクラスがあるとして


package test.validator;

import org.springframework.stereotype.Component;

@Component
public class FooValidator {
public boolean validate() {
return true;
}
}


今までは下みたいな感じで書いてた

package test;

import junit.framework.TestCase;

import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import test.validator.FooValidator;

public class FooValidatorTest extends TestCase {

private FooValidator validator = null;

@Override
protected void setUp() throws Exception {
// ClassPathXmlApplicationContextを使用してコンテキストファイルを読み込む
ApplicationContext context = new ClassPathXmlApplicationContext("classpath:test/test-context.xml");

// コンテキストからテスト対象のBeanを取得する
validator = context.getBean(FooValidator.class);
}

@Test
public void testCase1() {
assertTrue(validator.validate());
}

}


しかし、知ったあとは、、
アノテーション指定でコンテキスト設定してるので
AutowiredでApplicationContextのDIも可能
当然ながらFooValidatorへのAutowiredはApplicationContextの自動設定部分を削除しても動作します。

package test;

import junit.framework.TestCase;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

import test.validator.FooValidator;

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = { "test-context.xml"})
public class FooValidatorTest extends TestCase {

@Autowired
private ApplicationContext context = null;

@Autowired
private FooValidator validator = null;

@Test
public void testCase1() {
assertTrue(validator.validate());
}

}



○注意点
・JUnit4より前のバージョンではRunWithアノテーションを持っていないため、JUnit4.xのみで使用可能
・Spring2.5.xでは、SpringJUnit4ClassRunnerはJUnit4.4以前のバージョンにしか対応していないため、JUnit4.4を使用した方がいい


ちなみに今回はSpring3.0のJUnit4.10で実行しました。
posted by しお at 14:20| Comment(0) | TrackBack(0) | spring

2011年10月26日

Canada Cup 2011 トレーラー

カナダカップの新トレーラー

金デヴさん。。。
チームJapan2紹介部分
???の下にKAZUNOKOって一瞬出るけど、行くのかなぁ?
ちうかeLiveに入るの?

posted by しお at 13:21| Comment(0) | TrackBack(0) | Game

2011年10月25日

煽りV

ついに格闘ゲームの対戦にも煽りVがwww

プロレス的な感じでいいと思う

10.27 22:00〜 http://ja.twitch.tv/topangatv
マゴ vs ふ〜ど






あと、この動画がいろいろかっこいいw

posted by しお at 13:19| Comment(0) | TrackBack(0) | Game

2011年10月21日

GODSGARDEN#4 感想戦

GODSGARDEN#4 感想戦

やっぱり感想戦イイ
解説してもらうとよくわかる





さらに来てた
posted by しお at 13:42| Comment(0) | TrackBack(0) | Game

2011年10月04日

第2回 TOPANGA 動画

どうも、塩内藤です。

第2回 TOPANGA会の対戦動画が届きました。
※なんか両方の動画共に1試合目の音がずれてました。

自分は2回目ということもあり、今回はやってて苦手なキャラを選んでもらって対戦を行いました。

マゴさん
ブランカ、ルーファス、ローズ

ときどさん
セス


今、見直すと全然ダメですねぇ、、、ブランカ戦とかマジでひどい、、、
マゴさんにブランカはサプライズフォワード出してきたら立投げ擦っとけって言われたんで、次はそこを気をつけようと思います。

ローズ同キャラに勝てたのはよかった。


セスはなんかもうよくわからなかったです。。。
一回勝確の状況で強Pのみ当ててナメプみたいになってますが、実際は緊張して屈強Pのキャンセルできない部分あてちゃった。。。

こうして見るとキャラ対とかいうまにまだまだヌルすぎなんで、、、基礎をもうちょい練習ですねぇ


次回あったらまた行くwww




posted by しお at 14:01| Comment(0) | TrackBack(0) | Game

2011年09月29日

TEはよ!

どうも、塩内藤です。

ついにTEが届きました。

デラうれしい!!111!11

あとはこれにMAD CATZプロ3人のサインが加われば完璧!

110928_2248591.jpg

110928_2247221.jpg

110928_2247061.jpg

PS:
一緒に購入を勧めてくれたコンテストさんには海外サイトからの注文、輸入代理店への登録、トラブった時、、、全ての対応をしてもらいました。
本当にありがとうございました。
posted by しお at 12:40| Comment(0) | TrackBack(0) | 日記

2011年09月22日

わりと仲がよくなってきた

どうも、塩内藤です。

ここ最近のあろえとつくし

つくしの体重がガンガン下がって6キロ台になりました。。。
こりゃヤヴァイということで現在は飯2倍

あろえは逆に太ってきます。。。

DSC_0070.JPG
posted by しお at 14:42| Comment(0) | TrackBack(0) | あろえとつくし