SlideShare a Scribd company logo
1 of 34
JSX 速さの秘密
〜高速なJavaScriptを書く方法〜
DeNA Co., Ltd.
Kazuho Oku

1
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
JSXをご存知ですか?
 Javaっぽいプログラミング言語です
 JavaScriptにコンパイルされます
 JavaScriptよりJSXで書いたほうが高速に動作します

JSX 速さの秘密 - 高速なJavaScriptを書く方法

2
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
Q. 高速な JavaScript を書く方法を教えてください

JSX 速さの秘密 - 高速なJavaScriptを書く方法

3
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
A. JSX を使いましょう

JSX 速さの秘密 - 高速なJavaScriptを書く方法

4
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
…

JSX 速さの秘密 - 高速なJavaScriptを書く方法

5
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
これだけでは芸がないので、JSX が行っている様々な
JavaScript 最適化技法を紹介します。

JSX 速さの秘密 - 高速なJavaScriptを書く方法

6
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
※これから説明することは、JSXを使って
いれば気にする必要のないことです
(自動で最適化されますから)

JSX 速さの秘密 - 高速なJavaScriptを書く方法

7
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
目次
 高速なJavaScriptを書くための3原則
 更なる高速化のために 〜 JSXの最適化コンパイラの仕
事

JSX 速さの秘密 - 高速なJavaScriptを書く方法

8
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
高速なJavaScriptを書くための3原則

JSX 速さの秘密 - 高速なJavaScriptを書く方法

9
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
高速なJavaScriptを書くための3原則
 オブジェクトを避ける
⁃ 例: arguments を使わない
 Hidden Classを意識したコードを書く

⁃ Inline Cache / 配列の要素の型
 組み込み関数が速いとは限らない
⁃ 遅くなることがある
•

例: Function#apply, Array#forEach

JSX 速さの秘密 - 高速なJavaScriptを書く方法

10
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
オブジェクト生成を最小限に
 オブジェクト生成を避ける理由
⁃ メモリ確保に時間がかかる
⁃ GCの原因になる

 オブジェクトが生成されるパターン
⁃ new, {...}, [...]
⁃ arguments の使用
•

使った瞬間にオブジェクトが生成されます

 オブジェクトが生成されそうで、されないパターン
⁃ ”abc”.foo()
•

foo 内での this は string? (ES5以降)

JSX 速さの秘密 - 高速なJavaScriptを書く方法

11
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
Unboxing in JSX
 オブジェクトへのアクセスを、複数のローカル変数への
アクセスに変換する最適化
 最適化前:
var pt = new Point(x, y);
…

 最適化後:
var pt$x = x;
var pt$y = y;
…

 注意点:
⁃ オブジェクトを return したり他クラスのオブジェ
クトのプロパティにセットしている場合は使えない
JSX 速さの秘密 - 高速なJavaScriptを書く方法

12
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
プロパティアクセスを最小限に
 プロパティアクセス=オブジェクトの要素へのアクセス
⁃ 変数の要素へのアクセスなので、変数へのアクセス
より遅い

 最適化前:
Foo.bar
foo.func()

 最適化後:
Foo$bar

// プロパティアクセス → 変数アクセス

Foo$func(foo) // メソッド呼出 → 関数呼出
// (呼び出されるメソッドも変換)

JSX 速さの秘密 - 高速なJavaScriptを書く方法

13
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
newの呼出を避ける
 new Type(...) より { ... } の方が高速
⁃ Safari で有効な最適化。V8 だと遅くなる
 最適化前:
var pt = new Point(x, y);

 最適化後:
var pt = { x: x, y: y };

 注意点:
⁃ メソッド呼出や instanceof が不可能になる
•

メソッド呼出については、全頁のメソッドから関数への
変換を適用

JSX 速さの秘密 - 高速なJavaScriptを書く方法

14
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
argumentsを使わない
 遅いJavaScriptの例:
Point.prototype.set = function (a1, a2) {
if (arguments.length == 1) {
this.x = a1.x;

this.y = a1.y;
} else {
this.x = a1;
this.y = a2;
}
};

 高速に書くには、Point型を引数にとる setByPoint メ
ソッドと、座標の組を引数にとる setByXY メソッドを
別個に用意すべき
JSX 速さの秘密 - 高速なJavaScriptを書く方法

15
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
argumentsを使わない – JSXの場合
 そもそも arguments がない
 関数のオーバーロードが可能
⁃ コンパイル時に別名になる
// コンパイル後の名前: set$Lpoint
function set(pt : Point) : void {
this.x = pt.x;
this.y = pt.y;

}
// コンパイル後の名前: set$NN
function set(x : number, y : number) : void {
this.x = x;
this.y = y;
}

JSX 速さの秘密 - 高速なJavaScriptを書く方法

16
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
コンストラクタのオーバーロード
 通常の関数は名前を変えることでオーバーロード可能
 Q. コンストラクタの場合、どうするか?
 A. こんなコードを書く (JSXの内部実装より抜粋)
function $__jsx_extend(derivations, base) {
var ctor = function () {};
ctor.prototype = base.prototype;
var proto = new ctor();
for (var i in derivations)
derivations[i].prototype = proto;
}
function Point1(pt) { this.x = pt.x; this.y = pt.y; }
function Point2(x, y) { this.x = x; this.y = y; }
// new Point1 しても new Point2 しても同じ型のオブジェクトが生成するおまじない
$__jsx_extend([ Point1, Point2 ], Object);

