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に革命を起こすGraalVM Native Image](https://cdn-ak-scissors.b.st-hatena.com/image/square/d26c727aef6881a5960a5e1ead4ad97f3a7224fe/height=288;version=1;width=512/https%3A%2F%2Fres.infoq.com%2Farticles%2Fnative-java-graalvm%2Fja%2Fheaderimage%2Frevolutionizing-java-with-GraalVM-native-image-header-1648805051420.jpg)
原文(投稿日:2019/07/31)へのリンク Java言語の生産性とパフォーマンスの追求を続けている、OracleのJava言語アーキテクトであるBrian Goetz氏は、Java SE 12 Java Language Specificationで定義されている現在のキーワードセットでは新機能の追加が困難なであるという理由から、同社でJava言語とJava Virtual Machineの仕様リーダを務めるAlex Buckley氏と共同で、すでに定着したキーワードを進化させるためのハイフン付きキーワードセットの提案を行った。 JDK-8223002の記載内容によれば、ハイフン付きキーワードを実装する目的は次のようなものだ。 Java言語デザイナが新機能を提示できるように、構文的選択をオープンにする手段の探求 キーワードトークンが極めて少なく貴重であるがために、言語デザイナが現状のキ
Javaでコンパイラを書くと大きな利点がいくつかあるとわかる。次のようなことだ。 コンパイラエンジニアが新規に加わる際のハードルが非常に低くなる。 コンパイラにおいてメモリ安全になる。 コンパイラ開発で成熟したJavaのツール群を活用できる。 新しいコンパイラ機能のプロトタイプをより早く作れる。 コンパイラがHotSpotから独立したものとなる。 コンパイラが自分自身をコンパイルでき、自分自身のより速いJITコンパイルされたバージョンを生成できる。 Graalは新しいJVMコンパイラインタフェース (JVMCI) を使っている。これはHotSpotにプラグインできるようJEP 243として提供されているが、GraalVMの主要な部分としても使われている。この技術はもう存在しており、現時点でリリースされているが、Java 10ではまだかなり実験的な技術である。次のようにすると新しいJITコン
特にRPGは、読んで理解することがとんでもなく難しい場合があります。RPGでは長い間、変数名として6文字しか使用できませんでした。実際はそれ以上に醜悪です。RPGには、2つの異なるテーブルで同じ列名を使用すると、同じメモリ空間が共有されるというバグがありました。そのためRPGプログラマは、列名の貴重な6文字のうち2~4文字を、関連するシステム名とテーブル名を識別するために使用していました。このバグは数十年前に修正され、今日では変数とデータベース列の名称として、少なくとも32文字までサポートされるようになったのですが、RPGプログラムでは相変わらず6文字の変数名が使用されています。 私は1992年頃、当時メンバであったCircuit City(訳注:米国の家電量販店会社)のコーディングチームを対象に、Cobolのモジュール化テクニックについてプレゼンテーションを行なったことがあります。プレゼ
ISO C++委員会は先月、2017年4月に作業の完了していたC++17標準を正式に承認した。新C++標準についてはInfoQでもこれまでに何回か取り上げ、承認された主な新機能とコンパイラの実装状況を詳しく説明している。今回我々は、長年にわたってC++委員会の活動に携わり、委員長も務めるHerb Sutter氏と話す機会を得ることができた。 InfoQ: C++17には、新機能が数多く含まれていて大変そうだ、という第一印象があります。今回の新標準の主な特徴は何でしょう?開発者に最も喜ばれそうなC++17の機能は何だと思いますか? Herb Sutter: 私がC++17で重視したのは、日々の開発作業を簡単にしてくれる機能です。 C++11が登場した時、数多くの新機能の中には大規模で派手なものもありましたが、実際にインパクトがあったのは“毎日使う小さな機能” – レンジベースのforループ、
Jake Wharton氏は、Square社のAndroidエンジニアであるが、2017年のEmerging Technologies for the Enterprise(ETE)カンファレンスでRxJavaでリアクティブな世界を管理するというプレゼンテーションをした。 プレゼンテーションの中心となるテーマは“システム全体を同期的にモデルできない限り、単一の非同期なソースが命令型プログラミングを壊す”というものだった。Wharton氏は命令型プログラミングは一度非同期データソースが導入されると壊れ始めると説明した。状態管理の負担はライブラリがそれを簡単にする代わりに開発者の責務となる。彼はこれをRxJavaでの単純な例で実演した。彼は基本的なソースであるObservable<T>とFlowable<T>で、これらのソースとデータや放出物を管理するオペレータをどのようにオブザーブするかを比
クラウドネイティブサービスを提供するBuoyantは、Linkerd(“linker-DEE”と読む)の1周年を発表した。Linkerdは、クラウドネイティブなマイクロサービスベースのアプリケーションを対象とした、オープンソースな“サービスメッシュ”だ。その発表によると、 1990年代におけるネットワーク通信のTCP/IPへの移行は、メインフレームからクライアント/サーバアーキテクチャへという業界全体のシフトを実現しました。同じように、次世代クラウドアプリケーションの基本的ネットワーク層としてLinkerdの採用が増え続けることによって、企業におけるモノリシックアプリケーションからマイクロサービスへというコンピューティングアーキテクチャの移行が、信頼性を損なうことなく実現するのです。 Linkerdは自動化されたロードバランシングとサービスディスカバリ、稼働回復能力を備えた、信頼性の高いマ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く