タグ

Javaとjavaに関するtoenobuのブックマーク (277)

  • GitHub’s 10,000 Most Popular Java Projects: Here are the Top Libraries They Use - DZone

    as java developers working with a language that’s both mature yet highly evolving, we’re faced with a constant dilemma whenever we write new code – go with the hot new technology that everyone is talking about, or stick with a tried-and-true library? since a very large part of java applications are commercial in nature, it can sometimes be hard to separate the buzz around a new framework with the

    GitHub’s 10,000 Most Popular Java Projects: Here are the Top Libraries They Use - DZone
    toenobu
    toenobu 2013/12/07
    Javaのビッグウェーブに乗るしかない。
  • GlassFishで非同期処理(AsyncContext)

    J2EE6(Servlet3.0)で、Servletで非同期処理ができるようになりました。 ここでは、GlassFish3.1でServletの非同期処理の設定方法についてご紹介します。 ■非同期処理って何? Servletは通常、ブラウザからリクエストを受け付けたThreadでServletが処理をしてレスポンスをブラウザに返します。 コレが同期処理です。 同期処理で困るのが、Servletでの処理時間が長いと、ブラウザが待たされることです。 コレに対応するのが、非同期処理です。 非同期処理では、ブラウザがらリクエストを受け付けたThreadとは別のThreadで処理をすることができます。 非同期処理は、時間のかかる処理を行うのに使ったり、 Chatなど、レスポンスのタイミングをコントロールしたい時に使用します。 では、非同期処理の実装の仕方。 やることは2つです。 1. HttpSer

    toenobu
    toenobu 2013/12/04
  • Servletがスレッドを生成してはいけないのか | code up

    今更ながらのネタですが、Apache Commons FileUpload/IOの動作を調べてる際にServlet 3.0の仕様書(servlet-3_0-mrel-spec.pdf)を読む機会があり、3.0でServletがスレッドを生成することについてどう規定されているのかを確認した。 Servletからスレッドを生成するのは非推奨。だけど・・・ Servlet 3.0から非同期処理(Asynchronous Processing)がサポートされた。つまり、サーブレットからスレッドを生成する手順が正式に定義された。詳しくは@ITなどで解説されている。そのページでも述べられているが、それまではServletあるいはFilter内でスレッドを生成することは非推奨であった。 3.0でもAsynchronous Processingを使用しないServletについては変わらず、スレッドを生成す

    toenobu
    toenobu 2013/12/04
    servlet
  • Java EE環境における非同期プログラミング - nekop's blog

    Java EE環境では基的にスレッドの生成は許されていません。この制限はEJB仕様書に記述されており、ブループリントなど他のドキュメントにも記載されています。これらの制限はかなり古い時代に考えうる最大の制限を記述したものであり、「ファイルにアクセスしてはならない」など今となってはあまり現実的ではない記述も多くなっています。しかしながら、「スレッドを生成してはならない」というのは依然多くのコンテナに適用される現在も有効な制限であり、実際にスレッドの生成などを行うと誤動作するケースがあります。今回は、なぜこのスレッドの制限があるのか、現実的にどうすれば良いのか解説します。 コンテナは様々なものをスレッドに結びつけて管理しています。様々なものというのは例えばセキュリティ、トランザクション、データソースなどのコンテナリソースです。コードのほうがイメージしやすいでしょうから、以下に擬似コードを挙げ

    Java EE環境における非同期プログラミング - nekop's blog
    toenobu
    toenobu 2013/12/04
  • Async Servlet Example - JournalDev

    Before we jump into understanding what Async Servlet is, let’s try to understand why do we need it. Let’s say we have a Servlet that takes a lot of time to process, something like below. package com.journaldev.servlet; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; imp

    Async Servlet Example - JournalDev
    toenobu
    toenobu 2013/12/03
  • Tomcat 7も対応したServlet 3.0の変更点 後編

    Tomcat 7も対応したServlet 3.0の変更点 後編:Tomcat 7の新機能で何ができるようになるのか?(2)(1/3 ページ) 前回の「Tomcat 7も対応したServlet 3.0の6つの主な変更点」では、「Tomcat 7」が実装したServlet 3.0の新機能のうち「Ease of Development(EoD、開発容易性)」「Pluggability and Extendibility(モジュール化と拡張性)」について紹介しました。今回はAsynchronous processing(非同期処理)、セキュリティSession Tracking、マルチパート対応を紹介します。 アノテーションによる非同期処理 Servlet 3.0から非同期処理が使えるようになりました。Servlet 2.5までは、Servlet上でスレッドを生成・起動し、リクエストやレスポンス

    Tomcat 7も対応したServlet 3.0の変更点 後編
    toenobu
    toenobu 2013/12/02
  • SLF4J+Logbackの準備 : Java好き

    ロギング実装ライブラリだけを導入してもロギングはできる。 しかし、ロギング実装は数多く存在するため少しでも広く構えておく方がベター。 ArrayListインスタンスの変数をList型で定義するように、インタフェースに対してプログラムするのが基。 2つ用意する。 「サイトからダウンロードする」or「Maven」で必要なjarファイルを準備する。 必要なjarだけをクラスパスに取り込む ダウンロードの場合、SLF4J、Logbackともにダウンロード用のzipファイルが用意されているので、それを持ってくる。 SLF4J家サイトのダウンロードページ→こちら Logback家サイトのダウンロードページ→こちら zipファイルを解凍すると途方に暮れるほどjarファイルが沢山あるが、 これは様々な状況に対応するために分割してあるだけなので、 必要なjarだけをコピーすることになる。 どのjarが

    toenobu
    toenobu 2013/11/30
  • Full WebApplication JSF EJB JPA JAAS - Part 1 - Java Code Geeks

    This post will be the biggest so far in my blog! We will see a full web application. It will be done will the newest technologies (until today), but I will give some hints to show how to adapt this post to older technologies. In the end of this post you will find the source code to download. You can use it as you wish. Just go to the last page and do the download. \o/ If you downloaded the code an

    Full WebApplication JSF EJB JPA JAAS - Part 1 - Java Code Geeks
    toenobu
    toenobu 2013/11/28
  • おっぴろげJavaEE DevOps

    This document discusses various Java EE technologies including JPA, JAX-RS, EJB, CDI, JUnit, and strategies for development, testing, deployment and monitoring of a Java EE application. It provides code examples for implementing entities, DAOs, services, resources and tests. Release and deployment is discussed including using Maven release plugin and deploying new versions to GlassFish. Logging, J

    おっぴろげJavaEE DevOps
    toenobu
    toenobu 2013/11/28
  • jax-doclets

    This is pre-release software, please bear with it. This book is produced by the Wikbook tool. Wikbook is an open source project for converting wiki files into a set of docbook files.

    toenobu
    toenobu 2013/11/27
  • On Java 8's Introduction of Optional - DZone Java

    toenobu
    toenobu 2013/11/25
  • Java8のOptionalがモナドになったよ! - きしだのHatena

    Java8にはOptionalクラスが導入されたのですが、5月にエントリを書いた時点ではモナドではありませんでした。 Java8でのプログラムの構造を変えるOptional、ただしモナドではない それが、5月末にどうもソースにモナドに必要なメソッドが追加されたらしいということになって、いつ使えるようになるか待っていたら、いつの間にか使えるようになっていました。 Optional (Java Platform SE 8 b101) こちらからダウンロードできます。 JDK8 Early Access Releases ― Project Kenai 他にもいくつか便利メソッドが追加されたおかげで、このようなコードが書けるようになりました。 String str = "abcd"; Optional.ofNullable(str) .map(st -> st.toUpperCase()) .f

    Java8のOptionalがモナドになったよ! - きしだのHatena
    toenobu
    toenobu 2013/11/25
  • Joda-Time & JSR 310 – Problems, Concepts and Approaches

    toenobu
    toenobu 2013/11/24
  • JavaをSEとEEに分類するのは今では無意味になってきている? - 達人プログラマーを目指して

    ご存知のとおり、かなり以前からJavaプラットフォームはJava SEとJava EEとに分かれています。Java EEはJava SEを含んだ拡張APIを含み、エンタープライズ開発向けのプラットフォームということで一般的にはなんとなく理解されていますが、よくよく調べてみると両者の境界線はかなりあいまいで、人によってさまざまな解釈の違いや混乱があるようです。 一応、Java SEとJava EEのJava DOCを調べてみると主なものとして以下のようなAPIが含まれていることがわかります。 プラットフォーム API Java SE 基言語ライブラリー、通信ライブラリー、 GUI関連ライブラリー、JDBC、JNDI、RMI、Java IDL(CORBA)、JMX Java EE サーブレット、JSP、JSF、EJB、JPA、JMS、JTA、JCA Webサービス関連ライブラリー、Java

    JavaをSEとEEに分類するのは今では無意味になってきている? - 達人プログラマーを目指して
    toenobu
    toenobu 2013/11/24
  • Make your JAXB cleaner with the MOXy implementation

    toenobu
    toenobu 2013/11/24
  • Bean Validation and JSR 303 - DZone

    toenobu
    toenobu 2013/11/23
  • Javaの内部動作を可視化する「ENdoSnipe」、Acroquest TechnologyがOSSとして公開

    Acroquest Technologyは2013年7月11日、Javaシステムの内部動作を可視化・診断するソフトウエア「ENdoSnipe Ver.5.0」をオープンソースとして公開したと発表した。Ver.4まではプロプライエタリな製品だった。ダウンロード・サイトおよびGitHubのページからダウンロードできる。 新版の診断機能には、同社が提供するJavaシステムのトラブルシューティング・サービス「JaTS」での障害解析のノウハウを組み込んだという。アプリケーションの性能を監視する機能も追加した。従来版はEclipseプラグインとしてユーザーインタフェース(UI)を実現していたが、新版はWebベースのUIに変更されている。 診断機能では、メモリリークやハングアップリスク、非効率なデータベース・アクセスなどを検出する。プロファイラやデバッガとは異なり、問題が発生する具体的な理由まで指摘でき

    Javaの内部動作を可視化する「ENdoSnipe」、Acroquest TechnologyがOSSとして公開
    toenobu
    toenobu 2013/11/23
  • RDBMSのコネクションプーリングとかその辺の話 - wyukawa's diary

    データベース技術の羅針盤 from Yoshinori Matsunobu これは素晴らしい資料で後半のキャリアの話とか面白いんだけど、今回書くのはp6,p8に書かれていた下記の話です。 PosgreSQLは接続がプロセスベースなのでLL言語との相性がよくない Pgpool(これはプロキシサーバー的に使うらしい)などのコネクションプールと併用することが多い MySQLは接続がスレッドベースなのでコネクションプーリングが使いづらいLL言語環境では魅力 なんでLL言語だとコネクションプーリングが使いづらいのかわからずつぶやいたらリプライもらってついでにちょっと前に話題になったRDBMSでコネクションプールが必要な理由、わからない。 - Togetterや7年前のブログエントリであるコネクションプーリングの話 - naoyaのはてなダイアリーを読み返してみて思ったことを書いてみる。全然まとまって

    RDBMSのコネクションプーリングとかその辺の話 - wyukawa's diary
  • [Java, Security] OAuth with Jersey 2

    Oracle Blogsの主としてテクノロジー製品のエントリを日語でご紹介します(オリジナルのエントリを投稿することもあります)。厳密性をご所望の方は原文をどうぞ。よい内容でしたら原文に対し、"Good Entry, thanks!"でもいいので、是非コメントお願いします(Typoや誤訳はコメント欄からどうぞ)。なお、このエントリは個人の見解であり、所属する会社の公式見解ではありません。また、エントリ内でご紹介している製品・サービスは国内導入時期が未定の場合もありますのでご了承下さい。 Good entries on Oracle Blogs are put into Japanese. Mainly this blog covers technology products. Opinions expressed in this blog is my personal one and d

  • パラメータの正当性検査とユニットテストのカバレッジ | DevelopersIO

    渡辺です。 最近はユニットテストの導入方法などに関するエントリーが多かったので、今回は実用的な小ネタとして、メソッドにおけるパラメータの正当性検査とユニットテストについて紹介したいと思います。 パラメータの正当性検査 はじめにパラメータの正当性検査について復習しましょう。Javaプログラマであれば読んでないことが許されないEffective Java(第2版P.175、ただし絶版)には次のように記述されています。 ほとんどのメソッドとコンストラクタは、パラメータとして渡される値に関して何らかの制約を持っています。たとえば、インデックス値が負であってはいけないとか、オブジェクト参照がnullであってはいけないというのが普通です。このような制約は明確に文書化すべきであり、メソッド体の初めに検査することで制約を強制すべきです。これは、エラーが発生したらできるだけ速やかにエラーを検出するようにす

    パラメータの正当性検査とユニットテストのカバレッジ | DevelopersIO
    toenobu
    toenobu 2013/11/17
    テスト