SlideShare una empresa de Scribd logo
1 de 37
Descargar para leer sin conexión
WebRTC
〜Real Time Communication〜
自己紹介
山中夏樹
・トライフォート所属
・自社製アプリ・スタートークを初期から開発
・会社で使ってる言語はNode.js,Android Java,Objective-C,PHP
・一応サーバー周りからフロントエンド・ネイティブまで扱える
・自社のネイティブ勉強会幹事やってます(これも発表時の資料)
今回のテーマ
・スタートークというトークアプリ(Android・iPhone)にて実装した
通話機能において使われている技術WebRTCについて
1. WebRTCとは
2. デモ
3. スタートークでWebRTCを使った経緯
4. WebRTCの技術的仕組み
5. ネイティブアプリにおけるWebRTC
6. WebRTCで複数人ビデオチャット
アジェンダ
WebRTCって何?
WebRTCとは
・ブラウザ間で特定のプラグイン無しにボイスチャット、ビデオチャット、ファイル共有
等ができる。
・JavaScriptを200行くらい書いたらSkypeもどきが作れる
・W3Cにより標準化が進められ、開発はGoogle主導で今も頻繁に更新されて いる
・各ブラウザ対応状況 http://caniuse.com/#feat=stream
 Chrome・Firefox・Opera・Android Chrome・Lolipop以降のAndroidブラウザが対応
 iOS・IE・Safariは未対応
まぁ、見た方が早いので
デモ
http://192.168.0.3:8080/webrtc_example.html
使用するもの:Chrome、node.js+socket.io
       300行以内のHtml
コードはgithubに上げました
https://github.com/natsuki-yamanaka/webrtc-socketio-sample
ほぼがねこさんのコードそのままです。めっちゃ詳しい説明書いてあるので興味ある方は下記参照
http://html5experts.jp/mganeko/5349/
WebRTCすげえ!
…って思ってもらいたい
WebRTCを選んだ
理由
WebRTCを選んだ理由
■比較検討した他の手段
・VoIP + SIP
 SkypeやLINEはこのプロトコルを使っているという実績あり
 音声通話、コーデックの詳細設定ができ、安定性が高そうだった
 
 見つかったライブラリ
 ○ Android - https://code.google.com/p/sipdroid/
 ○ iOS - https://code.google.com/p/siphon/
 ○ サーバー - Asterisk
WebRTCを選んだ理由
■比較検討した他の手段
・VoIP + SIP
 問題点:
 ○アプリ未起動時でもバックグラウンドでサーバとのコネクションを保持する為負荷大
 ○NAT越えを自前で実装する必要あり
 ○ライブラリが一部GPL
 ○ビデオチャットなどの実装はあまり sampleない
WebRTCを選んだ理由
・WebRTC
 ブラウザでボイスチャット、ビデオチャット、ファイル共有などが簡単にできる
 ○Android - https://github.com/noiges/webrtc-android-demo ←これそのままだと問題があった
 ○iOS - https://github.com/gandg/webrtc-ios
 ○ICEサーバー - https://code.google.com/p/rfc5766-turn-server/
WebRTCを選んだ理由
2、元がJavaScriptなので、PCへの移行がしやすい
3、NAT越えが簡単
4、トライフォートは常に新しい技術を追い求めていく会社だと
思ったから
1、Android・iOSでも動く
・WebRTC
WebRTCの仕組み
ここからネットワークよりの
話です
元々はブラウザの技術で、できることは
● P2P通信の確立
● ICE(Interactive Connectivity Establishment)でNAT越え
● メディアストリームの取得 (音声・動画等のデータ )
● DataChannel APIを用いてファイルなどをやりとり
  など。
