[Mac]容量を減らす
DIコンテナはじめ
freee SDKを Laravel で使ってみる
freee API を使ってみる
Segueを利用しない画面遷移
Xcode11.3 で XVim2 を利用する
Codable で JSONを読み込み
Webpack入門
MacからLaradock PostgreSQLで接続エラー
Mac で Laradock の構築
Dockerで不要なイメージを削除
yarn インストール&プロジェクト作成
Laravel 6.x 構築(Homestead編)
Composer インストール
nvm インストール
npm install が Mac でエラー
HTMLタグでカーソルが同時処理(ミラーリング)されてしまう
DI(依存性注入)
[Ubuntu]Let's Encryptで無料の証明書を利用する
[Apache]Apache2.4のアクセス制限が変更
[Ubuntu]rootのログインとsudo権限追加
タミヤ マイコンロボット工作セットをMacに接続してみた
pgAdimn4 でブラウザで開けなくなる
Java8 を HomebrewとjEnvで構築
Android Studio環境構築 2019
ロケールの再構築
vagrant グループに Apacheを追加
Linux2 Apache2 + PHP7.3 + PostgreSQL10
Anadondaの削除
[Mac]初期設定メモ(CentOS)
[Mac]PostgreSQL起動
try-catch で Exception検知
[Debian]Node.js安定板インストール
FormRequest を利用したバリデーション
Middlewareを利用したルートグループ化
namespaceを利用したルートグループ化
名前付きルートによるリダイレクト
artisanコマンド
コンポーネントを親に登録
IE11以下でclosest() を利用する
Karma と Mochaインストール
[脱jQuery]LoadingOverlay をネイティブで実装
Targetを利用せずに新規ウィンドウを開く(rel,class)
[脱jQuery]ネイティブでDrag&Dropやtableソート
[脱jQuery]$(document).on() をネイティブでコーディング
[Git].gitignore が反映されない
[Git]不要ファイル履歴削除
[GAS]Gmail指定ラベルの不要メール削除
UFJ API(開発用)を利用してみる
RuntimeException No application encryption key has been specified
2010/06/18
icon JavaScriptのクロージャ
JavaScriptは関数の中の関数で埋め尽くされていて、 合理的とは言え、非常に解読が非常に難しい。 場合によっては、一つの関数の中に全て網羅されてしまってるソースもある。

つまりは、カッコをいかに読めるか?(KY)が重要であるw

■関数内の関数

function calculate() {
    function hogehoge() {
    }
}
■無名関数

var hoge = function (){}
まぁ、ここまでは大丈夫でしょう。 ■無名関数の即時実行

(function(){})();
■関数内の関数を無名関数で即時実行 タイトルの時点でわかりにくいが・・・

function calculate(){
    return function (){
        alert("hello");
    };
}

var func = calculate();
func();
■クロージャーの存在意義 クロージャーを使うと、内部の状態が保持されます。

function calculate() {
    var count = 0;
    return function() {
        count = count + 1;
        alert(count);
    };

}
var func = calculate(); 
func();
func();
func();
このサンプルでは、1,2,3と出力されます。 ちなみにfunc()部分を以下にすると、常に1が出力されます。

(calculate())();
(calculate())();
(calculate())();
ただ個人的な感想としては、関数ではなくクラスでインスタンス変数を持った方が 混乱が少ないように思えますが(^_^;)
2010/06/18
icon jQuery pluginの開発規約
jQueryで効率よく開発する方法 jQuery pluginの開発規約について

1. Claim only a single name in the jQuery namespace 2. Accept an options argument to control plugin behavior 3. Provide public access to default plugin settings 4. Provide public access to secondary functions (as applicable) 5. Keep private functions private 6. Support the Metadata Plugin

■jQueryの名前空間には、ファンクションを一つのみ追加すること

$.fn.hilight = function() {

};

$('#myDiv').hilight();
■options引数を使って、アクセスできること

$.fn.hilight = function(options) {
  var defaults = {
     foreground: 'red',
     background: 'yellow'
  };
  var opts = $.extend(defaults, options);
};

$('#myDiv').hilight({
  foreground: 'blue'
});
extendについてはjQueryの継承(extend)参照 ■デフォルト設定を、publicでアクセスできること

$.fn.hilight = function(options) {
    var opts = $.extend({}, $.fn.hilight.defaults, options);
};

$.fn.hilight.defaults = {
    foreground: 'red',
    background: 'yellow'
};
.defaultsという命名はマナー的なものでよいのかな? ■セカンダリーのファンクションにpublicでアクセスできること 自信のhtmlにstrongタグを追加する例

$.fn.hilight = function(options) {
    return this.each(function() {
        var $this = $(this);
        var markup = $this.html();
        markup = $.fn.hilight.format(markup);
        $this.html(markup);
    });
};

$.fn.hilight.format = function(txt) {'
    return '' + txt + '';
};
hilightにformatファンクションを追加している ■privateファンクションを保持する

(function($) {
    $.fn.hilight = function(options) {
        debug(this);
    };
    function debug($obj) {
        if (window.console && window.console.log)
        window.console.log('hilight selection count: ' + $obj.size());
    };
})(jQuery);
JavaScriptのクロージャで全体を囲んで隠蔽化 ■Metadata Pluginのサポート クラス、ランダム属性、子要素とHTML5属性からメタデータを抽出するプラグイン jQuery Metadata 色々なプラグインライブラリもこのjquery.metadata.jsを利用しているものが多い。 jQueryの必須プラグインかも知れない。
2010/06/18
icon デバッグコンソール
これは、灯台下暗し・・・

function debug($obj) {
    if (window.console && window.console.log)
        window.console.log('hilight selection count: ' + $obj.size());
}
■FireFox Safari ■Safari Safari
<< 最初 < 前ページ 次ページ > 最後 >>