2012/07/01

Word:mac2011でアウトライン表示・下書き表示の改行設定

ホームページ制作等で原稿を作成するときに、アウトラインプロセッサを使うと効率良く文章が作れることがあります。
アウトラインプロセッサとは、大まかな文章構成を決め、見出しを先に作っておいて、その見出し毎にブロック単位で記述を追加していけるもので、全体の構成がツリー表示され、全体の中での編集位置を把握しながら文章を追加していけるものです。
ブロック単位で階層構造を上下に移動させたり、位置を入れ替えたりすることが出来ますので、ホームページのページ構成を検討する際に便利です。

このアウトラインプロセッサ専用ソフトも数多く存在しますが、ホームページ制作時に原稿としてWord文書が支給される事が多いため、Wordのアウトラインプロセッサ機能を使っています。
ただ、使用の際、デフォルトでは改行位置が決まっていて、ウィンドウ幅まで文字を表示させたい場合、設定を変えなくてはいけません。
Windows用Wordの設定変更方法は、Webのあちこちに掲載されているのですが、mac版での情報が少ないため、まとめておきます。
メニューバーの【word】から【環境設定】を選択します。
環境設定ウィンドウが表示されますので、その中の【表示】をクリックします。

その中の【ウィンドウ】項目内にある、【ウィンドウ幅に合わせる】にチェックを入れて【OK】をクリックします。
改行がウィンドウ幅でされるようになります。
この「ウィンドウ幅に合わせる」オプションは、下書き表示とアウトライン表示の時のみ有効でそれ以外の表示モードでは、用紙設定に依存します。
ホームページの原稿を作成する場合に、wordのアウトラインモードを利用してみて下さい。

2012/05/26

エスケープが必要な文字

Perlで文字の置き換えを行うのは非常に簡単ですが、特別な意味を持つ文字が含まれている場合、エスケープが必要になります。
エスケープとは、\(バックスラッシュ)もしくは¥(円マーク)をその文字の前につけて、特別な意味を無効にする事です。
以下、エスケープが必要な文字です。
¥ * + . ? { } ( ) [ ] ^ $ - | /
URLで使用する事の多い、「.」や「/」も含まれているため、ハマリがちです。

2012/04/26

li,dt,ddで画像の上下の隙間を詰める方法

li,dt,ddで画像を並べる際に、画像の上下に隙間ができます。隙間無く表示させたいとき、marginやpaddingを0pxにしても詰まらないですよね。
そんな時には、以下の2つの方法があります。

imgにvertical-align:bottom;を指定する方法

li img, dt img dd,img {
    vertical-align: bottom;
}

font-sizeとline-heightを0pxにする方法

li, dt, dd {
    font-size: 0px;
    line-height: 0px;
}

2012/04/06

htmlspecialcharsを使う

PHPでWebアプリケーションを開発するにあたり、htmlspecialcharsは非常によく使う関数です。Webページでは、タグに使用される文字、
< > & '
の様な文字をホームページ上に表示させるためには、
< > & "
と置き換える(エンコード)必要があります。その置き換えをしてくれるのが、htmlspecialchars関数です。

逆に、エンコードされた文字を元の文字に変換したい場合(デコード)に、phpのバージョンによって使える関数が違うため、はまってしまう事があります。

php5.2以上であれば、htmlspecialchars関数の逆を行ってくれる関数が用意されています。
htmlspecialcharas_decode関数
それ以下のバージョンを使用している場合は、
html_entity_decode("変換したい文字列", ENT_NOQUOTES)
を使う事で同等の事が可能です。

2012/03/18

動的アドレスを静的アドレスへ変換

PHPやCGIでシステムを構築すると、URLに動的アドレスを入れる必要があります。
しかし、アドレスに「?」や「&」が入るのが嫌な時があります。
そんな時には、.htaccessファイルを利用してアドレスを書き換える事が出来ます。

例えば、test.php?id=123をtestpage-123.htmlに書き換えたいとき、
RewriteEngine on
RewriteRule ^testpage-([0-9]+)¥.html$ test.php?id=$1
と記述すれば、testpage-123.htmlでアクセスが可能になります。
引数が2つ以上の場合、例えば、test.php?id=123&ct=456をtestpage-123_456.htmlに書き換えたい場合は、
RewriteEngine on
RewriteRule ^testpage-([0-9]+)_([0-9]+)¥.html$ test.php?id=$1&ct=$2
となるわけです。
これで、testpage-123_456.htmlでアクセスが可能になります。

2012/03/07

sendmailのログ出力について

