SlideShare a Scribd company logo
1 of 22
WebAssembly
in Action
2022/02/22
Takuo Kihira
自己紹介
紀平 拓男(きひら たくお)
スマートニュース株式会社
● 20 年くらい JavaScript の世界で働いています
● サンフランシスコでの起業を含め 3 社の起業を
経験しています
● 最近はネイティブアプリ内に組み込む Web の
開発に興味を持っています
星の軌跡の撮影本を出版しました。見てね!
https://www.amazon.co.jp/dp/4297126036/
世間一般の WebAssembly のイメージ
● 速い!
● 小さい!
● 色々な言語がブラウザで動く!
現実
● 速い! → 遅くはない
● 小さい! → そんなに小さくない
● 色々な言語がブラウザで動く! → C/C++/Rust は比較的簡単に動く
WebAssembly とは
https://ja.wikipedia.org/wiki/WebAssembly
● WebAssemblyは仮想命令セットアーキテクチャあるいはプログラミング言語の一種である[2]。略
称はWasm[3]。C・Rustなど様々なプログラミング言語のコンパイルターゲットとしてWasmバイ
ナリは生成され、ウェブブラウザを含む様々な環境内のスタックベース仮想マシンにより実行され
る。
ネイティブコード相当の高速性・隔離環境でのメモリ安全な実行による安全性・仮想マシンによる
ハードウェア/プラットフォーム可搬性・ソースプログラミング言語中立性などを特徴とする[4]。
この命令セットはバイナリ形式で定義されており、またアセンブリ言語ライクなテキスト形式も定
義されている(その意味で低水準プログラミング言語といえる)。
Wasm自体は命令セットアーキテクチャであり、Linuxカーネルが提供するようなシステムコール(
例: ファイルI/O)、Webブラウザが提供するようなDOMアクセスなどを提供していない[5]。
WebAssembly の特徴
● 速い! → 遅くはない
○ 高速性
○ 安全性
○ 可搬性
● 小さい! → そんなに小さくない
○ バイナリ形式で定義
○ Linuxカーネルが提供するようなシステムコール(例: ファイルI/O)、Webブラウザが提供す
るようなDOMアクセスなどを提供していない
● 色々な言語がブラウザで動く! → C/C++/Rust は比較的簡単に動く
○ プログラミング言語のコンパイルターゲットとしてWasmバイナリは生成
○ 言語中立性
速度
● 速い! → 遅くはない
○ 高速性
○ 安全性
○ 可搬性
WebAssembly はなぜ高速か
● JavaScript はスクリプト言語であり、動的言語であるため、速度が遅い
○ スクリプト言語であるため、構造が複雑である
○ 動的言語であるためコンパイルすることが出来ず、実行速度が遅い
● WebAssembly はツリー構造のバイナリで、構造は型付きS式
○ バイナリはブラウザ内部のVM(スタックマシン)で実行されることを想定した形式
○ 実際は wasm を再度コンパイルし、ネイティブコードに変換してから実行される
● wasm は構造がシンプルであり、ネイティブコードにコンパイルしやすい
○ 高速になる条件は完全に満たしている
WebAssembly はなぜ思ったほど速くないのか
● JavaScript が速い
○ ブラウザの JavaScript エンジンは大企業から猛烈な投資を受けて成長している
○ JIT が優秀で下手なコンパイル言語並にものすごく速い
● WebAssembly は安全性の確保が大事
○ 悪意のあるコードが来ても問題ないようにサンドボックス内部で実行される
○ メモリアクセスのたびに境界を超えていないかチェックが必要、これが結構重い
● ポータビリティ担保の必要からネイティブコードを送れない
○ ガチでコンパイルしたネイティブコードとブラウザ上で急いでコンパイルするコードだと
最適化できる範囲が全然違い、実行速度に差が出る
WebAssembly の速度の大きな欠点
● 起動がとてつもなく遅い
○ Wasm のバイナリをネイティブコードにコンパイルする処理がリロード時に毎回必要
○ コンパイルした結果をローカルに保存できる仕様が削除された
● 初回訪問時は大きな問題にならない
○ ファイルのダウンロード速度とコンパイル速度だと、コンパイル速度の方が速い
○ ストリーミングコンパイル出来るので、ダウンロードしながら同時にコンパイルも出来る
○ しかし、wasm ファイル自体はキャッシュ出来るが、コンパイル結果はキャッシュ出来ない
● 具体的なコンパイル速度
○ http://nmi.jp/2017-12-03-Profiling-of-huge-wasm 2017年末のデータ
○ 25MB の wasm はゲームでは普通だが、20秒から下手すると1分くらいかかる
サイズ
● 小さい! → そんなに小さくない
○ バイナリ形式で定義
○ Linuxカーネルが提供するようなシステムコール(例: ファイルI/O)、
Webブラウザが提供するようなDOMアクセスなどを提供していない
WebAssembly で必要なファイル
● Wasm 本体
○ バイナリ、とても小さい
● Wasm と JavaScript が通信するコード(グルーコード)
○ JavaScript、結構でかい
● Wasm でC言語の標準ライブラリなどをサポートするランタイムコード
○ バイナリとJavaScript、相当でかい
WebAssembly でサイズを減らすには
● Wasm 用の言語で書く
○ 例: AssemblyScript とても小さいファイルを出力できる
● ランタイムを利用せずに書く
○ 例: fdlibm C言語だが malloc すら必要がなかったので相当小さなファイルを出力できた
● ランタイムが小さな言語で書く
○ 例: Rust ランタイム小さいしグルーコードもかなり小さい
Emscripten のファイルサイズ
● Emscripten
○ 既存のC/C++の移植では普通これを使う
○ 標準ライブラリのみならず、mlib、OpenGL、pthread など様々な API に対応している
○ ランタイムがむちゃくちゃでかい
● LibRaw の wasm 移植 のデータ
○ 依存のないライブラリ、内部では標準ライブラリのみの使用
○ JavaScriptコード: 86KB
○ Wasm: 619KB
言語
● 色々な言語がブラウザで動く! → C/C++/Rust は比較的簡単に動く
○ プログラミング言語のコンパイルターゲットとしてWasmバイナリは生成
○ 言語中立性
WebAssembly の出力方法
● Clang / Rust / AssemblyScript
○ 直接コンパイラが wasm のコードを出力する
● EmScripten
○ LLVM の中間言語を通じて wasm のコードを出力する
EmScripten 方式だと、LLVM が対応している言語は理論上全て wasm 化可能
言語を移植する上でのハードル
● ランタイム
○ 標準ライブラリ
○ 言語機能実装
● ガベージコレクション
○ Wasm は現在 GC をサポートしていない
○ GC に頼る言語は、自前で GC を実装する必要がある
○ ページ内に 2 つ wasm をロードすると、GC 実装が 2 つ必要になったりする
動く言語
● C/C++
○ Emscripten の手厚いサポート
○ Clang から直接出力することも出来る
● Rust
○ コンパイル言語、軽い標準ライブラリ、ガベージコレクションなし
● Go
○ すっごく頑張っている
○ GC 自前実装、ランタイムも頑張ってる
○ ファイルサイズも速度もイマイチだが、動くということが重要
現在の Wasm の使われ方
移植か、高速か
● 既存の資産の移植
○ 例: LibRaw、ffmpeg、DOSBOX、ゲーム各種など
○ 枯れた技術をそのまま適用できる
○ 今まで JavaScript になかったライブラリなども利用可能に
● 実行時の速度がとてつもなく欲しい時
○ そんなに速くないといっても、JavaScript よりは同等か速いか、くらいにはなる
○ エンコーダーとか、ビデオに blur をかけるとか、速度が本気で重要な場合は wasm は良い
プロダクションに耐えうるか
● よく検討すべき
○ メンテナンスとか結構たいへん
○ Block Pong で Wasm のバグを踏んで泣いた話を Google Developer Group で発表した
■ https://docs.google.com/presentation/d/1OmFQahgOZvd5kqI-
P3oXaW5tn75IqId9lKKo1SVne30/edit
○ 他に選択肢がない場合は使っても良い、が、基本まだオススメしない
■ 相談してください
ご清聴ありがとうございました

