Rails ActiveRecord でランダムにレコードを取得する方法

Rails No Comments »

まぁ受け売りなんですが、備忘録としてメモ。

モデル名 : Item として読んでくだしあ。

ランダムに 1 レコードを取得したい場合

発行する SQL は2回だけど DB 依存しないパターン(offset 使ってるから割と早そう)

offset = rand(Item.count :all)
Item.find :first, :offset => offset

発行する SQL は1回だけど DB 依存するパターン(MySQLの場合)

Item.find(:first, :order => 'RAND()')

ランダムに N レコードを取得したい場合(MySQLの場合)

Item.find(:all, :order => 'RAND()', :limit => 10)

ちなみに、’RAND()’ は DB に依存するコマンドなので要注意!他のDBの場合は、

  • Postgresql / SQLite : RANDOM()
  • Microsoft SQL Server : NEWID()
  • Oracle : dbms_random.value

参照 : SQL to Select a random row from a database table

※ SQLite と MySQL しか試してないです。ごめんなさい><

Rails ActiveRecord は、結局 :order で渡された文字列を SQL を生成するときに、 ORDER の後に繋げてるだけなので、書いたままの SQL が出来ると思えば好きなように書けるんですねぇ。

あと、当たり前だけどレコード数が多いと、きっと困ることになると思います。そもそもレコード数が多いテーブルからランダムに N レコード取得したいっていう要望が、そもそも間違ってる気もしますが。

詳細はこちら(英語)へ。性能の話や、DB に依存するのではなくて Ruby プログラムでランダムにする方法なんかも載ってます。それでは。

3G携帯のみに限定した携帯サイトを作る前に3G携帯普及率を調べてみた。

未分類 2 Comments »

今リニューアル開発している Web サイトの携帯向けサイトを作ろうとして、( Rails ベースなので)jpmobile というプラグインを使って、キャリア別の View (ひらたく言うとテンプレート)を作ろっかなぁと思ってます。昔なら、DoCoMo/au/Softbank の3つのテンプレートを作って(こだわった開発ならもっと分けるのかなぁ)、んで、ユーザエージェントでテンプレートを振り分けてというのが一般的かと思うのですが。自分も3,4年前に、そんな開発してました。Struts ベースだったので携帯用JSPを何枚書いた事か・・・au の HDML とか書いたさぁ、デッキとか、うきーっ。

愚痴はさておき、あれから3,4年、携帯サイトに携わってないので「最近の携帯サイト開発は、どんな感じなんだろうなぁ」と、あれこれ Google 先生に聞いたりしてたわけです。すると

ウノウラボ Unoh Labs: 3G携帯のみに限定したサイトを作る場合

を見つけて、読んでみると「3G携帯に限定したらテンプレート1つで良くね!?」 と無知な僕は喜びすぎて、今日は帰ろうかと思ったぐらいです。嬉しすぎて。

きっと、それでもキャリアの XHTML 独自拡張とか、外部 CSS がドコモはダメだとか、UTF8 なページでも au はSJIS でリクエストを送ってくるとか、問題は山積みなんでしょうけど、それでも基本 XHTML/UTF8 なテンプレートを作れば良いんですよね。いい時代になったなぁ。今後、地獄がまってるんだろうけど、うん。

でも、ちょっと待ってください。3G携帯限定にしたら、3G携帯じゃない人は困ってしまいますよね。100%の人は救えないけど(※もちろん、需要があれば順次対応するべき)、3G携帯の普及率ぐらいは、抑えておきたいですよね。ってことで調べました。

ソース : 携帯電話・PHS契約数ページ 電気通信事業者協会(TCA) http://www.tca.or.jp/japan/database/daisu/index.html の2008年5月

2008年5月の契約数からキャリア別3G携帯普及率

キャリア 3G契約数 総契約数 3G率
ドコモ 44,819,800 53,544,500 84%
au 29,898,900 30,292,900 99%
ソフトバンク 14,806,300 18,952,800 78%

