ネスペメモ(3)

DCE(Data Circuit terminating Equipment) 173
回線交換方式(とモード2つ) 175
WANのカプセル化プロトコル2つ 176
PPPで使用できる認証プロトコル2つ 180
PPPマルチリンク 182
IP-VPN 187
PEルーター 188
広域イーサネット 189
MPLS(Multi-Protocol Label Switching) 191
POP(Point of presence) 195
ADSL 195
FTTH(接続方法3つ) 199
PON 201
OLT,ONU,WDM 201
CATV 203 インターネットVPN(形態2つ) 205
IPSec-VPN(2こ),DMVPN,NHRP 208
SSL-VPN方式3つ 208

//TODO
G992のS=1とかS=1/2とか全然わからん
L3SWとルータのちがい
PPPの階層の話わからん(176)
MPLSの詳細
G992.1,2
オーバーラップ、エコーキャンセラ、ダブルスペクトラム 198
周波数がどうこう
ハブアンドスポークとスター型って別? ポートフォワーディングでUDPがダメな理由 1000BASEPX

ネスペメモ(2)

イーサネット 8
同軸ケーブルの問題点 70
UTPケーブルのカテゴリと特徴 71 より対線のポートとケーブルの組み合わせ 72
光ファイバのモードと構造 73
イーサネット、ファスト、ギガビット、10ギガ 76
イーサネットのフレームフォーマット 78
MAC アドレスの構成 78
LANのトポロジー3つ 81
CSMA/CD 82
PLC 85
VDSL 85
マルチキャストのときMACアドレスどうなる? 79
媒体アクセス制御方式3つ 81
ブリッジ 92
フラッティング 93
L2SW 96
共有ハブ 100
全二重通信と半二重通信 106
オートネゴシエーション 107
PoE 109
VLAN 111
アクセスポート 112
スタティック、ダイナミックVLAN 113
トランクポート(タグVLAN)114
IEEE802.1Qのフィールド 116
STP 119
BPDU 119
STPのポート選択順位 121
STPコスト 121
STPの状態遷移 126
コンバージェンス 127
RSTP,MSTP 128
リンクアグリゲーション+プロトコル 132

無線LANの媒体アクセス制御方式 141
2種類の周波数帯の特徴 141 IEEE802.11のa,b,g,nの速度と周波数帯と特徴142
チャネルボンディング、MIMO,フレームアグリゲーション、ブロックACK 143
IEEEE802.11n レガシーモード、ミックスモード、グリーンフィールドモード 144
IEEEE802.11n MIMOと帯域幅ごとの速度 144
アドホックモード、インフラストラクチャモード 147
無線LANのフレームフォーマット 149

CSMA/CAの流れ、DIFS 151 隠れ端末問題 152
アソシエーション、SSID2種類 156 ローミング 157
無線LANのチャネル設計1 159
オープン認証 162
WPA,IEEE 802.1X,PSK,TKIP,MIC 163
WPA2 164
EAP,PEAP,TLS 164
無線LANのMTU 168