More Related Content

What's hot

超初心者でもできた!AzureMobileService JSバージョン
超初心者でもできた!AzureMobileService JSバージョン超初心者でもできた!AzureMobileService JSバージョン
超初心者でもできた!AzureMobileService JSバージョンYuriko Kamimori
 
DMMのIPv6に関する取り組み 2016年2月版
DMMのIPv6に関する取り組み 2016年2月版DMMのIPv6に関する取り組み 2016年2月版
DMMのIPv6に関する取り組み 2016年2月版Ken SASAKI
 
VRで酔わないコンテンツ作り
VRで酔わないコンテンツ作りVRで酔わないコンテンツ作り
VRで酔わないコンテンツ作りKazuya Hiruma
 
ホームページ制作
ホームページ制作ホームページ制作
ホームページ制作yosuke mizusawa
 
クリエイターのためのDropbox活用術
クリエイターのためのDropbox活用術クリエイターのためのDropbox活用術
クリエイターのためのDropbox活用術Tomaki Maeda
 
アプリケーションプラットフォームとしてのWordPressの序論。ころぐとBookPressを事例に!WordBench福岡の資料!20130323
アプリケーションプラットフォームとしてのWordPressの序論。ころぐとBookPressを事例に!WordBench福岡の資料!20130323アプリケーションプラットフォームとしてのWordPressの序論。ころぐとBookPressを事例に!WordBench福岡の資料!20130323
アプリケーションプラットフォームとしてのWordPressの序論。ころぐとBookPressを事例に!WordBench福岡の資料!20130323Shinichi Nishikawa
 