JSX 速さの秘密 - 高速なJavaScriptを書く方法

17
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
Hidden Classを意識したコードを書く

http://v8-io12.appspot.com/

JSX 速さの秘密 - 高速なJavaScriptを書く方法

18
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
Hidden Classを意識したコードを書く (2)
 プロパティのセット順を一意に
⁃ JSXではプロパティ初期化時は条件分岐不可能
•

→ セット順が一意になる

•

Java と同様

 配列の要素型を一定に
⁃ JSXでは要素型毎に配列型を用意
•

number[], string[], Object[], Point[], …

 配列の要素をdeleteしない
⁃ JSXでは禁止
•

nullを代入することで対処(こちらのほうが高速)

JSX 速さの秘密 - 高速なJavaScriptを書く方法

19
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
Hidden Classを意識したコードを書く (3)
 未初期化の要素にアクセスしない
⁃ JSXでは未初期化の要素にアクセスするとエラー
•

注: デバッグビルドのみ
⁃ リリースビルドではエラーチェック省略

 Polymorphicなコードを書かない
⁃ JSXではpolymorphicなコードは書けない
•

クラスベースの型指定が「必須」な処理系だから

•

テンプレートを使った場合は、引数の型ごとに個別にコ
ード生成

JSX 速さの秘密 - 高速なJavaScriptを書く方法

20
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
組み込み関数が速いとは限らない
 JavaScript VMの仕事
⁃ JavaScriptを機械語にJust-In-Time compile
•

使われるテクニック:
⁃ Inline Caching
⁃ インライン展開

 JavaScriptからC++コードを呼ぶのは遅い(逆も同様)

⁃ C++側で様々なチェックが必要
•

引数の数や型の確認等

•

言語をまたいだInline Cachingやインライン展開は無理

⁃ C++コードは静的にコンパイルされているため

JSX 速さの秘密 - 高速なJavaScriptを書く方法

21
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
組み込み関数が速いとは限らない (2)
 汎用的なAPIとして定義されているため遅いケースも
⁃ 数十倍遅いケースも
 避けるべき組み込み関数の代表例:

⁃ Function.prototype.call
⁃ Function.prototype.apply
⁃ Function.prototype.bind

⁃ Array.prototype.forEach
 ベンチマーク:

⁃ http://jsperf.com/f-p-bind-vs-closure
⁃ http://d.hatena.ne.jp/kazuhooku/20120612/133948
9758
JSX 速さの秘密 - 高速なJavaScriptを書く方法

22
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
組み込み関数が速いとは限らない (3)
 JSXの場合:
⁃ Function.prototype 系は存在しない
⁃ クロージャがthisを引き継げるような言語仕様
•

→ bindの必要性が低い

•

JSXのソースコード:
var f = function () : void {
this.n++;
};

•

コンパイル結果 (JavaScript):
var $this = this;

var f = function (){
$this.n++;
};

JSX 速さの秘密 - 高速なJavaScriptを書く方法

23
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
組み込み関数が速いとは限らない (4)
 JSXの場合:
⁃ Array#forEachは独自に実装
⁃ 言語仕様が硬い分、JavaScriptよりも処理が単純に

⁃ 参照:
http://d.hatena.ne.jp/kazuhooku/20120612/133948
9758

JSX 速さの秘密 - 高速なJavaScriptを書く方法

24
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
更なる高速化のために 〜 JSXの最適化コンパイラの仕事

JSX 速さの秘密 - 高速なJavaScriptを書く方法

25
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
インライン展開
 JavaScript VMは、インライン展開を行う
⁃ だが、最速ではない
•

理由: 毎回、呼び出される関数が差し替えられていない
か確認する必要があるため

⁃ JSXの場合:
•

コンパイル後に関数の差し替え不可能

•

最適化コンパイル時に、あらかじめインライン展開され
たJavaScriptを生成
⁃ → JavaScript VMによるインライン展開より高速
⁃ → 他の最適化も適用可能に

JSX 速さの秘密 - 高速なJavaScriptを書く方法

26
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
事前計算
 定数畳み込み
⁃ JSXのソースコード:
const name = ”John”;
…
console.log(”Hello, ” + N);

⁃ コンパイル結果 (JavaScript):
console.log(”Hello, John”);

JSX 速さの秘密 - 高速なJavaScriptを書く方法

27
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
事前計算 (その2)
 Dead-code Elimination
⁃ JSXのソースコード:
const DEBUG = 0;
…
if (DEBUG) console.log(”in debug mode”);

⁃ コンパイル結果 (JavaScript):
// からっぽ

JSX 速さの秘密 - 高速なJavaScriptを書く方法

28
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
LTO (リンク時最適化)
 以下のコードで、mの型は何?
function transform(m: Matrix, pt : Point) : Point {
return m.rotate(pt);
}

 mの型はMatrix型かもしれないし、Matrixの派生型かも
⁃ これでは、rotateの実装を特定できない
•

→ rotateをインライン展開できない

 そこでLTO!
