謎言語使いの徒然

適当に気になった技術や言語を流すブログ。

.NET

VisualStudio2013 Express(forWeb)で自動テストを考える

まずはサンプルとテストを書く所から考える。 サンプルはオンラインから拾ったプロジェクト「ASP.NET MVC5 with Bootstrap 3.1.1 LESS」を選んだ。 次に、ここのUTを書く。 ソリューションエクスプローラから、「追加」「新しいプロジェクト」を選び、「テス…

PIN拾ってアプリのアクセスコードを拾う

ざくっと書いてみたけど。 using System; using System.Collections.Generic; using System.Linq; using System.Text; using Twitterizer; using System.Diagnostics; namespace net.azworks.Twitter { public class TwitterAuth { public static void GetAu…

Twitter タイムラインを拾ってみる

Twitter のタイムラインをC#で拾ってみた。 で、やることを列挙 https://dev.twitter.com/ でTwitter開発者登録+SignIn https://dev.twitter.com/apps で作成するアプリケーションを新規登録。 Consumer key, Consumer secret をメモしとく Optionから欲し…

Twitter タイムラインをストリームで引っこ抜く

前回同様にTwitterizer経由で突っ込んだ。 Stream なので、継続的に拾えるようだ。 using System; using System.Collections.Generic; using System.Linq; using System.Text; using Twitterizer; using Twitterizer.Streaming; namespace TwitterTest { pub…

Mutexによる同期

VOICEROID(東北ずん子・結月ゆかり)で同時に何か喋らせようとした時に、クリップボードをお互い参照している。 この貼り付けのタイミングによっては上手く貼り付けができなかったり、隣のメッセージを貼り付けてしまったりする。 しかもこの2つはインスタ…

コマンドラインをザクッと解析する

何で今さら?というと、、、、 要はツール作ろうと思ったけど、コマンドライン解析が面倒だったという話。紹介するのはコレhttp://commandline.codeplex.com/ほげっとクラス書いて class Options { [Option("i", "in")] public string inputDir; [Option("o"…

XmlSerializer 試してみる。

実行対象のデータクラス(持ち越し)。 namespace UsingXmlSerializer { [Serializable] public class Hardwere { public uint Price; public String Name { get; set; } public String Maker; public override string ToString() { return string.Format( "Na…

SoapFormatter 経由でシリアライズとかしてみる。

前回のコードの BinaryFormatter を SoapFormatter に変更して、System.Runtime.Serialization.Formatters.Soap 参照を突っ込む。そして出来上がったXMLが、

BinaryFormatter 経由で、オブジェクトをシリアライズとデシリアライズ

シリアライズ対象。 [Serializable] public class Game : IDeserializationCallback { public HardwereType[] Hard { get; set; } public String Title { get; set; } public String Genre { get; set; } public uint Price { get; set; } public override s…

WCF で、バッチファイルをリモートで動かしてみた。

何か昔作ったサービスが古いフォルダから出てきた。 リモートで適当な登録済みバッチファイルを動かすだけ。 セキュリティとかガン無視してます。 WCF だから、適当に認証設定するといいよ!インターフェース namespace RunBatService { /// <summary> /// バッチファ</summary>…

書くDictionary系コレクションのベンチマーク

色々やってみた。 Collection:Hashtable Insert 100000 : 13(msec) AccessRandom 100000 : 6(msec) SequentialAccess 100000 : 9(msec) ------------------------------- Collection:SortedList Insert 100000 : 27(msec) AccessRandom 100000 : 22(msec) Se…

他のプロセスで使ってるファイルを読む

WindowsUpdate.log を読み込んで日付時刻、終了コード引っこ抜けという課題があったので、.NET でやって食った。 そのときのコードがこんな感じ。 string windowsSystemDir = Environment.GetFolderPath(Environment.SpecialFolder.Windows); string filePat…

正規表現で特定の要素をぶっこぬく。

教材は、、、ウチのサイトのRSSでいいか。http://d.hatena.ne.jp/white-azalea/rssここからタイトルとリンクを正規表現でぶっこぬく。 正規表現の書き方講座する気はないので、要は抽出置換しか考えない。 <title>(?<title>.+)</title>\s+<link>(?<url>http://[\w_\?\-\./]+)</link>URL の認識…

WPFのTreeViewいじってみた。

バインド対象のモデル。 やべ、C#は覚えてるけど、WPFは2年いじってないからほぼ忘れた(;・∀・) ここ眺めながら必死に思い出す。 class ModelDataValue : INotifyPropertyChanged { public event PropertyChangedEventHandler PropertyChanged; public Mode…

隔離領域ストリーム

マシン、ユーザに対して、アプリケーション単位、アセンブリ単位、ドメイン単位で隔離領域アクセスできるようだ。 static void Main(string[] args) { WriteMessage(); ReadMessage(); Console.ReadLine(); } static void ReadMessage() { IsolatedStorageFi…

ストリーム

Fileとかのストリームはたくさんあるので、使われにくそうなのから。 using System.IO; MemoryStream stream = new MemoryStream(); StreamWriter writer = new StreamWriter(stream); writer.WriteLine("Welcome to memory stream."); writer.Flush(); stre…

ディレクトリ内ファイルアクセスのトレース

FileSystemWatcher watcher = new FileSystemWatcher(Environment.GetEnvironmentVariable("USERPROFILE")); watcher.Changed += new FileSystemEventHandler( delegate(object sender, FileSystemEventArgs e) { Console.WriteLine("Change : {0}", e.Name)…

ディレクトリ内情報取得

static void Main(string[] args) { DirectoryInfo info = new DirectoryInfo(@"C:\msysgit\msysgit"); foreach (var directory in info.GetDirectories()) Console.WriteLine("Find : {0}", directory.Name); foreach (FileInfo file in info.GetFiles()) C…

ドライブ情報の列挙

using System.IO; foreach (DriveInfo driveInfo in DriveInfo.GetDrives()) { Console.WriteLine("DriveType : {0}, DriveFormat : {1}, Name : {2}, Size : {3}, FreeSpace : {4}", driveInfo.DriveType, driveInfo.DriveFormat, driveInfo.Name, driveInf…

ソートしてみる

ソートを行うコードをいろいろ書いてみる。 まずは外部定義でソート条件を記述するタイプ。 class SampleSortable : IComparer<string> { public int Compare(string x, string y) { return x.Length > y.Length ? 1 : -1; } } class Program { static void Main(str</string>…

型変換を定義する

互換性のない型同士で、暗黙、明示的な型変換を定義する。 class TypeConvertionOne { public string haveCode { get; set; } public static implicit operator TypeConvertionOne(string one) { return new TypeConvertionOne() { haveCode = one }; } publ…

TypeForwardedToAttribute使ってみる

オライリー本読んでたら見慣れないキーワードが出てきたので使ってみた。 どうも日本語の情報がなかなか見当たらないんだ、、、、、まぁいいけど。 アセンブリは Libarary1 namespace ForwardTest { public class SampleForward { public string Message(str…

各種Dictionary使ってみる

Genericあるのにいまさら非Genericなのを新規に使う意味は薄そう。 正直保守性下がるしw static void Main(string[] args) { System.Collections.Hashtable hashTable = new System.Collections.Hashtable(); System.Collections.Specialized.ListDictionar…

Genericなコンテナ使ってみる

Dictionary で使う。 var 使って、VSのコード保管してるうちはいいけど、KeyValuePair 型なんて知らないと出てこないよな。 .NET のこういうトコ微妙w static void Main(string[] args) { Dictionary<string, int> container = new Dictionary<string, int>(); container.Add("azalea"</string,></string,>…

.NET のGenericパフォーマンス比較してみる

C#3.5 以上のコンパイラだと、2.0対象でもいろいろシンタックスシュガー使えるので楽ね。 コンパイル後の中間コードに、generic 専用構文があるから、変換コストゼロで使える。 逆にJavaの場合、コンパイラが暗黙でキャストするだけだから、変換コストがかか…

EventLog 書き込む

色々試してみた。 class Program { static void Main(string[] args) { string source = "MySource"; if (!EventLog.SourceExists(source)) { EventLog.CreateEventSource(source, ""); } EventLog.WriteEntry(source, "SampleMessage", EventLogEntryType.I…

何か色々 appConfig 設定ファイル .NET 2.0 var

.NET 2.0 以上で取り出し方。 System.Configration.dll をライブラリ参照に加えて、以下のコード。 System.Configuration.ConfigurationManager.AppSettings["sample"]; (MyConfig)System.Configuration.ConfigurationManager.GetSection("MyConfig"); 何が…

何か色々 appConfig 設定ファイル

SQL の設定 とりあえずSQL周りを色々弄る。 プロジェクト作って、プロジェクトを右クリック、「追加」「新しい項目」「LINQ to SQL」DataClasses1.dbml だかが作れる。 適当にサーバエクスプローラからテーブルをドロップする。 すると、設定がこんなん。 <configuration> <configSections> </configSections></configuration>…

Aspect 指向のライブラリで、インスタンスキャッシュ(シングルトン)しようとして頓挫した、、、

Aspectが全てシングルトンだと過程して、「AAspect」→「BAspect」→「メソッド実行」のチェーンを組んで、実メソッド実行後に「実行メソッド」→「BAspect」→「AAspect」で戻れる実装が再起を除いて思い浮かばない。 再起でスタックを組んでしまうと、「BAspec…

Aspect 指向のライブラリを複数対応できるようにしてみた

http://www.white-azalea.net/index.php/p/azaleaworks/downloads/アップデートしてみました。 これで複数のアスペクトも同時実行できる。 namespace TestAspect { class Program { static void Main(string[] args) { SampleTarget target = new SampleTarg…