20160927 okubo mt_cloud_handson
20160927 okubo mt_cloud_handson20160927 okubo mt_cloud_handson
20160927 okubo mt_cloud_handsonSix Apart
 
始めよう! 新サービス MovableType.net の全て
始めよう! 新サービス MovableType.net の全て始めよう! 新サービス MovableType.net の全て
始めよう! 新サービス MovableType.net の全てSix Apart KK
 
使えるのか!?Movable type.netをリアルに使ってみた結果
使えるのか!?Movable type.netをリアルに使ってみた結果使えるのか!?Movable type.netをリアルに使ってみた結果
使えるのか!?Movable type.netをリアルに使ってみた結果佐藤 聖
 
PHPを使って3分で作る3キャリア対応ケータイサイト
PHPを使って3分で作る3キャリア対応ケータイサイトPHPを使って3分で作る3キャリア対応ケータイサイト
PHPを使って3分で作る3キャリア対応ケータイサイトKentaro Matsui
 
WordBench埼玉紹介 20130526
WordBench埼玉紹介 20130526WordBench埼玉紹介 20130526
WordBench埼玉紹介 20130526Yoshitaka KATO
 
モダンJavaScriptフレームワークで技術的負債を作らないために
モダンJavaScriptフレームワークで技術的負債を作らないためにモダンJavaScriptフレームワークで技術的負債を作らないために
モダンJavaScriptフレームワークで技術的負債を作らないためにYukiOniki
 
20160121 hachioji mt_cloud_handson
20160121 hachioji mt_cloud_handson20160121 hachioji mt_cloud_handson
20160121 hachioji mt_cloud_handsonSix Apart
 
20161115 okubo mt_cloud_handson
20161115 okubo mt_cloud_handson20161115 okubo mt_cloud_handson
20161115 okubo mt_cloud_handsonSix Apart
 
WebVRコンテンツ制作入門
WebVRコンテンツ制作入門WebVRコンテンツ制作入門
WebVRコンテンツ制作入門Kazuya Hiruma
 
WordPress プラグイン Advance Custum Fieldsを学ぶ
WordPress プラグイン Advance Custum Fieldsを学ぶWordPress プラグイン Advance Custum Fieldsを学ぶ
WordPress プラグイン Advance Custum Fieldsを学ぶShigeki Takai
 
Webと出版と、CSSの未来の話
Webと出版と、CSSの未来の話Webと出版と、CSSの未来の話
Webと出版と、CSSの未来の話Shinyu Murakami
 
JXUGC #9 Xamarin.Forms Mvvm Teachathon
JXUGC #9 Xamarin.Forms Mvvm TeachathonJXUGC #9 Xamarin.Forms Mvvm Teachathon
JXUGC #9 Xamarin.Forms Mvvm TeachathonYoshito Tabuchi
 
WordPressはじめてのプラグイン作成
WordPressはじめてのプラグイン作成WordPressはじめてのプラグイン作成
WordPressはじめてのプラグイン作成Shoji Endo
 

What's hot (20)

超初心者でもできた!AzureMobileService JSバージョン
超初心者でもできた!AzureMobileService JSバージョン超初心者でもできた!AzureMobileService JSバージョン
超初心者でもできた!AzureMobileService JSバージョン
 
DMMのIPv6に関する取り組み 2016年2月版
DMMのIPv6に関する取り組み 2016年2月版DMMのIPv6に関する取り組み 2016年2月版
DMMのIPv6に関する取り組み 2016年2月版
 
