2012年5月18日金曜日

開発者視点から見るFacebook株祭り

FaceBookの株式上場を控え、マーケットが狂気に包まれています。
需要が供給をはるかに上回り、公募価格がガンガン上昇しています。
企業の時価総額は8兆3000億円になるとNHKの報道もありました。

私は株にはあまり興味がなく、インデックス投資を少々と、時々安い株を買っては中長期保存して2-3割上昇したら売却するくらいのことしかしていません。
だから断言はできません。しかし、これはちょっと異常な価格なのではないでしょうか。

もちろん、このFaceBook株祭りは、色々なサービスやアプリを開発している私から見るとうらやましい限りです。
この狂想曲は、FaceBookをそれだけ多くの人が使って価値をみいだしている結果ともいえるからです。
自分の作ったサービスが多くの人に使われるのは、本当にうれしいことです。酷評されれば落ち込むこともありますが、褒められ感謝されると、徹夜をも頑張れるパワーをもらえます。
エンジニアでもあるザッカーバーグ氏もきっとそうだと思います。

しかし、僕が異常だと思うのは、エンジニアとしてのザッカーバーグ氏ではなく、アントレプレナーとしてのザッカーバーグ氏です。
「価格は市場が決める」という言葉があります。
よく聞く言葉ですが、これは多分アントレプレナーとしての経験がある人は、一笑するでしょう。正しくは、

「価格はアントレプレナーと市場で決める」

です。

「価格は市場が決める」という言葉は雇われビジネスマンや消費者等にのみ当てはまります。
アントレプレナーは比較的自由な価格設定ができます。原価がうんちゃらとか、関係ないです。自分の納得できる価格で販売し、サービスを提供してビジネスを運営します。
僕はザッカーバーグ氏のビジネス手法について無知ですが、ザッカーバーグ氏は錬金術の天才でもあるということはわかります。
いくらFaceBookが優れたツールであっても、8兆3000億円という時価総額は異常すぎます。
ザッカーバーグ氏が、FaceBookを8兆3000億円という値段まで引き上げたというほうが正しいと思います。僕はいくらなんでもやりすぎだと思います。

これは断言しても良いですが、多くの人がこの評価額を理解出来ていないはずです。
もっともらしい説明を聞いて、「なるほど。そういわれればそうかもしれない、時代は変わったのだ。」と自分を思い込ませているのが本当のところでしょう。
しかし、その疑念は正しいのです。説明を受けてもほとんどの人が疑問を抱くような価格設定が正しいわけないでしょう。
逆に言うと、このサービスが無料で良いのか?と思うようなサービスがあるとすると、それは無料であることは正しくないのです。必ずしわよせがどこかにいきます。

しかし、市場にじゃぶじゃぶと溢れているお金を回すのにこれほど適した企業は他にないのも確かです。
世界中の人が集まる場を提供してるわけですから。ここでのサービスの立ち上げの成功は巨万の富を生むでしょう。

せっかくだから、僕もfacebookのアプリを手がけてみましょうかねw
ジンガのように大成功するかもしれませんしね。

さて、これくらいで久しぶりの雑談を終了にしましょう。
書きたいネタがたまっているので、ちょこちょこ書いていきたいと思います。

でわ。

この記事がお役にたちましたらシェアをお願いします

このエントリーをはてなブックマークに追加

rails3でsqlのcountとgroupを同時に利用する

どつぼにはまったので以下にメモ。

環境はruby-1.9.3-p0, rails3.2.2です。

テーブルtestのカラムuser_idでグループ化してデータ件数も一緒に取得したい場合は、普通に考えると以下のようになります。


  Test.group(:user_id).count

実際、上記の記述をすると、以下のような正常なsqlが発行されます。


SELECT COUNT(*) AS count_all, user_id AS user_id FROM tests GROUP BY user_id

しかし、上記のsqlをモデルで発行すると、取得する配列が妙な形になります。戻り値がRecordのクラスで返却されるからですかね?Modelクラスにcount_allというアクセサーを設定してやってもうまくいきませんでした。
試行錯誤した結果、以下のようにやることにしました。


