yuu_nkjm blog
2009-07-13(Mon) 編集
[coLinux][Windows] WindowsXPで無線LANを使ったブリッジ接続
「USBの無線LAN接続が動作する.有線LANとcoLinuxのブリッジ接続は動作する.しかし,USBの無線LANとcoLinuxのブリッジ接続をすると,ネットワークが全く使えない状態になる.」という症状が発生した.
通常だとForceCompatibilityModeがenableになっていない.
[E:\]netsh bridge show a ID AdapterFriendlyName ForceCompatibilityMode ---------------------------------------------------------------------- 1 USB-Wireless unknown 2 openSUSE-coLinux unknown 3 MP45-D unknown ----------------------------------------------------------------------
ForceCompatibilityModeをenableにする.
[E:\]netsh bridge set a 1 e [E:\]netsh bridge set a 2 e [E:\]netsh bridge show a ---------------------------------------------------------------------- ID AdapterFriendlyName ForceCompatibilityMode ---------------------------------------------------------------------- 1 USB-Wireless enabled 2 openSUSE-coLinux enabled ----------------------------------------------------------------------
以上のような操作をしたところ,ブリッジ接続が正しく動作し,USB-WirelessとopenSUSE-coLinuxという二つのネットワーク接続にIPアドレスが割り当てられるようになった.
参考にしたページ
2010-07-13(Tue) 編集
[Java] Javaでapache.commons.lang.SerializationUtils.clone()を使ったディープコピー(Deep Copy)
ディープコピー(Deep Copy)とシャローコピー(Shallow Copy)の区別がつかずにやられるのは誰もが通る道.標準ライブラリを使って自前で実装するのもありだけど,apache.commons.lang.SerializationUtils.clone()を使うのが簡単っぽい.こちらのページには,シャローコピーの例も出ている.
deepCopy関数の内側でキャストするのも良いと思うけど,DataManagerクラス内で,いろんなオブジェクトのdeepCopyをしたかったので,キャストはdeepCopy関数の外側にした.これだと,SerializationUtils.clone()を直接呼ぶのと変わらないんだけど,何をしているかを自分にとって分かりやすくしたかった.
import org.apache.commons.lang.SerializationUtils;
import java.io.Serializable;
public class DataManager {
private EleSimulationState simulationState;
private List histories;
public void finalizeSimulationState() {
histories.add(simulationState);
this.eleSimulationState = (SimulationState) deepCopy(this.simulationState);
}
public Object deepCopy(Serializable state) {
Object dest = SerializationUtils.clone(state);
return dest;
}
}
cloneする対象はSerializableをimplementsする.
public class SimulationState implements Serializable{
private Map<Id, Facility> facilities;
private Map<Id, Vehicle> vehicles;
}
cloneする対象のメンバ変数に含まれるクラスはSerializableをimplements(interface定義ならextends)する.
public interface Facility extends Serializable{}
public interface Vehicle extends Serializable{}
シリアライズ(直列化)の対象から外したいメンバ変数には,transientという修飾子をつける.
参考文献
XStreamを使ったdeep copy
com.thoughtworks.xstream.XStreamというライブラリでもディープコピーが出来るらしい.以下のページには,「XStreamなら、対象のオブジェクトがSerializableを実装していなくても書き出せるのがポイントですね。」と書かれている.
2011-07-13(Wed) 編集
[サーバまとめ][openSUSE][syslog] rsyslogの移行のまとめ
- 「System->Logging->SYSLOGD_PARAMSに-rを指定する.-rでリモートからのログを受け付けるようになる」というのはobsoleteらしい.リモートからのログを受け取れるようにするには,以下の様に書く.
/etc/rsyslog.conf $ModLoad imudp $UDPServerRun 514
/etc/rsyslog.d/cron.conf cron.* /var/log/cron
if $msg contains '[MAC ADDRESS] ROUTER_NAME' then -/var/log/router
/etc/rsyslog.d/cron.conf #*.*;mail.none;news.none -/var/log/messages *.*;mail.none;news.none;cron.none -/var/log/messages