Oracle Cloud Infrastructure DNSサービスにサブドメインを委任する

OCI(Oracle Cloud Infrastructure)にはDNSのゾーンを作成して管理するサービスがあります。本日は、OCIのDNSサービスに保有しているドメインサブドメインを委任する方法について説明します。

1.OCI DNSで Zoneを作成

最初に、OCI管理コンソールの「ネットワーキング > DNSゾーン管理」より「ゾーンの作成」を行います。

f:id:den2sn:20191206122543p:plain

メソッド:手動
ゾーン・タイプ:プライマリ
ゾーン名:<<管理するサブドメイン名>>

今回はゾーン名を「den2sn.com」のサブドメインとして「test.den2sn.com」を設定してみます。

2.NSレコードの設定内容確認

ゾーンを作成するといくつかレコードが定義されています。そのレコードの設定を確認します。作成したゾーンをクリックすると、レコードに設定されているNSレコード(4件)を確認することができます。このレコードを利用しているドメインDNSサービスに登録する必要があるのでメモしておきます。

f:id:den2sn:20191206122823p:plain

3.NSレコードをDNSサービスに登録

ドメインを購入しているDNSサービスに、2.で確認したNSレコード(4件)を追加します。私は「お名前.com」でドメインを購入しているので、そのDNSサービスの管理画面で設定します。

f:id:den2sn:20191206123012p:plain

ホスト名:<<管理するサブドメイン名>>
TYPE:NS
TTL:<<キャッシュ有効期限(秒)>>
VALUE:<<2.で確認したRDATAの名前>>

テストのために今回はTTL値を少なく設定していますが、1日(86400)で良いと思います。

4.NSレコードの設定確認

NSレコードが「お名前.com」に正しく登録されたか、任意のクライアントで確認します。Windowsでは以下のnslookupコマンドで登録されているNSレコードを確認することができます。

$ nslookup -type=ns test.den2sn.com

サーバー:  UnKnown
Address:  10.0.0.1

権限のない回答:
test.den2sn.com nameserver = ns4.p68.dns.oraclecloud.net
test.den2sn.com nameserver = ns1.p68.dns.oraclecloud.net
test.den2sn.com nameserver = ns2.p68.dns.oraclecloud.net
test.den2sn.com nameserver = ns3.p68.dns.oraclecloud.net

ns1.p68.dns.oraclecloud.net     internet address = 162.88.2.6
ns2.p68.dns.oraclecloud.net     internet address = 162.88.18.6
ns3.p68.dns.oraclecloud.net     internet address = 162.88.34.6
ns4.p68.dns.oraclecloud.net     internet address = 162.88.50.6

3.で登録したNSレコードの一覧が表示されればOKです。

5.Aレコードの作成

 ・NSレコードの確認が取れたら、次は実際にホスティングするインスタンスのIPをOCIに作成したゾーンのレコードに追加します。

f:id:den2sn:20191206123441p:plain

レコード型:A
ホスト・レコード:<<インスタンスドメイン名>>
TTL:<<キャッシュ有効期限(秒)>>
RDATAモード:基本
アドレス:<<インスタンスのIP>>

6.Aレコードの設定確認

最後にまた任意のクライアントから、今度はAレコードが参照できるか確認します。

$ nslookup test.den2sn.com
サーバー:  UnKnown
Address:  10.0.0.1

権限のない回答:
名前:    test.den2sn.com
Address:  xxx.xxx.xxx.xxx

5.で登録したAレコードのIPが表示されればOK


これで無事、サブドメイン以下のIP管理をOCIのDNSサービスで実施することができるようになりました。


OCIのDNSサービスにはインスタンスのヘルスチェック結果を元に、返却するIPを変更するようなトラフィックマネージメント機能があります。サブドメインの管理をOCIのDNSサービスに委任しておくことでこのような機能を有効活用することができます。

Java EE 8 関連のAPIの日本語翻訳(非公式)

megascusさんがJava EE関連のAPIの日本語翻訳(非公式)を公開されているようですね。
Java EEAPIは公式で日本語化されていないので英語がわからない方は参考になると思います。


Java Servlet 4.0 API Specification日本語翻訳版(非公式)
https://megascus.github.io/servlet-spec/docs/apidocs/
Java Persistence API 2.2 Specification日本語翻訳版(非公式)
https://megascus.github.io/jpa-spec/docs/apidocs/

