タグ

ブックマーク / blog.livedoor.jp/kotesaki (23)

  • こてさきAjax:[Google I/O 2013 速報] Chrome Packaged Apps v2 凄いことに!! - livedoor Blog(ブログ)

    いよいよ、Google I/O 2013 が始まりました!!今年は、初めてのI/O参加で、サンフランシスコに来ています。 基調講演は、昨年のダイブ w/ Google glassに比べると堅実な印象で、大半をAndroidChromeに時間を割きつつ、一番派手だったのが、Google Maps w/ WebGL。まぁ、Maps GLの流れからすると、「ついに来たか」って感じなので、あまりサプライズという感じではありませんでした。まぁ、基調講演のレポートは各所から出ると思うので、今回の僕の記事では取り上げません。 Chrome/HTML5について、keynoteではそんなにサプライズな感じではなかったのですが、"The Chrome Packaged Apps State of the Nation" というセッションでかなりのサプライズがあったので、今日はそれの速報記事です。 このセッシ

    yuiseki
    yuiseki 2013/05/17
  • こてさきAjax:WebRTCをお手軽に。Peer.js試してみた - livedoor Blog(ブログ)

    WebRTCへの最近の僕 今年最初のブログ記事ポスト。いやーもう4月も半ば。桜も散っちゃいました。ほんと、更新頻度の低いブログです・・・今日は、WebRTC関連の話題。 DataChannel(映像、音声以外の任意のデータを送受信できる機能)が実装されたり、Firefox nightlyでも実装が始まったり、Chrome for Android(beta)でも実装が始まったりと、最近ホットなニュースが目白押しのWebRTC(Web Real Time Communication)。僕も、ちょいちょいプロトタイプ実装を試しています。 例えば、3/22のWeb先端味見部の時に、当日講師の吉川さんに取り上げていただいたチャット実装(github)とか(その後、吉川さん、大津谷さんのcontributeのおかげで、ビデオチャット機能実装とかバグ改修とか進められています) なお、上のコードは、サンプ

    yuiseki
    yuiseki 2013/04/15
  • こてさきAjax:「通信を肌で感じる」 - livedoor Blog(ブログ)

    100人のプロが選んだソフトウェア開発の名著 今日は、Developers Summitの10th anniversaryを記念して刊行される「100人のプロが選んだソフトウェア開発の名著 君のために選んだ1冊 」に僕が寄稿したものをポストします。 翔泳社さんの許可は頂いています・・・というより「是非ブログに書いてください!!」というお言葉を頂いておりまして、そういった経緯もありということで今回ブログにポストした次第 :) (こういったオープンさは素晴らしいですよね!!)で、出版されているものをそのまま・・・というのも何ですので、オリジナルの原稿をベースとしたものを今回はポストします(出版されているバージョンは、誌面の都合上、若干文章を削ったりしているので)。 ちなみに版元の翔泳社さんによると、こちらのは 2/16 - 17 で開催されるデブサミにて先行発売されるとのこと(会場で買ったほ

    yuiseki
    yuiseki 2013/01/30
  • こてさきAjax:Chromeから綺麗に消えた Web Intents。その理由を追ってみる - livedoor Blog(ブログ)

    2012年も残すところあと1週間あまり、明日はクリスマスです。今年1年はWebとデバイスとの連携を中心に色んな活動をしてきました。「最新のWeb技術Chrome の Socket API)を用いるとブラウザから直接TVを操作できる」ことを紹介し、それと Web Intents を組み合わせると「YouTubeで検索したビデオを、テレビで視聴することができるよ」といったデモ(内容は、下のYouTubeをチェックしてみてください)を紹介してきました。 しかし、残念ながら(たぶん)2012年12月18日以降のChrome canaryで、Web Intents が使えなくなりました(Chromiumの対応Issueはこれ)。10月末ぐらいから、chorme://flags で「有効」にしないとWebページからは使えなくなっていた(Chrome の Web Apps では使えていました)のですが

    yuiseki
    yuiseki 2012/12/24
  • こてさきAjax:クールなMVCを実現するフレームワーク Angular.js の紹介 - livedoor Blog(ブログ)

    先週&今週は、出張でアメリカ西海岸。そんな折、先週の金曜日(16日)の夜に BayJax meetup が Yahoo! 社で開催されるということで、参加してきました。 BayJaxは、シリコンバレー地区のAjax & Javascriptに関するMeetUp。大体、半年おきに開催されているようです。今回参加したMeetUpの形態は、Conference形式(勉強会ののりに近い)。日との勉強会との違いは、最初にピザをべてお腹が満たされたところで勉強会が始まることと(こっちの考え方の方が、確かにリーズナブル)、質問が活発なこと(海外では一般的なことですが)。とても、楽しい時間を過ごすことが出来ました。 その中で講演された AngularJS について、今回は紹介します。 AngularJS AngularJSは、とてもシンプルにWeb Appを書くことができる軽量な MVC フレームワ

  • こてさきAjax:node-spdy 試してみた - livedoor Blog(ブログ)

    今日のブログのお題は、SPDY。Webサービスを「とにかく速くしよう!!」ということで、Google が提唱したプロトコルです。既にChromeでは、このSPDYが実装されており、サーチやGMailなど Google が提供する殆どのサービスで既に利用されています。 最近では、FireFoxへのインプリが始まったり、HTTP/2.0検討のベースとなるなど何かと話題のWeb最新技術です。 SPDYがWebを早くする仕組み SPDYは、現状のWebが抱える問題 ”HTTPは遅い!!" を解決するものです。HTTP が "遅い" 原因は色々ありますが、中でも最も大きいのは Request and Response の制限です。このため、SPDY では一の HTTPS セッションの中で複数の HTTP セッションを多重化するといったことを行い高速化を実現しています。 Request & Resp

    yuiseki
    yuiseki 2012/05/05
  • こてさきAjax:WebRTC事始め - livedoor Blog(ブログ)

    今日のポストはWebRTCについて。Webでリアルタイム通信サービスを実現するためのAPIです。ブラウザで、plug-inを使わずにテレビ電話サービスを作ることが出来るようになります。 WebRTCってなーに? WebRTCのプロジェクトページの冒頭で、WebRTCを以下のように定義しています。 WebRTC is a free, open project that enables web browsers with Real-Time Communications (RTC) capabilities via simple Javascript APIs. The WebRTC components have been optimized to best serve this purpose. ベタに訳すると「WebRTCはオープンなプロジェクトです。簡単な複数の Javascript

    yuiseki
    yuiseki 2012/05/02
  • こてさきAjax:RESTfulなAjaxを実現する pjax - livedoor Blog(ブログ)

    前回、ブログを書いたのが6月9日。。。ってことで3ヶ月ぶりのPOSTです。 7月11日にWebSocketのDraft(IETF)がLast Callを迎えました。この時のrevisionは10だったのですが、9月8日時点で、revisionは14まで更新されています(ざっと見た感じ、エディトリアルと細かい点の変更がメインなようです)。また、これに伴いW3CのAPI仕様もバイナリーが扱えるように変更が進んでいるようです(Blob と ArrayBufferで指定する様子)。まだ、ブラウザでバイナリーメッセージングが使える状態ではありませんが、楽しみですね!!この辺りは、もうちょっと調べてから。。。ということで、また後日POSTしたいと思います:) 今回は、7月に僕が講演したプレゼン資料を紹介します。 pjax〜HTML5時代のAjaxサイトプラクティス〜 以下で紹介するのは第19回HTML

    yuiseki
    yuiseki 2012/03/13
  • こてさきAjax:BlobBuilderを使ってみた - livedoor Blog(ブログ)

    File APIの最近のトピックとして、File Writerがあります。 http://www.w3.org/TR/2010/WD-file-writer-api-20100406 読んで字のごとし、Fileをローカルに保存するもので、上のドラフトを見ると、 FileWriter という、いかにもなメソッドが定義されていたりします。File Reader含め、このメソッドが 使えるようになるとWebからファイルを柔軟に操作できるようになり、Webアプリの幅がまた 広がりますので、興味深いAPIです。(セキュリティの観点で、いろいろケアする 必要はあるでしょうが) FileWriter自体は、まだ実装されているブラウザは無いようなのですが、それの前段となる BlobBuilder(Blob : Binary Large OBject を作るメソッド)は、現行Chromeのstable(ve

    yuiseki
    yuiseki 2012/02/22
  • こてさきAjax:Web Intentsで persistent connectionを実現するには - livedoor Blog(ブログ)

    今日のエントリーでは、 Web Intents で persistent connection (継続接続)を実現するための方法について紹介します。 先日のWeb Intents についてのエントリーで、今のWeb Intentsの状態を『(何しろ、W3Cのサイトにドラフトもあがっていない状態なので)』 などと書いていたのですが、既にあがっていました・・・orz Web Intents の仕様が記述されているのは、もちろんなのですが、W3C の Mailing Listでのこれまでの議論を踏まえたものも記述されており、なかなか参考になります。それに該当するのが Section 4 & 5 なのですが、今日のエントリーでは、その中から 5.3 Persistent connctions (継続接続)について取り上げたいと思います。 Web Intents は RPC モデル Web Inte

    yuiseki
    yuiseki 2012/01/18
  • こてさきAjax - livedoor Blog(ブログ)

    フルスタックエンジニアという言葉をよく耳にします。Webアプリ書くときに、通信レイヤの仕組みも分かってないとレスポンス性の高いサービスは提供できないから、ちゃんとNWレイヤも知っておこうねというもの。OSI参照で言うと、layer5 相当のHTTP/1.1 => SPDY, HTTP2に移行してるけど、その下のLayer4 ( TCP )の特性も知っておかないと逆効果にもなりかねない(この辺の詳細は、去年僕が HTML5 Conference 2013で講演した内容を 「SPDYやQUIC登場の背景。Webの進化がプロトコルを変えつつある。HTML5 Conference 2013」 と、publickey でレポート記事で紹介いただいています)とか。 こういった背景から、長いこと利用されていなかったSCTPが活用されたり、SCTPは改善の余地があるとしてQUICが出てきたりと、Webがト

    yuiseki
    yuiseki 2012/01/11
  • こてさきAjax:マルチデバイス連携を実現する WebIntents 〜基本と使い方編〜 - livedoor Blog(ブログ)

    新年明けましておめでとうございます。年も宜しくお願いします。 さて、今年最初のPOSTは、僕が今一番興味を持っているAPIの "Web Intents" について取り上げます。 この、"Web Intents"は、Androidの "Intent" に非常に良く似た仕組みで、異なるWebアプリケーションを自由に連携することを可能とするAPIです。Webサイトの不足機能に対し、他のWebアプリの機能を利用することが可能になるため、スピーディーなWebアプリの開発を実現してくれます。利用するユーザーにとっても、手慣れたWebアプリを利用できるメリットが有ります。 このAPIの更に興味深いところは、 Device機能の利用 デバイス内の固有の機能(カメラや、住所録など)をブラウザから利用する。 Web of things スマートフォンやテレビなどのマルチデバイス連携サービスをWebで実現する

    yuiseki
    yuiseki 2012/01/11
  • こてさきAjax:マルチデバイス連携を実現する Web Intents 〜マルチデバイス連携編〜 - livedoor Blog(ブログ)

    前回のエントリーに引き続き、今回も Web Intents に関するポストです。今回は、「なぜ、Web Intents が Web でのマルチデバイス連携サービスを実現するにあたり、重要な API となるのか?」について説明します。なお、Web Intents の基と使い方については、前回のエントリーを参照下さい。 Device APIs の最新動向 Web Intents とマルチデバイスとの関係に入る前に、Device APIs の最新動向について触れたいと思います。 スマートフォンなどの Device のネイティブ機能を Web から利用する API について、 W3C では、主に Device APIs Working Group で仕様化が進められています。例えば、住所録情報を取得する "Contacts API" や、カメラを起動し、撮影した写真画像を取得する "HTML M

    yuiseki
    yuiseki 2012/01/11
  • こてさきAjax:WebSocketから、これからのWebを予想してみる - livedoor Blog(ブログ)

    WebSocket が、12月12日についにRFCになりました(RFC6455)。テキスト転送だけでなく、バイナリー転送もサポートされ、コネクションをキープするための ping/pongなどコントロールフレームも定義されました。rfcになる過程で様々なバージョンと、その実装系が出ていますので、そこのネゴシエーションの仕組みが入っていたり、以前は割と自由に使えそうだった subprotocolが、IANAにレジストレーションが必要になったりと、なかなかしっかりしたプロトコルに仕上がっている印象です。 さて、今年最後となる、今日のポストでは、このWebSocketにより、今後のWebはどうなっていくのかについて、僕が最近感じている妄想を書き連ねてみます。 WebSocketとは、いったい何なのか? さて、WebSocketとは、いったい何なのでしょうか?この問に対して、一般的には、 WebでP

  • こてさきAjax:twitterを javascript だけで自動分類(WebDatabaseで機械学習) - livedoor Blog(ブログ)

    WebDatabase使って何か面白いことできないかなぁ・・・と。 で、思いついたのが 「簡単な機械学習作って、文書分類とかできちゃうんじゃない?」 という素朴なアイディア。 例えば、メーラーの迷惑メールフィルターで、「このメールはスパム」と指定すると、似たようなメールをスパムとして自動判定してくれるけど、そんな類のことをjavascriptだけで出来ちゃうんじゃないかなと。 というわけで、twitterのsearch結果を、自分好みに自動分類してくれるサンプルを作ってみました。(safari4と、iPod touchで動作確認。WebDatabaseとwebkitがMUSTになってます) http://komachu.sakura.ne.jp/twittersearch/ 窓から、好きな言葉でtwitterを検索できます。例えば「田町」と入れると といったように、twitterが表示され

  • こてさきAjax:インストールメモ:node.js, socket.io - livedoor Blog(ブログ)

    node.jsと、socket.ioのインストールメモ。socket.io使った場合の簡単なWebSocketサンプル(チャット)含め備忘録(on centOS5 dti-vps)

  • こてさきAjax:Stream APIで、カメラの映像をWebSocket ライブ配信 - livedoor Blog(ブログ)

    ずっと、待ち焦がれていたAPIが、ついにテスト実装されました。ブラウザから、カメラのライブストリームを取得するStream API (仕様はWHAT WGのサイトに記載)です。 この機能により、Webアプリのポテンシャルが飛躍的に向上すると期待されます。例えば、ビデオチャット。 カメラから取得した映像データを、Websocket で相互に交換すれば、ブラウザのネイティブ機能だけで、簡単に実現できます。 この機能が、実装されたのは、Opera mobileのテクニカルプレビュー(for Android)。以下のサイトの[Android build]からインストール出来ます。 http://my.opera.com/core/blog/2011/03/23/webcam-orientation-preview また、詳しくは以下のブログ(WebOS Goodies)で紹介されています。是非、ご

  • こてさきAjax:WebSocketがデフォルトdisableとなった件 - livedoor Blog(ブログ)

    拙著(「徹底解説 HTML5 APIガイドブック コミュニケーション系API編」)の補足・修正POSTです。 p.24にWebSocketをサポートしているブラウザが記載されていますが、周知の通り、以下のブラウザでデフォルトdisableになりました。 FireFox4 Opera11 ちなみに、執筆以降サポートを開始した iOS4.2.1のsafari は、現状使える状態です。 disableとなった理由は、現状実装されているバージョン(Draft76)にセキュリティ上の脆弱性が見つかったため。脆弱性がFixされた仕様がIETFで固まれば、マイナーバージョンであっても再び対応するとのこと。 http://hacks.mozilla.org/2010/12/websockets-disabled-in-firefox-4/ 脆弱性の詳細は、Adamさんのレポートで述べられています。 ただし

    yuiseki
    yuiseki 2010/12/30
  • こてさきAjax:HTTPで、サーバーPushサービス Server-Sent Events - livedoor Blog(ブログ)

    リアルタイムWebの代名詞としてWebSocketに注目が集まる中、あまり話題になることはありませんが、HTML5には、もう一つリアルタイムWebを実現するAPIとして、忘れてはならないもの〜Server-Sent Events〜があります。今日は、そのお話。 Server-Sent EventsはCometを簡単に使えるようにするAPI。ここで、Cometと言うと最近の風潮として「WebSocketに完全にreplaceされる、ワークアラウンドでしょ」的な空気が(最近は特に)流れがちですが、そんなことは決してありません。。。というのが筆者の意見です。 Cometは、HTTPでサーバーPushするための技術の総称。その中の一つで良く取り沙汰される、periodically polling(一定間隔で、ポーリングパケットを投げる)などは、確かに「ワークアラウンドだね」という言葉ですませていい

    yuiseki
    yuiseki 2010/10/24
  • こてさきAjax:マウスジェスチャー送受信をWebSocketとXHRで比較 - livedoor Blog(ブログ)

    ※こちらの記事で紹介しているデモにはバグがあり、以下の内容は正確ではありません。修正記事をhttp://blog.livedoor.jp/kotesaki/archives/1601908.htmlにPOSTしましたので、ご確認ください。 なんか、最近毎日のようにブログを書いています。node.jsが楽しすぎて。。。(^-^) さて、前回の記事は「サーバーPushだけだったら、HTTPでも出来るよん。特にServer-Sent Events使うと、ちょー簡単」というものだったのですが、今日の記事は心機一転して「WebSocket使わないとやっぱキツイっす」というものです。 作ったデモは、mousemoveイベントの際に、マウス座標をサーバーでエコーバックして、ブラウザに描画するという至ってシンプルなもの。ようは、エコーサーバーですが、データの送信頻度が半端じゃないというものです。(トラフィ

    yuiseki
    yuiseki 2010/10/17