⁃ LTO: プログラムが使用する全てのコードに関する情
報を使って(つまり、リンク時に)最適化
⁃ Matrixを継承した型がなければ、mの型はMatrix型

JSX 速さの秘密 - 高速なJavaScriptを書く方法

29
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
アフィン変換 (クラス定義)
class Matrix {

var m11 : number; var m21 : number; var m31 : number;
var m12 : number; var m22 : number; var m32 : number;
...
function transform(pt : Point): Point {

return new Point(
this.m11 * pt.x + this.m21 * pt.y + this.m31,
this.m12 * pt.x + this.m22 * pt.y + this.m32);
}

}
class Point {
var x : number; var y : number;
function constructor(x : number, y : number) {

this.x = x;
this.y = y;
}
...
JSX 速さの秘密 - 高速なJavaScriptを書く方法

30
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
アフィン変換 (コンパイル例)
 JSXのソースコード:
var pt = new Matrix(1, 0, 0, 0, 2, 0).transform(new Point(x, y));
x = pt.x;
y = pt.y;

 最適化コンパイル後 (JavaScript):
var pt$x = x + 0 * y;
y = 0 * x + 2 * y;
x = pt$x;

 適用された最適化手法:
⁃ LTO (transformの実装を確定)
⁃ インライン展開
⁃ Unboxing
⁃ 定数畳み込みとDCE
JSX 速さの秘密 - 高速なJavaScriptを書く方法

31
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
まとめ

JSX 速さの秘密 - 高速なJavaScriptを書く方法

32
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
高速なJavaScriptを書ける自信はありますか?
 JavaScriptには速度が遅くなる罠が色々
⁃ 速くできるところが速くなった結果、罠に落ちた時
の速度の落ち込みが大きくなった

 モジュールをまたぐ最適化で高速になるケースも
⁃ 例: アフィン変換
 高速かつメンテナンスが容易なJavaScriptコードを書く
のは難しすぎる
⁃ グループ開発では教育コストが大きくなりすぎる
⁃ 問題が顕在化してから対処するのでは間に合わない

JSX 速さの秘密 - 高速なJavaScriptを書く方法

33
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.
JSXを使えば問題解決するよ!!!

JSX 速さの秘密 - 高速なJavaScriptを書く方法

34
Copyright (C) 2013 DeNA Co.,Ltd. All Rights Reserved.

More Related Content

What's hot

Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編Masahito Zembutsu
 
イミュータブルデータモデル(入門編)
イミュータブルデータモデル(入門編)イミュータブルデータモデル(入門編)
イミュータブルデータモデル(入門編)Yoshitaka Kawashima
 
SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021Hiroshi Tokumaru
 
Swagger ではない OpenAPI Specification 3.0 による API サーバー開発
Swagger ではない OpenAPI Specification 3.0 による API サーバー開発Swagger ではない OpenAPI Specification 3.0 による API サーバー開発
Swagger ではない OpenAPI Specification 3.0 による API サーバー開発Yahoo!デベロッパーネットワーク
 
ML system design_pattern
ML system design_patternML system design_pattern
ML system design_patternyusuke shibui
 
関数プログラミング入門
関数プログラミング入門関数プログラミング入門
関数プログラミング入門Hideyuki Tanaka
 
ユーザーストーリー駆動開発で行こう。
ユーザーストーリー駆動開発で行こう。ユーザーストーリー駆動開発で行こう。
ユーザーストーリー駆動開発で行こう。toshihiro ichitani
 
こわくない Git
こわくない Gitこわくない Git
こわくない GitKota Saito
 
やはりお前らのMVCは間違っている
やはりお前らのMVCは間違っているやはりお前らのMVCは間違っている
やはりお前らのMVCは間違っているKoichi Tanaka
 
オブジェクト指向の設計と実装の学び方のコツ
オブジェクト指向の設計と実装の学び方のコツオブジェクト指向の設計と実装の学び方のコツ
オブジェクト指向の設計と実装の学び方のコツ増田 亨
 
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)Takuto Wada
 
ワタシはSingletonがキライだ
ワタシはSingletonがキライだワタシはSingletonがキライだ
ワタシはSingletonがキライだTetsuya Kaneuchi
 
充足可能性問題のいろいろ
充足可能性問題のいろいろ充足可能性問題のいろいろ
充足可能性問題のいろいろHiroshi Yamashita
 
たのしい高階関数
たのしい高階関数たのしい高階関数
たのしい高階関数Shinichi Kozake
 
【DL輪読会】SimCSE: Simple Contrastive Learning of Sentence Embeddings (EMNLP 2021)
【DL輪読会】SimCSE: Simple Contrastive Learning of Sentence Embeddings  (EMNLP 2021)【DL輪読会】SimCSE: Simple Contrastive Learning of Sentence Embeddings  (EMNLP 2021)
【DL輪読会】SimCSE: Simple Contrastive Learning of Sentence Embeddings (EMNLP 2021)Deep Learning JP
 
初心者向けWebinar AWSで開発環境を構築しよう
初心者向けWebinar AWSで開発環境を構築しよう初心者向けWebinar AWSで開発環境を構築しよう
初心者向けWebinar AWSで開発環境を構築しようAmazon Web Services Japan
 
ドメイン駆動設計のためのオブジェクト指向入門
ドメイン駆動設計のためのオブジェクト指向入門ドメイン駆動設計のためのオブジェクト指向入門
ドメイン駆動設計のためのオブジェクト指向入門増田 亨
 

