2008年9月14日日曜日

またまた本購入

今日は、”プログラミングMicrosoft ASP.NET 3.5”っていう本。約1万円。
仕事では使わないんだけど、買っちゃいました。
それにしても、コンピュータの本ってちょっと高すぎないかなぁ?

2008年8月31日日曜日

衝動買いしたものが届いた。

DSで操作するシンセサイザ。
何で買っちゃったんだろう。

アナログシンセサイザーなんて見たことないのに。

その昔、X1というマシンにFM音源ボードをつけて、Oh!XやベーマガのMMLをつかって、音楽を鳴らしていた覚えはあるけど、そのときは活用テクニックという本(楽器名と似た音を作り出すパラメータのシートがいっぱいあるような本)とかから、微調整して音色を作ってたけれど、、、、、どうやらアナログシンセっていうのは、感覚が違うようです。

たぶん、音を自在に作れる前に飽きちゃうんだろうなぁ。

2008年7月28日月曜日

グラフ描画結果


ZedGraphのライブラリを使ったグラフを書いてみると上のように表示された。
ページにZedGraphWebパーツを配置し、RenderGraphイベントに以下のようなメソッドを登録し、



protected void ZedGraphWeb_RenderGraph(ZedGraph.Web.ZedGraphWeb webObject, System.Drawing.Graphics g, ZedGraph.MasterPane pane)
{
if (GridView3.DataSource == null)
{
return;
}
ProjectDataSet.ProjectRemainWorkTimeDataTable prwtdt = (ProjectDataSet.ProjectRemainWorkTimeDataTable)GridView3.DataSource;
List<DateTime> listdt = new List<DateTime>();
List<double> listreminedWork= new List<double>();
for (int i = 0; i < prwtdt.Count; i++)
{
listdt.Add(prwtdt[i].ReportDate);
listreminedWork.Add(prwtdt[i].RemainTime);
}
BurnDownChart.CreateChart(pane[0], listdt.ToArray(), listreminedWork.ToArray());

}



BurnDownChartクラスはこんな感じにしてみました。

using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using ZedGraph;
using ZedGraph.Web;

/// <summary>
/// BurnDownChart の概要の説明です
/// </summary>
public class BurnDownChart
{
public BurnDownChart()
{
//
// TODO: コンストラクタ ロジックをここに追加します
//
}
static public void CreateChart(GraphPane gp,DateTime[] dt,double[] remainwork)
{

// Set the titles and axis labels
gp.Title.Text = "バーンダウンチャート";
gp.XAxis.Title.Text = "日付";
gp.YAxis.Title.Text = "残日数";

// Make up some data points based on the Sine function
string[] datename = new string[dt.Length];
for (int i = 0; i < dt.Length; i++)
{
datename[i] = dt[i].ToShortDateString();
}

LineItem myCurve = gp.AddCurve("残日数",
null,remainwork, System.Drawing.Color.Red, SymbolType.Diamond);
myCurve.Line.IsSmooth = false;
// Set the XAxis to date type
gp.XAxis.Type = AxisType.Text;
gp.XAxis.Scale.TextLabels = datename;
gp.XAxis.Scale.FontSpec.Angle = 40;
gp.AxisChange();
}
}


X軸をXDate型(ZedGraph独自のdouble型変数に格納する日付)のグラフのサンプルは以下。
http://zedgraph.org/wiki/index.php?title=Tutorial:Date_Axis_Chart_Demo

ただ、これで表示すると、5月28日が、28-5みたいに分けわからない形式になるため、この方法を採用せず。
X軸はText型のものにしました。参考にしたサンプルは以下。
http://zedgraph.org/wiki/index.php?title=Tutorial:Text_Axis_Chart_Demo

2008年7月23日水曜日

ADO.NETのDBがSQLiteのもの

http://sqlite.phxsoftware.com/
が、紹介で、ダウンロード元が以下
http://sourceforge.net/projects/sqlite-dotnet2
で、導入してみると、Visual Studio 2008 Standard Editionではこんな感じに。




データソースの選択にSQLiteが出てくる。




詳細設定の一番下の箱など日本語で出てほしいところは出ませんが、特に問題にならないと思う。



2008年7月22日火曜日

ASP.NETのメモ(セッションステート外部ストア):保留。

今回は、セッションステートの外部ストア化です。
Linux+Mono+xsp2で動かすためには、SQL Serverと決別しなきゃいけないので、セッション管理もSQL Serverから別のものに移さなきゃならない。

幸いASP.NET 2.0では、この管理も他と同様にProviderパターン(Template Methodパターン?)
で、外部からの注入が可能となっています。
で、これを使ってやるのですが、難航しています。
http://msdn.microsoft.com/ja-jp/library/ms178588.aspx
と同様にすれば、別のセッション情報をDBで管理できるようになったのだけれど、セッションidがURLに出てしまう。(Cookieless=trueにしているから。)
サンプルプログラムはちゃんと読んだわけではないのですが、DBデータの挙動を見ているとCookielessをfalseにすると、DBに書き出されていないみたい。

ま、今回作るプログラムは、5画面以上の遷移や、100文字以上の入力がないので、Sessionは、Inprocモードでやることにします。

2008年7月21日月曜日

インサイドSQL Server2005 クエリチューニング&最適化編

本屋によったら、インサイドSQL Server2005の本が売っていた。
というわけで、今回も購入。税込4935円。やっぱり黄色い本は高いなぁ。