Kenichi Maehashi's Blog
脳内コアダンプ
ssh-switcher スクリプト
Friday | January 21, 2011
|
いろいろシェルスクリプトを書いていたのですが、結局こんな感じの ssh-switcher コマンドを作るに至った。#!/bin/sh
COMMAND="$(basename ${0} | awk 'BEGIN{FS="-"}{print $1}')" CONFIG="$(basename ${0} | awk 'BEGIN{FS="-"}{print $2}')"
exec ${COMMAND} -F ~/.ssh/config_${CONFIG} "$@" ssh-foo, scp-foo などの名前で ssh-switcher への symlink を作っておくと、その名前 ($0) に応じて ssh -F ~/.ssh/config_foo とか scp -F ~/.ssh/config_foo が起動される。なかなか便利です。
|
| コメント (0)
|
SOCKS Proxy による IPv6 コネクティビティの提供という可能性
Sunday | January 9, 2011
|
IPv6 接続性を提供するのに、SOCKS Proxy を使用するというのはアリかもしれない、とふと思った。
実際に、SSH で自宅のサーバ(IPv6 アドレスあり)に接続し、Dynamic Forwarding ポートを IPv6 アドレスを持たないマシン上で動作する Firefox の SOCKS Proxy として指定すると、IPv6 Only なサイトを閲覧することができている (FoxyProxy で DNS Lookup をリモートで行うように設定しておくのがポイント)。
一般向け ISP では今年 4 月以降順次 IPv6 が提供されることになっているが、それ以外の環境で手軽に使いたいときはいいかも。ネックは、SOCKS Proxy (+ DNS Lookup をリモートで行うオプション) に対応したクライアントソフトウェアがあまり無いということか。
|
| コメント (0)
|
簡単な UDP Hole Punching の実験
Sunday | January 2, 2011
|
NAPT 下のノード同士で UDP Hole Punching の簡易テスト。
環境は、N1 --- [NAPT1] --- Internet --- [NAPT2] --- N2 といった感じ。まず N1 で# nc -u -s (N1 のプライベート IP アドレス) -p 10000 (NAPT2 のグローバル IP アドレス) 20000 と実行、次に N2 で# nc -u -s (N2 のプライベート IP アドレス) -p 20000 (NAPT1 のグローバル IP アドレス) 10000 と実行。
もしポート 10000, 20000 が NAPT1, NAPT2 下の他ノードによって使用されておらず、かつ、各 NAPT デバイスが source port を可能な限り変換しない実装(だいたいそうなってる気がする)であれば、UDP でデータのやり取りができる。楽しいですね。
NAPT 箱の UDP 用 NAPT Timer は通常短く設定されているので、手早くやりましょう。
|
| コメント (0)
|
年賀状
Sunday | January 2, 2011
|
なんかすごいことをやらかした気がするけど、気にしない…大汗
|
| コメント (0)
|
JavaScript の文字列リテラルに使うクォート文字
Sunday | January 2, 2011
|
「"」と「'」が違いなく使えると、どちらを使うか悩ましいですね。 今のところのオレオレルールは、「プログラム上の意味がある個所(定数など)にはシングルクォート」「表示するための文字列等はダブルクォート」と使い分けてます。一般的には、どうなんでしょうか…。
jQuery も手に馴染んできて、前に書いた for loop を each やら map やら(今日知った)で書き直したりとか、そんなことをやって楽しんでます。プログラミングがこんなに楽しかったのは久しぶりかもしれない。
一応トレンド? (常識?) としては「HTML ファイルでモデルを、外部 CSS ファイルでビューを、外部 JavaScript ファイルでロジックを記述」ということだと思うのですが、Ajax な画面設計をしていると複数のダイアログを 1 ファイルにどんどん書くので、だんだん開発効率が落ちますね。開発時は機能単位ごとに独立して記述できて、デプロイ時はシングルファイルにしてくれるような IDE が欲しいかも。
|
| コメント (0)
|
<< 前ページ[1]
トップページに戻る
Copyright © 2006-2021 Kenichi Maehashi, All Rights Reserved.