2008年01月のアーカイブ

X(エックス)

こんにちわ、
もりぞーです。

先週末スキーにいった関係で、
ダルさが残る今日この頃です。


日頃業務でXを使うことがあります。
クライアントがWindowsのため、Cygwin+xで
接続しています。
とりあえず動きますがまだまだ不安定です。
エクシードやアステックxなどありますが、
とてもじゃないですが高くて買えません。
(そんなイウホド高くない)
で、私の右前の席にMacを使ってる人がおりまして、
MacからリモートXってどんなだろとふと思い、
やってもらいました。

@手順
 MacOSX以降で
 普通にコンソールから ssh -X [HOST] -l [USER]

これだけ。
あとはxのアプリでも立ち上げてください。
xlogoとか。

やはり全然安定しています。

無理してWindowsの上に価格の高いXのソフトを
買うよりもう一台ハード買ってLinuxやMac買ったほう
がいいと思います。

ちょっと作業するならCygwinで十分。
もりぞー 09:38 | コメント(0) | トラックバック(0) | Linux

リバースプロキシ(Javaコード)

サーブレットのゲットだけ対応した
簡単なコードです。
即席なのでスパゲッティーですが、
参考にしたい方はどうぞ。
(環境 jdk1.5+Tomcat5.5.x)


private static String TEST_URL = "http://www.dimage.co.jp/";
private static String TEST_HOST = "www.dimage.co.jp";
private static String LOCALHOST_URL = "localhost";
private static String LOCALHOST_URL_8080 = "localhost:8080/Test/wa";
private static String LOCALHOST_FULL_URL = "http://localhost:8080/Test/wa/";
/**
* Get
*
*/
protected void doGet(HttpServletRequest arg0,
HttpServletResponse arg1) throws ServletException, IOException {

try {

//URLリプレイス
//http://localhost:8080/WaProxyTest/wa/
// → http://www.dimage.co.jp/ に置換
String connectUrl = arg0.getRequestURL().toString().replaceAll(LOCALHOST_FULL_URL, TEST_URL);

//URLオブジェクト作成
URL url = new URL(connectUrl);

//URLコネクト作成
URLConnection uc = url.openConnection();

//タイムアウト設定
uc.setReadTimeout(3000);//3秒
uc.setConnectTimeout(1000);//1秒

//リクエストヘッダー情報をすべて取得して、
//接続先のリクエストヘッダーに当て込む
//その際、403を回避するためキャッシュ関連情報
//if-modified-since、if-none-match、ETag
//を取り除く
//すなわち403は放置
System.out.println("INPUT HEADER---");
Enumeration headers = arg0.getHeaderNames();
ArrayList headerList = new ArrayList();
for (Enumeration e = headers ; e.hasMoreElements() ;) {
String key = (String)e.nextElement();
String value = arg0.getHeader(key);
// ヘッダー内のFQDNを書き換える。
if(value != null && value.indexOf(LOCALHOST_URL)!=-1){
value = TEST_HOST;
}

// ログ
System.out.println(key+":"+value);

if(key != null){
if("if-modified-since".equals(key)){
continue;
}
if("if-none-match".equals(key)){
continue;
}
if("ETag".equals(key)){
continue;
}
}


//接続先ヘッダーへ格納
uc.setRequestProperty(key,arg0.getHeader(key));
}
System.out.println("---");

//接続先から取得
InputStream reqStream = uc.getInputStream();
boolean typeImage = false;
System.out.println("OUTPUT HEADER---");
//接続先から取得したレスポンスヘッダーを
//ブラウザへ返すサーブレットレスポンスヘッダーへ格納
//キャッシュ関連はカット
for(int i=0; true ; i++) { // ヘッダがあるかぎり
String value = uc.getHeaderField(i);
if(value==null) break; //
String key = uc.getHeaderFieldKey(i);

System.out.println(key+":"+value);

if("Content-Type".equals(key)){
if(value != null &&value.indexOf("image")!=-1){
typeImage = true;
}
}
if("if-modified-since".equals(key)){
continue;
}
if("if-none-match".equals(key)){
continue;
}
if("ETag".equals(key)){
continue;
}
//チャンクはhtmlを取得してる時点で分解されているので
//ヘッダーからはカットする
//(めんどい)
if("Transfer-Encoding".equals(key)){
continue;
}
if(i!=0){
arg1.setHeader(key, value);
}
}
System.out.println("---");
//画像か、もしくは違うデータで処理系を分ける。
//pdfとかは上記のContent-Typeで判別するればおk
if(typeImage){

ServletOutputStream sOutStream = arg1.getOutputStream();
int out;
while((out=reqStream.read())!=-1){sOutStream.write(out);}
sOutStream.close();
reqStream.close();

}else{

BufferedReader bufReader = new BufferedReader(new InputStreamReader(reqStream,CODE_TYPE_UTF_8));

//レスポンスへ返送
ServletOutputStream sOutStream = arg1.getOutputStream();
String line;
while ((line = bufReader.readLine()) != null) {
//HTMLのURLを変換(たんなるリプレイス)作りこみ必要
line = line.replaceAll(TEST_HOST, LOCALHOST_URL_8080);
sOutStream.println(line);
}

reqStream.close();
sOutStream.close();

}

} catch (Exception e) {
log.error(e);
System.out.println(e);
}


}
もりぞー 12:31 | コメント(0) | トラックバック(0) | コード

