HowTo タグのついた記事一覧

MacOSX での Android SDK セットアップと Android の /etc/hosts の編集方法

昨日からちょっと Smart.fm Android アプリのデバッグのお仕事が入ったので、Android SDK をセットアップして Emulator にアプリをインストールしました。

インストール自体は簡単だけど、実際に Emulator を立ち上げるまでに少しハマり、Android で /etc/hosts をいじったりするところまではかなりハマったので、忘れないうちにメモメモ。

Download & Install Android SDK

Android SDK | Android Developers から、MacOSX 用の SDK をダウンロード。ダウンロードされたディレクトリごと適当な場所に配置して、SDK_ROOT/tools に PATH を通しておく。

Install Android SDK Components

次に Adding SDK Components | Android Developers にある通り、SDK Componets とかいうのをインストールする。

まずは以下のコマンドで Android SDK and AVD Manager を立ち上げる。(たぶん AVD は Android Virtual Device の略)

android

どうも僕の環境では HTTPS 経由だと失敗するので、Settings から HTTP を使うように設定。

Android SDK - Settings

ちょっと時間がかかるけど、Available Packages からとりあえず全パッケージをインストールしておく。僕の環境でインストールされたパッケージ一覧はこちら。

Read more Comments Retweet

Hoptoad - Rails のエラー通知プラグインの決定版!

Rails アプリのエラー通知プラグインでは ExceptionNotification などがメジャーですが、それよりはるかに賢いプラグインを見つけたので紹介します。その名も「Hoptoad(ヒキガエル )」。

正確には単なるプラグインではなく、エラー通知用プラグイン+エラー管理Webアプリの組み合わせが「Hoptoad」です。

使い方は至って簡単。

Read more Comments Retweet

OAuth gem で multipart や xml、json データを POST する方法

OAuth の POST リクエストでは、基本的に Content-type = x-www-form-urlencoded のデータを送ることが想定されています。

もちろんそれ以外にも Content-type が multipart/form-data や application/xml、application/json などの場合も、request body が signature base string に入らないという違いはあるものの、OAuth を使って POST することは可能です。

仕様的には。

smart.fm でも一部 API で multipart (upload file) や xml/json データ (save study data : comming soon) をポストしないといけない API があるのですが、みごと ruby の oauth gem ではそれらに失敗しました。

原因は、OAuth::Consumer#create_http_request の以下の1行。青色の部分を赤色の部分のように変えれば動きます。

module OAuth
  class Consumer
    def create_http_request(http_method, path, *arguments)
      http_method = http_method.to_sym
      
      if [:post, :put].include?(http_method)
        # data = (arguments.shift || {}).reject { |k,v| v.nil? }
        data = arguments.shift
        data.reject! { |k,v| v.nil? } if data.is_a?(Hash)
      end
      
      以下略
  end
end

というところを、github の master ではこの bug が fix されているのですが、rubyforge にはまだ反映されていなくて、ちょっとハマりました。これを fix すれば、こんな感じで POST できます。

access_token.post(path, params, {'Content-Type' => 'multipart/form-data'})
access_token.post(path, xml, {'Content-Type' => 'application/xml'})
access_token.post(path, json, {'Content-Type' => 'application/json'})

Read more Comments Retweet

git merge で bus error が出たときの対処法

git merge すると、bus error がでて merge が失敗することがあります。

一旦これが出ると、その 2 つの branch 間で全く merge ができなくなってしまいます。

僕もまさに今日、その現象に遭遇しました。実は以前も同じ現象があったのですが、解決方法を忘れていたので、次からは忘れないようにメモメモ。

今回は Cerego エンジニアのエースに言われるがまま、以下の順で試してみて解決しました。

git merge --strategy=**

git merge のオプションの --strategy=octopus を指定して実行してみます。デフォルトの strategy は recursive とのこと。(詳細は "git help merge" でご確認を)

でも今回の場合はこれでは解決しませんでした。

update git

git の version を最新に。git が version 1.2.2 だったので、それを version 1.3.2 にあげました。

今回はこれで解決!

結局原因は全く分かってないんですが、まぁなおったしいいやw

Comments Retweet

Java から Rails アプリを利用する際に気をつけること

Java から Rails アプリのモデルを呼び出す (MacOSX Leopard) の続き。

まず最初は Rails のロード途中でヒープメモリが足りなくてエラーになりました。Rails アプリは結構なメモリを食う傾向があるので、僕の場合は Java のヒープメモリを 256M にしてやる必要がありました。

java -Xmx256m JSmartfm

次に、なぜか pure ruby の Ruby/MySQL では、SQL の発行はできるのにレスポンスが返って来ないという現象になったので、JDBC を使うことにしました。

Read more Comments Retweet

Java から Rails アプリのモデルを呼び出す (MacOSX Leopard)

Shindig Java 版から Rails アプリのモデルにアクセスする為に、Java から Ruby を呼び出すという技にチャレンジしてみました。

