Archive for category <Web Watch>

Gemnasium が地味に便利そう

Time to Read

1分

Gemnasium keeps you up to date on the gems that matter to you.

あなたが github 上に Rubygems やその他プロジェクトのリポジトリを持っていたとして、その Gemfilegemspec を読み込んで、依存関係を把握し、記述がまずい等で最新の Rubygems にキャッチアップできないようなら教えてくれるサービス。


こんな感じ。

要するに、 bundler はすでに 1.1.rc7 が出ていて、遠からず 1.1 がリリースされるだろうから、よってこの ~> 1.0.0 という記述のままではじきに最新のものが使えなくなるよ、ということ(黄信号)、さらに、 rspec はとっくに 2.8.0 が出ているので、いまの ~> 2.3.0 という記述では最新のものが入らないよ(赤信号!)、などの情報が分かるということ。

ということで、こういった黄信号/赤信号な事態になったら通知してくれて、たとえば、他の gem は全部 ~> 2.8.0 なのに、この rack-session-dbm だけ ~> 2.3.0 って書いてあるから依存関係が破滅する、みたいな事態を早急に防げる、というわけだと理解した。合ってるのかしら……。

複雑さを増していく依存性の問題に日々立ち向かう、 Rubygems 戦士たちには便利なツールだと思われる。 travis-ci のようにバッジを張り付けることもできるようだ(プロジェクトの URL の後ろに .png をつけるだけなので便利)。

sample

あと、インフォグラフィックとしても中々面白いような気がする。

Open source moves pretty fast. If you don’t stop and look around once in a while, you could miss it.

Using old gems is bad. And unnecessary. Gems are updated all the time.

  • Bugs are fixed.
  • Security holes are filled.
  • New features are introduced.

It can be hard to keep up with, but it’s important for the health of your code.

from Why use Gemnasium? – Have a nice developing life!

 

.rb勉強会(第1回)参加しました

facebook でつながった(ソーシャル的常套句)人たちとルッビーの勉強会をやり、僕は僕の妄想的な主張を形にして発表したりしました。

.rb勉強会資料 – はじめる! Ruby de Web 開発

「またいつもの主張かよ~」 と思う向きもありそうなんですが、割と好評だったようで大変うれしく思いました。あと、「Sinatra楽しい!」と多くの人に言っていただけたのはよかったです。

ツッコミがあったので、補足すると、 Java は Rack 等の登場以前からJavaサーブレットのような技術でアプリケーションとサーバの抽象化を行っています。ただ、 Rack の方がよりシンプルになっていて、かつ動的型である Ruby(きっとPython/Perlも) の特徴に見合った実装になっていると思います。 PHP の場合は会場でも意見があったとおりそもそも Web 専用なので特別に WSGI/Rack 的なレイヤーを切り出していないということなのでしょう(2011/12/21 14:31)。

会場の Jelly Jelly Cafe 自体もかなりカオスで面白かったです。もっと時間をゆっくりとってもくもくしたりもできれば楽しそうだな~とか思ったりもしました。第2回に期待です。

 

HTML5 の microdata について調べた

Time to Read

5分

microdata というものがある。いわゆるセマンティック(笑)ウェブ(爆)だ。セマンティックウェブの話が出た3年前ぐらいは、概念はすごいけど画餅みたいなところがあり、胡散臭いコンサルやスタートアップが出現してて怪しいイメージもあったが、 Google さんをはじめとした検索エンジンの技術向上とか、似たような規格として facebook とか SNS 系で人気の OGP(Open Graph Protocol) も出てきていて、ウェッブペ~ジにメタデ~タを埋め込むことが普通になりつつあるように思われる。

今回、ちょっとした機会があって microdata などについて調べたので、そのメモなど。基本的に僕の独学だったりするので、学術的にとか色々おかしなところのツッコミとかが欲しい感じです。

セマンティック☆ウェブってそもそも何なの?

Read the rest of this entry »

 

OmniAuth、Warden、Sinatraを連携しよう

Time to Read

6~8分

セットアップ

今回は最終成果物がSinatraの1-filerなので、bundlerを使わずにRubyGemsを管理する。なので、素直にインストール。今回使うものを全部入れておく(というか、OmnuAuthの依存関係で色々入ってくる)。

1
gem install sinatra omniauth warden_omniauth

OmniAuthのしくみ

Read the rest of this entry »

 

37signals、クックパッド、プローモーション

# タイトルは相変わらず釣りっぽいですが、

最近ようやく「Getting Real」日本語訳を通読した。

個人的に、日本の企業「クックパッド」と37signalsとの間には多くの共通点を感じられるので、興味を持ってウォッチしているのだけれど。今回、ふと気になったのが、「リリース」に関する2社の考え方の微妙な違い。

もしアプリが森の中でリリースされ、そこに人がいなかったとしても、評判を呼ぶでしょうか?ここで言いたいのは、あらかじめ宣伝をしないでアプリをリリースしても、人々は知ってくれないということです。

評判と期待を起こすのに、ハリウッド式に1)発表・ティーザー、2)試写会・プレビュー、3)リリースといきましょう。

無言実行: 公開前にサービスについての説明をしない

サービスを言葉で説明することができない

公開前に事前告知しない(リニューアルときも事前告知しなかったとのこと、事前告知するメリットはあまりないとのこと)

どっちが正しいか? というよりは、どっちがあなたのウェブサービスにとって最適か? ということなのかな~と思うし、実は本質はそんなに違わないのだろう。

クックパッドはそもそも、

  • 500万だかのユーザーを抱えている
  • そのユーザーが「何を求めているか」を理解している

という前提があってサービスをリリースするので、この条件なら確かに、事前告知はリソースを使う割にはメリットは無いと思われる。というか、「告知や宣伝をするな」ということではなく、「告知や宣伝をしなくても自然と使いたくなるサービスにしろ」っていう意味での「無言実行」なんじゃないかな~と感じた。

逆に、Getting Realで語られているプロモーションは、ゼロベースでサービスを広める際の手段だと思う。Basecampあたりのリリースを念頭に置いた書き方じゃないかな。特に会社自体が立ち上がりで、ブランディング効果もないならば尚更。なにより、ハリウッドに倣ったと書いてあるけれど、「2)試写会・プレビュー」ってのが大事なんだろう。これも、「一回使ってもらえれば自然とまた使いたくなるサービスにしろ」ということだと理解した。ただ広めるだけじゃなくて、ファンになってもらえる工夫をすべきなんだね。

まとめると、

  • 中身をまず固める(足元重要)
  • 喧伝ではなく「ファンになってもらう」方に重点を

以上を踏まえて、個人的な行動指針としては、「事後」というのはどうだろう? と思った。

ウェブサービスを「動くものがすでにある」状態にしとくのは大事だと思った。ベータ2とかRCぐらいからプレスリリースを出してみる、とか。

* * *

モノを作ったたからには、使ってもらいたいけれど、どうすればベストなの? と言うお話。少なくとも僕は「良いものならほっといても広まるよ~」とは全然思えないので、色々考えたり動いたりしたいと思う。