変奏現実

パソコンやMMORPGのことなどを思いつくまま・・・記載されている会社名・製品名・システム名などは、各社の商標、または登録商標です。

この画面は、簡易表示です

2013年3月30日

Node.js

jsなんて書いてあるから、JavaScriptエンジンに飲ませるサーバーサイド用のメソッドの塊かと思ったら、
サーバーサイド用のメソッドの塊を飲み込むJavaScriptエンジンのフロントエンドだった。
有体に書けば
# node   {サーバーサイト・Javaスクリプト}.js
な雰囲気でWEBサイトに限らずサーバーサイドで勝手にJSを動かすものなのだ。
これでドラ猫(Tomcat)ともJBossともお別れできるのだろうか?
1000ページを超えるPDF作成でServletのタイムアウトに悩む必要がなくなるのだろうか?
※Node.jsを組み込んでPDF作成だけ走らせるのも手だな。(大笑
実は絶賛開発中でバージョンも 最新が v0.10.2 と云う段階。
商用WEBサイトの運用はムリ。
WEBサイドIDE(統合環境)を作ろうとすれば、その土台としては最適だろう。
私はJava(JAVA-SE)が大っ嫌いだが、JavaScriptには寛大だ。
※嫌いな理由はJDKのクラスライブラリが屑箱でしかなかったからだ。
※中でもオーバーライドもできない内輪なテキスト・クラスが強烈だ。
※アノテーションも一寸先の動きも読めないソースが出来上がっただけだった。
※JavaコードをラップするEJBはデバッグ方法を考えてなかった。
※Java-Docは、メモでしかなかった。
と・・・この辺にしておこう。
それくらいJava-SEはツッコミ満載。黒歴史しかない。
これらを封印し、新たな旅立ちをするとすれば、それはJavaScriptに鞍替えするぐらいしか道が残されていないのだ。
しかし、JavaScriptの実行速度はそう速いものでは無かった。
運がいいことにGoogleがChromeに使ってるV8 VMエンジンがあったので、これに乗っかることができたのが、Node.jsである。
実際にはなぜかpythonも実行には必要で心配な種も残っている。
手順はココを見ながら、最新のソースのURLに差し替えた。

# wget http://nodejs.org/dist/v0.10.2/node-v0.10.2.tar.gz
# tar zxvf node-v0.10.2.tar.gz
# cd node-v0.10.2.tar.gz
# ./configure 
# make
# make install

これで、/usr/local/lib/node_modules/ にインストされる。

# node -v

v0.10.2

これでいいか。
心配なら、

./configure

の代わりに

./configure –prefix={インスト先パス名}

と設定して、好きなトコロにインストし、

# vi .bashrc

export PATH=$PATH:{インスト先パス名}

を追加して、

# . ./.bash_profile

で環境変数を最新にすればスグに使える。

# node
> console.log(“Hello World”);
Hello World
undefined
>
(^C again to quit)
>
# vi helloworld.js

function hello(name){
   console.log("Hello " + name);
}
hello('node.js');

# node helloworld.js
Hello node.js
#

別のページにあったサンプルのserver.jsを動かしてみる。
# node server.js
そしてブラウザから開いてみると、

Hello World

とだけ表示された。
確かに動いたな。
Node.jsが、完成 したらapacheは要らなくなるのかもしれない。
それ以上にOSに入っていると理由で
Old-Versionのkshを嫌々使う必要が無くなる!
これが非常に素晴らしいコトだ!(ココが重要!試験に出ます!
※C++でコンパイルする時は必要だけどね?
loh4jが使えないならlog4jsが使え!とか色々ネタができそうである。(笑
あれ?サーバーサイドでjQueryを混ぜられる?
ServetみたいにDOMに手を焼くことも無くなりそう。
しかし、ブラウザ専用の alert や $.ajax(HTTP通信)は無理だけど、無名関数でイベントっぽい登録をすれば、色々サービスを追加できそうですね。
そうそう 最後に .bashrc  を元に戻しておかないとね。
ドコにデバッグ用のバックドアがあるか判りませんからね。(笑
 



Eclipse Orion 2.0

ダウンロードできたのでインストしてみた。
wgetではDLは失敗。
パソにDLして転送してからunzip。

# ./eclipse/orion

・・・大量の警告メッセージ・・・

osgi>

ブラウザで、http://xxx.xxx.xxx.xxx:8080 で見てみた。
ログイン画面
 
サーバーを止める時は close [ENTER] らしい。
osgi> close
Really want to stop Equinox? (y/n; default=y) y
いきなり止まらないところが苦労の跡が忍ばれますね。(笑
適当にアカウントを作り中に入ると・・・(え?
今はサイト作成前提っぽく、HTML5ファイルしか作れないらしい。
でもそのせいでshellコンソールの画面があったりしてコレは便利かもと思ったが
プロジェクトの中しか見えないらしい。(安全だね
それにvi とかは使えないeditコマンドはあるけどやはりIDEのエディタになるだけ。
リポジトリもあるしブランチも作れるらしい。
いろいろ考えてなんとかここまでたどり着いたって感じなようだ。
うまく使えばリポジトリだけ実用になるかもしれない。
ただ、chromeなのかgoogleなのか翻訳バーが割り込んできて厄介。
容量はZIPが38Mバイト、展開した後は61Mバイトだった。
 
 



JDK1.7

yumでもJDK1.7が入るらしいのでやってみた。

# yum list \*java-1.7\* | grep java

Loaded plugins: downloadonly, fastestmirror, priorities, security
Loading mirror speeds from cached hostfile
* base: ftp.nara.wide.ad.jp
* epel: ftp.iij.ad.jp
* extras: ftp.nara.wide.ad.jp
* updates: ftp.nara.wide.ad.jp
78 packages excluded due to repository priority protections
Available Packages
gdal-java.i686 1.7.3-15.el6 epel
gdal-java.x86_64 1.7.3-15.el6 epel
java-1.7.0-openjdk.x86_64 1:1.7.0.9-2.3.8.0.el6_4 updates
java-1.7.0-openjdk-demo.x86_64 1:1.7.0.9-2.3.8.0.el6_4 updates
java-1.7.0-openjdk-devel.x86_64 1:1.7.0.9-2.3.8.0.el6_4 updates
java-1.7.0-openjdk-javadoc.noarch 1:1.7.0.9-2.3.8.0.el6_4 updates
java-1.7.0-openjdk-src.x86_64 1:1.7.0.9-2.3.8.0.el6_4 updates

# yum install java-1.7.0-openjdk.x86_64

# yum install java-1.7.0-openjdk-devel.x86_64

# yum install java-1.7.0-openjdk-javadoc.noarch

それだけ。
ん?updates? 変だな…



オンコアGPU

最近のCPUにはGPUも載っていることが多い。
WindowsだけならオンコアGPUでOKだが、やはり、ゲームするには力不足で、ミドルレンジ以上のグラボが欲しい。
グラボを追加するとオンコアGPUは一切使わないので無駄。
しかし、グラボが不調になった時には助かるシロモノ。
とりあえずあれば安心と云うところだろうか。
 
 
 




top