You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
![WebRTC コトハジメ・Gist](https://cdn-ak-scissors.b.st-hatena.com/image/square/1ef26f6cb4349557952890dbe3e567f7f98dc151/height=288;version=1;width=512/https%3A%2F%2Fgithub.githubassets.com%2Fassets%2Fgist-og-image-54fd7dc0713e.png)
1 概要 サーバ & AWS 初めましてな初心者がAWS上にSTUN/TURNサーバを構築することになりました。 ここでは、coTurnによるTURNサーバ構築をわかりやすい言葉で紹介します。 2 前提 2.1 TURNサーバって? TURNサーバ周辺の簡単な説明は【初心者向け】STUN/TURNサーバをざっくり解説してみたをお読みください。 2.2 coTurnって何者? coTurn: https://github.com/coturn/coturn 簡単にSTUN兼TURNサーバが構築できるOSS。 3 本題 coTurnを使ったTURNサーバ構築方法です。 TURNサーバにフォーカスして記述しますが、同時にSTUNサーバも構築されます。 3.1 EC2インスタンスの作成~設定 Amazon EC2 でubuntuのインスタンスを作成します。 (ubuntuだとcoTurnのインスト
1 概要 サーバ & AWS 初めましてな初心者がAWS上にTURNサーバを構築することになりました。 ここでは、一から学んだSTUN/TURNサーバ周りの知識をわかりやすい言葉で解説します。 (ちなみにQiita記事作成も初めてです。それも含めて間違いなど見つけたらご指摘いただけると嬉しいです。) 2 STUNサーバ・TURNサーバはなぜ必要なのか? STUNサーバとTURNサーバはどちらも「NAT越え」を可能にするために必要です。 「NAT越え」はP2PしたいPCが異なるネットワークにある場合に必要になります。 いろんな言葉が出たので、順番に整理します。 2.1 NATとは? NATは対応するプライベートIPアドレスとグローバルIPアドレスを双方向に変換するもの。 この図だと、NATでは以下のような変換が行われる。 PC1のグローバルIPアドレス(111.111.111.111) →
Show Contents Overview presentations Demos and samples Tutorials Codelabs Books Developer tools and resources Standards and protocols Native APIs Discussion, blogs and articles Browser support JavaScript apps and frameworks Video chat Peer-to-peer data VoIP/PSTN Face/head tracking Node Services Applications getUserMedia Screen capture Web Audio integration Recording Chat Games Telehealth File shar
DNSにおける名前解決では、やりとりされるデータが小さいことから原則として問い合わせ・応答ともに1パケットのUDPで行えるように設計されています。これはTCPに比べてUDPはプロトコルオーバヘッド※1が小さいという利点があるからです。 TCPでは、実際にデータを送信するまでに、セッション確立のための処理を行ったり、送信したデータが受信されたかどうかのチェック、受信されなかった場合は再送要求を出すなど、通信の信頼性を確保するためにさまざまな処理を行っています。そのため、クライアントおよびサーバ上での処理に掛かるプロトコルオーバヘッドはUDPに比べて大きくなります。また、小さなデータをやりとりするときでも、TCPはこれらの一連の処理をしなければならず、非効率的です。 これに対してUDPは、TCPのような通信の信頼性確保のための処理がなく、その分クライアントおよびサーバ上でのプロトコルオーバヘッ
動機 65507バイトのデータをまるっと別なところに送りたい。だけどせっかくなので、 ちょっと低レベルAPIで遊んで見たくなりました。 なのでちょっと不慣れですがudpソケット通信を試して見ようと思います。 環境 ios9.2.1, osx 10.11.1, xcode 7.2.1になります。 実装(ios: 送信側) #import "ViewController.h" #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> #include <errno.h> @implementation ViewController { NSTimer *_timer; int _index; } - (void)viewDidLoad { [super viewDi
ではVPNプロトコルの詳しい比較と、それぞれのプロトコルの重要ポイントや詳細な分析を見ていきましょう。 VPNプロトコルの比較:基本事項 VPNプロトコルで大きく違うのはセキュリティーの面です。この場合、セキュリティーには2つの重要な違いがあります。 一つ目は通信を保護するためにプロトコルは色々な処理をしていることです。暗号化の強度、サイファー、ハッシュ認証などです。二つ目はプロトコルがいかに解読されにくいかということです。解読されにくさというのはプロトコル自体の特徴や外部からの要素(どこで作成されたか、アメリカのNSA安全保障局によって脆弱になっているかなど)に左右されます。 この比較でピックアップする5つのプロトコルはそれぞれメリットやデメリットがありますが、セキュリティーの面では明らかな勝者があります。詳しく見ていきましょう。 PPTP 一言で言うと:これはベテランVPNプロトコルで
奥村晴彦さんの「C言語による最新アルゴリズム事典」技術評論社、1991年、の C 言語プログラムの Ruby への翻訳に挑戦します。プログラムの説明は同書を読んでください。変換はできるだけ逐語的に行っています。プログラムの動作は原作の C プログラムのそれと比較してチェックしていますが、うまく動作しないときは C から Ruby への変換のさいに起きたものです。バグレポートは tnomura@mnet.ne.jp までお願いします。 この Ruby 翻訳版はできるだけレイアウトも含めて原作の C プログラムを変更しないようにしたため、必ずしもRuby らしいコーディングスタイルとは言えないかもしれませんが、プログラムがきちんと動作することを優先しました。C から Ruby への翻訳の著作権に関しては Ruby のライセンスに準じます。配布、改変は自由です。ただし、プログラム本体には原作者の
奥村晴彦『C言語による最新アルゴリズム事典』技術評論社,1991年,ISBN4-87408-414-1,2400円 大きな画像(1.1M) 1987年10月にPascalを使った『コンピュータ・アルゴリズム事典』を,1991年2月にその改訂版としてANSI C言語を使った『C言語による最新アルゴリズム事典』を出版しました(いずれも技術評論社)。そのサポートページをつくろうと思いながら多忙のためなかなかできませんでした。とにかく始めなければ……というわけで,サポートページまがいのものを作ってみました。 石田晴久ほか『コンピュータの名著・古典100冊』(インプレス,2003年)に選んでいただきました。100冊といっても日本人の書いたものは20%しかなく,たいへん恐縮しています。 Frequently Asked Questions どの銘柄のC言語ですか? ほぼ当時のANSI Cドラフトに基づ
※この内容は個人的な考察なので、間違っている箇所もあると思います。そういう部分を見つけた際はぜひ教えて下さい。 RDBMSの検索を早くするためにIndexって使いますよね。例えばこんなテーブル CREATE TABLE user ( id INT UNSIGNED NOT NULL, name VARCHAR(255) NOT NULL, UNIQUE INDEX (id) ); idカラムにIndexを張っています。これはidでの検索を高速にするためです。ここでidカラムにIndexが貼っていない場合と比べると検索時間が大幅に変わってきてしまいます(特にレコードが多くなった時) ではなぜIndexを貼ると検索が早くなるんでしょう?? Indexとはその名の通り索引を意味します。特定のカラムの索引を作成しておくことで検索を高速化します。 (本の最後によみがな順で単語が並べられたりしています
Docker を使っているとデータの永続化が問題になる。 例えばデータベースのアプリケーションを動作させるとして、どこにデータを残せばいいだろう。 通常のファイルシステム上に置いてしまうと、コンテナが終了すると使えなくなってしまう。 そんなときに便利なのが今回使うデータボリュームとデータボリュームコンテナのようだ。 これを使うと Docker ホスト上のファイルをコンテナでマウントできるようになる。 データボリューム まず、データボリュームから使ってみる。 コンテナにデータボリュームを接続するには docker run コマンドに -v オプションをつける。 もちろん Dockerfile で指定することもできて、そのときは VOLUME 命令を使う。 例えばコンテナの /mydata にデータボリュームをマウントしてみよう。 イメージには CentOS7 を使った。 $ docker r
webpackを使ったサイト、極端にデバッグしずらい (外部ライブラリが eval(文字列) の形で埋め込まれる)ので、はっきり言って大キライだったりする— コラーゲンたっぷりさん (@uupaa) 2017年4月19日 見知らぬコードが minifyされ、さらに eval されているのをデバッグしろとか、暴力にも等しい要求なんだよね。そりゃキライになるよ— コラーゲンたっぷりさん (@uupaa) 2017年4月19日 「環境Aの言語Bで書かれたコードを言語Fに変換した、環境C/D/Eで動くと思うのでデバッグしろ」というのも極端にデバッグしづらいという理由から避けるようにしている。 デバッガビリティに問題がある環境は、心がすり減るのでイヤ(時給1万円なら頑張る— コラーゲンたっぷりさん (@uupaa) 2017年4月19日 js minifyあるある A「パフォーマンスに問題があるので
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く