先日、ソースコードのメンテナビリティについてのエントリを書きましたが、dankogaiさんから「で、具体的にどんなコード書いてるの?」という指摘がありました。 返信エントリでは、「DataSpiderはオープンソースではないのでソースコードをそのまま出すことはできない」と書いたのですが、よく考えたら、一部エッセンスを抜き出してサンプルコードとして紹介することはできるので、最近私が書いたコードの中で、メンテナビリティに関係するコードを紹介したいと思います。 ※ ソースコードの行数が正しく表示されない場合にはブラウザの幅を広げると正しく表示されます。なお、ソースコードの構成をシンプルにするため今回のサンプルではViewModelは使用していません。 目次 ・コンポーネント間のインタラクションの管理 ・最も原始的な実装方法: コンポーネントの相互参照 ・Mediatorパターン ・Role Ob
Kinect Open Source Programming Secrets (KOPS) is the only book that explains the official Java wrappers for OpenNI and NITE. (If you want installation instructions, scroll down this page a little.) The main drawback of using the PrimeSense Java wrappers is their lack of documentation. As I explain in chapter 1, I had to decompile the libraries' JAR files, and work out the correspondences between t
紙で散在するドキュメントを電子化した場合、様々な利点がありますがそのうちの一つに「検索」機能があると思います。ドキュメント指向のDBであるCouchDBも例外ではありません。coucdb-luceneを使えば、CouchDB上にあるデータベース内を縦横無尽に検索して、キーワードに当てはまるドキュメントを探し出すことができます。以下、事前準備と簡単な使い方について書いておこうと思います。 主な手順はこんな感じです。(CouchDBは事前にインストールしてあることを前提に書きます) Javaのインストール coucdb-luceneの取得 CouchDBの設定変更 インデックスの作成 検索のテスト 1.Javaのインストール Java 5以上が推奨のようです。私はSunのサイトから最新版を入手しました。インストールの方法はSunのサイトに詳しく載っているのでそちらをご覧ください。ちなみに私はJ
クライアントとサーバのデータ送受信はコマンド一発でOK! データをHTTP POSTしたり、データ通信フォーマットをその都度設計したり、独自のServletを用意したりする必要は全くありません。
Constantly updating and maintaining the HtmlUnit code base already takes a lot of time. I would like to make 2 major extensions in the next few months Add HTTP/2 support Replace the Rhino based JavaScript engine For doing this I need your Sponsoring. HtmlUnit is a "GUI-Less browser for Java programs". It models HTML documents and provides an API that allows you to invoke pages, fill out forms, cli
つい最近Java界隈でSimpleDateFormatがスレッドセーフではない、という事が話題になりました。JavaDocにも「synchronizedではない」と書かれている事だけれども、日付の変換は良く使う上にフォーマットを繰り返し書くのは面倒なので、ユーティリティクラスとしてまとめておく事が良くあるっしょ。 こんな感じで。 package util; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; public abstract class DateConverter { public static String convertYYYYMMDD(Date date){ DateFormat formatter = new SimpleDateFormat("y
http://d.hatena.ne.jp/daisuke-m/20080702/1214982943 ユーティリティ系ばっかりじゃ飽きるかな。ということで今回はcommons-vfs。 commons-vfs は、バーチャルファイルシステム。ファイルというのはあらゆる形で存在します。例えば、 ローカルのファイル 圧縮ファイルの中 http越し、ネットの海 scp,ftpで別のサーバに WebDAVの向こう これらのファイルを抽象化して、すべて同じ操作でファイルの読み込み(場合によっては書き込み)ができるようにしたのがこのライブラリ。 このエントリはあんまり重くしません。基本的だけど強力な使い方をひとつだけ。あとは全部応用するだけです。 public class Main { public static void main(final String[] args) throws Excep
public interface Foo { void foo(); } public class FooImpl implements Foo { public void foo() { // ... } } ある、Foo という仕様と同時に、Fooに対する実装を提供したとします。普通ですね。 ここで「Fooはプラガブル*1にしたい。実装によって「動的に*2」新しい機能を追加することができるようにしたい。」と考えたとします。 public interface Foo extends ExtenderA, ExtenderB ... { void foo(); } こんなイメージ。Fooのインターフェイスを「動的に」追加したい。しかし、これはJavaの言語仕様上不可能*3なことです。 拡張したければ、Fooを継承して新たなインターフェイスを作るしかありません。 public interfa
Wicket勉強会 第2回に参加してきましたよ。 第1回が50人、第2回が80人の参加です。wicket大人気じゃね? このペースだと次は100人超えるのでは・・・。 会場は、前回のjava-jaでもお世話になったGREEさん。 GREEパネェ。 主催のid:t_yanoと参加された皆さん、お疲れ様でした。 LTでWickextの話をしたよ ってことで、WickextというWicketの拡張ライブラリについてちょっと話してきたんだよ。 WickextってのはWicketとJQueryを組み合わせていい感じにするヤツなんだぜ? 最初はLTの抽選漏れかと思ってorzだったので、先走って資料をSlideShapeにうpして供養した。 と思ったらやっぱりLTあった。資料が無駄にならなくてよかったよ! 20090306 Wicket勉強会第2回View more presentations from
うちの母親でも知っているJavaにおけるオープンソースを活用した開発環境・Test環境について調査及び評価する必要があり意外と労力を要したので これからJavaでの開発において開発環境・Test環境を構築する際の参考になればとメモしておきます。 開発環境、ビルドツール、Test、Web Testing、負荷テストに重点を置いてあります。 インストールせずに使用出来るIDEのtIDEや、jythonでWebテストを記述するMaxQ、パフォーマンステストをjythonで記述するGrinder3、 Flexの負荷テストも可能なWebLOAD、Swingのテスト用のUISpec4j等、新しい発見もあったのでJava開発者の人にも参考になると嬉しいです。 それぞれライセンス、最新バージョン、個人的なお薦め度(5点満点)を合わせて明記してあります。 IDE name URL Ver. Licence
Welcome to functional web testing with CubicTest! CubicTest is a graphical Eclipse plug-in for writing Selenium and Watir tests. It makes web tests faster and easier to write, and provides abstractions to make tests more robust and reusable. CubicTest's test editor is centered around pages/states and transitions between these pages/states. The model is intuitive for both Ajax and traditional
とか極端なことを書いちゃうと、またいろいろ怒られるわけですが。 Grailsによって、少なくともJavaプログラマがRuby on Railsに移行する理由はなくなったと言ってもいいのではないでしょうか。そして、JavaもRubyも知らない人にとっても、今からWebアプリを作成するためにどちらかを選ぶならRuby on RailsよりもGrailsのほうがいいのではないかと思います。 Grailsの価値は、もちろんRuby on RailsのようにWebアプリケーションが作成できることにあるのですが、Ruby on Railsのようなフレームワークというのは他にもあります。 実運用を前提に考えると、Grailsの本当の価値は、Java VMで動くこととSpring+Hibernateがベースになっていることであると思います。つまり、SpringやHibernateといった、Javaの世界で
はい、またまた遊んでみるシリーズです。 触るだけ触って深く掘り下げてないのは時間がないのと飽きっぽい性格だからですがまぁ気にしてません。 ってことで!! 「Stax Networks」というPaaS(サービスとしてのプラットフォーム)の話です。 PaaSとは、プラットフォーム一式をサービスとして提供するビジネスモデルのこと。 クラウドコンピューティングとしてプラットフォーム(サーバ環境やDatabaseなど)をネットワーク経由で利用者に提供するサービスをいいますが、要はAmazon S3やGoogle App Engineみたいなサービスのことです。 Java対応のGoogle App Engineとも言うべき「Stax Networks」ローンチ PaaSとは (Platform as a Service) 用語解説 | Impress Innovation Lab. Jungle Ja
useServerPrepStmtsのここの説明ではデフォルトがtrueになっているが、これは上述の通り嘘である。 (中略) そしてなぜfalseにされたかということの背景を察すると、trueにすることの弊害もありそうで、手放しでこれをtrueにすることを勧めることが少しはばかられる。 http://www.geminium.com/chiba_blog/2008/12/23/33/ 自分は Java 使ってないですが、MySQL の中の人が使うなって言ってます *1。その理由はメモリリークのような症状が出る可能性があるから。 So why are prepared statements a problem? Because users do not clean up/close unused prepared statements. Multiply the number of prep
デモが稼働しているか 12/24 19:43 現在 judge2だけ稼働中 何を作ったの? ブラウザ上でP2Pを行ってチャットのようなものをするデモアプリケーションを作ってみました。 デモの前に いきなりですが、このチャットアプリケーションを動かす為にはちょっとした設定が必要です。 次のページを参考にして、java.policyファイルを編集してみてください。 http://d.hatena.ne.jp/ranha/20081219/1229669626 http://ranha.kerox.info/HowToEditJavaPolicy.html HowToEditJavaPolicyをほどほどに読んで設定してください。 重要な所は、"この設定では何をしているの??"に書かれています。セキュリティに関する所ですので、良く読んでください。 編集してデモを行った後は、編集した部分を消してお
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く