まさかの日記

最近まともな文章しか書けなくなってきました

2010年09月

月額980円でメモリ512MBなので、個人で今使ってるlinodeを解約してこっちにしようかなと

さくらのVPS|VPS(仮想専用サーバ)はさくらインターネット
さくらのVPSは、仮想化技術を用いて1台の物理サーバ上に複数の仮想サーバを構築し、お客様だけの仮想専用サーバとしてご利用いただけるサービスです。専用サーバの自由度と共用サーバの低価格、そして仮想サーバならではの機能を合わせ持ったホスティングサービス、さくらのVPSをぜひご利用ください。





linodeとさくらVPSとで、yum list installedの内容をawk '{print $}'|sed "s/?..*//"したものをdiff --side-by-sideしてみた。

左がLinode、右がさくら。それぞれ自分でいれたものがちょっと混ざってますがまあいいだろ


続きを読む

知らなかった

Scala座#01で「これまでのScala これからのScala」という発表をしたんだぜ - ゆろよろ日記
帰りの新幹線で、Scalatra + ScalateをGAEに載せようとしてうまくいかなくて、Scalatra-scalate-supportの実装がイケてないっぽなんで今度自分でソース直してビルドして試してみます。うまくいったらエントリ書きます。



 # ところで、この方のスライドのP.10に先日のエントリで書いたようなJavaVM上でScalaを動かすってつまりどういうこと?みたいな話が書いてあるので興味がある人は見てみるといいと思うよ



Scalateってのはテンプレートエンジン。カテゴリとしてはJavaで言えばJSPみたいなものと思ってればいいんじゃ?

Templateってのと名前的に掛けてある。


Playframework で Scalate を使ってみる - 写経日記
Scalate
Scala Template Engine: like HAML or JSP without the crap but with added Scala coolness
HAML か くそな部分がない JSP に Scala のいいところを足したテンプレートエンジン
erb に似たのが ssp
haml に似たのが scaml
どちらかを conf/application.conf で指定する
ssp, scaml ともに豊富なサンプル
現在 (20100710) play-1.1-unstable-r881, scalate-0.3,scala-0.3 までしかテストされてないということだけど、play-1.1-unstable-r942, scalate-0.3,scala-0.6 の組み合わせで問題なし。
app/views/default.scaml があって、そこで index.scaml を呼んでなくても、index.scaml のファイルがない場合、画面には何も描画されない(真っ白いまま)。普通はエラー(Template not found)が表示される
一通り機能がそろっていて、問題なく使えそうな感じ。
JAXRS with Jersey とかはよく分かってない。






ruby用のWEBアプリフレームワークのSinatraってのがあるんだけど、それのScala用なのがScalatraらしい。

Scalatra | A tiny, Sinatra-like web framework for Scala
Since its origin on Gabriele Renzi's blog, this project has been known as Step. Unfortunately, we later discovered that name was already taken. Per Hiram Chirino's suggestion, we have decided to rename the project to Scalatra. Scala + Sinatra = Scalatra.



日本語の記事も沢山あるので適当に検索して試してみるといいかもよ




でも環境をつくらないといけないからちょっと手間が多いかも。

なので、Javaの環境がすでにあるなら、Playとか少しいじればいいんじゃないかと。

Javaで軽快に使える「軽量フレームワーク」特集 〜本格的なRoRスタイルフレームワーク「Play!」(1)(1/7):CodeZine
今やWebのフレームワークと言えば、そのほとんどが「RoRタイプ」です。RoR(Ruby on Rails)がWebの開発に与えた影響は非常に大きく、その後生まれたフレームワークの多くがその影響を受けています。

 しかし、Javaの世界に関しては、RoRはなぜか素通りしてしまいました。既にStrutsというデファクトスタンダードがあったために新しいMVCフレームワークが割り込む余地があまりなかったのか、あるいはLL(ライトウェイト)言語でないとRoRなスタイルは作りにくかったのか。ともあれ、その後、長い間、Javaでは「いわゆるRoRタイプ」と言えるフレームワークは登場しませんでした。

 その流れを変えたのは、Groovyです。Groovyの登場により、JavaでもLL言語のような小回りの聞くコーディングが可能となりました。そのおかげで、ようやくJavaの世界にも遅まきながら新しい世代のフレームワークが登場するようになりました。その1つが、今回取り上げる「Play!」です。





PythonのDjangoの方から来たみたいですね

hikozaemonchan: Hello, Play framework
Play frameworkを使ったことがある人はどれぐらいいるんだろうか。
こんなに面白いフレームワークとは思わなかった。
いや、フレームワークというより、プラットフォームです。

まえにJava on Railsなんて宣伝を見てしまったせいでスルーしていた。
たしかに「Rails使いに媚びてDjangoをJavaにポートした」と言えないこともないけど。
ためしてから宣伝してください。迷惑です。
見所はコマンドラインなんかじゃない。まあ、Python for Windowsがついてくるのは確かに面白いけど。
なんといってもJavaの使い方が革命的に面白い。









