Java

Wicket Quick Start っぽいものを作ってみる(後編)

準備ができたので、実際にソースコードを書いていきます。大抵のサイトでは「Maven を使おう」と書かれていますが、そんな初心者泣かせなことはやりません。だいたい Maven 使うならそもそも必要なライブラリをわざわざ先に用意する必要がないw*1 *1:Maven …

Wicket Quick Start っぽいものを作ってみる(前編)

Apache Wicket は Java 用のフレームワークである。Struts に代表される従来のフレームワークとの決定的な違いは「HTML もオブジェクトとして扱い、可能な限り Java でできることは Java でやる」のが Wicket のコンセプトである、ということである。従来の…

static は全オブジェクトに共通

昨日は「オブジェクトは参照変数」という話をした。参照する先が違っていれば、実体である値が同じでもオブジェクトとしては異なる。しかし、static 修飾子が付いた場合は話は別である。次の例を見てほしい。 public class SavingsBox { private static int …

オブジェクトは参照変数である

今回はちょっと初級(?)向けのお話。Java にはプリミティブ変数と参照変数の二種類がある。int や double などはプリミティブ変数であり、宣言と同時にそれぞれ別個に領域が確保される。 class Test { public static void main(String[] args) { int a = 2; i…

twitter4j で簡単なツイートプログラムを作ってみる(その 3)

twitter4j の入手と eclipse への登録 前回までは料理で言うと下ごしらえ。ここからいよいよ本格的に「調理」である。まずは下記サイトから twitter4j をダウンロード。 Twitter4J - A Java library for the Twitter API 最新安定板は 2.2.5 である。ダウン…

諸君、私は Java が好きだ

諸君、私は Java が好きだ 諸君、私は Java が好きだ 諸君、私は Java が大好きだ Tomcat が好きだ Servlet が好きだ JSP が好きだ Struts が好きだ JSF が好きだ 学校で 研究室で オフィスで 客先で 自宅で この地上に存在するありとあらゆる Java が大好き…

JavaFX の Hello World で NullPointerException

import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.control.Label; import javafx.scene.layout.StackPane; import javafx.stage.Stage; public class Hello extends Application { @Override public void start(Stag…

Wicket による Web アプリケーション開発

オープンソース徹底活用WicketによるWebアプリケーション開発作者: 矢野勉出版社/メーカー: 秀和システム発売日: 2009/03/12メディア: 単行本購入: 23人 クリック: 238回この商品を含むブログ (46件) を見る

長さ 0 の配列

int [] a = new int[0]; とすると長さ 0 の配列が生成される。長さが 0 なので、もちろん a[0] などにアクセスしようとすると ArrayIndexOutOfBoundsException になるが、Object としては null ではないので NullPointerException にはならない。実際 a.leng…

Struts のサンプル(解説)

前に掲載した Struts のサンプルの解説です。軽く Q & A も付けます。

Struts による Web アプリケーションスーパーサンプル

StrutsによるWebアプリケーションスーパーサンプル 第3版作者: 高安厚思,西川麗出版社/メーカー: ソフトバンククリエイティブ発売日: 2010/10/13メディア: 大型本購入: 6人 クリック: 24回この商品を含むブログ (4件) を見る買ったでござる

servlet の request の文字エンコードを一括で設定する

元ネタはこちら。 Request のエンコードを指定する具体的には javax.servlet.Filter インターフェースを継承した以下のようなクラスを作れば良い。 package jp.mydns.akanekodou.filter; import java.io.*; import javax.servlet.*; public class EncodingFi…

Struts のサンプル

Java のフレームワークの代表格とも言える Struts を用いた簡単な Web アプリケーションを作ってみたので、恥晒しのつもりで晒します。なお、開発環境は以下の通り。 OS : Windows Vista Home Premium SP2 (32-bit) ※UAC 解除済み 言語 : Java 7 Web アプリ…

Eclipse 3.7.2 に WTP をインストールする方法

メニューの「Help」→「Install New Software...」を選択し、出てきた画面の「Work with」欄の右にある「Add...」ボタンを押す。Name は任意だが仮に「The Eclipse Web Tools Platform (WTP) software repository」とし Location は「http://download.eclipse…

Web アプリケーションで URL に jsessionid を表示させない方法

Web アプリケーション(特に Struts 等のフレームワークを使用した場合)で、初回アクセス時に URL に ";jsessionid=〜" という文字列が追加されるのを防ぐ方法。実はこれ、Servlet の仕様らしくて、特に Struts では初回アクセス時にはセッション ID を URL …

Eclipse ではじめる Java フレームワーク入門

EclipseではじめるJavaフレームワーク入門第3版作者: 掌田津耶乃出版社/メーカー: 秀和システム発売日: 2010/10/27メディア: 単行本 クリック: 12回この商品を含むブログ (1件) を見るやっぱりこっちの方が分かりやすそうだ。

はじめての Java フレームワーク

TECHNICAL MASTERはじめてのJavaフレームワークStruts12/Spring/Hibernate対応作者: 岡田賢治出版社/メーカー: 秀和システム発売日: 2009/02/19メディア: 単行本購入: 1人 クリック: 20回この商品を含むブログ (7件) を見るJava のいろいろなフレームワーク…

乱択アルゴリズムに挑む(その 4)

一通り道具は揃ったはずなので、とりあえずプログラムっぽく整えてみる。

乱択アルゴリズムに挑む(その 3)

k-CNF の充足可能な(つまり、全ての clause が真になるような真偽値の)割り当てを求める問題は k-SAT(Satisfiability Problem)と呼ばれる。同書にならって 3-SAT を考える。問題としては、これまた同書でユーリが「僕」に示した問題で行ってみよう。まず変数…

ビルドできん !

eclipse 側の環境変数の設定とか一通り済ませて mvn eclipse:eclipse を実行したら [INFO] [INFO] ------------------------------------------------------------------------ [INFO] Building Maven Stub Project (No POM) 1 [INFO] ---------------------…

Vista に Maven 3.0.3 をインストールしてみた

mvn --version で動作確認しようとしたら Apache Maven 3.0.3 (r1075438; 2011-03-01 02:31:09+0900) Maven home: C:\apache-maven-3.0.3 Java version: 1.6.0_24, vendor: Sun Microsystems Inc. Java home: C:\Program Files\Java\jdk1.6.0_24\jre Default…

乱択アルゴリズムに挑む(その 2)

続き。同書では(変数)ないし¬(変数)を "literal"(リテラル) と呼び、literal のいくつかの論理和を "clause"(クローズ)と呼んでいる。clause のいくつかの論理積を CNF(Conjunctive Normal Form)と呼ぶ。全ての clause が k 個の literal からなるような CNF…

乱択アルゴリズムに挑む(その 1)

結城浩先生 (id:hyuki) の「数学ガール/乱択アルゴリズム」を読んでいて、これを実際にプログラミングするとしたらどうなるんだろうと考えてちょっとやってみることにした。まず、ランダムに真偽値を返す、次のようなメソッドを考えた。 static boolean ran…

Tomcat 5.x 以降での GET リクエストの文字化け対策

Tomcat 5.x 以降では、GET メソッドでデータを送信すると日本語の文字化けが起きる。GET メソッドを用いると request.setCharacterEncoding が無視されるためである。これを回避する方法は三つ。 GET メソッドではなく POST メソッドを用いる GET メソッドで…

テキスト形式ファイルの重複行を削除し更にソート

何かしらの数値計算をやって、結果をファイルに書き込んだとき、精度の関係で結果のテキストが重複行だらけになってしまっていることが経験上多かったので、そういったファイルの重複行を削除してついでにソートしてしまうというスクリプトを書いてみた。 # …

配列や List のソート

Java には配列の要素をソートするために Arrays.sort メソッドが準備されている。 import java.util.Arrays; class SortTest { public static void main(String[] args) { int [] ary = {3, 5, 1, 2, 4}; Arrays.sort(ary); for(int i : ary) { System.out.p…

排他的論理和

比較演算子 == は、比較対象が boolean 型であれば排他的論理和のような役目を果たす。論理否定と組み合わせて使うことで以下のようにきちんと排他的論理和になる。 class Xor { public static void main(String[] args) { System.out.println(!(true == tru…

やさしく学ぶ Sun 認定 Java プログラマ

やさしく学ぶ Sun認定Javaプログラマ(SJC-P)作者: 山本道子,サン・マイクロシステムズ株式会社高橋ひさに出版社/メーカー: 翔泳社発売日: 2008/02/13メディア: 単行本(ソフトカバー) クリック: 11回この商品を含むブログ (6件) を見る正直このレベルからや…

「Java プログラマであるかを見分ける 10 の質問」に回答してみる

== 演算子と equals メソッドの違いは何か ? 文字列の+演算子による連結とStringBuilderを使った連結の違いを説明せよ。 List のようにジェネリクス型を使う主たる目的は何か ? オブジェクトがガベージコレクション (GC) される主たる条件は何か ? チェック…

ストリームは一度 close したら開けない

入出力ストリームは一度 close() メソッドで閉じてしまうと、そのプログラム内で再度オープンすることはできない。たとえば BufferedReader br1 = new BufferedReader(new FileReader("file1.txt")); ... br1.close(); BufferedReader br2 = new BufferedRea…