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を使って普段の仕事をラクにするツールを作っていきます。第10回では,人気急上昇中のスクリプト言語をJavaから扱ってみます。スクリプト言語の扱い方を知って,Javaとスクリプト言語のいいとこ取りをできるようになりましょう。 皆さんこんにちは,kikainekoです。日々の定型的な業務をJavaで自動化してラクする方法を紹介するこの連載も,いよいよ10回目を迎えました。今回は,Javaからスクリプト言語を扱う方法を説明します。 ここ最近,PerlやRuby,JavaScriptなどのスクリプト言語がいっそう注目されるようになっています。その理由は,何と言っても開発生産性が高いことにあります。ソフトウエアは年々複雑化しているにもかかわらず,短期間で開発することが求められています。そのニーズに応えるために,スクリプト言語は有力な選択肢の一つとなっているのです。 スクリプト言
Javaは(導入時にModula-3モジュールになぞらえたというpackage以外には)モジュールのことを念頭において設計されてはいなかったにもかかわらず、Javaコミュニティでは多くの事実上のモジュールが存在している。Log4JからHibernate、Tomcatにいたるまで、どんなJavaライブラリも事実上モジュールである。一般的に言って、オープンソースのアプリケーションもクローズドソースのアプリケーションもいくつかの外部ライブラリへの依存性を持っているはずであり、それによって結果的にさらに別のライブラリへの依存性を推移的に持つことになる。 ライブラリもモジュールである ライブラリは暗黙的なモジュールである。ライブラリは必ずしもやりとりするための単一のインターフェースを持っているというわけではないだろうが、多くの場合(使われるためにあるべき)'パブリックな'APIとユースケースを文書化
これからの当然の結果として、同じ名前の異なった Classオブジェクトを持つVM中に、複数のクラスローダを持つことができる、ということである。com.infoq.example.Appという名前のクラスを、同じVM上のバンドルcom.infoq.exampleのバージョン1とバージョン2の両方によってエクスポートできる。バージョン1にバインドされたクライアントバンドルは、バージョン1のクラスを得る。バージョン2にバインドされたクライアントバンドルは、バージョン2のクラスを得る。このことは、モジュールシステムにかなり普通に起きることである。同じVM上で、あるコードは、ライブラリの古いバージョンをロードする必要があり、一方(他のバンドルにある)新しいコードは、ライブラリの新しいバージョンが必要な場合である。幸いにも、OSGiは、そのような推移的な依存性を管理し、非互換なクラスに起因する問題がな
Java Programming Language 現在のJava主要バージョンはJava SE 6だ。次期メジャーバージョンはJava SE 7になる。Java 7で実現を目指す機能についてはこれまで何度も要約ブログが公開され、リリースの時期も2010年後半になるだろうという見通しが立っている。しかしリリース時期はもっとずれ込む可能性がある。それに、従来のJava 7よりももっと重要なリリースになる可能性がある。OracleがSun Microsystemsを買収したことでJavaはOracleのポートフォリオになった。Oracleは自社のポートフォリオをJavaに組み込むとみられる。 これまで発表されてきた内容のまとめに近いが、この辺りの事情がOracle Technology Network Liveにおいて動画で発表された。ライブインタビューの様子を配信しているもので、途中でソーシ
Javaがヒープの管理にGCを使用しているのは、読者の皆さんもご存じの通りです。GCの手法にはいろいろありますが、HotSpot VMが採用しているのが世代別GCです。今回は、世代別GCの概要と問題点を解説したうえで、これを解決するために導入されたGarbage First GCについて説明します。 世代別GCの概要と問題点 世代別GCは若いインスタンスと時間を経たインスタンスを別々の領域に配置し、管理する手法です。これは寿命の短いインスタンスほど多いという性質をベースにしています。 若いインスタンスが配置される領域をヤング領域、時間を経たインスタンスを配置する領域をオールド領域とよび、それぞれの領域で異なるGCの手法を使用します。つまり、ヤングとオールドという世代の異なる領域を、それぞれ異なるGCで管理するのが世代別GCというわけです。 ヤング領域には高速ですが漏れのあるGCを用います。
業務アプリケーション開発で Flex やることになったら、とりあえずこの一冊を買うのが良いです。業務アプリで必要最小限な情報が載せられています。気を付ける点は、Flex Builder 前提で書かれてるところぐらいでしょうか。でも、仕事ならたいてい Flex Builder 使うことになるだろうので、あまり問題にはならないでしょう。 内容は、Flex の概要や基礎知識から Flex Builder のインストールや MXML, ActionScript について開発に必要な最低限の解説から始まり、サンプルアプリケーションの開発を通して Flex の各種コンポーネントやお作法の説明が続く。ここまでが第一章から第四章で、あとはそこまでの基礎知識をベースに実地で応用を色々と作っていくことになるでしょう。五章はサーバ連携で Java と BlazeDS について書かれている。ここも、とりあえずこれ
Google App EngineにはTransactionは1つのEntity Group内でしかできないという制限があります。詳しくは、App EngineのEntityGroupを理解しよう - yvsu pron. yasを参照してください。 そうするとある口座から別の口座にお金を振込むような送金のパターンで、Transactionを利用することができません(すべての口座を1Entity Groupに押し込むと更新がぶつかって現実的ではないから)。送金パターンで整合性を保つためには、理論的には次のようになります。 http://songofcloud.gluegent.com/2009/11/blog-post_18.html 実装するとこんな感じ。 http://blog.notdot.net/2009/9/Distributed-Transactions-on-App-Engi
Javaのデバッグをしていて、ステップ実行中にステップインを繰り返したらソースコードのないところに行き当たったことがあるだろう。あるいはEclipseでF3キーでクラスやメソッド・フィールドの宣言元を辿っていってソースコードのないところに行き当たったことがあるだろう。 Eclipseの場合、"Class File Editor"というものが開く。そこにはJavaのバイトコードのニーモニックがズラズラと並んでいて、「これは読めないや、ワケが分からない」と投げ出してしまったりしていないだろうか。 怖がることはない。ちょっとコツを掴めばすぐに読めるようになる。 Class File Editorの開き方 自前のJavaクラスの場合、ビルドして出来上がったclassファイルを開く必要がある。"Package Explorer"だとclassファイルは隠されていて見えないのでWindow -> Sh
原文(投稿日:2010/01/27)へのリンク プログラミング言語Scalaの作者達は長く待たれていたScala 2.8の最初のベータをリリースした。 2.7.7に対して大量のバグフィックスと多くの新機能を含んでいます。このベータは今後数ヶ月のうちにリリースされるはずの2.8.0最終バージョンの基礎となるものです。 (2.7.7からの)バージョン番号のわずかな増加からは、この言語に対して行われた変更の数の多さを適切に理解することはできない。残念ながら、Scala 2.8は2.7ブランチとバイナリ互換ではない。 新機能のいくつかの例は以下の通りである(包括的なリストはリリースアナウンスを参照のこと): 再設計されたコレクションライブラリ Scalaのコレクションライブラリは完全に再設計された。今や新しいコレクションを実装するのがより簡単になっているだけでなく、ユーザは(ほぼ後方互換であるにも
原文(投稿日:2010/01/27)へのリンク Groovy 言語のバージョン 1.7 は、ライブラリの拡充と同様に言語それ自身の洗練もサポートしながら最近リリースされた。それに続いて、SpringSource は Groovy Eclipse IDE 2.0 をアナウンスした。それにより、以前は貧弱だった Eclipse の Groovy サポートに、デバッグ、洗練されたコンテンツアシスト、スタブ無しのコンパイルをもたらす。このリリースでは、それとともにコア Groovy 言語とライブラリへ大量のアップデートをもたらす。Java 統合フレンドリーな匿名内部クラスや入れ子クラスのシンタックスが導入される。Java において匿名内部クラスは、Groovy にあったように、他の言語ではクロージャやメソッド委譲が使われるかもしれないところで使われている。これらの新しい機能は、匿名内部クラスを使っ
Java基礎文法最速マスター - いろいろ解析日記をリスペクト。 Javaの変態文法・技法一覧です。Javaの基礎をある程度知っている人はこれを読めばJavaの変態をマスターしてJavaを書くことができるようになっています。簡易リファレンスとしても利用できると思いますので、これは足りないと思うものがあれば教えてください。 1.基礎 エンクロージング型内部classの作成 外部classのインスタンスに紐付くインスタンスを生成します。外部クラスのインスタンス - 内部クラスのインスタンス間に、クラス - インスタンスのような関係を持たせることができます。 public class Outer { public class Inner { } } というようなクラスを作った場合、 Outer o = new Outer(); Inner i = o.new Inner(); となります。new
例外考察シリーズ。 オブジェクト指向と型システムの狭間で例外を考える - プログラマーの脳みそ 契約書に捨印を押す - オブジェクト指向と型システムの狭間で例外を考える その2 - プログラマーの脳みそ try-catch方式のおさらい 例外のthrowというのは、コンパイラあるいはランタイムのレベルで、メソッドの戻り値を拡張することで表現できる。 処理中になんらかの異常事態が発生して、文字列表現じゃない何かを返さざるをえない状況ってのに直面したとする。するとString型の戻り値じゃそんなの表現出来ないから困る。 さてここで、原始的に解決する場合のコードを考えてみよう。 public static class Result { /** 戻り値 */ public Object value; /** 成否フラグ */ public boolean success; } といった型をつくり、
このドメインは お名前.com から取得されました。 お名前.com は GMOインターネットグループ(株) が運営する国内シェアNo.1のドメイン登録サービスです。 ※表示価格は、全て税込です。 ※サービス品質維持のため、一時的に対象となる料金へ一定割合の「サービス維持調整費」を加算させていただきます。 ※1 「国内シェア」は、ICANN(インターネットのドメイン名などの資源を管理する非営利団体)の公表数値をもとに集計。gTLDが集計の対象。 日本のドメイン登録業者(レジストラ)(「ICANNがレジストラとして認定した企業」一覧(InterNIC提供)内に「Japan」の記載があるもの)を対象。 レジストラ「GMO Internet Group, Inc. d/b/a Onamae.com」のシェア値を集計。 2023年5月時点の調査。
package sample.bizcard.db; import java.io.Serializable; /** * 1レコードのデータを保持するオブジェクト * Intentに詰めてやり取りするのでSerializableをimplementsする */ @SuppressWarnings("serial") public class BizCard implements Serializable{ // テーブル名 public static final String TABLE_NAME = "biz_card"; // カラム名 public static final String COLUMN_ID = "_id"; public static final String COLUMN_PERSON_NAME = "person_name"; public static fi
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く