What's hot (20)

Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編
 
イミュータブルデータモデル(入門編)
イミュータブルデータモデル(入門編)イミュータブルデータモデル(入門編)
イミュータブルデータモデル(入門編)
 
SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021
 
Swagger ではない OpenAPI Specification 3.0 による API サーバー開発
Swagger ではない OpenAPI Specification 3.0 による API サーバー開発Swagger ではない OpenAPI Specification 3.0 による API サーバー開発
Swagger ではない OpenAPI Specification 3.0 による API サーバー開発
 
ML system design_pattern
ML system design_patternML system design_pattern
ML system design_pattern
 
関数プログラミング入門
関数プログラミング入門関数プログラミング入門
関数プログラミング入門
 
ユーザーストーリー駆動開発で行こう。
ユーザーストーリー駆動開発で行こう。ユーザーストーリー駆動開発で行こう。
ユーザーストーリー駆動開発で行こう。
 
こわくない Git
こわくない Gitこわくない Git
こわくない Git
 
C++ マルチスレッド 入門
C++ マルチスレッド 入門C++ マルチスレッド 入門
C++ マルチスレッド 入門
 
やはりお前らのMVCは間違っている
やはりお前らのMVCは間違っているやはりお前らのMVCは間違っている
やはりお前らのMVCは間違っている
 
オブジェクト指向の設計と実装の学び方のコツ
オブジェクト指向の設計と実装の学び方のコツオブジェクト指向の設計と実装の学び方のコツ
オブジェクト指向の設計と実装の学び方のコツ
 
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
 
Kotlinアンチパターン
KotlinアンチパターンKotlinアンチパターン
Kotlinアンチパターン
 
ワタシはSingletonがキライだ
ワタシはSingletonがキライだワタシはSingletonがキライだ
ワタシはSingletonがキライだ
 
充足可能性問題のいろいろ
充足可能性問題のいろいろ充足可能性問題のいろいろ
充足可能性問題のいろいろ
 
たのしい高階関数
たのしい高階関数たのしい高階関数
たのしい高階関数
 
TVM の紹介
TVM の紹介TVM の紹介
TVM の紹介
 
【DL輪読会】SimCSE: Simple Contrastive Learning of Sentence Embeddings (EMNLP 2021)
【DL輪読会】SimCSE: Simple Contrastive Learning of Sentence Embeddings  (EMNLP 2021)【DL輪読会】SimCSE: Simple Contrastive Learning of Sentence Embeddings  (EMNLP 2021)
【DL輪読会】SimCSE: Simple Contrastive Learning of Sentence Embeddings (EMNLP 2021)
 
初心者向けWebinar AWSで開発環境を構築しよう
初心者向けWebinar AWSで開発環境を構築しよう初心者向けWebinar AWSで開発環境を構築しよう
初心者向けWebinar AWSで開発環境を構築しよう
 
ドメイン駆動設計のためのオブジェクト指向入門
ドメイン駆動設計のためのオブジェクト指向入門ドメイン駆動設計のためのオブジェクト指向入門
ドメイン駆動設計のためのオブジェクト指向入門
 

Viewers also liked

HTTP/2の課題と将来
HTTP/2の課題と将来HTTP/2の課題と将来
HTTP/2の課題と将来Kazuho Oku
 
Reorganizing Website Architecture for HTTP/2 and Beyond
Reorganizing Website Architecture for HTTP/2 and BeyondReorganizing Website Architecture for HTTP/2 and Beyond
Reorganizing Website Architecture for HTTP/2 and BeyondKazuho Oku
 
H2O - making HTTP better
H2O - making HTTP betterH2O - making HTTP better
H2O - making HTTP betterKazuho Oku
 
Developing the fastest HTTP/2 server
Developing the fastest HTTP/2 serverDeveloping the fastest HTTP/2 server
Developing the fastest HTTP/2 serverKazuho Oku
 
H2O - the optimized HTTP server
H2O - the optimized HTTP serverH2O - the optimized HTTP server
H2O - the optimized HTTP serverKazuho Oku
 
Unix Programming with Perl
Unix Programming with PerlUnix Programming with Perl
Unix Programming with PerlKazuho Oku
 
HTTPとサーバ技術の最新動向
HTTPとサーバ技術の最新動向HTTPとサーバ技術の最新動向
HTTPとサーバ技術の最新動向Kazuho Oku
 
illumos day 2014 SMB2
illumos day 2014 SMB2illumos day 2014 SMB2
illumos day 2014 SMB2gordonross
 
Mobile deviceperfoptimization jtpa_release
Mobile deviceperfoptimization jtpa_releaseMobile deviceperfoptimization jtpa_release
Mobile deviceperfoptimization jtpa_releaseHakuro Matsuda
 
最強オブジェクト指向言語 JavaScript 再入門!
最強オブジェクト指向言語 JavaScript 再入門!最強オブジェクト指向言語 JavaScript 再入門!
最強オブジェクト指向言語 JavaScript 再入門!Yuji Nojima
 
MHA for MySQLとDeNAのオープンソースの話
MHA for MySQLとDeNAのオープンソースの話MHA for MySQLとDeNAのオープンソースの話
MHA for MySQLとDeNAのオープンソースの話Yoshinori Matsunobu
 
