WebRTCに使われるP2Pの技術

この記事は、HTML5 Advent Calendar 2013 - Adventarの15日目になります。 WebRTCが少しずつ広まってきて、あまりこの辺りの情報を日本語では見たことがないので書きました。 間違っている箇所、表現がおかしい箇所がありましたら、@tjunまで教えていただけると助かります。 もっと詳しく知りたいという人は一番最後のリンクにあるページを見るとよいと思います。 はじめに WebRTCのおさらい WebRTC、聞いたことがあるという人も増えていると思います。 WebRTCとは何かを一言でいうと、ブラウザ間でリアルタイムなやりとりをするための仕組み、ということになると思います。 ポイントは、「ブラウザ間」です。 サーバを経由せずにブラウザ間で通信することで、ブラウザ同士のやりとりも高速になりますし(もちろんネットワークの環境によります)、サーバ側でそれぞれの接続を管理する必要もなくなります。 WebRTCのRTC=Real Time Communicationで、「リアルタイムな通信」の方に気を取られるとWebSocketと似たようなものかと誤解されることがありますが、WebSocketは基本的にブラウザとサーバ間の通信のものであるのに対し、WebRTCはブラウザ同士の通信がターゲットです。 だから、よくあるデモアプリケーションとしてはビデオチャットなどになります。 ブラウザ間通信を実現するためには 一般的なブラウザ-Webサーバ間の通信ではサーバがパブリックなIPアドレスを持っているので、そのIPアドレスのポート80番を宛先として通信が開始できます。 このとき、基本的にブラウザはどこかのNATの下のネットワークにいて、プライベートなIPアドレスを持つマシンで動いています。 サーバからブラウザへの通信は、サーバへの問い合わせへの返答であることをNATが判断できるので、サーバからブラウザへのデータの通信もNATを経由して実現できます。 その仕組みについてはここでは説明しません。 一方、ブラウザ-ブラウザ間で通信しようと思っても、どちらもどこかのNATの下のプライベートなIPアドレスを持つマシンで動いているので、…

twitter, google, facebookにおけるデータ処理に関する記事

ちょっと最近調べてたことのまとめ。 twitter, google, facebookの技術の話を見てました。 またいいのがあれば追加していきます。 Facebook, Myspace, Linkedin, Twitter 米国最新ソーシャルネットワーク動向:In the looop:ITmedia オルタナティブ・ブログ 主要SNSのユーザ数や投稿数のまとめ - NAVER まとめ Twitterで2011年を振り返る twitterの1秒あたりのアクセス数。バルスはまだない。 天空の城ラピュタにおける「バルス」と TPS (tweets per second) « tweetcounter 東北地方太平洋沖地震の起こった日、Twitterで一体何が起こっていたのかを紹介する動画 - DNA 秒間120万つぶやきを処理、Twitterシステムの“今” - @IT NTTアメリカ、Twitter向けに新しいデータセンターを建設―ついにクジラは消え去るのか? グーグルがWebを高速化するために何をしているか - Publickey Googleの高速化への飽くなき追求は、より多くの検索ニーズを引き出すためのもの Googleは1つの検索クエリーに対し、…

独自ドメインの短縮URLを使う

最近bitlyのPRO機能が無料になりました。 Bitly Pro機能が無料に―独自ドメイン名で短縮ができる これで自分のドメインがあれば、それを使って独自の短縮URLが使えます。 こんな感じ http://z.tjun.jp/cdomain スラッシュ以下を好きな文字列にすることもできます(これは元からかも) ここでは、さくらインターネットで取得したドメインの場合の設定を紹介します。 bit.lyの設定 Bitlyの設定ページから、「Modify Custom Short Domain Settings」をクリック。 これで、独自ドメインを設定できるので、自分の場合は持っていたtjun.jpというドメインのサブドメインで、適当にz.tjun.jpにしました。 さくらインターネットの設定 次にさくらインターネットの会員メニューから「契約情報」のタブを選んで、「ドメインメニュー」を選択します。 そこから、設定したいドメインの「ゾーン設定」の変更を選択して、サブドメインとそのCNAME、そして値を入力します。値には、cname.bitly.com.を入れます。最後のcomの後ろにもドットがつくので注意。…

google+1ボタンをwordpressに

photo credit: Dawn Endico googleの+1ボタンをwordpressのブログに設置しよう! google+1のwebmaster向けサイトからコードをコピーして使います。 そのまま使ってもいいのですが、ページのURLを含めることもできるので、wordpressに合わせたページのURLも含めるコードに変えましょう。 以下のコードを、single.phpの表示したい場所に入れれば動くと思います。 普通のサイズ <!-- google+1 --> <script type="text/javascript" src="http://apis.google.com/js/plusone.js"></script> <g:plusone href="<?php the_permalink() ?>"></g:…

MacでChromeがupdate後起動できなくなった時の対処

photo credit: Randy Zhang MacでGoogle Chromeがどうにも起動できなくなっちゃったときの対処法です。 Chromeアップデートの時にChromeを終了して、それを忘れていてそのままキャッシュを消すソフトなどを使った後にMacを終了して、次回Chromeを起動しようとしたところ、起動できずに落ちてしまうようになりました。 まずはとりあえず再インストールを試す。 Google Chrome - ブラウザのダウンロード それでもダメならユーザデータを消去する Chromeの再インストールなどやってもだめな場合は、これまでのユーザデータを消してしまうと取りあえずインストール&起動できなくなります。 注:この方法ではブックマークや拡張機能などのデータはすべて消えます。 Chromeのユーザデータは/Users/[ユーザ名]/Library/Application Support/Google/Chrome/ 以下にあるので、それを消去します。 rm -rf /Users/[ユーザ名]/Library/Application Support/Google/Chrome/ 本当は、正しく不要なデータだけ消せばブックマークや拡張機能は保持したまま直すことができると思います。 自分は、よく分からない&ブックマークや拡張機能は他と同期しているのですぐに戻せる のでこの手段を使ったけど、そうでない場合はおすすめできません。…