Test.connection.select_all("select COUNT(*) AS count_all, user_id AS user_id FROM tests GROUP BY user_id")

上記では、直接sqlを指定して、配列(Array)でデータを取得しています。
つまりのところ、

ActiveRecordではcountとgroupを同時に利用するsqlなんて想定してないよ!!

ということです。さらに最近わかったことは、

困った時は、ごりごりと生sqlを書くと楽になる

ってことです。美を求めすぎるのは、時間の無駄です。結局

動作すること > 生産性 > きれいなコード

ということですな。なっはっはっは。

でわ。

この記事がお役にたちましたらシェアをお願いします

このエントリーをはてなブックマークに追加

2012年5月11日金曜日

rails3 select_dateタグの使い方

select_dateタグを使おうとしてめちゃくちゃはまったのでメモ

環境はruby-1.9.3-p0, rails3.2.2です。

サンプルとして、日付の検索をセレクトボックスで選ぶことを想定しています。

最初のcontroller


    year = Time.now.year.to_s
    month = Time.now.month.to_s
    day = Time.now.day.to_s
    
    @search_date = Date::new(year.to_i, month.to_i, day.to_i)

view


<%= select_date(@search_date, :prefix=>"search") %>

上記のように表示されます。選択したら検索処理を行うcontroller側で以下のようにパラメーターを取得します。


    year = params[:search][:year]
    month = params[:search][:month]
    day = params[:search][:day]

    from = Date::new(year.to_i, month.to_i, day.to_i)
    @search_date = from

上記のようにパラメーターを設定すると、検索したパラメーターが画面に表示されます。
日付計算はDateで加算や減算をしてtimeオブジェクトに変換することが多いと思いますが、それはまた次の機会で。

でわ。

この記事がお役にたちましたらシェアをお願いします

このエントリーをはてなブックマークに追加

2012年5月5日土曜日

Rails3でWEBサービスを作ってみました。@railの感想

とりあえず、はじめてrails3でWEBサービスを作ってみました。

Dinet

というWEBサービスです。ざっくり説明すると、ダイエットについて議論する掲示板です。もしよかったら使ってみてください。
今は適当なメールアドレスでも登録できるようになってますw

TOP画面へ遷移する


環境はruby1.9.3,rails3.2,postgres9.1。PaaSはHerokuを利用しました。
開発期間は企画からリリースまで1ヶ月半ほど。時簡にして400時間くらいです。

rails3を選んだのは、一人で全て開発するのでコーディングの量を減らし生産性を高めたかったからです。
他にはpythonのdjangoやscalaのplay!も考えましたが、とりあえず今風のrailsにしました。

で、railsの感想です。

いいところ
  • 短期間でWEBサービスがつくれちゃう
  • Herokuとか無料やで。しかもaddonでバッチとかも使えちゃう
  • rails3はrails2.xまでに比べると格段に良くなっているようである(知らんけど)
悪いところ
  • 最初に覚えること多すぎ
  • 開発環境がMacかLinuxじゃなきゃしんどい
  • Weblickめっちゃ遅い。(thinってのにすればいいのかな?)

総合的に見ると、railsはかなり「良い」開発環境です。特にサービスの立ち上げに力を発揮するでしょう。 ある程度仕組みを覚えてしまえば、色々なサービスを量産してtry&errorを行えます。ベンチャー企業ならほぼこれで決まりですかね。
ただ、SI系でがっつりやってきた人は気持ち悪さを感じるでしょう。もうこれは文化が違うのでどうしようもないですね。

今回のサービスは色々妥協したので、ちょっとづつメンテナンスして直していきたいと思います。 こういったことが手軽に出来るのもHerokuの利点ですね。

ずっとアプリ開発だったので久しぶりのWEB開発は面白かったです。もう1作品くらいつくってみようと思います。

djangoかplay!にする予定(予定は未定)ですが、そのうち報告します。

あーなんか、疲れました。それでわ。

この記事がお役にたちましたらシェアをお願いします

このエントリーをはてなブックマークに追加
Related Posts Plugin for WordPress, Blogger...