WebRTCの仕組み
概要
※P2P通信 サーバーを介さないクライアント同士の接続
※NAT ルータやモデムなどの、 Internetとクライアントの間に挟まるネットワークの総称
・RTCPeerConnection P2P通信
・RTCSessionDescription P2P通信
・RTCIceCandidate ICEでNAT越え
・getUserMedia メディアストリームの取得
WebRTCの仕組み
JavaScript API
WebRTCの仕組み
P2P通信
・HTTPやWebSocketなどのプロトコルと違い、サーバーを介さずにクライアント同士での接続を 行う。
・WebRTCの場合、HTTPなどに使われるTCPよりもオーバーヘッドの少ない UDPプロトコルを使 用して
通信を行える為、やりとりが高速
・P2P通信を行う為の情報を SDP(Session Description Protocol)というフォーマットでやりとりす る。 SDP
には自分のIP、ポート、メディアの種類、コーデックなどが含まれている。
※new RTCPeerConnectionでPeer接続生成
※new RTCSessionDescriptionでSDP生成
ローカルネットワーク
・P2P通信に必要なデータはシグナリングでやりとりする。 (スタートークの場合は Socket.IOを使う)
・先に送る方がOffer、後に来た方がAnswerとしてSDPを送信する
WebRTCの仕組み
P2P通信
192.168.0.3:1337
※SDP:P2P通信に必要なデータ
192.168.0.1:1337
先手 後手
createOffer
sendOffer
SDP
setOffer
createAnswer
SDP
setAnswer
sendAnswer
接続確立(NATがなければ)
Bさん家Aさん家
・NAT越えの技術を総称してICEと言う。
・ICEにはSTUN・TURNなどのプロトコルがある
・どんなNATでも越えられる技術はない
・Internetを介してP2P通信を行う際には通常お互いのIPとポートを知る必要があります。しかし
間にNATがあると自分のIPを伝えてもP2P通信で接続できない。
WebRTCの仕組み
NAT越え
192.168.0.1:1337
NAT
192.168.0.3:1337
NAT
192.168.0.3:1337
Bさん家Aさん家
192.168.0.1:1337
・NAT越しに繋がる為には、一度 NAT外部にアクセスして自分の IP、ポートを取得し、その IPに接続する
・接続先は複数取得される (eth0・eth1とか有線・無線とか)
・接続先候補をCandidate(候補)と呼び、OfferとAnswerと共に送り合う
WebRTCの仕組み
NAT越え
NAT
192.168.0.3:1337
NAT
STUNサーバ
50.76.44.114:2312360.76.44.114:43123
60.76.44.114:43123
50.76.44.114:23123
・getUserMedia API
WebRTCの仕組み
メディアストリームの取得
● PCに付属しているカメラやマイクな
どのデバイス入力を取得して、
<video>タグや<audio>タグで流すこ
とができる
● 別にP2PしなくてもWebRTC
● コードも簡単→
WebRTCの仕組み
DataChannel API
● WebSocketと大体同じことができる
● 自分はあまり使ってないので省略
● 興味ある方は
  http://www.html5rocks.com/ja/tutorials/webrtc/datachannels/
  らへんを参照
ネイティブアプリにおけ
るWebRTC
・公式webrtcサイトにAndroid・iOS用ソースが存在
http://www.webrtc.org/native-code/development
・↑ビルド手順が複雑
・Chromiumプロジェクトに依存してるのでソース落とすのに半日くらいかかる
・容量20GB、メモリ2GBは必須
・ninja、gclient、gyp等の謎のビルドツールを使ってる …誰か解析して欲しい
・今も頻繁に更新されていて、最新のソースはビルドできないことも
・できれば使いたくない!
ネイティブアプリにおけるWebRTC
ライブラリ
そこで!
さきほど紹介したものを使ってみた
 ○Android - https://github.com/noiges/webrtc-android-demo ←これそのままだと問題があった
 ○iOS - https://github.com/gandg/webrtc-ios
 ○Unity - Asset Storeになかった…C++ソースで自作するしかない
中身はさっきの公式をビルドして .soと.jar(Android)、.a(iOS)を使ったデモApp
https://apprtc.appspot.com/に接続してブラウザともビデオチャットができる
ネイティブアプリにおけるWebRTC
お手軽ライブラリ
 ○Android - https://github.com/noiges/webrtc-android-demo
メインの処理:AppRTCClient.java,AppRTCDemoActivity.java
2ファイル計1117行
 ○iOS - https://github.com/gandg/webrtc-ios
