2012年04月26日

つくし退院

どうも、塩内藤です。

つくしの経過ですが、無事退院しました。

ここまで入院期間がのびたのは、最初の白内障手術でオンザバッグという手法をとったんですが
水晶体嚢に入れたはずの眼内レンズが外に飛び出してしまったため、いったん眼内レンズを取出し
オンザバッグという方式で再手術をしたためです。

ただ、オンザバッグは手術事例も少なく安定するかはわからないそうで、まだまだ様子を見る必要がありそうです。

オンザバッグ:一般的な白内障手術方式で白く濁った水晶体を除去して、視力を補正するための眼内レンズを水晶体嚢に挿入する方式
オンザバッグ:水晶体嚢の上に眼内レンズをかぶせる方式


下の画像は退院祝いにケーキをかってあげた時の様子です。
カラーが邪魔そう、、、早くとれるといいなぁ
DSC_0015.JPG


退院した日は疲れていたのか、1日中寝てましたw
DSC_0123.JPG
posted by しお at 14:11| Comment(2) | TrackBack(0) | あろえとつくし

2012年04月19日

TOPANGA Charity Cup

どうも、塩内藤です。

第2回 TOPANGA Charity Cupに参加しました。

記念参加ですwww

結果は0回戦敗退

たまたま配信台での対戦だったので動画が残ってました。
動画後半(20分以降)の「高田馬場ミカド初級者大会勢」と対戦してるチームが自分らです。
※自分はローズ

正直緊張して頭が真っ白の状態でしたw


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

お見舞い

どうも、塩内藤です。


入院中のつくしの様子を見てきました。

左目の経過は順調
レンズがずれた右目に関しては今のとこ大丈夫だけど事例が少ない(レンズがずれる)のでもうちょっと様子を見るみたいです。

目の周りの毛を剃っているので、なんか常にしょぼーんとしてるように見える。。。
まぁ実際は元気です。

DSC_0013.JPG

DSC_0012.JPG

DSC_0010.JPG

posted by しお at 13:45| Comment(0) | TrackBack(0) | あろえとつくし

2012年04月12日

若年性白内障

どうも、塩内藤です。

タイトルのとおり、現在つくしは若年性白内障を患っています。
最初は右目だけだったんですが、左目も白く濁ってきて、結局手術をすることにしました。

手術自体は4月9日に終わってるんですが、どうも右目のレンズがずれたらしく再手術が必要との連絡がありました。。。

金曜日に詳細を聞きに行くんですが、ちょー不安、、、大丈夫かなぁ



これは、手術前に撮った写真なんですが水晶体が白く濁ってる。。。
DSC_0105.JPG
posted by しお at 13:43| Comment(0) | TrackBack(0) | あろえとつくし

つくし2歳の誕生日

どうも、塩内藤です。

3月15日は、つくし2歳の誕生日でした。
ケーキを買ってあげたのですが、そのときの画像

「待て」が出来ずに写真撮る前に喰われちゃいました。。。
DSC_0001.JPG


ついでに、あろえにもケーキを購入
あろえは「待て」が出来るので普通に撮れました。
DSC_0006.JPG
posted by しお at 13:38| Comment(0) | TrackBack(0) | あろえとつくし

2012年02月20日

今年初

どうも、塩内藤です。

2012年初めての更新ですが、、、

今年に入って新案件の要件定義で客先に行くことが多いのでなかなか更新出来ませんでした。。。とひとまず言い訳してみますw

ちなみに今まで設計、開発メインやってきた自分のとって要件定義は非常に慣れない作業であり
成果物であるシステム構成図、非機能要件一覧、キャパシティプランニングなど、正直どうやって進めていいのかわかんないです。。。

でもまぁここを乗り越えたらエンジニアとしての寿命が延びるということで頑張っていこうと思います。


ということで、これからの更新頻度もそんなに多くないという言い訳を書いてみましたw


PS
どうでもいいけど今のマイブームはPolyfill
posted by しお at 21:02| Comment(0) | TrackBack(0) | 日記

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(2) | 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