タグ

javaに関するyuroyoroのブックマーク (315)

  • XXXUtils の乱用をやめる - Calendar 編 - Aufheben - GLAD!! の日記

    標準のライブラリが使いにくいとき、つい XXXUtils のようなクラスを作ってしまいがちです。 例えば、悪名高き java.util.Calendar。来年の2月15日が何曜日か調べようと思ったら、次のようなコードを書かなければなりません。値の取得も設定も面倒で、なぜか月が0始まりになっています (歴史的な制約?)。 Calendar calendar = Calendar.getInstance(); calendar.add(Calendar.YEAR, 1); // 2月は month = 1 calendar.set(Calendar.MONTH, 1); calendar.set(Calendar.DAY_OF_MONTH, 15); // 文字列に変換する場合は、DateFormat を使用する。 DateFormat df = new SimpleDateFormat("E

    XXXUtils の乱用をやめる - Calendar 編 - Aufheben - GLAD!! の日記
  • メッセージキューを使って分散MapReduceを実装する 2009-02-16 - きしだのはてな

    さて、JMSでメッセージキューも使えるようになって、HadoopでMapReduceも試してみた。そうするとやりたくなるのがメッセージキューを使った分散MapReduceの実装ですね。ということで、JMSを使ってメッセージキューによる分散MapReduceをやってみました。実際にはローカルでしか動かないのですが、コンセプトモデルということで。 メッセージキューで遊びたいのでJMSを試す HadoopでのMapReduceを気軽に試すサンプル Hadoopサンプルで作ったのと同じように、クラスがJavaファイル中でimportされている回数を数えてみます。 考え方として、ちょっと強引ですが、GoogleやHadoopのMapReduceは分散ファイルシステム付きメッセージキューといえます。けど小規模につつましくやる分には分散ファイルシステムは必要ないので、MapとReduceを分散することだ

    メッセージキューを使って分散MapReduceを実装する 2009-02-16 - きしだのはてな
  • Javaにおける開発・Test(Unit/Web/負荷)環境のまとめ - よねのはてな

    うちの母親でも知っている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

  • executable-warのarchetype公開 - じゃばてないわー オージー放浪編

    Executable-WARを作成するためのmvn用のarchetypeを作成してみました。せっかくなので公開してみます。Jetty6.1.14が組み込まれています。Executable WARの良いと思うところいちいちサーバーたててデプロイしなくても素直にjarを実行すればWebアプリが使えるので、とても便利だと思います。あとは、Webアプリ+SWINGで遊んだりとかも出来そうですね。いざ気で運用となるとサーバーにデプロイの方が良いかもしれませんが、試しに作った程度のWebアプリならさくっと動かしたいよね、と思いました。ただ、0.0.1というか、この手の物を公開しても良く立ち居振る舞いがわからないので、あまり丁寧なサポートは出来ません。すいませんすいません><ソースの場所http://code.google.com/p/studyroom4tonocchi/ここにコミットしました。使い

  • 分散Groovy環境 - 川口耕介のブログ

    Hudsonの分散ビルドの実装の肝になっているのは、クロージャをリモートJVMで実行するという仕組み。クラスファイルとかリソースとかも必要に応じてリモートJVMにコピーするので、リモート側にあらかじめプログラムを配備しておく必要がないのがよい点です。 さて、常々Javaのクロージャ(もどき)の文法は冗長だと思っていたので、これにGroovyを組み合わせたらいいんじゃない?、という事で、実験して見たところ意外にうまくいきました。 def pid() { // PIDを取得する。要はどのJVMで動いているかをわかりやすくするだけ return new File("/proc/self").canonicalPath } i=0 (0..<4).each { i++; remote { println "1st from ${pid()} (${i})" remote { println "2n

    分散Groovy環境 - 川口耕介のブログ
  • Java製のイントラ向け検索エンジン·regain MOONGIFT

    インターネットではあれほど検索エンジンを便利に使いながら、社内向けにはあまり活用されていない。どちらかと言えばファイルサーバをディレクトリで管理する、旧来の検索エンジン型で管理しているのではないだろうか。 日語の検索も可能なイントラ向け検索エンジン 要因は幾つかあるだろうが、検索エンジンの構築が面倒という印象があるのも確かだ。であればregainの手軽さは魅力的にうつるはずだ。 今回紹介するオープンソース・ソフトウェアはregain、Java製の手軽な検索エンジンだ。 regainはJava製の検索エンジンで、regain.jarを実行すればWebサーバも立ち上がってすぐに利用できる。Windows向けにはインストーラーやZipファイルが提供されている。ブラウザで管理画面に入り、検索対象とするディレクトリを指定すればすぐにインデックス化が実行される。 インデックス作成中 検索画面はGoo

    Java製のイントラ向け検索エンジン·regain MOONGIFT
  • enum basics - しげるメモ

    仕事柄、Javaのenumを使うことが多いのですが、あまり世の中のプログラムでenumを全力で使ってるところをあまり見かけません。 ということで、自分でもどうなのと思うときがちらほらあるenumの使い方をまとめてみようと思いますが、とりあえず今回は普通の復習用に基的な機能を。 型付の定数が宣言できる enumはもともとCのint形の値に名前をつけただけじゃなくて、型安全な列挙定数が作れるってことでJava5から導入されました。 こんな感じ。 public enum Sample { HOGE, FOO, BAR, } で、世の中で見かけるenumは上記くらいのシンプルなのが多いみたいです。 クラス体が宣言できる 定数定義のあとに ";" で区切ると、以降をクラスの体としてメソッドとか定義できます。 public enum Sample { HOGE, FOO, BAR, ; // セ

    enum basics - しげるメモ
    yuroyoro
    yuroyoro 2009/01/19
    implementsで親インターフェース。
  • トップページ

    SQL データベース操作言語SQLについて、またRDBMSの持つ機能について詳しく解説します。 DB概要、SQL、テーブル操作、データ操作 ... 特集:replication PostgreSQLのレプリケーションシステムを紹介し、それらの機能を比較していきます。 特集:pgbench PostgreSQLのベンチマークテストに用いられるプログラムである pgbench について解説します。 SQL演習問題 各章に用意された演習問題を集めました。

  • WicketとSeasar 2を統合する「wicket-seasar2」ライブラリを作りました - 矢野勉のはてな日記

    Java, Wicket主についったーでid:yuripopがWicketとSeasar2を統合しようとしてウンウン悩んでいるのをみて、いっちょやるかと思ってやった次第。 Seasar 2とWicketの統合にはS2Wicketというライブラリが既に存在していて有名なんですが、このS2WicketがWicket 1.2系統(org.apache.wicketにパッケージ名が変わる前)に向けて作られているっぽく、最新のWicket 1.4-rc1では動かないんですね。 Wicketのページクラス内のフィールドに値を持つ場合、それらのオブジェクトはすべてシリアライズ可能である必要があります。これは、ページはHttpSessionに格納されたり、2次キャッシュ・ファイルに保存されたりするためです。そのために、単純にDIで値を放り込んでもダメなんです。 Wicketでは、この問題を「フィールドには

  • Google App EngineのJava版「Stax」を触ってみました

    Amazon EC2上で提供されるJava版PaaSサービス「Stax」をちょっと触ってみました。今のところはβサービスで、まだ実装されていない機能もあったりしますが無料で試すことができます。 「Google App EngineのJava版」としてニュース記事等でも紹介されています。 Java対応のGoogle App Engineとも言うべき「Stax Networks」ローンチ http://jp.techcrunch.com/archives/20081216stax-networks-launches-google-app-engine-for-java/ 用意されている環境 Apache Tomcat/6.0.16MySQL/5.0.51 要するにServlet2.5/JSP2.1環境を使えるってことですね。JVMはJavaSE5相当のようです。 GoogleもSalesfor

    Google App EngineのJava版「Stax」を触ってみました
    yuroyoro
    yuroyoro 2009/01/15
    TCP:3306が開いているのか。
  • Eclipse 3.4の各種設定と利用方法 〜Eclipse 3.4入門〜 :CodeZine

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    Eclipse 3.4の各種設定と利用方法 〜Eclipse 3.4入門〜 :CodeZine
    yuroyoro
    yuroyoro 2009/01/08
    最初にやること→さぼったーを高速ビューに設定する。/基本的な設定は全部エクスポートして、ワークスペース作るごとにインポートするようにしている。
  • http://www.itarchitect.jp/enterprise/-/25122.html

  • オルカンモブログ: Hadoop Quick Start on Mac

    2008年11月24日 Hadoop Quick Start on Mac 以下のページを参考にMac上でHadoopを動かしてみたので備忘録として書いておきます。躓いたところもそのまま書きますので内容としては纏まっていませんが、同じように躓いている方には参考になるかもしれません。 http://hadoop.apache.org/core/docs/current/quickstart.html まずは、以下のページからHadoopをダウンロードします。 新しものずきだから最新版 hadoop-0.19.0.tar.gz をダウンロード。 http://www.apache.org/dyn/closer.cgi/hadoop/core/ ダウンロードしたファイルを適当なディレクトリへ展開しておきます。 $ tar xzf hadoop-0.19.0.tar.gz 展開してできたhadoo

  • ActiveObjectsでたったの2時間で作れる3次元グラフ - いろいろ解析日記

    ついカッとなってやった、ActiveObjectsのいいところを見せられれば何でもよかった。 2時間とは ここから そろそろActiveObjectsで気だす!!!ここまで canvas3DGraph.js+prototype.js+Wicket+ActiveObjects+MySQLで、3Dグラフ表示&更新プログラムを作った。 画面&データ 左側のブラウザでグラフデータの追加をして、右側のデータで自動的に3次元グラフの描画をしてる。 ちょっとずつデータを追加していく様子の、画面とデータを張り付けてく。 初期データ mysql> select * from threeDData; +----+------+------+------+ | id | z | x | y | +----+------+------+------+ | 1 | 30 | 50 | 40 | | 2 | 80

    ActiveObjectsでたったの2時間で作れる3次元グラフ - いろいろ解析日記
    yuroyoro
    yuroyoro 2009/01/06
    catch ( SQLException e )が気になってしまうのだが、AO側でよしなにやってくれないのだろうか?
  • TopHatenarとHatenarMapsのDB!

    TopHatenarとHatenarMapsとは 連載では、さまざまなサービスで利用されているデータベースやその仕組みについて紹介していきます。第1回は、Webアプリケーションである「TopHatenar(http://tophatenar.com/)」と「HatenarMaps(http://hatenarmaps.com/)」を取り上げ、そのデータベース構造とデータアクセス手法を中心に、アプリケーションの裏側について解説を行います。 まずTopHatenarとHatenarMapsとは何かを紹介します。この2つのWebアプリケーションは、ともに大手ブログサービス「はてなダイアリー」のユーザー動向を把握するツールとして、筆者が開発したものです。 TopHatenarは、はてなダイアリーの全ブロガーを、「RSSフィード購読者数」と「ソーシャルブックマーク獲得数」の2つの指標に基づいて順位

  • TopHatenar+HatenarMapsのシステム構成 - kaisehのブログ

    TopHatenarとHatenarMapsのシステム構成が、バージョンアップの度に複雑化してきて、自分でも把握しづらくなってきたので、整理する意味で図を作ってみました。 図に示したように、HatenarMapsは、S2RMIを使ってTopHatenarと協調動作しています。はてなダイアリーとはてなブックマークに関するデータをクロールしているのは、TopHatenarの側です。HatenarMapsの側では、TopHatenarのService層をS2RMI経由でコールして、集計済みのはてブ情報を取得し、クラスタリング処理の後にポリゴンを計算しています。その他、HatenarMaps上でコメントビームの表示等がリクエストされる度に、TopHatenarをコールしています。よって、HatenarMaps側のDBには、基的にポリゴンデータしか入っていません。 以下、図中に出てくるフレームワー

    TopHatenar+HatenarMapsのシステム構成 - kaisehのブログ
  • 【ハウツー】memcached client for java - Javaでmemcachedを使おう (1) データをメモリ上に保持するキャッシュサーバ | エンタープライズ | マイコミジャーナル

    memcachedとは? memcachedとはその名の通り、データをメモリ上に保持するキャッシュサーバで、アクセス数の多いWebサイトにおいてデータベースの負荷を減らすために利用されることが多い。データをディスクに書き出さず、保持するデータもキーと値のみと非常にシンプルであるため動作は高速だが、memcachedを終了するとデータが失われてしまうという問題がある。そのためmemcachedには消失しても問題のないデータのみを格納するようシステム設計を行う必要がある。 なお、memcached互換のキャッシュサーバとして、データをディスクに永続化する機能を備えたmemcachedbや、レプリケーション機能を備えたrepcachedがある。 Java向けのmemcachedクライアントはいくつか存在するが、稿で紹介するのはmemcached client for java。LGPLで提供さ

  • Java対応レンタルサーバーの価格の安さと機能に衝撃をうける - しんさんの出張所 はてなブログ編

    いまでもしんさんの出張所でレンタルサーバーを利用していますが、これかなり昔に契約したのが続いています。当時としては安いほうでしたが、今調べてみると大容量かつ低価格なのが多くてちょっと驚きました。 特にJava対応のレンタルサーバーが普通にいろいろとあるんですね。特に気になったのが下記の場所。 http://java.1strentalserver.com/index.html Java対応はちょっと前までは海外製ばっかりだったと思います。 ここはJavaのバージョン5や6対応、Tomcat5.5/6/JBOSS/glassfishなどが対応してこの価格は衝撃的でした。しかもほとんどの場所にあるMySQLはいいとして、PostgreSQLが対応してるというのも非常に珍しい。価格的にも個人で十分つかえますね。 ほかの場所ではJavaは1.3や1.4などが多く、DBMySQLのみばかりでした。

    Java対応レンタルサーバーの価格の安さと機能に衝撃をうける - しんさんの出張所 はてなブログ編
  • StrutsのXML地獄から開発者を解放するSAStruts

    StrutsのXML地獄から開発者を解放するSAStruts:Java初心者が超俊敏にWebアプリを作る方法(2)(1/3 ページ) Eclipseプラグイン「Dolteng」のScaffoldという自動生成機能やSeasar 2.4のHOT deploy機能を利用して、DBの参照・更新・削除ができるSAStrutsのWebアプリを作ります。Java初心者だけでなくStrutsに慣れた開発者も必見です 連載第1回の『1分でWebアプリを作れるEclipseプラグイン「Dolteng」』では、Webアプリケーション開発に非常に便利なEclipseプラグインである「Dolteng」の機能を使用して、「SAStruts」(後述)のプロジェクトを自動生成しました。 このDoltengで自動生成されたプロジェクトとソースはテンプレートとしての基的機能しか作成されていません(Doltengも進化中で

    StrutsのXML地獄から開発者を解放するSAStruts
  • Commons Proxy を見てみる - von Ewigkeit

    id:daisuke-m に「今度 "Apache commons が便利な件 (commons-proxy 編) " を書いて Jiemamy にコントリビュートしろ」と言われたので、とりあえず Commons Proxy って何やねん、ってとこから見ていこうと思います。 Commons Proxy とは Commons Proxy 公式サイトの冒頭部分で下記のように書いてありました。 Proxy デザインパターン (GoF) はあなたに「他のオブジェクトの肩代わり、もしくは代替物としてそのオブジェクトのアクセスをコントロールすること」を可能にします。プロキシは多くの場面で使うことができます。たとえば・・・ 初期化の先送り - プロキシは元の実装の代役のように振る舞い、必要なときだけ元の実装のインスタンスを作成することができます。 セキュリティ - プロキシオブジェクトは (EJB のよ

    Commons Proxy を見てみる - von Ewigkeit