タグ

ブックマーク / dqn.sakusakutto.jp (6)

  • [JavaScript]猿でもわかるクロージャ超入門 6 クロージャの応用例「注文ボタン」 · DQNEO日記

    クロージャは何の役に立つのか? 前回の記事で、クロージャは「状態を保持する関数」であると書きました。 これを応用すると、いろいろ便利なことができます。 jQueryとクロージャは相性バツグン jQueryを使った経験があれば、誰でも下記のようなコードを書いたことがあるのではないでしょうか? $('#btn').click(function(){ alert('hello'); }); ここで、clickメソッドに渡されているのは無名関数function(){...}です。 そう、無名関数と言えばクロージャの出番です! クロージャの応用例:2回目にクリックすると警告が出るボタン ショッピングカートの「注文する」ボタンで、2重クリックすると2回決済されてしまうというサイトをたまに見かけます。 jQuery + クロージャを使うことで、これを防止してみましょう。 HTML <form name=

    a20130517
    a20130517 2016/11/22
  • サーバ間でdiffを取る方法 · DQNEO日記

    sshとdiffを組み合わせてこうします。 $ ssh hostname cat /path/to/file | diff /path/to/file - 解説 ssh hostname cat /path/to/file "cat /path/to/file"というコマンドを別サーバ(hostname)上で実行させて、結果を自マシンの標準出力に出力します。 このコマンド単体で実行してみるとよくわかると思います。 diff /path/to/file - diff は通常、diff A B のように引数でファイル名を2つ指定します。 このとき、ファイル名を指定する代わりに「-」と書くと、ファイルの代わりに標準入力を読み込みます。 参考 https://twitter.com/riywo/status/31573779020779520

    サーバ間でdiffを取る方法 · DQNEO日記
    a20130517
    a20130517 2015/07/09
  • いい加減、>/dev/null 2>&1と書くのをやめたらどうか (追記あり) · DQNEO日記

    はじめに これから書く内容は、シェルスクリプトをばりばり書いている現場(サーバエンジニアインフラエンジニア)向けのものではありません。 年に数回crontabをいじるような現場(サーバに詳しくないアプリケーションプログラマが多数を占めるような現場とか、Webデザイナや非プログラマがcrontabをおそるおそるいじったりするような現場)を想定しています。 >/dev/null 2>&1 の問題点 この記法の問題点は、「覚えにくい、間違えやすい、間違ってても気づかない」ということです。 初心者を迷わせる要素がこんなにあります。 >/dev/nullは先か後か 1と2はどちらが先か &はどこに書くのか よって下記のように多種多様なミスが起こり得ます。 2>&1 >/dev/null >/dev/null 1>&2 >/dev/null 2>1& >/dev/null &2>1 これをぱっと見て

    いい加減、>/dev/null 2>&1と書くのをやめたらどうか (追記あり) · DQNEO日記
    a20130517
    a20130517 2015/07/08
  • jQueryのeachの仕組みを徹底的にわかりやすく解説してみた。 · DQNEO日記

    eachのキホン:要素を1個ずつ処理する まずおさらい。 このようなHTMLがあるとします。 <ul> <li>foo</li> <li>bar</li> </ul> eachを使うと、要素1個ずつに対して順繰りに処理を行うことができます。 <script> $(function(){ $('li').each(function(){ alert( $(this).text() ); // 'foo', 'bar'と表示 }); }); </script> これがキホンです。 変形してみる 上のeach式は、下のように変形できます。 (一番外側のブロック$(function(){....})は省略します) $.each( $('li'), function(){ alert($(this).text()); }); さらに変形してみます。 グローバル変数 "$" はグローバル変数 "jQu

    jQueryのeachの仕組みを徹底的にわかりやすく解説してみた。 · DQNEO日記
  • PHPのコンストラクタ(__construct)の驚愕の真実 · DQNEO日記

    私は漠然と「同じ」だと思っていました。 でも実は、大きな落とし穴があります。 継承するときに問題が発生します。 次のコードを見てください。 問題ないコード <?php class Mother { public function __construct() { echo "私はママよ。\n"; } } class Child extends Mother { public function __construct() { parent::__construct(); echo "ボクはこどもだよ。\n"; } } $obj = new Child; // 出力: // 私はママよ。 // ボクはこどもだよ。 これはちゃんと動きます。 いたって普通のPHP5のコードで、何も問題ありません。 ひとひねりして次のコードはどうでしょうか。 問題ないコードその2 <?php class Mother

    a20130517
    a20130517 2014/01/21
  • [PHP]require(require_once)するときは必ず絶対パスを使いましょう · DQNEO日記

    まず絶対パスで書いた場合、 require_once '/path/to/a.php'; 当たり前ですが'/path/to/a.php'というファイルがダイレクトにオープンされて読み込まれます。 何の問題ないですね。 一方、絶対じゃないパス名(ファイル名だけとか)を書いたらどうなるでしょうか? require_once 'PEAR.php' この場合、PHP実行エンジンはinclude_pathで指定されたディレクトリを順番に探索します。 もしinclude_pathが'/home/dqn/app:/home/dqn/extlib:/home/dqn/lib:/usr/share/pear'となっている場合、 PHP実行エンジンは下記のようにファイルを探索します。 /home/dqn/app/PEAR.php あるかな・・・ないぉ! /home/dqn/extlib/PEAR.php ある

    a20130517
    a20130517 2013/11/17
    “「絶対パスで書くと環境依存になる」という声がありましたが、絶対パスを相対的に指定すれば問題ありません。”
  • 1