2011-01-01から1年間の記事一覧
REMPのAPI周りでキャッシュを使いたくなったので、memcachedを使おうと思ったのだけどRubyで使う場合のクライアントを知らなかったので簡単にまとめ。 Ruby用のmemcacheクライアントはいくつかある様なのだけど、dalliというクライアントが一般的な様なので…
そういえば、REMP(レンプ)というYoutube動画を連続再生できるWebアプリの開発に参加してますー*1。 Mashup Award 7 にも応募したりしましたよ。 動作環境はgoogle chromeがインストールされているPCでfacebookアカウントがあれば利用することができます。 RE…
Solrで検索クエリーを作るときにどうしてもSQLクエリが先に出てしまうので対応をメモ。 クエリーパラメータでいうとqですね。 検索式 MySQL*1 Solr 一致検索 WHERE title="foo" title:foo 全件 (where無し) *:* AND WHERE title="foo" AND price=200 title:f…
続けて、Apache2の設定。ここでは、既にmod_proxyが入っているものとします。 フロントのApache2から複数起動しているThinのサーバに振るためにmod_proxy_balancerを入れます。 Ubuntuであれば、 $ sudo a2enmod proxy_balancer で、mod_proxy_balancerが有…
今、WebアプリケーションのAPIサーバをRubyのフレームワークのSinatraでつくっていて、これを本格的に動かすときにWebサーバをどうしよう。ということになって、Thinが良いらしいという情報を得たので導入してみた。 現状、動いているApacheサーバがあるので…
Rubyでプログラム書いていてWeb系のAPIにHTTPSでアクセスする必要があったので調べた。 RubyでPOSTメソッドを発行するには以下の様に標準添付されているライブラリのnet/httpを利用すればよい。 #接続先ホスト名 hostname = "www.foo.bar" #接続先パス reqpa…
Rubyでnil (空オブジェクト) の判定は nil? で行える。*1 if修飾子で書くと綺麗に書ける。やはりRubyで書くと読みやすいな。 def foo do res = db.find("id" => 1) return 'error' if res.nil? # resが空オブジェクトの場合は 'error' を返却 #ゴニョゴニョ…
gemでインストールをしようとしたときに以下の様なエラーが出ることがあった。 $ sudo gem install mongo_mapper Building native extensions. This could take a while... ERROR: Error installing mongo_mapper: ERROR: Failed to build gem native extens…
休暇中に何らかの全文検索エンジンを入れて触ってみようと決めていたのでGroongaを入れてみた。 特徴 Groongaの特徴は以下の様なところがある。 操作は複数のプロトコルが利用可能 独自プロトコル or HTTP or memcached binaryプロトコル HTTPの場合, GETリ…
Macにhomebrew入れた。 homebrewはMacPortsと同じくパッケージ管理ツールでRubyで記述されている。 たまたま試したいと思っていたプログラムの配布パッケージにhomebrewが用意されていたので使ってみた。 インストール方法 コマンドラインから以下を実行すれ…
久しぶりにラムネ飲んだ。
PHPでクローラを書くときのライブラリないかな?と探したところ、sourceforgeで見つけたので使ってみた。結構、出来が良くて少し触ってみた感じ便利そうな雰囲気。 PHPCrawl PHPCrawl is a webcrawler/webspider-library written in PHP. It supports filter…
一応、東京都内。 本当に綺麗な空だった。
蛇口が恋しい一日であった。
行いたかったのは、jquery.ui.datepicker.mobileで作られたカレンダーの日付をタップ(クリック)された際のそのイベントを検出すること。 jQueryのlive(type, fn)を利用すればよいということがやっとわかった。 bind関数との違いはbind(type,fn)を利用した場…
その後解決→jquery.ui.datepicker.mobile.js を使った際の日付選択イベント抽出 jQuery mobileとjQuery.uiのdatepickerを利用してスマートフォン向けの日付選択ダイアログを作るところまではうまくいっているのだけど、どうしても日付の選択のイベントを検出…
久しぶりにblog更新。 家の机周りの片付けなど。壮大に散らかっていた机の上を整理する。 以前引っ越しをしてから、大雑把に片付けたままの状態がずっと続いていたので、現在の様な状況*1でないと重い腰も上がらなかったりするのでいい機会だと思って朝から…
人生いろいろありすぎた状況*1なので、朝から読み返してみている。 水木サンの幸福論 (角川文庫)作者: 水木しげる出版社/メーカー: 角川書店発売日: 2007/04メディア: 文庫購入: 5人 クリック: 41回この商品を含むブログ (25件) を見る 漫画家水木しげるさん…
Googleの検索ワードのタイプ状況を可視化したもの。WebGL対応のブラウザ…Chromeであれば再生することができる。 下の図は日本の周りを表示させた物。うっすらと日本列島が浮かび上がるのが見える。 http://data-arts.appspot.com/globe-search 詳しくはGoogl…
準備で取得したAPIキーを利用してGoogle URL Shortner API へアクセスすることで短縮したURLを取得することができる。 ここでは、PHP上から利用してみた例。HTTPのPOSTアクセスには、PEARのHTTP::Request2を利用しているので、PEARにいれていない場合はPEAR…
googleの短縮URL生成機能のGoogle URLのAPIを利用してみる。1日100万回利用可能。 APIを利用することでプログラム中から非常に長い文字列数で構成されるURLをhttp://goo.gl/〜 で始まるURLに変換することができる。 利用には、まずAPIキーをgoogle API conso…
PHPだとSmartyなどのテンプレートエンジンを利用したりするが、同様にJavaScriptでクライアントサイドでテンプレートに変数を流しこむ様な実装を行うことができるライブラリを探したところ、jQueryのtemplatesプラグインで実現できる様なので使ってみた。 Te…
MacOSでzshをシェルにしているのだけど、scpを実行しようとすると、 % scp foo@bar.com:~/my*.zip . zsh: no matches found: foo@bar.com:~/my*.zip と表示されてしまって実行できない。 これは、ワイルドカード(*)で補完がかかってしまうため。 これを防ぐ…
東京。桜が満開。
この数カ月間、プライベートでも仕事でも、そして日常でもいろいろな変化がありました。 あまりにもいろいろありすぎて、少しオーバーヒート気味だったのですが、やっと落ち着いてきたのと最近すっかりtwitterばかりで全くこちらの更新を怠っていたので書い…
あけましておめでとうございます。 本年も何卒よろしくお願い申し上げます。