2010年10月23日土曜日

羽田空港国際線ターミナル

21日に開港した羽田空港国際線ターミナルに行ってみました。
まぁ、どこに旅立つわけでもないんですが、
新しいものは見ておかないとってわけで、
新しいって感じ。
今回は2階にとめましたが、3階にとめたほうがいいです。
3階から駐車場とターミナルの連絡通路があるのでエレベータ移動がなくて済みます。

てなわけで、連絡通路
何機か駐機してますね。
ちなみに展望台は無料です。
柵ばっかで見にくいなって思っていたら

ちゃんとカメラ通せるくらいの枠がありました。
これはなかなか、配慮されていていいですね。
秋晴れですので、この土日に是非足を運んでみてはいかがでしょう。
電車で行くのも良いですが、駐車場もいいんじゃないでしょうか。
駐車料金は24時間1500円でそこまででもないので、(5時間まで)

2010年10月15日金曜日

Abbey Road

ちょっと最近海外に行きたいなぁって思っていろいろ見てたんですが。。。
最初はサンフランシスコあたりにいって、シリコンバレーのあたりなんかも見に行けるといいなぁとかって思って たんですが、
ヨーロッパのほうもいいなぁなんて、
ドイツのアウトバーン走ってみたいなぁとか、Abbey Roadの横断歩道で写真撮りたいなぁとか
思っちゃったわけです。
Abbey Roadといえば、ビートルズのあのジャケット写真。
これ、ここいって同じような感じで写真撮ってみたいなぁって、思ったわけです。

大きな地図で見る
こんなところです。
写真撮ってみたいなぁ。
画像検索なんかで見てみるとみんないろいろ撮ってますねぇ。
なかなか面白い。
是非撮りに行きたい。

しかし、どちらにしてもガチガチのツアーじゃ見に行ったりできないので、割とゆったりしたツアーじゃないとねって思った。
アウトバーン走行とかAbbey Road見学やらシリコンバレー会社めぐりなんてのはオプショナルツアーでもないだろうし・・・

あぁ、行ってみたい。
ちょっとお金貯めよ

P.S
Abbey Roadのジャケット写真のポールって裸足なんですが、知ってましたか?
調べればすぐ出てきますが、
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1416537959
こちら。

↓↓↓よかったらこちらも↓↓↓

2010年10月14日木曜日

google-code-prettify

ちょっとコードを載せようかなぁってことで、
google-code-prettifyを入れてみた。
http://code.google.com/p/google-code-prettify/
入れ方は簡単。

http://google-code-prettify.googlecode.com/svn/trunk/README.html
README通りにやってけばすぐ。


<link href="prettify.css" type="text/css" rel="stylesheet" />
<script type="text/javascript" src="prettify.js"></script>

で、<body onload="prettyPrint()"
を追記してやるだけ。
これでページとしては終わり。
あとはコードを挿入したいところで、


<pre class="prettyprint">

 code
</pre>
ってしてやるだけ。

かんたん。

2010年10月13日水曜日

strtok

ちょっと前に、C言語でstrtokという関数を使うことがあったので、少々。
なんでこれを使おうかと思ったかてーと、
文字列の分割をやりたかったんですが、Cにはspritなるものが無い。
というわけでどうにかしてできないものかと、(今思えばC++にしてしまってそっちでboostとか使えばよかったかなあなんて思ったりすることもありますが…)
一生懸命探して、たどり着いたのがこのstrtok!
まあどんな関数かというのはググってみればわかるので割愛。

まあ、文字列を分割するわけですよ。
でも、perlのsplitみたいに

#!/usr/local/bin/perl

my $str = "110.12.133.1";
my @ip = sprit($str);

ってすると配列に順序よく入ってくれるなんてことはない。
まずこのstrtok
与えられた文字列から対象の文字があったところに¥0を挿入する。
そして、そのポインタを返却します。
まあ下の例をみてもらうとわかるかと。

#include <stdio.h>
#include <string.h>

void echo(int len, char str[]) {
    int i = 0;
    for(i = 0; i < len ; i++ ) {
        printf("%02x ", str[i]);
        if(i == len -1) printf("\n");
    }
}

int main() {
    char str[] = "110.12.133.1/24";
    char *tp;

    printf("START ECHO\n");
    int len = strlen(str);
    echo(len, str);
    tp = strtok( str, "./" );
    //printf("%s\n", tp);
    while ( tp != NULL ) {
        tp = strtok( NULL," ./" );
        //if ( tp != NULL ) printf("%s\n", tp);
    }
     
    printf("END ECHO\n");
    echo(len, str);
    return 0;
}

文字列「110.12.133.1/24」を「.」「/」で分割してるコード。
実行結果は、
sono106$ ./a.out 
START ECHO
31 31 30 2e 31 32 2e 31 33 33 2e 31 2f 32 34 
END ECHO
31 31 30 00 31 32 00 31 33 33 00 31 00 32 34 
2eと2fのところに00と入ってるのがお分かりでしょう。
こんな感じで、strtokが文字列をいじっちゃってるわけです。

でもまあ、こんなコード
危険ですね。
普通strlenしてforでまわすならおそらく、「31 31 30」で出力が止まるはずです。
strlenはそこまでの長さしか出してこないと思います。

とまあ、結局何が言いたいかよくわからない感じになりましたが、
strtokよかったら使ってみてください。

2010年10月12日火曜日

さて、始まります。

技術ブログと銘打っておきながら、
おそらくそんな高度なことは書かれないであろうと思います。

まぁ、一応技術ブログということなんで、
なんか書かなきゃ。
OSI基本参照モデルをひとつ

  1. アプリケーション層
  2. プレゼンテーション層
  3. セッション層
  4. トランスポート層
  5. ネットワーク層
  6. データリンク層
  7. 物理層

ほんと基本ですね。
これ覚えるやつで、
All People Seem To Need Data Processing
なんてのもありましたね。
それぞれのPDUは、
物理層=ビット
データリンク=フレーム
ネットワーク=パケット
トランスポート=セグメント
セッション以上=データ

とかそんな感じだったと思う。
上位からのデータにヘッダをつけてくのがカプセル化。
データ→セグメント→パケット→フレーム→ビット

まぁ今どきOSI基本参照モデルとかよりTCP/IPだろって感じだよね。
でもTCP/IPはOSI基本参照モデルを簡略化したものだからこのモデルがベースになる。

なんとなく近くに置いてあったCCNAの問題集を見て書いてみる。