メインの処理:APPRTCAppClient.m、APPRTCAppDelegate.m、APPRTCViewController.m
3ファイル計1245行
ネイティブアプリにおけるWebRTC
お手軽ライブラリ
Htmlのソースだと300行以内で書けることが冗長に書いてある
 ○Android - https://github.com/noiges/webrtc-android-demo
・AppRTCGLView  ≒ <video>
・PeerConnectionFactory + PeerConnection ≒ RTCPeerConnection
・RTCSessionDescription ≒ RTCSessionDescription
・MediaStream ≒ getUserMedia
 ○iOS - https://github.com/gandg/webrtc-ios
・RTCVideoRenderer ≒ <video>
・RTCPeerConnectionFactory+RTCPeerConnection≒ RTCPeerConnection
・RTCSessionDescription ≒ RTCSessionDescription
・RTCVideoCapturer ≒ getUserMedia
ネイティブアプリにおけるWebRTC
お手軽ライブラリ Class対応表
おまけ
・LGL22では動いたが、他の端末が動かなかった  (←これすごい最近気づいた )
・端末の音声サンプリングレートが対応していないというカタストロフィ (44100Hzを使ってた)
・結局https://github.com/pristineio/webrtc-build-scriptsを参考に、公式サイトのソースをビルド
・ →…それでもサンプリングレートでエラー
・C++のソースのDefault Sampling Rateとか修正(16000Hz)
・ →動いた!(2014/12初め)
   →スタートークリリースへ
ネイティブアプリにおけるWebRTC
問題点:Android
※サンプリングレート
 1秒に何回音声を取得するか。数値が大きいほど音がきれいに聞こえる
・まだ全端末で動くわけではない
・OS3.0以上(API Level11のものが含まれてるので )
・4系でも音声周りのエラーでまだ 7割程度しか動作を確認できず
ネイティブアプリにおけるWebRTC
問題点:Android
・現状通話は安定してできている
・ビデオチャットを入れると、キャプチャの取得に 4,5秒時間がかかった
・http://qiita.com/ykst/items/412496713e1e887bcfca
 ↑ここら辺を見るとまだパフォーマンスは上げられそう
・公式のソース最新の安定板を入れるべき
ネイティブアプリにおけるWebRTC
問題点:iPhone
複数人のビデオチャッ
ト
・技術的には可能
・帯域限界やCPUの処理が足りなかったりで、PCでも10人くらいがいいとこ
・スマホだったら…3人くらいじゃね?
複数人のビデオチャット
スペックの限界
1. 中継サーバーを置くことでP2Pを一本化(MCUとか)
 → 負荷がでかいのでなるべくやりたくない
 → PCなら同時20人ほどにはなるらしい
複数人のビデオチャット
解決策
MCUサーバ
WebRTCでビデオチャット
MCUがそれぞれからくる
メディアデータを合成して配
信
2. クライアントの音質や画質を極力落としてデータを少なくする
 → 粗さの限界がある
3. n対nではなく1対nの音声配信なら5人くらいはいけるかも
 → PCなら動画を同時10人はいける
複数人のビデオチャット
解決策
以上
ありがとうございました

Más contenido relacionado

La actualidad más candente

CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭するCEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭するYoshifumi Kawai
 
Javaのログ出力: 道具と考え方
Javaのログ出力: 道具と考え方Javaのログ出力: 道具と考え方
Javaのログ出力: 道具と考え方Taku Miyakawa
 
はじめようARCore:自己位置推定・平面検出・FaceTracking
はじめようARCore:自己位置推定・平面検出・FaceTrackingはじめようARCore:自己位置推定・平面検出・FaceTracking
はじめようARCore:自己位置推定・平面検出・FaceTrackingTakashi Yoshinaga
 
【Unity】 Behavior TreeでAIを作る
 【Unity】 Behavior TreeでAIを作る 【Unity】 Behavior TreeでAIを作る
【Unity】 Behavior TreeでAIを作るtorisoup
 
人生がときめくAPIテスト自動化 with Karate
人生がときめくAPIテスト自動化 with Karate人生がときめくAPIテスト自動化 with Karate
人生がときめくAPIテスト自動化 with KarateTakanori Suzuki
 