Story Telling By Eddie Choi
Story Telling By Eddie ChoiStory Telling By Eddie Choi
Story Telling By Eddie ChoiEddie Choi
 
Phoenix Habitat For Humanity Leed Presentation
Phoenix   Habitat For Humanity Leed  PresentationPhoenix   Habitat For Humanity Leed  Presentation
Phoenix Habitat For Humanity Leed PresentationICF_HCD
 
Raccoon by Charles
Raccoon by CharlesRaccoon by Charles
Raccoon by Charlesvebrya
 
Unmanned Eyes In The Commercial Skies Presentation
Unmanned Eyes In The Commercial Skies PresentationUnmanned Eyes In The Commercial Skies Presentation
Unmanned Eyes In The Commercial Skies Presentationmseraj
 
How Stupid Can We Get
How Stupid Can We GetHow Stupid Can We Get
How Stupid Can We Getguest7cdf23
 
Persuasion Engineering - Training handout المادة التدريبية لدورة هندسة الإقناع
Persuasion Engineering - Training handout المادة التدريبية لدورة هندسة الإقناعPersuasion Engineering - Training handout المادة التدريبية لدورة هندسة الإقناع
Persuasion Engineering - Training handout المادة التدريبية لدورة هندسة الإقناعHani Al-Menaii
 
Language learning and teaching through social media
Language learning and teaching through social mediaLanguage learning and teaching through social media
Language learning and teaching through social mediaLis Parcell
 

Viewers also liked (20)

HTTP/2の課題と将来
HTTP/2の課題と将来HTTP/2の課題と将来
HTTP/2の課題と将来
 
Reorganizing Website Architecture for HTTP/2 and Beyond
Reorganizing Website Architecture for HTTP/2 and BeyondReorganizing Website Architecture for HTTP/2 and Beyond
Reorganizing Website Architecture for HTTP/2 and Beyond
 
H2O - making HTTP better
H2O - making HTTP betterH2O - making HTTP better
H2O - making HTTP better
 
Developing the fastest HTTP/2 server
Developing the fastest HTTP/2 serverDeveloping the fastest HTTP/2 server
Developing the fastest HTTP/2 server
 
H2O - the optimized HTTP server
H2O - the optimized HTTP serverH2O - the optimized HTTP server
H2O - the optimized HTTP server
 
Unix Programming with Perl
Unix Programming with PerlUnix Programming with Perl
Unix Programming with Perl
 
HTTPとサーバ技術の最新動向
HTTPとサーバ技術の最新動向HTTPとサーバ技術の最新動向
HTTPとサーバ技術の最新動向
 
illumos day 2014 SMB2
illumos day 2014 SMB2illumos day 2014 SMB2
illumos day 2014 SMB2
 
Mobile deviceperfoptimization jtpa_release
Mobile deviceperfoptimization jtpa_releaseMobile deviceperfoptimization jtpa_release
Mobile deviceperfoptimization jtpa_release
 
最強オブジェクト指向言語 JavaScript 再入門!
最強オブジェクト指向言語 JavaScript 再入門!最強オブジェクト指向言語 JavaScript 再入門!
最強オブジェクト指向言語 JavaScript 再入門!
 
MHA for MySQLとDeNAのオープンソースの話
MHA for MySQLとDeNAのオープンソースの話MHA for MySQLとDeNAのオープンソースの話
MHA for MySQLとDeNAのオープンソースの話
 
Story Telling By Eddie Choi
Story Telling By Eddie ChoiStory Telling By Eddie Choi
Story Telling By Eddie Choi
 
Phoenix Habitat For Humanity Leed Presentation
Phoenix   Habitat For Humanity Leed  PresentationPhoenix   Habitat For Humanity Leed  Presentation
Phoenix Habitat For Humanity Leed Presentation
 
Raccoon by Charles
Raccoon by CharlesRaccoon by Charles
Raccoon by Charles
 
Unmanned Eyes In The Commercial Skies Presentation
Unmanned Eyes In The Commercial Skies PresentationUnmanned Eyes In The Commercial Skies Presentation
Unmanned Eyes In The Commercial Skies Presentation
 
How Stupid Can We Get
How Stupid Can We GetHow Stupid Can We Get
How Stupid Can We Get
 
Not A Spy
Not A SpyNot A Spy
Not A Spy
 
Persuasion Engineering - Training handout المادة التدريبية لدورة هندسة الإقناع
Persuasion Engineering - Training handout المادة التدريبية لدورة هندسة الإقناعPersuasion Engineering - Training handout المادة التدريبية لدورة هندسة الإقناع
Persuasion Engineering - Training handout المادة التدريبية لدورة هندسة الإقناع
 
M02 un05 p01
M02 un05 p01M02 un05 p01
M02 un05 p01
 
Language learning and teaching through social media
Language learning and teaching through social mediaLanguage learning and teaching through social media
Language learning and teaching through social media
 

Similar to JSX 速さの秘密 - 高速なJavaScriptを書く方法

大規模なギョームシステムにHaxeを採用してみた話
大規模なギョームシステムにHaxeを採用してみた話大規模なギョームシステムにHaxeを採用してみた話
大規模なギョームシステムにHaxeを採用してみた話terurou
 
