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が最近リリースされ、重要な変...
![Swift 5.3リリース - 新しい言語機能、開発者エクスペリエンスの向上、パフォーマンス改善](https://cdn-ak-scissors.b.st-hatena.com/image/square/05a86ec395cdfc4a5740ffd2c73fa56f98ee3fe1/height=288;version=1;width=512/https%3A%2F%2Fcdn.infoq.com%2Fstatics_s2_20240425073945%2Fstyles%2Fstatic%2Fimages%2Flogo%2Flogo-big.jpg)
数ヶ月前、私はなぜここにたどり着き、何が可能かを理解する旅に出ました。この旅は、私にアプリケーションアーキテクチャ、MVCという強烈な宗教に対する疑いをもたらしました。そして、リアクティブ、関数型プログラミングの真の実力に触れたのです。また、シンプルさに集中する旅でもあり、私たちの産業はうまくやっているという考えを捨てる旅でもありました。どんなことを見つけたか興味がある方もいるでしょう。 私たちの見ている画面の背後にあるパターンはMVC –Model-View-Controllerです。まだウェブがなくソフトウエアアーキテクチャも分厚いクライアントが単一のデータベースに原始的なネットワークでアクセスするのがせいぜい、という時代にMVCは生まれました。そして数十年後、MVCはまだ現役であり、衰え知らずでオムニチャネルアプリケーションの開発に使われています。 Angular2のリリースの前にM
WWDCにて、C++/Boostで知られ、現在はAppleでSwift Standard Libraryグループのリーダを務めるDave Abrahams氏が、Swiftをプロトコル指向言語として紹介し、プロトコルがコード改善にどう使えるのか説明した。 プロトコル指向プログラミングというのは、OOP(オブジェクト指向プログラミング)のパラダイムの一つで(注:Abrahams氏はそうは言っていないとのこと)、クラスよりもプロトコル(インターフェイスに相当)と構造体の利用を好んでいる。 クラスは素晴らしい? OOPで知られているように、クラスは以下を提供するのに使われる。 カプセル化 アクセス制御 抽象化 名前空間 表現力 拡張性 実のところ、これらはすべて型の特性であり、クラスは型を実装する一つの方法にすぎないとAbrahams氏は言う。だが、クラスはプログラマに多大な犠牲を強い、次のような
5月に開催されたBacon Conferenceで,bitlyのアプリケーション開発リーダのSean O’Connor氏は,毎月600億クリックを処理する分散システムの開発を通じてbitlyの開発者たちが学んだ,最も価値ある教訓について説明した。 分散システムとは何か? 分散システムを定義する3大特性は,氏によれば,Wikipediaで簡単に見付けることができる。 コンポーネントノードの真の並行性。これによってノード間の同調に関連するコストと複雑性が発生する。 共通クロックの不在。このため,異なるノードで発生したイベントを時間順に並べることは不可能になる。 障害の独立性。これはノード障害がシステム内の他のノードに影響を与えない,という能力として理解されるべきだ。 従って分散システムの構築では,これらの特性を扱うことを目標にする必要がある。 ただし氏の意見として,システムの分散的特性に起因す
ソフトウェア開発者のEvan Cordell氏は数週間前のAPI-Craftメールリストで,ハイパーメディアのREST制約は一般的なWeb API要件とどのように違うのか,という議論の口火を切った。 "REST主義者的危機(RESTistential crisis)"と題した論議の中で氏は,長年の議論と実践によってRESTスタイル最大の秘密,ハイパーメディア制約が明確になり始めたことを指摘している。Webでも明らかなように,人間中心のインタラクションには完璧に対応しているが,その一方でプログラマブルなWeb API一般においては,有用性に対する懸念がWeb APIコミュニティの中で増しつつあるようなのだ。 RESTに関する説明,ドメイン特有のWeb APIに適用した場合のハイパーメディアの制限,といった話題から始まった今回の議論では,新たなアーキテクチャスタイルの必要性の検討や,RESTを
Java 8は,長年に渡って最も待望されていた,プログラム言語のアップデートのひとつだ。今回のリリースでは日付APIやストリームAPI,ラムダ式といった新機能が導入される一方で,PermGenが廃止されるなど,総合的に見て望ましい方向の改良が行われている。我々はリリースの詳細を知るため,Java Platformグループでソフトウェア開発を担当する,Oracle VPのGeorges Saab氏に話を聞いた。 InfoQ: ラムダプロジェクトの経緯に詳しくない読者のために,今回導入される実装がどのようなものか,簡単に説明して頂けますか? 言語とVMとライブラリがすべて協調して関与するような改良は,今回が初めてではないかと思うのですが。 過去のリリースで実現された言語機能のほとんどは,その3つの領域のいずれかひとつだけに影響するものでした。あるいはメジャーリリースを機会として,それぞれの領域
多くの人々にとって、RESTは単純にあるアプリケーションの機能を公開するためにHTTPを使用することを意味します。基本的で最も重要なオペレーション (厳密に言えば、「動詞」や「メソッド」がより良い表現です)は、HTTPのGETです。GETはURIによって特定されるリソース表現が必要です。しかし、多くの場合、それがすべてではないとしても、既存のHTTPライブラリやサーバープログラミングAPIは、リソースの識別子としてではなくパラメータをエンコードするための便利な手段として見ることがとても多いです。結果、以下のようなURLとなります。: http://example.com/some-api?method=deleteCustomer&id=1234 実際、URLを作る人は、与えられたシステムの「RESTful具合」について何も言いません。しかし、私たちは特定の場合においてGETが「安全」では
OAuth.ioは,80以上のOAuthプロバイダにインターフェースするAPIであり,サービスである。今回の記事では,共同創設者のMehdi Medjaoui氏とのインタビューを通じて,セキュリティやライセンスなどの詳細,今後の開発計画などについて紹介する。 OAuth.ioは,ユーザ認証やAPI認証のコード記述をシンプルにしようとする試みのひとつだ。開発者は異なるバージョンやプロトコル(1.0, 1.0a, 2.0)を実装した複数のOAuthプロバイダに対応しなくても,以下のスニペットに示すように,ひとつのAPIだけを使ってプログラムすればよい。 $('#fb-connect').click(function() { OAuth.initialize('YOUR_PUBLIC_KEY'); OAuth.popup('facebook', function(err, res) { if (
静的型チェッカーは、戻り型や、代入時の値の整合性も検証します: import groovy.transform.TypeChecked @TypeChecked Date test() { // コンパイルエラー: // Date値はint型の変数には代入できない int object = new Date() String[] letters = ['a', 'b', 'c'] // コンパイルエラー: // String値はDate型の変数には代入できない Date aDateVariable = letters[0] // コンパイルエラー: // Date型を返すメソッドでString値を返すことはできない return "today" } この例では、int変数にDateは代入できないことや、メソッドシグネーチャで指定されているDate値のかわりにStringは返せないことをコン
Eclipse Junoのリリースとともに、Eclipse FoundationはXtendのリリースを高らかに発表した。これはラムダを備えたJava互換の言語で、Javaランタイムに完全な互換性をもつ。XtendはXtextというDSLライブラリおよびエディタ生成のためのプラグインスイートをベースにしている。 ScalaやCeylon、Kotlinと違って、Xtendは独自のバイトコードコンパイラを必要としていない。その代わり、XtendのソースファイルはJavaのソースファイルに変換され、それから通常のJavaコンパイラでコンパイルされる。その結果、Xtendは、標準的なJavaプロジェクトで使えるJavaを生成する、開発時の変換ツールとして利用したり、コンパイル時にJavaソースファイルを生成するのに使うソースモデルとして利用することができる。 Xtendをコンパイルするには2つの方
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く