添削について確認してみた

([obj methodname & methodnames] `(concat (obj-values ~obj ~methodname) (obj-values ~obj ~@methodnames))) この場合、obj が複数回評価されうるのでよろしくないと思います。 `(let [obj# ~obj] (concat (obj-values obj# ~methodname) (obj-values obj…

Javaオブジェクトに対して指定のメソッド名に対する値を取ってリストで返すClojureのマクロを作った

いやbeanを使えばいいという話もあるのですが、ちょっと必要に迫られて作りました。 (defmacro obj-values "Takes a Java object and method names, returns a list of method values." ([obj] '[]) ([obj methodname] `[(. ~obj ~methodname)]) ([obj metho…

おっちょこちょい?なScalaソースを添削してClojureに書き換えてみた

If you have to learn just one programming language - Babu Srinivasan's blogを見ていたが、最後に出てきたScalaのソースがダメなJavaソースそっくりなことにがっかり。 はてブには「Scalaサンプルがひどい。for文の中を、moneyを引数にして新しいmoneyを…

内部クラスのインスタンス生成は誰がインスタンス生成したかによって結果が異なる

今までインスタンスに対して、newを呼び出せるとは知らなかった。 なにか、効果的に使う方法はあるのかな? 内部クラスのインスタンス生成 - or1ko's diary にコメントしたけど、インナークラスがエンクロージングクラスのインスタンス変数を参照するような場…

Java 6 Update 10 Kernel Online版インストーラ

JavaのJRE 6の方にだけ、Kernel Online版インストーラというものが用意されています。 Java SE - Downloads | Oracle Technology Network | OracleのJava Runtime Environment (JRE) 6 Update 10 を選び、環境を選んだあと、ダウンロードできるインストーラ…

JDK 6 Update 10 / JRE 6 Update 10がリリースされました。

日本語のサイトからだと全然ダウンロードできる気配がないので、英語サイトからどうぞ。 Java SE - Downloads | Oracle Technology Network | Oracle既存のSwingアプリをNimbus LAFで試したい場合は、以下のようなシステムプロパティを加えて起動すればOKみ…

StrutsからWicketに移行する際にとまどった部分とその解決方法

Strutsでこういう実装をしたのを、Wicketではどうやればいいんだろう?と私が思った内容をつらつら書きます。もうだいぶ前に実装完了しちゃったから、思い出せるものも多くないかも知れませんが、少しでも役に立つと幸い。 私が当時使っていたStrutsとWicket…

Maven2社内利用向けツール Apache Archiva

Maven2を社内で利用する場合に、色々な不都合が生じるかと思います。私のケースで言えば… 社内リポジトリ環境構築 (WebDAV? FTP?) 社内リポジトリへのライブラリの重複登録 セントラルリポジトリ(およびそれのミラー)へ各々がアクセス こんなところでしょ…

フォームの複数の要素をまとめて1つのパネルにする方法

RDBテーブルのカラムのデータ型に合った検索条件入力部を作ろう!となったときに、データ型に合った条件を入力できるパネルがあればいいなと思いました。 (例えば、文字列での検索の場合は条件と部分一致か完全一致かのプルダウンを付ける、とか、日付の場合…

http://cappuccino.jp/scala-ja/?Scala%CA%D9%B6%AF%B2%F1%A1%F7%B4%D8%C0%BE-1に行ってきた

Scalaにちょっと興味が出てきたので、勉強会に行ってきた次第です。ちなみに勉強会へは初参加。とりあえずすっきりしたことをつらつらと。 メソッドと関数(オブジェクト)は違う クロージャを作る際に、ScalaのREPL上で以下のようなことを行うとエラー。理由…

Scalaのブロック構文、関数、メソッド

昨日の投稿は、関数型っぽくと書いたけれど、どちらかと言うとRubyのブロック構文のようなイメージでした。関数型っぽく書くとなると、defで関数(なのかメソッドなのか)を定義するのがよいのかと思った次第。 昨日とは違い、REPL上で実施。 scala> def fizzB…

JJUG CCCおよびid:happy_ryo迎撃オフの件もgdgdになって書けなくなったので、ScalaでFizzBuzzを関数型っぽく書いてみる。

タイトル長い。関数型っぽく、Intのリストを作り、それをStringのリストに変換し、そのリストに対してprintlnで出力するだけの簡単なお仕事です。 object FizzBuzz { def main(args : Array[String]) { val list = 1 to 100 val fizzbuzz = list.map ((x:Int…

日本Javaユーザーグループ

日本Javaユーザーグループ に行けることになりました。技術動向調査、という仕事目的です。java-jaの方々にお会いできるかな?ちょっと楽しみ。 本命はもちろん真面目でかっこいい世界のid:t_yanoのお話ですかね! (Google suggest対策)

一番簡単なValidationおよびStatelessForm + validationはダメよのお話

一番簡単なValidationと言えば、必須チェック。タイトルを必須にする対応を行います。 各フォームのコンポーネントはhttp://wicket.apache.org/docs/wicket-1.3.2/wicket/apidocs/org/apache/wicket/markup/html/form/FormComponent.htmlのサブクラスのよう…

ページテンプレート的な使い方

Wicketropyをいぢってます。基本的な部分が分かるまで、もう少しいじる予定。今回はページテンプレート対応を行ってみました。Strutsで言うTilesのようなものですね。デザインの共通化を図る目的で使用されます。Wicketの場合ですが、テンプレートとなるベー…

Wicketropyを少し直した。あとTODO。

前回気にしていた部分を直した。 idという名前の変数のgetterをWebPageのサブクラスで作ることが出来ない。 URLにはidを使い、ポストする際にはtropyIdという、同じ意味の別名を使ったことで混乱。 最初の方は、そもそもEditPage.javaのフィールド変数および…

恥を忍んでWicketropy (WicketでTropy)を晒してみた

Wicketの練習として、id:amachangが作っていたようなTropy実装を作ってみた。しかも、何を血迷ったか、CodeReposを利用してコミットまでしてしまった orzhttp://coderepos.org/share/browser/lang/java/Wicketropy/trunkいい感じに修正してくだせぇ…。 まず…

mapの並列処理化

こんなんができた。スレッドプールを使いまわす関係上、staticなメソッドじゃなくなったことが大きな違い。また、各要素に対してFunctionを並列処理で動かすためのCallableインスタンスを作るために1回コレクションを走査し、各要素の計算結果を受け取るため…

mapの並列処理化 (まだ出来ていない)

先日実装したmapについて、各要素に対してマルチスレッドで処理させると、素敵かもしれない。 君のプログラミング言語で、これ、できる? - The Joel on Software Translation Project に書かれているGoogleのMapReduceみたいなイメージですね。 Schemeの場合…

Genericsを使うJava用のmap, filter, foldなど。

いちいちfor文を書くのに疲れてきたので、書いてみた。 ノーコメントですまそ。map, filter, foldを実装。 /** * High-order functions for Java collections. */ public class CollectionUtil { public static <T0, T1> List<T1> map(Collection<T0> collection, Function<T0, T1> e</t0,></t0></t1></t0,>…

アノテーションを用いて既存クラスの活躍場所を増やす

アノテーションの勉強をしました。とは言え勉強の範囲は非常に狭く、実行時にアノテーションを解釈して、実行時に振る舞いを変えるにはどうすればいいか?というレベルです。Javaコンパイラが使用するアノテーション(@Overrideなど)は対象外です。アノテーシ…

JavaFXで簡単ファイルマネージャを再現してみた

JavaFXの練習用途で作ってみた。 機能的にはたったこれだけなのですが、Java でデスクトップアプリケーションを書くときには重宝しそうですね。ということで、簡単ファイルマネージャーを作ってみました。ディレクトリにあるファイルの一覧を表示して、ダブ…

スーツスタイル専門のブログを立ち上げてみた

ここNazo-log, mixi、そして3つ目のブログのご紹介です。スーツスタイルの基礎からスーツで自分らしさを表現するための方法など、色々と書いていきたいと思いますので、よろしくお願いします。Expressionist Japan - スーツスタイルで自分を表現しようちなみ…

ファイルシステムにアクセス可能なRIA

ちょっと興味があったので調べてみた。調べてみたのは以下の3つ。 Adobe AIR Sun JavaFX Microsoft Silverlight Adobe AIRのファイルシステムへのアクセス Adobe AIRはファイルシステムにアクセス可能との触れ込みが一番でかい。http://livedocs.adobe.com/l…

作業ログの集計

せっかく作業ログを逐一収集しているのに、集計方法がないのでは意味がないのではないか、と考え、集計方法を考えてみました。 集計を行う前に、id:todogzm:20070429:1177858611 のスクリプトのうち、メイン文とWriteToFileを書き換えます。ダイアログが出て…

ロングホーズ

夏場でもロングホーズでスネを隠す努力はしてほしいですね。個人的には、ハリソンのクールマックス綿を用いたロングホーズがいいかなと思います。私も何足か持っていますが、快適さとダンディズムの維持(?)を両立するにはいいアイテムだと思います。もう何足…

クールビズなご時世ですね。

蒸し蒸ししてきましたねぇ…。そろそろこちら大阪も梅雨入りなのか入ってないのか…なんとも微妙な感じではあるものの、湿度はしっかり高くなってきています。さて、クールビズも3年目に突入。オフィスでは定着してきたようですが、どうにもこうにも…、だらし…

作業ログに1コ前のログをデフォルト表示する改善

してみた。前の話は以下を参考に。 [id:todogzm:20070208:1170923433] VBScriptのことがよく分からんので、チョー適当なわけですが、とりあえず2回目以降の作業ログには前回の作業ログをデフォルト値にセットするようにしてみました。似通った関数を抽象化し…

麻布テーラーのシャツ

さてさて。バッグも買ったことですし、続いて自分誕プレ…の、麻布テーラーのシャツを受け取ってきました。いんや〜、驚くほどのシンプルさ。ちょっとシンプル過ぎたかな?でもカフス部分はダブルにしていて、ティファニーちゃんがキラリと光を放つってぇ寸法…

4輪デビュー

えーと、車じゃなくてゴロゴロのお話。 いつも出張や帰省の際にはコムサのゴロゴロを使っていたのですが、アレって2輪で斜め移動や横移動ができないのがとっても不便!と思っていたのですよ。 ほんで先日の靴に傷をつけてしまった事件以来、次の出張の際には…