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という修飾子をつける.

参考文献

  1. 2007-06-10 [Java]1行でシャローコピー/ディープコピー - 現場のためのソフトウェア開発プロセス - たかのり日記

XStreamを使ったdeep copy

com.thoughtworks.xstream.XStreamというライブラリでもディープコピーが出来るらしい.以下のページには,「XStreamなら、対象のオブジェクトがSerializableを実装していなくても書き出せるのがポイントですね。」と書かれている.

  1. XStreamを利用して簡単にディープコピー - kaisehのブログ

2011-07-13(Wed) 編集

[サーバまとめ][openSUSE][syslog] rsyslogの移行のまとめ

  • 「System->Logging->SYSLOGD_PARAMSに-rを指定する.-rでリモートからのログを受け付けるようになる」というのはobsoleteらしい.リモートからのログを受け取れるようにするには,以下の様に書く.
  • /etc/rsyslog.conf
     
    $ModLoad imudp
    $UDPServerRun 514
    
  • cronのログをcron.logに書くようにする.
  • /etc/rsyslog.d/cron.conf
     
    cron.* /var/log/cron
    
  • ルータのログも記録する.facility値(Syslogサーバにおけるファシリティ値を教えてください。【AirStation】 | BUFFALO バッファロー)ではうまくいかなかったので,ログメッセージで振り分けることにした.ハイフンは非同期で記録するという指示.
  • if $msg contains '[MAC ADDRESS] ROUTER_NAME' then -/var/log/router
    
  • cronのlogがmessagesに書かれないようにする.
  • /etc/rsyslog.d/cron.conf
     
    #*.*;mail.none;news.none                        -/var/log/messages
    *.*;mail.none;news.none;cron.none                       -/var/log/messages
    

トップ «前の日(07-12) 最新 次の日(07-14)» 追記 設定
2006|01|06|12|
2007|06|09|
2008|01|03|04|06|07|08|09|10|12|
2009|01|02|05|06|07|08|10|11|12|
2010|03|04|05|06|07|08|09|10|11|
2011|01|02|03|04|05|06|07|08|09|11|12|
2012|01|02|04|06|07|08|10|11|12|
2013|01|02|03|07|08|10|11|12|
2014|01|02|04|05|06|07|08|09|10|11|
2015|01|02|07|11|12|
2016|01|03|05|07|08|09|