列挙型(enum)は、JDK1.5で導入された、一連の値を定義する文法。[2006-07-26] 一番単純な定義方法はC言語の列挙型に似ているが、C言語と違って実態はクラス(と、不変オブジェクト)。 enumはenumerate(イニュームレイトあるいはイヌームレイト)の略なので、発音としては「イニューム」が正しそうだが、自分は「イナム」「エナム」と呼んでいる。 最も単純な定義方法 enum 列挙名 { 列挙子, 列挙子, … } 列挙名は、クラス名(やインターフェース名など)と同様。 (したがって、publicの付いたenumの列挙名は、ソースファイル名と同じでなければならない。また、publicの付いたenumはソースファイル内に1つしか定義できない) 列挙子(enum定数)は、フィールド名の定数(クラス内のstatic final変数)と同様。 (したがって、アルファベット大文字を使
自分の勉強のためのページ。 形容詞でも名詞のようにかいているかも。 そのままの意味の言葉 commutative 可換な element 元, 要素 irreducible 既約な mapping 写像 abbreviation 省略 polynomial 多項式 (多項式のという形容詞でも使われるけど数学ではほとんど名詞として使われる) prime 素な prime number 素数 prime ideal 素イデアル prime element 素元 maximal 極大〜 canonical 標準的な contain 〜 〜を含む(集合が集合を(⊃), 集合が点を(∋)の両方で使うみたいだ) algebraically 代数的 algebraically closed field 代数閉体 topology 位相 theorem 定理 corollary 系 proposition
モックライブラリ使ってますか? 僕はJavaの人なので、主にJUnitを使ってテストコードを書いています。テストコードを書いている最中、「もしこのオブジェクトから例外が帰ってきたら、ちゃんと例外のハンドリングができてんの?」等々、既存のオブジェクトの振る舞いを差し替えたくなることってありませんか?そういうときにモックライブラリを使うと、既存のオブジェクト処理を差し替える事ができます。 実は最初はモックライブラリって意味あるの?と懐疑的だったんです。どういうところに懐疑的だったかというと、 テストコード中に出てくるモックライブラリのセットアップがめんどい。 テストコードがプロダクトコードの実装に依存しちゃうんじゃないの?プロダクトコードをちょっと変えただけでテストが落ちるようになるんじゃないの? みたいなところです。でもMockitoというモックライブラリを使ってテストコードを書き初めてから
クライアントAPIを使ってRESTサービスにアクセスする 前回はJSR 311: JAX-RSのJBoss Communityによる実装「RESTEasy」を紹介した。このRESTEasyには、サーバ用のAPIだけでなく独自実装としてクライアントアプリケーション側からRESTサービスを利用するためのフレームワークが付属している。 RESTEasyのクライアントフレームワークは、サーバ側と同じアノテーションを用いてサービス利用のためのインタフェースを定義できるのが特徴だ。すなわち@Pathや@GETや@Producesなどのアノテーションを使ってインタフェースを定義し、それを介して実際のRESTサービス呼び出すのが一般的なプログラミングの流れとなる。使用するアノテーションが同じであるため、サーバ側とクライアント側で共通のインタフェースを利用できるという利点もある。 たとえば、前回の例で作成し
シゴトでちょっとしたツールを書くことがたまにあるのですが、Java の場合、書くより動かす方が面倒くさい。 手元の eclipse では元気にサクサク動いていたコードが、いざ solaris にアップした途端 NoClassDefFoundError とか ClassNotFoundException でガンガン落ちるのはよくある話で。 その度にクラスパスがどうのライブラリがどうのとシェルを書く人生にもいい加減、嫌気が差してきたので、ちょっと調べてみました。 mvn archetype:create まあとりあえず mvn archetype:create でプロジェクト作成。eclipse の新規プロジェクト作成ウィザードとか使っちゃダメ。絶対。 D:\work>mvn archetype:create -DgroupId=org.garbagetown -DartifactId=tes
HttpUnit?の概要 † http://objectclub.esm.co.jp:8080/xp/29 HttpUnit?とはブラウザをエミュレーションするツールで...ようするにWEBサイトにアクセスしたりWEBアプリケーションの単体テストをしたりするときに有効なAPI群です。また、HttpConnection?のWrapperのような使い方もできます。 ↑ 基本的な使い方 † //メインのクラスを作成 WebConversation conversation = new WebConversation(); //リクエストを作成 WebRequest request = new GetMethodWebRequest("http://www.masatom.in/pukiwiki/index.php?cmd=rss10"); //メインクラス経由でレスポンスクラスを取得 WebRe
アプリケーションの開発中、開発用のモジュールとリリース用のモジュールで、設定ファイル等を書き換えたいというケースは多いと思う。代表的な例だとDBへの接続。開発中はJDBCのDriverManagerで接続し、リリース時はJNDIからDataSourceを取得とか。 Maven2ではそういった環境に依存する設定をProfileという概念で環境毎に定義できる。pom.xmlに <profiles> <profile> <id>release</id> <properties> <maven.test.skip>true</maven.test.skip> </properties> </profile> </profiles> と追加し、 mvn install -P releaseとPオプションでプロファイルを選択して実行する。上の例では、単体テストがスキップされる。 で、やりたいのはリソー
追記: 最新情報はこちらです。 MongoDBが流行ってきてる風なので、これだけ読んでおけばMongoDBの雰囲気がわかるだろうってところを、日本語訳が終わっているところから集めてみた。 なるべく順に読めるように並べたつもりだけど、前後してるところもあると思うので、とりあえず読み進めるのをお勧め。 まず、何はなくとも、 コレクション (Collections) 次にコレクションを触るためのシェル。MongoDBのシェルというのは、RDBMSでいうとSQLを直接叩くところで、PostgreSQLのpsqlコマンド, MySQLのmysqlコマンドみたいなもの。 実際にMongoDBを使って開発する場合、直接MongoDBを操作するよりも、各言語(PHPとかRubyとかJavaとか)のマッパー経由で使うことが多いとは思う。しかし、SQLを知らないとO/Rマッパーを使いこなすのが難しいように、シ
メソッドの総称型 メソッドのみに総称型を適用した定義を行うことも出来る。[2007-06-12] 戻り値の型の直前に「<仮型引数, 仮型引数…>」を置くだけ。後はクラスの場合と同様。 public static <T> T notNull(T arg1, T arg2) { T ret; if (arg1 != null) { ret = arg1; } else { ret = arg2; } return ret; } このメソッドを呼び出す側は、クラスの場合とは異なり、明示的に型引数を指定する必要は無い。 指定した引数の値に応じて、自動的に型が判断される。 String s = notNull("abc", "def"); //型引数はString Long l = notNull(new Long(1), new Long(2)); //型引数はLong int i = notNu
概要 Javaでは、マルチスレッド用のクラスとしてThreadが用意されている。[2017-04-15] しかし新しいJavaでは、Threadを直接使う事はあまり無い。 ExecutorService/Future(JDK 1.5)やFork/Join(JDK 1.7)といったクラスが追加されているので、そちらを使う。 Java21で仮想スレッド(virtual thread)が導入された。[2023-09-23] これにより、従来のスレッドはプラットフォームスレッド(platform thread)と呼ぶようになった。 Javaでは、マルチスレッド用のThreadクラスが用意されている。 Threadを継承して独自のクラスを作り、runメソッドをオーバーライドして処理本体を記述する。 class スレッドクラス名 extends Thread { @Override public vo
{{toc}} !インストール !! Maven2をインストールする 既にJava環境(1.4以上)をインストールしているものとする。 http://maven.apache.org/download.html より [[magnoto|http://horoscope.magnoto.com/]] * maven-2.0.X-bin.tar.bz2 * maven-2.0.X-bin.tar.gz * maven-2.0.X-bin.zip のどれか1つをダウンロードし適当な解凍ソフトで展開する。展開後の'''maven-2.0.X'''ディレクトリを任意の場所に置く。(例えばWindowsであれば'''C:\maven-2.0.4'''、Unixであれば'''/usr/local/maven-2.0.4''') Windowsの場合、エクスプローラより'''マイコンピュータ'''を右ク
Javaでは、クラス生成やメソッド呼び出しをソース上に直接書いてコンパイル時に決定されるだけでなく、文字列(クラス名)を使ってクラスを生成したり、 メソッド名の文字列を使ってメソッドを呼び出したりすることが出来る。 クラス(インスタンス)生成 [/2015-04-26] Classのメソッド [/2021-03-21] instanceof [2007-02-16] Classからのインスタンス生成(非推奨) [/2018-04-30] インスタンス生成 [/2013-08-06] 総称型による限定 [2007-05-02] 内部クラスのインスタンス生成 [/2008-02-10] メソッド呼び出し staticメソッド実行 [/2017-07-23] メソッド実行(引数なし) [/2017-07-23] メソッド実行(引数あり) [/2017-07-23] 可変引数メソッド [/2015
それぞれの指定の意味する場所は、以下のようになっている。 @LocationExampleAnnotation //TYPE:クラス定義やインターフェース定義をする場所 public class アノテーションを付けるサンプル { @LocationExampleAnnotation //FIELD:フィールド(メンバー変数)定義 protected int value; @LocationExampleAnnotation //CONSTRUCTOR:コンストラクター定義 public アノテーションを付けるサンプル() { } @LocationExampleAnnotation //METHOD:メソッド定義 public void メソッド() { } public int 引数ありメソッド( @LocationExampleAnnotation //PARAMETER:パラメータ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く