This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
この記事は東京Node学園祭2012 アドベントカレンダーの22日目です。 はじめに 今日はinvert-streamというライブラリを使って簡単なduplexストリームを作ってみます。ライブラリの仕組みを追っていくことで、ついでにduplexストリームという概念を理解するのが目的です。 nodeにはprocess.stdinやprocess.stdout、net.connect()といった組み込みのストリームが用意されていますが、ひとたびストリームの便利さに気がつくと、(わたしがまさに今この状態なのですが)アプリケーション内の様々な機能を分割してストリーム化してみたい、という気持ちに駆られます。けれども、ドキュメントが定める全てのインターフェースを自分で実装するのはやや不安で、とりわけreadableかつwritableな、すこし複雑なストリームを作るとなると、仕様の漏れや、それに起因す
ここ一ヶ月ぐらいからJavaScriptが注目されているようだ。理由は簡単で、GoogleのJavaScriptエンジンを使ったアプリケーション・サーバーであるnode.jsの性能が高いと主張されているからだ。 地味にブームになりつつあり、Ajaxのようにウェブ開発の現場に定着するかも知れない。多数のブログで紹介がされている。現状のその特徴を振り返りつつ、node.jsが普及するかを考察してみた。 1. JavaScriptは、ブラウザ発の人気スクリプト言語 JavaScriptは、LiveScriptとして1995年にNetscape Navigatorというウェブ・ブラウザに搭載されたのが始まりで、すぐに政治的な理由でJavaScriptに改名された。1996年には、その基本的な文法がECMAScriptとして、ECMA-262とISO/IEC 16262で定義されている。言語仕様が簡
CommonJS modules are the original way to package JavaScript code for Node.js. Node.js also supports the ECMAScript modules standard used by browsers and other JavaScript runtimes. In Node.js, each file is treated as a separate module. For example, consider a file named foo.js: const circle = require('./circle.js'); console.log(`The area of a circle of radius 4 is ${circle.area(4)}`); copy On the f
JavaScriptのモジュール定義・読み込みをAMD (Asynchronous Module Definition) でできるライブラリであるRequireJSをプロジェクトで使ってみた。 プロジェクトの規模感を簡単に説明しておくと、まず単画面アプリケーションではなく、従来通りテンプレートが複数あるウェブサイトだ。よくあるウェブサイトとはいえ、JavaScriptで動く機能やUIがたくさんあり、テンプレートのパターンが100枚以上ある。カルーセルと画像切り替えが動けばヨシ、みたいなそこらのコーポレートサイトよりは遥かに規模の大きいウェブサイトとなっている。 導入を決めたのは、今回のプロジェクトで必ず現出するであろう懸念点を、あらかじめ潰しておきたかったという動機から。その懸念点というのは主にファイルサイズの問題。ウェブサイト内で使われている全JSファイルを全て結合圧縮すると、最終的に1
SuperAgent SuperAgent is light-weight progressive ajax API crafted for flexibility, readability, and a low learning curve after being frustrated with many of the existing request APIs. It also works with Node.js! request .post('/api/pet') .send({ name: 'Manny', species: 'cat' }) .set('X-API-Key', 'foobar') .set('Accept', 'application/json') .then(res => { alert('yay got ' + JSON.stringify(res.body
こないだまでRailsとBackbone.jsを使ったWEBサービスを作ってました。折角なので、その際の初期設定とちょっとしたルールをまとめておきます。ちなみに、規模感は以下のような感じです。 ・ModelとCollection 各約10個 ・ViewとTemplate 各約30個 ・Routerは使わない(SinglePageApplicationではないので) バージョンは ・backbone.js: 1.1.0 ・rails: 3.2.13 です ライブラリの配置 依存ライブラリは以下のように配置した // vendor/assets/javascripts/配下 . |-- backbone/ | |-- backbone-min.js | `-- backbone-min.map |-- json2/ | `-- json2.js |-- underscore/ | |-- un
Node.js Cluster+Socket.IO+Redisによるリアルタイム通知システム | サイバーエージェント 公式エンジニアブログ
jQueryプラグインのメソッドパターン このエントリーはjQuery Advent Calendar 2013の 最終目のエントリーです。(Advent Calendarとは様々なテーマを12/1〜12/25までリレー形式でブログなどに執筆する企画です。) 今回はjQueryプラグインのメソッドパターンについて紹介をしたいと思います。 jQueryプラグインのメソッドとはどいうものかというと、まず以下のようなプラグインがあったとします。 $.fn.alert = function(options){ return this.each(function(){ $(this).click(function(){ alert(options.text); return false; }) }); } セレクタで指定した要素でアラートを表示するだけの簡単なプラグインです。(プラグインの作り方は「
JSXアドカレの最後のエントリです。 なんとなくXXから見たYYというタイトルが流行りそうな気がしてきているのでまとめます。 Noderから見たJSXについて 今の会社に入って9月位になったらサーバーサイドのNode.jsをJSXで書いてました。具体的にはJSXでゲームを書いたり、運用のためのライブラリを書いてます。 以下の記事に触発されて書きます。 「Haxerから見たJSX」という感想文を書いてみた。 JSXすげーと思う所 profiler 僕が個人的に一番好きなのはJSXのプロファイラですね。どこのメソッドを何回コールして、どのメソッドでどれくらい時間がかかっているのかまで見れます。Node.jsのプロファイラもいくつかあるんですが、httpリクエストベースで見たり、その時のCPU、メモリ使用率が分かる程度で、メソッドの時間までは取れません。v8のprofilerでかなり細かく見れま
A toolkit to automate & enhance your workflowLeverage gulp and the flexibility of JavaScript to automate slow, repetitive workflows and compose them into efficient build pipelines. TypeScriptDevelop in any languagePNGCreate assets with any toolMarkdownWrite using any formatJavaScriptGet compiled codeWebPGet optimized imagesHTMLGet rendered content
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く