JavaScript

Jam :: Require.jsを使う時に便利そうなパッケージマネージャ

Jam クライアントサイドJSのパッケージマネージャ インストール npmから % sudo npm install -g jamjs ... % jam -v 0.1.11 パッケージをインストールしてみる ダウンロードされるパッケージはカレントディレクトリに"jam"というディレクトリを作って配置さ…

D3 メモ [SVG基礎編]

基本 SVGでグラフィックを描画する場合には、まずHTMLにsvg要素を追加して 描きたいシェイプを追加していく感じ。 function draw(json) { var w = 500, h = 500; var svg = d3.select('#container') .append('svg:svg') .attr('width', w) .attr('height', h…

D3 メモ[API]

API Reference https://github.com/mbostock/d3/wiki/API-Reference Event <div id="container"> <button class="clickme">click me</button> <button class="clickme">click me</button> <button class="clickme">click me</button> <button class="clickme">click me</button> </div> var data = [ { name: 'button1' }, …

D3 メモ [基礎編]

D3 データを元にHTMLを操作するためのライブラリ。データを元にしたヴィジュアライズもできるし、jQueryの様な使い方で、動的なページを作ることもできる。http://mbostock.github.com/d3/ex/ 基本的な使い方(DOM操作) <html> <head> <meta charset="UTF-8"> <title>d3 demo</title> <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script> </meta></head></html>

Backbone.js アプリのモジュール化

Organizing your application using Modules (require.js) require.jsでBackboneのView,Model,Routerやらを分けたい場合 underscore.js v1.2.1を使っていると動かないので 若干変えてみました。https://github.com/daigo3/Backbone-Skelton

jQuery x mustache メモ

mustache Minimal templating with {{mustaches}} in JavaScripthttps://github.com/janl/mustache.js jquery.mustache.jsを作る % git clone https://github.com/janl/mustache.js.git % cd mustache.js/mustache-jquery/ % ls jquery.mustache.js.tpl.post…

JavaScriptパターン #3

リテラルとコンストラクタ オブジェクトの定義 // オブジェクトリテラル記法で定義 var dog = { name: 'Benji', getName: function() { return this.name; } }; // 組み込みのコンストラクタで定義 var dog = new Object(); dog.name = 'Benji'; dog.getName…

JavaScriptパターン #2

必須パターン 高品質なJavaScriptコードを書くための必須パターンとコーディングの習慣。 なぜ? バグ→修正するのにコストがかかる→時間が経つほどコストは高くなる 修正すべき問題が新しければ、問題を把握しやすいので見つけたら即修正がベスト。 コードを…

JavaScriptパターン #1

JavaScriptパターン ―優れたアプリケーションのための作法作者: Stoyan Stefanov,豊福剛出版社/メーカー: オライリージャパン発売日: 2011/02/16メディア: 大型本購入: 20人 クリック: 895回この商品を含むブログ (68件) を見る JavaScriptでできること クラ…

Console API

普段、console.log()ばかり使ってたのですが 調べてみるといろいろあったのでメモ。Chromeで試しています。 > console.log('this is %s', 'log'); > this is log > console.info('this is %s', 'information'); > this is information > console.debug('this…

Touch/Gestureイベントの勘所

iPhone/iPad向けのWebアプリでタッチでの操作を扱う際のメモ。 ユーザによるズームは無効にしておいた方が良さそう。 <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" /> 【追記】 contentの区切りは","が正です Touch Touchイベントは touchstart :スクリーンに指が触れた touchmove :スクリーン上で指が動い</meta>…

Require.jsを使ってJavaScriptを管理する

RequireJS http://requirejs.org/ JavaScriptのライブラリやモジュールが増えてくると、読み込む順番を管理する必要が出てくる。 . ├── module1.js ├── module2.js ├── module3.js ├── lib │&#160;&#160; ├── json2.js │&#160;&#160; ├── pure.js │&#160;&#1…

Jakeを使ってみる

Jake - JavaScript build tool JavaScript(CommonJS)で記述できるビルドツール http://github.com/280north/jake インストール 要Narwhal % tusk install jake Updating catalog. . . . Done. % jake No Jakefile found (looking for: jakefile, Jakefile, j…

NarwhalをCentOS上で動かす時のメモ

CentOS release 5.5 (Final)CentOSでNarwhalを動かそうと思ったら $ js Error occurred during initialization of VM java/lang/NoClassDefFoundError: java/lang/Objectというエラーが出ます。rhinoがOpenJDKでは上手く動かないのが原因みたいです。という…

MacにV8を入れる

V8 JavaScript EngineをMac(Snow Leopard)に入れる時のメモ。必要なもの GCC Subversion 1.4~ Python 2.4~ SCons 1.0~ XCodeがインストール済みであれば、GCCとSubversionはインストール済みのはずなので 実質SConsのみ必要。http://www.scons.org/ % tar xv…

Local Storageを使ったChrome Extensionを作る

java-ja温泉で、Local Storageを使用したChrome Extensionを作りました(まだ途中)。 Local Storageと、Chromeのchrome.tabsモジュール、chrome.browserActionのまとめ Chrome Extensionの準備 ツールバー内のアイコンをクリックすると新しいタブが開くタイプ…

Narwhal事始め

きっかけ id:hagino_3000:20100207さんのエントリを見て、かなり興味を持ったのでぼちぼち。 Narwhal? Narwhalは、CommonJSの実装の一つで、JavaScriptエンジンとして現在のところRhinoをサポートしてます。 他のJSエンジンにも対応中の様です。 Narwhalのド…

Chrome Extensions - Content Script

ATNDのイベント情報をGoogleカレンダーに登録するChrome Extensionsを作ってみました。 atnd2GCal その時のメモです。 Content Script Webページ内でJavaScriptを実行して、そのページを拡張したりする様な場合はContent Script APIを使う。(FirefoxのGrease…

Learning Advanced JavaScript#1

Learning Advanced JavaScriptという素敵なチュートリアルを見つけたので、頑張って理解してみる。#90項目あるので抜粋です。 #2: Goal: To be able to understand this function: このチュートリアルの目標は以下の関数を理解すること。 // The .bind metho…

モジュールと名前空間

GoogleのClosure Toolsを触っていて、JSの名前空間がよくわかっていなかった。 教科書:JavaScript 第5版 モジュールと名前空間 当初のJSはHTML中に小さな単純なスクリプトを書く程度 現在は複雑になってきている →外部モジュール、ライブラリが登場 JSの言…