DockerコンテナでGitを使う
DockerコンテナでGitを使うDockerコンテナでGitを使う
DockerコンテナでGitを使うKazuhiro Suga
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Kohei Tokunaga
 
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるなテスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるなKentaro Matsui
 
WebRTCの技術解説 公開版
WebRTCの技術解説 公開版WebRTCの技術解説 公開版
WebRTCの技術解説 公開版Contest Ntt-west
 
BuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルドBuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルドAkihiro Suda
 
文字コードに起因する脆弱性とその対策(増補版)
文字コードに起因する脆弱性とその対策(増補版)文字コードに起因する脆弱性とその対策(増補版)
文字コードに起因する脆弱性とその対策(増補版)Hiroshi Tokumaru
 
ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方Yoshiyasu SAEKI
 
PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門泰 増田
 
Python 3.9からの新定番zoneinfoを使いこなそう
Python 3.9からの新定番zoneinfoを使いこなそうPython 3.9からの新定番zoneinfoを使いこなそう
Python 3.9からの新定番zoneinfoを使いこなそうRyuji Tsutsui
 
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture世界一わかりやすいClean Architecture
世界一わかりやすいClean ArchitectureAtsushi Nakamura
 
ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計Yoshinori Matsunobu
 

La actualidad más candente (20)

CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭するCEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
 
Javaのログ出力: 道具と考え方
Javaのログ出力: 道具と考え方Javaのログ出力: 道具と考え方
Javaのログ出力: 道具と考え方
 
はじめようARCore:自己位置推定・平面検出・FaceTracking
はじめようARCore:自己位置推定・平面検出・FaceTrackingはじめようARCore:自己位置推定・平面検出・FaceTracking
はじめようARCore:自己位置推定・平面検出・FaceTracking
 
【Unity】 Behavior TreeでAIを作る
 【Unity】 Behavior TreeでAIを作る 【Unity】 Behavior TreeでAIを作る
【Unity】 Behavior TreeでAIを作る
 
人生がときめくAPIテスト自動化 with Karate
人生がときめくAPIテスト自動化 with Karate人生がときめくAPIテスト自動化 with Karate
人生がときめくAPIテスト自動化 with Karate
 
HTTP/2 入門
HTTP/2 入門HTTP/2 入門
HTTP/2 入門
 
DockerコンテナでGitを使う
DockerコンテナでGitを使うDockerコンテナでGitを使う
DockerコンテナでGitを使う
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
 
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるなテスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
 
WebRTCの技術解説 公開版
WebRTCの技術解説 公開版WebRTCの技術解説 公開版
WebRTCの技術解説 公開版
 
BuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルドBuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルド
 
Riderはいいぞ!
Riderはいいぞ!Riderはいいぞ!
Riderはいいぞ!
 
Docker Compose 徹底解説
Docker Compose 徹底解説Docker Compose 徹底解説
Docker Compose 徹底解説
 
文字コードに起因する脆弱性とその対策(増補版)
文字コードに起因する脆弱性とその対策(増補版)文字コードに起因する脆弱性とその対策(増補版)
文字コードに起因する脆弱性とその対策(増補版)
 
ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方
 
Mavenの真実とウソ
Mavenの真実とウソMavenの真実とウソ
Mavenの真実とウソ
 
PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門
 
Python 3.9からの新定番zoneinfoを使いこなそう
Python 3.9からの新定番zoneinfoを使いこなそうPython 3.9からの新定番zoneinfoを使いこなそう
Python 3.9からの新定番zoneinfoを使いこなそう
 
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture
 
ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計
 

Similar a スマホ(Android・iPhone)でWebRTC

.NET の今と未来 ~ デバイス&クラウド ネイティブを目指して
.NET の今と未来 ~ デバイス&クラウド ネイティブを目指して.NET の今と未来 ~ デバイス&クラウド ネイティブを目指して
.NET の今と未来 ~ デバイス&クラウド ネイティブを目指してAkira Inoue
 
.NET Coreとツール類の今
.NET Coreとツール類の今.NET Coreとツール類の今
.NET Coreとツール類の今Yuki Igarashi
 