VRで酔わないコンテンツ作り
VRで酔わないコンテンツ作りVRで酔わないコンテンツ作り
VRで酔わないコンテンツ作り
 
ホームページ制作
ホームページ制作ホームページ制作
ホームページ制作
 
クリエイターのためのDropbox活用術
クリエイターのためのDropbox活用術クリエイターのためのDropbox活用術
クリエイターのためのDropbox活用術
 
アプリケーションプラットフォームとしてのWordPressの序論。ころぐとBookPressを事例に!WordBench福岡の資料!20130323
アプリケーションプラットフォームとしてのWordPressの序論。ころぐとBookPressを事例に!WordBench福岡の資料!20130323アプリケーションプラットフォームとしてのWordPressの序論。ころぐとBookPressを事例に!WordBench福岡の資料!20130323
アプリケーションプラットフォームとしてのWordPressの序論。ころぐとBookPressを事例に!WordBench福岡の資料!20130323
 
20160927 okubo mt_cloud_handson
20160927 okubo mt_cloud_handson20160927 okubo mt_cloud_handson
20160927 okubo mt_cloud_handson
 
始めよう! 新サービス MovableType.net の全て
始めよう! 新サービス MovableType.net の全て始めよう! 新サービス MovableType.net の全て
始めよう! 新サービス MovableType.net の全て
 
使えるのか!?Movable type.netをリアルに使ってみた結果
使えるのか!?Movable type.netをリアルに使ってみた結果使えるのか!?Movable type.netをリアルに使ってみた結果
使えるのか!?Movable type.netをリアルに使ってみた結果
 
PHPを使って3分で作る3キャリア対応ケータイサイト
PHPを使って3分で作る3キャリア対応ケータイサイトPHPを使って3分で作る3キャリア対応ケータイサイト
PHPを使って3分で作る3キャリア対応ケータイサイト
 
WordBench埼玉紹介 20130526
WordBench埼玉紹介 20130526WordBench埼玉紹介 20130526
WordBench埼玉紹介 20130526
 
モダンJavaScriptフレームワークで技術的負債を作らないために
モダンJavaScriptフレームワークで技術的負債を作らないためにモダンJavaScriptフレームワークで技術的負債を作らないために
モダンJavaScriptフレームワークで技術的負債を作らないために
 
Web2 mission
Web2 missionWeb2 mission
Web2 mission
 
20160121 hachioji mt_cloud_handson
20160121 hachioji mt_cloud_handson20160121 hachioji mt_cloud_handson
20160121 hachioji mt_cloud_handson
 
20161115 okubo mt_cloud_handson
20161115 okubo mt_cloud_handson20161115 okubo mt_cloud_handson
20161115 okubo mt_cloud_handson
 
WebVRコンテンツ制作入門
WebVRコンテンツ制作入門WebVRコンテンツ制作入門
WebVRコンテンツ制作入門
 
WordPress プラグイン Advance Custum Fieldsを学ぶ
WordPress プラグイン Advance Custum Fieldsを学ぶWordPress プラグイン Advance Custum Fieldsを学ぶ
WordPress プラグイン Advance Custum Fieldsを学ぶ
 
Webと出版と、CSSの未来の話
Webと出版と、CSSの未来の話Webと出版と、CSSの未来の話
Webと出版と、CSSの未来の話
 
JXUGC #9 Xamarin.Forms Mvvm Teachathon
JXUGC #9 Xamarin.Forms Mvvm TeachathonJXUGC #9 Xamarin.Forms Mvvm Teachathon
JXUGC #9 Xamarin.Forms Mvvm Teachathon
 
WordPressはじめてのプラグイン作成
WordPressはじめてのプラグイン作成WordPressはじめてのプラグイン作成
WordPressはじめてのプラグイン作成
 

Similar to Web Assembly in action

Androidの忌しきStackOverFlowをどうにかする
Androidの忌しきStackOverFlowをどうにかするAndroidの忌しきStackOverFlowをどうにかする
Androidの忌しきStackOverFlowをどうにかするKoji MATSUBARA
 
Slack Appsでやれる事を確認した。年内日本語化されるんで、急ぎで!
Slack Appsでやれる事を確認した。年内日本語化されるんで、急ぎで!Slack Appsでやれる事を確認した。年内日本語化されるんで、急ぎで!
Slack Appsでやれる事を確認した。年内日本語化されるんで、急ぎで!Yasuyuki Ogawa
 
