タグ

ブックマーク / kishi.hatenadiary.org (18)

  • 第二回Wicket勉強会で発表してきた『Wicketアプリケーションを�Webで公開する前にやっておく�3つのこと』 - public static void main

    第二回Wicket勉強会で発表してきました。 内容はそのままpptをあげようかと思ったのですが、ソースコードの部分が少しあってその辺が見づらかったので記事に書き直しました。pptでの発表だとどうしてもソースコードを見せるのが難しいので、何か対策を考えたいですね。 以下発表内容と感想と宣伝です。 Wicketアプリケーションを�Webで公開する前にやっておく�3つのこと WicketでWebに公開する Wicketは面白いフレームワーク でも、ステートフルなために公開する際にやっておいたほうがよいことがいくつかある 実際にサイトを公開して見てやっておいたほうがよさそうと思ったことを3つ紹介 今回の使用するバージョンはWicket1.3.5 1. エラーページを変更する Wicketでの開発で頻繁に遭遇するPage Expired サーバ上からPageのインスタンスが消えてしまった後にアクセス

    第二回Wicket勉強会で発表してきた『Wicketアプリケーションを�Webで公開する前にやっておく�3つのこと』 - public static void main
  • Eclipse 3.4.2とm2eclipseでMavenを使ったJavaのライブラリ管理 - public static void main

    先日、後輩向けにJavaの事始からWicketのあたりまでざっと話をしたのですが、その中で触れたm2eclipseのインストールと使い方についてまとめておきます。 今回の記事ではライブラリ管理についてのみ言及しています。 Eclipseのバージョンは3.4.2でWTPが最初から入っている「Eclipse IDE for Java EE Developers」を使っていますが、3.4.x系なら同じようにできると思います。Pleiadesを使って日語化していますので、デフォルトの英語のままの方は適当に読み替えてください。 全体的にWebからダウンロードする作業が多いので結構時間がかかりますが、2回目以降はもっと早くなります。 まだ使い始めたばかりの拙い知識で書いているので、間違いやもっとよい方法がある場合はぜひぜひご指摘ください。 1. Mavenとは MavenとはApache Softw

  • 「薄い」JavaのO/Rマッパーの紹介 - DbUtils、Persist、Butterfly Persistence - public static void main

    Hibernate、ActiveObjects、S2Dao、Apache Cayenne、iBATISなどORMフレームワークが群雄割拠状態なJavaですが、使い方を勉強したり設定ファイル書いたりするのが少し面倒かなと思っている人がいるかもしれません。 特にちょっとしたアプリケーションを作るならば、素のJDBCを使うのは嫌だけど、それに近い形で使えるORマッパーが欲しいと思うことがたびたびありました。 ということで以下の条件でJDBCを薄くラッピングしているJavaのライブラリを探して発見したものを紹介します。 レコードをオブジェクトに自動的にマッピングしてくれる できるだけSQLを書く量を減らすことができる いざとなったら生SQLを書くことができる 導入が簡単である 依存ライブラリが少ない 以下に挿入、検索、更新、削除を実行するコードを書いています。 今回はDBMySQLだったので、M

    「薄い」JavaのO/Rマッパーの紹介 - DbUtils、Persist、Butterfly Persistence - public static void main
  • グラフを扱うJavaライブラリ「Jung」の紹介 - Twitterのグラフ構造を視覚化 - public static void main

    java-ja 第12回のLTで話そうと思ったのですが、出番がなかったので資料をブログで公開しておきます。 Jungは研究などでグラフ構造が出たときに、理解しやすくするために可視化するのに使っています。他にもいくつかグラフを扱うライブラリは存在していますが、日語の資料があったのと拡張可能なことが多かったのでJungを結果的に使うようになりました。 以下はそのJungについての簡単な解説です。 Jungとは Jungの正式名称はJava Universal Network/Graph Frameworkで、ネットワーク(グラフ) 構造の分析や視覚化を行うためのJavaのOSSライブラリです。グラフ理論、データマイニング、ソーシャルネットワーク分析のアルゴリズムを数多く実装しています。 安定バージョンは1.7.6で最新は2.0betaで、BSDライセンスで使用できます。 http://jun

    グラフを扱うJavaライブラリ「Jung」の紹介 - Twitterのグラフ構造を視覚化 - public static void main
    t_43z
    t_43z 2008/11/26
    これはなかなか
  • Wicketでmeta要素などの値を扱う方法 - public static void main

    <meta wicket:id="meta" name="description" /> こういう要素をWicketで扱う場合にはLabelを用いると以下のようになります。 Label meta = new Label("meta"); meta.add(new SimpleAttributeModifier("content", "コンテント内容")); add(meta); しかしながら、出力されるとき以下のようになってしまいます。 <meta content="コンテント内容" name="description"></meta> これは(x)html的によろしくないです。 こういう場合はWebComponentクラスを使うのがよいようです。 WebComponent meta = new WebComponent("meta"); meta.add(new SimpleAttrib

    Wicketでmeta要素などの値を扱う方法 - public static void main
  • 第一回Wicket勉強会で話してきた - public static void main

    今月の1日に開催された第一回Wicket勉強会で先日リリースした予測コミュニティ「こうなる。」話してきました。 Wicket勉強会はid:t_yanoさんが主催で行われたJavaのWebフレームワークの一つであるApache Wicketについての勉強会です。 会場はXarts株式会社さんにお借りしました。面白そうなことをやっている会社だったので、時間があったら社員さんとお話がしてみたかったですけど残念。 「こうなる。」ではWicketを使っているので、実際に開発する上で困ったことなどについてを話しました。 以下は発表資料です。 Wicketはこうなる! 予測コミュニティ「こうなる。」のご紹介 発表で取り上げたWicketのURLの話題については以下で以前記事で書いているので、興味があったら参照してみてください。 WicketのURLをcoolにする - public static voi

    第一回Wicket勉強会で話してきた - public static void main
  • class属性に値を上書きせずに追加するBehaviorを作った - public static void main

    WicketでHTML要素の属性を変更するには、AttributeModifierかSimpleAttributeModifierを使います。 しかしながら以下のようなHTML要素のクラス属性に関してはそのまま変更しては問題があります。 <p wicket:id="hello" class="body description">ここが変わります。</p> new Label("hello", "こんにちは").add(new SimpleAttributeModifier("class", "message")); この場合表示されるHTMLは以下のようになります。 <p class="message">こんにちは</p> 他の属性と違いclass属性の場合、元の値に加えて新しい値を追加したいという場面はかなり多いのではないでしょうか。 Javadocsを見た感じでは、こういう用途に特化し

    class属性に値を上書きせずに追加するBehaviorを作った - public static void main
    t_43z
    t_43z 2008/07/16
  • RestartResponseExceptionでリダイレクトしない件 - public static void main

    Wicketでページを遷移させる方法としてsetResponsePageメソッドがあるのですが、全ての処理が終わった後の遷移先の指定なので、たとえば、ログインしてからアクセスしてほしいページなので処理を中断してログインページに飛ばしたい、という状況のときには少し不便です。 ちなみに、setResponsePageで書くとしたら以下のような感じ。 setResponsePage(LoginPage.class); return; RestartResponseExceptionで遷移させる これに対する解決策として、RestartResponseExceptionをthrowする方法があります。 RestartResponseExceptionのコンストラクタで、遷移したい先を指定してやります。 throw new RestartResponseException(LoginPage.cla

    RestartResponseExceptionでリダイレクトしない件 - public static void main
  • Mashup Award 4thの協賛企業・団体のAPIの商用利用について調べた - public static void main

    「http://mashupaward.jp/」が開催されるそうなので、現在身内で行っている勉強会でも何か出してみたいなあと思っています。 そこで気になったのは、提供されているAPIが商用利用が可能なのかということです。 アドセンスの一つでも張ろうかとか、アフィリエイトプログラムと連携して〜みたいなことを考える人は少なくないと思います。 商用・営利目的の定義は曖昧 何をもって商用利用の範囲に含むのかというのは議論の余地があります。 アフィリエイトやアドセンスを入れることは利益を得ることを目的としているので営利目的のように思うのですが、営利目的ではないと判断しているサービスも少なくありません*1。(ex.お問い合わせ・よくある質問 | CMS プラットフォーム Movable Type) 厳密に言うと、コンテストとかに企業が応募するのは宣伝目的の意味合いも強いと思うので、営利目的といえば営利

    Mashup Award 4thの協賛企業・団体のAPIの商用利用について調べた - public static void main
  • WicketでURLをStringで取得する方法 - public static void main

    WicketではWebApplicationを継承したクラスのinitメソッドの中で、PageクラスのURLを指定します。 リンクでこのURLを使いたいときには、BookmarkableLinkのようなLink系のクラスを使えば問題ないにですが、メールの時などURLをStringで取得したいときは結構あると思います。 その場合、WebPageクラスのurlForというメソッドに取得したいページのPageクラスとパラメータを渡してやれば、BookMarkableなURLを取得することができます。 public class IndexPage extends WebPage { public IndexPage() { String url = urlFor(IndexPage.class, new PageParameters("id=0")).toString(); } } このとき得られ

    WicketでURLをStringで取得する方法 - public static void main
  • WicketのURLをcoolにする - public static void main

    WicketのデフォルトのURL WicketでPageを作ってもデフォルトの設定だと?wicket:bookmarkablePage=%3Arpage.HomePageとか?wicket:interface=:1:1:::みたいなURLになってしまいます。 このままだと全然カッコよくないので、以前「Wicket1.3でのURLマッピング - public static void main」でURLマッピングの方法を一度取り上げました。 その中では、以下のような感じでWebApplicationでURLのマッピングをしました。 import org.apache.wicket.protocol.http.WebApplication; public class MyApplication extends WebApplication { public MyApplication() { s

    WicketのURLをcoolにする - public static void main
  • Wicketのtipsメモ - public static void main

    Wicket Wikiをあんまり読んでなかったので、少し読んでみました。その中で個人的に参考になった書き方をメモ。 あと、そのほかのブログやtwitterでの参考になったものも。 Pageのマークアップのファイルを変更する方法 ログイン前とログイン後で変更したかったので地味に困っていました。 WebPageクラスのサブクラスでpublic String getVariation()をオーバーライドして、適当な文字列を返すようにします。 Pageの名前がIndexPage.javaの場合、普段はIndexPage.htmlが利用されますが、getVariationがたとえば"foo"を返した時はIndexPage_foo.htmlが利用されるようになります。 public class IndexPage extends WebPage { public IndexPage(PageParam

    Wicketのtipsメモ - public static void main
  • WicketTesterを使ってみた - public static void main

    wicket-jaのメーリングリストでWicketTesterの質問が出て、初めて存在を知りました。 id:t_yanoさんのメーリングリスト内での説明によりますと、 位置づけとしてはJUnitで行うユニットテストですね。WicketTesterは来はアプリケーション サーバが提供するはずのリクエストやレスポンスなどのオブジェクトのモック(模型)を使用して、 APサーバにディプロイしないままWicketアプリケーションのテストを行うことができるように するものです。 とのことで、Validatorのテストをどうしようかと思っていたので、試してみることにしました。 バージョンは、Wicketは1.3.3でJUnitは4.4です。 ソースコード LoginTest.java package test; import org.apache.wicket.util.tester.WicketTe

    WicketTesterを使ってみた - public static void main
  • 第七回java-ja 第一回チキチキ『Buriの旨さを味あわせてやる』〜やっぱぶりは寒ブリだよね〜 行ってきた - public static void main

    ustの準備に少し手間取って30分遅れで開始しました。 今回は詳しい内容については、スライドが多くてメモし切れなかったので大雑把です。二人合わせると200枚近くあったのではないでしょうか。 以下に、特に参考になったところをピックアップしておきます。 id:habuakihiroさんのスーツのお話 バックグランドについて長めに話す 話していてかみ合わないとき→バックグラウンドの認識ができてない可能性あり 当のエンドユーザを何年か経験 使い勝手がどうのといってる人いるけど、自分の作ったソフトウェアを3年使い続けた人いる? 保守とかドキュメントが大事とか言うけど、ドキュメントはあっても役に立たない ウォーターフォールを馬鹿にしてる人は、きちんと回ってるウォーターフォールを経験したことあるの? コンサル:既存のプロセスを改善するのは得意だけど、新しいシステムを作って売るマーケティングが苦手 αス

    第七回java-ja 第一回チキチキ『Buriの旨さを味あわせてやる』〜やっぱぶりは寒ブリだよね〜 行ってきた - public static void main
  • 第一回チキチキ 日本ペアプログラミングの会java-ja支部会(仮)に行ってきた - public static void main

    java-jaには初参加です*1。 1000人スピーカーカンファレンスの記事を書いてたら、時間がぎりぎりになって急いで会場に向かったのですが、強風ため電車が遅れていてまだ全員集まってなくて、30分遅れての開催となりました。 id:t-wadaさんによるTDD(テスト駆動開発)についてのお話を聞いたあと、参加者同士でペアプロを行いました。 デブサミでのt-wadaさんの発表には参加していなかったので、今回聞けてよかったです。 以下、勉強会の内容のメモ。 和田さんの講演 TDDはDeveloper Testingで開発を促進するためのテスト → 品質保証のためのテストなどとは違う 何もない状態 → とりあえず動くものを書く → リファクタリングで品質の高める、という流れ 開発環境 Eclipse 3.4(Ganymede) Milestone I Subversive Maven 2.0.7

    第一回チキチキ 日本ペアプログラミングの会java-ja支部会(仮)に行ってきた - public static void main
    t_43z
    t_43z 2008/02/26
    お疲れ様でした!
  • 第2回1000 人スピーカカンファレンス行ってきた - public static void main

    といっても、16時ぐらいまで用事があって、会場に着いたのはid:gyuqueさんの発表の途中からでした。 現在ニコニコにあがってる動画をちょっとずつ見ています。 「1000speakers:2 (2008-02-23)」 coji さんの公開マイリスト - ニコニコ動画 以下、会場で見れた発表のメモ。 Javaで分散、並列処理を行う方法 otonashiさんの発表(Javaで分散、並列処理を行う方法 - otonashikaoru [2-24] - ニコニコ動画) サウンドボードが逝ってしまわれ最初のデモが音無しに 分散・並列処理は設計が面倒 Google File SystemJava版のHadoopがあるよ java.util.concurrent(スペル間違ってた)を使えば並列処理できるよ 以前、Luceneで全文検索システム実装するときに、Nutchとかも調べてて、サブプロジェク

    第2回1000 人スピーカカンファレンス行ってきた - public static void main
    t_43z
    t_43z 2008/02/25
    お疲れ様でした!
  • JavaのGCについてメモ - public static void main

    ガーベッジコレクション(以下GC)やメモリについて、あやふやのままにしていたところが多かったので、調べてみたことをメモしておきます。 メモリについて プログラムの使用するメモリは、レジスタ、スタック、ヒープなど用途によって分けられますが、高級言語になるにつれてこれらは隠蔽されています。 Javaの場合はスタックとヒープ領域の二つに分けられます。 スタック スタックはメソッド起動ごとにフレームを出し入れする線形のデータ構造です。このフレームの中にローカル変数や引数などのデータを持っています。 メソッドが終了するとフレームは破棄されるので、寿命が短いことが特徴です。 スタックはスレッドごとに割り当てられます。 ヒープ インスタンスなどを保持する領域です。GCによって、メモリの管理がなされます。 JVMで一つ割り当てられ、全てのスレッドから共有されます。 クラス構造などの静的なデータも保持されて

    JavaのGCについてメモ - public static void main
    t_43z
    t_43z 2008/02/10
  • Java界隈で勉強会とかを開催しているコミュニティまとめ - public static void main

    RSSを読んでいるとちらほらと勉強会などのレポートがあがっているのを目にします。 Shibuya.jsとか日Rubyの会とかの勉強会は有名ですが、Javaコミュニティの勉強会の話はほとんど知りませんでした。 去年の暮れに、たまたまjava-jaで勉強会が開催されているのを知り、こういう勉強会の情報にもうちょっと敏感になったほうがいいなあ、と思ったので、Java界隈である程度頻繁に勉強会を行っているコミュ二ティをまとめました。 その中で、だいたい2ヶ月に1回ぐらいのペースでやっているものを載せています。 他にも情報があれば是非お知らせください。 また、Webの情報を元に書いているので、もし間違っていることがありましたらご指摘をお願いします。 探すにあたって、id:Yoshioriさん神、カイザー、天使なyoichiroさんが作ったこみゅすけの情報が参考になりました。 都心のほうのコミュニテ

    Java界隈で勉強会とかを開催しているコミュニティまとめ - public static void main
    t_43z
    t_43z 2008/01/10
    そういえば僕も昔YoshioriさんとYoichiroさんの区別ができてなかったな(笑
  • 1