スマートフォンやhtml5+CSS3など新技術に四苦八苦。jQuery、AjaxなどJavaScriptも難しいですね。そんなWebに悩む人のネタ帳です。

デザイン性からフォームの「select」を装飾することがしばしばありますが、CSSのみでの装飾には限界があります。
それがIE7やIE8など、古いブラウザに対応させるとなるとなおさらの事です。

装飾にJSを利用するのはあまり好きではありませんが、最終手段として重宝しているのがjQueryのプラグイン「customSelect」です。
jQuery Custom Select Box Plugin – jQuery.customSelect()

しくみとしては、スクリプトで既存のselect句の上に空のレイヤーを重ねて、それを装飾できるようにしています。
また、そのレイヤーを選択した場合にselectのような挙動をさせて、既存のselect句のvalueと同期するように制御してくれます。

導入方法については公式サイトにもありますが、いたって簡単です。

WordPress のカテゴリ管理画面でID情報のカラムを追加して、ソート可能にする方法です。

デフォルトのカテゴリ管理画面では、リストにカテゴリIDは表示されていません。
「編集」のパスからIDを抜き取る方法がありますが、スマートではありません。

またWordpressはカテゴリ一覧の表示順を指定できないことがしばしば課題になりますが、
IDでソートする方法もあり、その場合にやはりIDを表示する画面は必要になります。

フックを設定してカテゴリIDカラムを追加する

まずは、function.phpなどに以下のフック処理を追加して、IDカラムを表示させます。

Subversionのフットスクリプトを利用することで、サーバサイドでコミット時にさまざまな処理を実行することができます。

サーバ上のリポジトリ設置ディレクトリ直下の「/hooks/」ディレクトリに配置されてるファイルにスクリプトを記述することで、処理を実行することができます。
ファイルの種類により実行のタイミングが管理されており、それぞれ以下のようになっています。

start-commit コミットトランザクション作成前
pre-commit コミット前
post-commit コミット後
pre-revprop-change リビジョン属性変更前
post-revprop-change リビジョン属性変更後
pre-lock ロック取得前
post-lock ロック取得後
pre-unlock ロック解放前
post-unlock ロック解放後

リポジトリを作成したデフォルトの状態で、各テンプレートファイルが用意されているので、そのファイルをリネームすることで用います。
例えば「start-commit.tmpl」ファイルがあるので、コピーまたはリネームで「start-commit」というファイルを作成し、テキストエディタで開いてスクリプトを記述します。
ファイルを用意するだけで、後はコミット時に自動的にファイルの内容を読み込んでスクリプトが実行されるしくみです。

それでは、いくつか具体的な処理にトライしてみます。
ちなみに今回、SubversionサーバはUbuntu 14.04で試しているのでLinuxコマンドの処理となりますが、もちろんWindowsサーバでも同等の事が実現可能です。

Windows 7 Professional 64bitを使っているのですが、最近、Windows 10へのアップグレードを促すポップアップに悩まされています。

update_win10_01

「Windows 10のご紹介
今ならWindows 10へ無償アップグレードすることができます さあ、今すぐ予約を
予約は期間限定です Windows 10 詳細」
つまり、今なら期間限定でWindows 10に無償でアップグレードができるようです。

HTML5の新機能「Geolocation API」を使用して位置情報を取得します。

HTML5が公開され、いくつかの新機能が策定されましたが、中でもその有効性が期待されているのが「Geolocation API」です。

これまでの位置情報取得技術

一昔前までは、Webブラウザで現在地を取得する方法としては、例えばマシンのIPアドレスから位置を特定する方法がありました。しくみはとても単純で、IPと位置情報の紐づけはデータベース化されており、その精度はデータ量によるというものでした。
そのため、IPがプロキシサーバで偽装しているなどの場合に、正確な位置情報を決定できないという問題などがありました。

その他理由からも、ブラウザから正確な位置情報を取得するということは、当時は困難であり、サービスコストのかかる技術だったといえます。

WordPressで自作のログイン・ログアウト画面を設置する方法です。

