WEB/システム/IT技術ブログ

ある日突然、PHPの日付関数「date()」と「strtotime()」からワーニングメッセージが表示されるようになりました。
さくらレンタルサーバ上で個人で運用しているCMSを長らく放置していた私が悪いのですが。。

特にPHPの設定を変更したわけでもなく、気が付いたらそうなっていたわけで、明確な原因は不明です。
恐らくさくらレンタルサーバ側でセキュリティアップデートなどがあったのでしょう。
詳細は後ほど調べてみます。

画像サイズを変更せずにCSSのborderで画像の枠を装飾するテクニックです。

リンク画像にマウスオーバーでborderをつけることがよくありますが、
リンクエリアのサイズを変えずに、かつ、画像サイズを変えずに、となると少しテクニックが必要です。

例えば以下のような例です。
マウスオーバーで10pxの太さの赤いborderを表示させていますが、カクっとサイズが変わる感じが嫌ですね。

てんとう虫
※分かりやすくするために極端な太さを例にしています。

単純にaタグにボーダーを追加してしまうと、その分だけリンクエリアが広がってしまいます。
てんとう虫

そこで、以下のようにCSSを用意してあげれば、borderを追加してもリンクエリアのサイズは変わりません。

Ubuntu 14.04にlamp環境(Apache + PHP + MySQL)を構築してみます

ちなみに、現時点での各バージョンは以下のとおりです

Apache 2.4.7
PHP 5.5.9
MySQL 5.5.46

Apacheをインストール

まず初めにApacheをインストールします

sudo apt-get update
sudo apt-get install apache2 

完了したら「http://localhost」などでアクセスしてみて、インストールが成功していることを確認します。

Googleマップストリートビューで表示可能な目的地近くの座標を取得する方法です。

ストリートビューを使ったことのある人はご存知と思いますが、ヒト型のマーカーをストリート上のブルーのラインの上にドラッグしてストリートビューを表示させます。
ストリートビューは全ての座標で表示可能ではありません。ブルーのラインの範囲にポジションを置かないと正しく表示されないのです。
つまり、APIで範囲外の座標位置を指定してしまうと、ストリートビューを表示できずにエラーになってしまいます。

APIを開発する上で、このエラーを避けるために「StreetViewService」の関数「getPanoramaByLocation」を利用することで、目的の近くのストリートビュー表示可能座標を取得することができます。

ストリートビュー表示可能ポイントを取得する

例えば、以下のような処理で考えてみます。

最近話題のリッチスニペット(構造化データ)ですが、Googleも採用に積極的のようで、SEO的観点からも注目されています。
そこで、今回、導入編としてGoogleのガイドラインに習ってパンくずリストを装飾して、Google検索結果への影響を試したい思います。
Breadcrumbs | Structured Data | Google Developers

例えば、以下のようなパンくずを装飾します。

HOME > Structured Data > sample1 > sample2 > リッチスニペット(構造化データ)でGoogle検索結果にパンくずリストを表示させる 

装飾にはJSONやRDFAが使えるようですが、今回は比較的導入が容易なMICRODATAをhtmlソースに組み込みます。

以下、これまでのhtmlコードです。

<ol class="breadcrumb">
<li><a href="http://web.helog.jp">HOME</a></li>
<li><a href="http://web.helog.jp/category/structured-data/">Structured Data</a></li>
<li><a href="http://web.helog.jp/category/structured-data/sample1/">sample1</a></li>
<li><a href="http://web.helog.jp/category/structured-data/sample1/sample2/">sample2</a></li>
<li>リッチスニペット(構造化データ)でGoogle検索結果にパンくずリストを表示させる</li>
</ol>

以前から気になっていたMicrosoftの「Visual Studio」ですが、「Visual Studio Code」として無償公開されることになってから、かなりお世話になっています。

