クリックして、下記の情報を入力してください。Serverをクリックすると、DNSサーバが起動してブラウザ上のコンソールにログが表示されます。走っているVMのアドレスにします。Macであれば、下記のコマンドになります。192.168.99.100DNSのキャッシュをクリアします。サポートこれで、テスト用の環境になります。digで確認できます。your.staging-server.com.実装についてこのツールは、自分の必要のために作ったのですが、同時に、ActionCableがどんなものか試してみたいというのも目的でした。上で作っているのですが、実際に試してみると、予想以上に簡単で、問題なく動いています。react-railsとのコンビネーションもよくて、新しいパラダイムでのWebアプリ作成も見えてきました。使っているのは、次の二点です。DNSサーバの起動、終了に伴うボタンやステータスの更新DNSサーバからのログ配信とブラウザ上への表示どちらも、トリガーとなるイベントは、クライアントのリクエスト(ユーザの操作)ではなくて、サーバ内の状態変化です。サーバの起動だけは、ユーザのクリックがトリガーですが、複数のコンソールを開いている場合には、クリックしたページ(タブ)だけでなく、他の画面も更新する必要があるので、やはりサーバからのイベントに対応して、画面を更新する必要があります。Componentの配置たとえば、一覧画面は以下のようになります。配置され、この部分は動的に更新されます。HTML/CSSのノウハウをほぼそのまま適用することができます。keyというアトリビュートは、同じ種類のComponentを一つのページ上に複数配置する場合に必要となるもので、何かユニークに識別できる値を設定します。普通は、レコードのIDで良いと思います。以下の機能を持ちます。タグと思ってかまいません。endendというメソッドが起動されます。両者を接続するコードは、標準のジェネレータで生成されるし、そんなに複雑なものではないので、感覚的には、ボタンのイベントハンドラをサーバ上のRubyのコードで書いているような感じです。状態を直接変更しているような感じになります。いう状態が変化します。Componentのレンダリングを要求するメソッドです。いう単位で多重化して使います。接続しているのですが、このコードは次のようになります。行うことで、イベントの通知を受け取ります。サーバのメソッド実行もここを通して行います。オブジェクトは最初のページのロード時に一度だけ生成され、このアプリ内のページ遷移の間、ずっと使われます。Pattern」とでも呼ぶべき、今までできなかった方法で、SPA的なアプリを書くことができます。部品の配線がサーバまでつながっているイメージです。切り離して記述できるこの方法が、実際の業務にスケールするかどうかはわかりませんが、ページの中の動的な部分が限定されていて独立性が高い場合には、非常に有効だと思います。この「オレオレDNS」のように、サーバの状態やイベントを複数のクライアントが共有しているようなアプリでは、素直にかけると思います。次のスクリーンショットでは、奥のSafariでコンソール画面を開いて、手前のChromeで一覧画面を開いてサーバの起動の操作を行っています。両方の画面が連動して動いていることがわかると思います(stagingが起動した状態で、passthroughを起動してますが、その時は先にstagingを終了させてからpassthroughを起動しています)。等がサーバ側の起動状態によって表示を変えていますが、この部分が「単にページに部品を貼り付けるとあとは勝手に部品が状態に応じて表示を変えてくれる」という感覚があって、気持ちよく素直に書けます。両方のページはコンポーネントを共有しています。このような同じ機能を持つコンポーネントが、複数のページに配置されるケースにも対応しやすいと思います。