リバースプロキシ

とある案件の絡みで、
簡易リバースプロキシを作ってみました。

リバースプロキシってなんやねん?
というかたは
http://e-words.jp/w/E383AAE38390E383BCE382B9E38397E383ADE382ADE382B7.html
を参考に。

ん~結構httpは奥が深い。
単純に htmlと画像 のみを転送する仕掛け
を作ったのですが、圧縮されていたりchunk形式
できたりと中継するだけで結構手間です。
とりあえず会社のHPをローカルのリバースプロキシで
参照できるまでにはなりました。
(機会があればソースを公開しまーっす)

squidで実現できるのでパッケージってあまり
ないですね。色々Proxy内でいじりたい場合には
やはり自分で作るしかないです。
これでナンカおもしろいことできないかなぁ・・
もりぞー 23:16 | コメント(0) | トラックバック(0) | その他

百度正式オープン

本日、中国最大手検索エンジンの
 Baidu.comの日本語版
 http://www.baidu.jp/
が正式にオープンしたそうです。

早速使ってみました。
なんというか結果はGoogleによく似ています。
いやすごく似ています・・・

使う機会は・・・
うーん・・
もりぞー 22:53 | コメント(0) | トラックバック(0) | その他

Celeronもデュアルコア

Celeronもついにデュアルコアに・・・

Celeron初のデュアルコアも登場、最安6千円(Impress)
http://www.watch.impress.co.jp/akiba/hotline/20080119/etc_celerondc.html

すなわち、かなりローエンドPCにもデュアルコア
が積まれるってことですね。
思い起こせば3年前にAthronX2-4200を6万~で買った
記憶がありますが、今や数千円の世界。(未だに現役)

クアッドもかなり手頃な値段になってきており、
ローエンドでクアッドコアも2年かからないと思います。
そのころにはミッドレンジが8コアくらいになってる気がします。
サーバーにとってはマルチコア化は負荷の面で非常に
良いことですがパソコンとなると微妙です。
詳しくないひとにマルチコアのメリットを説明して理解
してもらって買い換えてもらうのはかなり厳しいでしょう。
そうなると、性能よりかOSが華やかになったり
BDが見られたりするほうが一般ウケするのかもしれません。
もりぞー 23:49 | コメント(0) | トラックバック(0) | PC

電子決済って・・

ネットやSUICAで買い物するのが当たり前の
今日この頃。私もよくコンビニでIDやらエディやら
使っています。
Webのシステムやってると電子決済の連携をやることが
よくあります。
基本的には決済会社のASPサービスを利用したりする
のですが、かなり老舗の会社ですと仕様がエライ古か
ったりします。
なにが古かったりするかというと、
 
 @データの受け渡し方法(何故かhttp・・だったり)
 @暗号化が緩い(シングルDES・・だったり)
 @Perlのコードしかサンプルがない
 ・・・・