Java8から17へ
Java8から17へJava8から17へ
Java8から17へonozaty
 
JSX の現在と未来 - Oct 26 2013
JSX の現在と未来 - Oct 26 2013JSX の現在と未来 - Oct 26 2013
JSX の現在と未来 - Oct 26 2013Kazuho Oku
 
第3回 JavaScriptから始めるプログラミング2016
第3回 JavaScriptから始めるプログラミング2016第3回 JavaScriptから始めるプログラミング2016
第3回 JavaScriptから始めるプログラミング2016kyoto university
 
TypeScript0.9
TypeScript0.9TypeScript0.9
TypeScript0.9ukayare
 
とあるFlashの自動生成
とあるFlashの自動生成とあるFlashの自動生成
とあるFlashの自動生成Akineko Shimizu
 
Visual Studio 2012 Web 開発 ~ One ASP.NET から TypeScript まで ~
Visual Studio 2012 Web 開発 ~ One ASP.NET から TypeScript まで ~Visual Studio 2012 Web 開発 ~ One ASP.NET から TypeScript まで ~
Visual Studio 2012 Web 開発 ~ One ASP.NET から TypeScript まで ~Akira Inoue
 
2008-07-12 / WCAN 2008 Summer Ligntning Talks #2
2008-07-12 / WCAN 2008 Summer Ligntning Talks #22008-07-12 / WCAN 2008 Summer Ligntning Talks #2
2008-07-12 / WCAN 2008 Summer Ligntning Talks #2IWATA Susumu
 
TypeScript ファーストステップ (Rev.2) ~ Any browser. Any host. Any OS. Open Source. ~
TypeScript ファーストステップ (Rev.2) ~ Any browser. Any host. Any OS. Open Source. ~TypeScript ファーストステップ (Rev.2) ~ Any browser. Any host. Any OS. Open Source. ~
TypeScript ファーストステップ (Rev.2) ~ Any browser. Any host. Any OS. Open Source. ~Akira Inoue
 
JavaScriptCore.framework の普通な使い方 #cocoa_kansai
JavaScriptCore.framework の普通な使い方 #cocoa_kansaiJavaScriptCore.framework の普通な使い方 #cocoa_kansai
JavaScriptCore.framework の普通な使い方 #cocoa_kansaiTomohiro Kumagai
 
TypeScript ファーストステップ ~ Any browser. Any host. Any OS. Open Source. ~
TypeScript ファーストステップ ~ Any browser. Any host. Any OS. Open Source. ~TypeScript ファーストステップ ~ Any browser. Any host. Any OS. Open Source. ~
TypeScript ファーストステップ ~ Any browser. Any host. Any OS. Open Source. ~Akira Inoue
 
Start!! Ruby
Start!! RubyStart!! Ruby
Start!! Rubymitim
 
Javaで1から10まで書いた話(sanitized)
Javaで1から10まで書いた話(sanitized)Javaで1から10まで書いた話(sanitized)
Javaで1から10まで書いた話(sanitized)Tokuhiro Matsuno
 
Kink: invokedynamic on a prototype-based language
Kink: invokedynamic on a prototype-based languageKink: invokedynamic on a prototype-based language
Kink: invokedynamic on a prototype-based languageTaku Miyakawa
 
20180109 titech lecture_ishizaki_public
20180109 titech lecture_ishizaki_public20180109 titech lecture_ishizaki_public
20180109 titech lecture_ishizaki_publicKazuaki Ishizaki
 
TypeScript + Express
TypeScript + ExpressTypeScript + Express
TypeScript + Expresskamiyam .
 
サーバサイドエンジニアが 1年間まじめにSPAやってみた
サーバサイドエンジニアが 1年間まじめにSPAやってみたサーバサイドエンジニアが 1年間まじめにSPAやってみた
サーバサイドエンジニアが 1年間まじめにSPAやってみたItaru Kitagawa
 
ななめ45°から見たJavaOne
ななめ45°から見たJavaOneななめ45°から見たJavaOne
ななめ45°から見たJavaOneAdvancedTechNight
 

Similar to JSX 速さの秘密 - 高速なJavaScriptを書く方法 (20)

ATN No.2 Scala事始め
ATN No.2 Scala事始めATN No.2 Scala事始め
ATN No.2 Scala事始め
 
大規模なギョームシステムにHaxeを採用してみた話
大規模なギョームシステムにHaxeを採用してみた話大規模なギョームシステムにHaxeを採用してみた話
大規模なギョームシステムにHaxeを採用してみた話
 
Java8から17へ
Java8から17へJava8から17へ
Java8から17へ
 
JSX の現在と未来 - Oct 26 2013
JSX の現在と未来 - Oct 26 2013JSX の現在と未来 - Oct 26 2013
JSX の現在と未来 - Oct 26 2013
 
第3回 JavaScriptから始めるプログラミング2016
第3回 JavaScriptから始めるプログラミング2016第3回 JavaScriptから始めるプログラミング2016
第3回 JavaScriptから始めるプログラミング2016
 
TypeScript0.9
TypeScript0.9TypeScript0.9
TypeScript0.9
 
とあるFlashの自動生成
とあるFlashの自動生成とあるFlashの自動生成
とあるFlashの自動生成
 
