Submit Search
Upload
20160428 html5jwebplat
•
6 likes
•
3,578 views
Noritada Shimizu
Follow
JavaScript の関数プログラミング要素について解説してます。あとはパフォーマンスツールの例などもあります。
Read less
Read more
Technology
Report
Share
Report
Share
1 of 93
Download now
Download to read offline
Recommended
MP2011#01
MP2011#01
Noritada Shimizu
asm.js x emscripten: The foundation of the next level Web games
asm.js x emscripten: The foundation of the next level Web games
Noritada Shimizu
関数型プログラミング in javascript
関数型プログラミング in javascript
Ryuma Tsukano
20150512 webgl-off-the-main-thread
20150512 webgl-off-the-main-thread
Noritada Shimizu
20160803 devrel
20160803 devrel
Noritada Shimizu
20160601 devtools
20160601 devtools
Noritada Shimizu
20160713 webvr
20160713 webvr
Noritada Shimizu
Designing Teams for Emerging Challenges
Designing Teams for Emerging Challenges
Aaron Irizarry
Recommended
MP2011#01
MP2011#01
Noritada Shimizu
asm.js x emscripten: The foundation of the next level Web games
asm.js x emscripten: The foundation of the next level Web games
Noritada Shimizu
関数型プログラミング in javascript
関数型プログラミング in javascript
Ryuma Tsukano
20150512 webgl-off-the-main-thread
20150512 webgl-off-the-main-thread
Noritada Shimizu
20160803 devrel
20160803 devrel
Noritada Shimizu
20160601 devtools
20160601 devtools
Noritada Shimizu
20160713 webvr
20160713 webvr
Noritada Shimizu
Designing Teams for Emerging Challenges
Designing Teams for Emerging Challenges
Aaron Irizarry
Xcodeを便利に使って爆速開発する #yxcm
Xcodeを便利に使って爆速開発する #yxcm
Hiramatsu Ryosuke
複数言語に触れてIoTの表現の幅を広げよう
複数言語に触れてIoTの表現の幅を広げよう
Core Concept Technologies
LogicFlow 実践編~LogicFlowでいろいろつくってみた ~
LogicFlow 実践編~LogicFlowでいろいろつくってみた ~
典子 松本
クラウド利用も可能になって身近になった超高速リアルタイムEAI「Magic xpi」
クラウド利用も可能になって身近になった超高速リアルタイムEAI「Magic xpi」
Tsuyoshi Watanabe
メルカリ・ソウゾウでは どうGoを活用しているのか?
メルカリ・ソウゾウでは どうGoを活用しているのか?
Takuya Ueda
The evolution of c#
The evolution of c#
leverages_event
Retry monad for transient fault handling
Retry monad for transient fault handling
zecl1231
フロントエンドの技術を刷新した話し。
フロントエンドの技術を刷新した話し。
Yutaka Horikawa
HTML5スマートフォン業務アプリ開発セミナー(応用)テキストの抜粋
HTML5スマートフォン業務アプリ開発セミナー(応用)テキストの抜粋
Staffnet_Inc
初心者向けGo言語勉強会
初心者向けGo言語勉強会
leverages_event
Visual Studio による開発環境・プログラミングの進化
Visual Studio による開発環境・プログラミングの進化
Fujio Kojima
第13回 CreatorsMeetup 〜HTML5時代に必要なスキルと考え方〜
第13回 CreatorsMeetup 〜HTML5時代に必要なスキルと考え方〜
Daisuke Yamazaki
Devsumi 17 d-2
Devsumi 17 d-2
Daizen Ikehara
devsumi17 d-2
devsumi17 d-2
dikehara
C#でのクロスプラットフォーム モバイル開発環境 Xamarin のご紹介
C#でのクロスプラットフォーム モバイル開発環境 Xamarin のご紹介
Yoshito Tabuchi
Fxug
Fxug
satoshi
Mozilla とブラウザゲーム
Mozilla とブラウザゲーム
Noritada Shimizu
2016 gunma.web games-and-asm.js
2016 gunma.web games-and-asm.js
Noritada Shimizu
20151224-games
20151224-games
Noritada Shimizu
20151128 firefoxos-handson
20151128 firefoxos-handson
Noritada Shimizu
20151117 devtools
20151117 devtools
Noritada Shimizu
Inspection & Tweak: Firefox を使ったフロント開発
Inspection & Tweak: Firefox を使ったフロント開発
Noritada Shimizu
More Related Content
Similar to 20160428 html5jwebplat
Xcodeを便利に使って爆速開発する #yxcm
Xcodeを便利に使って爆速開発する #yxcm
Hiramatsu Ryosuke
複数言語に触れてIoTの表現の幅を広げよう
複数言語に触れてIoTの表現の幅を広げよう
Core Concept Technologies
LogicFlow 実践編~LogicFlowでいろいろつくってみた ~
LogicFlow 実践編~LogicFlowでいろいろつくってみた ~
典子 松本
クラウド利用も可能になって身近になった超高速リアルタイムEAI「Magic xpi」
クラウド利用も可能になって身近になった超高速リアルタイムEAI「Magic xpi」
Tsuyoshi Watanabe
メルカリ・ソウゾウでは どうGoを活用しているのか?
メルカリ・ソウゾウでは どうGoを活用しているのか?
Takuya Ueda
The evolution of c#
The evolution of c#
leverages_event
Retry monad for transient fault handling
Retry monad for transient fault handling
zecl1231
フロントエンドの技術を刷新した話し。
フロントエンドの技術を刷新した話し。
Yutaka Horikawa
HTML5スマートフォン業務アプリ開発セミナー(応用)テキストの抜粋
HTML5スマートフォン業務アプリ開発セミナー(応用)テキストの抜粋
Staffnet_Inc
初心者向けGo言語勉強会
初心者向けGo言語勉強会
leverages_event
Visual Studio による開発環境・プログラミングの進化
Visual Studio による開発環境・プログラミングの進化
Fujio Kojima
第13回 CreatorsMeetup 〜HTML5時代に必要なスキルと考え方〜
第13回 CreatorsMeetup 〜HTML5時代に必要なスキルと考え方〜
Daisuke Yamazaki
Devsumi 17 d-2
Devsumi 17 d-2
Daizen Ikehara
devsumi17 d-2
devsumi17 d-2
dikehara
C#でのクロスプラットフォーム モバイル開発環境 Xamarin のご紹介
C#でのクロスプラットフォーム モバイル開発環境 Xamarin のご紹介
Yoshito Tabuchi
Fxug
Fxug
satoshi
Similar to 20160428 html5jwebplat
(16)
Xcodeを便利に使って爆速開発する #yxcm
Xcodeを便利に使って爆速開発する #yxcm
複数言語に触れてIoTの表現の幅を広げよう
複数言語に触れてIoTの表現の幅を広げよう
LogicFlow 実践編~LogicFlowでいろいろつくってみた ~
LogicFlow 実践編~LogicFlowでいろいろつくってみた ~
クラウド利用も可能になって身近になった超高速リアルタイムEAI「Magic xpi」
クラウド利用も可能になって身近になった超高速リアルタイムEAI「Magic xpi」
メルカリ・ソウゾウでは どうGoを活用しているのか?
メルカリ・ソウゾウでは どうGoを活用しているのか?
The evolution of c#
The evolution of c#
Retry monad for transient fault handling
Retry monad for transient fault handling
フロントエンドの技術を刷新した話し。
フロントエンドの技術を刷新した話し。
HTML5スマートフォン業務アプリ開発セミナー(応用)テキストの抜粋
HTML5スマートフォン業務アプリ開発セミナー(応用)テキストの抜粋
初心者向けGo言語勉強会
初心者向けGo言語勉強会
Visual Studio による開発環境・プログラミングの進化
Visual Studio による開発環境・プログラミングの進化
第13回 CreatorsMeetup 〜HTML5時代に必要なスキルと考え方〜
第13回 CreatorsMeetup 〜HTML5時代に必要なスキルと考え方〜
Devsumi 17 d-2
Devsumi 17 d-2
devsumi17 d-2
devsumi17 d-2
C#でのクロスプラットフォーム モバイル開発環境 Xamarin のご紹介
C#でのクロスプラットフォーム モバイル開発環境 Xamarin のご紹介
Fxug
Fxug
More from Noritada Shimizu
Mozilla とブラウザゲーム
Mozilla とブラウザゲーム
Noritada Shimizu
2016 gunma.web games-and-asm.js
2016 gunma.web games-and-asm.js
Noritada Shimizu
20151224-games
20151224-games
Noritada Shimizu
20151128 firefoxos-handson
20151128 firefoxos-handson
Noritada Shimizu
20151117 devtools
20151117 devtools
Noritada Shimizu
Inspection & Tweak: Firefox を使ったフロント開発
Inspection & Tweak: Firefox を使ったフロント開発
Noritada Shimizu
20150822 osc-shimane
20150822 osc-shimane
Noritada Shimizu
20150829 firefox-os-handson
20150829 firefox-os-handson
Noritada Shimizu
20150829 firefox-os
20150829 firefox-os
Noritada Shimizu
20150727 Development tools for Firefox OS apps
20150727 Development tools for Firefox OS apps
Noritada Shimizu
Firefox OS でアプリを作るときに気をつけたい N 個のこと
Firefox OS でアプリを作るときに気をつけたい N 個のこと
Noritada Shimizu
Firefox OSアプリ開発ハンズオン(Hello World編)
Firefox OSアプリ開発ハンズオン(Hello World編)
Noritada Shimizu
WebVR(html5j TV部、WebVRとかVRのUIとか勉強会)
WebVR(html5j TV部、WebVRとかVRのUIとか勉強会)
Noritada Shimizu
Application submission, management and manetization in Firefox Marketplace
Application submission, management and manetization in Firefox Marketplace
Noritada Shimizu
つくろう!Firefox OS アプリ
つくろう!Firefox OS アプリ
Noritada Shimizu
20150118 firefoxos-handson-helloworld
20150118 firefoxos-handson-helloworld
Noritada Shimizu
20141115 fx os-codereading
20141115 fx os-codereading
Noritada Shimizu
20141030 html5j-firefox os-deviceapi
20141030 html5j-firefox os-deviceapi
Noritada Shimizu
20140830 firefox os-sampler
20140830 firefox os-sampler
Noritada Shimizu
20140801 webrtc on-firefox
20140801 webrtc on-firefox
Noritada Shimizu
More from Noritada Shimizu
(20)
Mozilla とブラウザゲーム
Mozilla とブラウザゲーム
2016 gunma.web games-and-asm.js
2016 gunma.web games-and-asm.js
20151224-games
20151224-games
20151128 firefoxos-handson
20151128 firefoxos-handson
20151117 devtools
20151117 devtools
Inspection & Tweak: Firefox を使ったフロント開発
Inspection & Tweak: Firefox を使ったフロント開発
20150822 osc-shimane
20150822 osc-shimane
20150829 firefox-os-handson
20150829 firefox-os-handson
20150829 firefox-os
20150829 firefox-os
20150727 Development tools for Firefox OS apps
20150727 Development tools for Firefox OS apps
Firefox OS でアプリを作るときに気をつけたい N 個のこと
Firefox OS でアプリを作るときに気をつけたい N 個のこと
Firefox OSアプリ開発ハンズオン(Hello World編)
Firefox OSアプリ開発ハンズオン(Hello World編)
WebVR(html5j TV部、WebVRとかVRのUIとか勉強会)
WebVR(html5j TV部、WebVRとかVRのUIとか勉強会)
Application submission, management and manetization in Firefox Marketplace
Application submission, management and manetization in Firefox Marketplace
つくろう!Firefox OS アプリ
つくろう!Firefox OS アプリ
20150118 firefoxos-handson-helloworld
20150118 firefoxos-handson-helloworld
20141115 fx os-codereading
20141115 fx os-codereading
20141030 html5j-firefox os-deviceapi
20141030 html5j-firefox os-deviceapi
20140830 firefox os-sampler
20140830 firefox os-sampler
20140801 webrtc on-firefox
20140801 webrtc on-firefox
Recently uploaded
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
Toru Tamaki
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
taisei2219
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
Toru Tamaki
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
sugiuralab
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
Hiroki Ichikura
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
Toru Tamaki
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
danielhu54
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Yuma Ohgami
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
Ryo Sasaki
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
iPride Co., Ltd.
Recently uploaded
(10)
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
20160428 html5jwebplat
1.
Y=f=>(x=>f(x(x)))(x=>f(x(x))) MozillaJapanテクニカルマーケティング 清水智公(nshimizu@mozilla-japan.org/@chikoski) html5jWebプラットフォーム部第12回勉強会Satisfunction(){...};
2.
Firefox for iOS FirefoxをiPhone、iPad、 そしてiPod
touchでも
3.
N.Shimizu • Mozilla Japan:
L10N / dev-rel in devtools and games • html5j Web プラットフォーム部、 Firefox OS、Firefox OS コードリーディング、 html5j ゲーム部 • @chikoski • プログラミング言語、圏論、分類、ベイジアン、サッカー
4.
データと操作
5.
数学的な関数:変数に依存して決まる値、もしくはその対応関係のこと
6.
7.
8.
得点 得点率 100点 満点 合格点 以上? 採点
9.
10.
11.
関数型言語の代表的特徴 JavaScript 第一級関数 ◯ 参照透過性
×(破壊的な操作が可能) 単一代入 △(constを利用すれば実現可能) 型による制約 ×(duck typing) 遅延評価 ×(常に正格な評価を行う) 直和型 ×
12.
関数定義
13.
function 文:名前付きの関数を定義する文
14.
function 式:無名関数を定義する式
15.
よく見る無名関数の利用例
16.
よく見る無名関数の利用例
17.
式: 評価すると値になるもの
18.
式の例
19.
代入をすることによって値に名前をつける
20.
無名関数の定義も式
21.
関数を変数に代入できる
22.
関数の変数への代入、代入された関数の参照
23.
関数の呼び出し
24.
関数の呼び出し
25.
関数を引数にとる関数
26.
配列の値の合計を求める関数
27.
配列の値の2乗和を求める関数
28.
配列の値の3乗和を求める関数
29.
配列の各要素に関数 f を適用した結果の総和を求める関数
30.
関数を切り替えることで振る舞いを変更する
31.
よく見る関数を引数とする関数の呼び出し
32.
リスト処理
33.
filter:フィルタする判断をパラメータ化
34.
sort:順序の判定方法をパラメータ化
35.
map / reduce:写像方法と左畳み込みの方法をパラメータ化
36.
every / some:条件の判定をパラメータ化
37.
forEach:繰り返す手続きをパラメータ化
38.
関数を返す関数
39.
関数を返り値とする関数を定義できる
40.
引数の片方を固定することで、特殊な関数を定義できる
41.
関数を返す関数の利用例: 関数の一部分を固定し、特殊な関数を作成する
42.
関数を返す関数を利用して、「同じようなことをする」関数を生成できる
43.
関数を引数とし、関数を返す関数
44.
関数を切り替えることで振る舞いを変更する
45.
リストの総和を求める関数を返す関数 sigma
46.
合計、二乗和、三乗和を求める関数の定義と利用
47.
参照透過性
48.
純粋な関数:同じ入力であれば、常に同じ値が出力される
49.
50.
参照透過性のある関数
51.
参照透過性のない関数:呼び出すたびに返り値の値が異なる
52.
破壊的な操作 / 副作用:状態を変更する操作
53.
クロージャを利用して、状態のスナップショットを取る
54.
参照透過なカウンターの利用例
55.
オブジェクト指向で実装したカウンタの利用例
56.
カリー化
57.
足し算を行う関数
58.
関数を返すように書き換える
59.
関数を返す関数
60.
書き換えた add の使用例
61.
カリー化:複数の引数をとる関数を1つの引数をとる関数にかえること
62.
カリー化を利用した条件分岐の実現
63.
自然数の関数表現
64.
Yコンビネータ
65.
再代入:同じ変数に対する代入
66.
x に基づく仕事をしていいのか?
67.
const:ローカルな定数の作成
68.
const:ローカルな定数の作成
69.
コールスタック Call stack consumption
in recursive calls
70.
71.
n * factorial(n
- 1); のバイトコード
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
コールスタックサイズの調査
83.
Runtime Call stack
size Firefox 50994 Google Chrome 10402 node.js 11034
84.
コンソールで実行すると call stack
があふれる
85.
コンソールで実行すると call stack
があふれる
86.
strict モードの末尾再帰はインライン展開される(ES2015)
87.
インライン展開のイメージ
88.
パフォーマンス
89.
普通のエラーハンドリング
90.
Promiseによるエラーハンドリング
91.
イベント:時系列データ
92.
イベント A B
C D
Download now