プログラム
ネットを見てると、面白いサービスが出ていました。 ヤフー株式会社は12日、ソーシャルメディア上の投稿を検索できるYahoo!検索の「リアルタイム検索」において、「つぶやき感情分析」の正式版を公開した。 つぶやき感情分析は、Twitter上の投稿を分析し、検…
ちょっと間が空きましたが、第1回Webスクレイピング勉強会@東京に参加して、LT枠でRubyでWebスクレイピングの話をしてきました。 Rubyで始めるWebスクレイピング from Takuro Sasaki 今まで全く参加したことがないレイヤーの勉強会だったので、新しい発見が…
久々に@sferikによるTwitterのAPIを使ってみると、いつの間にかTwitter Streaming APIも取得できるようになっていました。Twitter Streaming APIは、APIの中でも異色のもので、ひたすらパブリック・タイムラインを取得するといったものです。4年ほど前に出た…
Mac OSのバージョンアップする度に出しているような気がするのが、RubyのHTTPS通信でのエラー。ルート証明書が見つからなくてエラーがでます。 /.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/net/http.rb:918:in `connect': SSL_connect returned=1 errno=0 …
ちょっと必要になって、再びAmazonのProduct Advertising APIを触ってみました。このAPIは、Amazon謹製のAPIで、商品検索や個別商品情報の取得が出来ます。元々このAPIの名前は、Amazon アソシエイト Web サービスといって、AWSと呼ばれていました。クラウド…
CocProxyというツールがあります。名前の通りプロキシサーバーなのですが、用途が開発用です。置換プロキシと言うらしいですが、これがとっても便利です。例えば、クローラーの開発や、HTML,CSS,JavaScriptの修正をする際に、このCocProxyを利用するとダウン…
Anemoneのストレージを変更するシリーズ、ついでにSQLite3とMongoDBも書いておきます。 AnemoneでSQLite3を利用する AnemoneでSQLite3を利用するには、オプションで:storage => Anemone::Storage::SQLite3()と指定するだけです。引数を渡さなければ、anemone…
Rubyでキーワード抽出およびTF-IDFでキーワードの重要度の重み付けが出来んかなと思ってGemを漁ってみました。残念ながら、日本語データに関しては、それらしいのは見つかりませんでした。キーワード抽出については、Mecabで形態素解析後に品詞同士のつなが…
シリーズの如く何度かAnemoneの話を書いています。Anemoneは割りと小さなモジュールなので、ソースを読めば直ぐに解ることが多いです。一方で、ドキュメントが充実しているとは言い難いので、少し違うことをしようとすると、ソース嫁という状態になります。…
RubyでHTMLやXMLをパースする構文解析ツールの定番は、Nokogiriです。スクレイピングする際の必需品で、なくてはならないモジュールの1つです。ただ色々なことが出来る反面、どこから取りかかれば良いのか解り難い部分もあります。自習を兼ねて、Nokogiri概…
何度も取り上げていますが、Ruby製のクローラーであるAnemoneについてです。もう2年ほどメンテナンスされていないものの、Rubyの中のクローラー・フレームワークとしては未だに一番の完成度です。しかし、残念ながら幾つかの問題点があります。その中で日本…
浦島太郎状態になっていたので、Ruby周りの文字コードの扱いについて改めて勉強しなおしました。簡単にいうとRuby 1.9.1以降の多言語化仕様(M17N)では、文字コードをどう扱えばよいのかという点です。 Rubyの文字コード変換ライブラリ Ruby 1.9.1の多言語…
ちょっとCapybaraについて、整理する必要があったのでこちらで簡単にまとめておきます。Capybaraは、Githubのスタートページに使い方が丁寧に書いているので、そちらを参照したら大抵のことが解るようになっています。 What is Capybara Capybaraは、Webアプ…
3年ほど前に、Ruby製のクローラー"anemone"を紹介しました。その当時から完成度が高く、Rubyでクローラーを使う場合はanemoneを利用してきました。最近、他に新しくて良いのがないか調べましたが、機能面の網羅性という意味でanemoneを超えるものは見つけら…
最近のRubyのクローラーは、EventMachineを使って並列化するのが流行のようです。EventMachineは、非同期処理をお手軽に実装できるフレームワークです。Rubyのスレッド機能との違いは、Reactorパターンを使いシングルスレッドで実装している点です。こちらの…
ちょっと前に試そうと思って、そのまま放置していたruby製のクローラー「Masque」を試してみました。ruby製のクローラーは、他にはAnemoneという優秀なものがあります。その上で何故というと、Anemoneにはない特性があるからです。 MasqueはCapybaraのDSLで…
今年の4月にTwilioのアカウントをとって早8ヶ月。これは色々なことに使えるとワクワクしながら、すっかり放置していました。日本ではKDDIさんと組んで展開し、色々な所でハンズオンなども開催されていたので、知名度的にも手軽に使える音声APIのデファクトに…
前回、Jenkinsのインストールについて書きました。今回は、Jenkinsでビルド・パイプラインを構築する話です。 ビルド・パイプラインとは? ビルド・パイプラインとは、ビルドのプロセスを分割して順番に実行していくことです。例えばビルドの流れとして、コ…
HudsonもといJenkinsは昔からよく使っていますが、全くそれに関するエントリーをあげていないことに気がつきました。ということで、暫くJenkins強化週間です。まずはお決まりのインストールメモから。Java用だと一瞬で終わってしまうので、Rubyで使用するこ…
AWS SDK for Rubyでのファイル関係のS3の操作です。一覧取得とファイルの取得の方法をメモ程度にまとめています。一覧取得については、基本的には2通りあってBucket.as_treeからツリー形式で取得する方法とBucket.objects.collectからキーの一覧を取得する方…
久々にRuby On Railsで開発をしようとNetBeansを使おうとしました。新しくしたMacbook Proにはインストールしていなかったので、ダウンロードしてインストールしようとしました。プラグイン等の関係で、7.0.1をダウンロードしてウィザードに従っていると、下…
Amazon S3のアクセスコントロール(Access Control)には、次の5タイプがあります。 IAMのポリシーを使った制御(Using IAM Policies) バケットポリシーを使った制御(Using Bucket Policies) ACLを使った制御(Using ACLs) ACLとバケットポリシーを併用した制御(…
久々にJavaのプログラミングをしようと思って、Mac OS X Lionに環境設定しました。それぞれのモジュールのダウンロード元が解れば、簡単です。 JDKのインストールと設定 AppleのDevelopersサイトから、JDKのダウンロードをする。Java for OS X 201X-XXX Deve…
Windows機でRubyの開発するケースは、かなり多いのではないかなと思います。 そんな中で、遭遇するであろう課題を羅列してみます。 GEMモジュールが入らない or 微妙に違う 恐らく本番環境で使われるであろうLinux環境とWindows環境では、そもそもファイルシ…
Capistranoのタスクが、具体的にどのように動くか調べてみました。最初は下記のドキュメントを参考にしていたのですが、結局ソースを見たほうが10倍簡単に理解できました。コード中のrecipes/deploy.rb辺りを一度読むことを強くお勧めします。 Capistrano re…
プログラムからちょこっとメールを送りたい時って、ありますよね?メールサーバを立てること自体はそれ程大変ではないですが、維持管理していくのは昨今非常に面倒くさいです。またスパム撲滅の為にプロバイダの規制が多くて、気が付いたら送れなくなってい…
ここ数年で開発の現場でAgile開発の文化や手法が、ずいぶんと取り入れられるようになってきているようです。アジャイル開発はその根底に文化が大事ですが、それを支えるツールというのも重要になってきます。ソース管理やビルド管理、テストの自動化と色々あ…
Mac OSX(Snow Leopard) でのRuby 1.8.7と1.9.3の共存の設定です。開発環境であれば、手軽なRVMを使うと良いと思います。 RVMのインストール $ bash -s stable < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer)設定…
話題のDynamoDB。かなり面白そうです。アマゾンの大量のトランザクションを支える技術を、インフラの面倒をみることなく使えるという、まさにクラウドの醍醐味というサービスです。 今までクラウドとRDBの相性の悪さというのはどうしてもありました。RDBの本…
グラフを書きたくて調べていたのですが、Google Chart APIはグラフの数値だけではなく数式を渡すことが出来るようです。これで二次関数を渡して、二次曲線を描くことが出来ます。知らなかったけど、便利そうです。 Line Charts - Google Chart Tools: Image …