MW211 EXIT

devlog
VC++/疑似例外
2014年05月12日
疑似的例外を発生させるには「throw」してあげればよい。
┌──────────────────────────────────────┐
│try {                                                                       │
│    throw("例外だよ");  // 疑似例外                                         │
│} catch(const char* str) {                                                  │
│    // 例外処理                                                             │
│}                                                                           │
└──────────────────────────────────────┘
但し、これは文字型の場合。
「CException」型だとめんどくさい。

で、これを簡単にやってくれるのが「AfxThrowUserException()」。
┌──────────────────────────────────────┐
│try {                                                                       │
│    AfxThrowUserException();  // 疑似例外                                   │
│} catch(CException *e) {                                                    │
│    // 例外処理                                                             │
│}                                                                           │
└──────────────────────────────────────┘
「不明なエラーが発生しました。」っていうメッセージで例外を起こしてくれる。

但し、初期化処理「AfxWinInit()」実行後から使用可なので注意のこと。
分類:C/C++
CSS3/画像反転防止
2014年05月11日
アイコンをクリックする時に、クリックが多すぎると
画像が反転してしまう場合があある。
これを防止する方法。

以下のようなCSSを設定すればよい。
┌──────────────────────────────────────┐
│img {                                                                       │
│    -khtml-user-select  :none;                                              │
│    -moz-user-select    :none;                                              │
│    -webkit-user-select :none;                                              │
│    user-select         :none;                                              │
│}                                                                           │
└──────────────────────────────────────┘
分類:HTML5+CSS3
設計/連想配列の対義語
2014年05月10日
「連想配列」の対義語、一般の「配列」の名称が何かいいのがないかなと思っていた。
#「配列」ってだけじゃ、何を指すのか紛らわしい

PHPのマニュアルページに答えがあった。

  「添字配列」

添字配列:a[0]、a[1]、a[2]
連想配列:$a['zero']、$a['one']、$a['two']

単純配列だの一般配列だの言っていたが、これからは「添字配列」!
Windows/時刻合わせ間隔
2014年05月09日
タイムサーバを使って時刻合わせを行う場合、タイムサーバを設定すれば、
一定間隔で時刻合わせが行われる。

では、その「一定間隔」とは?

「regedit」で以下のレジストリの値として確認できる。(「SpecialPollInterval」の値)
┌──────────────────────────────────────┐
│HKEY_LOCAL_MACHINE                                                          │
│└SYSTEM                                                                    │
│  └CurrentControlSet                                                       │
│    └services                                                              │
│      └W32Time                                                             │
│        └TimeProviders                                                     │
│          └NtpClient    →「SpecialPollInterval」の値                      │
└──────────────────────────────────────┘
分類:Windows
Windows/レジストリの内容確認
2014年05月08日
コマンドラインから「regedit」と入力すると、レジストリエディタが表示されるので、
ツリーを辿っていくと、右側に値が表示される
┌──────────────────────────────────────┐
│HKEY_LOCAL_MACHINE                                                          │
│└SOFTWARE                                                                  │
│  └Perl                                                                    │
└──────────────────────────────────────┘

パスがあらかじめ分かっている場合には、コマンドで一発で参照することも可能だ。
┌──────────────────────────────────────┐
│reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Perl"                                │
└──────────────────────────────────────┘
分類:Windows
PostgreSQL/データや設定ファイルの格納位置
2014年05月07日
PostgreSQLのデータは既定では以下のような位置に格納される。(PostgreSQL9.1の場合)
┌──────────────────────────────────────┐
│C:\Program Files\PostgreSQL\9.1\data                                        │
└──────────────────────────────────────┘
設定ファイル(postgresql.conf)もこのフォルダに直下に置かれている。

さて、このフォルダはインストール時に任意の位置に変更することができる。
(例えば容量が豊富なD:ドライブなど)

では、既に動作済みのWindows環境でこのデータフォルダの位置を確認するには?

レジストリの値を参照するのが手っ取り早そうだ。
┌──────────────────────────────────────┐
│regedit                                                                     │
└──────────────────────────────────────┘
上記でレジストリエディタを開き、以下のツリーを辿っていく。
┌──────────────────────────────────────┐
│HKEY_LOCAL_MACHINE                                                          │
│└SYSTEM                                                                    │
│  └CurrentControlSet                                                       │
│    └services                                                              │
│      └postgresql-x64-9.1                                                  │
└──────────────────────────────────────┘
で、「postgresql-x64-9.1」の「ImagePath」の値を参照する。
例えば、こんな感じ。
┌──────────────────────────────────────┐
│C:/Program Files/PostgreSQL/9.1/bin/pg_ctl.exe runservice                   │
│ -N "postgresql-x64-9.1"                                                    │
│ -D "C:/Program Files/PostgreSQL/9.1/data"                                  │
│ -w                                                                         │
└──────────────────────────────────────┘
そう、「-D」の内容が、データフォルダのパスなのだ。
分類:PostgreSQL
CSS/印刷用CSSの注意点いろいろ
2014年05月06日
・構成要素の中に「overflow:hidden;」が混じっていると
  印刷時に切れてしまう恐れがあるので、全体を表示したければ
  印刷用CSS上は「overflow:visible;」に上書するとよい