スマートフォンアプリケーション開発の最新動向
スマートフォンアプリケーション開発の最新動向スマートフォンアプリケーション開発の最新動向
スマートフォンアプリケーション開発の最新動向Tsutomu Ogasawara
 
内蔵化、モバイル化に向かうDepthセンサー
内蔵化、モバイル化に向かうDepthセンサー内蔵化、モバイル化に向かうDepthセンサー
内蔵化、モバイル化に向かうDepthセンサーKaoru NAKAMURA
 
レポート
レポートレポート
レポートxin song
 
レポート
レポートレポート
レポートxin song
 
実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~
実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~
実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~Saki Homma
 
.NET Core と Container, そして Azure Web Apps on Linux による Web アプリ開発最前線
.NET Core と Container, そして Azure Web Apps on Linux による Web アプリ開発最前線.NET Core と Container, そして Azure Web Apps on Linux による Web アプリ開発最前線
.NET Core と Container, そして Azure Web Apps on Linux による Web アプリ開発最前線Akira Inoue
 
Phone gap+javascriptスマホアプリ開発(入門編)
Phone gap+javascriptスマホアプリ開発(入門編)Phone gap+javascriptスマホアプリ開発(入門編)
Phone gap+javascriptスマホアプリ開発(入門編)Monaca
 
【16-D-4】3分ではじめるスマホアプリのビジュアル開発
【16-D-4】3分ではじめるスマホアプリのビジュアル開発【16-D-4】3分ではじめるスマホアプリのビジュアル開発
【16-D-4】3分ではじめるスマホアプリのビジュアル開発hmimura_embarcadero
 
ゼロからのプログラミングRails講座 Codeanywhere版
ゼロからのプログラミングRails講座 Codeanywhere版ゼロからのプログラミングRails講座 Codeanywhere版
ゼロからのプログラミングRails講座 Codeanywhere版DIVE INTO CODE Corp.
 
WebRTCライトニングトークス 〜 WebRTCを色々使ってみた話
WebRTCライトニングトークス 〜 WebRTCを色々使ってみた話WebRTCライトニングトークス 〜 WebRTCを色々使ってみた話
WebRTCライトニングトークス 〜 WebRTCを色々使ってみた話infocom corp.
 
Sharoid Service Menu
Sharoid Service MenuSharoid Service Menu
Sharoid Service Menusharoid
 
Visual Studio Codeを使い倒そう! ~プログラミングから機械学習、クラウド連携、遠隔ペアプロまで~
Visual Studio Codeを使い倒そう! ~プログラミングから機械学習、クラウド連携、遠隔ペアプロまで~Visual Studio Codeを使い倒そう! ~プログラミングから機械学習、クラウド連携、遠隔ペアプロまで~
Visual Studio Codeを使い倒そう! ~プログラミングから機械学習、クラウド連携、遠隔ペアプロまで~Saki Homma
 
はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-Saki Homma
 
モダンWeb開発ワークショップ
モダンWeb開発ワークショップモダンWeb開発ワークショップ
モダンWeb開発ワークショップStaffnet_Inc
 
これからのNOTESモバイルアプリはこう作れ
これからのNOTESモバイルアプリはこう作れこれからのNOTESモバイルアプリはこう作れ
これからのNOTESモバイルアプリはこう作れMitsuru Katoh
 
Firefox OS - Blaze Your Own Path
Firefox OS - Blaze Your Own PathFirefox OS - Blaze Your Own Path
Firefox OS - Blaze Your Own Pathdynamis
 
アイデアを形にする ③3時間でアプリ公開!ゼロからのプログラミング講座
アイデアを形にする  ③3時間でアプリ公開!ゼロからのプログラミング講座アイデアを形にする  ③3時間でアプリ公開!ゼロからのプログラミング講座
アイデアを形にする ③3時間でアプリ公開!ゼロからのプログラミング講座DIVE INTO CODE Corp.
 
WebRTC on Edge
WebRTC on EdgeWebRTC on Edge
WebRTC on EdgeSaki Homma
 

Similar a スマホ(Android・iPhone)でWebRTC (20)

