タグ

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

  • Solr勉強会行ってきた。 - public static void main

    21日にECナビさんで開催されたSolr(そーら)勉強会に参加してきました。 http://atnd.org/events/937 Luceneを1、2年前ぐらいに触っていて、そのときSolrも調査したことがあったので、その頃からどのように変わったのか楽しみにしていきました。 以下発表内容のまとめです。 Solrとは?(ロンウィット関口さん) 全文検索ライブラリのLucene JavaAPIを使うので、開発期間の短くなっている昨今では導入の敷居が高い SolrはLuceneを使った検索サーバ実装 HTTPベースのAPIが提供されている→言語を選ばない 検索アプリが非常に楽に作成可能→時代に合っている Solrとのデータやりとり XMLで登録データを作成(CSVでも可)→HTTPでPOSTすると登録が完了 検索結果もXMLでGETする 検索アプリでは、XMLで返ってきた結果を加工してHTM

    Solr勉強会行ってきた。 - public static void main
  • 高橋メソッドのような表現の見る側にとっての心地よさ - public static void main

    最近、高橋メソッドを使ったプレゼンをする機会があったのですが、そのときにその発表をいたく気に入ってくれた方がいました。 その人いわく、「2chやニコニコ動画みたいで見ててワクワク感があった。」とのことでした。おそらく2chというのは2chまとめサイトのことだと思います。 その言葉を聞くまでそんな風に考えたことはなかったのですが、考えてみると結構腑に落ちます。 高橋メソッドの特徴をあげると、 字がでかい 表現が簡潔 説明の順番が明示化される→ストーリーがある たまに大きくなったり色が変わったりして強調 などがあげられますが、2chまとめやニコニコ動画と結構重なっているところがあります。 こういう表現をすると視聴者としては集中してみることができるし、メリハリがあって面白いのかもしれません。 去年、いろいろな意味で話題になった「あたし彼女」も簡潔な表現の繰り返しですが、高橋メソッド風に見てみると

    高橋メソッドのような表現の見る側にとっての心地よさ - public static void main
    denken
    denken 2009/04/12
    いいやりかただと思うのだけど、この間まで受けてたプレゼンテーション研修に沿ってしまうと、とてもじゃないができない雰囲気。ああいうスーツ的文脈で高橋メソッドをやると会議はどうなるのだろう
  • 第二回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

    denken
    denken 2009/03/05
    Mavenが利用可能になるまで長かったけど、そこからは便利そうだと話を聞いて思ったが、やはりそれなりのマシンでないとEclipseはつらい
  • MySQLのMyISAM形式のテーブルで「Incorrect information in file: *.frm」エラーが出たときの修復方法 - public static void main

    先日ファイルシステムを復旧した際に、MySQLのあるテーブルでSELECT文などを実行すると以下のようなエラーが出るようになりました。 ERROR 1033 (HY000): Incorrect information in file: *.frm今回の対象のテーブル形式はMyISAMだったのですが、エラーメッセージでググって見てもInnoDBの場合の記事ばかりで参考にならなくて困りました。偶然MySQLリファレンスのテーブルの修復方法で該当しそうな項目を発見し、うまく修復をすることができました。 滅多にない話のようですが、エラーメッセージと修復方法を結びつける記事がないので、後々に誰かの参考になるかもしれないので記事にしておきます。 MySQLのバージョンは5.0です。 frmファイルとは何か? MySQLは一つのデータベースを一つのディレクトリとして扱います。 テーブルを作成すると、デ

    MySQLのMyISAM形式のテーブルで「Incorrect information in file: *.frm」エラーが出たときの修復方法 - public static void main
    denken
    denken 2008/12/17
  • 「薄い」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
  • JJUG Cross Community Conference 2008 Fall行ってきた - public static void main

    前日に別の勉強会に参加していた関係で前日の上京が無理だったので、午後からの参加になりました。 JJUGのページに載っていた地図に従って行けば開催地までたどり着けたのですが、その場所のどこの建物で実施されているのかが書いていなかったので若干迷いました。他のイベントもいくつか行われていたようで、それっぽい人についてそのまま違うイベントの会場に行くところでしたw DOMパフォーマンスチューニング(id:amachang) javascriptは遅い遅いと言われるけど、ベンチマーク取るとPerlとかRubyより速くてPythonよりは遅いぐらいで十分速い Javaを計測するのを忘れてた よく遅いと言われるDOM DOMをフェーズに4つの分けて考える 1. javascriptとコンポーネント(C++)との通信 XPConnectやCOMとの通信 単純なオブジェクトへのプロパティアクセスの数十倍かか

    JJUG Cross Community Conference 2008 Fall行ってきた - 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
  • そろそろ「こうなる。」について一言言っておくか。 - public static void main

    ちょうど一週間前の23日に、私が開発に参加している予測コミュニティ「こうなる。」のリリースを行いました。今日レイアウトを修正したので、是非アクセスしてみてください。 URLはhttp://kouna.ru/とサービス名と一緒なので、覚えやすいのではないかと思います。 「こうなる。」を作った理由 もともと、研究室で次期衆議院選挙の予測市場のshuugi.inというサービスを提供していて、そこの経験を生かしてさまざまな事象に対して予測ができるサービスを作りたい、というのが出発点でした。 しかしながら、提供する側としてはもっと多くの人に利用をしてもらいたいのですが、予測市場は仕組みが少し難しいので参加の敷居が少し高くなってしまいがちです。そもそも、予測をするということがユーザにとって楽しいのか、という疑問もありました。 そういった懊悩を払拭してくれたのが、群衆の叡智サミット2008でのパネラーの

    そろそろ「こうなる。」について一言言っておくか。 - public static void main
    denken
    denken 2008/08/01
    LT楽しみだなー
  • 主観が入るところがSBMの面白いところだよね。 - public static void main

    「http://d.hatena.ne.jp/shiroann/20080627/1214495914」を読んで、エントリの趣旨とはズレてるけど思ったこと。 「これはひどい」とかがつくのは比較的ニュースサイトのようなところが多いので余り意識していなかったのですが、個人のブログとかでつくと結構ショックかもしれないなあと思います。また、ネガコメだと参考にもできますが、タグだけだとどうしようもないですよね。 個人的には主観の入ったタグはなるべく入れたくないので、「これはひどい」はもちろん「これはすごい」や「参考になる」*1みたいなタグは使っていないのですが、人気のエントリーなどに載っている記事の内容が一目でわかるという意味ではお世話になっています。 でも、「これはすごい」とかついてる記事もモノによってはぜんぜんすごくない記事もあるわけで、SBMの来の役割であるフォークソノミー的な意味では役に立

    主観が入るところがSBMの面白いところだよね。 - public static void main
    denken
    denken 2008/07/02
    個人ニュースサイトとSBMの違いは、どれだけ読者を意識しているかだなあとは思っていた。ていうかSBMみたいに一記事ごとにPOSTするような形式で読者を意識したことがどれだけできるのかみたいなシステム的問題もある
  • 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を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
    denken
    denken 2008/06/26
    URIをよりCoolにするための要件について考えてみたい
  • 意見分析エンジン―計算言語学と社会学の接点 - public static void main

    意見分析エンジン―計算言語学と社会学の接点posted with amazlet at 09.02.19大塚 裕子 乾 孝司 奥村 学 コロナ社 売り上げランキング: 46467 Amazon.co.jp で詳細を見る 意見分析エンジンというと真っ先に思いつくのが、今はもう終了してしまったブログウォッチャーやgooブログ検索やYahooブログ検索などの、ポジティブ・ネガティブな記事の割合やどのようなキーワードでそう判断したのかといった情報を表示してくれる機能です。 アンケートなどの自由作文などで自動的に意見抽出しようという試みは結構前からありましたが、感想や意見が多く書き込まれるブログの普及に伴って、研究・ビジネスの両方で一気に注目が高まっています。ただ、Webで提供されているレベルだと一部を除いて、すごく高度なことをしてるわけでもないので、どのくらい実用で使えるのかは疑問ですが、逆に少し

    意見分析エンジン―計算言語学と社会学の接点 - public static void main
  • 群衆の叡智サミット2008Spring行って来た - public static void main

    群衆の叡智サミットは、SBMや予測市場やOSSなど多くの人が参加することで価値を生み出すメカニズムや事例について議論をして、理解を深めていくことを目的に開催されています。 自分がやっているshuugi.inに直接関係する話であり、CGM系のWebサービスを作っているなら押さえておきたい話でもあるので、非常に面白かったです。第二回目になるらしいですが、Springとついているので年内にもう一度開催する予定なのかな? 発表はUstで流されたものがそのまま公開されています。 WOCS2008Spring 以下まとめと感想です。誰の発言かあんまりメモっていなかったので セッション1:「群衆の叡智」につながる条件とメカニズム Webサイト、企業内・企業間のコラボレーションの事例についてのお話でした。 はてなブックマークご紹介 株式会社はてな 伊藤直也氏(id:naoya) みんなで面白いURLをブッ

    群衆の叡智サミット2008Spring行って来た - public static void main
    denken
    denken 2008/05/22
    「はてなアカウントとかTwitterアカウントを持っている人が多かった気がします。とりあえず後ろの席でそれっぽい会話をしている人に話しかけてみたところ、id:dainさんとid:manameさんでした」
  • RSSをパースするときの制御文字への対処 - public static void main

    DOMを使ってRSSをパースしているとたまに以下のエラーがおきることがあります。(Livedoorブログ、FC2、Amebaブログとかが多い) An invalid XML character (Unicode: 0x14) was found in the element content of the document.Unicode: 0x14の部分は0xbだったりいろいろです。 原因は、絵文字を使っていたり、文字化けしたりといったことによって制御文字が挿入されたためのようです。 ASCIIコードでは0x00〜0x1Fと0x7Fのコード範囲が制御文字になり、これが含まれているXMLはinvalidになるようです。 Javaの場合、RSSをパースする前に以下のようにこの制御文字を削除しました。 str.replaceAll("[\\00-\\x1f\\x7f]", ""); 上記のコード

    RSSをパースするときの制御文字への対処 - public static void main
  • Wicket 1.3系を使うのに参考になった日本語のサイトまとめ - public static void main

    Wicketでググっても上位に出てくるのが、少し古いバージョンの記事が多く、これから使い始めようという人にとっての混乱の元になっていると思います。 周りのメンバーでWicketの勉強会をしようということになったので、Wicketの1.3.2(現在の最新バージョン)を自分で触り始めて参考になった日語のページを以下にまとめました。 ブログに関しては記事ごとではなく、そのブログのWicketに関するカテゴリにリンクしています。 他にもよいサイトがあったら是非教えてください。 http://wicket.apache.org/docs/wicket-1.3.2/wicket/apidocs/index.html(2008/05/29追加) 家のJavadocです。1.3.2に対応しています。 Gside Blog - Homepage of tma(2008/05/29追加) Gside Bl

    Wicket 1.3系を使うのに参考になった日本語のサイトまとめ - public static void main
  • 第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
  • [WEB]AIRでニコニコ動画風RSSリーダー作った(プレゼン向け) - public static void main

    あるプレゼンの最中、発表者のPCに常駐しているTwitTwitterの投稿が見えていて面白かった、という話を聞きました。 この話を聞いて、去年少し話題になったニコニコプレゼンを思い出し、後輩の卒研発表で是非使ってもらおうと思い、AIRで作ることにしました。 作る前に同じようなものを作っている人がいないか探した所、id:nitoyonさんが「AIR でニコニコメソッド プレゼン - てっく煮ブログ 跡地」で作っていて目的にも合致していたので、これを使おうかと思ったのですが、最新バージョンのAIRの実行環境(Beta 3)では動きませんでした。 ということで、ソースコードも公開してもらっているので、最新バージョンの実行環境に対応するついでに、いくつか機能を追加したり改良したりしたので公開しておきます。 大きな変更点として、txtファイルではなくHTTPでRSSを読み込むようにしました。これに

    [WEB]AIRでニコニコ動画風RSSリーダー作った(プレゼン向け) - public static void main
    denken
    denken 2008/02/05
    結局卒研発表でこの仕組みは発動しませんでした。残念なので次回は必ず!
  • Javaのリフレクションとアノテーションについて - public static void main

    今日は勉強会の当番だったので、リフレクションとアノテーションについて話しました。 以下資料。 リフレクション リフレクションとは クラスのフィールド、メソッドなどの情報を取得したり、クラスを生成したり、メソッド名の文字列を使ってメソッドを呼び出したりすることができるAPIです。 Javaで自作フレームワークを作ろうと思ったら、リフレクションを使うと便利なので、ぜひ勉強しておきたい内容です。 以下のクラスをリフレクションで扱います。 public class Hoge{ String name; public String getName(){ return name; } public void setName(String name){ this.name = name; } } Class ClassはJavaのクラスの情報を得るためのクラスです。 以下のいずれかの方法でClassクラ

    Javaのリフレクションとアノテーションについて - public static void main
  • DWRいいよ、DWR - public static void main

    Javaで書いているWebアプリケーションで、JavaScriptで非同期通信を行う必要があったので、以前から気になっていたDWRを使ってみました。 DWR(Direct Web Remoting)はAjaxを扱うことに特化したJavaのフレームワークです。 Ajaxを使うときに、クライアント側(ブラウザ側)の通信部分はJQueryやprototype.jsなどを使えば比較的簡単に行えるのですが、サーバ側でデータをJSONやXMLで表示する部分などは手間がかかります。 以前、PHPでAjaxを使う処理を書いたのですが、JSON形式にするのは結構面倒くさかったです。JSONなのでJavaScript側で読み込んでからは簡単に使えましたが、XMLだとDOMで処理をしなければなりません。 DWRを使えばJavaのオブジェクトをそのままJavaScriptで使える形に変換してくれるので、このような

    DWRいいよ、DWR - public static void main