・「@page {size:landscape;}」の指定を行うと
  自動で用紙が「横」指定となるらしいが、Chromeしか効かない

・「body {zoom:50%;}」の指定を行うと全体を縮小して印刷する(値は任意)が
  これは昔のIE(IE7以前など)の専門仕様だったらしい
  ところが、IE8以降は効かないに対して、Chromeにはなぜか効いてしまう

・IEとFirefoxは「縮小して全体を印刷」的なことが既定となっているが、
  IEでは一部の場合、全体を誤認してしまい、末尾を切らしてしまう場合がある
  一方、Chromeの既定では縮小なし表示の模様
分類:CSS
CSS/印刷用CSS
2014年05月05日
「@media print {}」で囲った中で定義してあげると、印刷時のみ有効となるCSSになる。
┌──────────────────────────────────────┐
│@media print {                                                              │
│    div#header {                                                            │
│        display             :none;                                          │
│    }                                                                       │
│    div#main {                                                              │
│        top                 :0;                                             │
│    }                                                                       │
│    .noprint {                                                              │
│        display             :none !important;                               │
│    }                                                                       │
│    div#print {                                                             │
│        display             :block;                                         │
│    }                                                                       │
│}                                                                           │
└──────────────────────────────────────┘
直接その要素を(印刷時だけ)変更する方法をとる場合には、
そのセレクタを指定して定義すればよい.
上記でいえばヘッダ(div#header)を非印刷にして、
本体(div#main)をその分繰り上げている。(「position:absolute;」の場合)

また、印刷専用クラス(.noprint)を仕込んでおき、
印刷時だけ活躍させる手もある。(「!important」を付けて優先度を高めた方が安全)

非印刷とは逆に、印刷専門項目(div#print)について非表示で隠しておき、
印刷の時だけ出力させるという手法もとれる。


なお、「@media print {}」については外部ファイル指定の代替案もあり。
分類:CSS
CSS/画面全体を縮小表示する方法
2014年05月04日
CSS的には以下の通り。
┌──────────────────────────────────────┐
│body {                                                                      │
│    -webkit-transform   :scale(0.5);                                        │
│    -moz-transform      :scale(0.5);                                        │
│    -o-transform        :scale(0.5);                                        │
│    transform           :scale(0.5);                                        │
│}                                                                           │
└──────────────────────────────────────┘

jQueryに応用すると、以下のような感じ。(あ、ハッシュ化できそう)
┌──────────────────────────────────────┐
│$('body').css('-webkit-transform','scale(0.5)');                            │
│$('body').css('-moz-transform'   ,'scale(0.5)');                            │
│$('body').css('-o-transform'     ,'scale(0.5)');                            │
│$('body').css('transform'        ,'scale(0.5)');                            │
└──────────────────────────────────────┘
分類:CSS
PHP/allow_url_fopen無効時の影響
2014年05月03日
「allow_url_fopen=off」にした場合の影響
  ・以下の関数でURL指定が使えなくなる
    ・「fopen()」                →外部ファイルの読み込みができなくなる
    ・「file()」                 →外部ファイルの読み込みができなくなる
    ・「file_get_contents()」    →外部ファイルの読み込みができなくなる
    ・「filesize()」             →外部ファイルのサイズ算出ができなくなる
    ・「file_exists()」          →外部ファイルの存在判定ができなくなる
    ・「is_file()」              →外部ファイルの種別判定ができなくなる
    ・「is_readable」            →外部ファイルの読込可能判定ができなくなる
    ・「copy()」                 →外部ファイルのコピーができなくなる
    ・「unlink()」               →外部ファイルの削除ができなくなる
    ・「simplexml_load_file()」  →外部XMLファイルの読み込みができなくなる
    ・「opendir()」              →外部ディレクトリの情報を取得できなくなる
    ・「is_dir()」               →外部ディレクトリの種別判定ができなくなる
    ・「mkdir()」                →外部ディレクトリの作成ができなくなる
    ・「rmdir()」                →外部ディレクトリの削除ができなくなる
  ・以下のインクルード系関数でURL指定が使えなくなる
    (別途「allow_url_include=on」の指定も必要)
    ・「include()」              →外部ソースファイルの読み込みができなくなる
    ・「include_once()」         →外部ソースファイルの読み込みができなくなる
    ・「require()」              →外部ソースファイルの読み込みができなくなる
    ・「require_once()」         →外部ソースファイルの読み込みができなくなる
分類:PHP
前へ 1 … 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 … 156 次へ