2013年5月 のアーカイブ


日記代わりにつけているブログを、さらにfacebookにリンクをシェアしている。
いままではOGP設定していなくても本文中の画像を拾ってサムネイルにしてくれていたのが、ここ最近うまく拾ってくれないので、ざっくりOGPを吐き出すようにした。

そういうプラグインもあると思うのですが

自分用のブログで、管理をスマートに分かりやすく、という風なこともなく、分かれば良いレベルなので、カスタムフィールドに直接書いたものをテンプレートに吐き出すことにする。
やることは、ページのタイトルや本文とほぼ同じ。

こういうこと。

テンプレートをちょっと直す

header.phpを直す。直したところは以下のところ。

<html xmlns="http://www.w3.org/1999/xhtml" <?php language_attributes(); ?> xmlns:og="http://ogp.me/ns#">

<!-- OGP対応で追加 -->
<?php
$image       = get_post_meta( $post->ID, "IMG", true);
$description = get_post_meta( $post->ID, "DESC", true);
if($image) {
?>
>meta property="og:image" content="<?php echo $image; ?>">
<meta property="og:title" content="<?php wp_title( '|', true, 'right' );echo "都市文化生活"; ?>">
<meta property="og:url" content="<?php echo the_permalink();?>">
<meta property="og:description" content="<?php echo $description;?>">
<?php
}
?>

なんてことは無い、カスタムフィールドのOGPデータがあったら、それにそってOGPのヘッダーを出力しますよというもの。


サイトリニューアルのお手伝いをした。

主にトップページ回りの機能部分を担当。

このサイトの他にNEWSとブログを他ブログサービスで既に運用していて、そこからRSSを読み込んでダイジェストをトップページに表示している。

スライドショーの画像管理をwordpressの管理ページ上に追加した。スライドショーそのもののwordpressプラグインもあるが、それは使わずに画像の管理を独立して実装し、スライドショー自体はSkitterを使った。jQueryのプラグインならば何でも対応出来る。


開発あるあるネタ。

テスト環境なのでDNS登録していないサーバ名でアクセスしたい

開発中のテスト環境なので、わざわざDNSにサーバ名を登録したりせず、手元でささっとやってしまいたい。そんな時はアクセスするPCのhostsファイルを設定して使う。

名前解決という仕組み

PCでインターネット接続する際にはサーバ名からIPアドレスに変換した上でIPアドレスのサーバに通信を実施する。その名前解決の順序は、hosts→DNS問合せ の順番で行われる。なので、hostsに書くことでDNSへ問合せしないでも名前解決が出来るようになるという仕組み。

hostsファイルは極々簡単なテキストファイル

ファイルの内容はいたってシンプル。

IPアドレス サーバ名

の羅列。IPアドレスとサーバ名の間に入るスペースは何個でも良い。もちろん半角。#以降はコメントとして無視される。空行も無視。
ルールはこれだけ。

例えば

192.168.100.101 hogehoge.mybenjo.net
192.168.100.102 hogehoge2.mybenjo.net

なんて具合。

最近のWindowsだとちょっと編集が面倒

hostsは、LinuxやMacだと /etc/hosts にある。管理者アカウントで編集する。すごくシンプル。

Windowsは、C:\windows\system32\drivers\etc\hosts にある。Windows95からずっと変わっていない。
Windows7(Vistaからかも?)以降では、スタートメニューでメモ帳を右クリックで選択して「管理者として実行」で開いて、そこからhostsファイルを開いて編集する必要がある。手順が少し厄介。

携帯電話やスマートフォンでは、出来ないと考えた方が良い。

これはセキュリティとあんまり関係ありません

テスト環境などで、広くみんなに見てもらう必要がない場合に簡単に済ませる手段として有効だけれど、この手順を踏まえれば、IPアドレスとサーバ名のペアが分かってしまえば誰でも出来る。なのでこれでセキュリティを確保出来ると考えるのは危険。
「テスト環境ということは、test.mybenjo.net で、www.mybenjo.net と同じIPアドレスで運用しているのでは無いか」という推測は突飛なものでは無いし、実際そういうことをするケースもありえるだろう。
あくまで一つの手法だ。