MW211 EXIT

devlog
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
PHP/ファイルコピー
2014年05月02日
以下の方法がある。
┌──────────────────────────────────────┐
│$contents = file_get_contents($入力元);                                     │
│file_put_contents($出力先, $contents);                                      │
├──────────────────────────────────────┤
│if ($handle = fopen($入力元, 'rb')) {                                       │
│    $contents = stream_get_contents($handle);                               │
│    fclose($handle);                                                        │
│    file_put_contents($出力先, $contents);                                  │
│}                                                                           │
└──────────────────────────────────────┘
「file_get_contents()」は一発で簡単にできるのに対して
「stream_get_contents()」は以下のように分割して処理することができる。
┌──────────────────────────────────────┐
│$contents = stream_get_contents($handle, $サイズ, $開始位置);               │
└──────────────────────────────────────┘
分類:PHP
Windows/「Program Files」配下設定ファイル
2014年05月01日
WindowsVistaやWindows7の場合、
「Program Files」配下の各種設定ファイルについて
メモ帳等で設定変更して更新しようとすると
「アクセスが拒否されました」となる。
ファイルを別途編集して上書しても同じ(ダメ)。

このフォルダのアクセス権限が強化されたらしい。

対策としては、メモ帳を「管理者として実行」で起動し、
「ファイル」を「開く」で開いていく。
#ファイルのドラック&ドロップでは開けない

ちなみに、秀丸エディタだと違うところに保存されて、
開き直すと一見更新されているように見えるが
本体にはまったく更新されていないというトラップにかかる場合がある。

「Program Files」配下の設定ファイルはメモ帳で更新した方がよさそうだ。
分類:Windows
前へ 1 2 3 次へ