Home > アーカイブ > ラボメンバー「shimazaki」の投稿一覧
ラボメンバー「shimazaki」の投稿一覧
javascriptのprototypeプロパティでハマった
- 2009年3 月31日(火)
- 未分類
どうも。shimazakiです。
javascriptでprototypeプロパティについてアレコレしていたら自分が大きく誤解をしていたことを理解しましたので、ついでに紹介したいと思います
以下の結果がどうなるか、って分かりますか?
Hoge.prototype = {
aList:["123"]
,xList:["456"]
};
foo = new Hoge();
foo.aList = ["789"];
foo.xList.push("789");
alert(foo.aList);//789
alert(foo.xList);//456,789
bar = new Hoge();
alert(bar.aList);//???
alert(bar.xList);//???
正解はbar.aListは「123」 bar.bListは「456,789」と表示されます。
何を勘違いしていたか?
JavaScriptでオブジェクト指向
- 2009年3 月31日(火)
- JavaScripts/Ajax
shimazakiです。
先日社内でJavaScriptでオブジェクト指向、という発表をおこないましたので、その資料を公開します。
JavaScriptを本格的に勉強し始めて約半年ほどになりますが、とりあえずの一段落がついたかな、という感じがします。
DOM入門
- 2009年2 月26日(木)
- JavaScripts/Ajax
shimazakiです。
先日社内で勉強会をした際にDOM入門、という名目で発表をおこないましたので、その資料を公開します。
DOMは「element」という概念と、ドキュメントツリーと、ブラウザごとの差異が理解できれば後は理解への妨げになるものは無いかなと思います。
なでしこのススメ
- 2009年2 月26日(木)
- 未分類
shimazakiです。
先日社内で勉強会を勉強会を行ったのですが、DOM入門ともう一つ、「なでしこのススメ」というタイトルで発表を行い、「日本語プログラミング言語・なでしこ」の社内普及に乗り出してみました。
日常の単純作業やめんどくさい単調作業など、せっかくだから、プログラム作っちゃいませんか、なでしこで。
Unionを使わない複数集計
- 2009年2 月24日(火)
- 未分類
shimazakiです。
今日はSQLの話です。
SQLってプログラムと違い、上から順に処理されるわけではなく、まとめて処理されるのでなかなか理解できません。
SQLってこんなことも出来たのか!と感動した時の話をしたいと思います。
例えばこんなテーブルがあったとして(試験の結果テーブルだと思っていただければ)
- sampleTbl
- 100点の人数と、90〜99点の人数と、80〜89点の人数と70〜79点一覧を抽出したい場合
| ID | point |
|---|---|
| A | 100 |
| B | 90 |
| C | 88 |
| D | 70 |
| E | 95 |
| F | 80 |
select 'p100' as pnt,count(*) as cntpoint from sampleTbl where point = 100
union
select 'p90' as pnt,count(*) as cntpoint from sampleTbl where point between 90 and 99
union
select 'p80' as pnt,count(*) as cntpoint from sampleTbl where point between 80 and 89
union
select 'p70' as pnt,count(*) as cntpoint from sampleTbl where point between 70 and 79;
pnt cntpoint p100 1 p90 3 p80 1 p70 1
というSQLを、
select
sum( if( point=100, 1,0)) as p100,
sum( if( point between 90 and 99 , 1,0 ) ) as p90,
sum( if( point between 80 and 89 , 1,0 ) ) as p80,
sum( if( point between 70 and 79 , 1,0 ) ) as p70
from sampleTbl;
p100 p90 p80 p70 1 3 1 0
と言うSQLに変更します。
条件に一致する行を1とし、その個数をカウントすることで、結果を一行で取得することができます。
これが、単一の試験結果であればそれほど利点はないのですが、例えば、今回のテスト結果と前回のテスト結果を表示する画面、というものがあった場合、先述のunion方式では結果データの構成が複雑になってしまいますが、後述の方法であれば、今回の結果行と前回の結果行という取得が可能なので、結果データの構成が分かりやすくなります。
SQLの理解がまだまだ足りないと思う今日この頃でした。
Home > Archives > ラボメンバー「shimazaki」の投稿一覧