リリースしました。 詳細はこちらをご覧ください。http://www.seasar.org/wiki/index.php?SeasarWhatsNew%2F2014-02-01#ie0983f2
Java 8 対応に伴い Doma 2 の開発を検討しています。 素案を書いてみました。 https://gist.github.com/nakamura-to/6751206 ご意見ありましたら、コメントをお願いします。
Daoフレームワーク Doma 1.35.0 をリリースしました。ダウンロードはこちらからどうぞ。 http://doma.seasar.org/downloads.html Mavenをご利用の方はこちらを参照ください。 http://www.seasar.org/wiki/index.php?Maven2RepoRemote 以前のバージョンから移…
Daoフレームワーク Doma 1.34.0 をリリースしました。ダウンロードはこちらからどうぞ。 http://doma.seasar.org/downloads.html Mavenをご利用の方はこちらを参照ください。 http://www.seasar.org/wiki/index.php?Maven2RepoRemote 以前のバージョンから移…
Doma 1.33.0 をリリースしました。ダウンロードはこちらからどうぞ。 http://doma.seasar.org/downloads.html Mavenをご利用の方はこちらを参照ください。 http://www.seasar.org/wiki/index.php?Maven2RepoRemote 以前のバージョンから移行するには移行ガイ…
m2e(m2eclipse)を使って次のようなエラーがでたら設定を調整してください。 [DOMA4019] SQLファイル[META-INF/../select.sql]がクラスパスから見つかりませんでした これは、m2e(m2eclipse)で作ったプロジェクトがSQLファイルをOutput Folderにコピーしない…
Doma 1.32.0 をリリースしました。ダウンロードはこちらからどうぞ。 http://doma.seasar.org/downloads.html Mavenをご利用の方はこちらを参照ください。 http://www.seasar.org/wiki/index.php?Maven2RepoRemote 以前のバージョンから移行するには移行ガイ…
twitter:@backpaper0 さんの発言から。 window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platfo…
DOMA-285について JDK7 + Gradle 1.6 でビルドして注釈処理が失敗すると、javax.annotation.processing.Messager経由のメッセージ出力がコンソールに表示されないということがわかりました。例外にも同等の内容を含め、コンソールにメッセージが表示されるよ…
Doma 1.31.0 をリリースしました。今回は非常に細かい修正だけが入っています。ダウンロードはこちらからどうぞ。 http://doma.seasar.org/downloads.html Mavenをご利用の方はこちらを参照ください。 http://www.seasar.org/wiki/index.php?Maven2RepoRemot…
Doma 1.30.0 をリリースしました。ダウンロードはこちらからどうぞ。 http://doma.seasar.org/downloads.html Mavenをご利用の方はこちらを参照ください。 http://www.seasar.org/wiki/index.php?Maven2RepoRemote 以前のバージョンから移行するには移行ガイ…
DomaのJIRAに報告もらって気づいたのですが、最近のH2 Databaseには互換性のない変更が加わっているようです。 一意性約違反のエラーコードが23001から23505に変わった SELECTのLIMIT句に0を指定した場合の検索結果が異なる H2のバージョン1.2.126と1.3.171…
TranqというF#専用のDBアクセスライブラリについて話します。 https://github.com/nakamura-to/Tranq はじめに Tranqでは、F#らしくDB上のNULLをoption型で扱えます。たとえば、次のようなテーブル定義を考えます。 create table Person (Id int primary key…
TranqというF#専用のDBアクセスライブラリを作りました。 https://github.com/nakamura-to/Tranq NuGetはこちら。 http://nuget.org/packages/Tranq/ Tranqを作った背景ですが、既存のDBアクセスライブラリだとF#の便利な機能を活かしにくいなと感じたので作…
http://seasarproject.g.hatena.ne.jp/halflite/20130305/s2jdbcgen3 コメントできないのでトラックバックで。元の並びに依存したComparatorがダメらしいですね。対応版のコードおいておきます。 https://gist.github.com/nakamura-to/5096537 とりあえずは…
Doma 1.29.0 をリリースしました。ダウンロードはこちらからどうぞ。 http://doma.seasar.org/downloads.html Mavenをご利用の方はこちらを参照ください。 http://www.seasar.org/wiki/index.php?Maven2RepoRemote 以前のバージョンから移行するには移行ガイ…
コンピュテーション式でADO.NETのトランザクションを表現するアイデアを使いつつ、パラメータありのSQLをTypeProviderを使って(比較的)型安全に実行する方法を考えてみました。TypeProviderはF# 3.0で導入された、コンパイル時に型を生成する機能です。こ…
Lazyのアクティブパターンを使うとすっきり書けることに気づきました。 (* ('a -> 'b -> 'c) -> Lazy<'a> -> Lazy<'b> -> Lazy<'c> *) let lift2 f x y = lazy ( let (Lazy a) = x let (Lazy b) = y f a b) do let x = lazy (10 + 20) let y = lazy (1 + 2) …
すごいHaskellたのしく学ぼう! にMaybeモナドの説明で、次のようなものがあります。 ピエールがバランス棒を持って綱渡りしている最中、バランス棒の左右に鳥がとまる。 左右の鳥の数の差が3より大きくなったらピエールは落下して綱渡りが失敗する。 左右の…
F#のコンピュテーション式がだんだんとわかってきたので思いついたアイデアをコードに落としてみました。 https://gist.github.com/4698060/5eae582bfda17733baa2f1944f858875324a1ea6 ADO.NETのトランザクションやコネクションの管理をすっきり書けるように…
配列が使えるようになりました。実装はF#のリストですけど。 https://gist.github.com/4645884/2465fde0e7653fc8051979d7d54c83fd8d60146b 次のスクリプトを解釈させると a = [2, 3, 4] print(a[1]) a[1] = "three" print("a[1]: " + a[1]) b = [["one", 1],…
Doma 1.28.0 をリリースしました。ダウンロードはこちらからどうぞ。 http://doma.seasar.org/downloads.html Mavenをご利用の方はこちらを参照ください。 http://www.seasar.org/wiki/index.php?Maven2RepoRemote 以前のバージョンから移行するには移行ガイ…
クラスの定義とインスタンス化ができるようになりました。 https://gist.github.com/4641973/925dbbb67ade2720c99099bf1f0c177aba0ecd20 class Position { x = 0 y = 0 def move(nx, ny) { x = nx y = ny } } class Pos3D extends Position { z = 0 def set(…
https://gist.github.com/4632243/73184b099d24ebcad956de5c01409224ccf96f9d F#の関数や.NETのメソッドを呼び出せるようにしました。 lengthで文字列の長さを返して、toIntで文字列を数値へ変換。printで出力。 次のコードを実行すると5が返ってきます。 s1…
https://gist.github.com/4578600/687544edff499c54d4e5ea6fd2208244cdce1c1f やっとクロージャが実装できました。 def counter (c) { fun () { c = c + 1 } } c1 = counter(0) c2 = counter(0) c1() c1() c2() c1()上のコードを実行すると3が返ってきます。…
昨日書いた評価器は、いまいちバグってるなー。静的スコープじゃなくて動的スコープになっているし、環境がグローバルの環境しかない。 デバッグでずいぶん時間を無駄にしました(そしてまだ解決していない)。しかし、そのおかげで、Visual Studioのデバッ…
半年前くらいにJavaでおもちゃスクリプトを作ってみましたが、今度はF#で挑戦。 https://gist.github.com/4578600 この週末にフィボナッチ計算ができるところまで作ってみました。 言語の構文は 2週間でできる! スクリプト言語の作り方 (Software Design pl…
Doma 1.27.1 をリリースしました。ダウンロードはこちらからどうぞ。 http://doma.seasar.org/downloads.html Mavenをご利用の方はこちらを参照ください。 http://www.seasar.org/wiki/index.php?Maven2RepoRemote 以前のバージョンから移行するには移行ガイ…
Doma 1.27.0 をリリースしました。ダウンロードはこちらからどうぞ。 http://doma.seasar.org/downloads.html Mavenをご利用の方はこちらを参照ください。 http://www.seasar.org/wiki/index.php?Maven2RepoRemote 以前のバージョンから移行するには移行ガイ…
これまで、ずっと、Domaを実行できるIDEはEclipseだけだと思い込んでいましたが、それは間違いでした。DomaがIntelliJ IDEAでも動いたんですよ、しかも、そんなにハマることもなく!せっかくなので手順書いておきます。(IntelliJ IDEAを使うのはこれが初め…