Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
Tutorial: Build a Web Application (JSF) Using JPA This tutorial will walk you through the basic steps of developing, packaging, and deploying a Web application using the EclipseLink. In this application, a Java Server Faces (JSF) presentation layer will make use of JPA for persistence outside of an EJB 3.0 container. See the complementary Running EclipseLink JPA on Tomcat 6 in a non-JSF servlet Th
いくつかアプリケーションを作っていると、毎回似たような処理を記述することがあるかと思います。 そんな時はJAR (JavaARchive) という圧縮ファイル形式でパッケージを一まとめにしておくとライブラリとして流用し易くなります。 今回はEclipseでJARファイルを作成する方法と、プロジェクトにJARファイルを読み込んで利用する方法を説明したいと思います。 それでは続きで説明します。 JARファイルを作成する まずはサンプルとして簡単なクラスを用意してみます。 publicな足し算を行うメソッドaddと引き算を行うメソッドsubを持った単純なクラスをCalculatorという名前で作ってみました。 package sample.library; public class Calculator { static public int add(int a, int b) { return
直列化/整列化とは [/2007-12-07] シリアライズの実装方法 [/2007-06-13] シリアライズの実行方法 [2007-05-02] serialVersionUID [/2020-03-21] シリアライズの対象/非対象フィールド [/2007-06-11] シリアライズ方法の独自定義 [/2010-04-29] Externalizable [2010-04-28] シリアライズできないクラス シリアライズのあるべき姿(?) [/2008-07-05] @Serial [2020-03-21] 直列化とは Javaの説明(Javadocとか)を見ていると、よく「直列化」「直列化可能」「直列化された形式」という言葉に遭遇する。 これはserializeの訳語みたいだけど、なんだか意味不明…。 VC++でシリアライズと言えば、「ファイルへのデータ保存」「ファイルからのデータ
3.2. 複数の通信を受け付けるサーバ 前項では簡単なサーバアプリケーションを作成しました。しかし、このサーバには大きな欠点があります。このサーバは同時に1つのクライアントとしか通信できません(試しに複数のウィンドウを開いて、EchoClientを同時に2つ起動してみて下さい)。このサーバは最初の接続要求を受け付けたときに、acceptメソッドが終了してしまいます。acceptメソッドが呼び出されていないと、サーバは接続の受け付けができない点に注意してください。 それでは、acceptメソッドを繰り返し呼び出せばよいのでしょうか。 while(true){ Socket socket = serverSocket.accept(); } これだと、複数の接続を受け付けることはできますが、acceptメソッドでプログラムの実行がブロックされてしまうので、ソケットを利用したメッセージの送受信が
この節ではソケットを利用したサーバアプリケーションの作成方法を解説します。マルチスレッドで複数の接続を処理できるサーバの作成方法についても解説します。 3.1. サーバソケット 前節では、新しいSocketインスタンスを作成しサーバに接続するクライアントアプリケーションを作成しました。それでは、クライアントからの接続を受け付けるサーバはどのようにして実現するのでしょうか。接続を受け付けるためにはServerSocketクラスを用います。 クライアントのアプリケーションは、サーバに接続したいときにいつでも接続できます。接続先を指定してSocketのインスタンスを作成すれば、ただちにサーバへの接続が完了していました。しかし、サーバ側は、クライアントがいつ接続を要求してくるかわかりません。そのため、クライアントが接続してくるのをずっと待っていなければいけません。 接続を受け付けられる状態で待機す
JAX-WSを使ったWebサービスを構築するのであれば、標準でJAX-WSをサポートしているGlassfishを使うのが手っ取り早いのですが、今回は既存のプロジェクトへの追加なのでTomcat6+Eclipseを使います。Java環境はJava6です。 JAX-WSの実装は、今回はMetro(JAX-WS RI)を追加しました。他の実装には、Apache Axis2やApache CFXがありますが、アプリケーションに組み込むのであればMetroがよさそうだったのでMetroにしました(参考のリンクを参照)。また、Metroのプロジェクトの配下にJAX-RS RIがあり関係がよくわからないです。ただ、どちらのドキュメントを見てもpom.xml等で指定するライブラリは同じファイルのようでした。 dependencyの追加 pom.xmlに以下のdependencyを追加します。 <depen
Effective Javaの18章「抽象クラスよりインタフェースを選ぶ」を読んだので軽くまとめます。 インターフェースと抽象クラスの違い インターフェースと抽象クラスは、複数の実装を許す為の仕組みの1つである。 両者の違いは、抽象クラスはメソッドの実装を持てるのに対してインターフェースは持てないことである。 インターフェースはクラス階層のどこに属していても実装できる。抽象クラスもどの階層においても実装できるが、Javaでは単一継承しか許されていない為、型定義をする為に抽象クラスを使用するのは非常に不便になる。 例えば、2つの異なるクラスA, Bに対して、抽象クラスCを実装させたいとする。その場合、AとBの祖先がCになるように実装しなければならない。ここで問題になるのは、AとBに関係ないクラスまでCを実装する必要が出て来てしまうことである。 ミックスイン 複数のインターフェースを混ぜ合わせ
Random number generators, probability distributions, combinatorics and statistics for Java Uncommons Maths is Open Source software, free to download and use subject to the terms of the Apache Software Licence, Version 2.0. Random Numbers A Java Programmer's Guide to Random Numbers: Part 1: Beyond java.util.Random · Part 2: Not just coins and dice · Part 3: Seeding The Uncommons Maths library provi
git clone https://github.com/deeplearning4j/nd4j.git cd nd4j mvn clean install -DskipTests -Dmaven.javadoc.skip=true ( クイック・スタート) OpenGroove 「deeplearning4j (DL4j)について書く」 deeplearning4jとは。以下ミニノート。 スタートアップのSkymind社による、Java deep-learningライブラリ。 Skymind社が商用サポートするが、オープンソースプロジェクトでもある。※ RedHat/Linux的な関係 out-of-the-boxでスタート可能、かつ一般的なCUPで動作する。 研究用ではなく、一般的なビジネス使用を視野に入れている。 neural networksに特化したDSL。 Scala, Clo
CSV(Comma Separated Value)を扱うクラス CSVTokenizer & CSVLine 安藤友晴<tomoharu@wakhok.ac.jp> Version 1.0.1 1999.4.14 ダウンロード (Version 1.0.1) csv_1_0_1.zip (35,706 bytes) csv_1_0_1.tar.gz (19,887 bytes) API Documents はこちらです。 はじめに CSVとは? 構成内容 クラスの概要 必要な環境 インストール 使用例1: 1行のCSV形式のデータを解析し、それぞれの項目を出力する。 使用例2: エンクォートされた文字列を解析する。 使用例3: データを集め、CSV形式にして書き出す。 このライブラリに関する情報源 更新履歴 今後の計画について おわりに 1. はじめに jp.ac.wakhok.tomo
これらのクラスやインターフェースはJavaで元々用意されているもので、機能に不満があれば自分で機能を追加したクラスを作成することもできます。 しかし、ここに挙げたもので事足りるのであれば、わざわざ再開発しないで安全で高速なこれらのクラスを使用することをお勧めします。 Collectionインターフェース java.util.Collectionはインターフェースです。 よって、そのままインスタンスを生成することができません。 C0S1.java import java.util.Collection; public class C0S1 { public static void main(String[] args) { Collection c = new Collection(); } } > javac C0S1.java C0S1.java:5: java.util.Collect
EclipseLink 2.6.1 RC1 を使って JPA の一対多リレーションシップを下記 2通りで試し、SQL の実行内容などを調査してみました。 (a) 単方向: @OneToMany + @JoinColumn (b) 双方向: @OneToMany + @ManyToOne 簡単にまとめると次の通りです。 タイプ 使用したアノテーション one側のデータ登録SQL many側のデータ登録SQL (a) 単方向 @OneToMany, @JoinColumn insert insert, update (b) 双方向 @OneToMany, @ManyToOne insert insert (a) の場合に insert だけでは無く update も実施していました。 ソースは http://github.com/fits/try_samples/tree/master/blo
正規表現を使ってパターンとマッチした文字列を、指定した新しい文字列へ置換することができます。 Matcher.replaceFirst メソッドは最初にマッチした文字列を置換し、 Matcher.replaceAll メソッドはマッチするすべての文字列を置換します。ここでは Java の正規表現でパターンにマッチした文字列を新しい文字列に置換する方法について解説します。
Java でCSVファイルの入出力 Java でCSVファイルを入出力するラッパークラスを作ってみたのでメモ。 環境 Windows7 64bit Java8(javac 1.8.0_60) CSVファイルの書き込み 書き込みには、PrintWriter クラスを使用。 参考:PrintWriter (Java Platform SE 8) コンストラクタでは、とりあえず、ファイル名(String) と ファイル(File)に対応させた。 .print または.println の引数に、 CSVに書きたい値を渡すだけで書き込みできるようにした。 可変長引数にしているので以下のように書ける。 CSVPrintWriter csvpw = new CSVPrintWriter("test.csv"); csvpw.println(100, "Sato", 20); csvpw.println(
はじめに 一昨日、FIFA15 でサイドバックが前線に放ったフィードが直接入って80m強の超ロングシュートとなって困惑しました。 さて、話は変わりますが、2014年12月時点の TIOBE Programming Community Index によると、昨年と比較して最もランクアップしているプログラミング言語は、Visual Basic なんですね。 そんなプログラミング言語上位20位ですが、Webアプリケーションを構築するにあたって、どの言語を採用するかというのと同じく悩ましいのがどのフレームワークを採用するかということ。 フレームワークの選定基準はアプリケーションの要件はもちろんのこと、環境や開発者、その他にも様々な条件や制約を踏まえつつ、フレームワークの特性も踏まえて適切な選択をする必要があるものです。 そして、今年も各言語において様々なフレームワークにおいて動きがありました。人気
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く