さて、今回はとあるルータにまつわるお話。
Aterm病?
昔のNEC製の一部のルータを使った経験のある者の間ではいわゆる「Aterm病」と言われる症状が(たぶん)有名である。
その名前の通り、Atermという名前のついた種類のルータで起きる不具合(仕様?)だ。*1
その具体的な症状は、ネットワークが頻繁に切れるというもの。*2
その原因と対策について簡単に記す。
さて、ある変数が何のオブジェクトも参照してないときにメソッドを呼ぼうとしたりするとNullPointerExceptionになる。
その場合は分かりやすいが、"+"を使うときは注意が必要だ。
下記に簡単な例を示す。
public class Main { public static void main(String[] args) { String s = null; s += "hogehoge"; System.out.println(s); //nullhogehogeが出力される String s2 = null; s2 = s2.concat("hogehoge"); //ここでエラーになる System.out.println(s2); } }
nullなStringに対してメソッドの呼び出しはエラーになるが、"+"で文字列を追加した場合にはエラーにはならず先頭に"null"という文字列が付加される。*1
Macだとデフォルトでは隠しファイルはFinderに表示されない。
(だからこそ隠しファイルという名前が付いてるのだが。
しかし隠しファイルが表示されないと色々不便なので、表示するようにする。
ターミナルから、
defaults write com.apple.finder AppleShowAllFiles -boolean true
と入力する。
そのあと
killall Finder
でFinderを再起動すると、隠しファイルが表示されるようになる。