タグ

javaに関するokinakaのブックマーク (527)

  • 第20回 Javaアプリケーション向けの認証フレームワーク「Apache Shiro」 | gihyo.jp

    使いやすい認証機構を実現する「Apache Shiro」 今回取り上げる「Apache Shiro」は、Javaアプリケーション向けに開発された認証と承認のためのオープンソースのフレームワークです。Shiroを使うことで、ログインなどの認証の仕組みや、アクセス管理、セッション管理などといった機構を、容易にアプリケーションに付け加えることができるようになります。 JDKにはJAAS(Java Authentication and Authorization Service)という認証・承認サービスが用意されていますが、JAASで提供されるAPIはあまり使い勝手が良くなく、わかりにくいという意見が大多数を占めていました。ShiroはJAASよりも理解しやすく、簡単に利用できる認証・承認の仕組みを提供する目的で開発されました。Shiroを利用するメリットとしては次のようなものが挙げられています。

    第20回 Javaアプリケーション向けの認証フレームワーク「Apache Shiro」 | gihyo.jp
    okinaka
    okinaka 2011/11/01
  • Java、バッチ処理の仕様を策定へ | エンタープライズ | マイコミジャーナル

    Java Programming Language Javaを使ったバッチアプリケーションの開発と運用の標準化を目指した新しい仕様「JSR 352: Batch Applications for the Java Platform」の策定作業が開始された。IBMから提出された仕様で、Java SEとJava EEの双方における利用を想定。策定目標時期は2012年第2四半期とされており、かなりアグレッシブに作業を進める気概であることがわかる。 JSR 352ではバッチアプリケーションの開発と、ジョブをスケジュールに従って実行するための実行環境の2つに対して、標準化されたプログラミングモデルを実現することを目指している。提案されている資料では「バッチジョブ」「バッチジョブステップ」「バッチアプリケーション」「バッチイグゼキュタ」「バッチジョブマネージャ」を定義しモデリング対象を明確化している。

    okinaka
    okinaka 2011/10/31
  • 第19回 Javaプログラムから外部プロセスを起動するための「Apache Commons Exec」 | gihyo.jp

    Apache Commons Execとは Javaプログラムから外部プロセスを実行する一般的な方法としては、標準ライブラリに用意されているjava.lang.ProcessBuilderクラスや、java.lang.Runtime.exec()メソッドがあります。しかしこれらのクラス/メソッドによるサポートは限定的であり、あまり使い勝手が良くないことでも知られています。「⁠Apache Commons Exec」(⁠以下、Commons Exec)は、そのような標準的な方法に変わる外部プロセスの起動手段を提供してくれるオープンソースのライブラリです。特にプロセスに対する適切な入出力処理が、比較的簡単に記述できるようになっている点が大きなメリットです。 Commons Execはこのページよりダウンロードできます。稿執筆時点での最新版はバージョン1.1です。ダウンロードしたファイルを解凍

    第19回 Javaプログラムから外部プロセスを起動するための「Apache Commons Exec」 | gihyo.jp
    okinaka
    okinaka 2011/10/19
  • PojoSRはJavaにサービスレジストリを持ち込む

    原文(投稿日:2011/10/13)へのリンク Karl Pauls氏が PojoSR 0.1.6をリリースした。これは、完全なOSGiランタイムスタックを必要とせずにOSGi バンドルをロードでき、サービスを一緒に繋ぐことができるようにする。PojoSR が完全なOSGiプラットフォームと違うのは、ネストしたクラスローダーを使わないことである。なので構造化したOSGi環境でしばしば動かなくなる Hibernateのような行儀の悪いライブラリでも正常に動き続ける。 クラスパス(classpath )上で走っている通常のアプリケーションと違って、 PojoSRによって、フラットなクラスパス ビューからアプリケーションを μServicesで作られたクラスパス ビューへ移行できる。 Declarative Services やApache Felix Gogoシェルのような既存のOSGi バン

    PojoSRはJavaにサービスレジストリを持ち込む
    okinaka
    okinaka 2011/10/18
  • サーバサイドJavaScriptとjQueryでスクレイピング

    jQuery でスクレイピングできたらセレクタ使えるし便利かなーと思ったりしたんですが、Rhino と env-js を使うと超簡単にできたのでレポートしてみます。 Rhino と env-js って何ぞい? Rhino ってのは Java で書かれた JavaScript エンジンです。Rhino を使うとコマンドラインから JavaScript を実行できます。 Rhino には DOM が無いので単体では jQuery を実行することはできませんが、env-js という DOM ライブラリを使用するとこの辺はクリアできます。 env-js の中に jQuery を使ったサンプルがいくつか入ってますので、Java とか JavaScript とか詳しい方はそちらを見てもらった方が早いと思います。 使ってみる まず env-js をビルドしないといけないのでその辺の手順から説明します。

    サーバサイドJavaScriptとjQueryでスクレイピング
  • IBM Developer

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM Developer
    okinaka
    okinaka 2011/10/07
  • EclipseベースIDEでSpring MVC開発ができRoo!

    EclipseベースIDEでSpring MVC開発ができRoo!:Rooでアプリ開発をRapidしようぜ!(2)(1/3 ページ) Eclipseベースの無料IDE「Spring Tool Suite」 第1回の記事「10ミニッツで絶対にできる、Spring Rooアプリ開発」では、コマンドラインからSpring Rooをシェルを使用してアプリケーションを作成してみました。今回はSpring Sourceが提供しているEclipseベースのIDE、「SpringSource Tool Suit」(以下、STS)を使用して開発してみましょう。 前回も少しだけ解説しましたが、STSはSpring系のサポートが非常に充実しており、さまざまな恩恵が受けられます。 SpringSource Tool Suiteのセットアップ 今回の筆者の環境は以下のようになっています。 OS:MacOS X 10

    EclipseベースIDEでSpring MVC開発ができRoo!
    okinaka
    okinaka 2011/10/06
  • Java SE 7徹底理解 第6回 New I/O 2で非同期I/O

    先々月、先月とNIO2の新しいファイルシステムについて解説してきました。今月は、NIO2の残りの機能である非同期I/Oとソケットチャネルでのマルチキャストについて解説していきます。 なお、ここではNIO2の機能を中心に解説するため、バッファやチャネルなどNIOの機能に関しては特に解説を加えておりません。NIOについては、連載では2006年の4月から5月にかけて「New I/Oで高速な入出力」と題して解説していますので、そちらをご参照ください。 通常のI/O 一般的に入出力処理を行う場合、処理が完了するまで制御が戻ってくることはありません。たとえば、インプットストリームでstream.read(bytes);と記述した場合、読み込みが終了するまでreadメソッドが戻ってくることはありません(例外が発生することはあります)。つまり、処理がブロックされるわけです。 入出力が高速に行われるのであ

    Java SE 7徹底理解 第6回 New I/O 2で非同期I/O
    okinaka
    okinaka 2011/10/03
  • OpenJDK+SystemTapでトラブル解析はここまでできる!

    Javaでデバッグしにくい3つの場面 Javaアプリケーションで構築されたシステムの障害や性能問題が発生した場合、大半はデバッガやプロファイラ、ミドルウェアやサードパーティが提供するツールを用いることで解析できてしまいます。 しかし、以下のような状況ではJavaの世界からのアプローチがしにくく、通常のデバッグノウハウが使えないことがあります。 プロセス再起動が許されないシステムでの情報取得がしたいとき 番環境でしか発生せず、テスト環境でデバッグできない問題の場合 GC(ガベージ・コレクション)ログ(-Xloggcなど)のように、javaコマンド起動オプションを与えなければ取得できない情報が必要な場合 ソース変更が許されない場合に、特定状況下の情報を取得したいとき ある特定のメソッドなどが実行された瞬間のスレッドダンプやスタックトレースなどが必要な場合 ソースの変更ができない、環境の制約な

    OpenJDK+SystemTapでトラブル解析はここまでできる!
    okinaka
    okinaka 2011/09/23
  • 第17回 「Software Quality Environment」による静的解析でソースコードの品質を向上させる | gihyo.jp

    格派エンジニアの工具箱 第17回「Software Quality Environment」による静的解析でソースコードの品質を向上させる パッケージの依存関係を可視化する「Dependency Finder」 前回に引き続き、NetBeans向けの静的コード解析ツールである「Software Quality Environment」(⁠以下、SQE)を紹介します。 SQEに付属する4つのツールのうちのひとつ、「⁠Dependency Finder」は、コンパイル済みのJavaコードからパッケージの依存関係を解析して可視化するツールです。もともとのツールは依存関係をXML形式やHTML形式またはテキスト形式で出力するものですが、SQEに含まれるNetBeansプラグインではグラフ状のマップとして出力する機能が提供されます。 Dependency Finderによる解析は、プロジェクト名を

    第17回 「Software Quality Environment」による静的解析でソースコードの品質を向上させる | gihyo.jp
    okinaka
    okinaka 2011/09/21
  • 【コラム】攻略! ツール・ド・プログラミング (61) ユニットテスト用モック作成ツール「EasyMock」によるメソッド呼び出し検証 | エンタープライズ | マイコミジャーナル

    メソッド呼び出しの引数をテストする 前回に引き続き、ユニットテストに利用するためのモックオブジェクトを簡単に作成することができる「EasyMock」について紹介する。 EasyMockの最も基的な使い方は、対象のメソッドを特定の引数を与えて実行した場合に、正しい戻り値を返すようなモックを作成するというものである。しかしそれだけではなく、メソッドに渡された引数が想定通りであるかどうかをチェックするというような使い方もできる。例えば前回のサンプルとして作成したDataSourceクラスのモックは、get()メソッドが"testkey"という引数を受け取るように想定したものである。したがって、次のような"testkey"以外の引数を渡す呼び出しはエラーになる() メソッド呼び出し時の引数が間違っているとテストは失敗する String result = sample.findValue("wro

    okinaka
    okinaka 2011/09/16
  • エージェントは生き残っているか?(後編)

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    エージェントは生き残っているか?(後編)
    okinaka
    okinaka 2011/09/15
  • 第16回 Javaソフトウェアのための静的コード解析ツールをセットにした「Software Quality Environment」 | gihyo.jp

    格派エンジニアの工具箱 第16回Javaソフトウェアのための静的コード解析ツールをセットにした「Software Quality Environment」 「Software Quality Environment」とは ソフトウェアの品質を確保するためには、単体テストをはじめとする動的テストと並んで、ソースコードの静的チェックが極めて重要となります。「⁠Software Quality Environment」(⁠以下、SQE)は、Javaアプリケーション開発向けに公開されている複数の静的コード解析ツールをセットにした、NetBeans用のプラグインです。現在、SQEには次に挙げる4つのツールが含まれています。 FindBugs PMD Checkstyle Dependency Finder これらのツールはそれぞれ単体で利用することもできますが、SQEのメリットは、手軽に複数の異な

    第16回 Javaソフトウェアのための静的コード解析ツールをセットにした「Software Quality Environment」 | gihyo.jp
    okinaka
    okinaka 2011/09/07
  • 第15回 「Play Framework」でモデル/コントロールをカスタマイズする | gihyo.jp

    コントロールのカスタマイズ 前回に引き続き、「⁠Play Framework」(⁠日語サイトはこちら)の使い方を解説します。Play Frameworkで作成したアプリケーションはモデル/ビュー/コントロールの各パーツから構成され、それぞれプロジェクトのmodels/views/controllersフォルダ内に格納されています。前回はビューの修正を行ったので、今回はまずコントロールをカスタマイズしてみましょう。 デフォルトのコントロールはcontrollersフォルダにApplication.javaとして作成されています。このindex()メソッドがビューのindex.htmlに関連付けられていることは前回説明しました。index()メソッドでは、次のようにrender()メソッドの呼び出しを行っています。これがPlay Frameworkのテンプレートエンジンを利用してWebページ

    第15回 「Play Framework」でモデル/コントロールをカスタマイズする | gihyo.jp
    okinaka
    okinaka 2011/08/24
  • 本格派エンジニアの工具箱:第14回 Ruby on RailsライクなJavaフレームワーク「Play Framework」|gihyo.jp … 技術評論社

    Play Frameworkとは 「Play Framework」(⁠日語サイトはこちら)は、Rub on RailsライクなJavaアプリケーション開発フレームワークです。簡単なコマンドの実行でアプリケーションの雛形を構築し、手軽に開発をスタートさせることができます。構築されるアプリケーションの雛形はモデル、ビュー、コントロールの3つのパーツから構成され、データベースシステムとJavaの永続化機能によるモデル、テンプレートエンジンを利用したビュー、Javaプログラムで記述するコントロールをシームレスに連携させたアプリケーション開発を行うことが可能です。 Play Frameworkの大きな特徴のひとつは、JavaコードやHTMLファイル、テンプレートファイルなどを修正しても、コンパイルやサーバへのデプロイ、サーバの再起動などを一切することなく、ブラウザでWebサイトをリロードするだけで

    本格派エンジニアの工具箱:第14回 Ruby on RailsライクなJavaフレームワーク「Play Framework」|gihyo.jp … 技術評論社
    okinaka
    okinaka 2011/08/11
  • JSF2の画面でAjaxの非同期通信を作る

    はじめに 稿では、Java Enterprise Edition 6のプレゼンテーションの基となるJSFJavaServer Faces)の送信機能と、Ajaxの扱い方について紹介します。 対象読者 JavaEE6開発に興味がある方 これからJavaのWebアプリケーション開発をはじめる方 必要な環境 動作環境は以下のとおりです。 Java SE 6 NetBeans 6.9.1 フォームの送信をJSF2のAjax機能で行う 今回紹介するJSF2でのAjax機能で使われている基技術について、簡単におさらいします。 フォームの送信とAjax Webアプリケーションは、利用ユーザーからの入力情報をサーバへ送信し、その結果を画面へ返すまでをひとつのサイクルとしています。送信するデータをくくるHTMLタグは<form>で、フォームと呼ばれます。この<form>と</form>で囲まれた内

    okinaka
    okinaka 2011/08/03
  • Java SE 7徹底理解 第4回 New I/O 2の新しいファイルシステムインタフェース その1 | 日経 xTECH(クロステック)

    今回は、J2SE 1.4.0の話からはじめましょう。 J2SE 1.4.0がリリースされたのが2002年。すでに9年も経ってしまいました。 さすがに最近こそ使われなくなったものの、日においてはJ2SE 1.4.xが一番多く使われていたバージョンなのではないでしょうか。 そのJ2SE 1.4.0の時に新機能として導入されたのが、JSR 51 New I/O APIs for the Java Platform、通称NIOです。 NIOは、java.ioを補う新しいI/Oに関するAPIで、入出力に特化したバッファや、ストリームよりも高効率なチャネルなどを提供しています。また、ノンブロッキングI/OもNIOで導入されました。 NIOは一般にはそれほど使われていないようですが、GlassFishやTomcatなど多くのフレームワークやライブラリで導入されています。 しかし、JSR 51は当初から

    Java SE 7徹底理解 第4回 New I/O 2の新しいファイルシステムインタフェース その1 | 日経 xTECH(クロステック)
    okinaka
    okinaka 2011/08/01
  • 【コラム】攻略! ツール・ド・プログラミング (59) スタンドアロンでのTymeleafテンプレートの利用 | エンタープライズ | マイコミジャーナル

    URLのテンプレート化 前回に引き続き、Javaアプリケーション用テンプレートエンジン「Thymeleaf」の使い方を紹介する。標準の文法セットである「Standard Dialects」に用意された文法として#{●●●}と${●●●}、そして*{●●●}という3種類を取り上げたが、Standard Dialectsにはもうひとつ「@{●●●}」という記述方法が存在する。これはURL形式の文字列を生成するための構文である。 例えば次のように記述したとする。 @{/hoge/piyo} テンプレートエンジンで処理を行った結果、この部分はコンテキストルート以下の「/hoge/piyo」というパスに置き換えられる。この記述法の大きなメリットは、次のように${●●●}と組み合わせることで、パラメータとしてサーバ側のオブジェクトの値を渡すことができるという点である。 @{/hoge/piyo(par

    okinaka
    okinaka 2011/07/22
  • 【コラム】攻略! ツール・ド・プログラミング (58) Java用テンプレートエンジン「Thymeleaf」の標準文法セットを利用する | エンタープライズ | マイコミジャーナル

    変数を利用する 前回はJavaアプリケーション向けののテンプレートエンジン「Thymeleaf」を紹介した。Webアプリケーション開発でテンプレートエンジンを利用するメリットは、見た目のデザインとロジックを記述するコードが分離できるという点にある。その点、前回示したhello.htmlの例は、単にテキスト部分を別ファイルに抜き出しただけなので、ロジックの分離という観点には触れていない。 Thymeleafには、テンプレート中にサーバ側のJavaオブジェクトと関連付けられた変数を埋め込む機能が用意されている。これを利用することで、サーバサイドで生成や加工されたデータを、シームレスにページの表示の中に反映させることができるようになる。今回は、Thymeleafの標準文法セットである「Standard Dialect」でサポートされている変数の利用方法を紹介する。 まず、サーバ側のオブジェクトは

    okinaka
    okinaka 2011/07/14
  • 第12回 Echo Web FrameworkのクライアントサイドAPIによるWebアプリケーションの作成 | gihyo.jp

    JavaScriptによるWebアプリケーションの作成 前回は、軽量Webアプリケーションフレームワークのひとつである「Echo Web Framework」(⁠以下、Echo)について、サーバサイドのJavaAPIを利用してWebアプリケーションを作成する方法を解説しました。EchoのサーバサイドAPIを利用した場合、HTMLを一切記述することなく、JavaプログラムだけでWebサイトのUIが構築できます。 その一方で、EchoにはJavaScriptによるクライアントサイド用のAPIも用意されています。これを利用した場合、今度はサーバ側のプログラムを一切記述することなく、JavaScriptと最小限のHTMLだけでUIが構築できます。サーバサイド/クライアントサイドで、それぞれ個別に、同等のUIを実現するAPIを備えているというのがEchoの特徴なのです。今回はクライアントサイドのJ

    第12回 Echo Web FrameworkのクライアントサイドAPIによるWebアプリケーションの作成 | gihyo.jp