CMSとして人気のWordPressですが、クライアントに対して管理画面のインターフェースはあまり使い勝手の評判がよくありません。使いやすいようにカスタマイズしてくれといった注文もしばしばありますが、その中でも、今回はログイン・ログアウト画面について考えてみます。

オリジナルのログイン画面を設置する

オリジナルのログイン画面について、まず、ログイン処理のしくみですが、単純にPOSTリクエストでログインを実行するだけです。

具体的にはユーザ名を「log」にセットして、パスワードを「pwd」にセットして、「wp-login.php」に対してPOSTでリクエストを送信すればログイン処理が行われます。
送信先のURLは関数「wp_login_url」で取得することができます。また、引数にリダイレクト先を設定すれば、ログイン成功後に表示する画面のURLを指定することができます。

処理進捗やLoading状態を表現するプログレスバーですが、今回はBootstrapのプログレスバーの長さをjQueryでアニメーション制御します。

こちらがBootstrapのデフォルトのプログレスバーです。

30% Complete
<div class="progress">
  <div class="progress-bar" role="progressbar" aria-valuenow="30" aria-valuemin="0" aria-valuemax="100" style="width: 30%;">
    <span class="sr-only">30% Complete</span>
  </div>
</div>

このバーの長さを制御するためには、単純にwidthの値をJavaScriptで変更するだけで良いです。
BootstrapでデフォルトのTransitionプロパティが指定されているので、CSS3が有効なブラウザ上でwidthの指定だけでアニメーション効果が得られます。

WordPressでアイキャッチ画像や投稿中の画像など、メディアが保存されるディレクトリを変更する方法です。

デフォルトでは「(WordPressの設置場所)/wp-content/uploads」に保存されますが、セキュリティの面からインストール先を隠蔽するなど、運用の都合上、ディレクトリを変更したい場合があります。

そのような場合、まずは管理画面にログインした状態で以下のURLにアクセスします。

http://cms.helog.jp/wp-admin/options.php

するとWordPressの細かい設定項目の一覧が表示されます。

WordPressのセキュリティチェック項目一覧です。

最近WordPressを使った要件がますます増えてきたのですが、そんな中でセキュリティチェックはルーチンワークとなっています。

オープンソースとして、活用事例も格段に多いWordPressですが、それに伴い攻撃の対象となりやすいのも事実です。ここで今一度、そのセキュリティの精度を確保するために、チェック項目一覧としてまとめてみます。

インストール編

WordPressインストール時に気をつけたいセキュリティチェック項目の一覧です。

WordPressインストールディレクトリの変更 WordPress本体のインストールディレクトリはルートにせずに、任意のディレクトリに設置しましょう。また、ディレクトリ名は「wordpress」や「wp」などとせずに、連想されないディレクトリ名にしましょう。
テーブルプレフィックスをデフォルトから変更する インストール時、デフォルトで生成されるDB内のテーブル名プレフィックスは「wp_」です。データベースを攻撃の対象とされた場合の対策として別のプレフィックスに変更しましょう。
SSL通信を適用する ログイン画面、管理画面にはSSLを適用して、通信を暗号化しましょう。
ユーザ名を「admin」などとしない 不正ログインを防ぐため、ユーザ名を「root」や「kanri」などにしない。特に、以前のバージョンでデフォルト管理ユーザ名である「admin」にはしない。

ソフトバンクでiPhoneを利用し始めてから約1年半が経ちました。
いわゆる「2年縛り」で、違約金が発生せずに乗り換えられる期間が近づいてきたので、最近話題の格安スマホへの乗り換えを検討してみます。

現状のソフトバンクの満足度

現在、使用しているソフトバンクのiPhone5cですが、個人的には特に不満なく利用しています。

  • 生活範囲内で電波圏外になることはなし
  • 速度にも不満なし
  • 生活範囲内にWi-Fi環境が整っているのもありパケット制限に達することもない

唯一の不満といえば、利用料金が高いと感じること。
速度、容量も十分ということから、オーバースペックに割高感というのは否めないのですが、恐らくその辺りはauにしてもdocomoにしても同じこと。

そこで格安スマホはどうだろうか?と思い少し調べてみました。

Monthly Archives