MW211 EXIT

devlog
jQuery/closest()は便利
2012年08月30日
まずは、それぞれが指し示すもののおさらい。
  ①$(this).parent().parent('tr')
  ②$(this).parents('tr')  または$(this).parents().find('tr')
  ③$(this).closest('tr')
┌──────────────────────────────────────┐
│└tr          ←②                                                          │
│  └td                                                                      │
│    └table                                                                 │
│      └tr    ←①②③                                                      │
│        └td                                                                │
│          └this                                                            │
└──────────────────────────────────────┘
帯に短し(parent()=厳密に指定する必要あり)、
襷に長し(parents()=余計なものも拾ってくる恐れあり)。
closest()さんは便利なのです。

┌──────────────────────────────────────┐
│└tr                                                                        │
│  └某                                                                      │
│    └this                                                                  │
└──────────────────────────────────────┘
なのか
┌──────────────────────────────────────┐
│└tr                                                                        │
│  └某                                                                      │
│    └某                                                                    │
│      └this                                                                │
└──────────────────────────────────────┘
なのか、微妙な時に、parent()じゃ無理だけど、parents()じゃ心もとない。
そんな時にはclosest()さん。
分類:jQuery
jQuery/.attr()と.prop()の違い
2012年08月29日
毎度、毎度、混乱すると「.attr('disabled', 'disabled');」
「.prop('disabled', true);」の違い。

いい加減まとめておかねば、また混乱しそう。

まずjQuery1.6で「.prop()」が追加されたらしい。

inputタグとかでは、「.attr('value')」は初期値(既定値)を取得するけど
「.prop('value')」は入力中の値を取得できるらしい。

ま、これが両者の個性を端的に示す一例ってことだろう。

ま、当初は明確に分離しようとしてたらしいけど反発をくらって
「.attr()」が後方互換を維持することになり、
「.attr()」⊃「.prop()」ってことらしい(だからややこしい)。

基本、HTML属性は「.attr()」、JavaScriptプロパティは「.prop()」って
覚えればいいらしく、「.attr('disabled', 'disabled');」より
「.prop('disabled', true);」が推奨みたい。

う~ん、disabledってHTML属性じゃないのか。。。?

あ、動的に変化するやつ、させるやつは「.prop()」なんだ。

静的=「.attr()」、動的=「.prop()」なのだね、納得。
分類:jQuery
JSON/$.get()で取得…できてんの?
2012年08月28日
┌──────────────────────────────────────┐
│$.getJSON(宛先,                                                             │
│          function(配列) {                                                  │
│          }                                                                 │
│);                                                                          │
└──────────────────────────────────────┘
と書くべきところ、何を勘違いしていたのか以下のように書いていた。
┌──────────────────────────────────────┐
│$.get(宛先,                                                                 │
│      function(配列, status) {                                              │
│      },                                                                    │
│      'json'                                                                │
│);                                                                          │
└──────────────────────────────────────┘
マニュアルそんな構文はない(みたい)。
でも、動くんだよなぁ。


追記:あ、一部のマニュアルに受信データのタイプも指定できるって載ってた。。。
分類:JSON
JSON/$.getJSON()の第二引数
2012年08月27日
┌──────────────────────────────────────┐
│$.getJSON(宛先,                                                             │
│          function(json) {                                                  │
│          }                                                                 │
│);                                                                          │
└──────────────────────────────────────┘
で、いいところ、ご丁寧に以下のように書いていた。
┌──────────────────────────────────────┐
│$.getJSON(宛先,                                                             │
│          {},                                                               │
│          function(json) {                                                  │
│          }                                                                 │
│);                                                                          │
└──────────────────────────────────────┘
そりゃね、リファレンスで正式なのは引数三つのバージョンですから。

で、第二引数って何?キーと値の組み合わせ?

キーと値の組み合わせ?ってことは、JSON?

JSONってことは、コールバックで受け取るJSONデータを疑似れたりするの?

ってことは、空データを定義したりすると、
受け取ったJSONデータを空データと置き換えたりしないの?

って思った心配になったけど、どうやら、
第二引数は宛先のGETパラメータになってくれるものらしい。

だから空データでも問題なかったのか。
分類:JSON
JSON/JSONデータの行方(2)
2012年08月26日
送信側(PHP)はJSON形式で生成して出力。
┌──────────────────────────────────────┐
│echo <<<___JSON___                                                          │
│{                                                                           │
│    "col1":{$num},                                                          │
│    "col2":"{$str}"                                                         │
│}                                                                           │
│                                                                            │
│___JSON___;                                                                 │
└──────────────────────────────────────┘

