タグ

JavaScriptとrefactoringに関するraimon49のブックマーク (26)

  • Clean Javascript

    The document discusses techniques for writing clean JavaScript code. It provides examples of code smells and improvements to address issues like attaching events from the outside, separating selection from logic, shallow scope, overwriting default behavior, and separating logic from views. The document advocates for practices like modularizing functions, separating DOM manipulation from models, an

    Clean Javascript
    raimon49
    raimon49 2011/12/12
    href属性の再利用は良い習慣。引数にDOMを渡すのは個人的に違和感。
  • jQueryのDeferredとPromiseで応答性の良いアプリをー実践編 | ゆっくりと…

    前回 は、「Creating Responsive Applications Using jQuery Deferred and Promises」 の記事と jQuery のリファレンスを翻訳し、Deferred の解説をお届けしました。が、今一歩、Deferred オブジェクトの うれしさ をお伝えできていなかったように思います。今回はその反省をふまえ、単なる翻訳ではなく、元記事の文脈に沿って、Deferred オブジェクトをどのように使うと/何がうれしくて/どうしあわせになるのか、私が学習して得た事をお伝えしたいと思います。 今回は、4jsfiddle を記事に埋め込んでいます。jsfiddle 上で自由に編集してテストしてもらえばうれしいのですが、4すべて実行すると1.4MBものリソースを読み込む事になり、ブラウザに優しくありません。すぐに タブや をクリックせずに、 タブ

    raimon49
    raimon49 2011/05/22
    resolveとthenで見通しを良くするレシピ集
  • データ & アナリティクス | アクセンチュア

    データ分析から導き出されたインサイト無しにAI人工知能)の活用は始まりません。私たちは、各業界知識とデータ・アナリティクス技術を駆使しデータドリブン経営を強力に支援します。 データ、アナリティクス、AIは企業にとって競合他社との差別化を図るかつてないほど大きな要因になっています。今日の経営幹部が効率を向上しながら新たな収益源を開拓し、新しいビジネスモデルをタイムリーに構築する方法を模索する中、価値を生み出し成長を続ける企業には「データ活用」という共通項があります。私たちは、無数のデータから企業にとって当に必要なデータを活用するための方法を知っています。 将来を見据えたオペレーション体制を備えている企業の半数以上(52%)は、すでにデータとアナリティクスを大規模に活用しています。データとAIに関する取り組みをビジネス戦略に沿って実施することで投資利益率を迅速に最大化し、最終的にはAIをビ

    データ & アナリティクス | アクセンチュア
    raimon49
    raimon49 2009/10/02
    addEvent の改良課程がリファクタリングの教科書のよう。分かり易くてすごい。
  • はてなブックマークのコンテンツの JavaScript を高速化する - IT戦記

    はじめに 「新はてなブックマーク」になったということで、とっても便利になったのですが、ブックマーク一覧ページ*1が若干 JavaScript に時間が掛かっているみたいです。 というわけで 調査してみたいと思います。調査して、改善できそうなところは後で纏めて「はてなアイデア」にでも登録しようと思います。 この日記は調査しながら、過程を書いていくつもりです。 準備 まずは、人のサイトの JavaScript を書き換えて試してみるための環境を作ります。 作業用ディレクトリを作る とりあえず、ホームに HatenaJS というディレクトリを作ります。 $ mkdir HatenaJS $ cd HatenaJS CocProxy をダウンロードしてくる 以下から CocProxy というツールをダウンロードしてきます。 http://coderepos.org/share/wiki/CocPr

    はてなブックマークのコンテンツの JavaScript を高速化する - IT戦記
    raimon49
    raimon49 2008/11/27
    プロファイリングでボトルネック箇所を特定した後にFirebugを使って1箇所ずつ改善していく例。勉強になる。
  • 取説 正規表現

    nanto_vi, 2008-07-19 自己紹介 nanto_vi (TOYAMA Nao) Days on the Moon Twitter 目次 よくある間違い 正規表現オブジェクトのメソッド グローバルマッチ 文字列のメソッド まとめ よくある書き方 var str = "OSC Kansai 2008"; var year = 0; if (str.match(/(\d+)/)) { year = Number(RegExp.$1); } 何がよくないか RegExp コンストラクタのプロパティはグローバル変数 Mozilla 2 (Firefox 4) では削除されるかも? if (str.match(/(\d+)/)) { doOtherThing(); year = Number(RegExp.$1); } function doOtherThing() { "Firefo

    raimon49
    raimon49 2008/07/28
    スコープに配慮した正規表現の書き方
  • JS や AS で長い関数をリファクタリングする1手法 - てっく煮ブログ

    200行ぐらいある関数を、分かりやすく書きなおそう、というお話。お題はこんなJavaScript。あとで、軽く ActionScript 3.0 も出てくるよ。 function fly() { // 初期化処理 var init:Boolean = false; // 50行ぐらい初期化処理 // うまくいったら init が true になる // 実行 if(init) { var succeeded = false; // 100行ぐらい実行 } // 終了処理 // 30行ぐらい終了処理 } 構造化プログラミングについて知ってる人なら、きっとこうする。 function fly() { if(startFly()) { doFly(); } endFly(); } 構造がたいそうすっきりした。問題は、startFly()・doFly()・endFly() をどこに記述するか。fl