2009-08-01から1ヶ月間の記事一覧

Transaction 確認。

ちょっと話題に出た+忘れかけてたので再確認してみた。参考 トランザクション スコープを使用した暗黙的なトランザクションの実装 とか。 static void Main( string[] args ) { TranTest test = new TranTest(); test.TestExecute(); Console.WriteLine( "-…

Console WriteLine で色を変える。

そういや、xp あたりからエスケープシーケンスがデフォルトでは使えないんだっけ、とか思いつつ。 (NT以降の32BitのWindowsらしい)Console クラスは static だったので拡張できず残念。 出来るように言語拡張してくれないかな。 public static void ConsoleW…

SQL Azure Server テーブル定義取得

select * from sysobjects where xtype = 'U' order by xtype, name Azure ではこれ使えなかったんで View で ちょっと追加してるけど。 select objs.name , objs.object_id , objs.type , cols.name , cols.column_id from sys.all_objects objs , sys.all_…

円周率

つくば記念に。 ガウス・ルジャンドルアルゴリズム static double Pi(int count) { double a = 1; double b = Math.Sqrt( 1 / 2.0 ); double t = 1 / 4.0; double p = 1; for ( int i = 0; i < count; i++ ) { double x = (a + b) / 2.0; double y = Math.Sq…

.net でのエクセル読み込み

エクセルを読み込む。(未テスト)Openで全部の引数指定とかめんどいからクラス作ってみた。 ついでなんでちょっと機能拡張。まずは参照設定。 COM のタグから。 Microsoft Excel 11.0 Object Library WorkbookHelper /// <summary> /// ワークブックを簡易に扱えるラ</summary>…

NTP補足

2036年問題はいいけど。 その前にきっと IPV6 のほうが問題になるから結局2036年まで使えるかどうか。 参照識別子に IP 入ってくるし。 とか思ったらver4はIPV6対応なのか。固定小数点とかビット単位でのフラグとかいろいろ古臭い仕様だよな。

NTPクライアント

ソースまとめ [クラス] TimeSynchronizer 時刻補正 NtpClient NTP 通信用クライアント NtpPacket NTP 通信で使用するパケット NtpPacket /// <summary> /// NTP 通信で使用するパケットを提供します。 /// </summary> public class NtpPacket { const long COMPENSATING_RATE_32…

固定小数点数。

小数部は2の小数部の桁数(ビット)乗でわる。 桁数 = n 固定小数点の小数部 = a 求める値 = x x = a / Math.Pow(2, n)元ネタ 2pow(Σn-1)/2pow(Σn) = 1/2Pow((Σn) - (Σn-1)) = 1/2Pow(n)※てきとー表記法小数部16bitで0x8000なら0.5 単純に少数部は1/2の乗数に…

弱い参照

キャッシュみたいな。ずっと持ってるとリソース的に負荷が高いものは弱い参照が有効。 static readonly Dictionary<string, WeakReference> _cache = new Dictionary<string, WeakReference>(); static object GetValue( string key ) { if ( !_cache.ContainsKey( key ) ) { _cache[key] = new WeakReferen</string,></string,>…

NTP64ビットタイムスタンプフォーマット

NTP 64ビットタイムスタンプフォーマットを DateTime に変換。 /// <summary> /// NTP 64ビットタイムスタンプ形式から DateTime に変換します。 /// </summary> /// <param name="ntpTimeStamp">NTP 64ビットタイムスタンプ。</param> /// <returns></returns> static private DateTime NtpTimeStampToDateTime( long ntpTimeStamp ) {…

読み取り専用配列を作るには。

ReadOnlyCollectionが有効。 public class ReadOnlyCollection<T> : ReadOnlyCollectionBase { public ReadOnlyCollection( IList<T> sourceList ) { InnerList.AddRange( (ICollection)sourceList ); } public T this[int index] { get { return (T)InnerList[ind</t></t>…

エンコード判別

↓の話もあって派生。 まぁなんつーか結局確定はできないみたいだな。http://www.geocities.jp/gakaibon/tips/csharp2008/charset-check3.html http://tech.ymirlink.co.jp/perl/cpan/Unicode/Japanese.html http://www.kanzaki.com/docs/jcode.html http://w…

Shared Source Common Language Infrastructure 2.0

CLIのソース。 Shared Source Common Language Infrastructure 2.0 http://www.microsoft.com/downloads/details.aspx?FamilyID=8c09fd61-3f26-4555-ae17-3121b4f51d4d&DisplayLang=enこれなんだけど。VS2008ではこいつをそのまま動かせないわけで。 http://…

MTU 取得

送信パケットの最大サイズ。 http://msdn.microsoft.com/ja-jp/library/system.net.networkinformation.ipv4interfaceproperties.mtu.aspx要はパケットを送る際はこの値に注意ってことだな。 そこまで考えるシステムって限られるけど。受信は MRU というらし…

MagicPacket

マジックパケット。いわゆる Wakeup On LAN(WOL)ブロードキャストで投げる。 届かないときは諦めが肝心。MagicPacket仕様 0xff * 6 MAC * 6 class MagicPacket { public MagicPacket() { } public void SendPacket( string macString ) { byte[] mac = new b…

マネージDirectX

DLL 'C:\Windows\assembly\GAC\Microsoft.DirectX\1.0.2902.0__31bf3856ad364e35\Microsoft.DirectX.dll' は、OS ローダー ロック内でマネージ実行を試行しています。 DllMain またはイメージ初期化関数内でマネージ コードを実行しないでください。この動作…