文字変更:
小(S) 中(M) 大(L)
アーカイブ
このサイトは?
本サイトでは、チームの技術調査の成果を(いささかの遊びごころを盛り込みつつ)順次掲載していきます。 現在、WordPress等のブログ/CMSと連携する、新世代の分散webサイト(Java/.NETを含む)の構築に関する調査及び、次世代のプログラミング教育環境に関する調査を展開中です。
東北楽天ゴールデンイーグルスファン在籍。
お問い合わせ先
supportあっとwordprogress.org (担当・赤坂)
ランダムリンク集
RandomLinks@bit.ly

以下、実験中 :
Archive for 1月 2010
チームWordProgressの新着記事一覧です :
(※各記事の内容を閲覧するためには、各記事のタイトルをクリックしてください。)
記事概要の
プレビュー
Rango。このブログに書くと、一見、名前的にGoのフレームワークのように思ってしまうかもしれないが、ruby 1.9の新フレームワーク。
で、Djangoにヒントを得たフレームワークで・・・と聞くと今度はバッタモンのように思えてしまうかもしれないが、なかなかどうして優れものな感じ。Rack/Bundle/Tilt対応、といったあたりでピンとくるひとまだ少ないかもしれないが、これ、rails 3.0キラーとなりうる実力を持っているのかも(すまない、しばし解説略)。
気になった方はRango rubyあたりでググッてくだされ。(かなり)個人的には、web.goと同様にmustacheを使えるのが気に入った。
mustacheテンプレートを例に、Tiltだけご紹介(といってもTiltのテストコードをカンニングしたもの):
gem install tilt mustacheして、irbにて、以下を叩こう。
※スマンソ コード整形のプラグインが壊れてる模様なので、ただ文字列を羅列
require 'tilt'
require 'mustache'
template = Tilt::MustacheTemplate.new { |t| "Hello World!" }
template.render
template = Tilt::MustacheTemplate.new { "<p>Hey {{name}}!</p>" }
template.render(nil, :name => 'Joe')
#このyieldはちょっとかっこいい
template = Tilt::MustacheTemplate.new { "<p>Hey {{yield}}!</p>" }
template.render { 'Joe' }
#ビューのロジックと見た目の分離・・とのこと
module Views
class Foo < Mustache
attr_reader :foo
end
end
template = Tilt::MustacheTemplate.new('foo.mustache') { "<div>Hey {{foo}}!</div>" }
scope = [...]
Ruby
Hide
Go上で実装された最初の言語はどうやらForthっぽい。
http://github.com/ArtemTitoulenko/GoForth/
マイノリティ言語好きのくせにForthはノーチェックだったのでちょっとググってみる。
日本語をForthにコンパイルする日本語プログラミング言語Mindという先達が今も気を吐いているのに驚いた(Mindで書かれた商用の全文検索がばりばり現役)
・・・ので、せっかくだから「擬似日本語=>Forth =>Goコード」というものをやってみようかと。
日本語は簡単な文字列の置換でそこそこforthコードを吐き出せるらしい。試しに書いてみた
—-(日本語コード)—#ループカウンタ「i」は事前定義とのこと
変数sum
0をsumに代入
50以下について、
「sumを参照し、iと足して、sumに代入する。」
というループ。
—-(自動変換後のForthコード)—
variable sum
0 sum !
50 0 do
sum @ i + sum !
loop
———————————————-
単発ネタのつもりだったが、日本語で並列処理を書けたら面白いかもしれないので、
もう少し追いかけてみようかな。
アセンプラとの親和性が売りらしいForth、果たして、Goとどう組み合わせるべきか。
Forth, Go
Hide
・・・なんと、Golangのアップデートについて書いた投稿を更新時に、WordPressのアップデートの影響によってか消えてしまった。。。 まぁ、golangの公式アップデートは半月に一回ぐらいで、以下のようやるんだけれどけっこう時間がかかるねぇというお話だった。
$ cd $GOROOT/src
$ hg pull
$ hg update release
$ make all
で、問題はWindowsでGolang MLでもちょこちょこ議論されているところなんだけど、書いたことが消えちゃったし、問題は解決できるわけでもないので、取り急ぎ。ここまで(汗)。。。
Go
Hide
年末に、Booをいじくってたころ時のエントリから思っていたことなのだが、少なくともこれから数年はけっこういけてるサービスをVPSで提供してるぜぇという話には事欠かないと思う。江島氏の「スケールアウトからスケールアップへの回帰」を読んで、けっこうな数の人がこのことを再確認したと思う。
少なくとも、特定のクラウドに依存しすぎちゃうと危険かもよというハナシには説得力がある。
てなわけで、クラウド勉などといいつつも、年末年始に主にいじくっていたのは、快適になりすぎてる感のあるNginx(webサーバ)とRedis-db(KVS)。こいつらがいると只のクラウドじゃ勝ち目がないんでは。。
ということで、クラウドのお勉強も、Windows AzureでもGAEでも、もちろんVPSでも動作するwebフレームワークにしたい。。。
即答で、それってDjangoでいいんじゃね、とのささやきが。Djangoくらいになると、たいていの情報に事欠かないものねぇ。(RailsだとGAEあたりで逆に苦労しそうと・・・偏見かもしれないが思っている)。
NginxもRedis-dbも実績あるみたいだし、GAEならKayでいけばいいし、Windows AzureならNWSGI経由で何とかなるかもしらんなど、クラウド対応もばっちり。
・・・すまん、長門Compojure、涙目でこっちを見ないでくれ。
後は、フロントエンドをHTML5対応のSproutCoreにすれば、本気クラウド勉の体をなす。
そのうえで、管理系やらなにやらをSproutCOreからSilverlight+ PureMVCあたりにおきかえてみたり・・・と妄想してみる今日この頃。
まぁ、Nginx+Redis-db+SproutCoreあたりで、Django on VPS、まずは来月くらいに動作させませう。
で、クラウドにする時に何をどう置き換えるのかといったあたりから、クラウド勉。
・・・とはいえ、平行してAzureでもいじくっておくかと思ったが、VS2010β2&マニュアルのダウンロード時間があまりに長すぎて、やる気が失せた。
・・・なので、そういやNginx+Redis-db+SproutCore、こいつら、golangとの組み合わせで、一通り動いているなぁ、と思いつつ惰眠する。
Django, SproutCore
Hide