そんなん新しくすればいいじゃないか?とか
思ったんですが、既存そのAPIを使ってる顧客がいっぱい
いるわけで多分ほぼ永久に変えられないという悲しい
宿命ですね・・。

意外に決済系のシステムって
「仕様の陳腐化による脆弱性」
が結構問題になる気がします。
まぁあまり表にでることはないと思いますが・・。
もりぞー 00:02 | コメント(0) | トラックバック(0) | その他

SunがMysqlを買収

朝から驚きニュースが・・

・米Sun、オープンソースDBのMySQLを買収へ (Impress)
http://enterprise.watch.impress.co.jp/cda/foreign/2008/01/17/12031.html

Javaのように明確なメリットがあるわけでなく、
オープンソースに貢献する的なコメントですが、
どうなんか・・・・。
どういう戦略だかいまひとつ見えません。
DB製品がほしかったというのはあると思いますが、
買収までいくとは・・。これからのSunのMysqlを
バンドル(サポート)した製品(ソリューション)に
期待します。
もりぞー 11:14 | コメント(0) | トラックバック(0) | DB

Appleから出たー!

ゼロスピンドル とか言っていたら、
Appleからゼロスピンドルのノートが出ました!
http://www.apple.com/jp/macbookair/
ただやはり値段ははります・・・
1/3くらいSSDの価格ではないでしょうか。
(半導体メモリに記憶媒体をソリッドステートドライブと
 よぶそうです)
Panasonicではやくでてくれないかな・・・ぺんぎん
もりぞー 10:54 | コメント(0) | トラックバック(0) | PC

どこへ行くCPUアーキテクチャ

どうも、
もりぞーです。
ここんところ毎週テニス三昧で
休み明けは足腰腕が痛くてたまらないです・・。

さて・・
Armがすごい売れまくっているという記事が載っていまし
た。Armといえば 携帯電話・DS・GBA などで使われてい
るCPUです。どうやら世界中の携帯電話で使われている
関係だからだそうです。
一昔前までは携帯電話でも色々なCPUがありました。
ただ、消費電力あたりのパフォーマンスの面で、
Armのデキがよかったようです。

ふと時代によりCPUアーキテクトがめまぐるしく変わってい
るなぁ~と感じました。

・PC x86 → x86
 (そういえば変わってない)
・Webサーバ Spark → x86(PCサーバーが増えてきた)
 (一昔はSunのマシンがラックに刺さってましたね)
・モバイル機器 色々 → Arm・sh
 (消費電力でArm、一時期Intelもがんばってました
  けどヤメマシタネ)
・ゲーム Mips → PPC(マルチコアのPPC)
 (Mipsの終焉。クレイのスパコンってまだMipsかしら)
・MAC PPC → x86
 (CPUアーキテクチャーを2回も変えたMacには
  驚きです)

ここ10年でこれだけ変わっていると、
正直次の10年でどうなるかは想像できません。

いずれ統一されるとソフト屋は楽になるのですが・・・。
まず無理かな。言い換えればアセンブリとCの技術屋は
ずっと食いっぱぐれしないってことでほぼ間違いないと
思います。

最近C書いてないなぁ・・ぺんぎん
もりぞー 23:41 | コメント(0) | トラックバック(0) | その他

ゼロスピンドル時代

SonyやAsusがゼロスピンドルノートPCをリリース
して話題になった2007年(2006かしら)。
いずれフラッシュの時代になるのだろうか?
と考えると、多分答えはYES・・かな?

現在フラッシュメモリーのbyte/価格単価はすさまじい
勢いで値段を下げており、いまや1GByte1k~2k円
程度。製造プロセスの変更と需要があいまって今後も
価格は下がるであろうと思う。

となると、いずれは
ノートPCのHDDをFlashに変える動きになるのは至極
当然・・・・
のような気もするのだが・・。

@フラッシュとHDDの違い
 ①読み込み速度
  フラッシュのほうが早い。
 ②書き込み回数
  フラッシュは制限あり。
 ③値段
  まだまだフラッシュのほうが1Byteあたりの単価が
  高額である。
 ④消費電力
  フラッシュのほうが少ない。
  ただ、ノートの時間が大幅に変わることはない。
  電気食いなのはCPUと液晶。

