かずきのBlog@hatena

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

Java

MimeLookup

ということで次はMimeLookup。 どういうときに使うかというと、ぱっと読んだ雰囲気だと選んでるファイルの種類に応じて何かしら処理をさせたいときとかに使える。 選んでるファイルの種類はFileObjectのgetMIMETypeによって調べれるっぽい。 どんなファイル…

FileSystemAPI その4 .settings

ついに最後!! .settingsファイルです。本によるとシンプルらしいですとよ。layer.xmlには下のように書くとOK <folder name="okazuki"> <file name="okazuki-modules-menus-Person.instance"/> <file name="myPerson.instance"> <attr name="instanceClass" stringvalue="okazuki.modules.menus.Person"/> </attr></file></file></folder>

FileSystem APIその3 .shadow

FileSystemAPIその2 - かずきのBlog@Hatenaの続きです。 .shadowの拡張子のあるファイルのお話し。 本によるとシンボリックファイルと同じだよ!ってことみたい。 attrでoriginalFile属性を使ってオリジナルファイルが何かを示してあげるだけ。サンプル!!…

FileSystem APIその3

「FileSystemAPIその2 - かずきのBlog@Hatena」の続き。前回は、.instanceという拡張子のfileに直接どのクラスのインスタンスを生成するのかを名前で示してあげた。 こんな風に <file name="okazuki-modules-menus-Person.instance"/> これだとお手軽。だけど多分デフォルトのコンストラクタでしかインスタンスが</file>…

FileSystemAPIその2

ということで先日なんじゃこりゃ!?って言った.instanceという拡張子のものから。 結論からいうとインスタンス作れるらしいよ。とりあえず今日は時間がないから早速プログラムをば。 昨日作ったメニューの下に1つメニューを追加!! んで、okazuki.modules…

File System APIその1

Lookupの他にFileSystemもNetBeansのModuleを書く上では重要っぽい。 こいつはLookupみたいにjarを1つ追加するだけで使えるよ〜っていうような記述は見当たらなかったので、大人しくNetBeansのモジュールとして作って見た。 構成はこんな感じ okazuki.modul…

ProxyLookupって何?

ProxyLookupというものがある。 どうやら2つ以上のLookupをくっつけてくれるものみたいです。擬似的なコードだとこんな感じ。 Lookup foo = どうにかして取得1(); Lookup bar = どうにかして取得2(); Lookup proxy = new ProxyLookup(foo, bar); //合体! /…

lookupしてみる

英語がさっぱりできないのにRich Client Programming PLUGGING INTO THE NETBEANS PLATFORMを買ってしまった。とりあえず、NetBeansのモジュールのプログラムを覗いてると良く出てくるLookupについて。 Lookupの機能自体はすごく単純でjarを1つクラスパスに…

SQL ServerとJavaの連携の設定

CodeZineにSQL ServerにJDBC接続する際の設定の記事がありました SQL ServerとJ2EEアプリケーションサーバのJDBC接続設定集 (1/6):CodeZine

4バイト文字の長さ

Vistaで追加された4バイト文字「飛魚」(←これが一文字になる) XPで見てる人もいると思うので、とりあえず出しません。こいつらが結構厄介なんですよ。とりあえず↓のコードを見てください。 C# Java <追記> うは!JavaとC#で出力結果が微妙に違うわ。画像…

JavaFX

Eclipse用プラグインとNetBeans用プラグインがあるみたい。 https://openjfx.dev.java.net/ の中ほどから落とせます。Getting Start(NetBeans使用)はここ。 https://openjfx.dev.java.net/Getting_Started_With_JavaFX.html

Fizz-Buzz問題 どうしてプログラムが書けないの?

モトネタはここ!! どうしてプログラマに・・・プログラムが書けないのか?なんていうか、プログラム書けないのにプログラマ(SE)を名乗るな!って言いたくなってくる。 でも、現実を見てみると情報系の学科を出た人で、↑のサイトにある問題を解ける人はほ…

