2011-01-01から1年間の記事一覧

Soma 1.0.0.0 リリース

F#で作ったO/Rマッパー Soma 1.0.0.0をリリースしました(F#はもちろんC#やVB.NETでも使えます)。ダウンロードはこちら。 http://soma.codeplex.com/releases/view/69439 NuGetを使ったダウンロードもできます。 http://nuget.org/List/Packages/Soma Relea…

Soma 0.18.0.0 リリース

F#で作ったO/Rマッパー Soma 0.18.0.0をリリースしました(F#はもちろんC#やVB.NETでも使えます)。ダウンロードはこちら。 http://soma.codeplex.com/releases/view/68540 NuGetを使ったダウンロードもできます。 http://nuget.org/List/Packages/Soma Rele…

Doma 1.16.0 リリース

Java6対応のDaoフレームワーク Doma 1.16.0 をリリースしました。 ダウンロードはこちらからできます。 http://doma.seasar.org/downloads.html Mavenをご利用の方はこちらを参照ください。 http://www.seasar.org/wiki/index.php?Maven2RepoRemote 以前のバ…

Task Parallel Libraryで並列処理とか待ち合わせとか

ジョブを並列処理するプログラムを書こうかなと思って.NET4のTPL(とTask Parallel Library)を調査中。TaskCreationOptions.AttachedToParentとTaskContinuationOptions.AttachedToParentを使うと結構簡単に書ける気がして試してみました。次のプログラムは…

Soma 0.17.0.0 リリース

F#で作ったO/Rマッパー Soma 0.17.0.0をリリースしました(F#はもちろんC#やVB.NETでも使えます)。ダウンロードはこちら(下に書いているようにNuGetでインストールもできます)。 http://soma.codeplex.com/releases/view/68540 Release Notes New Feature…

stringの配列からDictionaryへの変換をやってみた

C# F#

なんとなくやってみました。元ネタ http://d.hatena.ne.jp/okazuki/20110611/1307759414 http://gushwell.ldblog.jp/archives/52163460.html C# LINQはワンライナーで書くより変数で受けるのが好みです。 var arr = new[] {"1", "one", "2", "two"}; var key…

Doma 1.15.0 リリース

Java6対応のDaoフレームワーク Doma 1.15.0 をリリースしました。 ダウンロードはこちらからできます。 http://doma.seasar.org/downloads.html Mavenをご利用の方はこちらを参照ください。 http://www.seasar.org/wiki/index.php?Maven2RepoRemote 以前のバ…

Soma 0.15.0.0 リリース

F#で作ったO/Rマッパー Soma 0.15.0.0をリリースしました(F#はもちろんC#やVB.NETでも使えます)。ぜひお試しください。 http://soma.codeplex.com/releases/view/67627 Release Notes Change - SQLパラメータを表現するために, コードクォテーションの利用…

IronJSとSomaを使ってJavaScriptからDBアクセスしてみる

JavaScriptからSomaを動かしてみようと思って試行錯誤。呼び出すには呼び出せたけどIronJSドキュメントがまだ少ないしAPIがよくわからないしでとても限定的。もう少しさくっとJSからCLRのオブジェクトが呼び出せるといいなぁ。 F# open System open System.C…

Soma 0.14.0.0 リリース

F#で作ったO/Rマッパー Soma 0.14.0.0をリリースしました(F#はもちろんC#やVB.NETでも使えます)。ぜひお試しください。 http://soma.codeplex.com/releases/view/67247 Release Notes New Feature - PowerShellをサポートしました。 Fix - コード生成のPow…

F#のレコードをJSONにシリアライズ

F#

F#のスクリプト(fsx)で次の3つの方法を試してみました。 Json.NET JavaScriptSerializer DataContractJsonSerializer #r "Newtonsoft.Json.dll"#r "System.Runtime.Serialization" open Newtonsoft.Json open System.IO open System.Runtime.Serialization…

PowerShellからSomaを使ってDBアクセス

いろいろやってみましたが、アダプタとなるアセンブリを作ってしまうのが一番簡単。次のクラスをSoma.PowerShell.dllというアセンブリに含めます。 Somaを呼び出すC#のクラス using System.Collections; using System.Collections.Generic; using System.Lin…

次バージョンでPowerShellのサポート

手許のコードではこんな感じでアクセスできるようになりました。特別にAssemblyを作る必要はなく、Soma.Core.dllをロードするだけ(FSharp.Core.dllやFSharp.PowerPack.dllがGACにあるなら)。 2WaySQLも使える。Queryの結果はHashtableのIListでかえってき…

Soma 0.13.0.0 リリース

F#で作ったO/Rマッパー Soma 0.13.0.0をリリースしました(F#はもちろんC#やVB.NETでも使えます)。ぜひお試しください。 http://soma.codeplex.com/releases/view/66786 今回のリリースは、Release Candidateの位置づけです。 7月までにはStableな1.0.0.0と…

Soma 0.12.0.0 リリース

F#で作ったO/Rマッパー Soma 0.12.0.0をリリースしました(F#はもちろんC#やVB.NETでも使えます)。ぜひお試しください。 http://soma.codeplex.com/releases/view/66304 Release Notes Change - IDbConfig.Parse メソッドが IDbConfig.Parser プロパティに…

