Groovyでzip
Groovyが関数型言語の特徴を汲んでいるのなら、おそらく実装されているはず。 zipは[1,2,3]と["a","b","c"]のリストを[[1,"a"],[2,"b"],[3,"c"]]のように掛け合わせる。 GroovyではList.transpose()メソッドで実装されている。[[1,2,3],["a","b","c"]].transpose() //結果は以下...
View Articleタブの代わりにスペースを使うようにする
タブの代わりにスペースを使うようにする設定。 Eclipse3.3で、 Preferences->Java->Code Style->Formatterを選択。プロファイルのEditを押してEdit画面を表示。Tab policyでSpace onlyを選択するとTAB押下時にスペースが挿入されるようになる。
View Article使っているEclipeプラグインのまとめ
Editor Enhancements主にemacsのような矩形選択、編集ができる。その他emacs風の編集が少しできる。プロパティエディタこれがないとめんどくさいです。checkStyleファイル単位でのチェックスタイルの有効無効の切り替えは、右クリックメニューから行うことができる。TestNG& eclEmmaテスティングフレームワークとカバレッジ...
View ArticleGroovyのeachの動作
配列のように順次取り出せる構造になっている対象に対するeachは各要素でブロックを実行し、そうでない場合は自分自身で一回だけブロックを実行している模様。def a = new Expando() a.id="id_a" [a].each{ println it } /* 結果: {id=id_a} */ a.each{ println it } /* 結果: {id=id_a}...
View Articlejvmの起動時にロケール指定
jvmの起動パラメータに下記の指定でロケールが変更できる。-Duser.language=en -Duser.country=USちなみにEclipseではアプリケーションとしての起動パラメータに -nl があり、-nl en_USなどと指定するとそのロケールで動作している模様。
View Article見積もりのリンク
規模見積もりやファンクションポイントなどのリンクhttp://itpro.nikkeibp.co.jp/article/COLUMN/20070221/262654/?ST=mngskillhttp://www.1offshoring.com/modules/wordpress/index.php?p=29http://allabout.co.jp/career/swengineer/subject...
View ArticleDocumentBuilderで日本語のパスを渡すとエラーになる不具合
下記のようなファイルをxpathで読もうとします。id01car1id02car2読み込むソースは下記です。import javax.xml.parsers.* import javax.xml.xpath.* import org.w3c.dom.* // documentの作成 def path = "C:\\englishpass\\car.txt"...
View Article直交表とpair wise法
直交表とかpair wise(all pair)法とか、テストケースの抽出に利用する技法について少し調べてみた。直交表ある2列の組み合わせで見ると、同じ組がそれぞれ同じ数だけある。2なら、すべて2組ずつ。all-pairある2列の組み合わせで、全ての組み合わせが最低1つはある。組み合わせを生成するツールとしてpict,pictMaster,Jennyなどがある。用語因子 :列のこと水準...
View Articleコメントの抽出
下のページのコメント部分を抜き出すというお題が前から気になっていたので、書き直してシンプルにして(劣化?)みた。コアな部分はあまり変わっていないので面白くないかもしれない。http://ls-al.jp/blog2/category_11/item_498.htmlmodule Main(main) where import System.Environment import System.IO...
View Articleファンクションポイントとユースケースの本・資料
そのうち読むかも、ということでタイトルだけメモユースケース実践ガイド―効果的なユースケースの書き方失敗のないファンクションポイント法-アレアシステム開発の見積りのための実践ファンクションポイント法IPA/SEC ソフトウェア開発データ白書JUAS ソフトウェアメトリックス調査
View Article例外の実装方針
例外クラスの利用方針Javaでの例外の利用方針は、思いつくもので大きく分けて3つ。アプリケーション全体でひとつの例外クラスを利用アプリケーション全体で複数の例外を利用検査例外を利用せず、全てRuntime...
View ArticleMewからssl経由でgmail/yahoo mailを利用
けっこうはまってしまったのでメモ。準備meadow + mewstunnel(cygwin)stunnelはcygwinのものを利用。上記プラスcygwinのopenssl(鍵を作るため)設定mewの設定 (setq mew-config-alist '( ("default" ("name" . "名前") ("user" . "ユーザ名") ("mail-domain" ....
View ArticleAntBuilderでwarファイル作成
def ant = new AntBuilder() ant.war(destfile:deployWorkDir + "/" + projectName + ".war", webxml:"WEB-INF/web.xml"){ fileset(dir:".") { include(name:"**/*") exclude(name:"WEB-INF/lib/xxxx.jar")...
View ArticleAntBuilderでwarファイルをWebLogicにデプロイ
AntBuilderでtaskdefしてWebLogicのDeployerを利用してデプロイを行う。def ant = new AntBuilder() ant.sequential() { taskdef name: "wldeploy", classname:"weblogic.ant.taskdefs.management.WLDeploy",...
View ArticleEmacsでXML整形表示
xml-mode(sgml-mode)にして、一行になっているXMLをリージョンで選択し、M-x sgml-pretty-printを行うと、改行とインデントが施されて表示される。xml-modeでない場合、改行のみでインデントはされないが、xml-modeに切り替えてindent-regionを行うとインデントが施される。
View Articleファイル入出力時の文字コード指定
def a = new File("d:/aaa.txt") println a.getText("shift_JIS") def b = new File("d:/bbb.txt") println b.newReader("shift_JIS").text def o = new File("d:/out.txt") o.withWriter("UTF-8"){ it...
View ArticleFlexのコマンドラインデバッガ
FlashDevelopにはデバッガが付いていない。このためデバッグしたいときは、FlexSDK標準のコマンドラインデバッガfdbを利用する必要がある。まず、FlashDevelopのプロジェクトをデバッグビルドしておく。コマンドラインを起動し、swfの出力フォルダであるbinフォルダに移動し、fdbを起動。 fdb.exe Foge.swf...
View ArticleSVNのタグとブランチのつけ方
検索するとすぐ出てきたが、以下が簡単にまとまっていてわかりやすい。http://d.hatena.ne.jp/takayukis/20060609/1149845435ブランチは1.0.xのように系として存在し、タグは1.0.0のように点(スナップショット)として存在する。
View ArticleReal World Haskell
Real World Haskell添付のサンプルソースの場所がわかりにくかったのでメモ。http://examples.oreilly.com/9780596514983/rwh-examples2.zip参考。http://www.haskell.org/haskellwiki/Real_World_Haskell
View ArticleFlexFactoryの拡張
FlexFactoryはFlexのリモートオブジェクトを使った通信の際のあて先インスタンスを返す処理を拡張する際に利用するクラス。このFlexFactoryの拡張の仕方について。FlexFactoryクラスを継承し、FlexFactoryのインタフェースであるcreateFactoryInstanceとlookupをoverrideする。...
View ArticleFexFactoryの拡張(2)
FlexFactory#createFactoryInstance()の戻り値はFactoryInstanceのインスタンスだが、このインスタンスはlookupメソッド呼び出し時のパラメータに渡される(はず)。FactoryInstanceはフィールドにConfigMapを持つので、ここに設定値を保持しておいて、lookup時に参照できる模様。...
View ArticleGroovyで動的にクラスをロード、再読み込み
基本な仕組みはJavaのクラスローダの場合と同じ(はず)。基本クラスローダ(ブートストラップ、エクステンション、システム)システムクラスローダは、クラスパス上のクラスを読むローダ。クラスパス上に存在するクラスはシステムクラスローダで読まれてしまうので、動的にロード、リロードする場合は、該当クラスをクラスパスに含めないようにし、自前のクラスローダでロードするようにする。Groovyで用意されているクラ...
View ArticleGroovyでArrayListを利用する
def arr = []Groovyでは上記で、配列でなくArrayListのインスタンスになる。先頭から順に要素を減らしていくような場合tail()が使える。arr.tail()空になったかどうかの判定はsize()でなく、インスタンスそのままをifに渡すことができる。if(arr){ // }else{ // サイズ0...
View ArticleGroovyで文字列をeval
その1import groovy.lang.GroovyShell GroovyShell shell = new GroovyShell() def ret = shell.evaluate("1+1")その2 Evalのme()メソッドを使う。int i = Eval.me("1+1")同Evalクラスのx()メソッド。...
View ArticleHashMapでeachWithIndex
HashMapのキーと値のペアをインデックス付きで取り出します。def m = [field1:"f1",field2:"f2",field3:"f3"] m.eachWithIndex{k,v,i-> println k + ":" + v + ":" + i } // 出力 field1:f1:0 field2:f2:1 field3:f3:2
View ArticleBuilderSupportでDSL
GroovyでDSLを作るときに便利なBuilderSupportを使う簡単な例です。public class MyBuilder extends BuilderSupport{ protected Object createNode(Object name) { def obj = new Expando(name:name,children:,attributes:[:]) return obj...
View ArticleEmacsでPerl開発環境
EmacsでPerl開発環境作成のメモです。Perl開発以外の設定についてもそのうちまとめておこうと思っています。http://www12.atpages.jp/~lottz/pukiwikiplus/index.php?Emacs_modules
View ArticleEmacsからperltidyでバッファを整形するとoverlayやrepositoryが消える、ずれる問題
elispのshell-command-on-regionでREPLACEパラメータを設定してperltidyを呼び出してソースの整形を行った場合、バッファの内容をdelete-regionで削除しているので、設定してあったoverlayが消えてしまう。個人的に利用しているbm.elがoverlayを利用してブックマークを実現しているので、上書き保存のたびにブックマークが消えてしまう(write-f...
View Article