技術をかじる猫

適当に気になった技術や言語、思ったこと考えた事など。

Tips

viewport設定

素のHTML5のページを作ってみる。 <html> <head> <meta charset="utf-8" /> <title>disable viewport</title> </head> <style> article, aside, figure, footer, header, hgroup, menu, nav, section { display:block; } p { font-size:12px; } </style> <body> <p>viewport metadata disabled!</p> </body> </html> これで…

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…

リモートデスクトップ環境をさくっとくみ上げる

外出先からOnして地デジ録画するために、さくっと環境整えてみた。 前提は以下の通り。 光回線が入っている リモート対象の他に、開いてるPCが1台以上ある ルータの操作ができる グローバルアドレスとローカルアドレスの意味が理解できる Linux の端末が多少…

FlexComponentを作ってみる

マズ、基本的なものを作ってみる。 サンプルには、ChakListを用意してみた。 最初に、MXML で作成してみる。 <mx:List xmlns:mx="http://www.adobe.com/2006/mxml"> <mx:itemRenderer> <mx:Component> <mx:HBox> </mx:hbox></mx:component></mx:itemrenderer></mx:list>

XML読み込んでみる。

最初に XML を拾って解析してみる。tags.xml <tags> <tag id="0" name="猫" /> <tag id="1" name="犬" /> <tag id="2" name="動物" /> </tags> contents.xml <contents> <item title="窓辺の淑女" url="image/sample.jpg" thumb="thumb/sample.jpg"> </item></contents>

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"); 何が…

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…

基本的な Aspect 実装をしてみた

結局、RealProxy 経由する限り、オブジェクトが MarshalByRefObject になるのは避けれないし、Attribute 実装で new をフックするにも、ContextBoundObject でないと、Attribute インスタンスでフックできない。 とはいえ、これはこれで使ったほうが早いかと…

素の .NET で Aspect 指向したくてがんばってみた。

C# の .NET でアスペクト指向がしたくて根性出してみた。 あぁ、Python ならデコレータで一発なのに、、、、とかやってて思った。*1実装方法的には、RealProxy 噛ませば、メソッドコールを基本すべて横取りできる。 で、RealProxy ラップすると、GetTranspar…

Graphviz の特定用途向けフロントエンド作ってみた

仕事で、仕様書を読む必要があったのだが、やたらと種類があるだけでなく、ディレクトリ階層もよく分からない。 挙句、ファイル名が処理コードなので、名前から関連性が分からない。そんな状況に嫌気が差して、ファイル間の繋がりを記録しておくものが欲しく…

Windows7(64) を MacBook に無理やり突っ込んでみる

Windows7 の 64bit 版は、BootCamp のユーティリティがまず入らない。 バージョンチェックでVistaを超えてると怒り出す仕様らしい。だが、基本カーネルがVista互換なら、Driver も動いてしかるべきだ。 なので、ここではインストーラをクラックして無理やり…

.NET を理解する9

ガベコレされないパターンもあると覚えておく。.NET でガベージコレクションがあるので、みんな結構油断してると思うけど、意外なところでメモリリークすることがある。 代表例を以下に示してみる。 class SampleEventer { int vals; public SampleEventer(i…

RedmineLE が思ったより便利な件

http://sourceforge.jp/projects/redminele/ユーザ管理(LDAP)、SVN、Redmine(Rails 製トラッカー)、Hudsonが一発で全部入る。 LDAP 自体は専用なわけでもないから、これをコアにコミュニティサイトと連携とか意外と夢が広がる。 競合としてはhttp://sourcefo…

SnowLeopard に BootCampでWindows7入れてVMWareFusion2で起動する

というようなことをやってみた。 BootCamp で Windows7 を入れる まず最初に Boot Camp で Windows 7 を突っ込む。 このとき、32bit 版を突っ込むほうがよさそう。なぜなら、この記事書いてる時点では BootCamp のドライバが 64bit Windows に対応していない…

TotoiseSVN がマシンを亀にする。

会社で仕事してて、メモリ 4G/CPUCore2 2.4GHz にもかかわらず、ブチ切れそうなほど Eclipse が重い。 そりゃぁ mem 食い虫の Eclipse に当然のごとく JBoss とか動かせばそりゃ重くはなるが、JavaSource 保存で1分強待たされるとかどう考えても異常。 自動…

.NET を理解する8

スレッド覚えてみる というか半分以上復習。スレッドの立て方一覧。 厳密にはスレッドとは違うけど、非同期実行できるものは列挙。 delegate の BeguinInvoke 経由でメソッドを非同期実行する。 System.Threading.Thread クラスインスタンスからスレッド実行…

.NET を理解する7

サービスの作成 .NET のサービスを作成するにあたり、色々調べてみる。 ServiceBase クラスを継承してサービス作る ServiceController クラスで .NET アプリからサービスの開始停止を制御できる ServiceControllerPermission サービス コントローラに対する…

.NET を理解する6

標準インターフェースを覚えてみる 標準インターフェースとその役割について考えてみる。 IComparable : Generic あり。オブジェクトの大小比較を行う。ソート時の評価で利用。 IDisposeable : オブジェクトガベージ時にリソースを開放する。com オブジェク…

.NET を理解する5

ジェネリックコレクション ジェネリックコレクションは、System.Collection.Generic に存在する、Generic 機能を利用したコレクションクラスです。 これは、対応する非ジェネリックコレクションに比べて、タイプセーフかつ高速に動作します。これには List D…

.NET を理解する4

ジェネリックを理解する .NET Framework 2.0 から追加された機能です。 主にコレクションで良く見られますが、プログラムの設計においてもタイプセーフでかつ汎用性の高いオブジェクトを作成することができます。 論より Run 以下で簡単な Generic の実装サ…

.NET を理解する3

.NET のデータ構造 Stack , Heap , Hash どれもちょっとプログラムを齧ったことがあれば聞き覚えはあるでしょう。 もちろん自分で実装する人もいますが、正直それは時間の無駄です。 Java 然り、C++ の STL 然り、古い言語であっても、そのようなライブラリ…

.NET を理解する2

型について .NET Framework の言語では、クラスとは独自に定義出来る型であり、値型、参照型、メソッド、属性、プロパティを含む事が出来ます。 // 属性 [Serializable] public class SampleClass { // 値型 int id; // 参照型 string name; // メソッド pub…

.NET を理解する(基礎にして初歩にあらず)。

はじめに .NET には様々な「型」が存在しており、これらの「型」を利用したり、ユーザが独自に「型」を定義することで処理の責任範囲や処理の種類を分類します。 オブジェクト指向に関する哲学や考え方を紹介する訳ではありませんので、ここでは説明しません…