○ハードディスク障害と復元③
・photorec.sigの使い方
月別: 2016年5月
HDD
仮想化技術
Hyper-vを利用するにはVT-xとSLATが必要。SLATは
インテル® バーチャライゼーション・テクノロジーについて
のEPTにあたる。
VirtualBoxなどで64bitOSを利用するにはVT-xが必要
Disk2vhdツールで物理ディスク環境をVHDファイルに変換する
稼働中のマシンのHDDから、VMware Player用の仮想マシンを作る
PartImageでHDDをダンプする
利用中のPCを丸ごとVMware形式の仮想マシンへ変換「VMware vCenter Converter」
VMware/Hyper-Vの仮想ディスクを相互変換可能なフリーソフト【StarWind V2V Converter】
VHD to VMDK
vmware playerで既存のパーティションを起動する
VMware raw disk
VMware の仮想ディスクを物理ディスク構成に変更する方法
仮想マシンからローカルディスクに直接アクセスする
既にインストール済みのWindows 98をVMwareで使うには
IDEディスクを直接「rawディスクパーティション」として利用する
【参考】VMwareのディスクイメージをさくらのクラウドで利用する
VHD(仮想ハードディスク)をWindows7/Windows8/Windows Serverに直接マウントする方法
壊れたWindows PC(HDDは無事)のHDDを新マシン上のVMWareで仮想化して起動する
(削除)
仮想環境
ASP.net 操作ログ採取 TableAdapter拡張 改良版
○TableAdapterの基底クラスを作成
using System.ComponentModel;
using System.Data.SqlClient;
using System.Reflection;
using System.Web;
using System;
namespace Logic.dataset
{
public class TableAdapterBase : Component
{
public SqlDataAdapter InnerAdapter
{
get
{
return (SqlDataAdapter)GetType().GetProperty("Adapter",
BindingFlags.NonPublic | BindingFlags.Instance).GetValue(this, null);
}
}
static public event SqlRowUpdatedEventHandler sqlRowUpdatedEvent = delegate { };
static public event SqlRowUpdatingEventHandler sqlRowUpdatingEvent = delegate { };
public TableAdapterBase() : base()
{
InnerAdapter.RowUpdated += rowUpdatedEventHandler;
InnerAdapter.RowUpdating += rowUpdatingEventHandler;
}
private void rowUpdatedEventHandler(object sender, SqlRowUpdatedEventArgs e)
{
sqlRowUpdatedEvent(sender, e);
}
private void rowUpdatingEventHandler(object sender, SqlRowUpdatingEventArgs e)
{
sqlRowUpdatingEvent(sender, e);
}
}
}
○イベントを設定
・Page_Load部
Logic.dataset.TableAdapterBase.sqlRowUpdatedEvent += putLogSqlRowUpdatedHandler;
・Page_Unload部
Logic.dataset.TableAdapterBase.sqlRowUpdatedEvent -= putLogSqlRowUpdatedHandler;
private static void putLogSqlRowUpdatedHandler(object sender, System.Data.SqlClient.SqlRowUpdatedEventArgs e)
{
putLog(e.Row);
}
private static void putLogSqlRowUpdatingHandler(object sender, System.Data.SqlClient.SqlRowUpdatingEventArgs e)
{
//putLog(e.Row);
}
※dt.Update()系は拾えるが、dt.Delete()系はダメ。Update()でDeleteしていたら拾える?
SqlDataAdapterはsealedの為、拡張できない。。。
正規表現
・正規表現を可視化してまとめたチートシート 半角英数字のみ(空文字OK)・・・ /^[0-9a-zA-Z]*$/ ■サクラエディタ \t ・・・タブ ^ ・・・行頭 $ ・・・行末 ○○|△△ ・・・ or 検索 林(一郎|次郎) ・・・「林一郎」と「林次郎」に一致
ASP.net 操作ログ採取 DataTable
using System.Reflection;
namespace Logic.dataset {
public delegate void LogEventHandler(object sender, EventArgs e);
public partial class data_〇〇 {
partial class ○○DataTable
{
static public event LogEventHandler logEvent = delegate { };
public void myGetData()
{
//イベント発生
logEvent(this, EventArgs.Empty);
:
:
namespace myApp
{
public class baseBasePage : System.Web.UI.Page
{
protected override void OnInit(EventArgs e)
{
//イベント追加
Logic.dataset.data_〇〇.〇〇DataTable.logEvent += putLogHandler;
base.OnInit(e);
}
protected override void OnUnload(EventArgs e)
{
//イベント削除
Logic.dataset.data_〇〇.〇〇DataTable.logEvent -= putLogHandler;
base.OnUnload(e);
}
:
:
