MW211 EXIT

devlog
Linux/ファイル検索
2014年07月14日
┌──────────────────────────────────────┐
│find パス -name ファイル名                                                  │
└──────────────────────────────────────┘
パス配下(孫階層以降も含む)から、指定したファイル名を検索し
結果をフルパスで表示(出力)してくれる。

例としては、以下のような感じ。
┌──────────────────────────────────────┐
│find / -name hoge.txt                                                       │
└──────────────────────────────────────┘
分類:Linuxシェル
Excel/互換性チェックのダイアログ
2014年07月13日
互換性チェックのダイアログのチェックボックスをうっかりはずしてしまった場合。
┌──────────────────────────────────────┐
│Microsoft Excel - 互換性チェック                                            │
│┌────────────────────────────────────┐│
│└────────────────────────────────────┘│
│□このブックを保存するときに互換性を確認する                                │
└──────────────────────────────────────┘

以下の順で、実行し、同ダイアログを再表示し、チェックボックスを入れればよい。
  ファイル>情報>問題のチェック>互換性チェック
分類:Excel
Web画面設計/あるある(2)ボタンとタイトルの兼用
2014年07月12日
複数タイトルがあり、そのタイトルを押すことにより中身が表示される
…なんてケースで。

必然的というべきか、ボタンとタイトルが兼用状態となる。

でも…。

ボタンって結構「押せますよ」ってことをアピールする、
つまり目立ちたがり屋な訳だ。

一方、押しても何も変化しないタイトルは控えめになりがち。

っていうか、タイトルが目立ち過ぎてボタンの存在が霞むのもまずい。

ということで、綱引きが始まる訳です。
分類:設計
Web画面設計/あるある(1)プルダウンのボタン化
2014年07月11日
ボタンを押す都度ボタン内容を変更することにより、
プルダウンメニューと同等のUIを実現できたと思ったが…。

…submitのタイミングがわからない。

ボタンが変わる都度submitしてたのでは無駄な画面更新が頻発する。
しかし、どこでボタンを確定したかはわからない(変化が止まったのを検知する?)。
となると、別途「確定」ボタンが…。
これでは本末転倒。
ボタンを変更しただけでは確定されないのでは意味がない。

プルダウンメニューはあなどれない。
分類:設計
C/空文字の設定方法
2014年07月08日
文字列に「」(空文字)を設定する方法はいくつかあるのでまとめてみた。
#PHPとかでいう「文字列変数 = ""」の処理

┌──────────────────────────────────────┐
│char  c[4];                                                                 │
└──────────────────────────────────────┘
サンプルは上記として、以下のような方法がある。

┌─┬────────────────────────────────────┐
│ 1│c[0] = 0;                                                               │
├─┼────────────────────────────────────┤
│ 2│memset(c, 0, sizeof(c));                                                │
├─┼────────────────────────────────────┤
│ 3│snprintf(c, sizeof(c), "");                                             │
└─┴────────────────────────────────────┘
1は最速だが、ぱっとみわかりづらい。いかにもC言語って書き方。
2と3は若干遅いがすっきりしている。
3はなんでもかんでも「snprintf()」派って感じのイレギュラーなやつだ。

但し「c = ""」はダメなので注意のこと。
分類:C/C++
C/snprintfは便利な関数
2014年07月07日
文字列を代入するにはこの関数は便利。
┌──────────────────────────────────────┐
│snprintf(出力先, sizeof(出力先), 入力元);                                   │
├──────────────────────────────────────┤
│snprintf(buf, sizeof(buf), "123");                                          │
└──────────────────────────────────────┘
┌──────────────────────────────────────┐
│snprintf(出力先, sizeof(出力先), 書式, パラメータ, …);                     │
├──────────────────────────────────────┤
│snprintf(buf, sizeof(buf), "%s-%d", s, d);                                  │
└──────────────────────────────────────┘
こんな感じで使う。

何よりも便利なのは、出力先の末尾に必ずNULLが保証されること。

以下のような場合でも
┌──────────────────────────────────────┐
│char  buf[4];                                                               │
│snprintf(buf, sizeof(buf), "1234");                                         │
└──────────────────────────────────────┘
「1234」ではなく「123+NULL」となってくれる。
最後の一文字は紛失してしまうが、文字の終わりがなくなってしまうので
その恐怖(「%s」とかで出力した場合に例外など)に比べれば全然問題ない。

これが「memcpy()」だと「-1」とかややこしい数式が必要になってくる。
┌──────────────────────────────────────┐
│char  buf[4];                                                               │
│memset(buf, 0, sizeof(buf));                                                │
│memcpy(buf, "1234", sizeof(buf) - 1);                                       │
└──────────────────────────────────────┘

すっごい便利。

但し、高機能ゆえの弱点で処理速度が若干遅いらしい。そこだけは気を付けて。
分類:C/C++
Firefox/戻るボタンの挙動
2014年07月06日
以下のような処理を通って、「飛び先URL②」へ飛んだ後で…。
┌──────────────────────────────────────┐
│<form method="post" action="飛び先URL①">                                   │
├──────────────────────────────────────┤
│document.forms[0].action = '飛び先URL②';                                   │
│document.forms[0].submit();                                                 │
└──────────────────────────────────────┘

