サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
円安とは
kishi.hatenadiary.org
テキスト自動要約 (知の科学)posted with amazlet at 09.02.19奥村 学 難波 英嗣 オーム社 売り上げランキング: 284383 Amazon.co.jp で詳細を見る 以前書いた「自然言語処理ことはじめ」と一緒に買った本。 自然言語処理分野の研究者である奥村氏と難波氏が書いた、テキスト要約については数少ない日本語の文献です。 テキスト自動要約とは、ある文をより短い文に自動的にまとめる技術で、Web上に蓄積されている文書の数が爆発している今、情報へのアクセスを容易にするために重要な研究分野です。 本書は、研究者向けの内容なので、場所によっては専門用語が使われるところもあり、このあたりの分野をまったく勉強したことがない人はとっつきにくいかもしれません。 著者も前書きで述べているように、本書はテキスト自動要約の研究を全体的に取り上げているため、それぞれの話の詳細は
個人が作成したWebサービスの数はここ数年で爆発的に増えています。 サーバ自体の導入コストも低下してきており、レンタルサーバでもPHPのようなスクリプト言語が使えるものが珍しくなくなり、Ruby on Railsのような開発速度を向上させるフレームワークも登場してきて、今後も個人が運用するWebサービスは増加をしていくでしょう。 個人Webサービスの寿命 今回考えたいのは、そういった個人で運用するWebサービスの終了するときについてです。 Webサービスは作ってからが本当のスタートで、開発者は開発にかかったコスト以上に運用するために時間的・金銭的・精神的にコストを負担していくことになります。なので、自分の払うコストに見合わないと思ったらサービスの終了を考えるのは当然だと思います。 つまり作った人一人がやる気をなくしてしまえばどんなにいいサービスでも一瞬で消えてしまうということです。 最近上
以前、「登録→確認→完了の画面遷移の憂鬱 - public static void main」を書いたのですが、最近になって取り上げた画面遷移にもデザインパターンとして名前がついていることを知りました。 よく知られているGoFデザインパターンではなく、PofEAA(エンタープライズ アプリケーションアーキテクチャパターン)と呼ばれるパターンです。 Page Controllerパターン ┌──────┐ ┌───┐ │ コントローラ │→│ビュー │ └──────┘ └───┘コントローラとビューが1対1の関係にあるパターン。 場合によっては、コントローラとビューが一緒のときもある。 メリットとしては、構成がわかりやすくなることがあげられる。 PHPで一つのファイル内で、いろいろと処理を行っている場合はこれあたる。 あと、以前取り上げたリクナビCAFE 人脈BANKもこれにあたると思
21日にECナビさんで開催されたSolr(そーら)勉強会に参加してきました。 http://atnd.org/events/937 Luceneを1、2年前ぐらいに触っていて、そのときSolrも調査したことがあったので、その頃からどのように変わったのか楽しみにしていきました。 以下発表内容のまとめです。 Solrとは?(ロンウィット関口さん) 全文検索ライブラリのLucene JavaのAPIを使うので、開発期間の短くなっている昨今では導入の敷居が高い SolrはLuceneを使った検索サーバ実装 HTTPベースのAPIが提供されている→言語を選ばない 検索アプリが非常に楽に作成可能→時代に合っている Solrとのデータやりとり XMLで登録データを作成(CSVでも可)→HTTPでPOSTすると登録が完了 検索結果もXMLでGETする 検索アプリでは、XMLで返ってきた結果を加工してHTM
集合知イン・アクションposted with amazlet at 09.05.17Satnam Alag ソフトバンククリエイティブ 売り上げランキング: 3193 Amazon.co.jp で詳細を見る 本書は2008年10月に発売された「Collective Intelligence in Action」の邦訳されたものです。 集合知とはどういうものなのかから始まり、Javaを用いて実際に集合知を扱うアプリケーションの作り方まで広い内容が書いてあります。 データマイニングのような話題ばかりではなく、既存のブログ検索から情報を取得してきたり、検索の仕組みの作り方やタグクラウドの実現方法、クローリングについてなど集合知の収集方法についても言及がなされています。 集合知プログラミングとの違い 集合知を扱った本としては「集合知プログラミング」が有名だと思います。 集合知プログラミングは各手法
最近、高橋メソッドを使ったプレゼンをする機会があったのですが、そのときにその発表をいたく気に入ってくれた方がいました。 その人いわく、「2chやニコニコ動画みたいで見ててワクワク感があった。」とのことでした。おそらく2chというのは2chまとめサイトのことだと思います。 その言葉を聞くまでそんな風に考えたことはなかったのですが、考えてみると結構腑に落ちます。 高橋メソッドの特徴をあげると、 字がでかい 表現が簡潔 説明の順番が明示化される→ストーリーがある たまに大きくなったり色が変わったりして強調 などがあげられますが、2chまとめやニコニコ動画と結構重なっているところがあります。 こういう表現をすると視聴者としては集中してみることができるし、メリハリがあって面白いのかもしれません。 去年、いろいろな意味で話題になった「あたし彼女」も簡潔な表現の繰り返しですが、高橋メソッド風に見てみると
OSはWindows XPでTomcatのバージョンは6.0.18です。 追記: GoogleからTomcat5.5+Eclipse3.4でアクセスしてくる方が多いのですが、おそらくEclipse3.4のWTPで作ったプロジェクトがTomcat5.5にデプロイできない(ターゲットランタイムで選べない)ことについてではないかと思ったので一言。 Tomcat5.5にデプロイできるプロジェクトを作るには、動的Webプロジェクトを作成する際に動的Webモジュールバージョンを2.2に変更すればOKです(デフォルトでは2.5)。 Tomcat5.5とTomcat6の並存 Windows環境でインストール用のexeを使ってTomcat6のインストールを仕様としたら以下のようなエラーが発生。 Failed to install Tomcat6 service. Check your settings an
第二回Wicket勉強会で発表してきました。 内容はそのままpptをあげようかと思ったのですが、ソースコードの部分が少しあってその辺が見づらかったので記事に書き直しました。pptでの発表だとどうしてもソースコードを見せるのが難しいので、何か対策を考えたいですね。 以下発表内容と感想と宣伝です。 Wicketアプリケーションを�Webで公開する前にやっておく�3つのこと WicketでWebに公開する Wicketは面白いフレームワーク でも、ステートフルなために公開する際にやっておいたほうがよいことがいくつかある 実際にサイトを公開して見てやっておいたほうがよさそうと思ったことを3つ紹介 今回の使用するバージョンはWicket1.3.5 1. エラーページを変更する Wicketでの開発で頻繁に遭遇するPage Expired サーバ上からPageのインスタンスが消えてしまった後にアクセス
先日、後輩向けに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
日本語で読める予測市場に関連がありそうな書籍をまとめました。 予測市場とは仮想市場を使って人々の意見を集約・抽出する仕組みのことです。 予測市場 - Wikipedia 予測市場に限らず集合知に関心のある方は読んでみると、集合知の成功事例やどのようにして群集が個人に勝るのかといったことがなんとなくわかるようになると思います。 リスクの正体!-賢いリスクとのつきあい方 リスクの正体!-賢いリスクとのつきあい方 (木星叢書)posted with amazlet at 09.02.19山口浩 バジリコ 売り上げランキング: 12656 Amazon.co.jp で詳細を見る 駒澤大学グローバル・メディア・スタディーズ学部准教授の山口浩氏が執筆した本で、今年の一月に発売されました。 自身のブログの「H-Yamaguchi.net」で書いた文章をベースにしているそうですが、体系づけられていろいろと
Amazon EC2/S3クラウド入門posted with amazlet at 09.02.19学びing 秀和システム 売り上げランキング: 862 Amazon.co.jp で詳細を見る 去年ぐらいからクラウドと言うキーワードが注目されるようになって来ています。 この本は題名どおり、クラウドコンピューティングを紹介する記事でよく事例として紹介されるAmazon EC2/S3というサービスについて扱った本です。 学びing株式会社が「けんてーごっこ」というWebサービスの提供にEC2/S3を使った経験を元に書いた本ですので、導入に当たって検討したことや実際のサービスに導入してからの話も書かれており、抽象論から始まるいわゆる入門本とは違って具体的な話から入っているところが特徴だと思います。そのため、非常に読み始めやすいです。 内容 1章がEC2/S3の体験記、2章がEC2/S3の使い方
「こいつ・・・できる!」と思わせるプログラマにたまに会うのですが、その実力の評価の指標が必ずしも一つではないなー、というのを常々思っていました。この評価指標を言語化できないかと考えていましたが、はてなインターンに行ってたときにいろいろなタイプのプログラマに会って、この指標で評価可能なのではないかと思いついたものを3つ書いてみます。 私の観測範囲内から考えたことなので、「こんな指標もあるよ」という意見がありましたら是非是非ご教示ください。 ちなみに指標と言っても、数値化可能なものではなくて、この人はなんとなくこの指標の能力が高そうだなーと考えるのに使うためのものです。 指標1. アルゴリズム思考能力 数式からプログラムに落とし込む能力や最適なアルゴリズムを考えることができるかという指標。ちゃんとコンピュータサイエンスを学んできた人が強い指標になります。 この能力の高度な活用が求められる場面は
先日ファイルシステムを復旧した際に、MySQLのあるテーブルでSELECT文などを実行すると以下のようなエラーが出るようになりました。 ERROR 1033 (HY000): Incorrect information in file: *.frm今回の対象のテーブル形式はMyISAMだったのですが、エラーメッセージでググって見てもInnoDBの場合の記事ばかりで参考にならなくて困りました。偶然MySQLリファレンスのテーブルの修復方法で該当しそうな項目を発見し、うまく修復をすることができました。 滅多にない話のようですが、エラーメッセージと修復方法を結びつける記事がないので、後々に誰かの参考になるかもしれないので記事にしておきます。 MySQLのバージョンは5.0です。 frmファイルとは何か? MySQLは一つのデータベースを一つのディレクトリとして扱います。 テーブルを作成すると、デ
Hibernate、ActiveObjects、S2Dao、Apache Cayenne、iBATISなどORMフレームワークが群雄割拠状態なJavaですが、使い方を勉強したり設定ファイル書いたりするのが少し面倒かなと思っている人がいるかもしれません。 特にちょっとしたアプリケーションを作るならば、素のJDBCを使うのは嫌だけど、それに近い形で使えるORマッパーが欲しいと思うことがたびたびありました。 ということで以下の条件でJDBCを薄くラッピングしているJavaのライブラリを探して発見したものを紹介します。 レコードをオブジェクトに自動的にマッピングしてくれる できるだけSQLを書く量を減らすことができる いざとなったら生SQLを書くことができる 導入が簡単である 依存ライブラリが少ない 以下に挿入、検索、更新、削除を実行するコードを書いています。 今回はDBがMySQLだったので、M
java-ja 第12回のLTで話そうと思ったのですが、出番がなかったので資料をブログで公開しておきます。 Jungは研究などでグラフ構造が出たときに、理解しやすくするために可視化するのに使っています。他にもいくつかグラフを扱うライブラリは存在していますが、日本語の資料があったのと拡張可能なことが多かったのでJungを結果的に使うようになりました。 以下はそのJungについての簡単な解説です。 Jungとは Jungの正式名称はJava Universal Network/Graph Frameworkで、ネットワーク(グラフ) 構造の分析や視覚化を行うためのJavaのOSSライブラリです。グラフ理論、データマイニング、ソーシャルネットワーク分析のアルゴリズムを数多く実装しています。 安定バージョンは1.7.6で最新は2.0betaで、BSDライセンスで使用できます。 http://jun
前日に別の勉強会に参加していた関係で前日の上京が無理だったので、午後からの参加になりました。 JJUGのページに載っていた地図に従って行けば開催地までたどり着けたのですが、その場所のどこの建物で実施されているのかが書いていなかったので若干迷いました。他のイベントもいくつか行われていたようで、それっぽい人についてそのまま違うイベントの会場に行くところでしたw DOMパフォーマンスチューニング(id:amachang) javascriptは遅い遅いと言われるけど、ベンチマーク取るとPerlとかRubyより速くてPythonよりは遅いぐらいで十分速い Javaを計測するのを忘れてた よく遅いと言われるDOM DOMをフェーズに4つの分けて考える 1. javascriptとコンポーネント(C++)との通信 XPConnectやCOMとの通信 単純なオブジェクトへのプロパティアクセスの数十倍かか
次の日に用事があって前日に上京することになったので、何かイベントがないかとIT勉強会カレンダーで探したところESPer2008を発見しました。前日でも人数が上限に達していなかったので助かりました。 想像以上に刺激的な話が聞けて、個人的に特に面白かったのは小野さん、ゆーすけべーさん、ひげぽんさんの話でした。 ということで以下まとめ。 グリーンITのすすめ -未踏的アプローチに向けて-(加藤和彦PM 筑波大学大学院システム情報工学研究科) 普段、PCを置いてある部屋やひざの上のノートPCや無線アクセスポイントなどで暑い思いをしているのではないか? 未踏的にこの熱を減らすことはできないか? 京都議定書は日本に不利にできているかも グリーンITの3つの可能性 人やモノの移動の効率化(ITによる) 産業活動の生産性向上(ITによる) 機器のエネルギー効率の向上(ITそのもの) サーバ統合、クラウド化
<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
というわけで、現在はてなサマーインターンに参加中です。 インターン期間も半分が過ぎ、いよいよ佳境に入っていくわけでありますが、このエントリで話したいことは、Perlについて。 ご存知のようにはてなではPerlを使ってサービスが実装されていますが、私はこのインターンが決まるまでまったくPerlを触ったことがなく、たまに見かけるPerlのコードを見かけては、$@%など記号が多くてよくわからない言語だと思っていました。一方で、Plaggerなどが代表的なCPANモジュールという他の言語にはない魅力があったので兼ねてから勉強したかった言語でもあります。 んで、インターンが始まってから2週間、毎日というわけではありませんが、Perlに触れてきて、それなりに自分で書きたいものが表現できるようになってきたので、今現在のPerlへの感想について。 前提 私の母国語はJavaで経験は大体3年ぐらい。 作った
今月の1日に開催された第一回Wicket勉強会で先日リリースした予測コミュニティ「こうなる。」話してきました。 Wicket勉強会はid:t_yanoさんが主催で行われたJavaのWebフレームワークの一つであるApache Wicketについての勉強会です。 会場はXarts株式会社さんにお借りしました。面白そうなことをやっている会社だったので、時間があったら社員さんとお話がしてみたかったですけど残念。 「こうなる。」ではWicketを使っているので、実際に開発する上で困ったことなどについてを話しました。 以下は発表資料です。 Wicketはこうなる! 予測コミュニティ「こうなる。」のご紹介 発表で取り上げたWicketのURLの話題については以下で以前記事で書いているので、興味があったら参照してみてください。 WicketのURLをcoolにする - public static voi
前回AS3でコマンドラインでライブラリをリンクしてコンパイルする方法がわからなかったので調べてみました。 Javaでいうところのクラスパスの話ですね。 1. mxmlcコマンドにオプションをつける 以下のような構成を考えてください。 ├ Hoge.as ├ libs │ ├ lib1.swc └ lib2.swc以下のようなコマンドでリンクしてコンパイルできます。 mxmlc -library-path+=libs Hoge.aslibrary-pathのオプションでライブラリの位置を指定してやります。 =ではなく+=なのは、=にすると既存のライブラリパスが上書きされてしまうからです。 フォルダを指定すると、そのフォルダ以下にあるSWCファイルをまとめてリンクすることができます。Javaだとフォルダ単位の指定はできないので便利ですね。 SWFを直接指定する場合は、以下のようになります。 m
ちょうど一週間前の23日に、私が開発に参加している予測コミュニティ「こうなる。」のリリースを行いました。今日レイアウトを修正したので、是非アクセスしてみてください。 URLはhttp://kouna.ru/とサービス名と一緒なので、覚えやすいのではないかと思います。 「こうなる。」を作った理由 もともと、研究室で次期衆議院選挙の予測市場のshuugi.inというサービスを提供していて、そこの経験を生かしてさまざまな事象に対して予測ができるサービスを作りたい、というのが出発点でした。 しかしながら、提供する側としてはもっと多くの人に利用をしてもらいたいのですが、予測市場は仕組みが少し難しいので参加の敷居が少し高くなってしまいがちです。そもそも、予測をするということがユーザにとって楽しいのか、という疑問もありました。 そういった懊悩を払拭してくれたのが、群衆の叡智サミット2008でのパネラーの
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を見た感じでは、こういう用途に特化し
Wicketでページを遷移させる方法としてsetResponsePageメソッドがあるのですが、全ての処理が終わった後の遷移先の指定なので、たとえば、ログインしてからアクセスしてほしいページなので処理を中断してログインページに飛ばしたい、という状況のときには少し不便です。 ちなみに、setResponsePageで書くとしたら以下のような感じ。 setResponsePage(LoginPage.class); return; RestartResponseExceptionで遷移させる これに対する解決策として、RestartResponseExceptionをthrowする方法があります。 RestartResponseExceptionのコンストラクタで、遷移したい先を指定してやります。 throw new RestartResponseException(LoginPage.cla
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(); } } このとき得られ
「http://mashupaward.jp/」が開催されるそうなので、現在身内で行っている勉強会でも何か出してみたいなあと思っています。 そこで気になったのは、提供されているAPIが商用利用が可能なのかということです。 アドセンスの一つでも張ろうかとか、アフィリエイトプログラムと連携して〜みたいなことを考える人は少なくないと思います。 商用・営利目的の定義は曖昧 何をもって商用利用の範囲に含むのかというのは議論の余地があります。 アフィリエイトやアドセンスを入れることは利益を得ることを目的としているので営利目的のように思うのですが、営利目的ではないと判断しているサービスも少なくありません*1。(ex.お問い合わせ・よくある質問 | CMS プラットフォーム Movable Type) 厳密に言うと、コンテストとかに企業が応募するのは宣伝目的の意味合いも強いと思うので、営利目的といえば営利
「http://d.hatena.ne.jp/shiroann/20080627/1214495914」を読んで、エントリの趣旨とはズレてるけど思ったこと。 「これはひどい」とかがつくのは比較的ニュースサイトのようなところが多いので余り意識していなかったのですが、個人のブログとかでつくと結構ショックかもしれないなあと思います。また、ネガコメだと参考にもできますが、タグだけだとどうしようもないですよね。 個人的には主観の入ったタグはなるべく入れたくないので、「これはひどい」はもちろん「これはすごい」や「参考になる」*1みたいなタグは使っていないのですが、人気のエントリーなどに載っている記事の内容が一目でわかるという意味ではお世話になっています。 でも、「これはすごい」とかついてる記事もモノによってはぜんぜんすごくない記事もあるわけで、SBMの本来の役割であるフォークソノミー的な意味では役に立
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
「[観] Twitter API 仕様書 (勝手に日本語訳シリーズ)」を読んで、TwitterのAPI制限は1時間に70回だと思っていたのですが、後輩に「ちゃんと公式ブログ読めよカス」と怒られたので確認したところ、頻繁に制限は変更されていてそのアナウンスはちゃんとブログで行われていました。 でもいちいちブログに確認しに行くのは面倒くさいので、1時間に何回アクセス可能なのかを返すAPIを作りました。 http://twitter.api.limit.oshira.se/ 公式ブログの情報を元に定期的に更新されるので、API制限に悩まれている方は参考にしてください。 追記: 公式APIにAPI制限数を取得するAPIがあるみたいですね。 http://twitter.com/account/rate_limit_status(.xmlか.json) このAPI自体には利用制限のカウントをしないそ
次のページ
このページを最初にブックマークしてみませんか?
『public static void main』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く