Emacsからperltidyでバッファを整形するとoverlayやrepositoryが消える、ずれる問題

elispのshell-command-on-regionでREPLACEパラメータを設定してperltidyを呼び出してソースの整形を行った場合、バッファの内容をdelete-regionで削除しているので、設定してあったoverlayが消えてしまう。個人的に利用しているbm.elがoverlayを利用してブッ…

EmacsでPerl開発環境

EmacsでPerl開発環境作成のメモです。 Perl開発以外の設定についてもそのうちまとめておこうと思っています。http://www12.atpages.jp/~lottz/pukiwikiplus/index.php?Emacs_modules

BuilderSupportでDSL

GroovyでDSLを作るときに便利なBuilderSupportを使う簡単な例です。 public class MyBuilder extends BuilderSupport{ protected Object createNode(Object name) { def obj = new Expando(name:name,children:,attributes:[:]) return obj } protected Obje…

HashMapで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

Groovyで文字列をeval

その1 import groovy.lang.GroovyShell GroovyShell shell = new GroovyShell() def ret = shell.evaluate("1+1")その2 Evalのme()メソッドを使う。 int i = Eval.me("1+1")同Evalクラスのx()メソッド。 Eval.x()メソッドの第一パラメータは、評価したい第…

GroovyでArrayListを利用する

def arr = []Groovyでは上記で、配列でなくArrayListのインスタンスになる。先頭から順に要素を減らしていくような場合tail()が使える。 arr.tail()空になったかどうかの判定はsize()でなく、インスタンスそのままをifに渡すことができる。 if(arr){ // }els…

Groovyで動的にクラスをロード、再読み込み

基本な仕組みはJavaのクラスローダの場合と同じ(はず)。基本クラスローダ(ブートストラップ、エクステンション、システム) システムクラスローダは、クラスパス上のクラスを読むローダ。クラスパス上に存在するクラスはシステムクラスローダで読まれてしまう…

FexFactoryの拡張(2)

FlexFactory#createFactoryInstance()の戻り値はFactoryInstanceのインスタンスだが、このインスタンスはlookupメソッド呼び出し時のパラメータに渡される(はず)。FactoryInstanceはフィールドにConfigMapを持つので、ここに設定値を保持しておいて、lookup…

FlexFactoryの拡張

FlexFactoryはFlexのリモートオブジェクトを使った通信の際のあて先インスタンスを返す処理を拡張する際に利用するクラス。 このFlexFactoryの拡張の仕方について。FlexFactoryクラスを継承し、FlexFactoryのインタフェースであるcreateFactoryInstanceとloo…

Real World Haskell

Real World Haskell添付のサンプルソースの場所がわかりにくかったのでメモ。http://examples.oreilly.com/9780596514983/rwh-examples2.zip参考。http://www.haskell.org/haskellwiki/Real_World_Haskell

SVNのタグとブランチのつけ方

検索するとすぐ出てきたが、以下が簡単にまとまっていてわかりやすい。http://d.hatena.ne.jp/takayukis/20060609/1149845435 ブランチは1.0.xのように系として存在し、タグは1.0.0のように点(スナップショット)として存在する。

ActionScrpt3のクロージャのthisオブジェクト

ActionScrpt3のクロージャでは、関数呼び出し時に明示的にthisオブジェクトを指定できる模様。 ArrayにはforEachとmapメソッドが用意されていて、パラメータにクロージャのほかに、クロージャ内でthisオブジェクトとして参照されるオブジェクトを渡すことが…

Flexのコマンドラインデバッガ

FlashDevelopにはデバッガが付いていない。このためデバッグしたいときは、Flex SDK標準のコマンドラインデバッガfdbを利用する必要がある。まず、FlashDevelopのプロジェクトをデバッグビルドしておく。 コマンドラインを起動し、swfの出力フォルダであるbi…

ファイル入出力時の文字コード指定

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

EmacsでXML整形表示

xml-mode(sgml-mode)にして、一行になっているXMLをリージョンで選択し、M-x sgml-pretty-printを行うと、改行とインデントが施されて表示される。 xml-modeでない場合、改行のみでインデントはされないが、xml-modeに切り替えてindent-regionを行うとインデ…

AntBuilderでwarファイルをWebLogicにデプロイ

AntBuilderでtaskdefしてWebLogicのDeployerを利用してデプロイを行う。 def ant = new AntBuilder() ant.sequential() { taskdef name: "wldeploy", classname:"weblogic.ant.taskdefs.management.WLDeploy", classpath:"E:/bea/wlserver_10.3/server/lib/w…

AntBuilderで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") exclude(name:"**/*.java") } }warに含めたいファ…

Mewからssl経由でgmail/yahoo mailを利用

けっこうはまってしまったのでメモ。 準備 meadow + mew stunnel(cygwin) stunnelはcygwinのものを利用。 上記プラスcygwinのopenssl(鍵を作るため) 設定 mewの設定 (setq mew-config-alist '( ("default" ("name" . "名前") ("user" . "ユーザ名") ("mail-d…

例外の実装方針

例外クラスの利用方針 Javaでの例外の利用方針は、思いつくもので大きく分けて3つ。 アプリケーション全体でひとつの例外クラスを利用 アプリケーション全体で複数の例外を利用 検査例外を利用せず、全てRuntime Exceptionを利用 アプリケーション全体でひ…

ファンクションポイントとユースケースの本・資料

そのうち読むかも、ということでタイトルだけメモ ユースケース実践ガイド―効果的なユースケースの書き方 失敗のないファンクションポイント法-アレア システム開発の見積りのための実践ファンクションポイント法 IPA/SEC ソフトウェア開発データ白書 JUAS …

コメントの抽出

下のページのコメント部分を抜き出すというお題が前から気になっていたので、書き直してシンプルにして(劣化?)みた。コアな部分はあまり変わっていないので面白くないかもしれない。 http://ls-al.jp/blog2/category_11/item_498.html module Main(main) wh…

直交表とpair wise法

直交表とかpair wise(all pair)法とか、テストケースの抽出に利用する技法について少し調べてみた。 直交表 ある2列の組み合わせで見ると、同じ組がそれぞれ同じ数だけある。 2なら、すべて2組ずつ。 all-pair ある2列の組み合わせで、全ての組み合わせが…

hashの実装について

Beautiful Codeという本にhashの実装についての章があったので、少し調べてみた。 参考にしたソース、資料 本ではPythonのhash実装を説明していたが、そこでポイントされていたのが下記の資料。 資料 http://svn.python.org/view/python/trunk/Objects/dictn…

DocumentBuilderで日本語のパスを渡すとエラーになる不具合

下記のようなファイルをxpathで読もうとします。 id01 car1 id02 car2 読み込むソースは下記です。 import javax.xml.parsers.* import javax.xml.xpath.* import org.w3c.dom.* // documentの作成 def path = "C:\\englishpass\\car.txt" DocumentBuilderFa…

見積もりのリンク

規模見積もりやファンクションポイントなどのリンク http://itpro.nikkeibp.co.jp/article/COLUMN/20070221/262654/?ST=mngskill http://www.1offshoring.com/modules/wordpress/index.php?p=29 http://allabout.co.jp/career/swengineer/subject/msubsub_es…

jvmの起動時にロケール指定

jvmの起動パラメータに下記の指定でロケールが変更できる。 -Duser.language=en -Duser.country=USちなみにEclipseではアプリケーションとしての起動パラメータに -nl があり、-nl en_USなどと指定するとそのロケールで動作している模様。

Groovyのeachの動作

配列のように順次取り出せる構造になっている対象に対するeachは各要素でブロックを実行し、そうでない場合は自分自身で一回だけブロックを実行している模様。 def a = new Expando() a.id="id_a" [a].each{ println it } /* 結果: {id=id_a} */ a.each{ pri…

使っているEclipeプラグインのまとめ

Editor Enhancements 主にemacsのような矩形選択、編集ができる。その他emacs風の編集が少しできる。 プロパティエディタ これがないとめんどくさいです。 checkStyle ファイル単位でのチェックスタイルの有効無効の切り替えは、右クリックメニューから行う…

タブの代わりにスペースを使うようにする

タブの代わりにスペースを使うようにする設定。 Eclipse3.3で、 Preferences->Java->Code Style->Formatterを選択。 プロファイルのEditを押してEdit画面を表示。Tab policyでSpace onlyを選択するとTAB押下時にスペースが挿入されるようになる。

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"]].tra…