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が最近リリースされ、重要な変...
Java Advent Calendar 2011 の18日目です。 17日目の記事は JavaEE使ってウェブアプリケーションつくろうよ - 水まんじゅう2、 19日目はJavaエバンジェリストの寺田さんですよ。乞うご期待。 プロローグ 後:「先輩、いまさらなんですけど上からSQLの遅いところを調査してくれって依頼がきてて、全クエリの実行時間を実データで集計とれと言ってるんですけど。これ、SQL発行前後で時間計測するしかないですかねー。このプロジェクトどんだけクエリ発行してるところあるんだろ…。簡単にやれないですかね。とりあえず調査に1週間かかるって返答しちゃいましょうか」 先:「まぁまて。全部のクエリにもれなく時間計測のコードを挿し込むとかやってられんし、手作業で漏れも発生するだろ。こういうのはオブジェクト指向で解決するのがスマートだ。あ、とりあえず調査に1週間かかるとは返答しておけ」
Java, Advent Calendarこの記事は Java Advent Calendar 2011 の一環で書いてます。詳細はこちらを参照してください。昨日の id:ttmmrr さんの記事はこちら (2012年の公休日とか)JTableのフィルタリング - ttmmrr(@o_tmr)の日記たまたま、いま作ってるプログラムで、Javaプログラマに役立ちそうな部分があったので、その部分を抜き出して公開することにしました。今回はその紹介をしようと思います。 「インタフェースこそが型である」世界Java: The Good Parts という本がありまして、その3章において、(私の理解としては)Javaにおいて、型とはインタフェースのことあり、クラスは型に実装を提供するものであり、すべてのクラスはインタフェースを備えるべきだ、とかいう意味の論が展開されてます。インタフェースはクラスから型
テストを書いているとモックオブジェクトを使う機会が多いと思います。そのモックオブジェクトは自前で作るよりは、JMockやMockito*1などのフレームワークを利用した方が楽でしょう。 今回は機能的に、ほぼ最強と思われるJMockitを紹介します。 これが、他のモックフレームワークとの機能比較です。 MockingToolkitComparisonMatrix - jmockit - A feature matrix comparing several mocking toolkits. - Project Hosting on Google Code 機能が多ければ使いやすいか。そんなことはないと思います。しかし、これは使いやすいかもと周りの人からお勧めがあったので、実際に使ってどんなところが使えるのか検証してみたので、書いてみます。あと、最後にScalaで使えるか試してみました。 あ、
このエントリーは、@cero-tさんのエントリーの次で、Java Advent Calendar 2011の6番目のエントリーです。自分自身の今年のメインテーマがTDD(テスト駆動開発)と言う事もあり、関連エントリーとしてJUnitについて書きたいかと思います。今更JUnit?と思われた方も普段からJUnitを使っていあなたも気軽にお読みください。尚、色々な話題を駆け足で紹介するので、どれも簡単な紹介程度になってしまいますが、ご了承願います。 JUnit4 スタイル JUnitがアノテーションに対応し結構な月日が流れましたが、古いコーディング規約のままでテストコードを書いていませんか?JUnit4では、アノテーションとアサーションを使ったテストコードを書くことが基本スタイルです。かつては、TestCaseのサブクラスを作り、testではじまるメソッドを定義していましたが、今は Testアノ
以前にJavaの配列関連で調べたことがあったのですが、Javaの総称型は型消去によって直感的でない挙動をする場合があります。 Java言語のClassクラスが持つちょっと不思議な性質について - 達人プログラマーを目指して Java5の型システムを理解するにはリフレクションAPIを使ってみるのが最短の近道になる - 達人プログラマーを目指して 特に、総称型の型パラメーターTについては以下はコンパイルできないという制約があります。 new T() new T[配列サイズ] catch (T ... extends T T.class instanceof T また、staticメソッドやstatic初期化ブロック内でクラスの型パラメータを使えないという制約もあります。 AngelikaLanger.com - Java Generics FAQs - Type Parameters - An
Androidアプリのテストに関する課題 Android端末の普及は世界規模で増加の一途をたどっています。2011年秋冬モデルが発表され、発売予定のものを含むと日本で発売中のAndroidの携帯端末は100機種に迫ろうとしています。読者の皆さんの周囲を見渡しても、電車や街角でAndroidを採用したスマートフォンなど携帯端末を使用する人をよく見かけるのではないでしょうか。 そして、スマートフォンに留まらずタブレットやミュージックプレイヤー、電子ブックリーダー、POSレジ、テレビなど、さまざまなデバイスがAndroidを搭載し始めています。Androidの採用が増えるにつれ、Androidアプリの種類が増えるので、アプリの開発案件も増えることになります。実際、本稿を読んでいる開発者の方の中にも、すでにAndroidアプリの開発に取り組んでいる方も多いのではないでしょうか。 筆者も普段の業務の
Java Programming Language Javaを使ったバッチアプリケーションの開発と運用の標準化を目指した新しい仕様「JSR 352: Batch Applications for the Java Platform」の策定作業が開始された。IBMから提出された仕様で、Java SEとJava EEの双方における利用を想定。策定目標時期は2012年第2四半期とされており、かなりアグレッシブに作業を進める気概であることがわかる。 JSR 352ではバッチアプリケーションの開発と、ジョブをスケジュールに従って実行するための実行環境の2つに対して、標準化されたプログラミングモデルを実現することを目指している。提案されている資料では「バッチジョブ」「バッチジョブステップ」「バッチアプリケーション」「バッチイグゼキュタ」「バッチジョブマネージャ」を定義しモデリング対象を明確化している。
使いやすい認証機構を実現する「Apache Shiro」 今回取り上げる「Apache Shiro」は、Javaアプリケーション向けに開発された認証と承認のためのオープンソースのフレームワークです。Shiroを使うことで、ログインなどの認証の仕組みや、アクセス管理、セッション管理などといった機構を、容易にアプリケーションに付け加えることができるようになります。 JDKにはJAAS(Java Authentication and Authorization Service)という認証・承認サービスが用意されていますが、JAASで提供されるAPIはあまり使い勝手が良くなく、わかりにくいという意見が大多数を占めていました。ShiroはJAASよりも理解しやすく、簡単に利用できる認証・承認の仕組みを提供する目的で開発されました。Shiroを利用するメリットとしては次のようなものが挙げられています。
サンフランシスコで先週、10月4日から開催された「JaveOne 2011」。基調講演で最初の話題として語られたのは、7月に登場したばかりのJavaの最新バージョン「Java 7」についてでした。 Java 7とはどんなリリースなのか、基調講演の模様を紹介します。 「プランB」としてリリースされたJava 7 オラクル Java Platformチーフアーキテクト Mark Reinhold氏。 1年前、Java SE 7をどうすべきか、みなさんに質問をした。そのときには主に5つの大きな新機能候補と、そのほかに細かい新機能候補があった。しかもその時点ですでにJava 6から6年が経過していた。 この新機能候補のうち、いくつかは開発に時間がかかりそうなものがあり、それらをJava SE 7から分離してJava SE 8の新機能とした計画を「プランB」とした。これならJava SE 7が当初よ
Search this site Recent Entries Recent Comments Recent Trackbacks 需要があるかどうか分かりませんが作ってみました。俺得万歳 before public class SomeTest{ @Test public void ignoreOnlyProduction(){ if(AppEngineUtil.isProduction()){ return; } // 本番サーバだけでは動かしたくないテスト } @Test public void ignoreOnlyDevelopment(){ if(AppEngineUtil.isDevelopment()){ return; } // 開発サーバだけでは動かしたくないテスト } } after import net.sue445.s3tiger.Slim3; @RunWith(S
Java開発者が知らないと損するPaaSクラウド8選:ユカイ、ツーカイ、カイハツ環境!(25)(1/3 ページ) 進化・激変するJavaクラウドの現状を知る、まとめ 本連載「ユカイ、ツーカイ、開発環境」では、Javaが利用できるクラウドコンピューティングのPaaS環境について、いくつか紹介してきました。最近では、レッドハットの「OpenShift」とヴイエムウェアの「Cloud Foundry」などのPaaSクラウドのβサービスが提供され始め、また、いままで紹介した各クラウドの事情も変わってきました。 本稿では、Javaで利用できる以下の8つのPaaSクラウドの最新動向をお届けします。 機能を拡充し続ける「Google App Engine」 「Stax」はCloudBeesに買収され「RUN@cloud」に Morphの「AppSpace」は「mCloud」に .NETだけじゃない「Wi
We're pleased to announce the public beta of Heroku for Java. Java is the fourth official language available on the Cedar stack. Java is, by many measures, the world's most popular programming language. In addition to its large and diverse developer base, it offers a huge ecosystem of libraries and tools, an extremely well-tuned VM for fast and reliable runtime performance, and an accessible C-lik
今週水曜日に、オラクル青山センターで行われたGlassfish Japanユーザーグループの勉強会でJava EE6のお話をさせていただきました。勉強会のスライドとビデオは以下のリンク先にあります。 Glassfish勉強会(JavaEE6について) View more presentations from Ryo Asai http://www.ustream.tv/recorded/16552906 今回は基本的に私がこのブログで書いてきたJava EE6関連の情報について紹介させていただきました。欲張って少し内容を詰め込み過ぎたところがあったかもしれませんが、Java EE6を使った単体試験や結合試験の自動化については、説明をスキップしてしまい、ちょっとわかりにくくなってしまいました。ここで、あらためてJava EE6上のアプリケーションのテスト自動化について簡単に補足させていただき
【祝】:Java SE 7 正式リリース 2011年7月29日 at 2:00 午前 3件のコメント 本日(2011年07月28日(日本時間29日 日本でもぎりぎり28日だったようです。))Java SE 7 が正式にリリースされました。5年ぶりのリリースとなる Java SE 7 ですが、Java SE 7 は進化として位置づけられているバージョンになります。ここで言う進化とは言語仕様に対する大幅な変更はなく、開発生産性の向上やライブラリのアップデート等が多く、今まで Java SE 5, 6 等で開発をしてきて頂いた Java 開発者は比較的かんてたんに移行が可能になっています。Project Coin, NIO.2 等により可読性、開発生産性が向上した最新の Java SE を入手頂き是非開発現場でご使用ください。 サポート環境はこちら Java SE 7に関するドキュメント チュー
Twitter Engineer Talks About the Company's Migration from Ruby to Scala and Javaを翻訳しました。 ※ Google翻訳ツールキットの試行も兼ねています。 TwitterはRuby on Rails を活用していることで有名ですが、サービスが拡大していくにつれて、コードの一部を他の技術に移行してきています。同社はバックエンドのメッセージキューの実装をScalaに移行 することから始め、バックエンドの検索をJavaで再構築することを継続し、最近では検索処理のフロントエンドを Java サーバに置き換えました 。 InfoQは、Twitterのエンジニア、エヴァン・ウィーバーにインタビューを行いました。彼は、この変革についてより詳しく説明いてくれています。 興味深いのは以下のポイントです。 Twitterでよく使われ
Java EE6でさらに開発は容易になった? 以前JavaEE標準の進化から最近の業務アプリケーション開発手法の変遷について考える - 達人プログラマーを目指してにてJava EE標準の開発モデルの進化について説明しました。10年前の相当面倒だったJ2EEの開発モデルと比べて、最新のJava EE6では、様々なOSSの良い特徴を取り入れて、簡単にプログラミングできるように大幅に改良されています。また、Glassfish 3.1やJBoss AS7などは起動時間が非常に短縮されており*1、よほど遅いPCでなければわずか数秒で再起動することができます。さらに、Java EEサーバーが重くてテスト不能というイメージはもう過去の話かもしれない - 達人プログラマーを目指してで紹介したように、Java EE6では従来困難であった単体試験の自動化も容易になっています。 個々の技術は優れているのだけれど
開発に役立つ定番・有用ライブラリを徹底解説! Javaシステム開発では、Javaの標準仕様にない機能を実装するためにオープンソースのライブラリを使うことがよくあります。しかし、非常に多くのライブラリが存在し、その機能や品質はさまざまで、評価をするのも一苦労です。そこで本書では、Java開発の経験豊富な執筆陣がすすめる、品質的にも安心で開発時に役立つオープンソースライブラリを徹底解説します。Java標準APIを補完するライブラリや、開発現場でよく使われるロギング、テンプレートエンジン、DB、パーサー、XML/HTMLパーサ、通信、CSV/Excel入出力、PDF、グラフ、オブジェクト変換、テスト、キャッシュ、スクリプトエンジンなどの機能を提供するライブラリなど、その機能や使い方から活用テクニックまでを詳しく解説します。 第1章 基本ライブラリ 1.1 基本ライブラリの概要 1.2 Commo
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く