受信側(JavaScript)は配列として受信。
┌──────────────────────────────────────┐
│$.getJSON(宛先,                                                             │
│          function(配列) {                                                  │
│          }                                                                 │
│);                                                                          │
└──────────────────────────────────────┘
$.getJSON()だと、配列として取得したくれるらしい。
分類:JSON
JSON/JSONデータの行方(1)
2012年08月25日
送信側(JavaScript)はJSON形式で生成してPOST。
┌──────────────────────────────────────┐
│$.post(宛先,                                                                │
│       JSONデータ,                                                          │
│       コールバック関数,                                                    │
│       'json'  ←★                                                         │
│);                                                                          │
└──────────────────────────────────────┘

受信側(PHP)は配列として受信。
┌──────────────────────────────────────┐
│$_POST[配列]                                                                │
└──────────────────────────────────────┘

$.post()でJSON形式だよと宣言(★の部分)しておけば、配列になってくれるらしい。
分類:JSON
PHP/PHPバージョンの取得
2012年08月24日
┌──────────────────────────────────────┐
│phpversion()                                                                │
└──────────────────────────────────────┘
の一択だろう。

でも、他にもいろいろ。

Apache関数を利用する例1。
┌──────────────────────────────────────┐
│preg_replace('/^.* PHP\//', '', apache_get_version())                       │
└──────────────────────────────────────┘

Apache関数を利用する例2。
┌──────────────────────────────────────┐
│preg_match('/(?<=PHP\/)\d(?:\.\d+)*/', apache_get_version(), $v);           │
│$v[0]                                                                       │
└──────────────────────────────────────┘
PHP/Apacheバージョンの取得
2012年08月23日
┌──────────────────────────────────────┐
│apache_get_version()                                                        │
└──────────────────────────────────────┘
上記のApache関数を使うと「Apache/2.2.22 (Win32) PHP/5.3.13」のような
文字列を取得できる。

後は、正規表現で…。
┌──────────────────────────────────────┐
│preg_replace('/^Apache\/| .*$/', '', apache_get_version())                  │
└──────────────────────────────────────┘
→「2.2.22」

┌──────────────────────────────────────┐
│preg_match('/(?<=Apache\/)\d(?:\.\d+)*/', apache_get_version(), $v);        │
│$v[0]                                                                       │
└──────────────────────────────────────┘
→「2.2.22」
分類:PHP
PostgreSQL/バージョンをSQL文で
2012年08月22日
PostgreSQLのバージョンをSQL文で知るためには?
┌──────────────────────────────────────┐
│SELECT version();                                                           │
└──────────────────────────────────────┘
「PostgreSQL 9.1.3, compiled by Visual C++ build 1500, 64-bit」みたいな結果が
得られる。

これから正規表現を使って、先頭だけ抜き出すと…。
┌──────────────────────────────────────┐
│SELECT SUBSTRING(VERSION() FROM '^PostgreSQL \d(?:.\d+)*');                 │
└──────────────────────────────────────┘
「PostgreSQL 9.1.3」が抽出できる。

さらには括弧で囲うと…。
┌──────────────────────────────────────┐
│SELECT SUBSTRING(VERSION() FROM '^PostgreSQL (\d(?:.\d+)*)');               │
└──────────────────────────────────────┘
「9.1.3」のみが抽出できる。
分類:PostgreSQL
PostgreSQL/最小値と最大値
2012年08月20日
定数とか充実してりゃいいんだけど・・・。
┌─────┬───┬────────────────────────────┐
│smallint  │最小値│-32768                                                  │
│          │最大値│+32767                                                  │
├─────┼───┼────────────────────────────┤
│integer   │最小値│-2147483648                                             │
│          │最大値│+2147483647                                             │
├─────┼───┼────────────────────────────┤
│bigint    │最小値│-9223372036854775808                                    │
│          │最大値│9223372036854775807                                     │
├─────┼───┼────────────────────────────┤
│serial    │最小値│1                                                       │
│          │最大値│2147483647                                              │
├─────┼───┼────────────────────────────┤
│bigserial │最小値│1                                                       │
│          │最大値│9223372036854775807                                     │
├─────┼───┼────────────────────────────┤
│money     │最小値│-21474836.48                                            │
│          │最大値│+21474836.47                                            │
├─────┼───┼────────────────────────────┤
│date      │最小値│'epoch'::date                                           │
├─────┼───┼────────────────────────────┤
│timestamp │最小超│'-infinity'::timestamp                                  │
│          │最小値│'epoch'::timestamp                1970-01-01 00:00:00+00│
│          │最大超│'infinity'::timestamp                                   │
└─────┴───┴────────────────────────────┘
分類:PostgreSQL
前へ 1 2 3 次へ