Home

@masuidrive blog

PhotoShareで新しいiPhoneにデータを移行する方法

Photo by Miss Indi Pop

 PhotoShareは誰でも簡単に使えることに力点を置いているので、ユーザ登録なしで利用できる、というのを特徴にしています。

 しかし、新しいiPhoneを買った場合など、PhotoShareで新しいiPhoneにデータを移行したい場合、通常のサービスであれば、アカウントを入力するのですが、PhotoShareではアカウントがありません。

 そこで、PhotoShareでは、登録したメールアドレスによってデータの移行ができる様になっています。

  1. 旧iPhone: メールアドレスを登録する (メールアドレスの登録は、トップメニューの「設定」から行えます。
    )
  2. 旧iPhone: PhotoShareを削除する
  3. 新iPhone: PhotoShareをインストールする
  4. 新iPhone: 旧iPhoneと同じメールアドレスを登録する

 iPod touchからiPhoneに移行する場合は、「旧iPhone」を「iPod touch」に読み替えてください。

 これで旧iPhoneから情報が削除されたので、旧iPhoneにPhotoShareをインストールすると、また新しいアカウントとして使うことができます。

 PhotoShareでは端末IDを元にしているので、修理などで端末が交換された場合にも、アップした写真などが見えなくなってしまうことがあります。その場合にも、メールアドレスを登録することで前の情報が新しいiPhoneにも引き継がれます。

 データの移行には、メールアドレスの登録が必須になりますので、なるべく登録するようにしてもらえると助かります。

 旧iPhoneでは、データ移行後、アプリを一度削除すれば、すべての情報は削除されますので、譲渡などを行ってもPhotoShareの情報が渡ることはありません。

EventMachineを使ったクローラの書き方の足がかり

Photo by pnoeric

 いま、PhotoShareで使うために、高速なEvent Driven方式のネットワークライブラリ、EventMachineを調べています。

 このEventMachine、ほとんどの場合はサーバを作るときに使われていますが、HTTPクライアントの機能も実装されており、実はクローラの様な物を作るときにも利用することができます。

 今回はこっちを使いたかったのですが、ググってもほとんど情報が出てこなかったので、Seattle.rbで相談したところ、Aaronさん(RubyKaigi 2008でプレゼンしているのをustで見てコンタクトしました)からサンプルが貰えたので、それを元に、同時接続する様にしてみました。

 このコードだけだと役には立ちませんが、情報が少なかったので参考に上げておきます。

Continue reading

RailsでMemcachedが落ちていてもエラーにならない方法

Photo by masuidrive76

 Railsで高速化するためには、Memcachedによるキャッシュが欠かせないですが、もしmemcachedが落ちてしまうと、サービス全体でエラーが発生してしまうのが、気になるところでした。

 Takiuchiさんと話をしていてfiveruns-memcache-clientを使うことで、memcachedを再起動さえすれば自動で再接続されることはわかったのですが、やはりmemcachedが落ちている時はエラーになってしまうのが問題でした。

 どうせ、キャッシュはキャッシュなのだから、memcachedが落ちている間はキャッシュを使わない様にするパッチをmemcache-clientに組み込もうと思って作業をしていたら、実はcache_fuにその機能があるのを発見しました。

 config/memcached.ymlで、「raise_errors: false」を指定するだけで、memcachedでエラーが起こった場合には、キャッシュを無視するようになるようです。
 ちょっと気になるのは、memcachedが落ちたのではなく、ネットワークなどの障害で一時的に接続されなかった場合、キャッシュの不整合が起こることです。これは、自動再接続したときにflush_allするなどのパッチを別に作る必要があるかもしれません。

iPhoneが起動不能になった場合の復活方法

 iPhoneのアプリを色々と入れていると、突然iPhoneが起動しなくなることがあります。

 iTunesから認識する場合は、「復元」ボタンを押せばいいのですが、iPhoneが起動せず、認識すらしない場合があります。

 その場合は、一度Home+電源長押しで、電源を切った後、USBに接続して、Homeを押しながら電源をいれてください。
 このようにすると、下のような画面が出てiTunesがリカバリーモードになってiPhoneを認識するので、iTunesから復元を実行してください。

Continue reading

RailsアプリをチューニングするならNew Relic RPM

Photo by Riverman72

 あとで自分メモを書こうと思うけど、先に一言。

 37signalsも使っているといううたい文句に惹かれて試してみた、Railsのパフォーマンス記録ツール/サービスNew Relic RPM(Rails Performance Management)が、すばらしい。

 RPMは開発時用のDeveloperと、実機用のProductionのが二つあり、まだ開発時用のDeveloperモードしか試してはいないんだけど、専用の管理画面で、アクションを実行時のメソッド単位の実行時間、生成されるSQL、SQLの実行時間やインデックスの利用状況などが非常に簡単に把握できます。

 Railsで開発している人なら、下のムービーを見れば、そのすごさが分かるはず。

 RPM developerのデモ動画 | RPM production のデモ動画

 いまこれを使って、PhotoShareのチューニングをしていますが、非常に快適。これは超おすすめです。

 ひととおりチューニングが終わったら、RPM Productionのagentをインストールして実際に稼働しているRailsのデータを元にさらにチューニングを進められるって言うところがまたすごいなぁ。いい連携だ。

 しかしこのソフトもすごいけど、Railsもこういった周辺マーケットが育ってきている事実も見逃せないなぁ。

 同種のサービスでは、FiveRunsもあるし、単なるホスティングではないサービスを提供する会社が増えてきていることは、Railsが本格的にビジネスに結びついているって事なんだろうな。

BigCanvas PhotoShareリリース!