なんだか org.jruby.* を使う方法もあるようですが、とりあえず今回は Java 6 の Java Scripting とかいうのを使ってみました。

以下、手順をざっとおさらい。

JRuby のインストール

JSR233 Engines の Ruby エンジンは JRuby 1.1 系にしか対応していないらしいので、JRuby のバージョンを 1.3.0 から 1.1.6 に落とす。

これは jruby-bin-1.1.6.tar.gz をダウンロード&解凍して、JRUBY_HOME を置き換えるだけ。

JSR233 Engines のインストール

jsr223-engines.tar.gz をダウンロードして、適当な場所 (ここでは JSR233_ENGINE_HOME とする) に配置するだけ。

Read more Comments Retweet

MacOSX に Apache Shindig (Java version)をインストール

Apache Shindig

Mac に Apache Shindig をインストールしたので、ログをメモ。

Java version up

多分これはしなくても大丈夫だけど、Java の version が 1.5 系だったので、この機会に 1.6 に update。

Leopard では以下のシンボリックリンクを張り替えるのではなく

/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK

以下のアプリから version up するらしい。

/Applications/Utilities/Java/Java Preferences
maven をインストール

maven は Java 版 rake+gem みたいなものらしい。Mac には maven が最初から入っているのだけど、一応 port 経由でインストール。

sudo port install maven2
jetty をインストール

jetty は Tomcat みたいなアプリケーションサーバ、かな?とりあえず port でインストールできる。

sudo port install jetty

ここまでで必要な環境はそろっている、はず。ここからが shindig。

Read more Comments Retweet

今日はOpenSocial API Developer’s Guideを翻訳した。

昨日の「RAILS PRESS » [Press 0024] Google OpenSocial API Documentationを日本語に訳してみた。」に引き続き、今日はOpenSocial APIを使ったサンプルアプリが紹介されているOpenSocial API Developer’s Guideを翻訳してみました。

別に直接Railsと関係するわけではないですが、読みやすさとかもろもろのため、翻訳した文章は、Rails Pressの方にのせています。

RAILS PRESS » [Press 0025] OpenSocial API Developer’s Guideを日本語に訳してみた。

Comments Retweet

Railsでテストしよう!FileColumn&RMagickを使うモデルでファイルアップロードする方法&Fixtureで画像を登録する方法

今日はFileColumnのテストでハマった。
ファイルアップロードとかFixtureでファイル登録する方法とか、実はFileColumn側でしっかり用意されていたのですね。

ようするに、

vendor/plugins/file_column/lib/test_case.rb

をしっかり読みましょう。ってことです。

RAILS PRESS » [Press 0018] Railsでテストしよう!FileColumn&RMagickを使うモデルでファイルアップロードする方法&Fixtureで画像を登録する方法

RAILS PRESS » [Press 0018] Railsでテストしよう!FileColumn&RMagickを使うモデルでファイルアップロードする方法&Fixtureで画像を登録する方法

Comments Retweet

RailsのTest環境でのmemcached設定(memcached.yml)

RailsPressにメモした。
多分acts_as_authenticatedとか使ってて、/libの中でacts_as_cached呼び出す時にだけ必要な設定だから、普通のテストではこの設定はいらないはず。

RAILS PRESS » [Press 0017] Railsでテストしよう!Test環境でのmemcached設定(memcached.yml)

RAILS PRESS » [Press 0017] Railsでテストしよう!Test環境でのmemcached設定(memcached.yml)

Comments Retweet

MT4で、trim_toの制限文字数超えたときだけ"..."を付ける方法。

昔書いた「MT3.3のtrim_toでtrimされた時に"..."を付ける」ですが、MT4になって若干trim_toの実装が変わっていたので、MT4でtrim_toに"..."をつける方法をまとめておきます。

書き換えるファイルはMT3.3と同じく

lib/MT/Template/ContextHandlers.pm 

MT3.3では

sub _fltr_trim_to {
    my ($str, $val, $ctx) = @_;
    require MT::I18N;
    $str = MT::I18N::substr_text($str, 0, $val) if $val < MT::I18N::length_text($str);
    $str;
}

となっていましたが、MT4では

sub _fltr_trim_to {
    my ($str, $val, $ctx) = @_;
    $str = substr_text($str, 0, $val) if $val < length_text($str);
    $str;
}

と、若干簡素化されています。

ここを

sub _fltr_trim_to {
    my ($str, $val, $ctx) = @_;
    $str = substr_text($str, 0, $val)."..." if $val < length_text($str);
    $str;
}

と書き換えてやると、trim_toで制限文字数を超えたときだけ「...」が後ろに付くようになります。
なお、これをサイト全体に反映するには、一度再構築が必要です。

お試しあれ。

Comments Retweet

Twitbackerの使い方(MovableType)