Visual Studio Code – Code Editing. Redefined
「Visual Studio Code」はWindows、Linux、OS Xで動作する軽量のコードエディタソフトウェアです。
HTML、CSSやJavaScriptなどWebフロントから、Java、PHPやC++などサーバサイドのプログラムまで、幅広いフォーマットに対応しています。

実務に導入してみた感触などをメモとして残して、評価したいと思います。
導入環境は

  • Windows 11 Home 64bit
  • Windows 10 Home 64bit
  • Windows 7 Professional 64bit

横並びの要素の高さがバラバラの場合、表示崩れの原因になることがしばしばあります。
テーブルにしてしまえば楽なのですが、要素をfloatさせてレスポンシブ対応していたり要素数を動的にしている場合などは、一筋縄ではいきません。

そのような場合はjQueryプラグイン「jquery.tile.js」が便利です。
jquery.tile.js Demo page

上記のデモページを見れば分かりますが、例えば以下のようなコードの場合、

.sample{
	clear: both;
}
.sample p{
	float: left;
}

<div class="sample">
<p><img src="sample-height-100.jpg"></p>
<p><img src="sample-height-200.jpg"></p>
<p><img src="sample-height-100.jpg"></p>
<p><img src="sample-height-300.jpg"></p>
<p><img src="sample-height-100.jpg"></p>
...
</div>

WinSCPで設定情報を引き継いだままアップグレードする方法です。

WinSCPとは、FTPの他、SFTPやSCPでファイルをダウンロード、アップロードできるソフトウェアで、気軽さと高機能を備え、セキュリティ的にも比較的強いという事で、私も重宝しています。
もちろん、ソフトウェアのバージョンを最新版に保つことがセキュリティ的にも重要なのですが、特にポータブル版のWinSCPは自動アップグレードの機能がなく、手動でアップグレードする必要があります。また、ポータブル版をそのまま上書きすると、設定情報が消えてしまうので注意が必要です。

そこで今回はアップグレードの手順メモです。

ちなみに私が確認した環境は「Windows 7 Home Premium 64bit」で、WinSCPはバージョン5.1.7から現時点の最新版5.7.5へアップグレードします。

WordPressを常時SSL対応させます。

先日、GoogleがSEOの観点でSSLを導入したページを優遇することを発表しました。
ただ、明確な効果があるほど重点はおいていないともいわれていますが、特に大きな弊害もないので、全コンテンツSSL化を実施してみます。

WordPressのSSL化については「お問い合わせフォームのみSSL化する」や「管理画面のみSSL化する」のは難しいといった話題がよく聞かれます。
そこで、今回はシンプルにオープンなコンテンツも含め「常時SSL化」します。

設定変更

WordPressの管理画面にログインします。

メニュー「設定」⇒「一般」を開き、以下の「http://~」となっている項目を「https://~」に変更します

WordPress アドレス (URL) : http://~
サイトアドレス (URL) : http://~

WordPressの設定は以上です。

ジオトラストのラピッドSSLを導入して、さくらレンタルサーバのSNI SSL機能で複数のドメインをHTTPS化してみます。

  • GoogleがSEOの観点でSSLを導入したページを優遇することを発表
  • 個人的に管理するCMSサイトの割合が増加しセキュリティの課題が増した

これらの理由から、SSLの導入を真剣に検討することにしました。
※GoogleのSEOについては、明確な効果が得られるほど重点は置かれていないとされていますが、将来を見越して導入しておいて損はないでしょう。

SSLの個人導入にはコストがかかる

これまでSSLの導入に踏み切れなかった最大の要因として、コストがあります。

多くの簡易レンタルサーバでは無料で共有SSLを利用することができますが、以下の理由から正直、ほとんど使い物になりません。

  • 独自ドメインを利用できない
  • 同一サーバ内にある他者とSSLを共有するといった意味で信頼性が薄い

そこで、共有SSLではなく独自SSLの導入を検討するのですが、年間数万円のコストがかかります。
マルチドメインで複数運用している場合、単純に掛け算で年間数十万円のコストがかかり、とても個人では導入できません。

Monthly Archives