これぐらい普及していれば3G携帯のみに限定しても OK ですかね。 絶対だめ><というシステムや企業はあるとは思いますが。それでは。

ARP Spoofing とな

セキュリティ No Comments »

Webに携わっているなら知っておいて損はないかなぁとメモ。

はてブ追ってる人なら読んでると思うけど、ethna.jpやjp2.php.netでActiveX や Flash の脆弱性をついた攻撃をする html を読み込む iframeが差し込まれたという事件についてのまとめ。素晴らしく分かりやすいまとめに感謝。

 ethna.jpやjp2.php.netに発生したトラブルについて - maru.cc@はてな

今回のセキュリティ問題は ARP Spoofing というクラックらしい。

超わかりやすい ARP Spoofing の解説。

The Weekly Herald | ARPスプーフィングで通信傍受!

ってことはだよ。ARP Spoofing やられちゃうってことは、そもそもホスティング業者の内部に踏まれてるホストがあるってことだよね!進入された上に乗っ取られているんだよね。そっちの方が、問題なんじゃ。。。

セキュリティは深いですなぁ。

Haskell で日本語(マルチバイト文字)を使う方法

Haskell No Comments »

GHC(Haskell コンパイラ) 単体では日本語(マルチバイト文字)が使えません。単純に出力しようとすると文字化けしちゃいます><
なぜかというと、

http://ja.doukaku.org/comment/2957/ から引用

さらにghcでは文字は内部的にはUCS4で表現されているといってよいのですが,
エンコーディングを変換する機構が標準では提供されていません.
外部から文字列データを読み込み,それを逆転し,外部へ出力するためには
エンコーディングを変換する機構を自前で用意するか,それ用のライブラリ
モジュールを使う必要があります

そこで色んな対処方があるのですが、utf8-string という素敵なパッケージがありますので、これを使います。

環境

  • GHC 6.8.2
  • Ubuntu (UTF8 な OS なら何でも)

utf8-string をインストール

wget http://hackage.haskell.org/packages/archive/utf8-string/0.3.1/utf8-string-0.3.1.tar.gz
tar zxf utf8-string-0.3.1.tar.gz
cd utf8-string-0.3.1/
runhaskell Setup.lhs configure
runhaskell Setup.lhs build
sudo runhaskell Setup.lhs install

ちゃんとインストールできたか確認

ghc-pkg -l | grep utf8
    unix-2.3.0.0, utf8-string-0.3.1, xhtml-3000.0.2.1

utf8-string が表示されればOK!

試してみる

以下のコードを test.hs に保存。

module Main where
import qualified System.IO.UTF8 as U

main = do
  U.putStrLn "あいうえお"

コンパイル

ghc --make test.hs

実行

$ ./test
あいうえお

日本語きたーーー

System.IO.UTF8 が提供する他のメソッドについては以下の通り。他にもさっき落としたソースを読めば使えそうなメソッドがありそうな感じです。Codec.Binary.UTF8.String とか他にもいろんなモジュールがあるっぽい。

module System.IO.UTF8 (
      print
    , putStr
    , putStrLn
    , getLine
    , readLn
    , readFile
    , writeFile
    , appendFile
    , getContents
    , hGetLine
    , hGetContents
    , hPutStr
    , hPutStrLn
  ) where

ちなみに今回みたいに外部パッケージを import したファイルをコンパイルする時には make オプションを付けないとリンクが作れないみたいな以下のようなエラーメッセージが出ます。

$ ghc test.hs
test.o: In function `siz_info':
(.text+0xaa): undefined reference to `utf8zmstringzm0zi3zi1_SystemziIOziUTF8_putStrLn_closure'
test.o: In function `siz_info':
(.text+0x14f): undefined reference to `__stginit_utf8zmstringzm0zi3zi1_SystemziIOziUTF8_'
test.o: In function `siz_closure':
(.data+0x14): undefined reference to `utf8zmstringzm0zi3zi1_SystemziIOziUTF8_putStrLn_closure'
collect2: ld はステータス 1 で終了しました