サーバー管理でsendmailのログをチェックするときに、怪しい配信等で細かに挙動をチェックしたいときがあります。
そんな時に、/var/log/maillogを確認するわけですが、実はこのログ出力の詳細レベルを変更することが出来ます。

sendmailの設定ファイル、sendmail.cfの中にあるconfLOG_LEVELがそれで、0〜98までが設定でき、通常は0〜15を設定します。16以上はデバッグで使用されます。

デフォルトでは9ですので、特に通常時は9のまま運用すれば良いですが、より細かな内容をチェックしたいときには、9以上を設定します。

sendmailの挙動がおかしい場合など、解決の糸口をつかむためにもお試し下さい。

2012/02/03

ウィンドウの高さに合わせたブロック要素

CSSで高さ100%のブロック要素を作成したい場合、heightプロパティに対して100%の指定をしても反映されません。

これは、CSSの仕様で、親要素のheightに対しての割合で反映されるため、親要素に明示的にheightが指定されていない場合は、height:autoが継承されるようになっています。

ウィンドウの高さに合わせたブロック要素を作成したい場合、htmlタグとbodyタグのheightプロパティを100%と指定しておくことにより、height100%のdiv要素を作成することが出来ます。

2012/01/28

Macでのインターネット共有

最近はWiFiにつなぐ機器を持ち歩く事が多くなりました。
iPhoneやiPad、そしてもちろんMacBookです。
ホテル等で有線LANが提供されている場合は、MacBookと有線LANを接続し、インターネット共有をONにする事で、MacBookをアクセスポイントとして利用する事が出来ます。

設定する箇所は、

  • 共有する接続経路を「Ehternet」にする。
  • 相手のコンピュータが使用するポートを「AirMac」にする。
  • 「AirMacオプション」で、適当なネットワーク名(半角英数字)と、暗号化の設定をする。(しなければ電波の届くところなら誰でも接続出来てしまいますので、なるべく設定して下さい。)
で、簡単に利用する事が出来ます。

しかし、最近はWiFiのみ提供されている場合があり、有料の場合、WiFiに接続する機器毎に課金される事になりますので、コストがかかります。
そんな時、小型の無線LAN親機を利用すれば、解決出来ます。

MacBookで公衆無線LANに接続し、無線LAN親機のWANポートをMacBookのEthernetにつなぎます。
次に、インターネット共有設定を行うわけですが、ここで、MacBookのEthernet設定を変更しなくてはいけません。

設定する手順は、
  • システム環境設定の「ネットワーク」よりEthernetの設定を開きます。
  • IPv4の構成を手入力にし、IPアドレスは「192.168.2.1」サブネットマスク「255.255.255.0」に変更
  • 「共有」から「インターネット共有」で、共有する接続経路を「AirMac」にする。
  • 相手のコンピュータが使用するポートを「Ethernet」にする。
そして、無線LAN親機のWAN設定で、
  • アドレス設定を手動にして、IPアドレスを「192.168.2.2」ネットマスク「255.255.255.0」ルータを「192.168.2.1」DNS「192.168.2.1」とする。
そうすることで、MacBookのAirMacのインターネット接続を、Ethernetポート経由の無線LAN親機をアクセスポイントとして、複数端末を同時にインターネットへ接続する事が可能です。

2012/01/23

GDで日本語フォントの使用

PHPで開発を行う際、GDで日本語フォントを使う際に、注意しないと文字化けが起こります。
最近ではUTF-8が標準になりつつありますが、過去の資産や開発環境によって、日本語コードに、EUC、JIS、Shift-JISを使用しなければならない場合もあります。

GDの環境情報を取得する場合、
gd_info();
にて確認が出来ます。
その返値で、'JIS-mapped Japanese Font Support' が TRUE の場合は、GD側にてコード変換が行われますので、特に対処は必要ありませんが、FALSE の場合は、UTF-8 へ変換しなければ文字化けしてしまいます。
mb_convert_encording("[出力する文字列]", "UTF-8", "[使用日本語コード]");

2012/01/07

PHPでのメモリ不足

PHPでプログラム作成時、プログラムが動作しないので、サーバーログを見ると
PHP Fatal error: Allowed memory size of xxxxxxx bytes exhausted
と、エラーを出力していました。
今回は、GDライブラリで画像加工を行っているため、メモリが必要になったのだと思われます。

PHPで割り当てメモリを増やす方法としては、

方法1)
php.iniのmemory_limitを増やして再起動
方法2)
該当スクリプトに、
ini_set("memory_limit","●●M");
と●●に増やしたいサイズを指定する。
の方法があります。