MW211 EXIT

devlog
PostgreSQL/空白除去検索
2013年08月23日
「1 - 1」というデータを「1-1」で検索したい場合。
┌──────────────────────────────────────┐
│SELECT 列                                                                   │
│    FROM 表                                                                 │
│    WHERE replace(検索列, ' ', '') = '検索文字';                            │
├──────────────────────────────────────┤
│SELECT 列                                                                   │
│    FROM 表                                                                 │
│    WHERE replace(検索列, ' ', '') LIKE '%検索文字%';                       │
└──────────────────────────────────────┘
それに加えて、「1-1」というデータを「1 - 1」でも検索したい場合。
┌──────────────────────────────────────┐
│SELECT 列                                                                   │
│    FROM 表                                                                 │
│    WHERE replace(検索列, ' ', '') = replace('検索文字', ' ' ,'');          │
├──────────────────────────────────────┤
│SELECT 列                                                                   │
│    FROM 表                                                                 │
│    WHERE replace(検索列, ' ', '') LIKE replace('%検索文字%', ' ' ,'');     │
└──────────────────────────────────────┘
分類:PostgreSQL
HTML/画面の遷移方法いろいろ
2013年08月22日
画面の遷移方法をまとめた(jQueryを使用)。

(1) アンカーリンクを使う方法
  ┌────────────────────────────────────┐
  │<a href="遷移先.htm">遷移!</a>                                         │
  └────────────────────────────────────┘
(2) window.open()を使う方法
  ┌────────────────────────────────────┐
  │<input type="button" value="遷移!"/>                                   │
  ├────────────────────────────────────┤
  │$(':button[value="遷移!"]').click(function() {                         │
  │    window.open('遷移先.htm', '_top');                                  │
  │});                                                                     │
  └────────────────────────────────────┘
(3) POST送信を使う方法
  ┌────────────────────────────────────┐
  │<form method="post" action="遷移先.htm">                                │
  │<input type="submit" value="遷移!"/>                                   │
  │</form>                                                                 │
  └────────────────────────────────────┘
(4) POST送信を使う方法(jQueryで向き先変更)
  ┌────────────────────────────────────┐
  │<form method="post" action="ダミー.htm">                                │
  │<input type="button" value="遷移!"/>                                   │
  │</form>                                                                 │
  ├────────────────────────────────────┤
  │$(':button[value="遷移!"]').click(function() {                         │
  │    $('form').attr('action', '遷移先.htm');                             │
  │    $('form').submit();                                                 │
  │});                                                                     │
  └────────────────────────────────────┘
分類:JavaScript、HTML
Linux/ダミーファイルの作成方法
2013年08月21日
ディスクをいっぱいにしたい時などのダミーファイル作成方法。
┌──────────────────────────────────────┐
│$ dd if=/dev/zero of=testdata bs=1024 count=100                             │
│100+0 records in                                                            │
│100+0 records out                                                           │
├──────────────────────────────────────┤
│$ ls -l                                                                     │
│-rw-rw-r--    1 root     root       102400 Sep 10 14:22 testdata            │
└──────────────────────────────────────┘
上記のようにすれば100KBの空ファイルが作成される。
「/dev/zero」は「\0」の塊を指す特殊ファイルで、これを入力ファイルとして
任意の出力ファイルに出力すればよい。
「bs=1024」はブロックサイズ(1024(=1KB)程度でよいだろう)で、
「count=100」はそのブロックの回数、つまり「bs」×「count」がサイズとなる。
分類:Linuxシェル
C/ファイルがいっぱい時の書込エラー
2013年08月20日
ファイルがいっぱいになった時の書込エラーは「fwrite()」ではなく
「fclose()」(失敗時は戻り値≠0)で発生する。