.NET の今と未来 ~ デバイス&クラウド ネイティブを目指して
.NET の今と未来 ~ デバイス&クラウド ネイティブを目指して.NET の今と未来 ~ デバイス&クラウド ネイティブを目指して
.NET の今と未来 ~ デバイス&クラウド ネイティブを目指して
 
.NET Coreとツール類の今
.NET Coreとツール類の今.NET Coreとツール類の今
.NET Coreとツール類の今
 
スマートフォンアプリケーション開発の最新動向
スマートフォンアプリケーション開発の最新動向スマートフォンアプリケーション開発の最新動向
スマートフォンアプリケーション開発の最新動向
 
内蔵化、モバイル化に向かうDepthセンサー
内蔵化、モバイル化に向かうDepthセンサー内蔵化、モバイル化に向かうDepthセンサー
内蔵化、モバイル化に向かうDepthセンサー
 
レポート
レポートレポート
レポート
 
レポート
レポートレポート
レポート
 
実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~
実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~
実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~
 
.NET Core と Container, そして Azure Web Apps on Linux による Web アプリ開発最前線
.NET Core と Container, そして Azure Web Apps on Linux による Web アプリ開発最前線.NET Core と Container, そして Azure Web Apps on Linux による Web アプリ開発最前線
.NET Core と Container, そして Azure Web Apps on Linux による Web アプリ開発最前線
 
Phone gap+javascriptスマホアプリ開発(入門編)
Phone gap+javascriptスマホアプリ開発(入門編)Phone gap+javascriptスマホアプリ開発(入門編)
Phone gap+javascriptスマホアプリ開発(入門編)
 
【16-D-4】3分ではじめるスマホアプリのビジュアル開発
【16-D-4】3分ではじめるスマホアプリのビジュアル開発【16-D-4】3分ではじめるスマホアプリのビジュアル開発
【16-D-4】3分ではじめるスマホアプリのビジュアル開発
 
ゼロからのプログラミングRails講座 Codeanywhere版
ゼロからのプログラミングRails講座 Codeanywhere版ゼロからのプログラミングRails講座 Codeanywhere版
ゼロからのプログラミングRails講座 Codeanywhere版
 
WebRTCライトニングトークス 〜 WebRTCを色々使ってみた話
WebRTCライトニングトークス 〜 WebRTCを色々使ってみた話WebRTCライトニングトークス 〜 WebRTCを色々使ってみた話
WebRTCライトニングトークス 〜 WebRTCを色々使ってみた話
 
Sharoid Service Menu
Sharoid Service MenuSharoid Service Menu
Sharoid Service Menu
 
Visual Studio Codeを使い倒そう! ~プログラミングから機械学習、クラウド連携、遠隔ペアプロまで~
Visual Studio Codeを使い倒そう! ~プログラミングから機械学習、クラウド連携、遠隔ペアプロまで~Visual Studio Codeを使い倒そう! ~プログラミングから機械学習、クラウド連携、遠隔ペアプロまで~
Visual Studio Codeを使い倒そう! ~プログラミングから機械学習、クラウド連携、遠隔ペアプロまで~
 
はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
 
モダンWeb開発ワークショップ
モダンWeb開発ワークショップモダンWeb開発ワークショップ
モダンWeb開発ワークショップ
 
これからのNOTESモバイルアプリはこう作れ
これからのNOTESモバイルアプリはこう作れこれからのNOTESモバイルアプリはこう作れ
これからのNOTESモバイルアプリはこう作れ
 
Firefox OS - Blaze Your Own Path
Firefox OS - Blaze Your Own PathFirefox OS - Blaze Your Own Path
Firefox OS - Blaze Your Own Path
 
アイデアを形にする ③3時間でアプリ公開!ゼロからのプログラミング講座
アイデアを形にする  ③3時間でアプリ公開!ゼロからのプログラミング講座アイデアを形にする  ③3時間でアプリ公開!ゼロからのプログラミング講座
アイデアを形にする ③3時間でアプリ公開!ゼロからのプログラミング講座
 
WebRTC on Edge
WebRTC on EdgeWebRTC on Edge
WebRTC on Edge
 

Más de Natsuki Yamanaka

