2009年12月26日土曜日

  • スキルはかけた時間の分しか身につかない

効率化?作業は効率化できるが、「考える時間」は効率化できない。
あなたにないスキルがその人にあると言うことは、その分野でその人が時間をかけて努力したからに他ならない。

  • すべてのことはトレードオフ

新しい技術とか、新しい開発手法とかで、今までの悩みがすべて解決し、万事うまくいく。
とかいう記事とかうたい文句は信じない。まず疑いの目を持ってみよう。

2009年12月22日火曜日

ADO.NET Entity Framework Sample Provider

以前より、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を作ればいいのか?
誰か作っててもいいのに…

2009年12月21日月曜日

Linq to SQL

世間では.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>をフィールドとして定義しているだけで、いつの間にか値が代入されている。おそらく、コンストラクタ内でリフレクションを使用して代入しているのだろうが、わかりにくい。

2009年12月20日日曜日

本を買った

久しぶりに技術書をまとめ買い。

  • More Joel on Software
  • More Effective C#

どちらも、「More」じゃない方は持ってないのだが・・・

  • プロダクティブ・プログラマ -プログラマのための生産性向上術
  • アート・オブ・アジャイル デベロップメント ―組織を成功に導くエクストリームプログラミング

感想はまたの機会に。

2009年12月19日土曜日

Windows7のショートカット

Windows7を使い始めて、もう何ヶ月もたった今日、今更ながら多くのショートカットが追加されていることに気づきました。

その中で、便利と感じたものをいくつか紹介します。。

  • Windows + 数字キー(1-0)

タスクバーに含まれるショートカットプログラムを起動。左から1,2,3…と割り振られています。

image

#実は、Vistaでもできたらしい。

  • Windows + +,-キー

拡大鏡による、拡大縮小が行われます。+が拡大、-が縮小です。

image

  • Windows + ↑→↓←キー

↑は、最大化。↓は最小化。→は右半分に配置。←は左半分に配置。

  • Windows + Shift + ↑キー

縦方向にのみ最大化

 

(参照)