「fflush()」するのが「fwrite()」ではなく「fclose()」なので
当たり前の話だが、見落としがちだ。
分類:C/C++
ExcelVBA/代入の基本
2013年08月19日
┌──────────────────────────────────────┐
│Cells(y, x).Value   = "abc"     →値                                        │
│Cells(y, x).Formula = "=a1+b2"  →数式                                      │
│Cells(y, x).Text    = "001"     →表示された状態(書式付)                    │
└──────────────────────────────────────┘
分類:ExcelVBA
ExcelVBA/乱数設定
2013年08月18日
選択した範囲に、適当な値を入力するマクロ。
┌──────────────────────────────────────┐
│Sub 乱数設定()                                                              │
│    Randomize                                                               │
│    Dim i As Range                                                          │
│    For Each i In Selection                                                 │
│        i.Value = Int(Rnd * 10)                                             │
│    Next i                                                                  │
│End Sub                                                                     │
└──────────────────────────────────────┘
分類:ExcelVBA
JavaScript/一文字ずつ処理
2013年08月17日
文字列を一文字ずつ切り出して処理をする場合には、「.substr()」メソッドを使う。
┌──────────────────────────────────────┐
│for (var i = 0; i < 文字列.length; i++) {                                   │
│    一文字 = 文字列.substr(i, 1);                                           │
│}                                                                           │
└──────────────────────────────────────┘

裏技的には、「.split('')」メソッドを使って配列に分割してしまう手もある。
┌──────────────────────────────────────┐
│var 配列 = 文字列.split('');                                                │
│for (var i = 0; i < 配列.length; i++) {                                     │
│    一文字 = 配列[i];                                                       │
│}                                                                           │
└──────────────────────────────────────┘
分類:JavaScript
PostgreSQL/前後のIDを取得
2013年08月14日
昇順の一意ID(列)を基準として、前後のIDを調べる場合のSQL文。

先頭および末尾においては、その先がNULLになるパターン。
┌──┬───────────────────────────────────┐
│前へ│SELECT 列                                                             │
│    │    FROM 表                                                           │
│    │    WHERE 列 < 値                                                     │
│    │    ORDER BY 列 DESC                                                  │
│    │    LIMIT 1;                                                          │
├──┼───────────────────────────────────┤
│次へ│SELECT 列                                                             │
│    │    FROM 表                                                           │
│    │    WHERE 列 > 値                                                     │
│    │    ORDER BY 列 ASC                                                   │
│    │    LIMIT 1;                                                          │
└──┴───────────────────────────────────┘

先頭および末尾においては、一周するパターン。
┌──┬───────────────────────────────────┐
│前へ│SELECT coalesce((SELECT 列                                            │
│    │                     FROM 表                                          │
│    │                     WHERE 列 < 値                                    │
│    │                     ORDER BY 列 DESC                                 │
│    │                     LIMIT 1),                                        │
│    │                (SELECT max(列)                                       │
│    │                     FROM 表));                                       │
├──┼───────────────────────────────────┤
│次へ│SELECT coalesce((SELECT 列                                            │
│    │                     FROM 表                                          │
│    │                     WHERE 列 > 値                                    │
│    │                     ORDER BY 列 ASC                                  │
│    │                     LIMIT 1),                                        │
│    │                (SELECT min(列)                                       │
│    │                     FROM 表));                                       │
└──┴───────────────────────────────────┘
分類:PostgreSQL
JavaScript/inArray関数
2013年08月13日
jQueryの…
┌──────────────────────────────────────┐
│$.inArray(要素, 配列);                                                      │
└──────────────────────────────────────┘
上記をJavaScript関数で代用する方法。
┌──────────────────────────────────────┐
│function inArray(要素, 配列) {                                              │
│    for (var key in 配列) {                                                 │
│        if (key == 要素) {                                                  │
│            return true;                                                    │
│        }                                                                   │
│    }                                                                       │
│    return false;                                                           │
│}                                                                           │
└──────────────────────────────────────┘
分類:JavaScript
JavaScript/10進と16進の変換
2013年08月12日
10進を16進に変換する場合には、「.toString(16)」を使う。
┌──────────────────────────────────────┐
│16進数小文字 = 10進数.toString(16);                                         │
├──────────────────────────────────────┤
│16進数小文字 = 10進数.toString(16).toLowerCase();                           │
│16進数大文字 = 10進数.toString(16).toUpperCase();                           │
└──────────────────────────────────────┘

16進を10進に変換する場合には、「parseInt(,16)」を使う。
┌──────────────────────────────────────┐
│10進数 = parseInt(16進数, 16);                                              │
└──────────────────────────────────────┘
分類:JavaScript
前へ 1 … 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 … 156 次へ