まあ文系のIT未経験新卒が「なんとかコンサルティング」っていうITコンサルの会社に就職して、ITシステムの要件定義・設計構築技術を身につけようというような場合には、まずボキャブラリが少なすぎて理解が追いつかない、というようなことは確かにありえるかな(こないだの宴会でもそういう話あったけど)



この場合の最悪シナリオとしては:


ボキャブラリが足りなくて何の話をしているのか判らない

話の内容が理解できなくて面白くない、興味が湧かない

「自分はそういうものには興味が無いタイプの人間です」と自分自身で定義する

スパイラルへ




短期的にはこのへんの話題についてクチプロレスで負けない程度にはなっておくといいかも。自分としてもそういう話が出来る相手が増えるのはありがたいというか、嬉しいし

ここは単に知識の有る無しの話だから結構簡単な話かも(仮面ライダーの悪役の名前を覚えるのと同じレベル


具体的にはWEB+DB PRESSの過去1年分くらいをざっと読むとかw




あと、勉強日記的なBlogを自分で書くのもいいんじゃないかなと。これは地味に効くと思う。
で、書いたら「書きました」的につぶやくという




WEB+DB PRESS Vol.58WEB+DB PRESS Vol.58
著者:編
販売元:技術評論社
発売日:2010-08-24
クチコミを見る


書いてある内容を理解してもらえるかどうか、理解してもらえたとしたら何か変化なり違いがあったりするかどうかのテスト。


これね

Twitter / masaka: へー知らんかったRT @wats: [Mirah][ ...
へー知らんかったRT @wats: [Mirah][ruby][java] Mirah - JRubyではないJVMで動くるrubyくさい言語のインストール http://bit.ly/9nqfHe


Twitterに書こうかとも思ったけど、長くなったのでこっちに書いとく。



ざっくり言うと、Mirahっていう言語があるっていうのを@wats 氏が自分でBlogに書いて、さらにそれを自分でTwitterに書いてて、自分はそれを読んで、そんなのあるんだへえ知らんかった、という内容


ではまず「JRubyでない JVMで動く rubyくさい言語」という部分について説明する



ていうかそもそもRubyっていう言語があるのはご存知なんだろうか

まあそれは調べてもらうとして



で、rubyのオリジナル版の開発・実行環境はC言語とrubyで実装されたものだが、それ以外にも幾つかありますよ、と

MSが作った版とか(みたことないけど。iron rubyだっけ)、JavaVM上で動く用にSunの人たちがつくりはじめた奴とか(これがJRuby)


つまり「JRuby」っていうのは 「JavaVM上でruby言語を動かせるようにするもの」 ってこと

というわけで、最初の「JRubyでない JVMで動く rubyくさい言語」ですが

「JRubyでない」JRubyではないんだけど
「JVMで動く」JavaVM上で動かせる
「rubyくさい言語」rubyのような使い勝手を持った言語

ってのをどっかの誰かが作って公開しはじめましたよ  って意味





そもそも、Java言語はJavaVM(仮想マシンという名のソフトウエア)上で動作している、っていうのは理解しているのか?わからん

まあとにかくJavaの言語仕様に基づいてテキストファイルに文字を格納して、コンパイラって奴に掛けてできたファイルをJavaVMってのに渡すと、CPUやらメモリやらファイルやらを自由に制御できますよ




WEBアプリってのはネットワーク経由で送られてきた何らかの文字列を解釈して、DBを読んだりメモリを読んだりして、結果をHTMLという形の文字列に整形して送り返す、っていうことしていますよ

ネットワークから文字列が送られてくる部分はJavaVMに添付されているライブラリを使うことで手抜きが出来ますよ

ネットワークから送られてきてそれを取り出す、っていうところまではサーブレットのAPIで、さらにそれを使った別のライブラリがWEBアプリのフレームワークとかそういう感じ










それと、何かの言語を使って別の言語を作る、っていうのがわかってもらえるんだろか

こっちは割と説明は簡単で、例えば「1 add 1」って書いてあるテキストファイルを読み込んで、数字の1と1とを足すんだな、と解釈して、実際に計算して、2を表示する、みたいなプログラムを作れば、それが独自の言語を実装したような



ただこの例だとコンパイルと同時に実行するイメージ。メモリ上にJavaでいう.classファイルを一時的に作ったようなイメージ。いわゆるインタープリタ





で、Javaは高速で安定した実行環境ということになっているので、その上で別の言語を動かすっていうのがだんだん増えてきているよと

scalaとかclojureとか

このあたりは勉強したらいいと思うけどね。1年くらいだらだらやればなんとかなるかも(ならないかも



関数型言語っていうのがあるのは知ってるんだろか。まあそこは調べてもらうとして(弱い 

まあLispとかちょっといじってみるといいんじゃないかと



ていうかruby少しかじってみるのをオススメする

言語によって使い勝手が違う、っていうのをまず体感して理解してもらえるかも。







とりあえずこれ読めば↓

初めてのRuby初めてのRuby
著者:Yugui
販売元:オライリージャパン
発売日:2008-06-26
おすすめ度:4.5
クチコミを見る



このページのトップヘ