かずきのBlog@hatena

すきな言語は C# + XAML の組み合わせ。Azure Functions も好き。最近は Go 言語勉強中。日本マイクロソフトで働いていますが、ここに書いていることは個人的なメモなので会社の公式見解ではありません。

2007-02-01から1ヶ月間の記事一覧

JUnitFactoryメモ

com.agitar.lib.TestHelper/SetupHelperインターフェイスを実装したクラスに色々追加することで、自動生成されるテストをある程度制御できるみたい。 SetupHelperはTestHelperを拡張したもので、SetupHelperのメソッドを実装するとJUnitでいうsetupやteardow…

JUnit Factory!

Agitar社のAgitarOneのJUnitの自動生成機能がタダで使えるっぽい。 サイトは↓。 junitfactory.com ユーザ登録すれば、Eclipseのプラグインがダウンロードできる。 ダウンロードしなくてもお試しは可能!! Web DemoでブラウザにJavaのコードをぱちぱちと打ち…

VimでRubyをするための設定

Windows PowerShell使ってたけど、サクラエディタをいちいち起動するのがめんどくさくなってきた。 なので、Vimを導入!! 香り屋 — KaoriYaからVimをダウンロード vimでrubyプログラミング S.S.S. blog/ウェブリブログでRuby用の設定 Route 477 - Vim覚え書…

VisualWebPackで不可解な動き

VisualWebPackのファイルアップロードコンポーネントのあやしい挙動にはまった。 画面に置いただけで動作が変わってしまう。再現手順 1)適当なプロジェクトをこさえて下のような画面を作る 2)JSPに下のように同じnameのinputタグをいっぱい書く <input name="hoge" type="hidden" value="1"/> <input name="hoge" type="hidden" value="2"/> <input name="hoge" type="hidden" value="3"/> 3)…

便利なモジュールたち

便利なモジュールの小物がいっぱい。 http://blogs.sun.com/roller/resources/scblog/update-center.xml後で家のに入れよう。

とりあえず作ってみようの続き

とりあえず作ってみよう - かずきのBlog@Hatena の続きってことで、とりあえず作ってみた。 これくらいのプログラムを組むのに結構かかってしまう。 まだまだ脳みそが関数型言語を使う領域に達していないんだなぁと実感。 そしてHaskell的に、いいプログラム…

デスクトップにドッキングしたウィンドウを作るには

C#

C# does Shell, Part 3 - CodeProject あぁ、読まなきゃいけないものがたまっていく… 色々探してたら、おなじみのここの窓プログラミングにもタスクバーみたいなウィンドウを造るってので丁寧に開設してあった。 窓プログラミング

とりあえず作ってみよう

前にやった問題 をHaskellで考えてみよう。とりあえず、ほしいのはこんなもの? module Sort where recordSort :: [Int] -> [(Int, Int)] -> [Int] recordSort _ _ = []ここからスタートだ!一応mainもつくって期待通りに[]が表示されるのは確認 module Main…

EclipseのASTParserを試す

後で読もう

JDBCでint型のカラムの値がnullかどうか調べる方法

ResultSet rs = stmt.executeQuery("select ...."); int value = rs.getInt("hogehoge"); このときvalueがnullなのかどうかを調べる方法を今まで知らなかった。 getObjectしてnullかどうか見るのは初心者さんらしい。JDBCの正しい方法的には↓ ResultSet rs =…

PropertyGridに新しいTabをつけよう

PropertyGridがデフォで用意してくれる見た目は素敵。 でも、これはSelectedObjectに設定されたオブジェクトのプロパティをそのまま見せてる(Attributeで見せ方をカスタマイズ可能)だけ。 ということで、Tabを1つ追加して自分の世界を作るぞ! Tabを追加…

CollectionEditorまとめ

CollectionEditorのまとめ コレクション内のアイテムのクラスにはInstanceDescriptorへの変換(TypeConverter)を作る コレクションはSystem.Collections.ObjectModel.Collectionを継承して作る コレクション内のアイテムのクラスが複数ある場合はCollectionEd…

CollectionEditorのなぞ