//TODO Cyclic Redunduncy check
10ギガビットイーサネットのLXとかSRとかなに?
Universal Localビット?
ツイストペアケーブル=UTPケーブル?
STケーブルてなに?
Sonet/SDH?
L2SWは宛先、送信元MACアドレスを書き換えない?
帯域幅って何
RADIUSサプリカントとかオーセンティケータとか
ToDSのDSってなに(無線LAN
ToDS、FromDSとアドレスの関係がおぼえられん
無線LANの速度の計算がよくわからん

ネスペメモ(1)

TCP/IPの層 4
DHCP 17
DNS,リソースレコード 19
ARPの流れ 20
イントラネット 22
LAN,WAN 23
IPのヘッダ 29
ARPは何のリクエスト? 32
MACアドレスのブロードキャストアドレス 32 GARP(目的) 33
RARP(目的)34
ICMP 35
トレースルート?
ICMPリダイレクト 41
IPv6 41
IPv6ヘッダ(拡張ヘッダ)44
IPv6の表記 45
ユニキャスト、ブロードキャスト、マルチキャスト、エニーキャストでIPv6とv4それぞれどれができるか
IPv6v4のヘッダの長さ、アドレスの長さ
ポート番号の反映 51
ウェルノウンポート、登録済み、ダイナミック/プライベートアドレスの範囲とそれぞれの意味
TCPの機能55
TCPのヘッダ 56
3ウェイハンドシェイクの流れとコネクション切断の流れ 58
UDPのヘッダ 63

//TODO ARPでブロードキャストした範囲に当該のアドレスのホストがなかったら?
TCPのシーケンス番号の意味と流れ
UDPチェックサムってなににつかうの

WindowsでSVNからチェックアウトした瞬間差分が出るときは大文字小文字だけが異なるファイル名のファイルがあるのかもしれない

ラノベのタイトルみたいだ

状況

SVNLinux環境に構築されててクライアントはWindowsみたいな場合のお話

  1. 何かの拍子で大文字小文字だけが異なる同じパスのファイルが同じSVNにコミットされる Kendama.javakendama.javaみたいな

  2. そのファイルをチェックアウトする Windowsだと大文字小文字が別でもファイル名が同じだと同じファイル扱いされるので、チェックアウト時にKendama.javaとkendama.javaが同じファイル扱いされて上書きされちゃう。

  3. 謎の差分が出来る。例えばKendama.javaがkendama.javaで上書きされると、チェックアウト直後にKendama.javaが削除済の差分ありになる。

どうすればいいの

名前変えてコミットしちゃえ

HTML5 Canvasを読んでいる①

こういう書き方になれない

var Debugger = function () { };
Debugger.log = function (message) {
    try {
        console.log(message);
    } catch (exception) {
        return;
    }
}

var Debugger = function () { };
で変数Debuggerに関数オブジェクトを格納して
Debuggerオブジェクトのフィールドlogにlogを吐き出す関数を格納、という見方であっているのだろうか。

まずこれの意味がよくわからん
var Debugger = function () { }; これでも動くんじゃなかろうかと思ったら動いた。
var Debugger = {};

関数オブジェクトは関数とフィールドを持てるという理解でいいのか、ハッシュの場合はフィールドとして関数と、その他の値も持てるという意味で同じような動きをするのかなと思ったけど、関数もオブジェクトなら関数オブジェクトの中に定義された関数はやっぱりフィールドの値なんじゃないのかわからん。

JavaScript - 空の関数オブジェクトを用意するメリットを教えて下さい(36259)|teratail
わからないので質問してみた。保留。

Imageオブジェクトって何

画像とのこと
JavaScriptリファレンス - Imageオブジェクト:ITpro

Canvasは描画する命令を定義するだけで、描画したものをオブジェクトして保持してたりはしない

       context.fillStyle = "#ffffaa";
        context.fillRect(0, 0, 500, 300);

        //text
        context.fillStyle    = "#000000";
                //このタイミングでfillRectで描画したオブジェクトの色が変わったりはしない
        context.font         = "20px _sans";
        context.textBaseline = "top";
        context.fillText("Hello World!", 195, 80 );

イメージ的にはふつうにペイントで絵をかくときみたいに色を選んでなんかかいて色を選んでなんかかいて、の手順を定義していく、て感じ?

context.textBaseLine

textBaseline プロパティ - Canvasリファレンス - HTML5.JP テキストを配置する時基準とする位置をどこにするのか?の指定

context.textBaseLine = "top";//文字列の一番上が(0,0)に重なる
context.fillText("Test", 0, 0);

x軸バージョンみたいのは無いのかな

toDataURL

キャプチャできる
Canvasオブジェクトを重ねてなんちゃらみたいなことをした場合は駄目な気がするのでキャプチャしたかったらそのCanvasのなかで描画を完結しないといけないんだな

onClickにすべきかaddEventListener('click')にすべきか

このボタン押したらこのスクリプトが走る〜みたいのがonClickのがわかりやすいと思うんだけどaddEventListenerのが美しいとされている気がする
ビューとロジックを分けろ的なアレかな

Effective Javaを読んでいる⑱

抽象クラスよりもインターフェースを選べ

抽象クラス

実装が持てる

インターフェース

・実装が持てない(Java 8からstaticなメソッドは実装できるけど)
・クラスの階層にかかわらず実装出来る

既存クラスを抽象クラスのサブクラスしようとすると

既存クラスが継承するクラスの継承するクラスの継承するクラス・・・に抽象クラスを継承させなければならない(それがもし概念として正しくなくても)

mixins

なんかに(オプション的な)新しい振る舞いを提供するためのインターフェース
Comparableとか

単一継承がうまくはまらないケース

SmartPhoneクラスに抽象クラスPhoneと抽象クラスMusicPlayerを継承させたいみたいな

組み合わせ爆発

【Effective Java】項目18:抽象クラスよりインタフェースを選ぶ - The King's Museum

インターフェースはメソッド実装を含むことが出来ないが、実装する誰かへの実装の手助け(のためのコード)を妨げるわけではない

abstract skeletal implementation

ここだけ実装しとけばとりあえずあんたの希望は満たされるよ的なインターフェースに対する実装(抽象クラス)
インターフェースを直接実装させた場合インターフェースにメソッドを追加すると既存の実装クラスがぶっこわれる。コンパイルもできない。
abstract skeletal implementationを継承させる形ならインターフェースにメソッド追加したときにあわせて追加すれば大丈夫。
でも直接インターフェースを実装してるクラスはやっぱり壊れる。→慎重に設計しようねてきなやつ。

ようするにインターフェースは一度公開してみんながおのおのの実装を作ってしまったあとで、いじくるのがめっちゃ難しい。
なんかまずかったら?あたらしいインターフェースを作ってそっちを実装してもらおう。古いやつは凍結しよう。

めちゃめちゃ小規模な開発(そしてソースコードが組織内で完全に閉じてるやつ)しかしたことないと効果が実感しづらい(おれはそう)