SomaとF#スクリプトを使ったお手軽DBアクセス

Somaは大きなプロジェクトでも使えますし、小さなツール作成の用途にも使えます。 今回は後者をターゲットとして、Somaを使って手軽にDBアクセスを行うサンプルを紹介します。 環境準備 まず環境を整えます。 DBにはSQL Server 2008を使います。tempdbにアク…

Soma 0.11.0.0 リリース

F#で作ったO/Rマッパー Soma 0.11.0.0をリリースしました(F#はもちろんC#やVB.NETでも使えます)。ぜひお試しください。 http://soma.codeplex.com/releases/view/65812 Release Notes New Feature - SQLの解析結果のオブジェクトをキャッシュするようにし…

Soma 0.10.1.0 リリース

F#で作ったO/Rマッパー Soma 0.10.1.0をリリースしました(F#はもちろんC#やVB.NETでも使えます)。ぜひお試しください。 http://soma.codeplex.com/releases/view/65601 Release Notes New Feature - プロパティが大文字小文字を区別しない動的オブジェクト…

Soma 0.9.0.0 の新機能

新機能は大きく言って2つあります。 Microsoft SQL Server Compact 4.0 と SQLite といった軽量RDBMSのサポート 動的オブジェクトへのマッピングのサポート Microsoft SQL Server Compact 4.0 と SQLite のサポート 設定方法やデータ型のマッピングなどはド…

Soma 0.9.0.0 リリース

F#で作ったO/Rマッパー Soma 0.9.0.0をリリースしました(F#はもちろんC#やVB.NETでも使えます)。ぜひお試しください。 http://soma.codeplex.com/releases/view/65484 Release Notes New Feature - Microsoft SQL Server Compact 4.0 をサポートしました. …

Soma 0.8.0.0 をリリースしました。

F#で作ったO/Rマッパー Soma 0.8.0.0 をリリースしました。 http://soma.codeplex.com/releases/view/65079 F#にはもちろん、C#やVB.NETに最適化したAPIもあります。 F#用サンプルコード C#用サンプルコード VB.NET用サンプルコード 前回からの変更点は次の…

Soma 0.7.0.0 のC#サポートについて

Soma 0.7.0.0 で C#(やVB.NET)のサポートを強化しました。このエントリではその点について紹介します。まず、Soma.Core.Dbの全メソッドがオーバーライド可能です。ですので、ちょっとフックしてアプリに共通の機能を入れたりと便利に使えます。 たとえば、…

Soma.Core.DbクラスのQueryOnDemandメソッド

もうひとつ紹介。 QueryOnDemandメソッドは、SQLの実行を遅延し、さらにDbDataReaderを読みながら一件一件結果を返します。大量データを扱うときに便利です。たとえば、Employeeテーブルから全件取得する次のようなコードを見てみます。 var db = new Db(new…

Soma 0.7.0.0 リリース

.NETのO/Rマッパー Soma 0.7.0.0 をリリースしました。F#、C#、VB.NETをサポートします。 http://soma.codeplex.com/releases/view/64498 今回のリリースでは、C#やVB.NETから使いやすいように、クラスの名前を調整しました。それと、C#を意識したドキュメン…

Soma 0.6.0.0 リリース

.NETのO/Rマッパー Soma 0.6.0.0 をリリースしました。 http://soma.codeplex.com/releases/view/64164 F#、C#、VB.NETで動作します。それぞれの言語ごとにサンプルプロジェクトを作ったので、それらを見ると使い方のイメージが湧くと思います。.NETのバージ…

F#でSomaを使うメリット その2 : 単位の利用

F#には単位という非常にクールな機能があります。F#でSomaを使えばこの機能が利用でき、わかりやすいプログラムを安全に(コンパイル時にチェックされるので)記述できます。サンプルを見てみましょう。まず、センチメートル、メートル、キログラム、そして…

F#でSomaを使うメリット

かんたんにいうとF#の次の特長を活かせます。 nullを排除できる 値をimmutableにできる それってF#なんだから当然でしょ、と思うかもしれません。しかし、既存のO/Rマッパーを使おうとすると上の2つの特徴はたやすく犠牲になってしまうのです。既存のO/Rマッ…

Soma 0.5.0.0 リリース

F#で作ったO/RマッパーSoma 0.5.0.0をリリースしました(C#やVB.NETでも使えます)。 http://soma.codeplex.com/releases/view/63671 今回リリースのメインの機能は2つです。 Enumのサポート ストアドプロシージャ呼び出しのサポート Enumサポートの機能は以…

Doma 1.14.0 リリース

Java6対応のDaoフレームワーク Doma 1.14.0 をリリースしました。 ダウンロードはこちらからどうぞ。 http://doma.seasar.org/downloads.html Mavenをご利用の方はこちらを参照ください。 http://www.seasar.org/wiki/index.php?Maven2RepoRemote 以前のバー…

ReSharperのFormatting Style

C#

なぜかこんなフォーマットを使っていました。デフォルトのままなのか自分で変えてこうしたのかは覚えていない。public static void Hoge() { var action = new Action(() => { Console.WriteLine("hoge"); Console.WriteLine("foo"); }); }でも、こうしたほ…