- スキルはかけた時間の分しか身につかない
効率化?作業は効率化できるが、「考える時間」は効率化できない。
あなたにないスキルがその人にあると言うことは、その分野でその人が時間をかけて努力したからに他ならない。
- すべてのことはトレードオフ
新しい技術とか、新しい開発手法とかで、今までの悩みがすべて解決し、万事うまくいく。
とかいう記事とかうたい文句は信じない。まず疑いの目を持ってみよう。
技術ブログを始めたくてなんとなくスタートです。 たぶん長続きしないはず…
以前より、Linqを利用しMDBファイルにアクセスする方法をもさくしている。
いろいろ検索しているうちに、ADO.NET Entity Frameworkにて、独自のProviderを実装する方法を紹介しているページを発見。
http://blogs.msdn.com/adonet/archive/2007/03/16/ado-net-orcas-sample-provider.aspx
#だが英語
MSDNのCode Gallery内で、サンプルとOracle版は公開されているようだ。
http://code.msdn.microsoft.com/EFSampleProvider
http://code.msdn.microsoft.com/EFOracleProvider
これを参考にOleDBをWrappeingするProviderを作ればいいのか?
誰か作っててもいいのに…
世間では.NET4.0がリリースされようとしている昨今。今更ながらLinq to SQL の勉強です。
Linq to SQLは、ADO.NET Entity Frameworkに取って代わられるとか言われてますが、気にしない。
(参考リンク)
http://msdn.microsoft.com/ja-jp/library/bb425822.aspx
上記ページでどうしても納得いかない箇所が…。DataContextにTable<T>を定義して、それに対してLinqでクエリを投げている箇所。
public partial class Northwind : DataContext
{
public Table<Customer> Customers;
public Table<Order> Orders;
public Northwind(string connection): base(connection) {}
}
Northwind db = new Northwind("c:\\northwind\\northwnd.mdf");
var q =
from c in db.Customers
where c.City == "London"
select c;
foreach (var cust in q)
Console.WriteLine("id = {0}, City = {1}",cust.CustomerID, cust.City);
DataContextにTable<Customer>をフィールドとして定義しているだけで、いつの間にか値が代入されている。おそらく、コンストラクタ内でリフレクションを使用して代入しているのだろうが、わかりにくい。
Windows7を使い始めて、もう何ヶ月もたった今日、今更ながら多くのショートカットが追加されていることに気づきました。
その中で、便利と感じたものをいくつか紹介します。。
タスクバーに含まれるショートカットプログラムを起動。左から1,2,3…と割り振られています。
#実は、Vistaでもできたらしい。
拡大鏡による、拡大縮小が行われます。+が拡大、-が縮小です。
↑は、最大化。↓は最小化。→は右半分に配置。←は左半分に配置。
縦方向にのみ最大化
(参照)
前々からずっと気になっていたんですが、なかなか試す機会がなかったで連休を利用してチャレンジです。
用意したもの
始める
上記をインストールすると、VisualStudioにSilverlight用のプロジェクトテンプレートが追加されていました。
とりあえず、Silverlightナビゲーションアプリケーションを選択(サンプルプロジェクトぽかったので)。
するとダイアログが出てきて、何かを尋ねます。意味がわかってないので、デフォルトで。
作成されたプロジェクトを、そのまま実行した結果。をを、うごいてますな。
画面レイアウトはBlendで編集するとのことなので、先ほどVisualStudioで作成されたプロジェクトをBlendで開いてみる。
そうすると、なぜがMainPage.xamlがエラーをはいています。なぜ?
原因は、XAMLに書かれた日本語が文字化けして、"(ダブルクォーテーション)が消えてることでした。
文字コードが違うみたい。どこかで文字コードを設定する箇所があるのでしょうか?
で、ここで詰まってます。先は長い。
(追記)
Blend上でファイルを右クリック→外部で編集。メモ帳でファイルが開くので、そのまま上書き保存。
そうすると、Blend側で上記ダイアログが表示され、ファイルの再読み込みを促される。
はいをクリックすると、エラーが解決する。一度解決したファイルは次からは正しく表示される。
XAMLファイルの数だけ上書き作業を行うとOK?なのかも。
なぜでしょうね。
Linqから使用しやすい数列を作成する勉強第1弾。
今更ながらなLinqなのですが、.NET Framework3.5はまだ仕事で使えない(※)ので、まだまだ詳しくありません。
ちょっとずつ勉強予定です。
public static IEnumerable<decimal> Fibonacci()
{
decimal previous = 0M;
decimal current = 1M;
while (true)
{
yield return current;
current += previous;
previous = current - previous;
}
}として、
var fs = from f in EnumerableUtil.Fibonacci()
where f % 3 == 0
select f;
foreach (var item in fs)
{
Console.WriteLine(item);
}こんな感じかね。
※Windows2000上で、.NET Framework3.5が動かないからなぁ。