Java EE 8で追加・更新された機能

先日Java EE 8がリリースされましたが
追加・更新された各テクノロジーのバージョンは以下のようになっています。

Java EE 8で新規で追加されたもの
テクノロジー バージョン
Java API for JSON Binding (JSON-B) 1.0
Java EE Security API 1.0
アップデートされたもの
テクノロジー EE6バージョン EE7バージョン
Enterprise JavaBeans (EJB) 3.2 3.2
Servlet 3.1 4.0
JavaServer Pages (JSP) 2.3 2.3
Expression Language (EL) 3.0 3.0
Java Messaging Service (JMS) 2.0 2.0
Java Transaction API (JTA) 1.2 1.2
JavaMail API 1.5 1.6
Java Connector Architecture (JCA) 1.7 1.7
Web Services 1.4 1.4
Java API for RESTful Web Services (JAX-RS) 2.0 2.1
Java API for WebSocket 1.0 1.1
Java API for JSON Processing (JSON-P) 1.0 1.1
Concurrency Utilities for Java EE 1.0 1.0
Batch Application for the Java Platform (jBatch) 1.0 1.0
Java EE Management 1.1 1.1
Java Authorization Service Provider Contract for Containers (JACC) 1.5 1.5
Java Authentication Service Provider Interface for Containers (JASPIC) 1.1 1.1
JSP Debugging 1.0 1.0
JavaServer Pages Standard Tag Library (JSTL) 1.2 1.2
Web Services Metadata for the Java Platform 2.1 2.1
JavaServer Faces (JSF) 2.2 2.3
Common Annotations 1.2 1.3
Java Persistence API (JPA) 2.1 2.2
Bean Validation 1.1 2.0
Managed Beans 1.0 1.0
Interceptors 1.2 1.2
Contexts and Dependency Injection for Java EE (CDI) 1.1 2.0
Dependency Injection for Java 1.0 1.0


紆余曲折あったJava EE 8ですが、追加された機能は最終的にJSON-BとSecurity APIの2つになりました。


また、Servlet、Bean Validation、CDIの3つの仕様についてはメジャーバージョンが更新されており、大きな機能が追加されています。

Java EE 8 & GlassFish 5.0 リリース!

Java SE 9のリリースにあわせてJava EE 8と参照実装であるGlassFish 5.0がリリースされました。
以下のサイトよりダウンロード可能です。


GlassFish 5.0 ダウンロード
https://javaee.github.io/glassfish/download
Java EE 8 SDK ダウンロード
http://www.oracle.com/technetwork/java/javaee/downloads/index.html


Java EE 8ではHTTP / 2対応やJava SE 8対応など多くの機能が導入されています。
Java EEに準拠した各アプリケーションサーバはこれから順次対応していくのではないでしょうか。

JDK 9リリース!

2017年9月21日にJDK 9がリリースされました。
以下のサイトよりダウンロード可能です。


Java SE 9(Oracle JDK
http://www.oracle.com/technetwork/java/javase/downloads/index.html


Javaプラットフォームのモジュール化を含む多くの改善が含まれています。
(機能の詳細こちら http://openjdk.java.net/projects/jdk9/


是非ダウンロードして新しい機能をお試しいただければと思います。

vue.jsでURLのシャープ#(hashbang)を消したい

vue.jsでvue-routerを使用する際にデフォルトではhash modeとなるためURLに#が付加されます。#を使用したURLが嫌な場合はmodeをhistoryに変更することでURLに#を付加しないようにすることができます。


modeを変更するにはVueRouterの指定で以下のようにモードを指定します。

const router = new VueRouter({
  mode: 'history',
  routes: [...]
})


historyモードではhistory.pushState APIを使用して
hash modeと同様にページリロードなしにURLの書き換えを行うことができます。

Java SE 9のリリースが2017年9月21日に延期

Java SE 9のリリーススケジュールが予定の7月27日から9月21日に変更となりました。
http://mail.openjdk.java.net/pipermail/jdk9-dev/2017-June/005867.html

今年のJavaOne直前となります。


2016/05/26 Feature Complete
2016/12/22 Feature Extension Complete
2017/01/05 Rampdown Start
2017/02/09 All Tests Run
2017/02/16 Zero Bug Bounce
2017/03/16 Rampdown Phase Two
2017/06/22 Initial Release Candidate
2017/07/06 Final Release Candidate
2017/09/21 General Availability