Visual Studio 2012 Web 開発 ~ One ASP.NET から TypeScript まで ~
Visual Studio 2012 Web 開発 ~ One ASP.NET から TypeScript まで ~Visual Studio 2012 Web 開発 ~ One ASP.NET から TypeScript まで ~
Visual Studio 2012 Web 開発 ~ One ASP.NET から TypeScript まで ~
 
マーブル図で怖くないRxJS
マーブル図で怖くないRxJSマーブル図で怖くないRxJS
マーブル図で怖くないRxJS
 
2008-07-12 / WCAN 2008 Summer Ligntning Talks #2
2008-07-12 / WCAN 2008 Summer Ligntning Talks #22008-07-12 / WCAN 2008 Summer Ligntning Talks #2
2008-07-12 / WCAN 2008 Summer Ligntning Talks #2
 
TypeScript ファーストステップ (Rev.2) ~ Any browser. Any host. Any OS. Open Source. ~
TypeScript ファーストステップ (Rev.2) ~ Any browser. Any host. Any OS. Open Source. ~TypeScript ファーストステップ (Rev.2) ~ Any browser. Any host. Any OS. Open Source. ~
TypeScript ファーストステップ (Rev.2) ~ Any browser. Any host. Any OS. Open Source. ~
 
JavaScriptCore.framework の普通な使い方 #cocoa_kansai
JavaScriptCore.framework の普通な使い方 #cocoa_kansaiJavaScriptCore.framework の普通な使い方 #cocoa_kansai
JavaScriptCore.framework の普通な使い方 #cocoa_kansai
 
TypeScript ファーストステップ ~ Any browser. Any host. Any OS. Open Source. ~
TypeScript ファーストステップ ~ Any browser. Any host. Any OS. Open Source. ~TypeScript ファーストステップ ~ Any browser. Any host. Any OS. Open Source. ~
TypeScript ファーストステップ ~ Any browser. Any host. Any OS. Open Source. ~
 
Start!! Ruby
Start!! RubyStart!! Ruby
Start!! Ruby
 
Javaで1から10まで書いた話(sanitized)
Javaで1から10まで書いた話(sanitized)Javaで1から10まで書いた話(sanitized)
Javaで1から10まで書いた話(sanitized)
 
Kink: invokedynamic on a prototype-based language
Kink: invokedynamic on a prototype-based languageKink: invokedynamic on a prototype-based language
Kink: invokedynamic on a prototype-based language
 
20180109 titech lecture_ishizaki_public
20180109 titech lecture_ishizaki_public20180109 titech lecture_ishizaki_public
20180109 titech lecture_ishizaki_public
 
TypeScript + Express
TypeScript + ExpressTypeScript + Express
TypeScript + Express
 
サーバサイドエンジニアが 1年間まじめにSPAやってみた
サーバサイドエンジニアが 1年間まじめにSPAやってみたサーバサイドエンジニアが 1年間まじめにSPAやってみた
サーバサイドエンジニアが 1年間まじめにSPAやってみた
 
ななめ45°から見たJavaOne
ななめ45°から見たJavaOneななめ45°から見たJavaOne
ななめ45°から見たJavaOne
 

More from Kazuho Oku

HTTP/2で 速くなるとき ならないとき
HTTP/2で 速くなるとき ならないときHTTP/2で 速くなるとき ならないとき
HTTP/2で 速くなるとき ならないときKazuho Oku
 
QUIC標準化動向 〜2017/7
QUIC標準化動向 〜2017/7QUIC標準化動向 〜2017/7
QUIC標準化動向 〜2017/7Kazuho Oku
 
TLS 1.3 と 0-RTT のこわ〜い話
TLS 1.3 と 0-RTT のこわ〜い話TLS 1.3 と 0-RTT のこわ〜い話
TLS 1.3 と 0-RTT のこわ〜い話Kazuho Oku
 
Recent Advances in HTTP, controlling them using ruby
Recent Advances in HTTP, controlling them using rubyRecent Advances in HTTP, controlling them using ruby
Recent Advances in HTTP, controlling them using rubyKazuho Oku
 
Programming TCP for responsiveness
Programming TCP for responsivenessProgramming TCP for responsiveness
Programming TCP for responsivenessKazuho Oku
 
Programming TCP for responsiveness
Programming TCP for responsivenessProgramming TCP for responsiveness
Programming TCP for responsivenessKazuho Oku
 
TLS & LURK @ IETF 95
TLS & LURK @ IETF 95TLS & LURK @ IETF 95
TLS & LURK @ IETF 95Kazuho Oku
 
ウェブを速くするためにDeNAがやっていること - HTTP/2と、さらにその先
ウェブを速くするためにDeNAがやっていること - HTTP/2と、さらにその先ウェブを速くするためにDeNAがやっていること - HTTP/2と、さらにその先
ウェブを速くするためにDeNAがやっていること - HTTP/2と、さらにその先Kazuho Oku
 
Cache aware-server-push in H2O version 1.5
Cache aware-server-push in H2O version 1.5Cache aware-server-push in H2O version 1.5
Cache aware-server-push in H2O version 1.5Kazuho Oku
 
HTTP/2時代のウェブサイト設計
HTTP/2時代のウェブサイト設計HTTP/2時代のウェブサイト設計
HTTP/2時代のウェブサイト設計Kazuho Oku
 