実際HDDからフラッシュに変わるのは何時頃だろう?
と考えると、

*HDDとフラッシュの1Byteあたりの単価が同じ
  になったとき


ここだと思う。
価格以外、読み込み速度や消費電力などは一般消費者(玄人除く)
は興味がないと(そもそも分からない)考えられる。

現在 HDD40G(2.5inchi)は10k円?くらい?
でフラッシュが 32G 76k円程度。
その差7倍。
1年でフラッシュの価格が半額になるとして、
追いつくのには・・3~4年後か??

3~4年でノートPCのHDDはフラッシュになる!

そしたら買い換えるか・・
もりぞー 09:16 | コメント(0) | トラックバック(0) | PC

続くムーアの法則

社内の打ち合わせで、
2年前~3年前のPCはどうなの?
という話があり、

「いやぁ、十分陳腐化してると思います」

という回答をしました。
なんだかんだいって
いまだにムーアの法則通りに
進んでいるわけです。

すなわち、
言い換えれば5年も前のPCを使っているだけで、
かなり遅れていることになります。

コスト削減やエコロジーという理由でPCのリプレイス
を考えられない企業はかなり問題があると思います・・。

事務や開発一つ取ってみても、
PCのリプレイスにより一日10分業務が早くなれば
年間に与える影響は 1000万/人 のコスト計算で
ざっくり
 一日 8時間 とし、10分は 1日の1/48 
ざっくりざっくり
 一日 2% = 10分
 1000*2% = 20万
20万あればかなりいいPCとディスプレイ2台とかも
いけます。

あなたの会社はまだ古いPC使っていませんか?
もりぞー 16:17 | コメント(0) | トラックバック(0) | その他

WinXPにメイリオフォント入れてみた!

こんにちわ、
モリゾーです。

別に暇というわけではないですが、
WindowsXPにメイリオフォントを入れてみました。

*メイリオフォントとは?
http://www.microsoft.com/japan/windows/products/windowsvista/jp_font/default.mspx
まぁあれです、
Vistaで使われているフォントですね。
Vistaみたことねーyp!って方はMacの文字を想像
していただければ大体あってるかと思います。

通常XPにはこのメイリオフォントは入っていないのですが、
VisualStudio2008 C# Expressをインストールすると
なぜかついて来ます。

メイリオフォントをOSに適用するにはいろいろ手間が
いりますが(その辺をやりたい人はぐぐってください)
ブラウザだけで使いたいのであれば簡単。

 ①VisualStudio2008 C# Express をインストール
 ②IEもしくはFireFoxのフォントをメイリオに変更

たったこれだけ。

fox

上がメイリオフォントにしたFirefoxです。
XPでメイリオフォントにしたいひとはどうぞ。

でわわ。
もりぞー 09:44 | コメント(0) | トラックバック(0) | その他

あけましておめでとうございます!

あけましておめでとうございます!

なんか月1連載くらいの頻度になってきました・・。
周りからまじめに連載しろ!という煽りが日々
つらくなって来ました・・( TДT)。

なんか、会社のBLOGとなると、
硬い内容を書かないといけないという先入観が
あったのですが、テニスブログをみて
自分もちょっと吹っ切れてみようと思いました!

なので今日からはガンガン書いていきますよ!!!
(多分・・)
もりぞー 09:16 | コメント(0) | トラックバック(0)
最近の記事
Admageという名…
02/13 14:36
(続)2月から広告が…
02/13 12:15
(続)2月から広告が…
02/10 17:29
2月から広告が表示さ…
02/07 18:46
(続)Cent5.x…
01/31 14:59
(続)Cent5.x…
01/29 18:01
Cent5.xでGl…
01/29 17:19
勉強会
08/13 18:44
Class A
07/29 20:50
8.8.8.8
06/25 15:19
マイナーな技術
06/25 14:36
工数見積
06/20 14:06
次世代機のCPU
06/19 13:04
Surface Pr…
06/17 09:44
Nexus10(続き…
06/17 09:33
最近のコメント
最近のトラックバック
Yahoo!ボットチェッカー
Googleボットチェッカー
MSNボットチェッカー

ディマージシェア技術ブログ