ブラウザの「戻る」ボタンで元の画面に戻って、
以下のような処理で再度実行したとする…。
#条件分岐で「'飛び先URL②'」の代入をスキップしたとする
┌──────────────────────────────────────┐
│<form method="post" action="飛び先URL①">                                   │
├──────────────────────────────────────┤
│document.forms[0].submit();                                                 │
└──────────────────────────────────────┘

(「document.forms[0].action」の値に従い)
IEやChromeであれば「飛び先URL①」に飛ぶのに対して
Firefoxだと、「飛び先URL②」に飛んでしまう。

前に表示した時の内容を記憶しているからのようだ。
分類:ブラウザ
Linux/システム時刻を確認するコマンド
2014年07月04日
「date」

結果例)「Wed Aug 27 14:33:48 JST 2014」
分類:Linuxシェル
PHP/表示のタイミング
2014年07月03日
情報量の多いページの場合、以下の二つのパターンがある。
  (1) 部分的に徐々に表示する
  (2) 全部出揃うまでは表示せず、最後に一気に表示する

たいては、(2)なのだが、それは「php.ini」の以下の設定による。
┌──────────────────────────────────────┐
│implicit_flush = Off                                                        │
└──────────────────────────────────────┘

これを「On」にすると、「echo」などを行う場合、都度、「flush()」で出力され
部分的に表示される形となる。

但し、「On」にすると著しい性能低下を生じさせるので、
これをするのはやむを得ないデバッグの時に限定すべきらしい。
分類:PHP
設計/型大全
2014年07月02日
┌──────────┬───────────────┬───────────┐
│char_t              │character                     │文字( 8ビット文字)    │
│char                │character                     │                      │
├──────────┼───────────────┼───────────┤
│string              │character string              │文字列                │
└──────────┴───────────────┴───────────┘
┌──────────┬───────────────┬───────────┐
│numeric             │numeric                       │数値(小数)            │
├──────────┼───────────────┼───────────┤
│decimal             │decimal                       │小数                  │
└──────────┴───────────────┴───────────┘
┌──────────┬───────────────┬───────────┐
│short               │short integer                 │短精度整数            │
│signed short        │signed short integer          │符号あり短精度整数    │
│unsigned short      │unsigned short integer        │符号なし短精度整数    │
├──────────┼───────────────┼───────────┤
│int                 │integer                       │整数                  │
│signed int          │signed integer                │符号あり整数          │
│unsigned int        │unsigned integer              │符号なし整数          │
├──────────┼───────────────┼───────────┤
│long                │long integer                  │長精度整数            │
│signed long         │signed long integer           │符号あり長精度整数    │
│unsigned long       │unsigned long integer         │符号なし長精度整数    │
├──────────┼───────────────┼───────────┤
│long long           │double long integer           │倍長精度整数          │
│signed long long    │signed double long integer    │符号あり倍長精度整数  │
│unsigned long long  │unsigned double long integer  │符号なし倍長精度整数  │
└──────────┴───────────────┴───────────┘
┌──────────┬───────────────┬───────────┐
│int8_t              │signed 8-byte integer         │符号あり 8ビット整数  │
│signed char         │signed character              │(符号あり文字)        │
├──────────┼───────────────┼───────────┤
│uint8_t             │unsigned 8-byte integer       │符号なし 8ビット整数  │
│unsigned char       │unsigned character            │(符号なし文字)        │
│byte                │byte                          │( 1バイト文字)        │
├──────────┼───────────────┼───────────┤
│int16_t             │signed 16-byte integer        │符号あり16ビット整数  │
│(signed short)      │                              │                      │
│(signed int)        │                              │                      │
├──────────┼───────────────┼───────────┤
│uint16_t            │unsigned 16-byte integer      │符号なし16ビット整数  │
│word                │word                          │( 2バイト文字(2×1))  │
│(unsigned short)    │                              │                      │
│(unsigned int)      │                              │                      │
├──────────┼───────────────┼───────────┤
│int32_t             │signed 32-byte integer        │符号あり32ビット整数  │
│(signed int)        │                              │                      │
│(signed long)       │                              │                      │
├──────────┼───────────────┼───────────┤
│uint32_t            │unsigned 32-byte integer      │符号なし32ビット整数  │
│dword               │double word                   │( 4バイト文字(2×2))  │
│(unsigned int)      │                              │                      │
│(unsigned long)     │                              │                      │
├──────────┼───────────────┼───────────┤
│int64_t             │signed 64-byte integer        │符号あり64ビット整数  │
│(signed long)       │                              │                      │
│(signed long long)  │                              │                      │
├──────────┼───────────────┼───────────┤
│uint64_t            │unsigned 64-byte integer      │符号なし64ビット整数  │
│qword               │quadruple word                │( 8バイト文字(2×4))  │
│(unsigned long long)│                              │                      │
│(unsigned long)     │                              │                      │
├──────────┼───────────────┼───────────┤
│float32_t           │32-byte floating point number │32ビット浮動小数点数  │
│float               │floating point number         │短精度浮動小数点数    │
├──────────┼───────────────┼───────────┤
│float64_t           │64-byte floating point number │64ビット浮動小数点数  │
│double              │double floating point number  │倍精度浮動小数点数    │
└──────────┴───────────────┴───────────┘
分類:設計
前へ 1 … 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 … 156 次へ