JavaScript(AngularJS)で作る iOS・Androidアプリ開発ハンズオン
JavaScript(AngularJS)で作る iOS・Androidアプリ開発ハンズオンJavaScript(AngularJS)で作る iOS・Androidアプリ開発ハンズオン
JavaScript(AngularJS)で作る iOS・Androidアプリ開発ハンズオンKazuhiro Yoshimoto
 
PWAを使ってWebXRコンテンツをオフラインで動くようにする手順について
PWAを使ってWebXRコンテンツをオフラインで動くようにする手順についてPWAを使ってWebXRコンテンツをオフラインで動くようにする手順について
PWAを使ってWebXRコンテンツをオフラインで動くようにする手順についてWheetTweet
 
「Webサービスのつくり方」 のつくり方
「Webサービスのつくり方」 のつくり方「Webサービスのつくり方」 のつくり方
「Webサービスのつくり方」 のつくり方Yusuke Wada
 
プログラミングに恋する方法
プログラミングに恋する方法プログラミングに恋する方法
プログラミングに恋する方法Reimi Kuramochi Chiba
 
アプリエンジニアからクラウド専用のインフラエンジニアになってみて
アプリエンジニアからクラウド専用のインフラエンジニアになってみてアプリエンジニアからクラウド専用のインフラエンジニアになってみて
アプリエンジニアからクラウド専用のインフラエンジニアになってみてSato Shun
 
Javascript を使ってみよう!!
Javascript を使ってみよう!!Javascript を使ってみよう!!
Javascript を使ってみよう!!誠 小林
 
PHP+MySQLを使ったスケーラブルなソーシャルゲーム開発
PHP+MySQLを使ったスケーラブルなソーシャルゲーム開発PHP+MySQLを使ったスケーラブルなソーシャルゲーム開発
PHP+MySQLを使ったスケーラブルなソーシャルゲーム開発infinite_loop
 
脆弱性診断業務
脆弱性診断業務脆弱性診断業務
脆弱性診断業務csirtlabohal
 
知っておきたい「Web制作イマドキの注目ポイント」
知っておきたい「Web制作イマドキの注目ポイント」知っておきたい「Web制作イマドキの注目ポイント」
知っておきたい「Web制作イマドキの注目ポイント」Mori Kazue
 
WebAssemblyの紹介
WebAssemblyの紹介WebAssemblyの紹介
WebAssemblyの紹介mizdra
 
Visual Studio 2017 事はじめ
Visual Studio 2017 事はじめVisual Studio 2017 事はじめ
Visual Studio 2017 事はじめHideaki Aoyagi
 
プロトタイプ時代の
WordPressテーマの作り方・考え方
プロトタイプ時代の
WordPressテーマの作り方・考え方プロトタイプ時代の
WordPressテーマの作り方・考え方
プロトタイプ時代の
WordPressテーマの作り方・考え方kenji goto
 
VueとAWSAppSyncで始めるチャットアプリ開発
VueとAWSAppSyncで始めるチャットアプリ開発VueとAWSAppSyncで始めるチャットアプリ開発
VueとAWSAppSyncで始めるチャットアプリ開発Ryosuke Izumi
 
クラウドネイティブが行なういまどきWebサービス開発
クラウドネイティブが行なういまどきWebサービス開発クラウドネイティブが行なういまどきWebサービス開発
クラウドネイティブが行なういまどきWebサービス開発Yuuji Arakaki
 
Docker for connect cms
Docker for connect cmsDocker for connect cms
Docker for connect cmsTadashi Nagao
 
遅いクエリと向き合う仕組み #CybozuMeetup
遅いクエリと向き合う仕組み #CybozuMeetup遅いクエリと向き合う仕組み #CybozuMeetup
遅いクエリと向き合う仕組み #CybozuMeetupS Akai
 
Rubyで始めるWebスクレイピング
Rubyで始めるWebスクレイピングRubyで始めるWebスクレイピング
Rubyで始めるWebスクレイピングTakuro Sasaki
 
2016/12/17 ASP.NET フロントエンドタスク入門
 2016/12/17 ASP.NET フロントエンドタスク入門 2016/12/17 ASP.NET フロントエンドタスク入門
2016/12/17 ASP.NET フロントエンドタスク入門miso- soup3
 

Similar to Web Assembly in action (20)

Androidの忌しきStackOverFlowをどうにかする
Androidの忌しきStackOverFlowをどうにかするAndroidの忌しきStackOverFlowをどうにかする
Androidの忌しきStackOverFlowをどうにかする
 
