hoshimi、仕事中のメモ〜perlやネットワークについて〜

今日の仕事はひたすら人の書いたソースを読んで仕組みを解析する作業。

perlについていろいろやってみたが、とりあえずモジュールの知識がないことが発覚。
モジュールの仕組みを学ぶことにする。
しかしそのまえにperlオブジェクト指向を学ぶことに。

  • モジュールでよくでてくる->の意味がわかったwただオブジェクトの関数を参照しているだけなのねー。

にしてもperlオブジェクト指向は無理やりオブジェクト指向を実装しようとしているようにしか見えない。
モジュールを作るのもだいぶめんどいっぽいしファイルは無尽蔵に多くなるし。
困ったものだ。単に僕がperlが嫌いだからかもしれないけどw

  • perlで、$0は実行中のファイル名を意味するらしい。

ネットワークをもっと学んだほうがよさげ。
いまだにpingとかifconfigの値がそれぞれ何を示しているのかとかよくわかっていないし、ネットワークアプリケーションも実際に組んだことがないのは問題であるようなきがする。今のバイト先は基本的にネットワークに関することが中心なのでこれを機会にまとめて勉強しようなどと思ったり。

参考:http://www.atmarkit.co.jp/fwin2k/network/baswinlan010/baswinlan010_03.html
以下は自分なりの理解である。間違えていたら心に秘めておいてください。(つっこんでもかまわないですが・・・)

  • パケットとは何か

IPパケットとは送信するデータの大きさのことをいう。(NTTのパケット通信料というのは送ったデータに比例した通信料という意味だということをはじめて知ったw)
普通ネットワークでデータを送信するとき、どのように送っているかというと、一回にまとめて送っているわけでも、数学的に連続で微小データを送っているわけでもなく、有限回の微小データをおくっているのである。100MBPSというのもただ1秒間に100MB送信できるというだけであって、別に一秒に一回100メガを送信しているわけではないのである。微小秒毎にデータを小さく分解したデータを送信しているのである。(この分解されたデータをIPフラグメントという。)
一回に送ることができるフラグメントの最大量をMTUという。例えば光ファイバーの場合4352bytesだとか。

Time To Liveの略で、データの寿命をあらわす。このTimeは秒ではなくて回数である。何の回数かというと何回ルータを通過することができるかの回数である。あまりに遠いところにいくと、TTLが0になり、その時点でそのデータは破棄されてしまう、そういうことなのだそうだ。

実際に何かつくってみんとわからんなぁ。さっさとやるべきこと終わらして何か本気で作ろうと思う。