Ubuntu + NetBeans で日本語入力の不具合

NetBeans, Rails, Ubuntu 1 Comment »

最近はもっぱら Ubuntu Gutsy + NetBeans な環境で Rails 触ってるんですが、SVN へコミットするときのコミットメッセージに日本語を入力しようとするとキータッチするたびに確定されてしまうという悲惨な不具合にあいました。

何を思ったかそれまでは、NetBeansのSVN機能を信用していなかったのか、コマンドラインで「svn status」とか「svn ci」とか、やってたのさw

悲惨な不具合とは、こんな感じ。

「かってにかくていされる」→「勝手に確定される」と打とうとしてモガイテイル様子
commit-message.png

いろいろ調べた所、「SCIM」が悪いのではと。
http://www.netbeans.org/servlets/ReadMsg?list=nbdiscuss_ja&msgNo=576

さらに調査したところ、「1.4.7-3ubuntu6」というバージョンで、解決されたらしい。
https://bugs.launchpad.net/ubuntu/+source/scim/+bug/178742/comments/11

自分の「SCIM」のバージョンを確認してみる。

dpkg -p scim | grep Version
Version: 1.4.7-1ubuntu2

なるほど、ちと古いとな。

じゃあ久しぶりにアップデートしてみるかと、アップデートしてみたけど「SCIM」のバージョンは変わらず。よくよく調べると、次のバージョンの Ubuntu 8.04 Hardy で提供されるバージョンらしい。

そこから Gutsy に Hardy のパッケージをなんとか捻じ込めないかと調べたけど、依存するパッケージとか簡単に入れる方法が見つからず面倒くさくなってきたw

もう面倒くさいし Gutsy から Hardy にあげちゃうか。4月に出てしばらくたってるし、LTS(長期サポートという意味)だし、ということで「システム」→「システム管理」→「アップデート・マネージャ」から、前からちらちら見えていた、Gutsy へのアップデートボタンをぽちっとな♪

数十分のアップデートと再起動ののち、直りましたよ!コミットコメントで日本語使えるようになったよ!ビバ日本語!

結論 : Ubuntu で NetBeans 使うなら、とっとと Hardy にしよう!

PS. 絶対出る不具合の対策として、以下を紹介しておきます。
fmemo - Ubuntu を 7.10 から 8.04 にアップデートすると SCIM を [半角/全角] で ON/OFF できなくなった

Hardy にアップデートしたがための他の設定とかは、いろいろググってください><ごめんなさい><

Ubuntu に darcs と searchpath をインストール

Haskell No Comments »