Slack Appsでやれる事を確認した。年内日本語化されるんで、急ぎで!
Slack Appsでやれる事を確認した。年内日本語化されるんで、急ぎで!Slack Appsでやれる事を確認した。年内日本語化されるんで、急ぎで!
Slack Appsでやれる事を確認した。年内日本語化されるんで、急ぎで!
 
JavaScript(AngularJS)で作る iOS・Androidアプリ開発ハンズオン
JavaScript(AngularJS)で作る iOS・Androidアプリ開発ハンズオンJavaScript(AngularJS)で作る iOS・Androidアプリ開発ハンズオン
JavaScript(AngularJS)で作る iOS・Androidアプリ開発ハンズオン
 
PWAを使ってWebXRコンテンツをオフラインで動くようにする手順について
PWAを使ってWebXRコンテンツをオフラインで動くようにする手順についてPWAを使ってWebXRコンテンツをオフラインで動くようにする手順について
PWAを使ってWebXRコンテンツをオフラインで動くようにする手順について
 
「Webサービスのつくり方」 のつくり方
「Webサービスのつくり方」 のつくり方「Webサービスのつくり方」 のつくり方
「Webサービスのつくり方」 のつくり方
 
プログラミングに恋する方法
プログラミングに恋する方法プログラミングに恋する方法
プログラミングに恋する方法
 
アプリエンジニアからクラウド専用のインフラエンジニアになってみて
アプリエンジニアからクラウド専用のインフラエンジニアになってみてアプリエンジニアからクラウド専用のインフラエンジニアになってみて
アプリエンジニアからクラウド専用のインフラエンジニアになってみて
 
Javascript を使ってみよう!!
Javascript を使ってみよう!!Javascript を使ってみよう!!
Javascript を使ってみよう!!
 
PHP+MySQLを使ったスケーラブルなソーシャルゲーム開発
PHP+MySQLを使ったスケーラブルなソーシャルゲーム開発PHP+MySQLを使ったスケーラブルなソーシャルゲーム開発
PHP+MySQLを使ったスケーラブルなソーシャルゲーム開発
 
脆弱性診断業務
脆弱性診断業務脆弱性診断業務
脆弱性診断業務
 
知っておきたい「Web制作イマドキの注目ポイント」
知っておきたい「Web制作イマドキの注目ポイント」知っておきたい「Web制作イマドキの注目ポイント」
知っておきたい「Web制作イマドキの注目ポイント」
 
WebAssemblyの紹介
WebAssemblyの紹介WebAssemblyの紹介
WebAssemblyの紹介
 
Visual Studio 2017 事はじめ
Visual Studio 2017 事はじめVisual Studio 2017 事はじめ
Visual Studio 2017 事はじめ
 
プロトタイプ時代の
WordPressテーマの作り方・考え方
プロトタイプ時代の
WordPressテーマの作り方・考え方プロトタイプ時代の
WordPressテーマの作り方・考え方
プロトタイプ時代の
WordPressテーマの作り方・考え方
 
VueとAWSAppSyncで始めるチャットアプリ開発
VueとAWSAppSyncで始めるチャットアプリ開発VueとAWSAppSyncで始めるチャットアプリ開発
VueとAWSAppSyncで始めるチャットアプリ開発
 
クラウドネイティブが行なういまどきWebサービス開発
クラウドネイティブが行なういまどきWebサービス開発クラウドネイティブが行なういまどきWebサービス開発
クラウドネイティブが行なういまどきWebサービス開発
 
Docker for connect cms
Docker for connect cmsDocker for connect cms
Docker for connect cms
 
遅いクエリと向き合う仕組み #CybozuMeetup
遅いクエリと向き合う仕組み #CybozuMeetup遅いクエリと向き合う仕組み #CybozuMeetup
遅いクエリと向き合う仕組み #CybozuMeetup
 
Rubyで始めるWebスクレイピング
Rubyで始めるWebスクレイピングRubyで始めるWebスクレイピング
Rubyで始めるWebスクレイピング
 
2016/12/17 ASP.NET フロントエンドタスク入門
 2016/12/17 ASP.NET フロントエンドタスク入門 2016/12/17 ASP.NET フロントエンドタスク入門
2016/12/17 ASP.NET フロントエンドタスク入門
 

Recently uploaded

自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 

Recently uploaded (8)

自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 

Web Assembly in action