前のコレクションエディタ - かずきのBlog@Hatenaの最後の方で作ってたコレクションエディタに下記のようなことをこそっと書いてた。 internal class GreetCollectionEditor : CollectionEditor { private Type[] supportTypes = new Type[] { typeof(Normal…

System.Collections.Generic.Listは継承しちゃ駄目よ

そうだったのか!知らなかった。 http://msdn2.microsoft.com/ja-jp/library/ms182142(VS.80).aspx

コレクションエディタ

さて、ボタンを押したら挨拶してくれる機能を簡単に作れる素敵なコントロールも大きな分岐点っぽいです。 ただたんに挨拶するだけじゃぁつまらない。ってことで、挨拶をいっぱい登録できて10種類の挨拶を登録したら10回ダイアログに挨拶を表示させるよう…

ドロップダウンで選択させたい

HelloControlもそれっぽくなってきたところで、GreetプロパティのNameプロパティをいくつかの名前の候補の中からも選べるようにしたい! 絵にするとこんな感じ StringConverterを継承してこんな感じで実装するみたいだ。 public class GreetNameConverter : …

自作クラスのプロパティ

さて、Greetプロパティは文字列でした。 これを、こんなクラスに変更してみたいと思います。 namespace CustomControlTest { public class GreetMessage { private string name; /// <summary> /// 挨拶をする人の名前 /// </summary> public string Name { get { return name; …

デフォルトのプロパティ

1つ前のエントリでBrowsable(false)にしてしまったGreetプロパティををBrowsable(true)に変更する。 隠したってしゃぁないしね。 さて、このユーザコントロールではGreetプロパティを設定してもらわないと何もはじまらない! そんな重要なプロパティはデフ…

プロパティのカテゴリ/プロパティの非表示

仕事はじまるまで後5分。 とりあえず、一番簡単に試すためにユーザコントロールを作成! ボタンを置いてTextをHelloにしてクリックするとWorldっていうダイアログを表示する。フォームにおいて実行!! 無事でた!!Worldが出るだけじゃつまらないので、Gree…

アノテーション版!

前の日記で書いたAspectJのハローワールドをアノテーションを使ったものに書きかえてみた。書き換え前 package org.okazuki.aspectj.hello; public aspect HelloWorldAspect { pointcut sayHello() : execution(public void HelloWorld.sayHello()); before(…

ばいとこーどえんじにありんぐ?

Aspect指向と組み合わせると面白そうってことでさくっとやってみた。とりあえず使ってみたものは、以下の4つだ! ClassPool CtClass CtMethod CtNewMethod 手順 ClassPool.getDefaultでClassPoolゲット ClassPool#makeClass CtNewMethod.make CtClass#addMe…

アラウンド!

beforeやafter(returningを取ると例外が出ても実行してくれるみたい)のほかにもaroundっていうものがある。 これが一番あれこれ出来て面白そうに感じる今日この頃。aroundの書き方はこんな感じ 戻り値 around(引数) : ぽいんとかっと { 挟み込みたい処理 pr…

参考になりそうなページ

AspectJの参考になりそうなページをみつけた! http://www.02.246.ne.jp/~torutk/aspectj/index.html

ポイントカット

さて、さっきのHello worldを書いてて思ったけどめんどくせ〜! 何がって、public void org.okazuki.aspectj.hello.HelloWorld.sayHello()っていっぱい書くのが。 何かパッケージ名は、同じパッケージにいるかimportしてる場合は省略可能らしい。 早く教えて…

AspectJでHelloWorld

朝インストールして仕事後にHello world!!! AJDTを入れるとAspectJプロジェクトが作れる。 サクッと作成。 そこに、普通のJavaのクラスを作成する。 package org.okazuki.aspectj.hello; public class HelloWorld { public void sayHello() { System.out.pri…

AspectJしてみよう

何か来年度の一年間お世話になるようなので、さくっとインストールしてみた。 Eclipse上でやろうとするとAJDTを入れると素敵なことになるようだ。 http://www.eclipse.org/ajdt/Downloadsを見ると、更新サイトのURLが載っている。 今日時点ではhttp://downlo…