三人の学生の合計・平均・最高・最低点

ある掲示板でこんな質問があった。 学校で出された課題です。自分でいろいろやってみたのですが上手くいきません。条件分岐の問題です。 プログラム作成内容 A,B,Cの3人の学生のテストの点数を入力して、 ・3人の点数の合計 ・3人の点数の平均点 ・…

どれにしようか

今自分が使える言語は下にあるとおり。 C++ C# Ruby Java JavaScript 習熟度順に並べるとこんな感じかな。 C#, Java C++ Ruby, JavaScript 各言語に特徴があって向き不向きがあると思う。 LL系の言語に分類されるRubyやJavaScriptは、やりたいことをやりたい…

コードを書くときによく使う機能

コーディング時に使うIDEはEclipseです。 C#とかの場合はもちろんVisual Studioです。でも、コーディングのための機能はEclipseのほうが優れてると思ってる。 よく使うものを列挙してみる。 まず最初に Package Explorerで「Alt + Shift + N」 これでプロジ…

java.util.Scannerを使ってみる

JavaSE5から追加されたjava.util.Scannerというクラスを今まで一度も使ったことが無かった。 ただの食わず嫌いだったので、ちょいと使い方を勉強!!お試し!! package okazuki; import java.util.Scanner; import junit.framework.TestCase; public class Sc…

PhaseListener

いつもGoogleで検索してJSF ライフサイクルとかのページに行き着くけど自分でもメモ。PhaseListenerを使うとJSFのライフサイクルの途中に任意の処理を挟める。 package okazuki; import javax.faces.event.PhaseEvent; import javax.faces.event.PhaseId; im…

JSFの情報を取りたい

ManagedBean以外からJSFに関する情報にアクセスしたくなったのでメモ。 UIViewRoot root = FacesContext.getCurrentInstance().getViewRoot(); System.out.println("root.id:[" + root.getId() + "]"); System.out.println("root.clientId:[" + root.getClie…

選んだプロジェクトのsrcフォルダにファイルを作る

ものすごい無駄なことしてるだろうから後でなおさなきゃ… とりあえずメモ package org.okazuki.sample.plugin.actions; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import org.eclipse.core.resources.IFile; import org.…

OGNLを使ってみる

からjarをダウンロードしてクラスパスに追加。 使い方を試すために、簡単なテストを書いてみた。 プロパティの取得・設定・staticメソッドの呼び出し・配列・マップあたりが出来れば一通りOKかな。 package org.okazuki.ognl.sample; import java.util.HashM…

JavaProject内のクラスパスを列挙する

IJavaProject javaProject = javaElement.getJavaProject(); IClasspathEntry[] rawClasspath = javaProject.getRawClasspath(); for (IClasspathEntry classpath : rawClasspath) { System.out.println(classpath.getClass()); System.out.println(" conten…

選択されたリソースの所属するプロジェクトを取得するには

org.eclipse.core.resourcesを依存関係に追加して以下のコードでとれる。 package org.okazuki.helloworld.actions; import org.eclipse.core.resources.IProject; import org.eclipse.core.resources.IResource; import org.eclipse.jface.action.IAction; …

リソースにアクセス!

org.eclipse.core.resourcesの依存関係を追加して以下のようなコードでプロジェクト名一覧が表示される。 package org.okazuki.helloworld.actions; import org.eclipse.core.resources.IProject; import org.eclipse.core.resources.IWorkspaceRoot; import…

ワークベンチを取得するには

PlatformUIクラスを使う IWorkbench workbench = PlatformUI.getWorkbench(); IWorkbenchWindow window = workbench.getActiveWorkbenchWindow(); IWorkbenchPage page = window.getActivePage(); IEditorPart editor = page.getActiveEditor(); MessageDial…

XLSBeans

ExcelとJavaをマッピングしてくれる。 チェックチェック XLSBeans - Project Amateras

JUnitFactoryメモ

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

JUnit Factory!

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

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後で家のに入れよう。

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

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