H2O - making the Web faster
H2O - making the Web fasterH2O - making the Web faster
H2O - making the Web fasterKazuho Oku
 
JSON SQL Injection and the Lessons Learned
JSON SQL Injection and the Lessons LearnedJSON SQL Injection and the Lessons Learned
JSON SQL Injection and the Lessons LearnedKazuho Oku
 
Using the Power to Prove
Using the Power to ProveUsing the Power to Prove
Using the Power to ProveKazuho Oku
 
JSX - 公開から1年を迎えて
JSX - 公開から1年を迎えてJSX - 公開から1年を迎えて
JSX - 公開から1年を迎えてKazuho Oku
 
JSX - developing a statically-typed programming language for the Web
JSX - developing a statically-typed programming language for the WebJSX - developing a statically-typed programming language for the Web
JSX - developing a statically-typed programming language for the WebKazuho Oku
 
ウェブブラウザの時代は終わるのか 〜スマホアプリとHTML5の未来〜
ウェブブラウザの時代は終わるのか 〜スマホアプリとHTML5の未来〜ウェブブラウザの時代は終わるのか 〜スマホアプリとHTML5の未来〜
ウェブブラウザの時代は終わるのか 〜スマホアプリとHTML5の未来〜Kazuho Oku
 
JSX Design Overview (日本語)
JSX Design Overview (日本語)JSX Design Overview (日本語)
JSX Design Overview (日本語)Kazuho Oku
 

More from Kazuho Oku (20)

HTTP/2で 速くなるとき ならないとき
HTTP/2で 速くなるとき ならないときHTTP/2で 速くなるとき ならないとき
HTTP/2で 速くなるとき ならないとき
 
QUIC標準化動向 〜2017/7
QUIC標準化動向 〜2017/7QUIC標準化動向 〜2017/7
QUIC標準化動向 〜2017/7
 
TLS 1.3 と 0-RTT のこわ〜い話
TLS 1.3 と 0-RTT のこわ〜い話TLS 1.3 と 0-RTT のこわ〜い話
TLS 1.3 と 0-RTT のこわ〜い話
 
Recent Advances in HTTP, controlling them using ruby
Recent Advances in HTTP, controlling them using rubyRecent Advances in HTTP, controlling them using ruby
Recent Advances in HTTP, controlling them using ruby
 
Programming TCP for responsiveness
Programming TCP for responsivenessProgramming TCP for responsiveness
Programming TCP for responsiveness
 
Programming TCP for responsiveness
Programming TCP for responsivenessProgramming TCP for responsiveness
Programming TCP for responsiveness
 
TLS & LURK @ IETF 95
TLS & LURK @ IETF 95TLS & LURK @ IETF 95
TLS & LURK @ IETF 95
 
ウェブを速くするためにDeNAがやっていること - HTTP/2と、さらにその先
ウェブを速くするためにDeNAがやっていること - HTTP/2と、さらにその先ウェブを速くするためにDeNAがやっていること - HTTP/2と、さらにその先
ウェブを速くするためにDeNAがやっていること - HTTP/2と、さらにその先
 
Cache aware-server-push in H2O version 1.5
Cache aware-server-push in H2O version 1.5Cache aware-server-push in H2O version 1.5
Cache aware-server-push in H2O version 1.5
 
HTTP/2時代のウェブサイト設計
HTTP/2時代のウェブサイト設計HTTP/2時代のウェブサイト設計
HTTP/2時代のウェブサイト設計
 
H2O - making the Web faster
H2O - making the Web fasterH2O - making the Web faster
H2O - making the Web faster
 
JSON SQL Injection and the Lessons Learned
JSON SQL Injection and the Lessons LearnedJSON SQL Injection and the Lessons Learned
JSON SQL Injection and the Lessons Learned
 
Using the Power to Prove
Using the Power to ProveUsing the Power to Prove
Using the Power to Prove
 
JSX - 公開から1年を迎えて
JSX - 公開から1年を迎えてJSX - 公開から1年を迎えて
JSX - 公開から1年を迎えて
 
JSX - developing a statically-typed programming language for the Web
JSX - developing a statically-typed programming language for the WebJSX - developing a statically-typed programming language for the Web
JSX - developing a statically-typed programming language for the Web
 
ウェブブラウザの時代は終わるのか 〜スマホアプリとHTML5の未来〜
ウェブブラウザの時代は終わるのか 〜スマホアプリとHTML5の未来〜ウェブブラウザの時代は終わるのか 〜スマホアプリとHTML5の未来〜
ウェブブラウザの時代は終わるのか 〜スマホアプリとHTML5の未来〜
 
JSX
JSXJSX
JSX
 
JSX Optimizer
JSX OptimizerJSX Optimizer
JSX Optimizer
 
JSX Design Overview (日本語)
JSX Design Overview (日本語)JSX Design Overview (日本語)
JSX Design Overview (日本語)
 
JSX
JSXJSX
JSX
 

Recently uploaded

新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Hiroshi Tomioka
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Gamesatsushi061452
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...Toru Tamaki
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video UnderstandingToru Tamaki
 

Recently uploaded (11)

新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 

JSX 速さの秘密 - 高速なJavaScriptを書く方法