java.util.DateやCaldnarにおける変換はこちら→リンク。JavaSE8現在ではJDBCがDate And Time APIに対応していないため、場合によっては自力で対応する。
こんにちはJavaプログラマなうの村上です。 今回は数値変換時の型チェックに関する記事です。 以前数値 ⇔ 文字列変換で文字列を数値変換する時は
ツリーモデルAPIでJSONデータを読み込む 前回は「Jackson Java JSON-processor」(以下、Jackson)のストリーミングAPIを利用して、JavaプログラムからJSON形式のデータにアクセスする方法を解説しました。今回はそれに引き続き、ツリーモデルのAPIを使う方法を紹介します。JacksonのツリーモデルAPIは、XMLのDOM APIに相当するもので、一度メモリ上に全てのデータを読み込んでオブジェクトのツリーを構築するため、先頭から順番にデータを読み込むストリーミングAPIに比べて柔軟なデータアクセスが可能です。 ツリーモデルの核になるのは、ブジェクトツリーのノードを表すJsonNodeクラスです。JsonNodeオブジェクトは、複数の子ノードと、それに紐付くフィールド名の情報を保持しています。子ノードを表すJsonNodeオブジェクトはget()メソッ
仕事柄、Javaのenumを使うことが多いのですが、あまり世の中のプログラムでenumを全力で使ってるところをあまり見かけません。 ということで、自分でもどうなのと思うときがちらほらあるenumの使い方をまとめてみようと思いますが、とりあえず今回は普通の復習用に基本的な機能を。 型付の定数が宣言できる enumはもともとCのint形の値に名前をつけただけじゃなくて、型安全な列挙定数が作れるってことでJava5から導入されました。 こんな感じ。 public enum Sample { HOGE, FOO, BAR, } で、世の中で見かけるenumは上記くらいのシンプルなのが多いみたいです。 クラス本体が宣言できる 定数定義のあとに ";" で区切ると、以降をクラスの本体としてメソッドとか定義できます。 public enum Sample { HOGE, FOO, BAR, ; // セ
この記事は「Java EE Advent Calendar 2014」の23日目のエントリーです。 昨日は@den2snさんの「JSFのバリデーション - DENの思うこと」でした。明日は@HirofumiIwasakiさんです。 受託でエンプラ 私の仕事は受託開発がメインで、主に製造業のお客様向けに販売管理システムの構築を行っています。 (製造業で複雑な製品扱っている所は営業さんが見積作るの大変なので、その辺をコンフィグレータ使ってうまいことするシステム) 見積業務もお客様によってそれぞれ異なるので、要件に合わせて毎回要件定義して、システムも裏にERPがいたり、フロントでCRMがいて連携したり、色々です。まぁ、いわゆるエンプラなシステムです。 昨今、Web系への憧れというのは当然あって、受託やエンプラで負のネタをみるたび「ですよねー」と思ったりも(^^;; …… … おっと、愚痴でなくA
まだ正月休みなのです。暇なので訳してみました。 この記事は 1年半以上前に Play の生みの親である Guillaume Bort がブログに書いたものです。 (2012/8/19追記: リンク切れしていたためリンクを貼り直しました) なぜ Playframework では Servlet が一切使われていないのかについて、簡潔に書いています。 丸山先生が Play に注目し始めた今、Play2.0 のリリースが間近に迫った今、あらためて読むと面白いかも知れません。 なぜ Play は Servlet を使っていないのか Servlet API に準拠せずに Java web フレームワークを作ることはかなり変に思えるかも知れない。大抵の人はなぜこんな普通じゃない選択をしたのかを聞いてくる。気に入ってくれる人も何人かいるが、大半は毛嫌いする。正直に言うと、 Play フレームワークの一番
11月11日に「Javaエンジニア養成読本」が出版されます。 この本は、Javaの最新動向を踏まえつつ、開発現場で役に立つような実践的内容を含むことを目標に企画されました。幅広い内容を6名の著者による共著で執筆したものです。 新人エンジニアの方や、最新のJavaを採用検討している方、開発現場へツールの導入検討される方など、様々な方々に読んで頂ければ幸いです。 私はJava EEのパートを担当させて頂きました。今年の7月くらいからブログが全く書けなかったのは、こちらに集中していたためでした(^^; Javaエンジニア養成読本 [現場で役立つ最新知識、満載!] (Software Design plus) 執筆している当時、ちょうど仕事で新人さん(プログラミング経験はない方)のOJT担当をしていたのですが「この書籍を使えば幅広くまとまってて楽に教えられるのに…」と思っていました。そんな使い方も
最近GoogleがJavaコーディング規約を公開したとニュースで知り、目を通してみたメモを書きます。 また、以前Javaのコーディング規約について調べたメモを次のURLに書きましたが、それ以降に公開されたJavaコーディング規約を探してみました。 http://www.alles.or.jp/~torutk/oojava/codingStandard/ Googleが策定・公開したJavaコーディング規約 先月、InfoQの日本語訳の記事で、Googleが最近Javaコーディング規約を公開したことを知りました。 InfoQの記事(日本語訳)GoogleのJavaコーディング規約 (Google)http://google-styleguide.googlecode.com/svn/trunk/javaguide.html さらっと目を通してみたメモを箇条書きで列挙します。 ファイルのエンコ
衝撃を受けたできごと 最近Rubyを勉強しています。 JavaやC#でオブジェクト指向プログラミングの基本はマスターしてるから、Rubyもそのあたりは楽勝〜!・・・と思っていたら、JavaやC#の常識が全く通用しない振る舞いに遭遇してかなり衝撃を受けました。それは、 privateメソッドはサブクラスからも呼び出せる ・・・ということです!!がーん。 たとえば、JavaやC#だと自分のクラス内でprivateメソッドが使われていない場合、不要なメソッドとして削除できます。(リフレクションを使って呼び出される可能性はここでは無視ね) しかし、Rubyでは誰かがサブクラスを作って呼び出している可能性があるので、privateメソッドを削除する場合は注意が必要です。メソッド名を変更する場合も同様ですね。 また、知らずに親クラスと同名のprivateメソッドを定義すると、予期せず親クラスの実装をオ
下記にサンプルを示します。 myApp Test.java pkgA SamePkgSameClass.java SamePkgSubClass.java SamePkgOtherClass.java pkgB OtherPkgSubClass.java OtherPkgOtherClass.java class Test { public static void main(String[] args) { pkgA.SamePkgSameClass o1 = new pkgA.SamePkgSameClass(); pkgA.SamePkgSubClass o2 = new pkgA.SamePkgSubClass(); pkgA.SamePkgOtherClass o3 = new pkgA.SamePkgOtherClass(); pkgB.OtherPkgSubClass o4 =
【特集】Strutsは“2”を使えば、サルでも幸せに ヤスダネットワーク 関川 晶子 2009/1/8 @(あっと)いう間に「こんにちは! Struts 2」 動作を確認するために、以下のようなアプリケーションを作ってみましょう。 index.actionを表示する サブミットボタンを選択すると、index-hello.jspの内容を表示する ■ 文字コードはUTF-8 文字コードによるトラブルに出会わないように、作成するファイルの文字コードはすべて「UTF-8」に統一します。Eclipseの設定をしていない場合は以下の手順で、ファイルの文字コードを設定してください。 [メニュー]の[プロジェクト]→[プロパティー]を開き、[リソース]のなかにある[テキスト・ファイル・エンコード]の[その他]で「UTF-8」を選択します。 ■ Struts 2アプリの作り方 Struts 2では、1画面作
偶数月はWEB+DBの月ということで、WEB+DB PRESS Vol.52を買ってきました。 WEB+DB PRESS Vol.52 作者: 矢野勉,庄司嘉織,ミック,鶴岡直也,伊藤直也,森田創,高林哲,小飼弾,羽生章洋,角田直行,はまちや2,kana,斉藤太郎,瀧内元気,青木靖,長野雅広,武者晶紀,川口耕介,冨田慎一,WEB+DB PRESS編集部出版社/メーカー: 技術評論社発売日: 2009/08/22メディア: 大型本購入: 20人 クリック: 167回この商品を含むブログ (37件) を見る id:Yoshioriとid:t_yanoの共著で書かれた、[新人さんに贈る]Javaプログラミングの習慣の中でcommons langのHashCodeBuilderとEqualsBuilderが紹介されていたので、便乗してToStringBuilderも便利ですよと紹介してみる。 準備
public class SampleServlet extends HttpServlet { public void doGet( HttpServletRequest request, HttpServletResponse response ) throws ServletException,IOException { response.setContentType("text/html;charset=Windows-31J"); PrintWriter out = response.getWriter(); out.println("<html><body>"); Map map = request.getParameterMap(); Iterator it = map.keySet().iterator(); while (it.hasNext()) { String na
セッションについて Java サーブレットは HTTP プロトコルを使用します。HTTP はステートレスプロトコルです。 サーバは、リクエストを受け取ってレスポンスを返すと、クライアント ( ブラウザ ) との接続を終了します。 サーバにはクライアントを一意に識別できる情報を持っていないため、クライアントの情報は維持されません。 ( サーバはどのクライアントがどの情報を持っていたかを判断できない。 ) 上記の問題を解決するための仕組みがセッション管理となります。 セッションとは、簡単に説明するとクライアントがサーバに接続してから切断するまでの 1 接続単位です。 一般的には 1 リクエスト単位ではなく、例えば、ユーザがログインしてからログアウトもしくは、 ブラウザを閉じるなどの操作を行うまでの間を表します。 1 セッションの間には、複数回のリクエスト送信、レスポンス受信が
IOException の catch に何を書いていいか分かりません><! はじめに 順番が前後しますが、今回は Java の特徴のひとつである例外機構についてです。 今回の範囲 223 ページ 〜 250 ページ 前回はこちら Effective Java 読書会 12 日目 「スレッド・セーフってなによ!!」 - IT戦記 Java の例外 throw 可能なオブジェクト Throwable インタフェースを実装したもの Exception を継承しない Throwable は基本的に使わない チェック例外 メソッドの実装者が「呼び出し元が回復可能」だと考えている例外 ちゃんと「なぜ、例外だったのか」理由が提供されるべき 呼び出し元は try catch で囲むか throws 宣言を書く必要がある Exception を継承していて RuntimeException を継承していな
スレッドセーフ、スレッドセーフって何なのよ!本当の気持ち聞かせてよ! はじめに 皆様おひさしぶりです。 久しぶりに Effective Java 読書会のまとめを上げていきたいと思います!!! 今回の範囲 269 ページ 〜 278 ページ 前回はこちら http://d.hatena.ne.jp/amachang/20100309/1268153192 synchronized を付ければスレッド・セーフってわけではない synchronized はスレッド・セーフを実現するための一つの方法(実装の詳細)であって、 synchronized を使っているからスレッド・セーフというわけではないし、 synchronized を使っていないからスレッド・セーフじゃないというわけではない そもそも、スレッド・セーフとは何か そのクラスのインスタンスに対するどんな順番で行われる操作も仕様的に正し
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く