正式サポートを待ってからになるのかもしれません。対応しているようです。報じているのもおもしろいです。対応するのか、するならいつ頃か?というのに注目が集まっています。前置きが長くなりました。いうツールを使います。他にもいろいろなツールがあると思いますが、いくつか試してみた限りではこのツールが簡単でした。ダウンロードページを参照してください。簡単にインストールできました。スキーマを作成します。penguin.mp4以下の2つのファイルが作成されます。ファイルの中身をみてましょう。ファイルが作成されます。使ってストリーミングを行うサンプルページを作ってみましょう。紹介されている方法です。MediaPlayer(context);player.startup();player.attachView(document.querySelector("#videoPlayer"));player.attachSource(url);})();</script></body></html>これで準備が整いました。実際にストリーミングしてみましょう。サーバーを起動します。ともに再生できませんでした。やり方が変わっているのでしょうが、私がよく分かっていません。機会があれば挑戦してみます。バグ報告などで、複雑な再現手順やちょっと気になるといった操作感を文章で伝えるのは難しいものです。上で再生できれば便利ですね。いうプラグインがあったのでそれを紹介します。インストールできます。時点では、以下の動画共有サイトからプレイヤーを埋め込めます。動画を埋め込むときは以下のように記述します。外部の動画共有サイトにある動画を埋め込むのは、社内の利用だとあまり一般的ではないかもしれません。いうプレイヤーを使います。商用サポートも提供しているメディアプレイヤーの老舗の1つです。ベースのライセンスでも利用できます。添付されたファイルなら単純にファイル名のみを記述するだけで使えます。ドキュメントを参照してください。←→で再生速度を変えたりもできます。対応フォーマットは以下になります。試したら再生できませんでした。スマートデバイス対応は不十分のようにみえます。拡張が使いやすいようです。形式で保存され、10秒ぐらいの操作を録画するとファイルサイズが1MiBぐらいになるそうです。インストールする必要があります。開発.Tweet先日、社内でストリーミングの技術背景について勉強会をしました。身近なものとなり、スマートデバイスの普及によって古いブラウザを気にせずそれらの技術を享受できるようになりました。その動向の背景には、規格戦争があり、標準化や互換性やベンダーロックインがあり、直接的に技術とは関係ないエコシステムに翻弄されたりもします。いったものに振り回されるのは、体系的にいまの状況を把握できていないからだという自身の反省からまとめたものです。Morimotoたぶんこの資料は、これからストリーミング機能の開発を任せられた新人プログラマーが、どこを調べれば良いか、何ができて何ができないかを把握するのには適しています。足りない点も多々あるように思いますが、その先は自分で調べてください。このスライドを公開後に年月が経ってから見ると内容が古くなって適切ではない可能性が高いのでご注意ください。本.TweetパーフェクトJava第2版と同時発売になりましたが、監修をつとめた15時間でわかるJava集中講座を出版しました(技術評論社のページ))。同時発売になったのは偶然で、本当は「15時間でわかるJava集中講座」のほうが先に発売する予定でした。あったのだろうと察してください。どちらもJavaの本で同時発売ですが、棲み分け可能な本だと思っています。昨日書いたように、「パーフェクトJava第2版」は、読者として一定の経験者を想定しています。Javaでなくてもいいので、なんらかの命令型言語の経験を想定しています。言っても、if文とwhile文がなんとなく分かればいい程度ですが。「15時間でわかるJava集中講座」は、元々、ワークスアプリケーションズ社の新卒研修のコンテンツが元になっている本です。このため、読者にプログラミングの経験を想定していません。監修者なので客観的な評価ではないですが、「15時間でわかるJava集中講座」はなかなか良い本になっていると思います。Java8とEclipseがセットアップ済みの仮想環境(VMWareのイメージ)の入ったDVDが付属していて、知識ゼロの人がJavaを学び始められます。Javaの言語仕様だけではなく、Eclipseの使い方、JUnitの使い方、JAX-RSを使うWebアプリ開発の基本、果てはバグ報告の書き方まで説明しています。会社で使える実用知識を伝える新卒研修がベースだからこそのラインナップです。自宅で妻が「15時間でわかるJava集中講座」を読み始めました。妻はIT業界とまったく無縁です。ITに関して完全素人です。Bourneシェルとcシェルの違いすら区別がつきません。PCに入っているWindowsの種類すら把握していません。PCでWebブラウザ以外使っているのを見たことがありません。そんな妻ですが、ワークスアプリケーションズ社では、プログラミング未経験の文系学生が「15時間でわかるJava集中講座」の内容で勉強を始めると聞いてやる気になりました。放置して、どうなるかを見ていました。「15時間でわかるJava集中講座」は、DVDに入っているVMWareのイメージを使って手を動かしながら読み進める本です。Player(無料)をインストールする必要があります。これはできたようです。Windowsのインストーラは良くできています。次にひっかかりました。実は付属のVMWareイメージがzip圧縮されているのですが、サイズが大きすぎてWindows標準機能のzip解凍では正しく解凍できません。これは本に付属のQ&Aにも書いてありますが、やはり難しい壁だったようです。一応、Q&Aに従い7-zipをインストールしたようですが、解凍できないと言います。PCを見てみると、64bitマシンに32bit版の7-zipをインストールしてうまく動かなかったようです。使っているWindowsが32bitなのか64bitなのかを知るのは難易度が高すぎます。これは仕方ありません。Playerからの脱出方法など。Player上でCentOSが起動しました。当然ながら、妻にとって初のGNU/Linux体験です。GNOMEがよくできているのか、本の誘導が良いのか、あるいは変な先入観がないからなのか、あっさりCentOS上で端末ソフト(gnome-terminal)もgeditもEclipseも使えています。本に書いてあるとおりにコードを打ち込んで、端末ソフト上でjavacコマンドおよびjavaコマンドを実行する姿を後ろから覗いていました。打ち間違いがなかったようで無事にHello,Worldが表示されました。妻に反応がありません。Hello,Worldに感動がないのでしょうか。動いたよと画面を指差しながら声をかけると、「ああ、これ」と反応します。「画面にぽんとHello,Worldが出ると思った」とのことです。ダイアログ画面を期待していたようで、端末ソフト上の表示を出力と思わなかったようです。この反応はその後に起きる話の伏線になっています。「15時間でわかるJava集中講座」は、エラーなくHello,Worldの表示に成功した人に、あえてコードを打ち間違えて何が起きるかを確認するように誘導します。妻がgeditでprintlnをprintlに書き換えました。これでもう一度javacを打てばエラーになるはずです。javacを実行するため、妻がなぜか新しい端末ソフトを開きました。思わず、元からあった端末ソフトのウィンドウを指差しながら、「これを使えばいいのに」と声をかけてしまいました。新しい端末ソフトで特に問題もないので、まあいいかとそのままにしました。この(自分から見ると)謎の行動も後の伏線になっています。妻がjavacを打ち間違えてjaiacと書いてしまい、エラーになりました。打ち間違いを指摘するとすぐに気づきました。ここから謎の行動が始まりました。端末ソフトのウィンドウ上で、jaiacの部分をマウスでクリックし続けてはキータイプをします。謎の行動に、思わず「何やっているの?」と聞くと「ここを書き換えたいのに書き換わらない」と答えます。この瞬間、自分にアハ体験が訪れました。妻に、コマンドプロンプトの表示が上に流れていくメンタルモデルがないことに気づいたからです。これで今までの(自分には謎の)行動の説明がつきます。コマンド行の下にHello,Worldが現れても表示と思わないこと。コマンドを打ち直すために、端末ソフトのウィンドウを新規に開いたこと。シェル上で打ち間違えたコマンドをその場で書き換えようとしたこと。自分のように昔からコマンドラインに馴染んでいると、コマンドを打った後、出力が下方向に現れ、また入力や出力が画面の上に流れて行くのが普通に思っています。PCの画面をy軸でとらえるのが自然になっています。あまりにも普通すぎてそのようにしか画面を見ません。そんな体験がない妻には、画面の内容が勝手に上に流れていく発想がありません。画面の反応は手前に来る、つまりz軸で画面をとらえているからです。物理的に同じ画面を見ながら、こうも見方が違うものかと驚愕しました。驚愕と同時に、世間的には自分のほうがマイノリティかもしれないと思うと、困ったものだと思わずにはいられません。本.TweetパーフェクトJava第2版を出版しました(技術評論社のページ)。第1版出版から約5年経っての改訂版です。FXへの変更と、(あまり動きがないと思われているJavaにしては)意外に変化がありました。改訂2版の話を始めたのは、パーフェクトJavaScript出版後、2012年の初めでした。当時、改訂2版をJava8リリースに合わせて出すつもりでした。言っても、2012年初めごろは、まだJava8リリース日が流動的だったので、実質何もしていませんでした。2013年の間に、2014年初めのJava8リリースが確定情報になりつつありました。執筆する気力がわきません。2013年のJavaOneサンフランシスコに向けて、Java8のリサーチを始めて、JavaOneから帰って来たら執筆開始しようと心に決めていました。明日から本気出すみたいで、我ながら情けない話ですが。サンフランシスコから帰国後、東京で行った2013年(去年)のJavaOne報告会で発表した時、Java8に対応した「パーフェクトJava第2版」を出しますと宣伝しました。同時に、Java8リリースに合わせた出版が間に合いそうもないので、Java8リリースの遅延を望みます、とJava関係の場での発表とは思えない発言をしました。冗談めいていますが、実は本気でJava8リリースが遅れてくれないものかと思っていました。Java開発陣はすばらしいもので、2014年の3月に無事Java8をリリースしました。当初(がいつか分からないぐらい昔ですが)のプロジェクトラムダの計画からすると、Java8リリースはどれだけ遅れたのか、と言う気もしますが、もはや最初のリリース計画を誰も覚えていないのでどうでもいい話になっています。結果としてパーフェクトJava第2版は、Java8リリースから9ヶ月遅れての出版となりました。3ヶ月ぐらいは前倒しで出版したかった思いもありますし、今年(2014年)の1月から4月あたりは猛烈に頑張って執筆していた記憶もあるので、9ヶ月遅れをなぜと思わなくもないですが、仕方ないですね。書店に行くとJava本がだいぶ増えています。Java8に合わせて次の2つの系統の本が多く出版されています。Java8の差分のみを扱う本Java5からJava8までを包括的に扱う本パーフェクトJava第2版は後者を志向しています。パーフェクトシリーズがそういう意図のシリーズだからです。このため、Java8の差分だけを効率的に拾いたい人にはコストパフォーマンスが少々悪い本かもしれません。買った場合、読む時の期待値を、後者に合わせて読んでください。この話にも関連しますが、Java8の新機能をことさら特別扱いせずに説明しています。Optional型がかなり早い章(4章)にでてきます。新しい言語機能だから後に説明するという発想をしていません。Optional型であればnullと一緒に説明するほうが自然だという発想で書いています。第1版に引き続きですが、ある程度プログラミングがわかっている人向けに書いたので、制御構文(if文やwhile文など)の説明は後回しにしています。結果として、if文より先にラムダ式を説明する本になりました。第1版の自己評価では、「本屋で立ち読みするなら第4章がお勧め」と書きました。それは今回も変わりません。ラムダ式とストリーム処理」を続けて読んでください。この2つの章を立ち読みするのはそれなりに疲れると思いますが。技術評論社のページの目次を見ると、サーバサイドJavaがありません。EE7ベースで書いたサーバサイドJavaが書籍に入りきらなくなり、無料のPDFダウンロードになりました。詳しい顛末は書籍の前書きや後書きに書いたので興味があれば見てください。ふたつほどごめんなさいがあります。API)をそんなに詳しく扱っていない点です。どこに書いてあるのかわかりづらいです。列挙型と定数と不変型」に不変型の実装パターンの1例として日付時刻ライブラリに簡単に触れています。日付時刻ライブラリに関しては別途専門書が登場することを望みます。ひとつは第1章にあるイージーミスです。mainメソッドにstaticを書き忘れました。動くコードの例ではなく、サンプルコードの表記を説明する部分の記述です。あまりにイージーミスすぎて泣けてきますが、修正が間に合いませんでした。翌週、社内のグループウェアにそのイベント参加の所感を書きました。発表内容については、私がその内容に明るくないため触れませんでした。基本いじられキャラです)、それに馴染んできたのか、嘘でも良いからいじれと言われているような気がします。次回どこかで会ったらがんばって挑戦してみます。