1.1-bate-3 release

http://dist.codehaus.org/groovy/distributions/
http://docs.codehaus.org/display/GROOVY/2007/09/20/
http://jira.codehaus.org/secure/IssueNavigator.jspa?reset=true&pid=10242&fixfor=13590

なんか起動が早くなったな。we even got a 100% improvement. はうそではないみたいだ。

goovysh がやっとまともになった。(^^)


>groovysh
Groovy Shell (1.1-beta-3, JVM: 1.6.0_01-b06)
Type 'go' to execute statements; Type 'help' for more information.
groovy> s = 1
groovy> println s
groovy> go
1
===> null

新しいやつを使う。
groovysh.batで if "%NEWSHELL%" == "" set CLASSNAME=groovy.ui.InteractiveShell している


>set NEWSHELL=true

>groovysh
Groovy Shell (1.1-beta-3, JVM: 1.6.0_01-b06)
Type 'help' or '\h' for help.

                                                                                                                                                            • -

groovy:(0):000> s = 1
groovy:(0):000> println s
1
groovy:(0):000> exit

import static をサポート


>groovysh
groovy:(0):000> import static Math.*
groovy:(0):000> import static Boolean.FALSE as F
groovy:(0):000> println PI
3.141592653589793
> println F
false

enum をサポートのはずだがとぶな(テストコードもないしな。。。)


>type testenum.groovy
enum Hoge {
ONE,
TWO
;
}
println(Hoge.ONE)

>testenum.groovy
Caught: java.lang.ExceptionInInitializerErro
at testenum.class$(testenum.groovy)
at testenum.run(testenum.groovy)
at testenum.main(testenum.groovy)

FreeMarkerつかってみた

http://freemarker.sourceforge.net/
みるとEclipse Pluginもあるみたいだ。

Javaの場合はVelocityをほげることがおおい(NVelocityもあるしな)が、今回はFreeMakerをつかってみた。

ソースは
http://freemarker.sourceforge.net/docs/pgui_quickstart_all.html
テンプレートはこっちをみた
http://doikun.cocolog-nifty.com/dowilog/2004/09/velocityfreemar_1.html
でつかうことができた。

なんか使いやすいような使いづらいような。
キーがないと無視ではなくてエラーになる。

ERBのほうが使いやすいな。。。

dotnetからはなれてそろそろ2ヶ月だがバージョンアップはどうすべか。。。

Visual Studio 2008 & .NET 3.5 Beta 2 release is available
http://www.infoq.com/news/2007/07/vs2008beta2

ReSharper 3.0
http://www.jetbrains.com/resharper/

Seasar.NETプロジェクト
http://s2container.net.seasar.org/ja/seasarnet.html
いつのまにかWebがリニューアルしてる

Ymirはなかなかすごいよ

自動生成機能はかなりお気に入り。
ついにJSPの呪縛から開放された。

どんどん機能が足されていっている。
http://ymir.sandbox.seasar.org/doc/ref/conversation もいい感じ。
あとは http://ymir.sandbox.seasar.org/doc/ref/includehttps://www.seasar.org/issues/browse/YMIR-85 がはいれれば機能的にはOKそうだ。

あとは今作っているテストクラス自動生成機能をしあげねば。

ほぼ最新か?

1年ぶりにJavaにもどってきてバージョンはほぼ最新の組みあわせで行っている。
Seasar2.4, S2Dao, DBFlute, Ymir, Maven2, Tomcat 5.5, JDK6, Eclipse3.3, MySQL 5.0

WebのフレームワークTeedaではなくてYmirなのが違うところかな。
思いのほかEclipseが進化してないのが気になる。

# なぜかナイトリービルドは continumn ではなくて dotnetMSBuildで実行しているが。

最適な工期


http://www.atmarkit.co.jp/news/200707/05/juas.html


最適な工期は投入人月の立方根の2.4倍


assert(24 == Math.cbrt(1000)*2.4)


「短縮率が30%以上の短い期間での開発は無謀である」

groovy> (1..100).step(3) { printf("%3.0f,%5.2f,%5.2f\n", 
[it, Math.cbrt(it)*2.4, Math.cbrt(it)*2.4*0.7] as float[])}
groovy> go
  1, 2.40, 1.68
  4, 3.81, 2.67
  7, 4.59, 3.21
 10, 5.17, 3.62
 13, 5.64, 3.95
 16, 6.05, 4.23
 19, 6.40, 4.48
 22, 6.72, 4.71
 25, 7.02, 4.91
 28, 7.29, 5.10
 31, 7.54, 5.28
 34, 7.78, 5.44
 37, 8.00, 5.60
 40, 8.21, 5.75
 43, 8.41, 5.89
 46, 8.60, 6.02
 49, 8.78, 6.15
 52, 8.96, 6.27
 55, 9.13, 6.39
 58, 9.29, 6.50
 61, 9.45, 6.61
 64, 9.60, 6.72
 67, 9.75, 6.82
 70, 9.89, 6.92
 73,10.03, 7.02
 76,10.17, 7.12
 79,10.30, 7.21
 82,10.43, 7.30
 85,10.55, 7.39
 88,10.68, 7.47
 91,10.80, 7.56
 94,10.91, 7.64
 97,11.03, 7.72
100,11.14, 7.80


うーん確かに危険だ。