Haskell製アプリケーションサーバ Happs(http://happs.org/)には以下が必要らしい。

  • ghc 6.8.2
  • darcs (Haskell製 ソースコード管理システム)
  • searchpath 0.9.2 (Automatic import chasing across the Internet for Haskell modules・・・ようわからんけどw)

ghcは既に入れたので、darcs と searchpath を入れる。

環境

Ubuntu 7.10 (Gutsy)

インストール

sudo apt-get install darcs
sudo apt-get install curl  # searchpathのインストールに必要
curl http://searchpath.org/searchpath/SearchPath.hs -o SearchPath.hs
ghc -main-is SearchPath --make SearchPath.hs -o sp

失敗。。。 「/usr/bin/ld: cannot find -lgmp」とか言われる。調べるとどうやら「libgmp3-dev」が必要らしい。

sudo apt-get install libgmp3-dev
ghc -main-is SearchPath --make SearchPath.hs -o sp

成功!

sudo mv sp /usr/local/bin
sp

バージョンとヘルプがずらずら表示されれば、とりあえずOKだと思われ。

蛇足

ちなみにghcでコンパイルした時に 「compilation IS NOT required」とか言われても心配無用。これは、ghc が .oファイルとソースファイルの更新日時を比較して、コンパイルの必要があるかないかを判断しているので、その名の通り「コンパイルは不要」と言っているだけらしい。コンパイルの必要がないのにghcコマンドを叩いている自分が恥ずかしいというわけです。僕です。さらに、ghc は外部のライブラリを使うようなプログラムでも、その参照先の変更をチェックして賢く振舞うらしい。

Ubuntu に GHC(Haskellコンパイラ) インストール

Haskell No Comments »

今までWindowsでGHC使ってたんですが、やっぱり気持ち悪いので開発用のUbuntu on VMWareでやろうと思います。

環境

Ubuntu 7.10 (Gutsy)

前置き

$ sudo apt-get install ghc6

で一発なんですが、これはおススメしません。なぜなら少し古いバージョン「6.6.1」がインストールされるからです。-V を付けるとインストールの前にバージョンを表示させることが出来ます。

 $ sudo apt-get -V install ghc6

コンパイル済のパッケージを手動でインストール

最新のバージョン「6.8.2」を入れるためには、http://www.haskell.org/ghc/download_ghc_682.html#x86linux から
ghc-6.8.2-i386-unknown-linux.tar.bz2」をダウンロードしてきます。

$ tar xvf ghc-6.8.2-i386-unknown-linux.tar.bz2
$ cd ghc-6.8.2
$ sudo apt-get install libreadline5 #必要らしい
$ sudo ./configure

失敗。「libgmp.so.3: cannot open shared object file: No such file or directory」と言われるので「libgmp3」を入れてみる。 すると、「libgmpxx4ldbl」と「libgmp3c2 」と「libgmp3-doc」(docは、いらんけど)に置き換えられたと教えてくれる。apt-get賢いなぁ、いいやつだなぁ。

$ sudo apt-get install libgmpxx4ldbl libgmp3c2
$ sudo ./configure
$ sudo make install #コンパイル済を落としてるので make は飛ばす。
$ ghci

Prelude> putStrLn "Hello world!"

Hello world!

終わり。

情報サービス業の就業人口とかネットに関する統計とか。

Think No Comments »

少し前に増田で見た「自分達のマイノリティーさを再確認してみた」は、Webやネットに関係する統計データが満載で(統計に対する信憑性は、ここでは話題にしません。)見てるだけで面白いんですが、いかに自分の視野がニッチというか狭いというか、少し考えちゃいますね。リンク先の人はマイノリティ(少数派?だっけ)という言葉を使われてますが。

ネットやってても、キミの世界観は広がらない - Attribute=51」も、あわせて読みたい。自分は完全には否定はしません、だってネットは楽しいもーん :-D けど、「自己を保つ・流されない」というのは忘れずに楽しみたいものです。

んで、本題。ふと思ったんです。「自分みたいな情報サービス業で働く人って、どれくらいいるのだろう」と。 出来れば世代別まで調べたかったのですが、さすがに見つけられませんでしたが、結論から言うと、

平成18年の情報サービス業の従業者数は、82万723人であった。
業種別にみると、ソフトウェア業は56万7498人(構成比69.1%)、情報処理・提供サービス業は25万3225人(同30.9%)

////////

「経済産業省経済産業政策局調査統計部平成18年特定
サービス産業実態調査報告書ソフトウェア業,情報処理・提供サービス業編」

元ネタのPDFファイル

82万723人が多いか少ないかは分かりませんが、 最初の統計から自分の備忘録のためにもいくつか抜粋して終わります。

  • 労働者人口(15歳以上の就業者+失業者) 約6600万人(総人口中51.6%。2004年総務省労働力調査)
    • 完全失業者数 約268万人(総人口中2%。労働者人口中4%。統計局平成20年3月速報。 ※正確に把握できてるのかなあこれ)
    • フリーター人数 約187万人(総人口中1.4%。労働者人口中2.8%。2006年厚生労働省調べ ※正確に把握できてるのかなあこれ)
    • ニート人口 約85万人(総人口中0.6%。2002年内閣府調べ ※正確に把握できてるのかなあこれ)
    • 年間自殺者数 約32000人(総人口中0.02%。2002年警察庁調べ)
  • ネット人口 約8226万人(総人口中64.3%。2007年インターネット白書)
    • ブロードバンド利用者 約4627万人(ネット人口中56.2%。2007年インターネット白書)
    • 携帯電話・PHSからのネット利用者 3201万人(ネット人口中38.9%。2007年インターネット白書)
    • PCからのネット利用者 約2882万人(ネット人口中35%。2007年インターネット白書)
  • webサービス系
    • Yahoo検索利用者 約1858万人(総人口中14.5%。PCネット利用者中64.4%。2006年ネットレイティング社調べ。シェアから逆算)
    • Google検索利用者 約1000万人(総人口中7.8%。PCネット利用者中34.6%。2006年ネットレイティング社調べ。シェアから逆算)
    • Youtube利用者 約1017万人(総人口中7.9%。PCネット利用者中35.2%。2007年ネットレイティング社調べ)
    • mixiアカウント数 約1400万ID(総人口中10.9%。PCネット利用者中48.5%。2008年5月9日。単なるID数のため実際はもっと少ない)
    • 2ch利用者 約990万人(総人口中7.7%。PCネット利用者中34.3%。2005年日本広告主協会Web広告研究会調べ)
    • Yahooオークション利用者 約615万ID(総人口中4.8%。PCネット利用者中21.3%。2005年プレスリリースより)
    • ニコニコ動画利用者 約500万人(総人口中3.9%。PCネット利用者中17.3%。2008年1月22日/日経産業新聞)
    • RSS利用者 約422万人(総人口中3.3%。PCネット利用者中14.6%。2006年4月調査より逆算)
    • はてなユーザー数 約40万人(総人口中0.3%。PCネット利用者中1.3%。2006年4月プレスリリースより)
    • はてなダイアリーユーザー数 約25万(総人口中0.1%。PCネット利用者中0.8%。2006年4月プレスリリースより)
    • はてなブックマークユーザー数 約6万人(総人口中0.04%。PCネット利用者中0.2%。2006年10月naoyaダイアリーより。現在は10万以上と思われる)
  • 携帯サービス系
    • モバゲータウン利用者 約1000万人(総人口中7.8%。携帯ネット利用者中31.2%。2008年5月現在)
    • GREE利用者 約400万人(総人口中3.1%。PCネット利用者中13.8%。携帯ネット利用者中12.4%。2008年2月現在)

全然関係ないけど<ul><li>のスタイルが、なんだか微妙だなぁ。

Haskell で Web Application を作るには(フレームワークとか)

Haskell No Comments »

前置き

CSNAGOYAのHaskell勉強会に参加しているのですが、前々回の勉強会で代表のお一方であるM氏から「『オープンソースカンファレンス(OSC)2008 Nagoya』(サイトは準備中っぽい)に我々CSNAGOYAも出ませんか!」という提案があり、「いいねいいねぇ」と参加する方向に。

M氏:5分と45分があるけど?

M氏:内容は?

みんな:なにがいいっかなぁー

いろいろ出て。。。

gabuとかいう子:Haskell で twitter 作ろう!

勢い(だけ)すげーーー。 #若干デフォルメ てか、おいらtwitterユーザ登録しただけで全然使ってないのに(w

ってことで調べましたよ。 Haskell で Web Application を作るには(フレームワークとか)。

HAppS

http://happs.org/

A web framework for developers to prototype quickly, deploy painlessly, scale massively, operate reliably, and change easily.

—意訳—

HAppSは、プロトタイプの開発が迅速、デプロイが手軽な、 大規模スケール対応、信頼できる動作、変更を容易にできる、Webフレームワークです。

これだけじゃ特徴が分からんなw けど、Web“アプリケーション”フレームワークというより、アプリケーションサーバのような印象。

WASH

http://www.informatik.uni-freiburg.de/~thiemann/WASH/

WASH is a family of embedded domain specific languages (EDSL) for programming Web applications.

—意訳—

WASHは、WebアプリケーションをプログラミングするためのEDSL群です。

以下のコンポーネントがあるらしい。

  • WASH/CGI for server-side web scripting
  • WASH/HTML for dynamic generation of HTML and XHTML
  • WASH/Mail for email processing
  • WSP, a server supporting Wash Server Pages
  • WASH/DB, a transactional interface to SQL databases
  • DBconnect, a simple interface to PostgreSQL (deprecated)

WSPとWASH/DB・DBconnectがあれば、MVCとして十分いけそうな印象。

Kaya

http://kayalang.org/

個人的に本命です。2008/03/15に最新バージョンがリリースされてるし、古きよきHaskellにしては鮮度が高くて良いですね。あと、「Top 10 most popular Haskell programs」にも入っているのも人気の高さが伺える。WASH, HAppSは入っていない。

けど、Kaya はWebアプリを書くためのHaskellの拡張言語とも呼べる存在っぽい。なぜかというと。

  • kayac というコンパイラでコンパイルする。
  • おかげでHaskellでは存在しない、for文は使えるわ、return文は使えるわ。
  • その代わり便利(そう)なモジュールが大量にありそう。

KayaでWebアプリ作って、「うは!HaskellでTwitter作ったよ!」と言っていいのか。うーむ。けどまあKayaから試してみるかー。

最近、Rails 以外の Webフレームワークをいろいろ見て思ったこと。

Rails, Think 2 Comments »

結論:Rails しか見てないのは良くない。

自分がよくやるRailsアプリの作り方は、(仕事でバリバリやってないので、作り方、結構適当です。けど、こういう流れで作ってる人も多いのでは?)

  1. だいたいのコンセプトを決める。
  2. UI設計(ホワイトボード、紙、最悪の場合:脳内)
  3. DB設計(って、言っても必要そうなエンティティ(Railsで言うとModel)とリレーションを考える。)
  4. DB設計に従って、さくっとScaffold。きゃは。
  5. 不要なアクションを削る。必要なAction と View を作る。(もちろんControllerもね)
  6. UI設計に従って、装飾。(Viewをいじりながら、CSSいじる。)
  7. 機能追加。Scaffoldだけではさすがに終われない機能は、もちろん作りこみます。
  8. 作り込むまでもなく、plugin があれば勿論ありがたく入れる。DRY!

5. ~ 7. と、デバッグはぐるぐるループしますが、だいたいこんな感じで作ります。

と、説明したところで、最近「UI」についてイロイロ考えてたのでまとめてみます。たまたまみつけた「はぶさんのRailsやChuraのいけてないところ(2006年のエントリー)」がきっかけになりました。

1.UIを設計する
2.UI設計の成果物を元に、DB設計をする
3.DB設計の成果物を元に、UI実装を自動生成する

RailsやChuraってのは、3.のところをやってくれるんだけどさ、手順全体を見たらださいじゃん。「1.の成果物(が想定しているUI実装) イコール 3.の成果物」に本当に出来るの? ちゃうでしょ。凝ったUIだったら駄目じゃん。CSSで頑張る? それで済む程度のシステムだったらいいんだけどね。
~~~
1.の成果物をストレートにUI実装に使えるほうがいいじゃん。

例えば、「1.UIを設計する」 のところで、HTMLモックを作ったとしてそれが実装として使えないんですよね。Rails Viewにコピペ(だけじゃなくてタグ化とかも)だし、ループ制御やIF制御なんか追加すると、結局みんなが昔忌み嫌ったJSPとほとんど変わらないVIEWが出来ると思う。ここ進化してない。

ちなみに、Rails界隈でみんな大好き 37signals の開発手法(物語が多いけど) Getting Real によると

紙スケッチ
-
スケッチは素早く、殴り書きで、お手軽でできるもの;それ以上は必要ありません。書きましょう。走り書きでいいんです。四角や丸や直線なんかのシンプルなものでいいんです。アイディアを頭から紙に写します。目的は、頭の中のコンセプトをラフなインターフェースのデザインに変えるところです。ここはまだ実験段階です。正しい・間違いといったことはないのです。
-
HTMLを作る
-
先ほどのスケッチの特徴(または、セクションやフロー)を元にHTMLを記述してみます。実際に形にすることで、皆がスクリーン上で見ることができるのです。
「Basecamp」では、我々はまず、「メッセージを書く」スクリーンを作り、次に「メッセージを編集する」スクリーン…徐々に開発を進めていきました。
まだプログラミング・コードに手を出してはいけません。あくまでHTMLとCSSの、現実に近い模型を作るのです。完成品にするのは後の段階です。
-
コードにする
-
実験的に作ったものがうまくいって、必要な機能を満たしたのなら、実際にプログラミング・コードを記述していきます。

と、あるんだけど「あくまでHTMLとCSSの、現実に近い模型を作るのです。」は最終的にVIEWにせっせこ書き直してるのかな。 じゃあ最初からHTMLモック(模型)をERB形式でってのは「デザイナと分業!」ってのが難しくなるという、なんともはや。個人的にデザイナと!って形式で仕事したことないので実際どうかは分かりませんが。

それで、いっきに話は飛ぶんですが見つけましたよ!プレーンなHTMLを(ほぼ)そのままVIEW層で使えるWebフレームワーク 。Java界隈の人は気付いてると思いますが。

Wicket (日本語サイト: Wicket-ja )です。もう一気に惚れました。ありがとうJava。ただいまJava。かくいう私も、就職してから4年間はJava(主にStruts)を業務でやってたのでJavaは好きなんですよ。なにが惚れたって、このくだり。

Wicketの最大の目標は、ウェブ・アプリケーション開発にオブジェクト指向を取り戻すことです。

ちなみにこのページに書いてあること全部かっこいい><

さらに脱線するんですが、UIだけさらに特化した話をすると尊敬するS氏から教えてもらったGWT-Extとかね、もうね、どうしろと>< ああ、そういえば、知る人は知っているからいまさら言いふらさなくていいって言われてたんだけど書いちゃった。

なんというか、最近、Railsから離れた目で巡回してたらJavaの底力を見たというか。

大分古いけどエンタープライズで(お仕事で) Rails使って炎上って話
Rails炎上|傲慢SE日記 ~30歳からの挑戦~
Railsについて思うこと
を読んでると、またJavaに戻ってきたりして。炎上ってのは言語やフレームワークとは全然違うレイヤー(生産性が10倍!なんて幻想に惑わされた営業や上層部や管理者etc)が問題なんだろうけどぉ。

Rails とか Java とか言ってる自分は C# な仕事してるんですけどねw

結局、1エンジニアが生涯で携わるプロジェクトの数ってそう多くないだろう(何十個や何百個ではないの意)から、業界の流れが自分にどれだけ影響するんだろうって気もするけど。流れっつってもBlog読み読みしてるだけなんだけどね :-) なんにしても言いたかったのは流行りに流されないように自分の目を持っていたいね。(って自分に言ってる)

===

気になるフレームワーク(というより連携?w)自分用まとめ

  • Wicket + Guice + ActiveObjects (Guiceはあえて使わなくても良いかも)
  • GWT-Ext on GAE (GWTで吐かれたJS/HTMLをアップすればGAEでも動くらしい元ネタ本当かな?Extについては言及されてないっぽい)

問題は何作るかだな。。。

WP Theme & Icons by N.Design Studio
Entries RSS Comments RSS ログイン