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が最近リリースされ、重要な変...
To many people, REST simply means using HTTP to expose some application functionality. The fundamental and most important operation (strictly speaking, “verb” or “method” would be a better term) is an HTTP GET. A GET should retrieve a representation of a resource identified by a URI, but many, if not all existing HTTP libraries and server programming APIs make it extremely easy to view the URI not
OODBベンダーのGemStoneは「MagLev」というRuby VMに(サイト・英語)取り組んでいる。InfoQはMagLevプロジェクトの詳細についてプロジェクトマネジャーのBob Walker氏と、同じく同プロジェクトに関わっているAvi Bryant氏に(source)話を聞いた。まずはWalker氏の話から。 InfoQ: VMレベルではGemstone/SとMagLevの関係はどうなっているのでしょうか。MagLevとGemstone/Sは確かに多数のコードと機能を共有していますが、VMレベルを含めて両者は別個の製品です。MagLev VMが使っている多数のバイトコードとアルゴリズムはRuby特有のものになっています。しかし、Smalltalkのコードを動作させる能力は保持しています。 InfoQ:プロジェクトは何人体制になっているのでしょうか。現時点での予定はどうなっていま
複数のチームが動いているアジャイル環境では、以下の目的を実現するバージョン管理モデルが必要になります。 フェイルファースト フェイルファーストとはコードのコンフリクトや統合での問題を可能なかぎり早期に発見することです 大きな問題を数回のタイミングで修正するよりも、小さな問題を何度も修正していく方が賢明です 常にリリース可能 どんなに悪いスプリント(イテレーション)だったとしても、その成果物は何かしらリリース可能なものでないといけません シンプル このスキームはチームのメンバ全員に毎日使われることになるので、ルールや定型作業は明確かつシンプルでないといけません 紙1枚にまとめた要約図(壁張り用) この図を見て分からないことがあっても構いません。この先を読んでください。 この図を見て分からないことがなくても、この先を読んでください。 この要約図はPDFでもダウンロードできます(DL) バージョ
JRuby のパフォーマンスは CRuby のそれに近づいているとはいえ、まだ十分なスピードがでないこともある。CRuby ユーザは、C/C++ を Ruby に組み込むことのできる Ryan Davis 氏の RubyInline ライブラリ(サイト・英語)を使って、Ruby の C による拡張を容易に行うことができる。JRuby 開発者の Charles Nutter 氏は現在、組み込まれた Java コードをオンザフライでコンパイルできる JRuby 用 RubyInline builder (ブログ・英語)を実装中だ。 Ryan Davis 氏による、C で記述された階乗を計算するメソッドの例(source)を次に示す。 class MyTest inline do |builder| builder.c " long factorial_c(int max) { int i=ma
Rubyに人気があるため、Ruby on RailsやMerb、CampingといったWebフレームワークが誕生した。Wavesという新しいWebフレームワークが最近リリースされたが、 Ruby開発者が興味を持って試してみようと思うような特徴が、Wavesにはある。 WavesはRuby on RailsのようにMVCフレームワークであり、Request Lambda(source)と呼ばれるものを使うが、各マッピングはルールとブロックで構成されている。ルールが要求と一致すると、そのブロックが実行される。 Wavesに独特な特徴の1つである。 Wavesのこの他の優れた特徴には以下が挙げられる。 真のコード再ローディング ホットパッチング クラスタのサポート スレッド・セーフティ InfoQは、Wavesの開発者Dan YoderとWavesについて話す機会を得た。 Robert Bazi
データ処理を分散させるMapReduce設計パターン(source)が2004年にGoogleによって導入され、それにはC++の実装がついてきた。今では、Adam Pisoni氏(サイト・英語)がSkynet(サイト・英語)という名称でリリースした新しいRubyでの実装版が利用可能だ。 Skynetは順応性があり、自動アップグレード機能付きで耐障害性の完全分散型システムで、単一障害点は皆無です。 GoogleのデザインペーパーとSkynetには著しく重要な相違点が2つある。 Skynetが生コードをワーカーに送れないこと。 Skynetはピア・リカバリシステムを利用しており、ワーカーがお互いを監視していること(サイト・英語)。 理由が何であれワーカーが故障する、あるいは機能しなくなると、別のワーカーが気付いて、そのタスクを引き継ぎます。また、Skynetには特別な「マスター」サーバは存在せ
標準MRIおよびRuby 1.9でそれにとって代わるものは別として、過去2年間は代替Rubyの実装で膨大な作業に追われ、JVMのJRuby(source)およびXRuby(source)、.NET向けのRuby.NET(source)およびIronRuby(source)そしてセルフホストであるVMであるRubinius(source)といった、その他のRubyの実装プロジェクトのホストがスタートした。 現在、とある統合が今起こっているようである。つまり、JRubyの勢いが増し、広く採用されているため、XRubyの開発は減速している。 また他の理由としては、 JavaでネイティブRuby機能を提供するJRuby拡張との非互換性があげられる(例:OpenSSL、Oniguruma regular expression engineなど)。 Ruby.NETを運営しているWayne Kelly
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く