【2018/09/11】PAYでのReact Nativeにおける APIクライアント実装 について
【2018/09/11】PAYでのReact Nativeにおける APIクライアント実装 について【2018/09/11】PAYでのReact Nativeにおける APIクライアント実装 について
【2018/09/11】PAYでのReact Nativeにおける APIクライアント実装 についてNatsuki Yamanaka
 
2015 12 03_uiテストツールについて
2015 12 03_uiテストツールについて2015 12 03_uiテストツールについて
2015 12 03_uiテストツールについてNatsuki Yamanaka
 
アプリ申請の基礎 リジェクト周り
アプリ申請の基礎 リジェクト周りアプリ申請の基礎 リジェクト周り
アプリ申請の基礎 リジェクト周りNatsuki Yamanaka
 
多言語対応について 2016 07_25
多言語対応について 2016 07_25多言語対応について 2016 07_25
多言語対応について 2016 07_25Natsuki Yamanaka
 
2015 12 10_ipv6対応について
2015 12 10_ipv6対応について2015 12 10_ipv6対応について
2015 12 10_ipv6対応についてNatsuki Yamanaka
 
2015 11 05_ios9_新仕様まとめ_社内勉強会
2015 11 05_ios9_新仕様まとめ_社内勉強会2015 11 05_ios9_新仕様まとめ_社内勉強会
2015 11 05_ios9_新仕様まとめ_社内勉強会Natsuki Yamanaka
 
社内勉強会にて 音声ファイルフォーマットについて
社内勉強会にて 音声ファイルフォーマットについて社内勉強会にて 音声ファイルフォーマットについて
社内勉強会にて 音声ファイルフォーマットについてNatsuki Yamanaka
 
2015 03 26 社内勉強会_オープンソースソフトウェアライセンスについて
2015 03 26 社内勉強会_オープンソースソフトウェアライセンスについて2015 03 26 社内勉強会_オープンソースソフトウェアライセンスについて
2015 03 26 社内勉強会_オープンソースソフトウェアライセンスについてNatsuki Yamanaka
 

Más de Natsuki Yamanaka (11)

【2018/09/11】PAYでのReact Nativeにおける APIクライアント実装 について
【2018/09/11】PAYでのReact Nativeにおける APIクライアント実装 について【2018/09/11】PAYでのReact Nativeにおける APIクライアント実装 について
【2018/09/11】PAYでのReact Nativeにおける APIクライアント実装 について
 
2015 12 03_uiテストツールについて
2015 12 03_uiテストツールについて2015 12 03_uiテストツールについて
2015 12 03_uiテストツールについて
 
アプリ申請の基礎 リジェクト周り
アプリ申請の基礎 リジェクト周りアプリ申請の基礎 リジェクト周り
アプリ申請の基礎 リジェクト周り
 
開発Tips集
開発Tips集開発Tips集
開発Tips集
 
3 d touchについて
3 d touchについて3 d touchについて
3 d touchについて
 
多言語対応について 2016 07_25
多言語対応について 2016 07_25多言語対応について 2016 07_25
多言語対応について 2016 07_25
 
2015 12 10_ipv6対応について
2015 12 10_ipv6対応について2015 12 10_ipv6対応について
2015 12 10_ipv6対応について
 
2015 11 05_ios9_新仕様まとめ_社内勉強会
2015 11 05_ios9_新仕様まとめ_社内勉強会2015 11 05_ios9_新仕様まとめ_社内勉強会
2015 11 05_ios9_新仕様まとめ_社内勉強会
 
社内勉強会にて 音声ファイルフォーマットについて
社内勉強会にて 音声ファイルフォーマットについて社内勉強会にて 音声ファイルフォーマットについて
社内勉強会にて 音声ファイルフォーマットについて
 
2015 03 26 社内勉強会_オープンソースソフトウェアライセンスについて
2015 03 26 社内勉強会_オープンソースソフトウェアライセンスについて2015 03 26 社内勉強会_オープンソースソフトウェアライセンスについて
2015 03 26 社内勉強会_オープンソースソフトウェアライセンスについて
 
Nodeについて
NodeについてNodeについて
Nodeについて
 

Último

論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 

Último (9)

論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 

スマホ(Android・iPhone)でWebRTC