Enviar búsqueda
Cargar
Koa.js_エンジニア勉強会20140328
•
0 recomendaciones
•
577 vistas
エンジニア勉強会 エスキュービズム
Seguir
3月28日に行われたエスキュービズム社内勉強会の資料になります。
Leer menos
Leer más
Tecnología
Denunciar
Compartir
Denunciar
Compartir
1 de 19
Descargar ahora
Descargar para leer sin conexión
Recomendados
ASP.NET MVC 1.0
ASP.NET MVC 1.0
Shinpei Ohtani
はじめてのVue.js
はじめてのVue.js
kamiyam .
Vue.js 2.0を試してみた
Vue.js 2.0を試してみた
Toshiro Shimizu
エンタープライズ分野での実践AngularJS
エンタープライズ分野での実践AngularJS
Ayumi Goto
Xamarin in Microsoft Build 2018 - JXUG Fukuoka May-25-2018
Xamarin in Microsoft Build 2018 - JXUG Fukuoka May-25-2018
Takeshi Fujimoto
簡単AngularJS(関西AngularJS勉強会)
簡単AngularJS(関西AngularJS勉強会)
Takahiro Maki
AngularJSを浅めに紹介します
AngularJSを浅めに紹介します
nkazuki
Google Apps Scirpt勉強会 #1
Google Apps Scirpt勉強会 #1
ikikko
Recomendados
ASP.NET MVC 1.0
ASP.NET MVC 1.0
Shinpei Ohtani
はじめてのVue.js
はじめてのVue.js
kamiyam .
Vue.js 2.0を試してみた
Vue.js 2.0を試してみた
Toshiro Shimizu
エンタープライズ分野での実践AngularJS
エンタープライズ分野での実践AngularJS
Ayumi Goto
Xamarin in Microsoft Build 2018 - JXUG Fukuoka May-25-2018
Xamarin in Microsoft Build 2018 - JXUG Fukuoka May-25-2018
Takeshi Fujimoto
簡単AngularJS(関西AngularJS勉強会)
簡単AngularJS(関西AngularJS勉強会)
Takahiro Maki
AngularJSを浅めに紹介します
AngularJSを浅めに紹介します
nkazuki
Google Apps Scirpt勉強会 #1
Google Apps Scirpt勉強会 #1
ikikko
Study Intro Backbone
Study Intro Backbone
Gensei Kawasaki
3分でわかるangular js
3分でわかるangular js
Shin Adachi
Angular js はまりどころ
Angular js はまりどころ
Ayumi Goto
Async Enhancement
Async Enhancement
kamiyam .
Progressive Framework Vue.js 2.0
Progressive Framework Vue.js 2.0
Toshiro Shimizu
Astah plugin 実行方法とSysML要求図のサンプル
Astah plugin 実行方法とSysML要求図のサンプル
Yukio Saito
PhoneGap Introduction
PhoneGap Introduction
Keisuke Todoroki
AngularJS入門
AngularJS入門
Kenji Shirane
Laravel Blade×vue.js 混在させる場合の注意点
Laravel Blade×vue.js 混在させる場合の注意点
誠一郎 栗原
さわってみようReact.js、AngularJS(1系、2系)
さわってみようReact.js、AngularJS(1系、2系)
Kazuhiro Yoshimoto
Vue.js入門
Vue.js入門
Takuya Sato
Express Web Application Framework
Express Web Application Framework
LearningTech
densan2014-late01
densan2014-late01
Takenori Nakagawa
自作node.jsフレームワークとnginxを使ってラジオサイトを作ってみた
自作node.jsフレームワークとnginxを使ってラジオサイトを作ってみた
Yuki Takei
13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejs
Takayoshi Tanaka
大阪Node学園八時限目 「expressで作るWebアプリ」
大阪Node学園八時限目 「expressで作るWebアプリ」
Shunsuke Watanabe
Node.js勉強会 Framework Koa
Node.js勉強会 Framework Koa
kamiyam .
アメブロ2016 アメブロフロント刷新にみる ひかりとつらみ
アメブロ2016 アメブロフロント刷新にみる ひかりとつらみ
Kazunari Hara
Vue入門
Vue入門
Takeo Noda
traceur-compilerで ECMAScript6を体験
traceur-compilerで ECMAScript6を体験
Toshio Ehara
Vue.js で XSS
Vue.js で XSS
tobaru_yuta
Ext.direct
Ext.direct
Shuhei Aoyama
Más contenido relacionado
La actualidad más candente
Study Intro Backbone
Study Intro Backbone
Gensei Kawasaki
3分でわかるangular js
3分でわかるangular js
Shin Adachi
Angular js はまりどころ
Angular js はまりどころ
Ayumi Goto
Async Enhancement
Async Enhancement
kamiyam .
Progressive Framework Vue.js 2.0
Progressive Framework Vue.js 2.0
Toshiro Shimizu
Astah plugin 実行方法とSysML要求図のサンプル
Astah plugin 実行方法とSysML要求図のサンプル
Yukio Saito
PhoneGap Introduction
PhoneGap Introduction
Keisuke Todoroki
AngularJS入門
AngularJS入門
Kenji Shirane
Laravel Blade×vue.js 混在させる場合の注意点
Laravel Blade×vue.js 混在させる場合の注意点
誠一郎 栗原
さわってみようReact.js、AngularJS(1系、2系)
さわってみようReact.js、AngularJS(1系、2系)
Kazuhiro Yoshimoto
Vue.js入門
Vue.js入門
Takuya Sato
La actualidad más candente
(11)
Study Intro Backbone
Study Intro Backbone
3分でわかるangular js
3分でわかるangular js
Angular js はまりどころ
Angular js はまりどころ
Async Enhancement
Async Enhancement
Progressive Framework Vue.js 2.0
Progressive Framework Vue.js 2.0
Astah plugin 実行方法とSysML要求図のサンプル
Astah plugin 実行方法とSysML要求図のサンプル
PhoneGap Introduction
PhoneGap Introduction
AngularJS入門
AngularJS入門
Laravel Blade×vue.js 混在させる場合の注意点
Laravel Blade×vue.js 混在させる場合の注意点
さわってみようReact.js、AngularJS(1系、2系)
さわってみようReact.js、AngularJS(1系、2系)
Vue.js入門
Vue.js入門
Similar a Koa.js_エンジニア勉強会20140328
Express Web Application Framework
Express Web Application Framework
LearningTech
densan2014-late01
densan2014-late01
Takenori Nakagawa
自作node.jsフレームワークとnginxを使ってラジオサイトを作ってみた
自作node.jsフレームワークとnginxを使ってラジオサイトを作ってみた
Yuki Takei
13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejs
Takayoshi Tanaka
大阪Node学園八時限目 「expressで作るWebアプリ」
大阪Node学園八時限目 「expressで作るWebアプリ」
Shunsuke Watanabe
Node.js勉強会 Framework Koa
Node.js勉強会 Framework Koa
kamiyam .
アメブロ2016 アメブロフロント刷新にみる ひかりとつらみ
アメブロ2016 アメブロフロント刷新にみる ひかりとつらみ
Kazunari Hara
Vue入門
Vue入門
Takeo Noda
traceur-compilerで ECMAScript6を体験
traceur-compilerで ECMAScript6を体験
Toshio Ehara
Vue.js で XSS
Vue.js で XSS
tobaru_yuta
Ext.direct
Ext.direct
Shuhei Aoyama
Map server入門 - FOSS4G 2012 Hokkaido
Map server入門 - FOSS4G 2012 Hokkaido
Hideo Harada
Struts2を始めよう!
Struts2を始めよう!
Shinpei Ohtani
ScalaでAndroidアプリ開発
ScalaでAndroidアプリ開発
papamitra
Vue Router + Vuex
Vue Router + Vuex
Kei Yagi
Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話
Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話
Akira Inoue
AppiumのWebViewアプリテストの仕組みとハマりどころ
AppiumのWebViewアプリテストの仕組みとハマりどころ
Masayuki Wakizaka
Scalaでプログラムを作りました
Scalaでプログラムを作りました
Tomoharu ASAMI
Seasarプロジェクト徹底攻略
Seasarプロジェクト徹底攻略
takezoe
ScalaMatsuri 2016
ScalaMatsuri 2016
Yoshitaka Fujii
Similar a Koa.js_エンジニア勉強会20140328
(20)
Express Web Application Framework
Express Web Application Framework
densan2014-late01
densan2014-late01
自作node.jsフレームワークとnginxを使ってラジオサイトを作ってみた
自作node.jsフレームワークとnginxを使ってラジオサイトを作ってみた
13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejs
大阪Node学園八時限目 「expressで作るWebアプリ」
大阪Node学園八時限目 「expressで作るWebアプリ」
Node.js勉強会 Framework Koa
Node.js勉強会 Framework Koa
アメブロ2016 アメブロフロント刷新にみる ひかりとつらみ
アメブロ2016 アメブロフロント刷新にみる ひかりとつらみ
Vue入門
Vue入門
traceur-compilerで ECMAScript6を体験
traceur-compilerで ECMAScript6を体験
Vue.js で XSS
Vue.js で XSS
Ext.direct
Ext.direct
Map server入門 - FOSS4G 2012 Hokkaido
Map server入門 - FOSS4G 2012 Hokkaido
Struts2を始めよう!
Struts2を始めよう!
ScalaでAndroidアプリ開発
ScalaでAndroidアプリ開発
Vue Router + Vuex
Vue Router + Vuex
Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話
Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話
AppiumのWebViewアプリテストの仕組みとハマりどころ
AppiumのWebViewアプリテストの仕組みとハマりどころ
Scalaでプログラムを作りました
Scalaでプログラムを作りました
Seasarプロジェクト徹底攻略
Seasarプロジェクト徹底攻略
ScalaMatsuri 2016
ScalaMatsuri 2016
Más de エンジニア勉強会 エスキュービズム
エスキュービズム新技術発表資料
エスキュービズム新技術発表資料
エンジニア勉強会 エスキュービズム
小売りにおけるAIの可能性
小売りにおけるAIの可能性
エンジニア勉強会 エスキュービズム
React Redux Redux-Saga + サーバサイドレンダリング
React Redux Redux-Saga + サーバサイドレンダリング
エンジニア勉強会 エスキュービズム
Azure container service上でコンテナベースでオートスケールの検証をしてみた
Azure container service上でコンテナベースでオートスケールの検証をしてみた
エンジニア勉強会 エスキュービズム
はじめての品質
はじめての品質
エンジニア勉強会 エスキュービズム
Go言語によるWebアプリケーション開発
Go言語によるWebアプリケーション開発
エンジニア勉強会 エスキュービズム
機械学習ライブラリ : TensorFlow
機械学習ライブラリ : TensorFlow
エンジニア勉強会 エスキュービズム
Developer Summit 2016 参加してきました。
Developer Summit 2016 参加してきました。
エンジニア勉強会 エスキュービズム
ほんのりTDD
ほんのりTDD
エンジニア勉強会 エスキュービズム
IoTで何をやったか
IoTで何をやったか
エンジニア勉強会 エスキュービズム
2016 新人研修 基本技術講座 (1)
2016 新人研修 基本技術講座 (1)
エンジニア勉強会 エスキュービズム
Dockerを用いたマイクロサービスについて
Dockerを用いたマイクロサービスについて
エンジニア勉強会 エスキュービズム
VRのコンテンツ
VRのコンテンツ
エンジニア勉強会 エスキュービズム
Azureで動いている機械学習のいろいろについて
Azureで動いている機械学習のいろいろについて
エンジニア勉強会 エスキュービズム
レイアウトについて
レイアウトについて
エンジニア勉強会 エスキュービズム
アルゴリズムとデータ構造(初歩)
アルゴリズムとデータ構造(初歩)
エンジニア勉強会 エスキュービズム
何故エンジニアはテストをしないのか
何故エンジニアはテストをしないのか
エンジニア勉強会 エスキュービズム
IoTのIを考えてみる話
IoTのIを考えてみる話
エンジニア勉強会 エスキュービズム
AzureのIaaSとかの話
AzureのIaaSとかの話
エンジニア勉強会 エスキュービズム
【エンジニア勉強会】品質ってなんなのさ
【エンジニア勉強会】品質ってなんなのさ
エンジニア勉強会 エスキュービズム
Más de エンジニア勉強会 エスキュービズム
(20)
エスキュービズム新技術発表資料
エスキュービズム新技術発表資料
小売りにおけるAIの可能性
小売りにおけるAIの可能性
React Redux Redux-Saga + サーバサイドレンダリング
React Redux Redux-Saga + サーバサイドレンダリング
Azure container service上でコンテナベースでオートスケールの検証をしてみた
Azure container service上でコンテナベースでオートスケールの検証をしてみた
はじめての品質
はじめての品質
Go言語によるWebアプリケーション開発
Go言語によるWebアプリケーション開発
機械学習ライブラリ : TensorFlow
機械学習ライブラリ : TensorFlow
Developer Summit 2016 参加してきました。
Developer Summit 2016 参加してきました。
ほんのりTDD
ほんのりTDD
IoTで何をやったか
IoTで何をやったか
2016 新人研修 基本技術講座 (1)
2016 新人研修 基本技術講座 (1)
Dockerを用いたマイクロサービスについて
Dockerを用いたマイクロサービスについて
VRのコンテンツ
VRのコンテンツ
Azureで動いている機械学習のいろいろについて
Azureで動いている機械学習のいろいろについて
レイアウトについて
レイアウトについて
アルゴリズムとデータ構造(初歩)
アルゴリズムとデータ構造(初歩)
何故エンジニアはテストをしないのか
何故エンジニアはテストをしないのか
IoTのIを考えてみる話
IoTのIを考えてみる話
AzureのIaaSとかの話
AzureのIaaSとかの話
【エンジニア勉強会】品質ってなんなのさ
【エンジニア勉強会】品質ってなんなのさ
Último
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
FumieNakayama
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
akihisamiyanaga1
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
FumieNakayama
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
Yuki Kikuchi
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
博三 太田
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
sugiuralab
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
UEHARA, Tetsutaro
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Hiroshi Tomioka
Último
(8)
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Koa.js_エンジニア勉強会20140328
1.
koa.js 2014.3.28
2.
agenda ● node.jsのアプリケーションフレームワーク ● 非同期 ●
koa.js
3.
https://github.com/koajs/koa
4.
なんか化粧品っぽいロゴ? https://www.shiseido.co.jp/
5.
node.jsのアプリケーションフレームワーク http://expressjs.com/ ・アプリの雛形を形成 ・view, middlewareの選択 ・routing
6.
viewの提供 middleware routing var express =
require('express') var app = express(); app.configure(function(){ app.set('views', __dirname + '/views'); app.set('view engine', 'ejs'); app.use(express.static(__dirname + '/public')); app.use(express.json()); app.use(app.router); }); // Routes app.get('/', routes.index); app.listen(3000); node.jsのアプリケーションフレームワーク
7.
現状はexpressが牛耳ってますが これに取って代わる存在として koa.jsが話題に。 node.jsのアプリケーションフレームワーク http://business.nikkeibp.co.jp/article/person/20080729/166535/? rt=nocnt
8.
what’s new? koa.jsは以下のような特徴を持ちます。 ・generator/yieldを使ってmiddlewareを記述可能 -> 非同期処理いい具合にします ・koa.jsは最小限の仕事をするmoduleの集まり ->
フレームワークのシンプル化、柔軟性向上 ・http通信のrequestやresponseをラップした、 コンテキストという概念を持つ -> リクエスト処理のシンプル化、エラーハンドリング 非同期地獄にサヨナラ!
9.
非同期地獄 ・node.jsでは頻繁に非同期地獄に遭遇します var fs =
require('fs'); // カレント ディレクトリーのファイル一覧を取得する fs.readdir('.', function(err, files) { // 先頭のファイルの中身を読み取る fs.readFile(files[0], 'utf-8', function(err, data) { // 読み取った結果を出力する console.log(data); }); }); app.use(function (req, res, next) { var end = res.end(); res.end = function (…) { // monkey patching … // a post-filter res.write(…); end(); }; next(); });
10.
koa.jsの場合 before after var co
= require('co'); var fs = require('fs'); co(function *() { var files = yield co.wrap(fs.readdir)('.'); var data = yield co.wrap(fs.readFile)(files[0], 'utf-8'); console.log(data); }); var fs = require('fs'); // カレント ディレクトリーのファイル一覧 を取得する fs.readdir('.', function(err, files) { // 先頭のファイルの中身を読み取る fs.readFile(files[0], 'utf-8', function (err, data) { // 読み取った結果を出力する console.log(data); }); });
11.
今日はこれを解説します。 ・generator/yieldを使って middlewareを記述可能
12.
・yieldって?? 一言で言えば、関数を途中で止められる。 generator/ yield
13.
function* N() { console.log("start"); yield
1; console.log("after 1"); yield 2; console.log("after 2"); return 3; } generator/ yield 関数定義は、 「function」 ではなく、「function*」 で宣言 var g = N() を実行すると、 関数が処理されるのではなく、関数を処 理するためのジェネレータが返る
14.
function* N() { console.log("start"); yield
1; console.log("after 1"); yield 2; console.log("after 2"); return 3; } generator/ yield // generatorを生成 var g = N(); console.log(g.next()); // start // { value: 1, done: false } console.log(g.next()); // start // { value: 2, done: false } console.log(g.next()); // start // { value: 3, done: true }
15.
generator/ yield つまり、こんな書き方ができます https://github.com/koajs/koa/blob/master/docs/guide.md
16.
co.js generater、yieldを応用した、非同期処理を管理す るモジュール koa.jsの挙動の基本となるモジュール var co =
require('co'); var fs = require('fs'); co(function *() { var files = yield co.wrap(fs.readdir)('.'); var data = yield co.wrap(fs.readFile)(files[0], 'utf-8'); console.log(data); });
17.
挙動例 「co(koa.js)は中で何をしているのか.」http://qiita.com/nashibao@github/items/5bab9744c26f74c1aa0d
18.
・node.js 0.12以降で可能です。 - DECIDEでは使ってないです。。 #
asyncというモジュールでカバー ・起動方法がちょっと変わります。 - (before) node app.js - (after) node --harmony app.js 制限事項
19.
co.js まとめ generator, yield 非同期処理 エラーハンドリング コンテキスト制御
Descargar ahora