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が最近リリースされ、重要な変...

OpenJDK/SystemTapのデバッグが有効な5つの事例:Java on Linuxを鬼凄ネイティブデバッグ!(後篇)(1/3 ページ) OpenJDKとSystemTapは実案件で大活躍! 前回の「OpenJDK+SystemTapでトラブル解析はここまでできる!」ではOpenJDKとSystemTapの概要と、これらの組み合わせでできることを簡単なサンプルを交えながら説明しました。今回は実戦で使える事例ということで、以下の5つを具体的なスクリプトを含めながら説明します。スクリプトやソースコードはこちらからダウンロードできます。 GC動作状況の取得 特定メソッドのプロファイリング 特定メソッド実行時のスタックトレース取得 エンドポイントとのコネクション(ソケット)確認 競合するモニターオブジェクトの把握 なお、今回のサンプルはすべて、以下の環境で動作を確認しています。 OS:Red
去る8月6日土曜日、大阪の株式会社クロノスさんのセミナールームにて、第一回Playframework勉強会in関西が開催されました! http://atnd.org/events/17724 つーわけで行ってきた! 業務でPlayframeworkを使う中で(・∀・)イイネ!!と感じたことをだらだらとしゃべってきた! まとまってなくてごめんなさい!! スライドはこれです! Play ja kansai View more presentations from Takafumi Ikeda 他の参加者の方々のスライドは下記です。 Play勉強会 playをGAEで動かそう! View more presentations from daiksy @daiksyさんによるPlay! on GAEのチュートリアル。 @daiskyさんのスライドとプレゼンテーションはとっても分かりやすくて、とても
日本オラクルは2011年7月中旬から、Java開発者向けの新パッケージ製品「Java SE」の国内提供を開始する。Java SEは、現在提供しているJava Development Kit(JDK)などの後継に位置付けられるパッケージであり、無償提供中のJava VM(Java仮想マシン)である「Sun JVM」に加えて、エンタープライズ向けの高性能JVM「Oracle JRockit JVM」を無償で同梱することなどを売りとしている。 具体的にJava SEは、(1)従来のJDKに相当するパッケージとして無償配布する「Java SE」、(2)Java SEに有償サポートを加えた製品である「Java SE Support」、(3)Java SE Supportにミッションクリティカル向け付加機能を追加した有償製品「Java SE Advanced」、(4)Java SE Advancedに
――さっそくですが、Java EE6の概要について教えて下さい。 田中氏 実は、Java EE6は難産の末に誕生した仕様なんです。これまでJava EEは、2年から2年半の周期でバージョンアップが行われており、Java EE 6も本来は2008年中には仕様の策定と承認を完了する予定になっていました。ところが、5の登場からJava EE 6の承認まで、3年9カ月もの期間を必要とした。 最終的にこのスケジュールが遅れてしまった原因は、Servletの仕様が幾度も変更されたことなどがありますが、最大の理由はJCPに参加する企業・組織間の同意をなかなか取り付けられなかったことにあったようです。 ともあれ、ようやく固まった仕様は非常に良い内容となっています。承認に至る背景をご存じの方は、内容面に不安を抱いているかもしれませんが、プロセスに関わった企業、組織は一様に高い評価を与えています。これからは各
Java出来ますって言ってるのにOpenJDKのコードをチェックアウトした事も無いようならモグリである可能性は高い。 一歩先行くJavaプログラマが読むべきオープンソースソフトウェア10選 - 設計と実装の狭間で。 OpenJDKのコードをチェックアウトした事も無いモグリです。こんにちは。 ま、それはともかくw 上記はいいエントリだし参考になります。ただまあモヒカンなのは事実だと思うのでゆとり路線でどういうオープンソースソフトウェアを読むと良いかもしれないって言うのを書いてみたいと思います。かもしれないって書いてるのがすでにゆとりですね。サーセンw JUnit すでに語り尽くされているとは思いますが、これは外せない。 僕自身は下記のJUnit3.8.2を読解する記事を読んでからJUnit3.8.2を読んでみましたね。 Java World (ジャバ・ワールド) 2005年 9月号 出版社/
10万行コード読んだらJava分かるよってTwitterに書いたらすげぇ勢いでRTされたので、調子に乗って捕捉エントリ書くよ。 Java Core API JDKインストールしたディレクトリに入ってるsrc.zipを展開すると入ってるから読むと良いよ。 すぐ近くにあるのから読むってのはメンタル的に楽でいい。 厳密にはOSSじゃなくて単に公開されてるってだけなんだけども、JavaプログラマなのにコアAPIのコード読んでないとか無いよね? どれから読めば良いか分からんかったら、 java.lang java.util java.io java.text 辺りをまずはキチンと理解すること。当然コードを読み終わったら、それを使ってコードを書く事。 OpenJDK http://hg.openjdk.java.net/jdk7/jdk7 OpenJDKを読むことで、プログラム言語してのJavaではな
Quoteroはワークフローに対応したWebベースのドキュメント管理システム。 QuoteroはJava製のオープンソース・ソフトウェア。企業においてファイルを補完、共有する方法は幾つかの選択肢がある。最もシンプルなのはSMBを使ったファイル共有だろう。ごくシンプルな仕組みであるため、応用が利かないのが欠点だ。 ドキュメント一覧 企業の規模が大きくなって、もっと厳密な文書共有を行いたいと思った時に活躍するのはドキュメント管理システムではないだろうか。今回はJava製のQuoteroを紹介しよう。 Quoteroは3カラムの構成になっている。左がフォルダ、中央がファイルの一覧、右がタスクになっている。ワークフローに対応しており、自分が読まなければならないドキュメントがタスクとして右に並んでいる。またブックマークを付けておくとよく見るファイルにアクセスしやすくなる。 ワークフロー登録 検索機能
Java5における総称型(generics)の導入に伴い、Javaの型システムは以前と比べて高機能になった反面、理解するためのハードルが高くなっています。もちろん、Javaの型についてきちんと理解するためには言語仕様を勉強すればよいのですが、手っ取り早く理解するための方法としてリフレクションAPIを使ってみるというのが有効です。リフレクションAPIの先祖はJava1.xのころから存在しており、フィールド、メソッド、クラスなどの情報を実行時に取得するためのものですが、総称型に合わせてJava5から新しいAPIが追加されています。ここではリフレクションAPIを使い、Java5の新しい型システムについてまとめてみたいと思います。 JDK1.4までの型はすべてClassクラスのインスタンスに一対一対応する JDK1.4までに存在していた型はパターンに分けると以下の3通りに分類できます。 基本型(i
EclipseでJUnit4を使ってみると、けっこう面倒だと思ってしまう。それは、Eclipseの非常に便利なimport自動編成機能(Ctrl+Shift+O)と、Java5から導入されたstatic importとの相性が悪いからだ。たとえば、JUnit4を使って、 import static org.junit.Assert.*; import static org.hamcrest.Matchers.*; ・・・中略・・・ @Test public void onePlusOneEqualsTwo() { int sum = 1 + 1; assertThat(sum, is(equalTo(2))); }というテストを書いていて、なにか別のクラスを使おうとしておもむろに「Ctrl+Shift+O」を押すと、static importの部分が以下のように展開されてしまう。 impo
blog1.mammb.com では CoreMatchers についてでしたが、こちらでは org.hamcrest.Matchers についてまとめます。 org.hamcrest.Matchers JUnit についてくるのは org.hamcrest.CoreMatchers で基本的な Matcher が提供されています。org.hamcrest.Matchers は CoreMatchers を機能拡張したものとなってます。CoreMatchers にあるメソッドは、Matchers にもあります。 hamcrest-core − org.hamcrest.Matchers が入ってる hamcrest-library − org.hamcrest.Matchers が入ってる hamcrest-library は以下のようなパッケージ構成となっており、各用途に応じた Ma
先日、jXLSを使ったExcelテンプレートをSpring MVCのビューとして利用する方法 - 達人プログラマーを目指してでjXLSを使ってExcelファイルを生成してダウンロードする方法について説明しました。ここでは逆に、アップロードされたExcelファイルを読み込んでPojoに変換する方法について説明します。 Sring MVCのファイルアップロードサポートを利用する Spring MVCでファイルアップロード機能を利用するためには、まず、commons-fileuploadとcommons-ioへの依存を追加する必要があります。 <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.2.2</version> </depend
スレッドセーフの話も語ればキリがないのですが、そろそろ「タスクを並行に実行する」話題にいってみましょう。この手の記事は結構あるし、書籍の内容をまるまるというわけにいかないので、独断と偏見でポイントを絞って軽く解説する感じで書いてみます。とりあえず、ThreadクラスとExecutorクラスあたりから。 この書籍のP129あたりです。 Java並行処理プログラミング ―その「基盤」と「最新API」を究める― 作者: Brian Goetz,Joshua Bloch,Doug Lea出版社/メーカー: ソフトバンククリエイティブ発売日: 2006/11/22メディア: 単行本購入: 24人 クリック: 419回この商品を含むブログ (163件) を見る 並行処理のアプリケーションには、「良いスループット」と「良い応答性」の両方が必要と書かれています。スループットは、単位時間あたりの処理能力のこ
Java Programming Language Googleの20%プロジェクトからJava向けの新しい技術「cofoja (Contracts for Java)」が公開された。既存の実装に大きく手を加えることなく、デバッグをより簡単にしてくれる効果が期待できる。バグは些細なコードが起こすものだったりするが、それを追跡して発見するのは時に困難を極める。これは問題が発生した箇所と、実際にバグがある箇所が大きく離れていることが理由になっていることもある。問題発生箇所とバグ発生箇所を近くにまとめることができれば、それだけバグ発見も取り組みやすくなる。 cofojaはこれを簡単に実現するための技術。インタフェースに制約表現を追加可能にするところがポイントとなっており、クラスの実装に手を加えなくてもインタフェースに制約表記を追加することで実行時にチェックできるようになる。ブログに掲載されている
はじめに ソースコードは設計であり、コードの記述は品質に直結するのは言うまでもない。ちなみに、プログラマにとって特に重要なのは保守性だ。コードは書いた直後から保守対象となるからだ。コードは要求文書の範囲で動けばいいと思っている人がいれば今すぐ、ソースコードをコピペして100klに増えるプラグインがいつの間にかインストールされる呪いをかけてあげよう。幸い、ここを読んでいる人にはそんな人はいないだろうと思うけれども。 ということで、コードの品質を下げる要因、すなわちシステム全体の品質を下げる要因となり、かつ使われやすいアンチパターンを挙げ、対策を検討していくことにする。対象は以下: 出力パラメータ 処理状態返却 意味のある配列 無意味な初期化 多すぎるtry-catch 暗黙の順序 コンパイラ警告の無視 過剰なコメント e.printStackTrace() 出力パラメータ メソッドの引数にオ
テストを書いているとモックオブジェクトを使う機会が多いと思います。そのモックオブジェクトは自前で作るよりは、JMockやMockito*1などのフレームワークを利用した方が楽でしょう。 今回は機能的に、ほぼ最強と思われるJMockitを紹介します。 これが、他のモックフレームワークとの機能比較です。 MockingToolkitComparisonMatrix - jmockit - A feature matrix comparing several mocking toolkits. - Project Hosting on Google Code 機能が多ければ使いやすいか。そんなことはないと思います。しかし、これは使いやすいかもと周りの人からお勧めがあったので、実際に使ってどんなところが使えるのか検証してみたので、書いてみます。あと、最後にScalaで使えるか試してみました。 あ、
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く