MW211 EXIT

devlog
jQuery/キー入力による表示位置移動
2013年08月31日
「<div id="point"><div>」を上下左右キー入力で移動させるサンプル。
┌──────────────────────────────────────┐
│$(window).keydown(function(e) {                                             │
│    switch (e.keyCode) {                                                    │
│        case 37:    // ←                                                   │
│            $('#point').css('left', $('#point').position().left - 16);      │
│            break;                                                          │
│        case 38:    // ↑                                                   │
│            $('#point').css('top' , $('#point').position().top  - 16);      │
│            break;                                                          │
│        case 39:    // →                                                   │
│            $('#point').css('left', $('#point').position().left + 16);      │
│            break;                                                          │
│        case 40:    // ↓                                                   │
│            $('#point').css('top' , $('#point').position().top  + 16);      │
│            break;                                                          │
│    }                                                                       │
│});                                                                         │
└──────────────────────────────────────┘
分類:jQuery
PHP配列/配列が全て空であることの判定
2013年08月28日
全ての要素が、FALSE相当(FALSE、NULL、0、'0'、''、array())の場合に検出。
┌──────────────────────────────────────┐
│$empty = array_filter($配列);                                               │
│if (empty($empty)) {                                                        │
│    return '全て空です';                                                    │
│} else {                                                                    │
│    return '空ではありません';                                              │
│}                                                                           │
└──────────────────────────────────────┘

全ての要素が、空文字相当(FALSE、NULL、'')の場合に検出。
┌──────────────────────────────────────┐
│$empty = array_filter($配列, 'strlen');                                     │
│if (empty($empty)) {                                                        │
│    return '全て空です';                                                    │
│} else {                                                                    │
│    return '空ではありません';                                              │
│}                                                                           │
└──────────────────────────────────────┘
なお、要素が(子)配列(array())の場合はエラーとなるので注意。
分類:PHP配列
設計/Web画面の入出力
2013年08月27日
Web画面における入出力情報をまとめてみた。
【入力】
  ・URL
  ・GETパラメータ
  ・POSTパラメータ
  ・ファイルアップロード
【出力】
  ・画面表示
  ・ファイルダウンロード
  ・メール送信
分類:設計
PostgreSQL/分を時間に換算するSQL文
2013年08月26日
以下のような感じ。
┌──────────────────────────────────────┐
│to_char(to_timestamp(分||'','MI'),'HH24:MI')                                │
└──────────────────────────────────────┘

例えば、150分を2時間30分に換算する場合には以下となる。
┌──────────────────────────────────────┐
│SELECT to_char(to_timestamp(150||'','MI'),'HH24:MI');                →02:30│
└──────────────────────────────────────┘
分類:PostgreSQL
シェル/ファイル分割
2013年08月25日
「EOF」という文字のある行を境にファイルを分割するシェル。
┌──────────────────────────────────────┐
│#!/bin/sh                                                                   │
│sed '1,/EOF/{ w out1.txt                                                    │
│d                                                                           │
│}' in.txt > out2.txt                                                        │
└──────────────────────────────────────┘
分類:Linuxシェル
PostgreSQL/パスワードを調べる方法
2013年08月24日
以下のSQL文で。
┌──────────────────────────────────────┐
│SELECT "usename",                                                           │
│       "passwd"                                                             │
│    FROM "pg_shadow";                                                       │
└──────────────────────────────────────┘
但し、md5変換後の値なので(しかも単純に変換しているわけではない)、
元の値はわからない。

何かと同じパスワードに設定していたっけかなの確認ぐらいには使えそう。
分類:PostgreSQL
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++
前へ 1 2 3 次へ