2009.08.16 このサービスは http://twitbackr.com に移転しました。

Twitbacker - Trackback Ping to Your Twitter Status

Twitbackerでは、更新Ping URLとトラックバックPing URLという、二つのPing URLを用意しています。この二つの違いは、こちらの記事に詳しく説明されています。

更新pingとトラックバックpingの違い - #BLOG

MTでは、「環境設定>カテゴリ>カテゴリ名>設定」にあるトラックバックPing送信先に、TwitbackerのTrackback Ping URLを設定することで、毎エントリー投稿ごとに自動でTrackback Pingが送信できます。

他のブログサービスでは、ニーズがあれば調査してエントリーあげます。
ニーズある方はコメントくださいm_ _m

Comments Retweet

MacOSXをメールサーバにする

Railsでの携帯サイト開発のため、ローカルにメール送受信環境が欲しかったので、MacBookをメールサーバにしました。MacOSXには、最初からPostfixが入っています。なので、あとはDovecotを入れれば、普段使っているMail.appで、ローカルにメールの送受信が可能になります。

この環境構築方法、ちょっとはまったので、忘れないうちにやり方メモしときます。目次はこんな感じ。

  1. MacPortsインストール
  2. Dovecotインストール
  3. Postfix設定変更
  4. Mail.appにlocalアカウント作成

Read more Comments Retweet

ドリコムJobBoardのデザイン変更方法(シンプルレイアウトでのCSS編集方法)

ドリコム ジョブボードがCSS編集可能になりました。

まだCSS編集の詳しいヘルプは無いのですが、iframeの中のHTMLソースを見ながら、ちょっとこのサイトにあうようにCSSを編集してみました。

変更点はいろいろあるけど、大雑把に言うと、画像を消して、文字色/サイズ/フォント変えました。

実際のJobBoardはこのエントリー下部にあります。
いままでは基本的に縦長のレイアウトになっており、幅広レイアウトにすると醜くなってしまっていたのですが、このCSS編集でかなりすっきりしました♪

ひとまずCSS編集の手順と、このサイトで使ってるJobBoard用CSSを公開しておきます。

この機会に、ぜひドリコムJobBoardを使ってみてください♪
京の路JobBoardへの求人広告掲載も “ヘ( ̄- ̄ )かもぉん♪

Read more Comments Retweet

京の路サーチ Powered by Google Co-op

ブログの検索にGoogle Co-opを導入。

とりあえずGoogle Co-opで遊んでみたくて、

を横断して検索するようにしてみた。

Google Co-opの使い方は5分でわかる Google Co-op 導入方法 | WWW WATCHを参考に。

Comments Retweet

URLを変えずにMTのページ分割する方法と、再構築の負荷対策(MTPagenateプラグイン&mt-rebuild+cronを利用)

このブログもエントリー数が大分増えて来たので、カテゴリーアーカイブや月別アーカイブのページ分割を行いました。

ページ分割で参考にしたのはこのサイトです。
ネコの為に鈴は鳴る。 - After☆Taste Blog: MTpagenateでアーカイブを分割

ただ、このままだとURLが変わってしまうので、ちょっとコツが必要。

Read more Comments Retweet

C++で主成分分析(PCA)を行うための行列演算ライブラリ「MIST」

名古屋大の「MIST」というライブラリを使ってみた。とりあえずライブラリが使えるようになったというレベルだけど。

MOCK関係者はそのうち使うかもなので、その時に参考になればということで、以下環境構築メモ。
(基本はMISTサイトの通りでうまく行ったのだが、一カ所ひっかかったとこがあった)

Read more Comments Retweet

ブログに1分でStarRatingを導入する方法

元記事はこちら。

recompile.net: あなたの記事は星いくつ? コピペだけでブログに評価機能を追加できるウィジェット「Star It!」


Star It! : Star Rating Widgetからスクリプトコードを取得して、自分のブログの適当な場所に貼付けるだけ。至って簡単。

現在、このブログの各エントリーに貼付けてあります。

Read more Comments Retweet

Ruby on RailsによるWebアプリケーションの作り方(入門編)

研究室のRails勉強会の為に、Railsアプリケーションを作るときの最初のフロー(scaffoldまで)をまとめてみます。なお、ここではRails環境はすでに構築済みのものとします。(環境構築についてはこちらを参照

目次は以下の通り。

  1. railsアプリ作成
  2. データベース設定(database.yml)
  3. データベース定義(ActiveRecord::Migration)
  4. 動くアプリケーション(ひな型)作成

Read more Comments Retweet

iSightでムービーを取るにはiMovie HDを使えばいい

MacBookはiSight内蔵なので、ミーティングの合間に遊びでちょこちょこPhotoBoothで写真取ったりしてたのですが、今日iMovie HDを使えばムービーもとれちゃうことを発見。

明後日の研究室のRails勉強会ではちょっと動画を撮ってみるか。

Read more Comments Retweet