Big Canvas PhotoShareリリース

  中島さんと立ち上げた、Big Canvasのファーストプロダクト、Big Canvas PhotoShare (www.bcphotoshare.com)をリリースしました。AppStoreでのダウンロードは、こちらから

 このアプリケーションは、何よりも手軽に写真を使ったコミュニケーションが出来ることを目指したアプリです。

 煩雑なユーザ登録などせずに、写真をサーバへアップロードし、友人や家族と共有できます。誰かを指定して写メするのと違い、自分の日常を流していくTwitterのようなユルいコミュニケーションを目指してます。

 すでに取った写真をアップロードしたい場合には、右下の四角のアイコンを、その場で写真を撮りたい場合はその隣の、カメラのアイコンをクリックします。写真をアップロードするときには、「非公開」「家族と共有」「友人と共有」「全員に公開」を選んでください。

写真をアップロードメインメニュー家族

 「友達と共有」とした写真を友達に見せたい場合は、メインメニューを下にずらし、「友人」や「家族」を選択し、「招待する」をクリックします。これで、メールの作成画面に移りますので、そのメールを友達に送りましょう。

Big Canvas PhotoShare 招待された人が、iPhoneを持っていない場合は、Webでも写真を見ることができます。

 iPhoneのアプリの日本語化はされていますが、まだWeb側の方は英語版のみになっています。Webの日本語版は近日中にリリースします。

 また、この週末は過負荷により、サーバとの通信が重い可能性があります。チューニングやサーバ強化は順次行っていきますので、ゆっくり楽しんでください。

近況報告&アイディア募集

 アメリカに来て約3か月がたち、やっと生活も落ち着いてきました。

 現在、BigCanvasでは、7月のAppStoreオープンに向けてiPhone向けのアプリを中島さんと作っています。

 本当は、私もCocoaで遊ぶつもりだったのですが、このプロジェクトを始めたのが4月で時間が無いため、アメリカでも引きこもりの様にRailsのコードを書いています。早くもっとCocoaでアプリを書けるようになりたいなぁ。

 ネットへの依存度が高いので、日本に居てもアメリカに居ても生活全般、あまり違いがない気がします。
 ただ、デザイナやPR会社との打ち合わせなどが英語なので、そこが違うかな。

 これが一段落したら、自分でも書きたいiPhoneアプリがあるので、自分でも色々書いてみようと思っています。

 自分のアイディア以外でも色々作ってみたいと思っていますので、ぜひ「こんなiPhoneアプリ欲しい!」とかありましたら、メール: masuiあっとmasuidrive.jp、チャットでは、MSN:masui@hisec.co.jp、skype:masuidrive76まで呼びかけていただけると、うれしく思います。

iPhone日本発売決定おめでとう

Photo by ntr23

 みんな書くだろうけど、これは書かずには居られない。

 ソフトバンクからiPhoneがリリースされることが、発表されました。

 iPhoneいいよ! iPhone!

 普通にウェブが見れて、PCメールがさくさく読めて、ほんとに手のひらに入る情報端末って言う感じ。

 ゲイツが昔言っていた「Information at your finger tips」を体現しているものが、Appleから出ているって言うのも皮肉だなぁ。

 別に日本で一社からしか出ないとは決まった訳じゃないのですが、「今回の発表は残念」とドコモは言っている模様。

 しかし「タッチパネルで操作できる端末としては、PRADA Phone by LGなど同様の端末を当社でも提供している」は無いだろう・・・。

 タッチパネルという点を引き合いに出して、PRADA Phoneと比べるのは・・・・。まぁこういう事を広報が言うことが、いまのDoCoMo端末の使いづらさを物語ってると言えるけどね。

 いま、うちの会社は、iPhone向けアプリ/サービスを作ってるんだけど、まじめに日本語化をしないといけないなぁ。

 色々作りたい物はあるんだけど、時間が足りない。頑張ってるんだけど、自分の脳みその遅さにがっくりくるなぁ。

p.s
 iPhone SDKの開発者登録って、もう日本からも出来るようになってるのかな?

PerlbalのX-Reproxy-Urlで、ヘッダを渡すパッチ

Photo by E Cashell

 PerlbalのX-Reproxy-Urlを使おうと思ったのですが、Reproxy先のURLへヘッダを渡す方法が無かったので、ちょっとしたハックをしました。

 X-Reproxy-Headersに渡したいヘッダをカンマ区切りで入力すると、そのヘッダをReproxy先にも渡します。

 下記のようなリクエストをperlbalに返すと、

X-Reproxy-Url: http://example.com/
X-Reproxy-Header: Cookie,X-Version
Cookie: ID=foobar
X-Version: 1.0

 Reproxy先には、下記のようなヘッダが渡されます。

Cookie: ID=foobar
X-Version: 1.0

 Perlは4止まりだったのですが、がんばってパッチを作ってみました。

perlbal-reproxy-header-060108.patch

ホントは、プラグインとかにしたいんですが、どなたか手伝ってくれませんか?

追記

RailsConfで出ていた、WarBookがPerlbalを使ってるって言ってたなぁ。

Capistranoでmigrationsする前に自動でバックアップ

Photo by mondopiccolo

 Capistranoではdeployしても、前のソースが残っているために、すぐに前のバージョンに戻せますが、データベースはそうはいきません。

 そこで、deploy:migrationsを実行する前に自動でDBのバックアップを取るようなタスクを探してみました。
MySQL専用ですが、これでローカルのbackupsというディレクトリに、migration実行前のダンプがダウンロードされます。

Continue reading

Home

Search
Feeds
Meta

Return to page top